<wxs src="../common/utils.wxs" module="_" /> 
 | 
<wxs src="./rate.wxs" module="utils" /> 
 | 
  
 | 
<view class="{{classPrefix}} class" style="{{_._style([style, customStyle])}}"> 
 | 
  <view 
 | 
    class="{{classPrefix}}__wrapper {{prefix}}-class" 
 | 
    style="font-size:{{ utils.regSize(size) }}" 
 | 
    bind:touchstart="{{ !disabled ? 'onTouchStart' : '' }}" 
 | 
    bind:touchmove="{{ !disabled ? 'onTouchMove' : '' }}" 
 | 
    bind:tap="{{ !disabled ? 'onTap' : '' }}" 
 | 
    bind:touchend="{{ !disabled ? 'onTouchEnd' : ''}}" 
 | 
    bind:touchcancel="{{ !disabled ? 'onTouchEnd' : ''}}" 
 | 
    aria-role="slider" 
 | 
    aria-valuemax="{{count}}" 
 | 
    aria-valuemin="{{0}}" 
 | 
    aria-valuenow="{{value}}" 
 | 
    aria-valuetext="{{utils.getText(texts,value,defaultTexts)}}" 
 | 
  > 
 | 
    <t-icon 
 | 
      wx:for="{{ count }}" 
 | 
      wx:key="*this" 
 | 
      class="{{classPrefix }}__icon {{utils.getIconClass(classPrefix + '__icon', defaultValue, value, index, allowHalf, disabled, scaleIndex)}}" 
 | 
      style="margin-right:{{ count - index > 1 ? gap : 0 }}px; {{utils.getColor(color)}}" 
 | 
      t-class="{{prefix}}-class-icon" 
 | 
      name="{{utils.getIconName(defaultValue, value, index, icon)}}" 
 | 
      size="{{ size }}" 
 | 
      prefix="{{iconPrefix}}" 
 | 
    /> 
 | 
  </view> 
 | 
  <text 
 | 
    wx:if="{{showText}}" 
 | 
    class="{{_.cls(classPrefix + '__text', [['active', value > 0]])}} {{prefix}}-class-text" 
 | 
    aria-hidden="{{true}}" 
 | 
    >{{utils.getText(texts,value,defaultTexts)}}</text 
 | 
  > 
 | 
  <text 
 | 
    wx:if="{{isVisibleToScreenReader}}" 
 | 
    class="{{_.cls(classPrefix + '__text', [['active', value > 0], ['sr-only', isVisibleToScreenReader]])}} {{prefix}}-class-text" 
 | 
    aria-role="alert" 
 | 
    aria-live="assertive" 
 | 
    >{{value+'星'}} {{utils.getText(texts,value,defaultTexts)}}</text 
 | 
  > 
 | 
  <view 
 | 
    wx:if="{{tipsVisible}}" 
 | 
    class="{{_.cls(classPrefix + '__tips', [placement])}}" 
 | 
    style="left: {{tipsLeft}}px" 
 | 
    aria-hidden="{{true}}" 
 | 
  > 
 | 
    <block wx:if="{{actionType == 'tap'}}"> 
 | 
      <view 
 | 
        wx:if="{{allowHalf}}" 
 | 
        class="{{_.cls(classPrefix + '__tips-item', [['active', utils.ceil(value) - 0.5 == value]])}}" 
 | 
        bind:tap="onSelect" 
 | 
        data-value="{{utils.ceil(value) - 0.5}}" 
 | 
      > 
 | 
        <t-icon 
 | 
          class="{{classPrefix }}__icon {{classPrefix }}__icon--selected-half" 
 | 
          name="{{utils.getIconName(defaultValue, value, index, icon)}}" 
 | 
          size="{{ size }}" 
 | 
          style="{{utils.getColor(color)}}" 
 | 
        /> 
 | 
        <view class="{{classPrefix}}__tips-text">{{utils.ceil(value) - 0.5}}</view> 
 | 
      </view> 
 | 
      <view 
 | 
        class="{{_.cls(classPrefix + '__tips-item', [['active', utils.ceil(value) == value]])}}" 
 | 
        bind:tap="onSelect" 
 | 
        data-value="{{utils.ceil(value)}}" 
 | 
      > 
 | 
        <t-icon 
 | 
          class="{{_.cls(classPrefix + '__icon', ['selected'])}}" 
 | 
          name="{{utils.getIconName(defaultValue, 0, 0, icon)}}" 
 | 
          size="{{ size }}" 
 | 
          style="{{utils.getColor(color)}}" 
 | 
        /> 
 | 
        <view class="{{classPrefix}}__tips-text">{{utils.ceil(value)}}</view> 
 | 
      </view> 
 | 
    </block> 
 | 
    <view 
 | 
      wx:else 
 | 
      class="{{_.cls(classPrefix + '__tips-item', [['active', utils.ceil(value) == value && actionType == 'tap']])}}" 
 | 
      bind:tap="onSelect" 
 | 
      data-value="{{utils.ceil(value)}}" 
 | 
    > 
 | 
      <t-icon 
 | 
        class="{{_.cls(classPrefix + '__icon', [['selected', utils.ceil(value) == value], ['selected-half', utils.ceil(value) != value]]) }}" 
 | 
        name="{{utils.getIconName(defaultValue, 0, 0, icon)}}" 
 | 
        size="{{ size }}" 
 | 
        style="{{utils.getColor(color)}}; font-size: {{size}};" 
 | 
      /> 
 | 
      <view class="{{classPrefix}}__tips-text">{{value}}</view> 
 | 
    </view> 
 | 
  </view> 
 | 
</view> 
 |