{"version":3,"sources":["https:\/\/dl-ice.spbstu.ru\/theme\/mooc\/amd\/src\/jquery-floatingscroll.js"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","i","t","exports","module","require","define","amd","jQuery","e","n","init","closest","length","this","scrollBody","container","visible","initWidget","updateAPI","syncWidget","addEventHandlers","widget","appendTo","css","width","scrollWidth","eventHandlers","$el","window","handlers","scroll","checkVisibility","resize","syncContainer","focusin","setTimeout","update.fscroll","namespace","destroy.fscroll","destroyAPI","forEach","bind","offsetWidth","s","getBoundingClientRect","o","bottom","innerHeight","document","documentElement","clientHeight","top","toggleClass","skipSyncContainer","skipSyncWidget","scrollLeft","clientWidth","left","unbind","remove","fn","floatingScroll","each","Object","create","hasOwnProperty","trigger","ready"],"mappings":"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","sourcesContent":["\"use strict\";\n! function(i, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? t(require(\"jquery\")) : \"function\" == typeof define && define.amd ? define([\"jquery\"], t) : t(i.jQuery)\n}(this, function(e) {\n var n = {\n init: function(i) {\n var t = i.closest(\".fl-scrolls-body\");\n t.length && (this.scrollBody = t), this.container = i[0], this.visible = !0, this.initWidget(), this.updateAPI(), this.syncWidget(), this.addEventHandlers()\n },\n initWidget: function() {\n var i = this.widget = e(\"
<\/div>\");\n e(\"
<\/div>\").appendTo(i).css({\n width: this.container.scrollWidth + \"px\"\n }), i.appendTo(this.container)\n },\n addEventHandlers: function() {\n var t = this;\n (t.eventHandlers = [{\n $el: t.scrollBody || e(window),\n handlers: {\n scroll: function() {\n t.checkVisibility()\n },\n resize: function() {\n t.updateAPI()\n }\n }\n }, {\n $el: t.widget,\n handlers: {\n scroll: function() {\n t.visible && t.syncContainer(!0)\n }\n }\n }, {\n $el: e(t.container),\n handlers: {\n scroll: function() {\n t.syncWidget(!0)\n },\n focusin: function() {\n setTimeout(function() {\n return t.syncWidget()\n }, 0)\n },\n \"update.fscroll\": function(i) {\n \"fscroll\" === i.namespace && t.updateAPI()\n },\n \"destroy.fscroll\": function(i) {\n \"fscroll\" === i.namespace && t.destroyAPI()\n }\n }\n }]).forEach(function(i) {\n var t = i.$el,\n n = i.handlers;\n return t.bind(n)\n })\n },\n checkVisibility: function() {\n var i = this.widget,\n t = this.container,\n n = this.scrollBody,\n e = i[0].scrollWidth <= i[0].offsetWidth;\n if (!e) {\n var s = t.getBoundingClientRect(),\n o = n ? n[0].getBoundingClientRect().bottom : window.innerHeight || document.documentElement.clientHeight;\n e = s.bottom <= o || s.top > o\n }\n this.visible === e && (this.visible = !e, i.toggleClass(\"fl-scrolls-hidden\"))\n },\n syncContainer: function(i) {\n void 0 === i && (i = !1), !0 !== this.skipSyncContainer ? (this.skipSyncWidget = i, this.container.scrollLeft = this.widget[0].scrollLeft) : this.skipSyncContainer = !1\n },\n syncWidget: function(i) {\n void 0 === i && (i = !1), !0 !== this.skipSyncWidget ? (this.skipSyncContainer = i, this.widget[0].scrollLeft = this.container.scrollLeft) : this.skipSyncWidget = !1\n },\n updateAPI: function() {\n var i = this.widget,\n t = this.container,\n n = this.scrollBody;\n i.width(t.clientWidth), n || i.css(\"left\", t.getBoundingClientRect().left + \"px\"), e(\"div\", i).width(t.scrollWidth), this.syncWidget(), this.checkVisibility()\n },\n destroyAPI: function() {\n this.eventHandlers.forEach(function(i) {\n var t = i.$el,\n n = i.handlers;\n return t.unbind(n)\n }), this.widget.remove(), this.eventHandlers = this.widget = this.container = this.scrollBody = null\n }\n };\n e.fn.floatingScroll = function(i) {\n return void 0 === i && (i = \"init\"), \"init\" === i ? this.each(function(i, t) {\n return Object.create(n).init(e(t))\n }) : n.hasOwnProperty(i + \"API\") && this.trigger(i + \".fscroll\"), this\n }, e(document).ready(function() {\n e(\"body [data-fl-scrolls]\").floatingScroll()\n })\n});"],"file":"jquery-floatingscroll.min.js"}