{"version":3,"sources":["jsdelivr-header.js","/wp/plugins/mtouch-quiz/tags/2.1.3/scrollable.js"],"names":[],"mappings":"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","file":"/wp/plugins/mtouch-quiz/tags/2.1.3/scrollable.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.48.0.\n * Original file: /wp/plugins/mtouch-quiz/tags/2.1.3/scrollable.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/**\n * @license \n * jQuery Tools 1.2.5 Scrollable - New wave UI design\n * \n * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.\n * \n * http://flowplayer.org/tools/scrollable.html\n *\n * Since: March 2008\n * Date:    Wed Sep 22 06:02:10 2010 +0000 \n */\n(function($) { \n\n\t// static constructs\n\t$.tools = $.tools || {version: '1.2.5'};\n\t\n\t$.tools.scrollable = {\n\t\t\n\t\tconf: {\t\n\t\t\tactiveClass: 'active',\n\t\t\tcircular: false,\n\t\t\tclonedClass: 'cloned',\n\t\t\tdisabledClass: 'disabled',\n\t\t\teasing: 'swing',\n\t\t\tinitialIndex: 0,\n\t\t\titem: null,\n\t\t\titems: '.items',\n\t\t\tkeyboard: true,\n\t\t\tmousewheel: false,\n\t\t\tnext: '.next',   \n\t\t\tprev: '.prev', \n\t\t\tspeed: 400,\n\t\t\tvertical: false,\n\t\t\ttouch: true,\n\t\t\twheelSpeed: 0\n\t\t} \n\t};\n\t\t\t\t\t\n\t// get hidden element's width or height even though it's hidden\n\tfunction dim(el, key) {\n\t\tvar v = parseInt(el.css(key), 10);\n\t\tif (v) { return v; }\n\t\tvar s = el[0].currentStyle; \n\t\treturn s && s.width && parseInt(s.width, 10);\t\n\t}\n\n\tfunction find(root, query) { \n\t\tvar el = $(query);\n\t\treturn el.length < 2 ? el : root.parent().find(query);\n\t}\n\t\n\tvar current;\t\t\n\t\n\t// constructor\n\tfunction Scrollable(root, conf) {   \n\t\t\n\t\t// current instance\n\t\tvar self = this, \n\t\t\t fire = root.add(self),\n\t\t\t itemWrap = root.children(),\n\t\t\t index = 0,\n\t\t\t vertical = conf.vertical;\n\t\t\t\t\n\t\tif (!current) { current = self; } \n\t\tif (itemWrap.length > 1) { itemWrap = $(conf.items, root); }\n\t\t\n\t\t// methods\n\t\t$.extend(self, {\n\t\t\t\t\n\t\t\tgetConf: function() {\n\t\t\t\treturn conf;\t\n\t\t\t},\t\t\t\n\t\t\t\n\t\t\tgetIndex: function() {\n\t\t\t\treturn index;\t\n\t\t\t}, \n\n\t\t\tgetSize: function() {\n\t\t\t\treturn self.getItems().size();\t\n\t\t\t},\n\n\t\t\tgetNaviButtons: function() {\n\t\t\t\treturn prev.add(next);\t\n\t\t\t},\n\t\t\t\n\t\t\tgetRoot: function() {\n\t\t\t\treturn root;\t\n\t\t\t},\n\t\t\t\n\t\t\tgetItemWrap: function() {\n\t\t\t\treturn itemWrap;\t\n\t\t\t},\n\t\t\t\n\t\t\tgetItems: function() {\n\t\t\t\treturn itemWrap.children(conf.item).not(\".\" + conf.clonedClass);\t\n\t\t\t},\n\t\t\t\t\t\t\t\n\t\t\tmove: function(offset, time) {\n\t\t\t\treturn self.seekTo(index + offset, time);\n\t\t\t},\n\t\t\t\n\t\t\tnext: function(time) {\n\t\t\t\treturn self.move(1, time);\t\n\t\t\t},\n\t\t\t\n\t\t\tprev: function(time) {\n\t\t\t\treturn self.move(-1, time);\t\n\t\t\t},\n\t\t\t\n\t\t\tbegin: function(time) {\n\t\t\t\treturn self.seekTo(0, time);\t\n\t\t\t},\n\t\t\t\n\t\t\tend: function(time) {\n\t\t\t\treturn self.seekTo(self.getSize() -1, time);\t\n\t\t\t},\t\n\t\t\t\n\t\t\tfocus: function() {\n\t\t\t\tcurrent = self;\n\t\t\t\treturn self;\n\t\t\t},\n\t\t\t\n\t\t\taddItem: function(item) {\n\t\t\t\titem = $(item);\n\t\t\t\t\n\t\t\t\tif (!conf.circular)  {\n\t\t\t\t\titemWrap.append(item);\n\t\t\t\t} else {\n\t\t\t\t\titemWrap.children(\".\" + conf.clonedClass + \":last\").before(item);\n\t\t\t\t\titemWrap.children(\".\" + conf.clonedClass + \":first\").replaceWith(item.clone().addClass(conf.clonedClass)); \t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfire.trigger(\"onAddItem\", [item]);\n\t\t\t\treturn self;\n\t\t\t},\n\t\t\t\n\t\t\t\n\t\t\t/* all seeking functions depend on this */\t\t\n\t\t\tseekTo: function(i, time, fn) {\t\n\t\t\t\t\n\t\t\t\t// ensure numeric index\n\t\t\t\tif (!i.jquery) { i *= 1; }\n\t\t\t\t\n\t\t\t\t// avoid seeking from end clone to the beginning\n\t\t\t\tif (conf.circular && i === 0 && index == -1 && time !== 0) { return self; }\n\t\t\t\t\n\t\t\t\t// check that index is sane\t\t\t\t\n\t\t\t\tif (!conf.circular && i < 0 || i > self.getSize() || i < -1) { return self; }\n\t\t\t\t\n\t\t\t\tvar item = i;\n\t\t\t\n\t\t\t\tif (i.jquery) {\n\t\t\t\t\ti = self.getItems().index(i);\t\n\t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\titem = self.getItems().eq(i);\n\t\t\t\t}  \n\t\t\t\t\n\t\t\t\t// onBeforeSeek\n\t\t\t\tvar e = $.Event(\"onBeforeSeek\"); \n\t\t\t\tif (!fn) {\n\t\t\t\t\tfire.trigger(e, [i, time]);\t\t\t\t\n\t\t\t\t\tif (e.isDefaultPrevented() || !item.length) { return self; }\t\t\t\n\t\t\t\t}  \n\t\n\t\t\t\tvar props = vertical ? {top: -item.position().top} : {left: -item.position().left};  \n\t\t\t\t\n\t\t\t\tindex = i;\n\t\t\t\tcurrent = self;  \n\t\t\t\tif (time === undefined) { time = conf.speed; }   \n\t\t\t\t\n\t\t\t\titemWrap.animate(props, time, conf.easing, fn || function() { \n\t\t\t\t\tfire.trigger(\"onSeek\", [i]);\t\t\n\t\t\t\t});\t \n\t\t\t\t\n\t\t\t\treturn self; \n\t\t\t}\t\t\t\t\t\n\t\t\t\n\t\t});\n\t\t\t\t\n\t\t// callbacks\t\n\t\t$.each(['onBeforeSeek', 'onSeek', 'onAddItem'], function(i, name) {\n\t\t\t\t\n\t\t\t// configuration\n\t\t\tif ($.isFunction(conf[name])) { \n\t\t\t\t$(self).bind(name, conf[name]); \n\t\t\t}\n\t\t\t\n\t\t\tself[name] = function(fn) {\n\t\t\t\tif (fn) { $(self).bind(name, fn); }\n\t\t\t\treturn self;\n\t\t\t};\n\t\t});  \n\t\t\n\t\t// circular loop\n\t\tif (conf.circular) {\n\t\t\t\n\t\t\tvar cloned1 = self.getItems().slice(-1).clone().prependTo(itemWrap),\n\t\t\t\t cloned2 = self.getItems().eq(1).clone().appendTo(itemWrap);\n\t\t\t\t\n\t\t\tcloned1.add(cloned2).addClass(conf.clonedClass);\n\t\t\t\n\t\t\tself.onBeforeSeek(function(e, i, time) {\n\n\t\t\t\t\n\t\t\t\tif (e.isDefaultPrevented()) { return; }\n\t\t\t\t\n\t\t\t\t/*\n\t\t\t\t\t1. animate to the clone without event triggering\n\t\t\t\t\t2. seek to correct position with 0 speed\n\t\t\t\t*/\n\t\t\t\tif (i == -1) {\n\t\t\t\t\tself.seekTo(cloned1, time, function()  {\n\t\t\t\t\t\tself.end(0);\t\t\n\t\t\t\t\t});          \n\t\t\t\t\treturn e.preventDefault();\n\t\t\t\t\t\n\t\t\t\t} else if (i == self.getSize()) {\n\t\t\t\t\tself.seekTo(cloned2, time, function()  {\n\t\t\t\t\t\tself.begin(0);\t\t\n\t\t\t\t\t});\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t});\n\t\t\t\n\t\t\t// seek over the cloned item\n\t\t\tself.seekTo(0, 0, function() {});\n\t\t}\n\t\t\n\t\t// next/prev buttons\n\t\tvar prev = find(root, conf.prev).click(function() { self.prev(); }),\n\t\t\t next = find(root, conf.next).click(function() { self.next(); });\t\n\t\t\n\t\tif (!conf.circular && self.getSize() > 1) {\n\t\t\t\n\t\t\tself.onBeforeSeek(function(e, i) {\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tif (!e.isDefaultPrevented()) {\n\t\t\t\t\t\tprev.toggleClass(conf.disabledClass, i <= 0);\n\t\t\t\t\t\tnext.toggleClass(conf.disabledClass, i >= self.getSize() -1);\n\t\t\t\t\t}\n\t\t\t\t}, 1);\n\t\t\t}); \n\t\t\t\n\t\t\tif (!conf.initialIndex) {\n\t\t\t\tprev.addClass(conf.disabledClass);\t\n\t\t\t}\n\t\t}\n\t\t\t\n\t\t// mousewheel support\n\t\tif (conf.mousewheel && $.fn.mousewheel) {\n\t\t\troot.mousewheel(function(e, delta)  {\n\t\t\t\tif (conf.mousewheel) {\n\t\t\t\t\tself.move(delta < 0 ? 1 : -1, conf.wheelSpeed || 50);\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t});\t\t\t\n\t\t}\n\t\t\n\t\t// touch event\n\t\tif (conf.touch) {\n\t\t\tvar touch = {};\n\t\t\t\n\t\t\titemWrap[0].ontouchstart = function(e) {\n\t\t\t\tvar t = e.touches[0];\n\t\t\t\ttouch.x = t.clientX;\n\t\t\t\ttouch.y = t.clientY;\n\t\t\t};\n\t\t\t\n\t\t\titemWrap[0].ontouchmove = function(e) {\n\t\t\t\t\n\t\t\t\t// only deal with one finger\n\t\t\t\tif (e.touches.length == 1 && !itemWrap.is(\":animated\")) {\t\t\t\n\t\t\t\t\tvar t = e.touches[0],\n\t\t\t\t\t\t deltaX = touch.x - t.clientX,\n\t\t\t\t\t\t deltaY = touch.y - t.clientY;\n\t\n\t\t\t\t\tself[vertical && deltaY > 0 || !vertical && deltaX > 0 ? 'next' : 'prev']();\t\t\t\t\n\t\t\t\t\te.preventDefault();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\t\n\t\tif (conf.keyboard)  {\n\t\t\t\n\t\t\t$(document).bind(\"keydown.scrollable\", function(evt) {\n\n\t\t\t\t// skip certain conditions\n\t\t\t\tif (!conf.keyboard || evt.altKey || evt.ctrlKey || $(evt.target).is(\":input\")) { return; }\n\t\t\t\t\n\t\t\t\t// does this instance have focus?\n\t\t\t\tif (conf.keyboard != 'static' && current != self) { return; }\n\t\t\t\t\t\n\t\t\t\tvar key = evt.keyCode;\n\t\t\t\n\t\t\t\tif (vertical && (key == 38 || key == 40)) {\n\t\t\t\t\tself.move(key == 38 ? -1 : 1);\n\t\t\t\t\treturn evt.preventDefault();\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (!vertical && (key == 37 || key == 39)) {\t\t\t\t\t\n\t\t\t\t\tself.move(key == 37 ? -1 : 1);\n\t\t\t\t\treturn evt.preventDefault();\n\t\t\t\t}\t  \n\t\t\t\t\n\t\t\t});  \n\t\t}\n\t\t\n\t\t// initial index\n\t\tif (conf.initialIndex) {\n\t\t\tself.seekTo(conf.initialIndex, 0, function() {});\n\t\t}\n\t} \n\n\t\t\n\t// jQuery plugin implementation\n\t$.fn.scrollable = function(conf) { \n\t\t\t\n\t\t// already constructed --> return API\n\t\tvar el = this.data(\"scrollable\");\n\t\tif (el) { return el; }\t\t \n\n\t\tconf = $.extend({}, $.tools.scrollable.conf, conf); \n\t\t\n\t\tthis.each(function() {\t\t\t\n\t\t\tel = new Scrollable($(this), conf);\n\t\t\t$(this).data(\"scrollable\", el);\t\n\t\t});\n\t\t\n\t\treturn conf.api ? el: this; \n\t\t\n\t};\n\t\t\t\n\t\n})(jQuery);\n"]}