<wxs src="../common/utils.wxs" module="_" />

<scroll-view
  style="{{_._style([style, customStyle])}}"
  class="{{classPrefix}} {{prefix}}-class"
  scroll-top="{{scrollTop}}"
  bind:touchstart="onTouchStart"
  bind:touchmove="onTouchMove"
  bind:touchend="onTouchEnd"
  bind:scroll="onScroll"
  bindscrolltoupper="onScrollToTop"
  bindscrolltolower="onScrollToBottom"
  scroll-y
  enable-back-to-top
  enhanced
  scroll-with-animation
  bounces="{{false}}"
>
  <view
    class="{{classPrefix}}__track {{classPrefix + '__track--' + (loosing ? 'loosing' : '')}}"
    style="{{barHeight > 0 ? 'transform: translate3d(0, ' + barHeight + 'rpx, 0);' : ''}}"
  >
    <view class="{{classPrefix}}__tips" style="height: {{computedLoadingBarHeight}}rpx">
      <t-loading
        wx:if="{{refreshStatus === 2}}"
        delay="{{loadingProps.delay || 0}}"
        duration="{{loadingProps.duration || 800}}"
        indicator="{{loadingProps.indicator || true}}"
        layout="{{loadingProps.layout || 'horizontal'}}"
        loading="{{loadingProps.loading || true}}"
        pause="{{loadingProps.pause || false}}"
        progress="{{loadingProps.progress || 0}}"
        reverse="{{loadingProps.reverse || false}}"
        size="{{loadingProps.size || '50rpx'}}"
        text="{{loadingProps.text || loadingTexts[refreshStatus]}}"
        theme="{{loadingProps.theme || 'circular'}}"
        t-class-indicator="{{prefix}}-class-indicator"
      />
      <view wx:elif="{{refreshStatus >= 0}}" class="{{classPrefix}}__text {{prefix}}-class-text"
        >{{loadingTexts[refreshStatus]}}</view
      >
    </view>
    <slot />
  </view>
</scroll-view>
