<mui-button-base
  class="_mui-base-in-button"
  appParameter="{{appParameter}}"
  component="button"
  centerRipple="{{(shape === 'circle' && variant === 'text')}}"
  disabled="{{disabled || loading}}"
  disableRipple="{{disableRipple}}"
  hoverClass="{{(disabled || loading) ? '' : (hoverClass ? hoverClass : 'mui-button-hover')}}"
  hoverStopPropagation="{{hoverStopPropagation}}"
  hoverStartTime="{{hoverStartTime}}"
  hoverStayTime="{{hoverStayTime}}"
  mClass="mui-button disable-elevation-{{disableElevation}} mui-shape-{{shape}} {{muiClasses}}"
  mStyle="{{fullWidth ? 'width: 100%;' : ''}}{{_groupStyle}}{{mStyle}}"
  formType="{{formType}}"
  lang="{{lang}}"
  openType="{{openType}}"
  rippleColor="{{rippleColor}}"
  sendMessageTitle="{{sendMessageTitle}}"
  sendMessagePath="{{sendMessagePath}}"
  sendMessageImg="{{sendMessageImg}}"
  sessionFrom="{{sessionFrom}}"
  showMessageCard="{{showMessageCard}}"
>
  <slot />
  <mui-icon
    wx:if="{{loading || icon}}"
    color="{{iconColor || icon.color}}"
    name="{{loading ? 'loading' : (icon.name || icon)}}"
    mClass="icon-in-button icon-position-{{iconPosition || icon.position}} {{loading ? 'mui-button-loading' : ''}} {{icon.class || ''}}"
    mStyle="{{icon.style || ''}}"
    size="{{iconSize || icon.size}}"
    spin="{{loading || iconSpin || icon.spin}}"
  />
  <slot wx:else name="icon" />
</mui-button-base>