{"version":3,"file":"appear.min.js","sources":["https:\/\/www.moodlemediterrani.com\/moodle\/theme\/snap\/amd\/src\/appear.js"],"sourcesContent":["\/\/ jshint ignore: start\ndefine(['jquery'],\n function(jQuery) {\n\n \/*\n * jQuery appear plugin\n *\n * Copyright (c) 2012 Andrey Sidorov\n * licensed under MIT license.\n *\n * https:\/\/github.com\/morr\/jquery.appear\/\n *\n * Version: 0.3.6\n *\/\n (function($) {\n var selectors = [];\n\n var check_binded = false;\n var check_lock = false;\n var defaults = {\n interval: 250,\n force_process: false\n };\n var options = {}; \/\/ GT Mod, place options in scope for entire library.\n var $window = $(window);\n\n var $prior_appeared = [];\n\n function appeared(selector) {\n return $(selector).filter(function() {\n return $(this).is(':appeared');\n });\n }\n\n function process() {\n check_lock = false;\n for (var index = 0, selectorsLength = selectors.length; index < selectorsLength; index++) {\n var $appeared = appeared(selectors[index]);\n\n $appeared.trigger('appear', [$appeared]);\n\n if ($prior_appeared[index]) {\n var $disappeared = $prior_appeared[index].not($appeared);\n $disappeared.trigger('disappear', [$disappeared]);\n }\n $prior_appeared[index] = $appeared;\n }\n }\n\n function add_selector(selector) {\n selectors.push(selector);\n $prior_appeared.push();\n }\n\n \/\/ \"appeared\" custom filter\n $.expr[':'].appeared = function(element) {\n var $element = $(element);\n if (!$element.is(':visible')) {\n return false;\n }\n\n var window_left = $window.scrollLeft();\n var window_top = $window.scrollTop();\n var offset = $element.offset();\n var left = offset.left;\n var top = offset.top;\n\n \/\/ GT Mod - use options variable for offsets if data attribute not set.\n var appeartopoffset = $element.data('appear-top-offset') || (options.appeartopoffset || 0);\n var appearleftoffset = $element.data('appear-left-offset') || (options.appearleftoffset || 0);\n\n if (top + $element.height() + appeartopoffset >= window_top &&\n top - appeartopoffset <= window_top + $window.height() &&\n left + $element.width() + appearleftoffset >= window_left &&\n left - appearleftoffset <= window_left + $window.width()) {\n return true;\n } else {\n return false;\n }\n };\n\n $.fn.extend({\n \/\/ watching for element's appearance in browser viewport\n appear: function(opts) {\n \/\/ GT Mod, set options variable which is declared within scope of entire module.\n options = $.extend({}, defaults, opts || {});\n var selector = this.selector || this;\n if (!check_binded) {\n var on_check = function() {\n if (check_lock) {\n return;\n }\n check_lock = true;\n\n setTimeout(process, options.interval);\n };\n\n $(window).scroll(on_check).resize(on_check);\n $('.appear_enabled').scroll(on_check);\n check_binded = true;\n }\n\n if (options.force_process) {\n setTimeout(process, options.interval);\n }\n add_selector(selector);\n return $(selector);\n }\n });\n\n $.extend({\n \/\/ force elements's appearance check\n force_appear: function() {\n if (check_binded) {\n process();\n return true;\n }\n return false;\n }\n });\n })(function() {\n if (typeof module !== 'undefined') {\n \/\/ Node\n return require('jquery');\n } else {\n return jQuery;\n }\n }());\n\n return jQuery;\n\n }\n);\n"],"names":["define","jQuery","$","selectors","check_binded","check_lock","defaults","interval","force_process","options","$window","window","$prior_appeared","process","index","selectorsLength","length","$appeared","selector","filter","this","is","trigger","$disappeared","not","expr","appeared","element","$element","window_left","scrollLeft","window_top","scrollTop","offset","left","top","appeartopoffset","data","appearleftoffset","height","width","fn","extend","appear","opts","on_check","setTimeout","scroll","resize","push","add_selector","force_appear","module","require"],"mappings":"AACAA,2BAAO,CAAC,WACJ,SAASC,wBAYMC,OACHC,UAAY,GAEZC,cAAe,EACfC,YAAa,EACbC,SAAW,CACXC,SAAU,IACVC,eAAe,GAEfC,QAAU,GACVC,QAAUR,EAAES,QAEZC,gBAAkB,YAQbC,UACLR,YAAa,MACR,IAAIS,MAAQ,EAAGC,gBAAkBZ,UAAUa,OAAQF,MAAQC,gBAAiBD,QAAS,KAClFG,WATMC,SASef,UAAUW,OARhCZ,EAAEgB,UAAUC,QAAO,kBACfjB,EAAEkB,MAAMC,GAAG,oBASlBJ,UAAUK,QAAQ,SAAU,CAACL,YAEzBL,gBAAgBE,OAAQ,KACpBS,aAAeX,gBAAgBE,OAAOU,IAAIP,WAC9CM,aAAaD,QAAQ,YAAa,CAACC,eAEvCX,gBAAgBE,OAASG,cAjBfC,SA2BlBhB,EAAEuB,KAAK,KAAKC,SAAW,SAASC,aACxBC,SAAW1B,EAAEyB,aACZC,SAASP,GAAG,mBACN,MAGPQ,YAAcnB,QAAQoB,aACtBC,WAAarB,QAAQsB,YACrBC,OAASL,SAASK,SAClBC,KAAOD,OAAOC,KACdC,IAAMF,OAAOE,IAGbC,gBAAkBR,SAASS,KAAK,sBAAyB5B,QAAQ2B,iBAAmB,EACpFE,iBAAmBV,SAASS,KAAK,uBAA0B5B,QAAQ6B,kBAAoB,SAEvFH,IAAMP,SAASW,SAAWH,iBAAmBL,YAC7CI,IAAMC,iBAAmBL,WAAarB,QAAQ6B,UAC9CL,KAAON,SAASY,QAAUF,kBAAoBT,aAC9CK,KAAOI,kBAAoBT,YAAcnB,QAAQ8B,SAOzDtC,EAAEuC,GAAGC,OAAO,CAERC,OAAQ,SAASC,MAEbnC,QAAUP,EAAEwC,OAAO,GAAIpC,SAAUsC,MAAQ,QACrC1B,SAAWE,KAAKF,UAAYE,SAC3BhB,aAAc,KACXyC,SAAW,WACPxC,aAGJA,YAAa,EAEbyC,WAAWjC,QAASJ,QAAQF,YAGhCL,EAAES,QAAQoC,OAAOF,UAAUG,OAAOH,UAClC3C,EAAE,mBAAmB6C,OAAOF,UAC5BzC,cAAe,SAGfK,QAAQD,eACRsC,WAAWjC,QAASJ,QAAQF,mBAtDlBW,UAClBf,UAAU8C,KAAK\/B,UACfN,gBAAgBqC,OAsDZC,CAAahC,UACNhB,EAAEgB,aAIjBhB,EAAEwC,OAAO,CAELS,aAAc,mBACN\/C,eACAS,WACO,OAMG,oBAAXuC,OAEAC,QAAQ,UAERpD,QAIRA"}