import { mergeProps, splitProps } from "solid-js";
import classNames from "./classnames";
import { useButtonProps } from "solid-bootstrap-core";
import { useBootstrapPrefix } from "./ThemeProvider";
import { Dynamic } from "solid-js/web";
const defaultProps = {
    variant: "primary",
    active: false,
    disabled: false,
};
const Button = (p) => {
    const [local, props] = splitProps(mergeProps(defaultProps, p), [
        "as",
        "bsPrefix",
        "variant",
        "size",
        "active",
        "className",
    ]);
    const prefix = useBootstrapPrefix(local.bsPrefix, "btn");
    const [buttonProps, { tagName }] = useButtonProps({
        tagName: local.as,
        ...props,
    });
    return (<Dynamic component={tagName} {...buttonProps} {...props} className={classNames(local.className, prefix, local.active && "active", local.variant && `${prefix}-${local.variant}`, local.size && `${prefix}-${local.size}`, props.href && props.disabled && "disabled")}>
      {props.children}
    </Dynamic>);
};
export default Button;
