import React from 'react'; import { Dropdown, DropdownToggle, DropdownToggleCheckbox, DropdownItem, DropdownSeparator } from '@breakaway/preact-core/deprecated'; export const DropdownSplitButtonProgressCheckbox: React.FunctionComponent = () => { const [isOpen1, setIsOpen1] = React.useState(false); const [isOpen2, setIsOpen2] = React.useState(false); const [isChecked1, setIsChecked1] = React.useState(false); const [isChecked2, setIsChecked2] = React.useState(false); const [isTimedOut1, setIsTimedOut1] = React.useState(true); const [isTimedOut2, setIsTimedOut2] = React.useState(true); const onToggle1 = (_event: any, isOpen: boolean) => { setIsOpen1(isOpen); }; const onToggle2 = (_event: any, isOpen: boolean) => { setIsOpen2(isOpen); }; const showProgressIcon1 = () => { setIsTimedOut1(false); setTimeout(() => setIsTimedOut1(true), 3000); }; const showProgressIcon2 = () => { setIsTimedOut2(false); setTimeout(() => setIsTimedOut2(true), 3000); }; const onFocus1 = () => { const element = document.getElementById('toggle-split-button-progress'); element?.focus(); }; const onFocus2 = () => { const element = document.getElementById('toggle-split-button-progress-text'); element?.focus(); }; const onChange1 = (checked: boolean) => { setIsChecked1(checked); showProgressIcon1(); }; const onChange2 = (checked: boolean) => { setIsChecked2(checked); showProgressIcon2(); }; const onSelect1 = () => { setIsOpen1(false); onFocus1(); }; const onSelect2 = () => { setIsOpen2(false); onFocus2(); }; const dropdownItems = [ Link, Action , Disabled link , Disabled action , , Separated link, Separated action ]; return ( <> onChange1(checked)} isChecked={isChecked1} isInProgress={!isTimedOut1} id="split-button-progress-toggle-checkbox" key="split-progress-checkbox" aria-label="Select all" /> ]} onToggle={onToggle1} id="toggle-split-button-progress" /> } isOpen={isOpen1} dropdownItems={dropdownItems} />{' '} onChange2(checked)} isChecked={isChecked2} isInProgress={!isTimedOut2} id="split-button-progress-text-checkbox" key="split-progress-checkbox" aria-label="Select all" > 10 selected ]} onToggle={onToggle2} id="toggle-split-button-progress-text" /> } isOpen={isOpen2} dropdownItems={dropdownItems} /> ); };