import { mergeProps, splitProps, useContext } from "solid-js";
import classNames from "./classnames";
import FormContext from "./FormContext";
import { useBootstrapPrefix } from "./ThemeProvider";
import { Dynamic } from "solid-js/web";
const defaultProps = {
    as: "input",
    type: "checkbox",
    isValid: false,
    isInvalid: false,
};
const FormCheckInput = (p) => {
    const [local, props] = splitProps(mergeProps(defaultProps, p), [
        "as",
        "id",
        "bsPrefix",
        "className",
        "type",
        "isValid",
        "isInvalid",
    ]);
    const formContext = useContext(FormContext);
    const bsPrefix = useBootstrapPrefix(local.bsPrefix, "form-check-input");
    return (<Dynamic component={local.as} {...props} type={local.type} id={local.id || formContext.controlId} className={classNames(local.className, bsPrefix, local.isValid && "is-valid", local.isInvalid && "is-invalid")}>
      {props.children}
    </Dynamic>);
};
export default FormCheckInput;
