!function(n,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.HSGoTo=t():n.HSGoTo=t()}(window,function(){return d={"./src/js/hs-go-to.js":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return HSGoTo; });\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar HSGoTo = /*#__PURE__*/function () {\n function HSGoTo(elem, settings) {\n _classCallCheck(this, HSGoTo);\n\n this.elem = elem;\n this.defaults = {\n pageContainerSelector: 'html, body',\n targetSelector: null,\n compensationSelector: null,\n animationInit: 'animated',\n animationIn: 'fadeInUp',\n animationOut: 'fadeOutDown',\n duration: 800,\n offsetTop: 0,\n position: {\n init: null,\n hide: null,\n show: null\n },\n isReferencedToOtherPage: null,\n preventEventClass: 'hs-go-to-prevent-event'\n };\n this.settings = settings;\n }\n\n _createClass(HSGoTo, [{\n key: \"init\",\n value: function init() {\n var context = this,\n $el = context.elem,\n dataSettings = $el.attr('data-hs-go-to-options') ? JSON.parse($el.attr('data-hs-go-to-options')) : {},\n options = Object.assign({}, context.defaults, dataSettings, context.settings);\n\n options.targetOffsetTop = function () {\n if ($(options.compensationSelector).length) {\n return $(options.targetSelector) ? $(options.targetSelector).offset().top - $(options.compensationSelector).outerHeight() : 0;\n } else {\n return $(options.targetSelector).length ? $(options.targetSelector).offset().top : 0;\n }\n };\n\n context._prepareObject($el, options); // Set Position\n\n\n if (options.position) {\n context._setPosition($el, options.position.init);\n } // Click Events\n\n\n $el.on('click', function (e) {\n context._clickEvents($el, options, e);\n }); // Scroll Events\n\n if (options.animationIn && options.animationOut) {\n $(window).on('scroll', function () {\n context._scrollEvents($el, options);\n });\n }\n }\n }, {\n key: \"_prepareObject\",\n value: function _prepareObject(el, params) {\n var options = params;\n\n if (params.animationIn && params.animationOut) {\n if (navigator.userAgent.match('MSIE 10.0;')) {\n $('html').addClass('ie10');\n }\n\n el.addClass(\"\".concat(options.animationInit, \" \").concat(options.animationOut, \" \").concat(options.preventEventClass));\n }\n }\n }, {\n key: \"_setPosition\",\n value: function _setPosition(el, params) {\n var options = params;\n el.css(options);\n }\n }, {\n key: \"_clickEvents\",\n value: function _clickEvents(el, params, event) {\n var options = params;\n\n if (!options.isReferencedToOtherPage) {\n if (event) {\n event.preventDefault();\n }\n\n $(options.pageContainerSelector).stop().animate({\n scrollTop: options.targetOffsetTop()\n }, options.duration);\n }\n }\n }, {\n key: \"_scrollEvents\",\n value: function _scrollEvents(el, params) {\n var options = params;\n el.css('visibility', '');\n\n if ($(window).scrollTop() >= options.offsetTop) {\n if (options.position.show) {\n el.css(options.position.show);\n }\n\n el.removeClass(options.animationOut).addClass(options.animationIn);\n } else {\n if (options.position.hide) {\n el.css(options.position.hide);\n }\n\n el.removeClass(options.animationIn).addClass(options.animationOut);\n }\n }\n }]);\n\n return HSGoTo;\n}();\n\n\n\n//# sourceURL=webpack://HSGoTo/./src/js/hs-go-to.js?")}},e={},f.m=d,f.c=e,f.d=function(n,t,e){f.o(n,t)||Object.defineProperty(n,t,{enumerable:!0,get:e})},f.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},f.t=function(t,n){if(1&n&&(t=f(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(f.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)f.d(e,o,function(n){return t[n]}.bind(null,o));return e},f.n=function(n){var t=n&&n.__esModule?function(){return n.default}:function(){return n};return f.d(t,"a",t),t},f.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},f.p="",f(f.s="./src/js/hs-go-to.js").default;function f(n){if(e[n])return e[n].exports;var t=e[n]={i:n,l:!1,exports:{}};return d[n].call(t.exports,t,t.exports,f),t.l=!0,t.exports}var d,e});