@patternfly/react-core 5.0.0-alpha.86 → 5.0.0-alpha.88
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 +8 -0
- package/dist/esm/components/AboutModal/package.json +1 -1
- package/dist/esm/components/Accordion/package.json +1 -1
- package/dist/esm/components/ActionList/package.json +1 -1
- package/dist/esm/components/Alert/package.json +1 -1
- package/dist/esm/components/Avatar/package.json +1 -1
- package/dist/esm/components/BackToTop/package.json +1 -1
- package/dist/esm/components/Backdrop/package.json +1 -1
- package/dist/esm/components/BackgroundImage/package.json +1 -1
- package/dist/esm/components/Badge/package.json +1 -1
- package/dist/esm/components/Banner/package.json +1 -1
- package/dist/esm/components/Brand/package.json +1 -1
- package/dist/esm/components/Breadcrumb/package.json +1 -1
- package/dist/esm/components/Button/package.json +1 -1
- package/dist/esm/components/CalendarMonth/package.json +1 -1
- package/dist/esm/components/Card/package.json +1 -1
- package/dist/esm/components/Checkbox/package.json +1 -1
- package/dist/esm/components/Chip/package.json +1 -1
- package/dist/esm/components/ClipboardCopy/package.json +1 -1
- package/dist/esm/components/CodeBlock/package.json +1 -1
- package/dist/esm/components/DataList/package.json +1 -1
- package/dist/esm/components/DatePicker/package.json +1 -1
- package/dist/esm/components/DescriptionList/package.json +1 -1
- package/dist/esm/components/Divider/package.json +1 -1
- package/dist/esm/components/DragDrop/package.json +1 -1
- package/dist/esm/components/Drawer/package.json +1 -1
- package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +2 -4
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/Dropdown/package.json +1 -1
- package/dist/esm/components/DualListSelector/package.json +1 -1
- package/dist/esm/components/EmptyState/package.json +1 -1
- package/dist/esm/components/ExpandableSection/package.json +1 -1
- package/dist/esm/components/FileUpload/package.json +1 -1
- package/dist/esm/components/Form/package.json +1 -1
- package/dist/esm/components/FormSelect/package.json +1 -1
- package/dist/esm/components/HelperText/package.json +1 -1
- package/dist/esm/components/Hint/package.json +1 -1
- package/dist/esm/components/Icon/package.json +1 -1
- package/dist/esm/components/InputGroup/package.json +1 -1
- package/dist/esm/components/JumpLinks/package.json +1 -1
- package/dist/esm/components/Label/package.json +1 -1
- package/dist/esm/components/LabelGroup/package.json +1 -1
- package/dist/esm/components/List/package.json +1 -1
- package/dist/esm/components/LoginPage/package.json +1 -1
- package/dist/esm/components/Masthead/package.json +1 -1
- package/dist/esm/components/Menu/package.json +1 -1
- package/dist/esm/components/MenuToggle/MenuToggle.d.ts +3 -1
- package/dist/esm/components/MenuToggle/MenuToggle.d.ts.map +1 -1
- package/dist/esm/components/MenuToggle/MenuToggle.js +1 -3
- package/dist/esm/components/MenuToggle/MenuToggle.js.map +1 -1
- package/dist/esm/components/MenuToggle/package.json +1 -1
- package/dist/esm/components/Modal/package.json +1 -1
- package/dist/esm/components/MultipleFileUpload/package.json +1 -1
- package/dist/esm/components/Nav/package.json +1 -1
- package/dist/esm/components/NotificationBadge/package.json +1 -1
- package/dist/esm/components/NotificationDrawer/package.json +1 -1
- package/dist/esm/components/NumberInput/package.json +1 -1
- package/dist/esm/components/OverflowMenu/package.json +1 -1
- package/dist/esm/components/Page/package.json +1 -1
- package/dist/esm/components/Pagination/package.json +1 -1
- package/dist/esm/components/Panel/package.json +1 -1
- package/dist/esm/components/Popover/package.json +1 -1
- package/dist/esm/components/Progress/package.json +1 -1
- package/dist/esm/components/ProgressStepper/package.json +1 -1
- package/dist/esm/components/Radio/package.json +1 -1
- package/dist/esm/components/SearchInput/package.json +1 -1
- package/dist/esm/components/Select/package.json +1 -1
- package/dist/esm/components/Sidebar/package.json +1 -1
- package/dist/esm/components/SimpleList/package.json +1 -1
- package/dist/esm/components/Skeleton/package.json +1 -1
- package/dist/esm/components/SkipToContent/package.json +1 -1
- package/dist/esm/components/Slider/package.json +1 -1
- package/dist/esm/components/Spinner/package.json +1 -1
- package/dist/esm/components/Switch/package.json +1 -1
- package/dist/esm/components/Tabs/package.json +1 -1
- package/dist/esm/components/Text/package.json +1 -1
- package/dist/esm/components/TextArea/package.json +1 -1
- package/dist/esm/components/TextInput/package.json +1 -1
- package/dist/esm/components/TextInputGroup/package.json +1 -1
- package/dist/esm/components/Tile/package.json +1 -1
- package/dist/esm/components/TimePicker/package.json +1 -1
- package/dist/esm/components/Timestamp/package.json +1 -1
- package/dist/esm/components/Title/package.json +1 -1
- package/dist/esm/components/ToggleGroup/package.json +1 -1
- package/dist/esm/components/Toolbar/package.json +1 -1
- package/dist/esm/components/Tooltip/package.json +1 -1
- package/dist/esm/components/TreeView/package.json +1 -1
- package/dist/esm/components/Truncate/package.json +1 -1
- package/dist/esm/components/Wizard/hooks/package.json +1 -1
- package/dist/esm/components/Wizard/package.json +1 -1
- package/dist/esm/components/package.json +1 -1
- package/dist/esm/deprecated/components/ApplicationLauncher/package.json +1 -1
- package/dist/esm/deprecated/components/ContextSelector/package.json +1 -1
- package/dist/esm/deprecated/components/Dropdown/package.json +1 -1
- package/dist/esm/deprecated/components/OptionsMenu/package.json +1 -1
- package/dist/esm/deprecated/components/PageHeader/package.json +1 -1
- package/dist/esm/deprecated/components/Select/package.json +1 -1
- package/dist/esm/deprecated/components/Wizard/package.json +1 -1
- package/dist/esm/deprecated/components/package.json +1 -1
- package/dist/esm/deprecated/package.json +1 -1
- package/dist/esm/helpers/Popper/thirdparty/popper-core/package.json +1 -1
- package/dist/esm/helpers/package.json +1 -1
- package/dist/esm/layouts/Bullseye/package.json +1 -1
- package/dist/esm/layouts/Flex/package.json +1 -1
- package/dist/esm/layouts/Gallery/package.json +1 -1
- package/dist/esm/layouts/Grid/package.json +1 -1
- package/dist/esm/layouts/Level/package.json +1 -1
- package/dist/esm/layouts/Split/package.json +1 -1
- package/dist/esm/layouts/Stack/package.json +1 -1
- package/dist/esm/layouts/package.json +1 -1
- package/dist/esm/next/components/package.json +1 -1
- package/dist/esm/next/package.json +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/js/components/AboutModal/package.json +1 -1
- package/dist/js/components/Accordion/package.json +1 -1
- package/dist/js/components/ActionList/package.json +1 -1
- package/dist/js/components/Alert/package.json +1 -1
- package/dist/js/components/Avatar/package.json +1 -1
- package/dist/js/components/BackToTop/package.json +1 -1
- package/dist/js/components/Backdrop/package.json +1 -1
- package/dist/js/components/BackgroundImage/package.json +1 -1
- package/dist/js/components/Badge/package.json +1 -1
- package/dist/js/components/Banner/package.json +1 -1
- package/dist/js/components/Brand/package.json +1 -1
- package/dist/js/components/Breadcrumb/package.json +1 -1
- package/dist/js/components/Button/package.json +1 -1
- package/dist/js/components/CalendarMonth/package.json +1 -1
- package/dist/js/components/Card/package.json +1 -1
- package/dist/js/components/Checkbox/package.json +1 -1
- package/dist/js/components/Chip/package.json +1 -1
- package/dist/js/components/ClipboardCopy/package.json +1 -1
- package/dist/js/components/CodeBlock/package.json +1 -1
- package/dist/js/components/DataList/package.json +1 -1
- package/dist/js/components/DatePicker/package.json +1 -1
- package/dist/js/components/DescriptionList/package.json +1 -1
- package/dist/js/components/Divider/package.json +1 -1
- package/dist/js/components/DragDrop/package.json +1 -1
- package/dist/js/components/Drawer/package.json +1 -1
- package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.js +2 -4
- package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/js/components/Dropdown/package.json +1 -1
- package/dist/js/components/DualListSelector/package.json +1 -1
- package/dist/js/components/EmptyState/package.json +1 -1
- package/dist/js/components/ExpandableSection/package.json +1 -1
- package/dist/js/components/FileUpload/package.json +1 -1
- package/dist/js/components/Form/package.json +1 -1
- package/dist/js/components/FormSelect/package.json +1 -1
- package/dist/js/components/HelperText/package.json +1 -1
- package/dist/js/components/Hint/package.json +1 -1
- package/dist/js/components/Icon/package.json +1 -1
- package/dist/js/components/InputGroup/package.json +1 -1
- package/dist/js/components/JumpLinks/package.json +1 -1
- package/dist/js/components/Label/package.json +1 -1
- package/dist/js/components/LabelGroup/package.json +1 -1
- package/dist/js/components/List/package.json +1 -1
- package/dist/js/components/LoginPage/package.json +1 -1
- package/dist/js/components/Masthead/package.json +1 -1
- package/dist/js/components/Menu/package.json +1 -1
- package/dist/js/components/MenuToggle/MenuToggle.d.ts +3 -1
- package/dist/js/components/MenuToggle/MenuToggle.d.ts.map +1 -1
- package/dist/js/components/MenuToggle/MenuToggle.js +1 -3
- package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
- package/dist/js/components/MenuToggle/package.json +1 -1
- package/dist/js/components/Modal/package.json +1 -1
- package/dist/js/components/MultipleFileUpload/package.json +1 -1
- package/dist/js/components/Nav/package.json +1 -1
- package/dist/js/components/NotificationBadge/package.json +1 -1
- package/dist/js/components/NotificationDrawer/package.json +1 -1
- package/dist/js/components/NumberInput/package.json +1 -1
- package/dist/js/components/OverflowMenu/package.json +1 -1
- package/dist/js/components/Page/package.json +1 -1
- package/dist/js/components/Pagination/package.json +1 -1
- package/dist/js/components/Panel/package.json +1 -1
- package/dist/js/components/Popover/package.json +1 -1
- package/dist/js/components/Progress/package.json +1 -1
- package/dist/js/components/ProgressStepper/package.json +1 -1
- package/dist/js/components/Radio/package.json +1 -1
- package/dist/js/components/SearchInput/package.json +1 -1
- package/dist/js/components/Select/package.json +1 -1
- package/dist/js/components/Sidebar/package.json +1 -1
- package/dist/js/components/SimpleList/package.json +1 -1
- package/dist/js/components/Skeleton/package.json +1 -1
- package/dist/js/components/SkipToContent/package.json +1 -1
- package/dist/js/components/Slider/package.json +1 -1
- package/dist/js/components/Spinner/package.json +1 -1
- package/dist/js/components/Switch/package.json +1 -1
- package/dist/js/components/Tabs/package.json +1 -1
- package/dist/js/components/Text/package.json +1 -1
- package/dist/js/components/TextArea/package.json +1 -1
- package/dist/js/components/TextInput/package.json +1 -1
- package/dist/js/components/TextInputGroup/package.json +1 -1
- package/dist/js/components/Tile/package.json +1 -1
- package/dist/js/components/TimePicker/package.json +1 -1
- package/dist/js/components/Timestamp/package.json +1 -1
- package/dist/js/components/Title/package.json +1 -1
- package/dist/js/components/ToggleGroup/package.json +1 -1
- package/dist/js/components/Toolbar/package.json +1 -1
- package/dist/js/components/Tooltip/package.json +1 -1
- package/dist/js/components/TreeView/package.json +1 -1
- package/dist/js/components/Truncate/package.json +1 -1
- package/dist/js/components/Wizard/hooks/package.json +1 -1
- package/dist/js/components/Wizard/package.json +1 -1
- package/dist/js/components/package.json +1 -1
- package/dist/js/deprecated/components/ApplicationLauncher/package.json +1 -1
- package/dist/js/deprecated/components/ContextSelector/package.json +1 -1
- package/dist/js/deprecated/components/Dropdown/package.json +1 -1
- package/dist/js/deprecated/components/OptionsMenu/package.json +1 -1
- package/dist/js/deprecated/components/PageHeader/package.json +1 -1
- package/dist/js/deprecated/components/Select/package.json +1 -1
- package/dist/js/deprecated/components/Wizard/package.json +1 -1
- package/dist/js/deprecated/components/package.json +1 -1
- package/dist/js/deprecated/package.json +1 -1
- package/dist/js/helpers/Popper/thirdparty/popper-core/package.json +1 -1
- package/dist/js/helpers/package.json +1 -1
- package/dist/js/layouts/Bullseye/package.json +1 -1
- package/dist/js/layouts/Flex/package.json +1 -1
- package/dist/js/layouts/Gallery/package.json +1 -1
- package/dist/js/layouts/Grid/package.json +1 -1
- package/dist/js/layouts/Level/package.json +1 -1
- package/dist/js/layouts/Split/package.json +1 -1
- package/dist/js/layouts/Stack/package.json +1 -1
- package/dist/js/layouts/package.json +1 -1
- package/dist/js/next/components/package.json +1 -1
- package/dist/js/next/package.json +1 -1
- package/dist/js/package.json +1 -1
- package/dist/umd/react-core.min.js +1 -1
- package/package.json +2 -2
- package/src/components/ActionList/examples/ActionList.md +1 -6
- package/src/components/ActionList/examples/ActionListSingleGroup.tsx +50 -38
- package/src/components/Breadcrumb/examples/Breadcrumb.md +1 -5
- package/src/components/Breadcrumb/examples/BreadcrumbDropdown.tsx +34 -21
- package/src/components/Card/examples/Card.md +9 -14
- package/src/components/Card/examples/CardExpandable.tsx +44 -31
- package/src/components/Card/examples/CardExpandableWithIcon.tsx +50 -29
- package/src/components/Card/examples/CardHeaderInCardHead.tsx +50 -29
- package/src/components/Card/examples/CardLegacySelectable.tsx +52 -33
- package/src/components/Card/examples/CardOnlyActionsInCardHead.tsx +48 -29
- package/src/components/Card/examples/CardSelectable.tsx +52 -36
- package/src/components/Card/examples/CardWithImageAndActions.tsx +51 -29
- package/src/components/DataList/__tests__/DataList.test.tsx +10 -11
- package/src/components/DataList/__tests__/__snapshots__/DataList.test.tsx.snap +86 -19
- package/src/components/DataList/examples/DataList.md +1 -6
- package/src/components/DataList/examples/DataListActions.tsx +39 -23
- package/src/components/DataList/examples/DataListCheckboxes.tsx +106 -61
- package/src/components/DataList/examples/DataListExpandable.tsx +103 -55
- package/src/components/DataList/examples/DataListMixedExpandable.tsx +105 -57
- package/src/components/DataList/examples/DataListSelectableRows.tsx +71 -39
- package/src/components/DataList/examples/DataListWidthModifiers.tsx +81 -39
- package/src/components/Dropdown/Dropdown.tsx +10 -13
- package/src/components/Dropdown/__tests__/__snapshots__/Dropdown.test.tsx.snap +29 -32
- package/src/components/Dropdown/examples/Dropdown.md +0 -1
- package/src/components/Dropdown/examples/DropdownBasic.tsx +22 -16
- package/src/components/Dropdown/examples/DropdownWithDescriptions.tsx +13 -18
- package/src/components/Dropdown/examples/DropdownWithGroups.tsx +30 -16
- package/src/components/Dropdown/examples/DropdownWithKebabToggle.tsx +22 -16
- package/src/components/DualListSelector/examples/DualListSelector.md +1 -5
- package/src/components/DualListSelector/examples/DualListSelectorComplexOptionsActions.tsx +60 -36
- package/src/components/Hint/examples/Hint.md +1 -6
- package/src/components/Hint/examples/HintBasicWithTitle.tsx +58 -32
- package/src/components/Hint/examples/HintBasicWithoutTitle.tsx +57 -32
- package/src/components/InputGroup/examples/InputGroup.md +0 -5
- package/src/components/InputGroup/examples/InputGroupWithDropdown.tsx +32 -24
- package/src/components/Menu/examples/Menu.md +1 -5
- package/src/components/Menu/examples/MenuWithDrilldownBreadcrumbs.tsx +120 -89
- package/src/components/MenuToggle/MenuToggle.tsx +4 -3
- package/src/components/MenuToggle/__tests__/__snapshots__/MenuToggle.test.tsx.snap +10 -18
- package/src/components/MenuToggle/examples/MenuToggle.md +35 -5
- package/src/components/Modal/examples/Modal.md +0 -5
- package/src/components/Modal/examples/ModalWithDropdown.tsx +40 -34
- package/src/components/NotificationDrawer/examples/NotificationDrawer.md +1 -8
- package/src/components/NotificationDrawer/examples/NotificationDrawerBasic.tsx +145 -72
- package/src/components/NotificationDrawer/examples/NotificationDrawerGroups.tsx +187 -131
- package/src/components/Tabs/examples/Tabs.md +120 -44
- package/src/components/Toolbar/examples/Toolbar.md +41 -28
- package/src/components/Toolbar/examples/ToolbarItems.tsx +1 -1
- package/src/components/Toolbar/examples/ToolbarStacked.tsx +75 -58
- package/src/components/Toolbar/examples/ToolbarWithFilters.tsx +57 -88
- package/src/components/TreeView/examples/TreeView.md +42 -30
- package/src/demos/AlertGroup.md +1 -6
- package/src/demos/Card/Card.md +75 -80
- package/src/demos/CardDemos.md +40 -34
- package/src/demos/DataListDemo.md +130 -70
- package/src/demos/DatePicker/DatePicker.md +1 -89
- package/src/demos/DateTimePicker.md +90 -5
- package/src/demos/Masthead.md +1 -7
- package/src/demos/Nav.md +213 -155
- package/src/demos/NotificationDrawer/NotificationDrawer.md +485 -355
- package/src/demos/Page.md +1 -7
- package/src/demos/PrimaryDetail.md +193 -211
- package/src/demos/Tabs.md +0 -1
- package/src/demos/Toolbar.md +169 -190
- package/src/demos/examples/AlertGroup/AlertGroupToastWithNotificationDrawer.tsx +61 -49
- package/src/demos/examples/DashboardHeader.js +96 -81
- package/src/demos/examples/DateTimePicker/DateTimePicker.tsx +29 -26
- package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +84 -69
- package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +90 -74
- package/src/demos/examples/Page/PageStickySectionGroup.tsx +90 -74
- package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +90 -74
- package/src/demos/examples/Tabs/TabsAndTable.tsx +12 -6
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Modal, ModalVariant, Button } from '@patternfly/react-core';
|
|
3
2
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
Modal,
|
|
4
|
+
ModalVariant,
|
|
5
|
+
Button,
|
|
6
|
+
Dropdown,
|
|
7
|
+
DropdownList,
|
|
8
|
+
DropdownItem,
|
|
9
|
+
MenuToggle,
|
|
10
|
+
MenuToggleElement
|
|
11
|
+
} from '@patternfly/react-core';
|
|
9
12
|
|
|
10
13
|
export const ModalWithDropdown: React.FunctionComponent = () => {
|
|
11
14
|
const [isModalOpen, setIsModalOpen] = React.useState(false);
|
|
@@ -16,8 +19,8 @@ export const ModalWithDropdown: React.FunctionComponent = () => {
|
|
|
16
19
|
setIsDropdownOpen(false);
|
|
17
20
|
};
|
|
18
21
|
|
|
19
|
-
const handleDropdownToggle = (
|
|
20
|
-
setIsDropdownOpen(isDropdownOpen);
|
|
22
|
+
const handleDropdownToggle = () => {
|
|
23
|
+
setIsDropdownOpen(!isDropdownOpen);
|
|
21
24
|
};
|
|
22
25
|
|
|
23
26
|
const onSelect = () => {
|
|
@@ -39,19 +42,6 @@ export const ModalWithDropdown: React.FunctionComponent = () => {
|
|
|
39
42
|
}
|
|
40
43
|
};
|
|
41
44
|
|
|
42
|
-
const dropdownItems = [
|
|
43
|
-
<DropdownItemDeprecated key="link">Link</DropdownItemDeprecated>,
|
|
44
|
-
<DropdownItemDeprecated key="action" component="button">
|
|
45
|
-
Action
|
|
46
|
-
</DropdownItemDeprecated>,
|
|
47
|
-
<DropdownItemDeprecated key="disabled link" isDisabled>
|
|
48
|
-
Disabled Link
|
|
49
|
-
</DropdownItemDeprecated>,
|
|
50
|
-
<DropdownItemDeprecated key="disabled action" isDisabled component="button">
|
|
51
|
-
Disabled Action
|
|
52
|
-
</DropdownItemDeprecated>
|
|
53
|
-
];
|
|
54
|
-
|
|
55
45
|
return (
|
|
56
46
|
<React.Fragment>
|
|
57
47
|
<Button variant="primary" onClick={handleModalToggle}>
|
|
@@ -80,21 +70,37 @@ export const ModalWithDropdown: React.FunctionComponent = () => {
|
|
|
80
70
|
</div>
|
|
81
71
|
<br />
|
|
82
72
|
<div>
|
|
83
|
-
<
|
|
73
|
+
<Dropdown
|
|
74
|
+
isOpen={isDropdownOpen}
|
|
84
75
|
onSelect={onSelect}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
76
|
+
onOpenChange={(isOpen: boolean) => setIsDropdownOpen(isOpen)}
|
|
77
|
+
toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
|
|
78
|
+
<MenuToggle ref={toggleRef} onClick={handleDropdownToggle} isExpanded={isDropdownOpen}>
|
|
79
|
+
Dropdown
|
|
80
|
+
</MenuToggle>
|
|
81
|
+
)}
|
|
82
|
+
>
|
|
83
|
+
<DropdownList>
|
|
84
|
+
<DropdownItem itemId={0} key="action">
|
|
85
|
+
Action
|
|
86
|
+
</DropdownItem>
|
|
87
|
+
<DropdownItem
|
|
88
|
+
itemId={1}
|
|
89
|
+
key="link"
|
|
90
|
+
to="#default-link2"
|
|
91
|
+
// Prevent the default onClick functionality for example purposes
|
|
92
|
+
onClick={(ev: any) => ev.preventDefault()}
|
|
90
93
|
>
|
|
91
|
-
|
|
92
|
-
</
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
94
|
+
Link
|
|
95
|
+
</DropdownItem>
|
|
96
|
+
<DropdownItem itemId={2} isDisabled key="disabled action">
|
|
97
|
+
Disabled Action
|
|
98
|
+
</DropdownItem>
|
|
99
|
+
<DropdownItem itemId={3} isDisabled key="disabled link" to="#default-link4">
|
|
100
|
+
Disabled Link
|
|
101
|
+
</DropdownItem>
|
|
102
|
+
</DropdownList>
|
|
103
|
+
</Dropdown>
|
|
98
104
|
</div>
|
|
99
105
|
</Modal>
|
|
100
106
|
</React.Fragment>
|
|
@@ -16,15 +16,8 @@ propComponents:
|
|
|
16
16
|
]
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
import {
|
|
20
|
-
Dropdown as DropdownDeprecated,
|
|
21
|
-
DropdownItem as DropdownItemDeprecated,
|
|
22
|
-
DropdownPosition,
|
|
23
|
-
DropdownDirection,
|
|
24
|
-
DropdownSeparator,
|
|
25
|
-
KebabToggle
|
|
26
|
-
} from '@patternfly/react-core/deprecated';
|
|
27
19
|
import SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';
|
|
20
|
+
import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
|
|
28
21
|
|
|
29
22
|
## Examples
|
|
30
23
|
|
|
@@ -6,22 +6,20 @@ import {
|
|
|
6
6
|
NotificationDrawerList,
|
|
7
7
|
NotificationDrawerListItem,
|
|
8
8
|
NotificationDrawerListItemBody,
|
|
9
|
-
NotificationDrawerListItemHeader
|
|
9
|
+
NotificationDrawerListItemHeader,
|
|
10
|
+
Dropdown,
|
|
11
|
+
DropdownList,
|
|
12
|
+
DropdownItem,
|
|
13
|
+
MenuToggle,
|
|
14
|
+
MenuToggleElement
|
|
10
15
|
} from '@patternfly/react-core';
|
|
11
|
-
import
|
|
12
|
-
Dropdown as DropdownDeprecated,
|
|
13
|
-
DropdownItem as DropdownItemDeprecated,
|
|
14
|
-
DropdownPosition,
|
|
15
|
-
DropdownDirection,
|
|
16
|
-
DropdownSeparator,
|
|
17
|
-
KebabToggle
|
|
18
|
-
} from '@patternfly/react-core/deprecated';
|
|
16
|
+
import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
|
|
19
17
|
|
|
20
18
|
export const NotificationDrawerBasic: React.FunctionComponent = () => {
|
|
21
19
|
const [isOpenMap, setIsOpenMap] = React.useState(new Array(7).fill(false));
|
|
22
20
|
|
|
23
|
-
const onToggle = (index: number) => (
|
|
24
|
-
const newState = [...isOpenMap.slice(0, index),
|
|
21
|
+
const onToggle = (index: number) => () => {
|
|
22
|
+
const newState = [...isOpenMap.slice(0, index), !isOpenMap[index], ...isOpenMap.slice(index + 1)];
|
|
25
23
|
setIsOpenMap(newState);
|
|
26
24
|
};
|
|
27
25
|
|
|
@@ -34,29 +32,45 @@ export const NotificationDrawerBasic: React.FunctionComponent = () => {
|
|
|
34
32
|
};
|
|
35
33
|
|
|
36
34
|
const [isOpen0, isOpen1, isOpen2, isOpen3, isOpen4, isOpen5, isOpen6] = isOpenMap;
|
|
35
|
+
const dropdownItems = (
|
|
36
|
+
<>
|
|
37
|
+
<DropdownItem>Action</DropdownItem>
|
|
38
|
+
<DropdownItem
|
|
39
|
+
to="#default-link2"
|
|
40
|
+
// Prevent the default onClick functionality for example purposes
|
|
41
|
+
onClick={(ev: any) => ev.preventDefault()}
|
|
42
|
+
>
|
|
43
|
+
Link
|
|
44
|
+
</DropdownItem>
|
|
45
|
+
<DropdownItem isDisabled>Disabled Action</DropdownItem>
|
|
46
|
+
<DropdownItem isDisabled to="#default-link4">
|
|
47
|
+
Disabled Link
|
|
48
|
+
</DropdownItem>
|
|
49
|
+
</>
|
|
50
|
+
);
|
|
37
51
|
|
|
38
|
-
const dropdownItems = [
|
|
39
|
-
<DropdownItemDeprecated key="link">Link</DropdownItemDeprecated>,
|
|
40
|
-
<DropdownItemDeprecated key="action" component="button">
|
|
41
|
-
Action
|
|
42
|
-
</DropdownItemDeprecated>,
|
|
43
|
-
<DropdownSeparator key="separator" />,
|
|
44
|
-
<DropdownItemDeprecated key="disabled link" isDisabled>
|
|
45
|
-
Disabled link
|
|
46
|
-
</DropdownItemDeprecated>
|
|
47
|
-
];
|
|
48
52
|
return (
|
|
49
53
|
<NotificationDrawer>
|
|
50
|
-
<NotificationDrawerHeader count={3} onClose={
|
|
51
|
-
<
|
|
54
|
+
<NotificationDrawerHeader count={3} onClose={onDrawerClose}>
|
|
55
|
+
<Dropdown
|
|
52
56
|
onSelect={onSelect}
|
|
53
|
-
toggle={<KebabToggle onToggle={onToggle(0)} id="basic-kebab-toggle" />}
|
|
54
57
|
isOpen={isOpen0}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
onOpenChange={() => setIsOpenMap(new Array(7).fill(false))}
|
|
59
|
+
popperProps={{ position: 'right' }}
|
|
60
|
+
toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
|
|
61
|
+
<MenuToggle
|
|
62
|
+
ref={toggleRef}
|
|
63
|
+
isExpanded={isOpen0}
|
|
64
|
+
onClick={onToggle(0)}
|
|
65
|
+
variant="plain"
|
|
66
|
+
aria-label={`Basic example header kebab toggle`}
|
|
67
|
+
>
|
|
68
|
+
<EllipsisVIcon aria-hidden="true" />
|
|
69
|
+
</MenuToggle>
|
|
70
|
+
)}
|
|
71
|
+
>
|
|
72
|
+
<DropdownList>{dropdownItems}</DropdownList>
|
|
73
|
+
</Dropdown>
|
|
60
74
|
</NotificationDrawerHeader>
|
|
61
75
|
<NotificationDrawerBody>
|
|
62
76
|
<NotificationDrawerList aria-label="Notifications in the basic example">
|
|
@@ -66,15 +80,25 @@ export const NotificationDrawerBasic: React.FunctionComponent = () => {
|
|
|
66
80
|
title="Unread info notification title"
|
|
67
81
|
srTitle="Info notification:"
|
|
68
82
|
>
|
|
69
|
-
<
|
|
70
|
-
position={DropdownPosition.right}
|
|
83
|
+
<Dropdown
|
|
71
84
|
onSelect={onSelect}
|
|
72
|
-
toggle={<KebabToggle onToggle={onToggle(1)} id="basic-toggle-id-1" />}
|
|
73
85
|
isOpen={isOpen1}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
86
|
+
onOpenChange={() => setIsOpenMap(new Array(7).fill(false))}
|
|
87
|
+
popperProps={{ position: 'right' }}
|
|
88
|
+
toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
|
|
89
|
+
<MenuToggle
|
|
90
|
+
ref={toggleRef}
|
|
91
|
+
isExpanded={isOpen0}
|
|
92
|
+
onClick={onToggle(1)}
|
|
93
|
+
variant="plain"
|
|
94
|
+
aria-label={`Basic example notification 1 kebab toggle`}
|
|
95
|
+
>
|
|
96
|
+
<EllipsisVIcon aria-hidden="true" />
|
|
97
|
+
</MenuToggle>
|
|
98
|
+
)}
|
|
99
|
+
>
|
|
100
|
+
<DropdownList>{dropdownItems}</DropdownList>
|
|
101
|
+
</Dropdown>
|
|
78
102
|
</NotificationDrawerListItemHeader>
|
|
79
103
|
<NotificationDrawerListItemBody timestamp="5 minutes ago">
|
|
80
104
|
This is an info notification description.
|
|
@@ -86,15 +110,25 @@ export const NotificationDrawerBasic: React.FunctionComponent = () => {
|
|
|
86
110
|
title="Unread danger notification title. This is a long title to show how the title will wrap if it is long and wraps to multiple lines."
|
|
87
111
|
srTitle="Danger notification:"
|
|
88
112
|
>
|
|
89
|
-
<
|
|
90
|
-
position={DropdownPosition.right}
|
|
113
|
+
<Dropdown
|
|
91
114
|
onSelect={onSelect}
|
|
92
|
-
toggle={<KebabToggle onToggle={onToggle(2)} id="basic-toggle-id-2" />}
|
|
93
115
|
isOpen={isOpen2}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
116
|
+
onOpenChange={() => setIsOpenMap(new Array(7).fill(false))}
|
|
117
|
+
popperProps={{ position: 'right' }}
|
|
118
|
+
toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
|
|
119
|
+
<MenuToggle
|
|
120
|
+
ref={toggleRef}
|
|
121
|
+
isExpanded={isOpen2}
|
|
122
|
+
onClick={onToggle(2)}
|
|
123
|
+
variant="plain"
|
|
124
|
+
aria-label={`Basic example notification 2 kebab toggle`}
|
|
125
|
+
>
|
|
126
|
+
<EllipsisVIcon aria-hidden="true" />
|
|
127
|
+
</MenuToggle>
|
|
128
|
+
)}
|
|
129
|
+
>
|
|
130
|
+
<DropdownList>{dropdownItems}</DropdownList>
|
|
131
|
+
</Dropdown>
|
|
98
132
|
</NotificationDrawerListItemHeader>
|
|
99
133
|
<NotificationDrawerListItemBody timestamp="10 minutes ago">
|
|
100
134
|
This is a danger notification description. This is a long description to show how the title will wrap if
|
|
@@ -108,15 +142,25 @@ export const NotificationDrawerBasic: React.FunctionComponent = () => {
|
|
|
108
142
|
title="Unread danger notification title. This is a long title to show how the title will be truncated if it is long and will be shown in a single line."
|
|
109
143
|
srTitle="Danger notification:"
|
|
110
144
|
>
|
|
111
|
-
<
|
|
112
|
-
position={DropdownPosition.right}
|
|
145
|
+
<Dropdown
|
|
113
146
|
onSelect={onSelect}
|
|
114
|
-
toggle={<KebabToggle onToggle={onToggle(3)} id="basic-toggle-id-3" />}
|
|
115
147
|
isOpen={isOpen3}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
148
|
+
onOpenChange={() => setIsOpenMap(new Array(7).fill(false))}
|
|
149
|
+
popperProps={{ position: 'right' }}
|
|
150
|
+
toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
|
|
151
|
+
<MenuToggle
|
|
152
|
+
ref={toggleRef}
|
|
153
|
+
isExpanded={isOpen3}
|
|
154
|
+
onClick={onToggle(3)}
|
|
155
|
+
variant="plain"
|
|
156
|
+
aria-label={`Basic example notification 3 kebab toggle`}
|
|
157
|
+
>
|
|
158
|
+
<EllipsisVIcon aria-hidden="true" />
|
|
159
|
+
</MenuToggle>
|
|
160
|
+
)}
|
|
161
|
+
>
|
|
162
|
+
<DropdownList>{dropdownItems}</DropdownList>
|
|
163
|
+
</Dropdown>
|
|
120
164
|
</NotificationDrawerListItemHeader>
|
|
121
165
|
<NotificationDrawerListItemBody timestamp="10 minutes ago">
|
|
122
166
|
This is a danger notification description. This is a long description to show how the title will wrap if
|
|
@@ -129,15 +173,25 @@ export const NotificationDrawerBasic: React.FunctionComponent = () => {
|
|
|
129
173
|
title="Read warning notification title"
|
|
130
174
|
srTitle="Warning notification:"
|
|
131
175
|
>
|
|
132
|
-
<
|
|
133
|
-
position={DropdownPosition.right}
|
|
176
|
+
<Dropdown
|
|
134
177
|
onSelect={onSelect}
|
|
135
|
-
toggle={<KebabToggle onToggle={onToggle(4)} id="basic-toggle-id-4" />}
|
|
136
178
|
isOpen={isOpen4}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
179
|
+
onOpenChange={() => setIsOpenMap(new Array(7).fill(false))}
|
|
180
|
+
popperProps={{ position: 'right' }}
|
|
181
|
+
toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
|
|
182
|
+
<MenuToggle
|
|
183
|
+
ref={toggleRef}
|
|
184
|
+
isExpanded={isOpen4}
|
|
185
|
+
onClick={onToggle(4)}
|
|
186
|
+
variant="plain"
|
|
187
|
+
aria-label={`Basic example notification 4 kebab toggle`}
|
|
188
|
+
>
|
|
189
|
+
<EllipsisVIcon aria-hidden="true" />
|
|
190
|
+
</MenuToggle>
|
|
191
|
+
)}
|
|
192
|
+
>
|
|
193
|
+
<DropdownList>{dropdownItems}</DropdownList>
|
|
194
|
+
</Dropdown>
|
|
141
195
|
</NotificationDrawerListItemHeader>
|
|
142
196
|
<NotificationDrawerListItemBody timestamp="20 minutes ago">
|
|
143
197
|
This is a warning notification description.
|
|
@@ -149,16 +203,25 @@ export const NotificationDrawerBasic: React.FunctionComponent = () => {
|
|
|
149
203
|
title="Read success notification title"
|
|
150
204
|
srTitle="Success notification:"
|
|
151
205
|
>
|
|
152
|
-
<
|
|
153
|
-
position={DropdownPosition.right}
|
|
154
|
-
direction={DropdownDirection.up}
|
|
206
|
+
<Dropdown
|
|
155
207
|
onSelect={onSelect}
|
|
156
|
-
toggle={<KebabToggle onToggle={onToggle(5)} id="basic-toggle-id-5" />}
|
|
157
208
|
isOpen={isOpen5}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
209
|
+
onOpenChange={() => setIsOpenMap(new Array(7).fill(false))}
|
|
210
|
+
popperProps={{ position: 'right' }}
|
|
211
|
+
toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
|
|
212
|
+
<MenuToggle
|
|
213
|
+
ref={toggleRef}
|
|
214
|
+
isExpanded={isOpen5}
|
|
215
|
+
onClick={onToggle(5)}
|
|
216
|
+
variant="plain"
|
|
217
|
+
aria-label={`Basic example notification 5 kebab toggle`}
|
|
218
|
+
>
|
|
219
|
+
<EllipsisVIcon aria-hidden="true" />
|
|
220
|
+
</MenuToggle>
|
|
221
|
+
)}
|
|
222
|
+
>
|
|
223
|
+
<DropdownList>{dropdownItems}</DropdownList>
|
|
224
|
+
</Dropdown>
|
|
162
225
|
</NotificationDrawerListItemHeader>
|
|
163
226
|
<NotificationDrawerListItemBody timestamp="30 minutes ago">
|
|
164
227
|
This is a success notification description.
|
|
@@ -166,15 +229,25 @@ export const NotificationDrawerBasic: React.FunctionComponent = () => {
|
|
|
166
229
|
</NotificationDrawerListItem>
|
|
167
230
|
<NotificationDrawerListItem isRead>
|
|
168
231
|
<NotificationDrawerListItemHeader title="Read (default) notification title" srTitle="notification:">
|
|
169
|
-
<
|
|
170
|
-
position={DropdownPosition.right}
|
|
232
|
+
<Dropdown
|
|
171
233
|
onSelect={onSelect}
|
|
172
|
-
toggle={<KebabToggle onToggle={onToggle(6)} id="basic-toggle-id-6" />}
|
|
173
234
|
isOpen={isOpen6}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
235
|
+
onOpenChange={() => setIsOpenMap(new Array(7).fill(false))}
|
|
236
|
+
popperProps={{ position: 'right' }}
|
|
237
|
+
toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
|
|
238
|
+
<MenuToggle
|
|
239
|
+
ref={toggleRef}
|
|
240
|
+
isExpanded={isOpen6}
|
|
241
|
+
onClick={onToggle(6)}
|
|
242
|
+
variant="plain"
|
|
243
|
+
aria-label={`Basic example notification 6 kebab toggle`}
|
|
244
|
+
>
|
|
245
|
+
<EllipsisVIcon aria-hidden="true" />
|
|
246
|
+
</MenuToggle>
|
|
247
|
+
)}
|
|
248
|
+
>
|
|
249
|
+
<DropdownList>{dropdownItems}</DropdownList>
|
|
250
|
+
</Dropdown>
|
|
178
251
|
</NotificationDrawerListItemHeader>
|
|
179
252
|
<NotificationDrawerListItemBody timestamp="35 minutes ago">
|
|
180
253
|
This is a default notification description.
|