* initial implementation of search modal * added hit and search suggestions * added support for multiple indices * updated sample env * added close when click outside dropdown * test for mobile * added mobile design * added shortcut * dark mode fixes * added search to docs * added plugins filter * added React import * moved filters to configurations * handled error on page load * change suggestion text * removed hits limit * handle select all * open link in current tab * change highlight colors * added support for shortcuts + auto focus * change header and footer * redesigned search ui
36 lines
867 B
TypeScript
36 lines
867 B
TypeScript
import clsx from "clsx"
|
|
|
|
export type ButtonProps = {
|
|
isSelected?: boolean
|
|
disabled?: boolean
|
|
variant?: "primary" | "secondary" | "clear"
|
|
darkVariant?: "primary" | "secondary" | "clear"
|
|
} & React.HTMLAttributes<HTMLButtonElement>
|
|
|
|
const Button = ({
|
|
className,
|
|
children,
|
|
variant = "primary",
|
|
darkVariant,
|
|
...props
|
|
}: ButtonProps) => {
|
|
return (
|
|
<button
|
|
className={clsx(
|
|
variant === "primary" && "btn-primary",
|
|
variant === "secondary" && "btn-secondary",
|
|
variant === "clear" && "btn-clear",
|
|
darkVariant && darkVariant === "primary" && "dark:btn-primary",
|
|
darkVariant && darkVariant === "secondary" && "dark:btn-secondary",
|
|
darkVariant && darkVariant === "clear" && "dark:btn-clear",
|
|
className
|
|
)}
|
|
{...props}
|
|
>
|
|
{children}
|
|
</button>
|
|
)
|
|
}
|
|
|
|
export default Button
|