| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 | 'use strict';exports.__esModule = true;exports.isInContainer = exports.getScrollContainer = exports.isScroll = exports.getStyle = exports.once = exports.off = exports.on = undefined;var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; /* istanbul ignore next */exports.hasClass = hasClass;exports.addClass = addClass;exports.removeClass = removeClass;exports.setStyle = setStyle;var _vue = require('vue');var _vue2 = _interopRequireDefault(_vue);function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var isServer = _vue2.default.prototype.$isServer;var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g;var MOZ_HACK_REGEXP = /^moz([A-Z])/;var ieVersion = isServer ? 0 : Number(document.documentMode);/* istanbul ignore next */var trim = function trim(string) {  return (string || '').replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, '');};/* istanbul ignore next */var camelCase = function camelCase(name) {  return name.replace(SPECIAL_CHARS_REGEXP, function (_, separator, letter, offset) {    return offset ? letter.toUpperCase() : letter;  }).replace(MOZ_HACK_REGEXP, 'Moz$1');};/* istanbul ignore next */var on = exports.on = function () {  if (!isServer && document.addEventListener) {    return function (element, event, handler) {      if (element && event && handler) {        element.addEventListener(event, handler, false);      }    };  } else {    return function (element, event, handler) {      if (element && event && handler) {        element.attachEvent('on' + event, handler);      }    };  }}();/* istanbul ignore next */var off = exports.off = function () {  if (!isServer && document.removeEventListener) {    return function (element, event, handler) {      if (element && event) {        element.removeEventListener(event, handler, false);      }    };  } else {    return function (element, event, handler) {      if (element && event) {        element.detachEvent('on' + event, handler);      }    };  }}();/* istanbul ignore next */var once = exports.once = function once(el, event, fn) {  var listener = function listener() {    if (fn) {      fn.apply(this, arguments);    }    off(el, event, listener);  };  on(el, event, listener);};/* istanbul ignore next */function hasClass(el, cls) {  if (!el || !cls) return false;  if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.');  if (el.classList) {    return el.classList.contains(cls);  } else {    return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1;  }};/* istanbul ignore next */function addClass(el, cls) {  if (!el) return;  var curClass = el.className;  var classes = (cls || '').split(' ');  for (var i = 0, j = classes.length; i < j; i++) {    var clsName = classes[i];    if (!clsName) continue;    if (el.classList) {      el.classList.add(clsName);    } else if (!hasClass(el, clsName)) {      curClass += ' ' + clsName;    }  }  if (!el.classList) {    el.setAttribute('class', curClass);  }};/* istanbul ignore next */function removeClass(el, cls) {  if (!el || !cls) return;  var classes = cls.split(' ');  var curClass = ' ' + el.className + ' ';  for (var i = 0, j = classes.length; i < j; i++) {    var clsName = classes[i];    if (!clsName) continue;    if (el.classList) {      el.classList.remove(clsName);    } else if (hasClass(el, clsName)) {      curClass = curClass.replace(' ' + clsName + ' ', ' ');    }  }  if (!el.classList) {    el.setAttribute('class', trim(curClass));  }};/* istanbul ignore next */var getStyle = exports.getStyle = ieVersion < 9 ? function (element, styleName) {  if (isServer) return;  if (!element || !styleName) return null;  styleName = camelCase(styleName);  if (styleName === 'float') {    styleName = 'styleFloat';  }  try {    switch (styleName) {      case 'opacity':        try {          return element.filters.item('alpha').opacity / 100;        } catch (e) {          return 1.0;        }      default:        return element.style[styleName] || element.currentStyle ? element.currentStyle[styleName] : null;    }  } catch (e) {    return element.style[styleName];  }} : function (element, styleName) {  if (isServer) return;  if (!element || !styleName) return null;  styleName = camelCase(styleName);  if (styleName === 'float') {    styleName = 'cssFloat';  }  try {    var computed = document.defaultView.getComputedStyle(element, '');    return element.style[styleName] || computed ? computed[styleName] : null;  } catch (e) {    return element.style[styleName];  }};/* istanbul ignore next */function setStyle(element, styleName, value) {  if (!element || !styleName) return;  if ((typeof styleName === 'undefined' ? 'undefined' : _typeof(styleName)) === 'object') {    for (var prop in styleName) {      if (styleName.hasOwnProperty(prop)) {        setStyle(element, prop, styleName[prop]);      }    }  } else {    styleName = camelCase(styleName);    if (styleName === 'opacity' && ieVersion < 9) {      element.style.filter = isNaN(value) ? '' : 'alpha(opacity=' + value * 100 + ')';    } else {      element.style[styleName] = value;    }  }};var isScroll = exports.isScroll = function isScroll(el, vertical) {  if (isServer) return;  var determinedDirection = vertical !== null && vertical !== undefined;  var overflow = determinedDirection ? vertical ? getStyle(el, 'overflow-y') : getStyle(el, 'overflow-x') : getStyle(el, 'overflow');  return overflow.match(/(scroll|auto|overlay)/);};var getScrollContainer = exports.getScrollContainer = function getScrollContainer(el, vertical) {  if (isServer) return;  var parent = el;  while (parent) {    if ([window, document, document.documentElement].includes(parent)) {      return window;    }    if (isScroll(parent, vertical)) {      return parent;    }    parent = parent.parentNode;  }  return parent;};var isInContainer = exports.isInContainer = function isInContainer(el, container) {  if (isServer || !el || !container) return false;  var elRect = el.getBoundingClientRect();  var containerRect = void 0;  if ([window, document, document.documentElement, null, undefined].includes(container)) {    containerRect = {      top: 0,      right: window.innerWidth,      bottom: window.innerHeight,      left: 0    };  } else {    containerRect = container.getBoundingClientRect();  }  return elRect.top < containerRect.bottom && elRect.bottom > containerRect.top && elRect.right > containerRect.left && elRect.left < containerRect.right;};
 |