Files
web/packages/design-system/lib/components/IconButton/IconButton.tsx
Rasmus Langvad d0546926a9 Merged in fix/3697-prettier-configs (pull request #3396)
fix(SW-3691): Setup one prettier config for whole repo

* Setup prettierrc in root and remove other configs


Approved-by: Joakim Jäderberg
Approved-by: Linus Flood
2026-01-07 12:45:50 +00:00

46 lines
818 B
TypeScript

import { Button as ButtonRAC } from "react-aria-components"
import { MaterialIcon } from "../Icons/MaterialIcon"
import { IconButtonProps } from "./types"
import { variants } from "./variants"
export function IconButton({
variant,
emphasis,
size,
iconName,
className,
...props
}: IconButtonProps) {
const classNames = variants({
variant,
emphasis,
size,
className,
})
return (
<ButtonRAC {...props} className={classNames}>
<MaterialIcon
icon={iconName}
size={getIconSize(size)}
color="CurrentColor"
/>
</ButtonRAC>
)
}
function getIconSize(size: IconButtonProps["size"]) {
switch (size) {
case "sm":
return 16
case "md":
return 20
case "xl":
return 28
case "lg":
default:
return 24
}
}