1 |
- {"version":3,"sources":["jquery-asHoverScroll.es.js"],"names":["global","factory","define","amd","exports","require","mod","jQuery","jqueryAsHoverScrollEs","this","_jquery","_classCallCheck","instance","Constructor","TypeError","_jquery2","obj","__esModule","default","_interopRequireDefault","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","prototype","DEFAULTS","namespace","list","item","exception","direction","fixed","mouseMove","touchScroll","pointerScroll","useCssTransforms","useCssTransforms3d","boundary","throttle","onEnter","$","siblings","removeClass","addClass","onLeave","support","events","transition","end","WebkitTransition","MozTransition","OTransition","animation","WebkitAnimation","MozAnimation","OAnimation","prefixes","style","get","tests","csstransforms","Boolean","test","csstransforms3d","csstransitions","cssanimations","property","prefixed","result","upper","charAt","toUpperCase","slice","undefined","each","prefix","toLowerCase","String","transform","transform3d","window","DocumentTouch","document","touch","PointerEvent","MSPointerEvent","pointer","convertMatrixToArray","value","substr","replace","split","prefixPointerEvent","pointerEvent","instanceId","asHoverScroll","element","options","$element","extend","data","$list","classes","disabled","attributes","page","axis","position","offset","client","clientLength","_states","_scroll","time","trigger","init","initPosition","updateLength","bindEvents","_this","that","enterEvents","leaveEvents","on","eventName","proxy","onMove","push","onScrollStart","onScrollEnd","join","is","call","eventNameWithId","update","off","event","_this2","which","closest","Date","getTime","start","getPosition","moved","callback","enter","one","onScrollMove","preventDefault","updated","distance","Math","abs","x","y","postion","canScroll","containerLength","listLength","updatePosition","leave","getEvent","pageX","pageY","clientX","clientY","originalEvent","touches","changedTouches","first","second","isMatchScroll","multiplier","getContainerLength","getListhLength","makePositionStyle","css","parseFloat","toString","temp","eventType","_len","arguments","params","Array","_key","concat","NAMESPACE$1","onFunction","word","substring","apply","state","func","wait","_this3"],"mappings":"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","file":"jquery-asHoverScroll.min.js","sourcesContent":["/**\n* jQuery asHoverScroll v0.3.7\n* https://github.com/amazingSurge/jquery-asHoverScroll\n*\n* Copyright (c) amazingSurge\n* Released under the LGPL-3.0 license\n*/\nimport $$1 from 'jquery';\n\nvar DEFAULTS = {\n namespace: 'asHoverScroll',\n\n list: '> ul',\n item: '> li',\n exception: null,\n\n direction: 'vertical',\n fixed: false,\n\n mouseMove: true,\n touchScroll: true,\n pointerScroll: true,\n\n useCssTransforms: true,\n useCssTransforms3d: true,\n boundary: 10,\n\n throttle: 20,\n\n // callbacks\n onEnter() {\n $(this).siblings().removeClass('is-active');\n $(this).addClass('is-active');\n },\n onLeave() {\n $(this).removeClass('is-active');\n }\n};\n\n/**\n * Css features detect\n **/\nlet support = {};\n\n((support) => {\n /**\n * Borrowed from Owl carousel\n **/\n 'use strict';\n\n let events = {\n transition: {\n end: {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd',\n transition: 'transitionend'\n }\n },\n animation: {\n end: {\n WebkitAnimation: 'webkitAnimationEnd',\n MozAnimation: 'animationend',\n OAnimation: 'oAnimationEnd',\n animation: 'animationend'\n }\n }\n },\n prefixes = ['webkit', 'Moz', 'O', 'ms'],\n style = $$1('<support>').get(0).style,\n tests = {\n csstransforms() {\n return Boolean(test('transform'));\n },\n csstransforms3d() {\n return Boolean(test('perspective'));\n },\n csstransitions() {\n return Boolean(test('transition'));\n },\n cssanimations() {\n return Boolean(test('animation'));\n }\n };\n\n let test = (property, prefixed) => {\n let result = false,\n upper = property.charAt(0).toUpperCase() + property.slice(1);\n\n if (style[property] !== undefined) {\n result = property;\n }\n if (!result) {\n $$1.each(prefixes, (i, prefix) => {\n if (style[prefix + upper] !== undefined) {\n result = `-${prefix.toLowerCase()}-${upper}`;\n return false;\n }\n return true;\n });\n }\n\n if (prefixed) {\n return result;\n }\n if (result) {\n return true;\n }\n return false;\n };\n\n let prefixed = (property) => {\n return test(property, true);\n };\n\n if (tests.csstransitions()) {\n /*eslint no-new-wrappers: \"off\"*/\n support.transition = new String(prefixed('transition'));\n support.transition.end = events.transition.end[support.transition];\n }\n\n if (tests.cssanimations()) {\n /*eslint no-new-wrappers: \"off\"*/\n support.animation = new String(prefixed('animation'));\n support.animation.end = events.animation.end[support.animation];\n }\n\n if (tests.csstransforms()) {\n /*eslint no-new-wrappers: \"off\"*/\n support.transform = new String(prefixed('transform'));\n support.transform3d = tests.csstransforms3d();\n }\n\n if (('ontouchstart' in window) || window.DocumentTouch && document instanceof window.DocumentTouch) {\n support.touch = true;\n } else {\n support.touch = false;\n }\n\n if (window.PointerEvent || window.MSPointerEvent) {\n support.pointer = true;\n } else {\n support.pointer = false;\n }\n\n support.convertMatrixToArray = function(value) {\n if (value && (value.substr(0, 6) === \"matrix\")) {\n return value.replace(/^.*\\((.*)\\)$/g, \"$1\").replace(/px/g, '').split(/, +/);\n }\n return false;\n };\n\n support.prefixPointerEvent = (pointerEvent) => {\n let charStart = 9,\n subStart = 10;\n\n return window.MSPointerEvent ?\n `MSPointer${pointerEvent.charAt(charStart).toUpperCase()}${pointerEvent.substr(subStart)}` :\n pointerEvent;\n };\n})(support);\n\nconst NAMESPACE$1 = 'asHoverScroll';\nlet instanceId = 0;\n\n/**\n * Plugin constructor\n **/\nclass asHoverScroll {\n constructor(element, options) {\n this.element = element;\n this.$element = $$1(element);\n\n this.options = $$1.extend({}, DEFAULTS, options, this.$element.data());\n this.$list = $$1(this.options.list, this.$element);\n\n this.classes = {\n disabled: `${this.options.namespace}-disabled`\n };\n\n if (this.options.direction === 'vertical') {\n this.attributes = {\n page: 'pageY',\n axis: 'Y',\n position: 'top',\n length: 'height',\n offset: 'offsetTop',\n client: 'clientY',\n clientLength: 'clientHeight'\n };\n } else if (this.options.direction === 'horizontal') {\n this.attributes = {\n page: 'pageX',\n axis: 'X',\n position: 'left',\n length: 'width',\n offset: 'offsetLeft',\n client: 'clientX',\n clientLength: 'clientWidth'\n };\n }\n\n // Current state information.\n this._states = {};\n\n // Current state information for the touch operation.\n this._scroll = {\n time: null,\n pointer: null\n };\n\n this.instanceId = (++instanceId);\n\n this.trigger('init');\n this.init();\n }\n\n init() {\n this.initPosition();\n\n // init length data\n this.updateLength();\n\n this.bindEvents();\n }\n\n bindEvents() {\n const that = this;\n const enterEvents = ['enter'];\n const leaveEvents = [];\n\n if (this.options.mouseMove) {\n this.$element.on(this.eventName('mousemove'), $$1.proxy(this.onMove, this));\n enterEvents.push('mouseenter');\n leaveEvents.push('mouseleave');\n }\n\n if (this.options.touchScroll && support.touch) {\n this.$element.on(this.eventName('touchstart'), $$1.proxy(this.onScrollStart, this));\n this.$element.on(this.eventName('touchcancel'), $$1.proxy(this.onScrollEnd, this));\n }\n\n if (this.options.pointerScroll && support.pointer) {\n this.$element.on(this.eventName(support.prefixPointerEvent('pointerdown')), $$1.proxy(this.onScrollStart, this));\n\n // fixed by FreMaNgo\n // this.$element.on(this.eventName(support.prefixPointerEvent('pointerdown')),(e) => {\n // let isUp = false;\n // this.$element.one('pointerup', () => {\n // isUp = true;\n // });\n\n // window.setTimeout(() => {\n // if(isUp){\n // return false;\n // }else{\n // this.$element.off('pointerup');\n // $.proxy(this.onScrollStart, this)(e);\n // }\n // }, 100)\n // });\n // fixed by FreMaNgo -- END\n\n this.$element.on(this.eventName(support.prefixPointerEvent('pointercancel')), $$1.proxy(this.onScrollEnd, this));\n }\n\n this.$list.on(this.eventName(enterEvents.join(' ')), this.options.item, () => {\n if (!that.is('scrolling')) {\n that.options.onEnter.call(this);\n }\n });\n this.$list.on(this.eventName(leaveEvents.join(' ')), this.options.item, () => {\n if (!that.is('scrolling')) {\n that.options.onLeave.call(this);\n }\n });\n\n $$1(window).on(this.eventNameWithId('orientationchange'), () => {\n that.update();\n });\n $$1(window).on(this.eventNameWithId('resize'), this.throttle(() => {\n that.update();\n }, this.options.throttle));\n }\n\n unbindEvents() {\n this.$element.off(this.eventName());\n this.$list.off(this.eventName());\n $$1(window).off(this.eventNameWithId());\n }\n\n /**\n * Handles `touchstart` and `mousedown` events.\n */\n onScrollStart(event) {\n const that = this;\n if (this.is('scrolling')) {\n return;\n }\n\n if (event.which === 3) {\n return;\n }\n\n if ($$1(event.target).closest(this.options.exception).length > 0) {\n return;\n }\n\n this._scroll.time = new Date().getTime();\n this._scroll.pointer = this.pointer(event);\n this._scroll.start = this.getPosition();\n this._scroll.moved = false;\n\n const callback = () => {\n this.enter('scrolling');\n this.trigger('scroll');\n };\n\n if (this.options.touchScroll && support.touch) {\n $$1(document).on(this.eventName('touchend'), $$1.proxy(this.onScrollEnd, this));\n\n $$1(document).one(this.eventName('touchmove'), $$1.proxy(function() {\n if(!this.is('scrolling')){\n $$1(document).on(that.eventName('touchmove'), $$1.proxy(this.onScrollMove, this));\n callback();\n }\n }, this));\n }\n\n if (this.options.pointerScroll && support.pointer) {\n $$1(document).on(this.eventName(support.prefixPointerEvent('pointerup')), $$1.proxy(this.onScrollEnd, this));\n\n $$1(document).one(this.eventName(support.prefixPointerEvent('pointermove')), $$1.proxy(function() {\n if(!this.is('scrolling')){\n $$1(document).on(that.eventName(support.prefixPointerEvent('pointermove')), $$1.proxy(this.onScrollMove, this));\n\n callback();\n }\n }, this));\n }\n\n $$1(document).on(this.eventName('blur'), $$1.proxy(this.onScrollEnd, this));\n\n event.preventDefault();\n }\n\n /**\n * Handles the `touchmove` and `mousemove` events.\n */\n onScrollMove(event) {\n this._scroll.updated = this.pointer(event);\n const distance = this.distance(this._scroll.pointer, this._scroll.updated);\n\n if (Math.abs(this._scroll.pointer.x - this._scroll.updated.x) > 10 || Math.abs(this._scroll.pointer.y - this._scroll.updated.y) > 10) {\n this._scroll.moved = true;\n }\n\n if (!this.is('scrolling')) {\n return;\n }\n\n event.preventDefault();\n let postion = this._scroll.start + distance;\n\n if (this.canScroll()) {\n if (postion > 0) {\n postion = 0;\n } else if (postion < this.containerLength - this.listLength) {\n postion = this.containerLength - this.listLength;\n }\n this.updatePosition(postion);\n }\n }\n\n /**\n * Handles the `touchend` and `mouseup` events.\n */\n onScrollEnd(event) {\n if (!this._scroll.moved) {\n $$1(event.target).trigger('tap');\n }\n\n // if (!this.is('scrolling')) {\n // return;\n // }\n\n if (this.options.touchScroll && support.touch) {\n $$1(document).off(this.eventName('touchmove touchend'));\n }\n\n if (this.options.pointerScroll && support.pointer) {\n $$1(document).off(this.eventName(support.prefixPointerEvent('pointermove pointerup')));\n }\n\n $$1(document).off(this.eventName('blur'));\n\n // touch will trigger mousemove event after 300ms delay. So we need avoid it\n // setTimeout(() => {\n this.leave('scrolling');\n this.trigger('scrolled');\n // }, 500);\n }\n\n /**\n * Gets unified pointer coordinates from event.\n * @returns {Object} - Contains `x` and `y` coordinates of current pointer position.\n */\n pointer(event) {\n const result = {\n x: null,\n y: null\n };\n\n event = this.getEvent(event);\n\n if (event.pageX && !this.options.fixed) {\n result.x = event.pageX;\n result.y = event.pageY;\n } else {\n result.x = event.clientX;\n result.y = event.clientY;\n }\n\n return result;\n }\n\n getEvent(event) {\n event = event.originalEvent || event || window.event;\n\n event = event.touches && event.touches.length ?\n event.touches[0] : event.changedTouches && event.changedTouches.length ?\n event.changedTouches[0] : event;\n\n return event;\n }\n\n /**\n * Gets the distance of two pointer.\n */\n distance(first, second) {\n if (this.options.direction === 'vertical') {\n return second.y - first.y;\n }\n return second.x - first.x;\n }\n\n onMove(event) {\n event = this.getEvent(event);\n\n if (this.is('scrolling')) {\n return;\n }\n\n if (this.isMatchScroll(event)) {\n let pointer;\n let distance;\n let offset;\n if (event[this.attributes.page] && !this.options.fixed) {\n pointer = event[this.attributes.page];\n } else {\n pointer = event[this.attributes.client];\n }\n\n offset = pointer - this.element[this.attributes.offset];\n\n if (offset < this.options.boundary) {\n distance = 0;\n } else {\n distance = (offset - this.options.boundary) * this.multiplier;\n\n if (distance > this.listLength - this.containerLength) {\n distance = this.listLength - this.containerLength;\n }\n }\n\n this.updatePosition(-distance);\n }\n }\n\n isMatchScroll(event) {\n if (!this.is('disabled') && this.canScroll()) {\n if (this.options.exception) {\n if ($$1(event.target).closest(this.options.exception).length === 0) {\n return true;\n }\n return false;\n }\n return true;\n }\n return false;\n }\n\n canScroll() {\n return this.listLength > this.containerLength;\n }\n\n getContainerLength() {\n return this.element[this.attributes.clientLength];\n }\n\n getListhLength() {\n return this.$list[0][this.attributes.clientLength];\n }\n\n updateLength() {\n this.containerLength = this.getContainerLength();\n this.listLength = this.getListhLength();\n this.multiplier = (this.listLength - this.containerLength) / (this.containerLength - 2 * this.options.boundary);\n }\n\n initPosition() {\n const style = this.makePositionStyle(0);\n this.$list.css(style);\n }\n\n getPosition() {\n let value;\n\n if (this.options.useCssTransforms && support.transform) {\n if (this.options.useCssTransforms3d && support.transform3d) {\n value = support.convertMatrixToArray(this.$list.css(support.transform));\n } else {\n value = support.convertMatrixToArray(this.$list.css(support.transform));\n }\n if (!value) {\n return 0;\n }\n\n if (this.attributes.axis === 'X') {\n value = value[12] || value[4];\n } else {\n value = value[13] || value[5];\n }\n } else {\n value = this.$list.css(this.attributes.position);\n }\n\n return parseFloat(value.replace('px', ''));\n }\n\n makePositionStyle(value) {\n let property;\n let x = '0px';\n let y = '0px';\n\n if (this.options.useCssTransforms && support.transform) {\n if (this.attributes.axis === 'X') {\n x = `${value}px`;\n } else {\n y = `${value}px`;\n }\n\n property = support.transform.toString();\n\n if (this.options.useCssTransforms3d && support.transform3d) {\n value = `translate3d(${x},${y},0px)`;\n } else {\n value = `translate(${x},${y})`;\n }\n } else {\n property = this.attributes.position;\n }\n const temp = {};\n temp[property] = value;\n\n return temp;\n }\n\n updatePosition(value) {\n const style = this.makePositionStyle(value);\n this.$list.css(style);\n }\n\n update() {\n if (!this.is('disabled')) {\n this.updateLength();\n\n if (!this.canScroll()) {\n this.initPosition();\n }\n }\n }\n\n eventName(events) {\n if (typeof events !== 'string' || events === '') {\n return `.${NAMESPACE$1}`;\n }\n events = events.split(' ');\n\n const length = events.length;\n for (let i = 0; i < length; i++) {\n events[i] = `${events[i]}.${NAMESPACE$1}`;\n }\n return events.join(' ');\n }\n\n eventNameWithId(events) {\n if (typeof events !== 'string' || events === '') {\n return `.${this.options.namespace}-${this.instanceId}`;\n }\n\n events = events.split(' ');\n const length = events.length;\n for (let i = 0; i < length; i++) {\n events[i] = `${events[i]}.${this.options.namespace}-${this.instanceId}`;\n }\n return events.join(' ');\n }\n\n trigger(eventType, ...params) {\n const data = [this].concat(params);\n\n // event\n this.$element.trigger(`${NAMESPACE$1}::${eventType}`, data);\n\n // callback\n eventType = eventType.replace(/\\b\\w+\\b/g, (word) => {\n return word.substring(0, 1).toUpperCase() + word.substring(1);\n });\n const onFunction = `on${eventType}`;\n\n if (typeof this.options[onFunction] === 'function') {\n this.options[onFunction].apply(this, params);\n }\n }\n\n /**\n * Checks whether the carousel is in a specific state or not.\n */\n is(state) {\n return this._states[state] && this._states[state] > 0;\n }\n\n /**\n * Enters a state.\n */\n enter(state) {\n if (this._states[state] === undefined) {\n this._states[state] = 0;\n }\n\n this._states[state] = 1;\n }\n\n /**\n * Leaves a state.\n */\n leave(state) {\n this._states[state] = 0;\n }\n\n /**\n * _throttle\n * @description Borrowed from Underscore.js\n */\n throttle(func, wait) {\n const _now = Date.now || function() {\n return new Date().getTime();\n };\n\n let timeout;\n let context;\n let args;\n let result;\n let previous = 0;\n let later = function() {\n previous = _now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) {\n context = args = null;\n }\n };\n\n return (...params) => {\n /*eslint consistent-this: \"off\"*/\n let now = _now();\n let remaining = wait - (now - previous);\n context = this;\n args = params;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) {\n context = args = null;\n }\n } else if (!timeout) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n }\n\n enable() {\n if (this.is('disabled')) {\n this.leave('disabled');\n\n this.$element.removeClass(this.classes.disabled);\n\n this.bindEvents();\n }\n\n this.trigger('enable');\n }\n\n disable() {\n if (!this.is('disabled')) {\n this.enter('disabled');\n\n this.initPosition();\n this.$element.addClass(this.classes.disabled);\n\n this.unbindEvents();\n }\n\n this.trigger('disable');\n }\n\n destroy() {\n this.$element.removeClass(this.classes.disabled);\n this.unbindEvents();\n this.$element.data(NAMESPACE$1, null);\n\n this.trigger('destroy');\n }\n\n static setDefaults(options) {\n $$1.extend(DEFAULTS, $$1.isPlainObject(options) && options);\n }\n}\n\nvar info = {\n version:'0.3.7'\n};\n\nconst NAMESPACE = 'asHoverScroll';\nconst OtherAsHoverScroll = $$1.fn.asHoverScroll;\n\nconst jQueryAsHoverScroll = function(options, ...args) {\n if (typeof options === 'string') {\n const method = options;\n\n if (/^_/.test(method)) {\n return false;\n } else if ((/^(get)/.test(method))) {\n const instance = this.first().data(NAMESPACE);\n if (instance && typeof instance[method] === 'function') {\n return instance[method](...args);\n }\n } else {\n return this.each(function() {\n const instance = $$1.data(this, NAMESPACE);\n if (instance && typeof instance[method] === 'function') {\n instance[method](...args);\n }\n });\n }\n }\n\n return this.each(function() {\n if (!$$1(this).data(NAMESPACE)) {\n $$1(this).data(NAMESPACE, new asHoverScroll(this, options));\n }\n });\n};\n\n$$1.fn.asHoverScroll = jQueryAsHoverScroll;\n\n$$1.asHoverScroll = $$1.extend({\n setDefaults: asHoverScroll.setDefaults,\n noConflict: function() {\n $$1.fn.asHoverScroll = OtherAsHoverScroll;\n return jQueryAsHoverScroll;\n }\n}, info);\n"]}
|