import {JSX, mergeProps, splitProps, useContext} from "solid-js"; import CloseButton, {CloseButtonVariant} from "./CloseButton"; import ModalContext from "./ModalContext"; export interface AbstractModalHeaderProps extends JSX.HTMLAttributes { closeLabel?: string; closeVariant?: CloseButtonVariant; closeButton?: boolean; onHide?: () => void; } const defaultProps = { closeLabel: "Close", closeButton: false, }; const AbstractModalHeader = (p: AbstractModalHeaderProps) => { const [local, props] = splitProps(mergeProps(defaultProps, p), [ "closeLabel", "closeVariant", "closeButton", "onHide", "children", ]); const context = useContext(ModalContext); const handleClick = () => { context?.onHide(); local.onHide?.(); }; return (
{local.children} {local.closeButton && ( )}
); }; export default AbstractModalHeader;