seti-ramesesv1
Version:
Reusable components and context for Next.js apps
14 lines (11 loc) • 762 B
JavaScript
import { jsxs } from 'react/jsx-runtime';
import { clsx } from '../../node_modules/clsx/dist/clsx.js';
import { forwardRef } from 'react';
import styles from '../../styles/IconButton.module.css.js';
// ✅ Use generic for forwardRef for proper type inference
const IconButton = forwardRef(({ size = "medium", color = "default", variant = "text", disabled = false, icon, children, className, ...rest }, ref) => {
return (jsxs("button", { ref: ref, type: "button", className: clsx(styles.base, styles[size], styles[color], styles[variant], disabled && styles.disabled, className), disabled: disabled, ...rest, children: [icon, children] }));
});
IconButton.displayName = "IconButton";
export { IconButton as default };
//# sourceMappingURL=IconButton.js.map