Grabbed dndbeyond's source code

```
~/go/bin/sourcemapper -output ddb -jsurl https://media.dndbeyond.com/character-app/static/js/main.90aa78c5.js
```
This commit is contained in:
2025-05-28 11:50:03 -07:00
commit 8df9031d27
3592 changed files with 319051 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
"use client";
import clsx from "clsx";
import type {
AllHTMLAttributes,
ButtonHTMLAttributes,
FC,
PropsWithChildren,
} from "react";
import styles from "./styles/Button.module.css";
import sizeStyles from "./styles/ButtonSizes.module.css";
import variantStyles from "./styles/ButtonVariants.module.css";
export interface ButtonProps
extends PropsWithChildren,
Omit<
AllHTMLAttributes<HTMLAnchorElement | HTMLButtonElement | HTMLDivElement>,
"size" | "type"
>,
Pick<ButtonHTMLAttributes<HTMLButtonElement>, "type"> {
className?: string;
color?: "primary" | "secondary" | "success" | "info" | "warning" | "error";
variant?: "solid" | "outline" | "text";
size?: "x-small" | "small" | "medium" | "large" | "x-large";
isDiv?: boolean;
}
export const Button: FC<ButtonProps> = ({
className,
color = "primary",
variant = "solid",
size = "medium",
isDiv,
...props
}) => {
const Element = props.href ? "a" : isDiv ? "div" : "button";
return (
<Element
className={clsx([
styles.button,
color && variantStyles[color],
variant && variantStyles[variant],
size && sizeStyles[size],
className,
])}
aria-disabled={props.disabled}
{...props}
/>
);
};