import { eventMixin } from './scroll/event'
import { initMixin } from './scroll/init'
import { coreMixin } from './scroll/core'
import { snapMixin } from './scroll/snap'
import { wheelMixin } from './scroll/wheel'
import { scrollbarMixin } from './scroll/scrollbar'
import { pullDownMixin } from './scroll/pulldown'
import { pullUpMixin } from './scroll/pullup'
import { mouseWheelMixin } from './scroll/mouse-wheel'
import { zoomMixin } from './scroll/zoom'
import { infiniteMixin } from './scroll/inifinity'
import { warn } from './util/debug'
function BScroll(el, options) {
this.wrapper = typeof el === 'string' ? document.querySelector(el) : el
Iif (!this.wrapper) {
warn('Can not resolve the wrapper DOM.')
}
this.scroller = this.wrapper.children[0]
Iif (!this.scroller) {
warn('The wrapper need at least one child element to be scroller.')
}
// cache style for better performance
this.scrollerStyle = this.scroller.style
this._init(options)
}
initMixin(BScroll)
coreMixin(BScroll)
eventMixin(BScroll)
snapMixin(BScroll)
wheelMixin(BScroll)
scrollbarMixin(BScroll)
pullDownMixin(BScroll)
pullUpMixin(BScroll)
mouseWheelMixin(BScroll)
zoomMixin(BScroll)
infiniteMixin(BScroll)
BScroll.Version = '1.15.1'
export default BScroll
|