seti-ramesesv1
Version:
Reusable components and context for Next.js apps
13 lines (10 loc) • 1.02 kB
JavaScript
import { jsx, jsxs } from 'react/jsx-runtime';
import { clsx } from '../../../node_modules/clsx/dist/clsx.js';
import 'react';
import styles from './Button.module.css.js';
const Button = ({ variant = "contained", size = "md", startIcon, endIcon, loading = false, loadingText, fullWidth = false, className, children, disabled, ...props }) => {
const displayText = loading ? loadingText || children : children;
return (jsx("button", { className: clsx(styles.button, styles[variant], styles[size], loading && styles.loading, fullWidth && styles.fullWidth, className), disabled: loading || disabled, ...props, children: jsxs("div", { className: styles.content, children: [loading && jsx("span", { className: styles.spinner }), !loading && startIcon && jsx("span", { className: styles.icon, children: startIcon }), jsx("span", { children: displayText }), !loading && endIcon && jsx("span", { className: styles.icon, children: endIcon })] }) }));
};
export { Button as default };
//# sourceMappingURL=Button.js.map