{"version":3,"sources":["jquery-slidePanel.es.js"],"names":["global","factory","define","amd","exports","require","mod","jQuery","jquerySlidePanelEs","this","_jquery","_classCallCheck","instance","Constructor","TypeError","convertMatrixToArray","value","substr","replace","split","getHashCode","object","JSON","stringify","hash","i","len","length","charCodeAt","getTime","window","performance","now","Date","isPercentage","n","indexOf","isPx","easingBezier","mX1","mY1","mX2","mY2","a","aA1","aA2","b","c","calcBezier","aT","getSlope","getTForX","aX","aGuessT","currentSlope","css","fn","_jquery2","obj","__esModule","default","_interopRequireDefault","_createClass","defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","prototype","info","version","DEFAULTS","skin","classes","base","show","loading","content","dragging","willClose","closeSelector","template","options","direction","appendTo","showCallback","$el","addClass","hideCallback","removeClass","contentFilter","useCssTransforms3d","useCssTransforms","useCssTransitions","dragTolerance","mouseDragHandler","mouseDrag","touchDrag","pointerDrag","duration","easing","beforeLoad","$","noop","afterLoad","beforeShow","afterShow","onChange","beforeHide","afterHide","beforeDrag","afterDrag","Instance","_len","arguments","args","Array","_key","initialize","apply","concat","undefined","url","nodeType","$element","attr","settings","data","extend","Support","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","each","prefix","toLowerCase","String","transform","transform3d","DocumentTouch","document","touch","PointerEvent","MSPointerEvent","pointer","prefixPointerEvent","pointerEvent","Easings","ease","linear","ease-in","ease-out","ease-in-out","Animate","prepareTransition","delay","temp","push","isNumeric","join","do","view","callback","SlidePanel","enter","that","makePositionStyle","hasOwnProperty","call","setTimeout","$panel","one","isFunction","leave","setPosition","startTime","start","getPosition","_frameId","requestAnimationFrame","run","time","percent","current","parseFloat","cancelAnimationFrame","Loading","_view","build","_builded","html","Drag","_drag","bindEvents","on","eventName","proxy","onDragStart","event","is","parents","onDragEnd","which","_position","trigger","onDragMove","preventDefault","distance","Math","abs","_willClose","move","off","revert","hide","x","y","originalEvent","touches","changedTouches","pageX","pageY","clientX","clientY","first","second","d","position","View","_instance","_showed","_isLoading","_length","outerHeight","outerWidth","$content","find","setLength","getHidePosition","drag","height","width","empty","setContent","hideLoading","showLoading","ajax","done","load","_current","toString","px","_states","_views","state"],"mappings":"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","file":"jquery-slidePanel.min.js","sourcesContent":["/**\n* jQuery slidePanel v0.3.5\n* https://github.com/amazingSurge/jquery-slidePanel\n*\n* Copyright (c) amazingSurge\n* Released under the LGPL-3.0 license\n*/\nimport $$1 from 'jquery';\n\nvar info = {\n  version:'0.3.5'\n};\n\nfunction convertMatrixToArray(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\nfunction getHashCode(object) {\n  /* eslint no-bitwise: \"off\" */\n  if (typeof object !== 'string') {\n    object = JSON.stringify(object);\n  }\n\n  let chr, hash = 0,\n    i, len;\n  if (object.length === 0) {\n    return hash;\n  }\n  for (i = 0, len = object.length; i < len; i++) {\n    chr = object.charCodeAt(i);\n    hash = ((hash << 5) - hash) + chr;\n    hash |= 0; // Convert to 32bit integer\n  }\n\n  return hash;\n}\n\nfunction getTime() {\n  if (typeof window.performance !== 'undefined' && window.performance.now) {\n    return window.performance.now();\n  }\n  return Date.now();\n}\n\nfunction isPercentage(n) {\n  return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n\nfunction isPx(n) {\n  return typeof n === 'string' && n.indexOf('px') !== -1;\n}\n\n/* eslint no-unused-vars: \"off\" */\nvar DEFAULTS = {\n  skin: null,\n\n  classes: {\n    base: 'slidePanel',\n    show: 'slidePanel-show',\n    loading: 'slidePanel-loading',\n    content: 'slidePanel-content',\n    dragging: 'slidePanel-dragging',\n    willClose: 'slidePanel-will-close'\n  },\n\n  closeSelector: null,\n\n  template(options) {\n    return `<div class=\"${options.classes.base} ${options.classes.base}-${options.direction}\"><div class=\"${options.classes.content}\"></div></div>`;\n  },\n\n  loading: {\n    appendTo: 'panel', // body, panel\n    template(options) {\n      return `<div class=\"${options.classes.loading}\"></div>`;\n    },\n    showCallback(options) {\n      this.$el.addClass(`${options.classes.loading}-show`);\n    },\n    hideCallback(options) {\n      this.$el.removeClass(`${options.classes.loading}-show`);\n    }\n  },\n\n  contentFilter(content, object) {\n    return content;\n  },\n\n  useCssTransforms3d: true,\n  useCssTransforms: true,\n  useCssTransitions: true,\n\n  dragTolerance: 150,\n\n  mouseDragHandler: null,\n  mouseDrag: true,\n  touchDrag: true,\n  pointerDrag: true,\n\n  direction: 'right', // top, bottom, left, right\n  duration: '500',\n  easing: 'ease', // linear, ease-in, ease-out, ease-in-out\n\n  // callbacks\n  beforeLoad: $.noop, // Before loading\n  afterLoad: $.noop, // After loading\n  beforeShow: $.noop, // Before opening\n  afterShow: $.noop, // After opening\n  onChange: $.noop, // On changing\n  beforeHide: $.noop, // Before closing\n  afterHide: $.noop, // After closing\n  beforeDrag: $.noop, // Before drag\n  afterDrag: $.noop // After drag\n};\n\nclass Instance {\n  constructor(object,...args){\n    this.initialize(object,...args);\n  }\n  initialize(object,...args) {\n    const options = args[0] || {};\n\n    if (typeof object === 'string') {\n      object = {\n        url: object\n      };\n    } else if (object && object.nodeType === 1) {\n      const $element = $$1(object);\n\n      object = {\n        url: $element.attr('href'),\n        settings: $element.data('settings') || {},\n        options: $element.data() || {}\n      };\n    }\n\n    if (object && object.options) {\n      object.options = $$1.extend(true, options, object.options);\n    } else {\n      object.options = options;\n    }\n\n    object.options = $$1.extend(true, {}, DEFAULTS, object.options);\n\n    $$1.extend(this, object);\n\n    return this;\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  const 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  const 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  const 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.prefixPointerEvent = (pointerEvent) => {\n    return window.MSPointerEvent ?\n      `MSPointer${pointerEvent.charAt(9).toUpperCase()}${pointerEvent.substr(10)}` :\n      pointerEvent;\n  };\n})(Support);\n\nfunction easingBezier(mX1, mY1, mX2, mY2) {\n  'use strict';\n  function a(aA1, aA2) {\n    return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n  }\n\n  function b(aA1, aA2) {\n    return 3.0 * aA2 - 6.0 * aA1;\n  }\n\n  function c(aA1) {\n    return 3.0 * aA1;\n  }\n\n  // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n  function calcBezier(aT, aA1, aA2) {\n    return ((a(aA1, aA2) * aT + b(aA1, aA2)) * aT + c(aA1)) * aT;\n  }\n\n  // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n  function getSlope(aT, aA1, aA2) {\n    return 3.0 * a(aA1, aA2) * aT * aT + 2.0 * b(aA1, aA2) * aT + c(aA1);\n  }\n\n  function getTForX(aX) {\n    // Newton raphson iteration\n    let aGuessT = aX;\n    for (let i = 0; i < 4; ++i) {\n      const currentSlope = getSlope(aGuessT, mX1, mX2);\n      if (currentSlope === 0.0) {\n        return aGuessT;\n      }\n      const currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n      aGuessT -= currentX / currentSlope;\n    }\n    return aGuessT;\n  }\n\n  if (mX1 === mY1 && mX2 === mY2) {\n    return {\n      css: 'linear',\n      fn(aX) {\n        return aX;\n      }\n    };\n  }\n  return {\n    css: `cubic-bezier(${mX1},${mY1},${mX2},${mY2})`,\n    fn(aX) {\n      return calcBezier(getTForX(aX), mY1, mY2);\n    }\n  };\n}\n\nconst Easings = {\n  ease: easingBezier(0.25, 0.1, 0.25, 1.0),\n  linear: easingBezier(0.00, 0.0, 1.00, 1.0),\n  'ease-in': easingBezier(0.42, 0.0, 1.00, 1.0),\n  'ease-out': easingBezier(0.00, 0.0, 0.58, 1.0),\n  'ease-in-out': easingBezier(0.42, 0.0, 0.58, 1.0)\n};\n\nconst Animate = {\n  prepareTransition($el, property, duration, easing, delay) {\n        const temp = [];\n    if (property) {\n      temp.push(property);\n    }\n    if (duration) {\n      if ($$1.isNumeric(duration)) {\n        duration = `${duration}ms`;\n      }\n      temp.push(duration);\n    }\n    if (easing) {\n      temp.push(easing);\n    } else {\n      temp.push(this.easing.css);\n    }\n    if (delay) {\n      temp.push(delay);\n    }\n    $el.css(Support.transition, temp.join(' '));\n  },\n  do(view, value, callback) {\n        SlidePanel.enter('animating');\n\n    const duration = view.options.duration,\n      easing = view.options.easing || 'ease';\n\n    const that = this;\n    let style = view.makePositionStyle(value);\n    let property = null;\n\n    for (property in style) {\n      if ({}.hasOwnProperty.call(style, property)) {\n        break;\n      }\n    }\n\n    if (view.options.useCssTransitions && Support.transition) {\n      setTimeout(() => {\n        that.prepareTransition(view.$panel, property, duration, easing);\n      }, 20);\n\n      view.$panel.one(Support.transition.end, () => {\n        if ($$1.isFunction(callback)) {\n          callback();\n        }\n\n        view.$panel.css(Support.transition, '');\n\n        SlidePanel.leave('animating');\n      });\n      setTimeout(() => {\n        view.setPosition(value);\n      }, 20);\n    } else {\n      const startTime = getTime();\n      const start = view.getPosition();\n      const end = value;\n\n      const run = time => {\n        let percent = (time - startTime) / view.options.duration;\n\n        if (percent > 1) {\n          percent = 1;\n        }\n\n        percent = Easings[easing].fn(percent);\n\n        const current = parseFloat(start + percent * (end - start), 10);\n\n        view.setPosition(current);\n\n        if (percent === 1) {\n          window.cancelAnimationFrame(that._frameId);\n          that._frameId = null;\n\n          if ($$1.isFunction(callback)) {\n            callback();\n          }\n\n          SlidePanel.leave('animating');\n        } else {\n          that._frameId = window.requestAnimationFrame(run);\n        }\n      };\n\n      that._frameId = window.requestAnimationFrame(run);\n    }\n  }\n};\n\nclass Loading {\n  constructor(view) {\n    this.initialize(view);\n  }\n\n  initialize(view) {\n    this._view = view;\n    this.build();\n  }\n\n  build() {\n    if (this._builded) {\n      return;\n    }\n\n    const options = this._view.options;\n    const html = options.loading.template.call(this, options);\n    this.$el = $$1(html);\n\n    switch (options.loading.appendTo) {\n      case 'panel':\n        this.$el.appendTo(this._view.$panel);\n        break;\n      case 'body':\n        this.$el.appendTo('body');\n        break;\n      default:\n        this.$el.appendTo(options.loading.appendTo);\n    }\n\n    this._builded = true;\n  }\n\n  show(callback) {\n    this.build();\n    const options = this._view.options;\n    options.loading.showCallback.call(this, options);\n\n    if ($$1.isFunction(callback)) {\n      callback.call(this);\n    }\n  }\n\n  hide(callback) {\n    const options = this._view.options;\n    options.loading.hideCallback.call(this, options);\n\n    if ($$1.isFunction(callback)) {\n      callback.call(this);\n    }\n  }\n}\n\nclass Drag {\n  constructor(...args){\n    this.initialize(...args);\n  }\n\n  initialize(view) {\n    this._view = view;\n    this.options = view.options;\n    this._drag = {\n      time: null,\n      pointer: null\n    };\n\n    this.bindEvents();\n  }\n  bindEvents() {\n    const $panel = this._view.$panel,\n      options = this.options;\n\n    if (options.mouseDrag) {\n      $panel.on(SlidePanel.eventName('mousedown'), $$1.proxy(this.onDragStart, this));\n      $panel.on(SlidePanel.eventName('dragstart selectstart'), (event) => {\n        /* eslint consistent-return: \"off\" */\n        if (options.mouseDragHandler) {\n          if (!($$1(event.target).is(options.mouseDragHandler)) && !($$1(event.target).parents(options.mouseDragHandler).length > 0)) {\n            return;\n          }\n        }\n        return false;\n      });\n    }\n\n    if (options.touchDrag && Support.touch) {\n      $panel.on(SlidePanel.eventName('touchstart'), $$1.proxy(this.onDragStart, this));\n      $panel.on(SlidePanel.eventName('touchcancel'), $$1.proxy(this.onDragEnd, this));\n    }\n\n    if (options.pointerDrag && Support.pointer) {\n      $panel.on(SlidePanel.eventName(Support.prefixPointerEvent('pointerdown')), $$1.proxy(this.onDragStart, this));\n      $panel.on(SlidePanel.eventName(Support.prefixPointerEvent('pointercancel')), $$1.proxy(this.onDragEnd, this));\n    }\n  }\n\n  /**\n   * Handles `touchstart` and `mousedown` events.\n   */\n  onDragStart(event) {\n    const that = this;\n\n    if (event.which === 3) {\n      return;\n    }\n\n    const options = this.options;\n\n    this._view.$panel.addClass(this.options.classes.dragging);\n\n    this._position = this._view.getPosition(true);\n\n    this._drag.time = new Date().getTime();\n    this._drag.pointer = this.pointer(event);\n\n    const callback = () => {\n      SlidePanel.enter('dragging');\n      SlidePanel.trigger(that._view, 'beforeDrag');\n    };\n\n    if (options.mouseDrag) {\n      if (options.mouseDragHandler) {\n        if (!($$1(event.target).is(options.mouseDragHandler)) && !($$1(event.target).parents(options.mouseDragHandler).length > 0)) {\n          return;\n        }\n      }\n\n      $$1(document).on(SlidePanel.eventName('mouseup'), $$1.proxy(this.onDragEnd, this));\n\n      $$1(document).one(SlidePanel.eventName('mousemove'), $$1.proxy(function () {\n        $$1(document).on(SlidePanel.eventName('mousemove'), $$1.proxy(this.onDragMove, this));\n\n        callback();\n      }, this));\n    }\n\n    if (options.touchDrag && Support.touch) {\n      $$1(document).on(SlidePanel.eventName('touchend'), $$1.proxy(this.onDragEnd, this));\n\n      $$1(document).one(SlidePanel.eventName('touchmove'), $$1.proxy(function () {\n        $$1(document).on(SlidePanel.eventName('touchmove'), $$1.proxy(this.onDragMove, this));\n\n        callback();\n      }, this));\n    }\n\n    if (options.pointerDrag && Support.pointer) {\n      $$1(document).on(SlidePanel.eventName(Support.prefixPointerEvent('pointerup')), $$1.proxy(this.onDragEnd, this));\n\n      $$1(document).one(SlidePanel.eventName(Support.prefixPointerEvent('pointermove')), $$1.proxy(function () {\n        $$1(document).on(SlidePanel.eventName(Support.prefixPointerEvent('pointermove')), $$1.proxy(this.onDragMove, this));\n\n        callback();\n      }, this));\n    }\n\n    $$1(document).on(SlidePanel.eventName('blur'), $$1.proxy(this.onDragEnd, this));\n\n    event.preventDefault();\n  }\n\n  /**\n   * Handles the `touchmove` and `mousemove` events.\n   */\n  onDragMove(event) {\n    const distance = this.distance(this._drag.pointer, this.pointer(event));\n\n    if (!SlidePanel.is('dragging')) {\n      return;\n    }\n\n    if (Math.abs(distance) > this.options.dragTolerance) {\n      if (this._willClose !== true) {\n        this._willClose = true;\n        this._view.$panel.addClass(this.options.classes.willClose);\n      }\n    } else if (this._willClose !== false) {\n      this._willClose = false;\n      this._view.$panel.removeClass(this.options.classes.willClose);\n    }\n\n    if (!SlidePanel.is('dragging')) {\n      return;\n    }\n\n    event.preventDefault();\n    this.move(distance);\n  }\n\n  /**\n   * Handles the `touchend` and `mouseup` events.\n   */\n  onDragEnd(event) {\n    const distance = this.distance(this._drag.pointer, this.pointer(event));\n\n    $$1(document).off(SlidePanel.eventName('mousemove mouseup touchmove touchend pointermove pointerup MSPointerMove MSPointerUp blur'));\n\n    this._view.$panel.removeClass(this.options.classes.dragging);\n\n    if (this._willClose === true) {\n      this._willClose = false;\n      this._view.$panel.removeClass(this.options.classes.willClose);\n    }\n\n    if (!SlidePanel.is('dragging')) {\n      return;\n    }\n\n    SlidePanel.leave('dragging');\n\n    SlidePanel.trigger(this._view, 'afterDrag');\n\n    if (Math.abs(distance) < this.options.dragTolerance) {\n      this._view.revert();\n    } else {\n      this._view.hide();\n      // SlidePanel.hide();\n    }\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 = 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    if (event.pageX) {\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  /**distance\n   * Gets the distance of two pointer.\n   */\n  distance(first, second) {\n    const d = this.options.direction;\n    if (d === 'left' || d === 'right') {\n      return second.x - first.x;\n    }\n    return second.y - first.y;\n  }\n\n  move(value) {\n    let position = this._position + value;\n\n    if (this.options.direction === 'right' || this.options.direction === 'bottom') {\n      if (position < 0) {\n        return;\n      }\n    } else if (position > 0) {\n      return;\n    }\n\n    if (!this.options.useCssTransforms && !this.options.useCssTransforms3d) {\n      if (this.options.direction === 'right' || this.options.direction === 'bottom') {\n        position = -position;\n      }\n    }\n\n    this._view.setPosition(`${position}px`);\n  }\n}\n\nclass View {\n  constructor(options) {\n    this.initialize(options);\n  }\n\n  initialize(options) {\n    this.options = options;\n    this._instance = null;\n    this._showed = false;\n    this._isLoading = false;\n\n    this.build();\n  }\n\n  setLength() {\n    switch (this.options.direction) {\n      case 'top':\n      case 'bottom':\n        this._length = this.$panel.outerHeight();\n        break;\n      case 'left':\n      case 'right':\n        this._length = this.$panel.outerWidth();\n        break;\n      // no default\n    }\n  }\n\n  build() {\n    if (this._builded) {\n      return;\n    }\n\n    const options = this.options;\n\n    const html = options.template.call(this, options);\n    const that = this;\n\n    this.$panel = $$1(html).appendTo('body');\n    if (options.skin) {\n      this.$panel.addClass(options.skin);\n    }\n    this.$content = this.$panel.find(`.${this.options.classes.content}`);\n\n    if (options.closeSelector) {\n      this.$panel.on('click touchstart', options.closeSelector, () => {\n        that.hide();\n        return false;\n      });\n    }\n    this.loading = new Loading(this);\n\n    this.setLength();\n    this.setPosition(this.getHidePosition());\n\n    if (options.mouseDrag || options.touchDrag || options.pointerDrag) {\n      this.drag = new Drag(this);\n    }\n\n    this._builded = true;\n  }\n\n  getHidePosition() {\n    /* eslint consistent-return: \"off\" */\n    const options = this.options;\n\n    if (options.useCssTransforms || options.useCssTransforms3d) {\n      switch (options.direction) {\n        case 'top':\n        case 'left':\n          return '-100';\n        case 'bottom':\n        case 'right':\n          return '100';\n        // no default\n      }\n    }\n    switch (options.direction) {\n      case 'top':\n      case 'bottom':\n        return parseFloat(-(this._length / $$1(window).height()) * 100, 10);\n      case 'left':\n      case 'right':\n        return parseFloat(-(this._length / $$1(window).width()) * 100, 10);\n      // no default\n    }\n  }\n\n  empty() {\n    this._instance = null;\n    this.$content.empty();\n  }\n\n  load(object) {\n    const that = this;\n    const options = object.options;\n\n    SlidePanel.trigger(this, 'beforeLoad', object);\n    this.empty();\n\n    function setContent(content) {\n      content = options.contentFilter.call(this, content, object);\n      that.$content.html(content);\n      that.hideLoading();\n\n      that._instance = object;\n\n      SlidePanel.trigger(that, 'afterLoad', object);\n    }\n\n    if (object.content) {\n      setContent(object.content);\n    } else if (object.url) {\n      this.showLoading();\n\n      $$1.ajax(object.url, object.settings || {}).done(data => {\n        setContent(data);\n      });\n    } else {\n      setContent('');\n    }\n  }\n\n  showLoading() {\n    const that = this;\n    this.loading.show(() => {\n      that._isLoading = true;\n    });\n  }\n\n  hideLoading() {\n    const that = this;\n    this.loading.hide(() => {\n      that._isLoading = false;\n    });\n  }\n\n  show(callback) {\n    this.build();\n\n    SlidePanel.enter('show');\n    SlidePanel.trigger(this, 'beforeShow');\n\n    $$1('html').addClass(`${this.options.classes.base}-html`);\n    this.$panel.addClass(this.options.classes.show);\n\n    const that = this;\n    Animate.do(this, 0, () => {\n      that._showed = true;\n      SlidePanel.trigger(that, 'afterShow');\n\n      if ($$1.isFunction(callback)) {\n        callback.call(that);\n      }\n    });\n  }\n\n  change(object) {\n    SlidePanel.trigger(this, 'beforeShow');\n\n    SlidePanel.trigger(this, 'onChange', object, this._instance);\n\n    this.load(object);\n\n    SlidePanel.trigger(this, 'afterShow');\n  }\n\n  revert(callback) {\n    const that = this;\n    Animate.do(this, 0, () => {\n      if ($$1.isFunction(callback)) {\n        callback.call(that);\n      }\n    });\n  }\n\n  hide(callback) {\n    SlidePanel.leave('show');\n    SlidePanel.trigger(this, 'beforeHide');\n\n    const that = this;\n\n    Animate.do(this, this.getHidePosition(), () => {\n      that.$panel.removeClass(that.options.classes.show);\n      that._showed = false;\n      that._instance = null;\n\n      if (SlidePanel._current === that) {\n        SlidePanel._current = null;\n      }\n\n      if (!SlidePanel.is('show')) {\n        $$1('html').removeClass(`${that.options.classes.base}-html`);\n      }\n\n      if ($$1.isFunction(callback)) {\n        callback.call(that);\n      }\n\n      SlidePanel.trigger(that, 'afterHide');\n    });\n  }\n\n  makePositionStyle(value) {\n    let property, x = '0',\n      y = '0';\n\n    if (!isPercentage(value) && !isPx(value)) {\n      value = `${value}%`;\n    }\n\n    if (this.options.useCssTransforms && Support.transform) {\n      if (this.options.direction === 'left' || this.options.direction === 'right') {\n        x = value;\n      } else {\n        y = value;\n      }\n\n      property = Support.transform.toString();\n\n      if (this.options.useCssTransforms3d && Support.transform3d) {\n        value = `translate3d(${x},${y},0)`;\n      } else {\n        value = `translate(${x},${y})`;\n      }\n    } else {\n      property = this.options.direction;\n    }\n    const temp = {};\n    temp[property] = value;\n    return temp;\n  }\n\n  getPosition(px) {\n    let value;\n\n    if (this.options.useCssTransforms && Support.transform) {\n      value = convertMatrixToArray(this.$panel.css(Support.transform));\n      if (!value) {\n        return 0;\n      }\n\n      if (this.options.direction === 'left' || this.options.direction === 'right') {\n        value = value[12] || value[4];\n\n      } else {\n        value = value[13] || value[5];\n      }\n    } else {\n      value = this.$panel.css(this.options.direction);\n\n      value = parseFloat(value.replace('px', ''));\n    }\n\n    if (px !== true) {\n      value = (value / this._length) * 100;\n    }\n\n    return parseFloat(value, 10);\n  }\n\n  setPosition(value) {\n    const style = this.makePositionStyle(value);\n    this.$panel.css(style);\n  }\n}\n\nconst SlidePanel = {\n  // Current state information.\n  _states: {},\n  _views: {},\n  _current: null,\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]++;\n  },\n\n  /**\n   * Leaves a state.\n   */\n  leave(state) {\n    this._states[state]--;\n  },\n\n  trigger(view, event, ...args) {\n    const data = [view].concat(args);\n\n    // event\n    $$1(document).trigger(`slidePanel::${event}`, data);\n    if ($$1.isFunction(view.options[event])) {\n      view.options[event].apply(view, args);\n    }\n  },\n\n  eventName(events) {\n    if (typeof events !== 'string' || events === '') {\n      return '.slidepanel';\n    }\n    events = events.split(' ');\n\n    const length = events.length;\n    for (let i = 0; i < length; i++) {\n      events[i] = `${events[i]}.slidepanel`;\n    }\n    return events.join(' ');\n  },\n\n  show(object, options) {\n    if (!(object instanceof Instance)) {\n      switch (arguments.length) {\n        case 0:\n          object = new Instance();\n          break;\n        case 1:\n          object = new Instance(object);\n          break;\n        case 2:\n          object = new Instance(object, options);\n          break;\n        // no default\n      }\n    }\n\n    const view = this.getView(object.options);\n\n    const callback = () => {\n      view.show();\n      view.load(object);\n      this._current = view;\n    };\n    if (this._current !== null) {\n      if (view === this._current) {\n        this._current.change(object);\n      } else {\n        this._current.hide(callback);\n      }\n    } else {\n      callback();\n    }\n  },\n\n  getView(options) {\n    const code = getHashCode(options);\n\n    if (this._views.hasOwnProperty(code)) {\n      return this._views[code];\n    }\n\n    return (this._views[code] = new View(options));\n  },\n\n  hide(object) {\n    if (typeof object !== 'undefined' && typeof object.options !== 'undefined') {\n      const view = this.getView(object.options);\n      view.hide();\n    } else if (this._current !== null) {\n      this._current.hide();\n    }\n  }\n};\n\nvar api = {\n  is(state) {\n    return SlidePanel.is(state);\n  },\n\n  show(object, options) {\n    SlidePanel.show(object, options);\n    return this;\n  },\n\n  hide(...args) {\n    SlidePanel.hide(args);\n    return this;\n  }\n};\n\nif (!Date.now) {\n  Date.now = () => {\n    return new Date().getTime();\n  };\n}\n\nconst vendors = ['webkit', 'moz'];\nfor (let i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {\n  const vp = vendors[i];\n  window.requestAnimationFrame = window[`${vp}RequestAnimationFrame`];\n  window.cancelAnimationFrame = (window[`${vp}CancelAnimationFrame`] || window[`${vp}CancelRequestAnimationFrame`]);\n}\n\nif (/iP(ad|hone|od).*OS (6|7|8)/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) {\n  let lastTime = 0;\n  window.requestAnimationFrame = callback => {\n    const now = getTime();\n    const nextTime = Math.max(lastTime + 16, now);\n    return setTimeout(() => {\n        callback(lastTime = nextTime);\n      },\n      nextTime - now);\n  };\n  window.cancelAnimationFrame = clearTimeout;\n}\n\nconst OtherSlidePanel = $$1.fn.slidePanel;\n\nconst jQuerySlidePanel = function(options, ...args) {\n  const method = options;\n\n  if (typeof options === 'string') {\n    return this.each(function() {\n      let instance = $$1.data(this, 'slidePanel');\n\n      if (!(instance instanceof Instance)) {\n        instance = new Instance(this, args);\n        $$1.data(this, 'slidePanel', instance);\n      }\n\n      switch (method) {\n        case 'hide':\n          SlidePanel.hide(instance);\n          break;\n        case 'show':\n          SlidePanel.show(instance);\n          break;\n          // no default\n      }\n    });\n  }\n  return this.each(function() {\n    if (!$$1.data(this, 'slidePanel')) {\n      $$1.data(this, 'slidePanel', new Instance(this, options));\n\n      $$1(this).on('click', function(e) {\n        const instance = $$1.data(this, 'slidePanel');\n        SlidePanel.show(instance);\n\n        e.preventDefault();\n        e.stopPropagation();\n      });\n    }\n  });\n};\n\n$$1.fn.slidePanel = jQuerySlidePanel;\n\n$$1.slidePanel = function(...args) {\n  SlidePanel.show(...args);\n};\n\n$$1.extend($$1.slidePanel, {\n  setDefaults: function(options) {\n    $$1.extend(true, DEFAULTS, $$1.isPlainObject(options) && options);\n  },\n  noConflict: function() {\n    $$1.fn.slidePanel = OtherSlidePanel;\n    return jQuerySlidePanel;\n  }\n}, info, api);\n"]}