import * as Icons from "./Icons"; import { useState, Children } from "react"; export function EditToggle({ children }: React.PropsWithChildren) { const [isEditing, setIsEditing] = useState(false); const editChildren = ( Children.toArray(children) as React.ReactElement[] ).filter((c) => c.type === Editing); const nonEditChildren = ( Children.toArray(children) as React.ReactElement[] ).filter((c) => c.type !== Editing); return (
{isEditing ? editChildren : nonEditChildren}
); } export const Editing = ({ children }: React.PropsWithChildren) => ( <>{children} ); export const NotEditing = ({ children }: React.PropsWithChildren) => ( <>{children} );