diff --git a/packages/pl-fe/src/components/dropdown-menu/dropdown-menu-item.tsx b/packages/pl-fe/src/components/dropdown-menu/dropdown-menu-item.tsx index 7ad95093d..7cfee1204 100644 --- a/packages/pl-fe/src/components/dropdown-menu/dropdown-menu-item.tsx +++ b/packages/pl-fe/src/components/dropdown-menu/dropdown-menu-item.tsx @@ -21,7 +21,7 @@ interface MenuItem { target?: React.HTMLAttributeAnchorTarget; text: string; to?: string; - type?: 'toggle'; + type?: 'toggle' | 'radio'; items?: Array>; } @@ -120,7 +120,7 @@ const DropdownMenuItem = ({ index, item, onClick, autoFocus, onSetTab }: IDropdo > {item.icon && } -
+
{item.meta ? ( <>
{item.text}
@@ -135,9 +135,9 @@ const DropdownMenuItem = ({ index, item, onClick, autoFocus, onSetTab }: IDropdo ) : null} - {item.type === 'toggle' && ( + {(item.type === 'toggle' || item.type === 'radio') && (
- +
)} diff --git a/packages/pl-fe/src/components/ui/toggle.tsx b/packages/pl-fe/src/components/ui/toggle.tsx index 445364328..813b5e4da 100644 --- a/packages/pl-fe/src/components/ui/toggle.tsx +++ b/packages/pl-fe/src/components/ui/toggle.tsx @@ -3,10 +3,11 @@ import React, { useRef } from 'react'; interface IToggle extends Pick, 'id' | 'name' | 'checked' | 'onChange' | 'required' | 'disabled'> { size?: 'sm' | 'md'; + radio?: boolean; } /** A glorified checkbox. */ -const Toggle: React.FC = ({ id, size = 'md', name, checked = false, onChange, required, disabled }) => { +const Toggle: React.FC = ({ id, size = 'md', name, checked = false, onChange, required, disabled, radio }) => { const input = useRef(null); const handleClick: React.MouseEventHandler = () => { @@ -16,7 +17,14 @@ const Toggle: React.FC = ({ id, size = 'md', name, checked = false, onC return (