import * as React from 'react'; import { ClickOutside } from './ClickOutside'; import { Card } from '..'; import { PrimaryButton } from '..'; interface IClickOutsidePreviewState { outsideClicks: string[], } export class ClickOutsidePreview extends React.Component<{}, IClickOutsidePreviewState> { public state: IClickOutsidePreviewState = { outsideClicks: [], }; public onTrigger = (event: Event, isClick: boolean) => { const el = event.target as Element; const message = `${isClick ? 'clicked on' : 'escape'} ${el.id || el.className || 'An outside element'}`; this.setState((prevState => ({ outsideClicks: prevState.outsideClicks.concat([message]), }))); }; public render() { const { outsideClicks } = this.state; return ( <>

Outside clicks

I am outside ); } }