import React from 'react'; import { Button, EmptyState, EmptyStateBody, EmptyStateHeader, EmptyStateFooter, NotificationDrawer, NotificationDrawerBody, NotificationDrawerHeader, NotificationDrawerGroup, NotificationDrawerGroupList, NotificationDrawerList, NotificationDrawerListItem, NotificationDrawerListItemBody, NotificationDrawerListItemHeader, EmptyStateVariant, EmptyStateActions, EmptyStateIcon, Dropdown, DropdownList, DropdownItem, MenuToggle, MenuToggleElement } from '@breakaway/preact-core'; import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon'; import SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon'; export const NotificationDrawerGroups: React.FunctionComponent = () => { const [firstGroupExpanded, setFirstGroupExpanded] = React.useState(false); const [secondGroupExpanded, setSecondGroupExpanded] = React.useState(true); const [thirdGroupExpanded, setThirdGroupExpanded] = React.useState(false); const [isOpenMap, setIsOpenMap] = React.useState({}); const onToggle = (id: string) => { setIsOpenMap((prevState) => ({ ...prevState, [id]: !prevState[id] })); }; const onSelect = () => { setIsOpenMap({}); }; const toggleFirstDrawer = (_event: any, value: boolean) => { setFirstGroupExpanded(value); setSecondGroupExpanded(false); setThirdGroupExpanded(false); }; const toggleSecondDrawer = (_event: any, value: boolean) => { setSecondGroupExpanded(value); setFirstGroupExpanded(false); setThirdGroupExpanded(false); }; const toggleThirdDrawer = (_event: any, value: boolean) => { setThirdGroupExpanded(value); setSecondGroupExpanded(false); setFirstGroupExpanded(false); }; const dropdownItems = ( <> Action ev.preventDefault()} > Link Disabled Action Disabled Link ); return ( setIsOpenMap({})} popperProps={{ position: 'right' }} toggle={(toggleRef: React.Ref) => ( onToggle('groups-kebab-toggle-1')} variant="plain" aria-label={`Groups example header kebab toggle`} > )} > {dropdownItems} setIsOpenMap({})} popperProps={{ position: 'right' }} toggle={(toggleRef: React.Ref) => ( onToggle('groups-kebab-toggle-2')} variant="plain" aria-label={`Groups example group 1 notification 1 kebab toggle`} > )} > {dropdownItems} This is an info notification description. setIsOpenMap({})} popperProps={{ position: 'right' }} toggle={(toggleRef: React.Ref) => ( onToggle('groups-kebab-toggle-3')} variant="plain" aria-label={`Groups example group 1 notification 2 kebab toggle`} > )} > {dropdownItems} This is a danger notification description. This is a long description to show how the title will wrap if it is long and wraps to multiple lines. setIsOpenMap({})} popperProps={{ position: 'right' }} toggle={(toggleRef: React.Ref) => ( onToggle('groups-kebab-toggle-4')} variant="plain" aria-label={`Groups example group 1 notification 3 kebab toggle`} > )} > {dropdownItems} This is a warning notification description. setIsOpenMap({})} popperProps={{ position: 'right' }} toggle={(toggleRef: React.Ref) => ( onToggle('groups-kebab-toggle-5')} variant="plain" aria-label={`Groups example group 1 notification 4 kebab toggle`} > )} > {dropdownItems} This is a success notification description. setIsOpenMap({})} popperProps={{ position: 'right' }} toggle={(toggleRef: React.Ref) => ( onToggle('groups-kebab-toggle-6')} variant="plain" aria-label={`Groups example group 2 notification 1 kebab toggle`} > )} > {dropdownItems} This is an info notification description. setIsOpenMap({})} popperProps={{ position: 'right' }} toggle={(toggleRef: React.Ref) => ( onToggle('groups-kebab-toggle-7')} variant="plain" aria-label={`Groups example group 2 notification 2 kebab toggle`} > )} > {dropdownItems} This is a danger notification description. This is a long description to show how the title will wrap if it is long and wraps to multiple lines. setIsOpenMap({})} popperProps={{ position: 'right' }} toggle={(toggleRef: React.Ref) => ( onToggle('groups-kebab-toggle-8')} variant="plain" aria-label={`Groups example group 2 notification 3 kebab toggle`} > )} > {dropdownItems} This is a warning notification description. setIsOpenMap({})} popperProps={{ position: 'right' }} toggle={(toggleRef: React.Ref) => ( onToggle('groups-kebab-toggle-9')} variant="plain" aria-label={`Groups example group 2 notification 4 kebab toggle`} > )} > {dropdownItems} This is a success notification description. } /> There are currently no critical alerts firing. There may be firing alerts of other severities or silenced critical alerts however. ); };