You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
682 B
25 lines
682 B
2 years ago
|
import { IconDefinition } from "@fortawesome/fontawesome-common-types";
|
||
|
import {
|
||
|
FontAwesomeIcon,
|
||
|
FontAwesomeIconProps,
|
||
|
} from "@fortawesome/react-fontawesome";
|
||
|
import { ActionIcon, ActionIconProps } from "@mantine/core";
|
||
|
import { forwardRef } from "react";
|
||
|
|
||
|
export type ActionProps = ActionIconProps<"button"> & {
|
||
|
icon: IconDefinition;
|
||
|
iconProps?: Omit<FontAwesomeIconProps, "icon">;
|
||
|
};
|
||
|
|
||
|
const Action = forwardRef<HTMLButtonElement, ActionProps>(
|
||
|
({ icon, iconProps, ...props }, ref) => {
|
||
|
return (
|
||
|
<ActionIcon {...props} ref={ref}>
|
||
|
<FontAwesomeIcon icon={icon} {...iconProps}></FontAwesomeIcon>
|
||
|
</ActionIcon>
|
||
|
);
|
||
|
}
|
||
|
);
|
||
|
|
||
|
export default Action;
|