@ray-js/components
Version:
Ray basic components
41 lines • 1.37 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
const _excluded = ["style", "id", "className", "disabled", "loading", "onClick", "hoverClassName", "size", "formType"];
import * as React from 'react';
import clsx from 'clsx';
import { inlineStyle } from '@ray-js/framework-shared';
import { Button as RemaxButton } from '@ray-core/wechat';
import { defaultButtonProps } from './props';
import styles from './index.module.less';
const Button = props => {
const {
style,
id,
className,
disabled,
loading,
onClick,
hoverClassName,
size = 'default',
formType
} = props,
restProps = _objectWithoutProperties(props, _excluded);
return /*#__PURE__*/React.createElement(RemaxButton, _extends({
id: id,
style: inlineStyle(style),
className: clsx('ray-button', styles.button, className),
hoverClassName: clsx(styles['button-hover'], hoverClassName),
onClick: event => {
if (disabled) return;
if (loading) return;
onClick === null || onClick === void 0 || onClick(event);
},
disabled: disabled,
formType: formType,
loading: loading,
size: size
}, restProps));
};
Button.defaultProps = defaultButtonProps;
Button.displayName = 'Button';
export default Button;