@patternfly/react-core 6.1.0-prerelease.1 → 6.1.0-prerelease.10
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 +58 -0
- package/components/package.json +1 -1
- package/deprecated/package.json +1 -1
- package/dist/dynamic/components/AboutModal/package.json +1 -1
- package/dist/dynamic/components/Accordion/package.json +1 -1
- package/dist/dynamic/components/ActionList/package.json +1 -1
- package/dist/dynamic/components/Alert/package.json +1 -1
- package/dist/dynamic/components/Avatar/package.json +1 -1
- package/dist/dynamic/components/BackToTop/package.json +1 -1
- package/dist/dynamic/components/Backdrop/package.json +1 -1
- package/dist/dynamic/components/BackgroundImage/package.json +1 -1
- package/dist/dynamic/components/Badge/package.json +1 -1
- package/dist/dynamic/components/Banner/package.json +1 -1
- package/dist/dynamic/components/Brand/package.json +1 -1
- package/dist/dynamic/components/Breadcrumb/package.json +1 -1
- package/dist/dynamic/components/Button/package.json +1 -1
- package/dist/dynamic/components/CalendarMonth/package.json +1 -1
- package/dist/dynamic/components/Card/package.json +1 -1
- package/dist/dynamic/components/Checkbox/package.json +1 -1
- package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
- package/dist/dynamic/components/CodeBlock/package.json +1 -1
- package/dist/dynamic/components/Content/package.json +1 -1
- package/dist/dynamic/components/DataList/package.json +1 -1
- package/dist/dynamic/components/DatePicker/package.json +1 -1
- package/dist/dynamic/components/DescriptionList/package.json +1 -1
- package/dist/dynamic/components/Divider/package.json +1 -1
- package/dist/dynamic/components/Drawer/package.json +1 -1
- package/dist/dynamic/components/Dropdown/package.json +1 -1
- package/dist/dynamic/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/components/EmptyState/package.json +1 -1
- package/dist/dynamic/components/ExpandableSection/package.json +1 -1
- package/dist/dynamic/components/FileUpload/package.json +1 -1
- package/dist/dynamic/components/Form/package.json +1 -1
- package/dist/dynamic/components/FormSelect/package.json +1 -1
- package/dist/dynamic/components/HelperText/package.json +1 -1
- package/dist/dynamic/components/Hint/package.json +1 -1
- package/dist/dynamic/components/Icon/package.json +1 -1
- package/dist/dynamic/components/InputGroup/package.json +1 -1
- package/dist/dynamic/components/JumpLinks/package.json +1 -1
- package/dist/dynamic/components/Label/package.json +1 -1
- package/dist/dynamic/components/List/package.json +1 -1
- package/dist/dynamic/components/LoginPage/package.json +1 -1
- package/dist/dynamic/components/Masthead/package.json +1 -1
- package/dist/dynamic/components/Menu/package.json +1 -1
- package/dist/dynamic/components/MenuToggle/package.json +1 -1
- package/dist/dynamic/components/Modal/package.json +1 -1
- package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
- package/dist/dynamic/components/Nav/package.json +1 -1
- package/dist/dynamic/components/NotificationBadge/package.json +1 -1
- package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
- package/dist/dynamic/components/NumberInput/package.json +1 -1
- package/dist/dynamic/components/OverflowMenu/package.json +1 -1
- package/dist/dynamic/components/Page/package.json +1 -1
- package/dist/dynamic/components/Pagination/package.json +1 -1
- package/dist/dynamic/components/Panel/package.json +1 -1
- package/dist/dynamic/components/Popover/package.json +1 -1
- package/dist/dynamic/components/Progress/package.json +1 -1
- package/dist/dynamic/components/ProgressStepper/package.json +1 -1
- package/dist/dynamic/components/Radio/package.json +1 -1
- package/dist/dynamic/components/SearchInput/package.json +1 -1
- package/dist/dynamic/components/Select/package.json +1 -1
- package/dist/dynamic/components/Sidebar/package.json +1 -1
- package/dist/dynamic/components/SimpleList/package.json +1 -1
- package/dist/dynamic/components/Skeleton/package.json +1 -1
- package/dist/dynamic/components/SkipToContent/package.json +1 -1
- package/dist/dynamic/components/Slider/package.json +1 -1
- package/dist/dynamic/components/Spinner/package.json +1 -1
- package/dist/dynamic/components/Switch/package.json +1 -1
- package/dist/dynamic/components/Tabs/package.json +1 -1
- package/dist/dynamic/components/TextArea/package.json +1 -1
- package/dist/dynamic/components/TextInput/package.json +1 -1
- package/dist/dynamic/components/TextInputGroup/package.json +1 -1
- package/dist/dynamic/components/TimePicker/package.json +1 -1
- package/dist/dynamic/components/Timestamp/package.json +1 -1
- package/dist/dynamic/components/Title/package.json +1 -1
- package/dist/dynamic/components/ToggleGroup/package.json +1 -1
- package/dist/dynamic/components/Toolbar/package.json +1 -1
- package/dist/dynamic/components/Tooltip/package.json +1 -1
- package/dist/dynamic/components/TreeView/package.json +1 -1
- package/dist/dynamic/components/Truncate/package.json +1 -1
- package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
- package/dist/dynamic/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
- package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
- package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
- package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
- package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/package.json +1 -1
- package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
- package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
- package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
- package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
- package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
- package/dist/dynamic/helpers/constants/package.json +1 -1
- package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
- package/dist/dynamic/helpers/fileUtils/package.json +1 -1
- package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
- package/dist/dynamic/helpers/package.json +1 -1
- package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
- package/dist/dynamic/helpers/typeUtils/package.json +1 -1
- package/dist/dynamic/helpers/useInterval/package.json +1 -1
- package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
- package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
- package/dist/dynamic/helpers/util/package.json +1 -1
- package/dist/dynamic/layouts/Bullseye/package.json +1 -1
- package/dist/dynamic/layouts/Flex/package.json +1 -1
- package/dist/dynamic/layouts/Gallery/package.json +1 -1
- package/dist/dynamic/layouts/Grid/package.json +1 -1
- package/dist/dynamic/layouts/Level/package.json +1 -1
- package/dist/dynamic/layouts/Split/package.json +1 -1
- package/dist/dynamic/layouts/Stack/package.json +1 -1
- package/dist/dynamic/styles/package.json +1 -1
- package/dist/dynamic-modules.json +1 -0
- package/dist/esm/components/Dropdown/Dropdown.d.ts +2 -0
- package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +12 -3
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/Menu/MenuContainer.d.ts +2 -0
- package/dist/esm/components/Menu/MenuContainer.d.ts.map +1 -1
- package/dist/esm/components/Menu/MenuContainer.js +21 -4
- package/dist/esm/components/Menu/MenuContainer.js.map +1 -1
- package/dist/esm/components/MenuToggle/MenuToggleCheckbox.d.ts +1 -1
- package/dist/esm/components/MenuToggle/MenuToggleCheckbox.d.ts.map +1 -1
- package/dist/esm/components/Modal/Modal.d.ts +2 -2
- package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
- package/dist/esm/components/Modal/Modal.js +13 -20
- package/dist/esm/components/Modal/Modal.js.map +1 -1
- package/dist/esm/components/Modal/ModalContent.d.ts +2 -0
- package/dist/esm/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/esm/components/Modal/ModalContent.js +2 -2
- package/dist/esm/components/Modal/ModalContent.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts +4 -0
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +12 -3
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Toolbar/ToolbarFilter.d.ts.map +1 -1
- package/dist/esm/components/Toolbar/ToolbarFilter.js +4 -2
- package/dist/esm/components/Toolbar/ToolbarFilter.js.map +1 -1
- package/dist/esm/demos/DashboardHeader.d.ts.map +1 -1
- package/dist/esm/demos/DashboardHeader.js +2 -4
- package/dist/esm/demos/DashboardHeader.js.map +1 -1
- package/dist/esm/deprecated/components/Modal/Modal.d.ts +2 -2
- package/dist/esm/deprecated/components/Modal/Modal.d.ts.map +1 -1
- package/dist/esm/deprecated/components/Modal/Modal.js +13 -20
- package/dist/esm/deprecated/components/Modal/Modal.js.map +1 -1
- package/dist/esm/deprecated/components/Modal/ModalContent.d.ts +2 -0
- package/dist/esm/deprecated/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/esm/deprecated/components/Modal/ModalContent.js +2 -2
- package/dist/esm/deprecated/components/Modal/ModalContent.js.map +1 -1
- package/dist/esm/helpers/KeyboardHandler.d.ts +7 -0
- package/dist/esm/helpers/KeyboardHandler.d.ts.map +1 -1
- package/dist/esm/helpers/KeyboardHandler.js +25 -0
- package/dist/esm/helpers/KeyboardHandler.js.map +1 -1
- package/dist/esm/layouts/Split/Split.d.ts +4 -4
- package/dist/esm/layouts/Split/Split.d.ts.map +1 -1
- package/dist/esm/layouts/Split/SplitItem.d.ts +5 -3
- package/dist/esm/layouts/Split/SplitItem.d.ts.map +1 -1
- package/dist/esm/layouts/Split/SplitItem.js +3 -2
- package/dist/esm/layouts/Split/SplitItem.js.map +1 -1
- package/dist/esm/layouts/Stack/Stack.d.ts +3 -3
- package/dist/esm/layouts/Stack/Stack.d.ts.map +1 -1
- package/dist/esm/layouts/Stack/StackItem.d.ts +5 -3
- package/dist/esm/layouts/Stack/StackItem.d.ts.map +1 -1
- package/dist/esm/layouts/Stack/StackItem.js +3 -2
- package/dist/esm/layouts/Stack/StackItem.js.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.d.ts +2 -0
- package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.js +11 -2
- package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/js/components/Menu/MenuContainer.d.ts +2 -0
- package/dist/js/components/Menu/MenuContainer.d.ts.map +1 -1
- package/dist/js/components/Menu/MenuContainer.js +22 -5
- package/dist/js/components/Menu/MenuContainer.js.map +1 -1
- package/dist/js/components/MenuToggle/MenuToggleCheckbox.d.ts +1 -1
- package/dist/js/components/MenuToggle/MenuToggleCheckbox.d.ts.map +1 -1
- package/dist/js/components/Modal/Modal.d.ts +2 -2
- package/dist/js/components/Modal/Modal.d.ts.map +1 -1
- package/dist/js/components/Modal/Modal.js +13 -20
- package/dist/js/components/Modal/Modal.js.map +1 -1
- package/dist/js/components/Modal/ModalContent.d.ts +2 -0
- package/dist/js/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/js/components/Modal/ModalContent.js +2 -2
- package/dist/js/components/Modal/ModalContent.js.map +1 -1
- package/dist/js/components/Select/Select.d.ts +4 -0
- package/dist/js/components/Select/Select.d.ts.map +1 -1
- package/dist/js/components/Select/Select.js +11 -2
- package/dist/js/components/Select/Select.js.map +1 -1
- package/dist/js/components/Toolbar/ToolbarFilter.d.ts.map +1 -1
- package/dist/js/components/Toolbar/ToolbarFilter.js +4 -2
- package/dist/js/components/Toolbar/ToolbarFilter.js.map +1 -1
- package/dist/js/demos/DashboardHeader.d.ts.map +1 -1
- package/dist/js/demos/DashboardHeader.js +2 -4
- package/dist/js/demos/DashboardHeader.js.map +1 -1
- package/dist/js/deprecated/components/Modal/Modal.d.ts +2 -2
- package/dist/js/deprecated/components/Modal/Modal.d.ts.map +1 -1
- package/dist/js/deprecated/components/Modal/Modal.js +13 -20
- package/dist/js/deprecated/components/Modal/Modal.js.map +1 -1
- package/dist/js/deprecated/components/Modal/ModalContent.d.ts +2 -0
- package/dist/js/deprecated/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/js/deprecated/components/Modal/ModalContent.js +2 -2
- package/dist/js/deprecated/components/Modal/ModalContent.js.map +1 -1
- package/dist/js/helpers/KeyboardHandler.d.ts +7 -0
- package/dist/js/helpers/KeyboardHandler.d.ts.map +1 -1
- package/dist/js/helpers/KeyboardHandler.js +27 -1
- package/dist/js/helpers/KeyboardHandler.js.map +1 -1
- package/dist/js/layouts/Split/Split.d.ts +4 -4
- package/dist/js/layouts/Split/Split.d.ts.map +1 -1
- package/dist/js/layouts/Split/SplitItem.d.ts +5 -3
- package/dist/js/layouts/Split/SplitItem.d.ts.map +1 -1
- package/dist/js/layouts/Split/SplitItem.js +3 -2
- package/dist/js/layouts/Split/SplitItem.js.map +1 -1
- package/dist/js/layouts/Stack/Stack.d.ts +3 -3
- package/dist/js/layouts/Stack/Stack.d.ts.map +1 -1
- package/dist/js/layouts/Stack/StackItem.d.ts +5 -3
- package/dist/js/layouts/Stack/StackItem.d.ts.map +1 -1
- package/dist/js/layouts/Stack/StackItem.js +3 -2
- package/dist/js/layouts/Stack/StackItem.js.map +1 -1
- package/dist/umd/assets/{output-cDK0-HHp.css → output-K5btXEZY.css} +3520 -3482
- package/dist/umd/react-core.min.js +4 -4
- package/helpers/package.json +1 -1
- package/layouts/package.json +1 -1
- package/next/package.json +1 -1
- package/package.json +9 -9
- package/src/components/ActionList/examples/ActionListSingleGroup.tsx +2 -3
- package/src/components/Card/examples/CardExpandable.tsx +2 -3
- package/src/components/Card/examples/CardExpandableWithIcon.tsx +2 -3
- package/src/components/Card/examples/CardHeaderInCardHead.tsx +2 -3
- package/src/components/Card/examples/CardOnlyActionsInCardHead.tsx +2 -3
- package/src/components/Card/examples/CardWithImageAndActions.tsx +2 -3
- package/src/components/Checkbox/examples/CheckboxReversed.tsx +1 -1
- package/src/components/DataList/examples/DataList.md +16 -4
- package/src/components/DataList/examples/DataListActions.tsx +2 -3
- package/src/components/DataList/examples/DataListCheckboxes.tsx +6 -9
- package/src/components/DataList/examples/DataListClickableRows.tsx +4 -6
- package/src/components/DataList/examples/DataListExpandable.tsx +6 -9
- package/src/components/DataList/examples/DataListMixedExpandable.tsx +6 -9
- package/src/components/DataList/examples/DataListWidthModifiers.tsx +4 -6
- package/src/components/Dropdown/Dropdown.tsx +13 -1
- package/src/components/Dropdown/examples/DropdownWithKebabToggle.tsx +2 -3
- package/src/components/DualListSelector/examples/DualListSelector.md +16 -14
- package/src/components/DualListSelector/examples/DualListSelectorComplexOptionsActions.tsx +4 -6
- package/src/components/FileUpload/__tests__/__snapshots__/FileUpload.test.tsx.snap +1 -1
- package/src/components/Hint/examples/HintBasicWithTitle.tsx +2 -3
- package/src/components/Hint/examples/HintBasicWithoutTitle.tsx +2 -3
- package/src/components/Label/examples/LabelGroupEditableAddModal.tsx +2 -2
- package/src/components/Menu/MenuContainer.tsx +24 -3
- package/src/components/MenuToggle/MenuToggleCheckbox.tsx +1 -1
- package/src/components/MenuToggle/examples/MenuToggle.md +4 -16
- package/src/components/Modal/Modal.tsx +13 -18
- package/src/components/Modal/ModalContent.tsx +4 -1
- package/src/components/Modal/__tests__/Modal.test.tsx +45 -0
- package/src/components/MultipleFileUpload/__tests__/__snapshots__/MultipleFileUpload.test.tsx.snap +3 -3
- package/src/components/OverflowMenu/examples/OverflowMenuBreakpointOnContainer.tsx +2 -3
- package/src/components/OverflowMenu/examples/OverflowMenuGroupTypes.tsx +2 -3
- package/src/components/OverflowMenu/examples/OverflowMenuMultiGroup.tsx +2 -3
- package/src/components/OverflowMenu/examples/OverflowMenuPersistent.tsx +2 -3
- package/src/components/OverflowMenu/examples/OverflowMenuSimple.tsx +2 -3
- package/src/components/Select/Select.tsx +16 -1
- package/src/components/Select/examples/SelectMultiTypeahead.tsx +1 -1
- package/src/components/Select/examples/SelectMultiTypeaheadCheckbox.tsx +1 -1
- package/src/components/Select/examples/SelectMultiTypeaheadCreatable.tsx +1 -1
- package/src/components/Select/examples/SelectTypeahead.tsx +1 -1
- package/src/components/Select/examples/SelectTypeaheadCreatable.tsx +1 -1
- package/src/components/Toolbar/ToolbarFilter.tsx +2 -1
- package/src/components/Toolbar/examples/ToolbarStacked.tsx +2 -3
- package/src/components/Toolbar/examples/ToolbarWithFilters.tsx +2 -3
- package/src/components/TreeView/examples/TreeViewWithActionItems.tsx +2 -3
- package/src/demos/CardView/examples/CardView.tsx +4 -6
- package/src/demos/CustomMenus/examples/ApplicationLauncherDemo.tsx +2 -3
- package/src/demos/DashboardHeader.tsx +4 -6
- package/src/demos/DataList/examples/DataListBasic.tsx +1 -3
- package/src/demos/DataList/examples/DataListExpandableControlInToolbar.tsx +7 -10
- package/src/demos/NotificationDrawer/examples/NotificationDrawerBasic.tsx +12 -18
- package/src/demos/NotificationDrawer/examples/NotificationDrawerGrouped.tsx +20 -30
- package/src/demos/RTL/examples/PaginatedTable.jsx +4 -6
- package/src/demos/RTL/examples/PaginatedTable.tsx +4 -6
- package/src/demos/examples/AlertGroup/AlertGroupToastWithNotificationDrawer.tsx +4 -6
- package/src/demos/examples/Card/CardHorizontalGrid.tsx +2 -3
- package/src/demos/examples/Masthead/MastheadWithHorizontalNav.tsx +4 -6
- package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +6 -9
- package/src/demos/examples/Nav/NavFlyout.tsx +4 -6
- package/src/demos/examples/Nav/NavHorizontal.tsx +4 -6
- package/src/demos/examples/Nav/NavHorizontalWithSubnav.tsx +4 -6
- package/src/demos/examples/Nav/NavManual.tsx +4 -6
- package/src/demos/examples/Page/PageContextSelector.tsx +4 -6
- package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +4 -6
- package/src/demos/examples/Page/PageStickySectionGroup.tsx +4 -6
- package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +4 -6
- package/src/demos/examples/PrimaryDetail/PrimaryDetailCardView.tsx +4 -6
- package/src/demos/examples/Tabs/TabsAndTable.tsx +2 -3
- package/src/deprecated/components/Modal/Modal.tsx +13 -18
- package/src/deprecated/components/Modal/ModalContent.tsx +4 -1
- package/src/deprecated/components/Modal/__tests__/Modal.test.tsx +28 -0
- package/src/helpers/KeyboardHandler.tsx +27 -0
- package/src/layouts/Split/Split.tsx +4 -4
- package/src/layouts/Split/SplitItem.tsx +14 -8
- package/src/layouts/Split/__tests__/Split.test.tsx +18 -0
- package/src/layouts/Split/__tests__/__snapshots__/Split.test.tsx.snap +28 -0
- package/src/layouts/Stack/Stack.tsx +3 -3
- package/src/layouts/Stack/StackItem.tsx +14 -8
- package/src/layouts/Stack/__tests__/Stack.test.tsx +20 -2
- package/src/layouts/Stack/__tests__/__snapshots__/Stack.test.tsx.snap +30 -2
|
@@ -81,36 +81,24 @@ For most basic icons, it is recommended to wrap it inside our [icon component](/
|
|
|
81
81
|
|
|
82
82
|
```ts
|
|
83
83
|
import React from 'react';
|
|
84
|
-
import { MenuToggle
|
|
84
|
+
import { MenuToggle } from '@patternfly/react-core';
|
|
85
85
|
import CogIcon from '@patternfly/react-icons/dist/esm/icons/cog-icon';
|
|
86
86
|
|
|
87
87
|
<React.Fragment>
|
|
88
88
|
<MenuToggle
|
|
89
|
-
icon={
|
|
90
|
-
<Icon>
|
|
91
|
-
<CogIcon />
|
|
92
|
-
</Icon>
|
|
93
|
-
}
|
|
89
|
+
icon={<CogIcon />}
|
|
94
90
|
variant="primary"
|
|
95
91
|
>
|
|
96
92
|
Icon
|
|
97
93
|
</MenuToggle>{' '}
|
|
98
94
|
<MenuToggle
|
|
99
|
-
icon={
|
|
100
|
-
<Icon>
|
|
101
|
-
<CogIcon />
|
|
102
|
-
</Icon>
|
|
103
|
-
}
|
|
95
|
+
icon={<CogIcon />}
|
|
104
96
|
variant="secondary"
|
|
105
97
|
>
|
|
106
98
|
Icon
|
|
107
99
|
</MenuToggle>{' '}
|
|
108
100
|
<MenuToggle
|
|
109
|
-
icon={
|
|
110
|
-
<Icon>
|
|
111
|
-
<CogIcon />
|
|
112
|
-
</Icon>
|
|
113
|
-
}
|
|
101
|
+
icon={<CogIcon />}
|
|
114
102
|
variant="secondary"
|
|
115
103
|
isDisabled
|
|
116
104
|
>
|
|
@@ -60,7 +60,6 @@ export enum ModalVariant {
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
interface ModalState {
|
|
63
|
-
container: HTMLElement;
|
|
64
63
|
ouiaStateId: string;
|
|
65
64
|
}
|
|
66
65
|
|
|
@@ -68,6 +67,7 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
68
67
|
static displayName = 'Modal';
|
|
69
68
|
static currentId = 0;
|
|
70
69
|
boxId = '';
|
|
70
|
+
backdropId = '';
|
|
71
71
|
|
|
72
72
|
static defaultProps: PickOptional<ModalProps> = {
|
|
73
73
|
isOpen: false,
|
|
@@ -80,10 +80,11 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
80
80
|
constructor(props: ModalProps) {
|
|
81
81
|
super(props);
|
|
82
82
|
const boxIdNum = Modal.currentId++;
|
|
83
|
+
const backdropId = boxIdNum + 1;
|
|
83
84
|
this.boxId = props.id || `pf-modal-part-${boxIdNum}`;
|
|
85
|
+
this.backdropId = `pf-modal-part-${backdropId}`;
|
|
84
86
|
|
|
85
87
|
this.state = {
|
|
86
|
-
container: undefined,
|
|
87
88
|
ouiaStateId: getDefaultOUIAId(Modal.displayName, props.variant)
|
|
88
89
|
};
|
|
89
90
|
}
|
|
@@ -107,7 +108,7 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
107
108
|
const target: HTMLElement = this.getElement(appendTo);
|
|
108
109
|
const bodyChildren = target.children;
|
|
109
110
|
for (const child of Array.from(bodyChildren)) {
|
|
110
|
-
if (child !== this.
|
|
111
|
+
if (child.id !== this.backdropId) {
|
|
111
112
|
hide ? child.setAttribute('aria-hidden', '' + hide) : child.removeAttribute('aria-hidden');
|
|
112
113
|
}
|
|
113
114
|
}
|
|
@@ -118,36 +119,31 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
118
119
|
componentDidMount() {
|
|
119
120
|
const { appendTo } = this.props;
|
|
120
121
|
const target: HTMLElement = this.getElement(appendTo);
|
|
121
|
-
const container = document.createElement('div');
|
|
122
|
-
this.setState({ container });
|
|
123
|
-
target.appendChild(container);
|
|
124
122
|
target.addEventListener('keydown', this.handleEscKeyClick, false);
|
|
125
123
|
|
|
126
124
|
if (this.props.isOpen) {
|
|
127
125
|
target.classList.add(css(styles.backdropOpen));
|
|
128
|
-
|
|
129
|
-
target.classList.remove(css(styles.backdropOpen));
|
|
126
|
+
this.toggleSiblingsFromScreenReaders(true);
|
|
130
127
|
}
|
|
131
128
|
}
|
|
132
129
|
|
|
133
|
-
componentDidUpdate() {
|
|
130
|
+
componentDidUpdate(prevProps: ModalProps) {
|
|
134
131
|
const { appendTo } = this.props;
|
|
135
132
|
const target: HTMLElement = this.getElement(appendTo);
|
|
136
133
|
if (this.props.isOpen) {
|
|
137
134
|
target.classList.add(css(styles.backdropOpen));
|
|
138
135
|
this.toggleSiblingsFromScreenReaders(true);
|
|
139
136
|
} else {
|
|
140
|
-
|
|
141
|
-
|
|
137
|
+
if (prevProps.isOpen !== this.props.isOpen) {
|
|
138
|
+
target.classList.remove(css(styles.backdropOpen));
|
|
139
|
+
this.toggleSiblingsFromScreenReaders(false);
|
|
140
|
+
}
|
|
142
141
|
}
|
|
143
142
|
}
|
|
144
143
|
|
|
145
144
|
componentWillUnmount() {
|
|
146
145
|
const { appendTo } = this.props;
|
|
147
146
|
const target: HTMLElement = this.getElement(appendTo);
|
|
148
|
-
if (this.state.container) {
|
|
149
|
-
target.removeChild(this.state.container);
|
|
150
|
-
}
|
|
151
147
|
target.removeEventListener('keydown', this.handleEscKeyClick, false);
|
|
152
148
|
target.classList.remove(css(styles.backdropOpen));
|
|
153
149
|
this.toggleSiblingsFromScreenReaders(false);
|
|
@@ -155,7 +151,6 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
155
151
|
|
|
156
152
|
render() {
|
|
157
153
|
const {
|
|
158
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
159
154
|
appendTo,
|
|
160
155
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
161
156
|
onEscapePress,
|
|
@@ -168,15 +163,15 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
168
163
|
elementToFocus,
|
|
169
164
|
...props
|
|
170
165
|
} = this.props;
|
|
171
|
-
const { container } = this.state;
|
|
172
166
|
|
|
173
|
-
if (!canUseDOM || !
|
|
167
|
+
if (!canUseDOM || !this.getElement(appendTo)) {
|
|
174
168
|
return null;
|
|
175
169
|
}
|
|
176
170
|
|
|
177
171
|
return ReactDOM.createPortal(
|
|
178
172
|
<ModalContent
|
|
179
173
|
boxId={this.boxId}
|
|
174
|
+
backdropId={this.backdropId}
|
|
180
175
|
aria-label={ariaLabel}
|
|
181
176
|
aria-describedby={ariaDescribedby}
|
|
182
177
|
aria-labelledby={ariaLabelledby}
|
|
@@ -187,7 +182,7 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
187
182
|
backdropClassName={props.backdropClassName}
|
|
188
183
|
{...props}
|
|
189
184
|
/>,
|
|
190
|
-
|
|
185
|
+
this.getElement(appendTo)
|
|
191
186
|
) as React.ReactElement;
|
|
192
187
|
}
|
|
193
188
|
}
|
|
@@ -16,6 +16,8 @@ export interface ModalContentProps extends OUIAProps {
|
|
|
16
16
|
'aria-labelledby'?: string;
|
|
17
17
|
/** Id of the modal box container. */
|
|
18
18
|
boxId: string;
|
|
19
|
+
/** Id of the backdrop. */
|
|
20
|
+
backdropId?: string;
|
|
19
21
|
/** Content rendered inside the modal. */
|
|
20
22
|
children: React.ReactNode;
|
|
21
23
|
/** Additional classes added to the modal box. */
|
|
@@ -63,6 +65,7 @@ export const ModalContent: React.FunctionComponent<ModalContentProps> = ({
|
|
|
63
65
|
width,
|
|
64
66
|
maxWidth,
|
|
65
67
|
boxId,
|
|
68
|
+
backdropId,
|
|
66
69
|
disableFocusTrap = false,
|
|
67
70
|
ouiaId,
|
|
68
71
|
ouiaSafe = true,
|
|
@@ -109,7 +112,7 @@ export const ModalContent: React.FunctionComponent<ModalContentProps> = ({
|
|
|
109
112
|
</ModalBox>
|
|
110
113
|
);
|
|
111
114
|
return (
|
|
112
|
-
<Backdrop className={css(backdropClassName)}>
|
|
115
|
+
<Backdrop className={css(backdropClassName)} id={backdropId}>
|
|
113
116
|
<FocusTrap
|
|
114
117
|
active={!disableFocusTrap}
|
|
115
118
|
focusTrapOptions={{
|
|
@@ -2,6 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
|
|
3
3
|
import { render, screen } from '@testing-library/react';
|
|
4
4
|
import userEvent from '@testing-library/user-event';
|
|
5
|
+
import '@testing-library/jest-dom';
|
|
5
6
|
|
|
6
7
|
import { css } from '../../../../../react-styles/dist/js';
|
|
7
8
|
import styles from '@patternfly/react-styles/css/components/Backdrop/backdrop';
|
|
@@ -38,6 +39,32 @@ const ModalWithSiblings = () => {
|
|
|
38
39
|
);
|
|
39
40
|
};
|
|
40
41
|
|
|
42
|
+
const ModalWithAdjacentModal = () => {
|
|
43
|
+
const [isOpen, setIsOpen] = React.useState(true);
|
|
44
|
+
const [isModalMounted, setIsModalMounted] = React.useState(true);
|
|
45
|
+
const modalProps = { ...props, isOpen, appendTo: target, onClose: () => setIsOpen(false) };
|
|
46
|
+
|
|
47
|
+
return (
|
|
48
|
+
<>
|
|
49
|
+
<aside>Aside sibling</aside>
|
|
50
|
+
<article>Section sibling</article>
|
|
51
|
+
{isModalMounted && (
|
|
52
|
+
<>
|
|
53
|
+
<Modal {...modalProps}>
|
|
54
|
+
<button onClick={() => setIsModalMounted(false)}>Unmount Modal</button>
|
|
55
|
+
</Modal>
|
|
56
|
+
<Modal isOpen={false} onClose={() => {}}>
|
|
57
|
+
Modal closed for test
|
|
58
|
+
</Modal>
|
|
59
|
+
<Modal isOpen={false} onClose={() => {}}>
|
|
60
|
+
modal closed for test
|
|
61
|
+
</Modal>
|
|
62
|
+
</>
|
|
63
|
+
)}
|
|
64
|
+
</>
|
|
65
|
+
);
|
|
66
|
+
};
|
|
67
|
+
|
|
41
68
|
describe('Modal', () => {
|
|
42
69
|
test('Modal creates a container element once for div', () => {
|
|
43
70
|
render(<Modal {...props} />);
|
|
@@ -128,4 +155,22 @@ describe('Modal', () => {
|
|
|
128
155
|
expect(asideSibling).not.toHaveAttribute('aria-hidden');
|
|
129
156
|
expect(articleSibling).not.toHaveAttribute('aria-hidden');
|
|
130
157
|
});
|
|
158
|
+
|
|
159
|
+
test('modal siblings have the aria-hidden attribute when it has adjacent modals', async () => {
|
|
160
|
+
const user = userEvent.setup();
|
|
161
|
+
|
|
162
|
+
render(<ModalWithAdjacentModal />, { container: document.body.appendChild(target) });
|
|
163
|
+
|
|
164
|
+
const asideSibling = screen.getByRole('complementary', { hidden: true });
|
|
165
|
+
const articleSibling = screen.getByRole('article', { hidden: true });
|
|
166
|
+
const unmountButton = screen.getByRole('button', { name: 'Unmount Modal' });
|
|
167
|
+
|
|
168
|
+
expect(asideSibling).toHaveAttribute('aria-hidden');
|
|
169
|
+
expect(articleSibling).toHaveAttribute('aria-hidden');
|
|
170
|
+
|
|
171
|
+
await user.click(unmountButton);
|
|
172
|
+
|
|
173
|
+
expect(asideSibling).not.toHaveAttribute('aria-hidden');
|
|
174
|
+
expect(articleSibling).not.toHaveAttribute('aria-hidden');
|
|
175
|
+
});
|
|
131
176
|
});
|
package/src/components/MultipleFileUpload/__tests__/__snapshots__/MultipleFileUpload.test.tsx.snap
CHANGED
|
@@ -9,7 +9,7 @@ exports[`MultipleFileUpload renders custom class names 1`] = `
|
|
|
9
9
|
>
|
|
10
10
|
<input
|
|
11
11
|
multiple=""
|
|
12
|
-
style="
|
|
12
|
+
style="border: 0px; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); height: 1px; margin: 0px -1px -1px 0px; overflow: hidden; padding: 0px; position: absolute; width: 1px; white-space: nowrap;"
|
|
13
13
|
tabindex="-1"
|
|
14
14
|
type="file"
|
|
15
15
|
/>
|
|
@@ -27,7 +27,7 @@ exports[`MultipleFileUpload renders with expected class names when horizontal 1`
|
|
|
27
27
|
>
|
|
28
28
|
<input
|
|
29
29
|
multiple=""
|
|
30
|
-
style="
|
|
30
|
+
style="border: 0px; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); height: 1px; margin: 0px -1px -1px 0px; overflow: hidden; padding: 0px; position: absolute; width: 1px; white-space: nowrap;"
|
|
31
31
|
tabindex="-1"
|
|
32
32
|
type="file"
|
|
33
33
|
/>
|
|
@@ -45,7 +45,7 @@ exports[`MultipleFileUpload renders with expected class names when not horizonta
|
|
|
45
45
|
>
|
|
46
46
|
<input
|
|
47
47
|
multiple=""
|
|
48
|
-
style="
|
|
48
|
+
style="border: 0px; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); height: 1px; margin: 0px -1px -1px 0px; overflow: hidden; padding: 0px; position: absolute; width: 1px; white-space: nowrap;"
|
|
49
49
|
tabindex="-1"
|
|
50
50
|
type="file"
|
|
51
51
|
/>
|
|
@@ -95,9 +95,8 @@ export const OverflowMenuBreakpointOnContainer: React.FunctionComponent = () =>
|
|
|
95
95
|
variant="plain"
|
|
96
96
|
onClick={onToggle}
|
|
97
97
|
isExpanded={isOpen}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
</MenuToggle>
|
|
98
|
+
icon={<EllipsisVIcon />}
|
|
99
|
+
/>
|
|
101
100
|
)}
|
|
102
101
|
isOpen={isOpen}
|
|
103
102
|
onOpenChange={(isOpen) => setIsOpen(isOpen)}
|
|
@@ -99,9 +99,8 @@ export const OverflowMenuGroupTypes: React.FunctionComponent = () => {
|
|
|
99
99
|
variant="plain"
|
|
100
100
|
onClick={onToggle}
|
|
101
101
|
isExpanded={isOpen}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
</MenuToggle>
|
|
102
|
+
icon={<EllipsisVIcon />}
|
|
103
|
+
/>
|
|
105
104
|
)}
|
|
106
105
|
isOpen={isOpen}
|
|
107
106
|
onOpenChange={(isOpen) => setIsOpen(isOpen)}
|
|
@@ -88,9 +88,8 @@ export const OverflowMenuMultiGroup: React.FunctionComponent = () => {
|
|
|
88
88
|
variant="plain"
|
|
89
89
|
onClick={onToggle}
|
|
90
90
|
isExpanded={isOpen}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
</MenuToggle>
|
|
91
|
+
icon={<EllipsisVIcon />}
|
|
92
|
+
/>
|
|
94
93
|
)}
|
|
95
94
|
isOpen={isOpen}
|
|
96
95
|
onOpenChange={(isOpen) => setIsOpen(isOpen)}
|
|
@@ -62,9 +62,8 @@ export const OverflowMenuPersistent: React.FunctionComponent = () => {
|
|
|
62
62
|
variant="plain"
|
|
63
63
|
onClick={onToggle}
|
|
64
64
|
isExpanded={isOpen}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
</MenuToggle>
|
|
65
|
+
icon={<EllipsisVIcon />}
|
|
66
|
+
/>
|
|
68
67
|
)}
|
|
69
68
|
isOpen={isOpen}
|
|
70
69
|
onOpenChange={(isOpen) => setIsOpen(isOpen)}
|
|
@@ -62,9 +62,8 @@ export const OverflowMenuBreakpointOnContainer: React.FunctionComponent = () =>
|
|
|
62
62
|
variant="plain"
|
|
63
63
|
onClick={onToggle}
|
|
64
64
|
isExpanded={isOpen}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
</MenuToggle>
|
|
65
|
+
icon={<EllipsisVIcon />}
|
|
66
|
+
/>
|
|
68
67
|
)}
|
|
69
68
|
isOpen={isOpen}
|
|
70
69
|
onOpenChange={(isOpen) => setIsOpen(isOpen)}
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { css } from '@patternfly/react-styles';
|
|
3
3
|
import { Menu, MenuContent, MenuProps } from '../Menu';
|
|
4
4
|
import { Popper } from '../../helpers/Popper/Popper';
|
|
5
|
-
import { getOUIAProps, OUIAProps, getDefaultOUIAId } from '../../helpers';
|
|
5
|
+
import { getOUIAProps, OUIAProps, getDefaultOUIAId, onToggleArrowKeydownDefault } from '../../helpers';
|
|
6
6
|
|
|
7
7
|
export interface SelectPopperProps {
|
|
8
8
|
/** Vertical direction of the popper. If enableFlip is set to true, this will set the initial direction before the popper flips. */
|
|
@@ -62,6 +62,10 @@ export interface SelectProps extends MenuProps, OUIAProps {
|
|
|
62
62
|
onOpenChange?: (isOpen: boolean) => void;
|
|
63
63
|
/** Keys that trigger onOpenChange, defaults to tab and escape. It is highly recommended to include Escape in the array, while Tab may be omitted if the menu contains non-menu items that are focusable. */
|
|
64
64
|
onOpenChangeKeys?: string[];
|
|
65
|
+
/** Callback to override the toggle keydown behavior. By default, when the toggle has focus and the menu is open, pressing the up/down arrow keys will focus a valid non-disabled menu item - the first item for the down arrow key and last item for the up arrow key. */
|
|
66
|
+
onToggleKeydown?: (event: KeyboardEvent) => void;
|
|
67
|
+
/** Select variant. For typeahead variant focus won't shift to menu items when pressing up/down arrows. */
|
|
68
|
+
variant?: 'default' | 'typeahead';
|
|
65
69
|
/** Indicates if the select should be without the outer box-shadow */
|
|
66
70
|
isPlain?: boolean;
|
|
67
71
|
/** @hide Forwarded ref */
|
|
@@ -95,6 +99,8 @@ const SelectBase: React.FunctionComponent<SelectProps & OUIAProps> = ({
|
|
|
95
99
|
shouldFocusFirstItemOnOpen = false,
|
|
96
100
|
onOpenChange,
|
|
97
101
|
onOpenChangeKeys = ['Escape', 'Tab'],
|
|
102
|
+
onToggleKeydown,
|
|
103
|
+
variant,
|
|
98
104
|
isPlain,
|
|
99
105
|
innerRef,
|
|
100
106
|
zIndex = 9999,
|
|
@@ -144,6 +150,14 @@ const SelectBase: React.FunctionComponent<SelectProps & OUIAProps> = ({
|
|
|
144
150
|
toggleRef.current?.focus();
|
|
145
151
|
}
|
|
146
152
|
}
|
|
153
|
+
|
|
154
|
+
if (toggleRef.current?.contains(event.target as Node)) {
|
|
155
|
+
if (onToggleKeydown) {
|
|
156
|
+
onToggleKeydown(event);
|
|
157
|
+
} else if (isOpen && variant !== 'typeahead') {
|
|
158
|
+
onToggleArrowKeydownDefault(event, menuRef);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
147
161
|
};
|
|
148
162
|
|
|
149
163
|
const handleClick = (event: MouseEvent) => {
|
|
@@ -168,6 +182,7 @@ const SelectBase: React.FunctionComponent<SelectProps & OUIAProps> = ({
|
|
|
168
182
|
toggleRef,
|
|
169
183
|
onOpenChange,
|
|
170
184
|
onOpenChangeKeys,
|
|
185
|
+
onToggleKeydown,
|
|
171
186
|
shouldPreventScrollOnItemFocus,
|
|
172
187
|
shouldFocusFirstItemOnOpen,
|
|
173
188
|
focusTimeoutDelay
|
|
@@ -247,7 +247,7 @@ export const SelectMultiTypeahead: React.FunctionComponent = () => {
|
|
|
247
247
|
!isOpen && closeMenu();
|
|
248
248
|
}}
|
|
249
249
|
toggle={toggle}
|
|
250
|
-
|
|
250
|
+
variant="typeahead"
|
|
251
251
|
>
|
|
252
252
|
<SelectList isAriaMultiselectable id="select-multi-typeahead-listbox">
|
|
253
253
|
{selectOptions.map((option, index) => (
|
|
@@ -241,7 +241,7 @@ export const SelectMultiTypeaheadCheckbox: React.FunctionComponent = () => {
|
|
|
241
241
|
!isOpen && closeMenu();
|
|
242
242
|
}}
|
|
243
243
|
toggle={toggle}
|
|
244
|
-
|
|
244
|
+
variant="typeahead"
|
|
245
245
|
>
|
|
246
246
|
<SelectList isAriaMultiselectable id="select-multi-typeahead-checkbox-listbox">
|
|
247
247
|
{selectOptions.map((option, index) => (
|
|
@@ -260,7 +260,7 @@ export const SelectMultiTypeaheadCreatable: React.FunctionComponent = () => {
|
|
|
260
260
|
!isOpen && closeMenu();
|
|
261
261
|
}}
|
|
262
262
|
toggle={toggle}
|
|
263
|
-
|
|
263
|
+
variant="typeahead"
|
|
264
264
|
>
|
|
265
265
|
<SelectList isAriaMultiselectable id="select-multi-create-typeahead-listbox">
|
|
266
266
|
{selectOptions.map((option, index) => (
|
|
@@ -244,7 +244,7 @@ export const SelectTypeahead: React.FunctionComponent = () => {
|
|
|
244
244
|
!isOpen && closeMenu();
|
|
245
245
|
}}
|
|
246
246
|
toggle={toggle}
|
|
247
|
-
|
|
247
|
+
variant="typeahead"
|
|
248
248
|
>
|
|
249
249
|
<SelectList id="select-typeahead-listbox">
|
|
250
250
|
{selectOptions.map((option, index) => (
|
|
@@ -251,7 +251,7 @@ export const SelectTypeaheadCreatable: React.FunctionComponent = () => {
|
|
|
251
251
|
!isOpen && closeMenu();
|
|
252
252
|
}}
|
|
253
253
|
toggle={toggle}
|
|
254
|
-
|
|
254
|
+
variant="typeahead"
|
|
255
255
|
>
|
|
256
256
|
<SelectList id="select-create-typeahead-listbox">
|
|
257
257
|
{selectOptions.map((option, index) => (
|
|
@@ -133,7 +133,8 @@ class ToolbarFilter extends React.Component<ToolbarFilterProps, ToolbarFilterSta
|
|
|
133
133
|
return (
|
|
134
134
|
<React.Fragment>
|
|
135
135
|
{showToolbarItem && <ToolbarItem {...props}>{children}</ToolbarItem>}
|
|
136
|
-
{
|
|
136
|
+
{labelGroupContentRef?.current?.firstElementChild !== null &&
|
|
137
|
+
ReactDOM.createPortal(labelGroup, labelGroupContentRef.current.firstElementChild)}
|
|
137
138
|
</React.Fragment>
|
|
138
139
|
);
|
|
139
140
|
}
|
|
@@ -229,9 +229,8 @@ export const ToolbarStacked: React.FunctionComponent = () => {
|
|
|
229
229
|
variant="plain"
|
|
230
230
|
onClick={onKebabToggle}
|
|
231
231
|
isExpanded={kebabIsOpen}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
</MenuToggle>
|
|
232
|
+
icon={<EllipsisVIcon />}
|
|
233
|
+
/>
|
|
235
234
|
)}
|
|
236
235
|
isOpen={kebabIsOpen}
|
|
237
236
|
>
|
|
@@ -231,9 +231,8 @@ export const ToolbarWithFilters: React.FunctionComponent = () => {
|
|
|
231
231
|
onClick={onKebabToggle}
|
|
232
232
|
variant="plain"
|
|
233
233
|
aria-label="Toolbar with filters example kebab toggle"
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
</MenuToggle>
|
|
234
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
235
|
+
/>
|
|
237
236
|
)}
|
|
238
237
|
>
|
|
239
238
|
<DropdownList>
|
|
@@ -47,9 +47,8 @@ export const TreeViewWithActionItems: React.FunctionComponent = () => {
|
|
|
47
47
|
onClick={onToggle}
|
|
48
48
|
variant="plain"
|
|
49
49
|
aria-label="Tree view with actions example kebab toggle"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
</MenuToggle>
|
|
50
|
+
icon={<EllipsisVIcon />}
|
|
51
|
+
/>
|
|
53
52
|
)}
|
|
54
53
|
>
|
|
55
54
|
<DropdownList>
|
|
@@ -427,9 +427,8 @@ export const CardViewBasic: React.FunctionComponent = () => {
|
|
|
427
427
|
variant="plain"
|
|
428
428
|
onClick={onToolbarKebabDropdownToggle}
|
|
429
429
|
isExpanded={isLowerToolbarKebabDropdownOpen}
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
</MenuToggle>
|
|
430
|
+
icon={<EllipsisVIcon />}
|
|
431
|
+
/>
|
|
433
432
|
)}
|
|
434
433
|
isOpen={isLowerToolbarKebabDropdownOpen}
|
|
435
434
|
onOpenChange={(isOpen) => setIsLowerToolbarDropdownOpen(isOpen)}
|
|
@@ -518,9 +517,8 @@ export const CardViewBasic: React.FunctionComponent = () => {
|
|
|
518
517
|
onCardKebabDropdownToggle(e, key.toString());
|
|
519
518
|
}}
|
|
520
519
|
isExpanded={!!state[key]}
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
</MenuToggle>
|
|
520
|
+
icon={<EllipsisVIcon />}
|
|
521
|
+
/>
|
|
524
522
|
)}
|
|
525
523
|
popperProps={{ position: 'right' }}
|
|
526
524
|
>
|
|
@@ -215,9 +215,8 @@ export const ApplicationLauncherDemo: React.FunctionComponent = () => {
|
|
|
215
215
|
onClick={onToggleClick}
|
|
216
216
|
isExpanded={isOpen}
|
|
217
217
|
style={{ width: 'auto' }}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
</MenuToggle>
|
|
218
|
+
icon={<ThIcon />}
|
|
219
|
+
/>
|
|
221
220
|
)}
|
|
222
221
|
ref={menuRef}
|
|
223
222
|
onActionClick={onFavorite}
|
|
@@ -137,9 +137,8 @@ export const DashboardHeader: React.FC<DashboardHeaderProps> = ({ notificationBa
|
|
|
137
137
|
onClick={onKebabDropdownToggle}
|
|
138
138
|
variant="plain"
|
|
139
139
|
aria-label="Settings and help"
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
</MenuToggle>
|
|
140
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
141
|
+
/>
|
|
143
142
|
)}
|
|
144
143
|
>
|
|
145
144
|
<DropdownList>{kebabDropdownItems}</DropdownList>
|
|
@@ -158,9 +157,8 @@ export const DashboardHeader: React.FC<DashboardHeaderProps> = ({ notificationBa
|
|
|
158
157
|
onClick={onFullKebabToggle}
|
|
159
158
|
variant="plain"
|
|
160
159
|
aria-label="Toolbar menu"
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
</MenuToggle>
|
|
160
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
161
|
+
/>
|
|
164
162
|
)}
|
|
165
163
|
>
|
|
166
164
|
<DropdownGroup key="group 2" aria-label="User actions">
|
|
@@ -56,9 +56,7 @@ export const DataListBasic: React.FunctionComponent = () => {
|
|
|
56
56
|
<Button variant="primary">Create instance</Button>
|
|
57
57
|
</OverflowMenuItem>
|
|
58
58
|
<OverflowMenuControl hasAdditionalOptions>
|
|
59
|
-
<MenuToggle aria-label="Toolbar kebab overflow menu" variant="plain"
|
|
60
|
-
<EllipsisVIcon />
|
|
61
|
-
</MenuToggle>
|
|
59
|
+
<MenuToggle aria-label="Toolbar kebab overflow menu" variant="plain" icon={<EllipsisVIcon />} />
|
|
62
60
|
</OverflowMenuControl>
|
|
63
61
|
</OverflowMenu>
|
|
64
62
|
</ToolbarItem>
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
Dropdown,
|
|
14
14
|
DropdownItem,
|
|
15
15
|
DropdownList,
|
|
16
|
+
Icon,
|
|
16
17
|
MenuToggle,
|
|
17
18
|
MenuToggleElement,
|
|
18
19
|
Toolbar,
|
|
@@ -22,7 +23,6 @@ import {
|
|
|
22
23
|
ToolbarContent,
|
|
23
24
|
SearchInput,
|
|
24
25
|
Tooltip,
|
|
25
|
-
Icon,
|
|
26
26
|
PageSection
|
|
27
27
|
} from '@patternfly/react-core';
|
|
28
28
|
|
|
@@ -182,9 +182,8 @@ export const DataListExpandableControlInToolbar: React.FunctionComponent = () =>
|
|
|
182
182
|
isExpanded={isOpen1}
|
|
183
183
|
variant="plain"
|
|
184
184
|
aria-label="Primary content kebab toggle"
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
</MenuToggle>
|
|
185
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
186
|
+
/>
|
|
188
187
|
)}
|
|
189
188
|
>
|
|
190
189
|
<DropdownList>
|
|
@@ -259,9 +258,8 @@ export const DataListExpandableControlInToolbar: React.FunctionComponent = () =>
|
|
|
259
258
|
isExpanded={isOpen2}
|
|
260
259
|
variant="plain"
|
|
261
260
|
aria-label="Secondary content kebab toggle"
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
</MenuToggle>
|
|
261
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
262
|
+
/>
|
|
265
263
|
)}
|
|
266
264
|
>
|
|
267
265
|
<DropdownList>
|
|
@@ -336,9 +334,8 @@ export const DataListExpandableControlInToolbar: React.FunctionComponent = () =>
|
|
|
336
334
|
isExpanded={isOpen3}
|
|
337
335
|
variant="plain"
|
|
338
336
|
aria-label="Tertiary content kebab toggle"
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
</MenuToggle>
|
|
337
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
338
|
+
/>
|
|
342
339
|
)}
|
|
343
340
|
>
|
|
344
341
|
<DropdownList>
|