import{ ReactElement }from"react";import{ Button }from"@react-md/button";import{ Tooltipped }from"@react-md/tooltip";import{ Typography }from"@react-md/typography";import CodeBlock from"./CodeBlock";functionBrokenButton(): ReactElement {return<Button>No go</Button>;}exportdefaultfunctionDemo(): ReactElement {return(<><Typographytype="headline-6">Broken Tooltip</Typography><Tooltippedid="broken-tooltip"tooltip="I will never appear :("><BrokenButton/></Tooltipped><Tooltippedid="keyboard-broken-tooltip"tooltip="I am inaccessible to keyboard users :("><Typography>
This text will have a tooltip, but it will be inaccessible for
keyboard users.
</Typography></Tooltipped><Typographytype="headline-6">Children Renderer</Typography><Tooltippedid="toolip-children-renderer"tooltip="This is a tooltip!"defaultPosition="above">{({ tooltip,...props })=>{// add "air quotes" to typedconst typedProps = Object.keys(props).reduce((obj, propName)=>({...obj,[propName]: propName.startsWith("on")?"function":"string",}),{
tooltip:"ReactNode",});return(<><Button{...props}>Button{tooltip}</Button><CodeBlocklanguage="json">{JSON.stringify(typedProps,null,2)}</CodeBlock></>);}}</Tooltipped></>);}