index.tsx 856 B

1234567891011121314151617181920212223242526
  1. import './index.scss'
  2. import { Text as TaroText } from '@tarojs/components';
  3. import classNames from 'classnames';
  4. import { TextProps } from '@tarojs/components/types/Text';
  5. export type ILabelType = "primary" | "secondary" | "default" | "danger" | "white" | "success";
  6. interface ILabelProps extends TextProps {
  7. type?: ILabelType,
  8. size?: "default" | "sm" | "lg";
  9. bold?: boolean
  10. }
  11. const Label: React.FC<ILabelProps> = (props) => {
  12. const { type = "default", size = "default", bold, ...textProps } = props;
  13. const _classNames = classNames("c-text", {
  14. ["c-text-" + type]: type !== "default",
  15. ["c-text-" + size]: size !== "default",
  16. ["c-text-bold"]: bold,
  17. });
  18. return (
  19. <TaroText {...textProps} className={`${_classNames} ${props.className}`} >{props.children}</TaroText>
  20. )
  21. }
  22. export default Label;