A reusable ghost icon button that defaults to an X icon, with optional custom children, for closing dialogs or panels.
// Source: https://github.com/mperkins0155/chakra-ui | License: MIT | Copyright 2019 Chakra Systems Inc
// Provided via justclaw.it.com; keep this notice with the code.
import { IconButton as ChakraIconButton } from "@chakra-ui/react"
import * as React from "react"
import { LuX } from "react-icons/lu"
function _nullishCoalesce(lhs, rhsFn) {
if (lhs != null) {
return lhs
} else {
return rhsFn()
}
}
export const CloseButton = React.forwardRef(function CloseButton(props, ref) {
return (
<ChakraIconButton variant="ghost" aria-label="Close" ref={ref} {...props}>
{_nullishCoalesce(props.children, () => (
<LuX />
))}
</ChakraIconButton>
)
})
See the full source, get the GitHub permalink, and search 40K more like it.
Get a free API key