UNPKG

@kiwicom/orbit-components

Version:

Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.

26 lines 776 B
import React from "react"; import styled from "styled-components"; const InnerStyled = styled.div.withConfig({ displayName: "ClickOutside__InnerStyled", componentId: "sc-20mrpy-0" })(["width:100%;"]); export default function ClickOutside({ children, onClickOutside }) { const ref = React.useRef(null); React.useEffect(() => { const handleClickOutside = ev => { if (onClickOutside && ref.current && !ref.current.contains(ev.currentTarget)) { onClickOutside(ev); } }; document.addEventListener("mousedown", handleClickOutside); return () => { document.removeEventListener("mousedown", handleClickOutside); }; }, [onClickOutside]); return /*#__PURE__*/React.createElement(InnerStyled, { ref: ref }, children); }