PageSourceSearch

https://jasper.co.za/webmodules/common/remodal/src/remodal.min.js

js jasper.co.za collected 2026-10-08 05:52:21 UTC 10,735 bytes, 1 lines download raw bytes

1!function(root,factory){"function"==typeof define&&define.amd?define(["jquery"],(function($){return factory(root,$)})):"object"==typeof exports?factory(root,require("jquery")):factory(root,root.jQuery||root.Zepto)}(this,(function(global,$){"use strict";var style,current,scrollTop,NAMESPACE=global.REMODAL_GLOBALS&&global.REMODAL_GLOBALS.NAMESPACE||"remodal",ANIMATIONSTART_EVENTS=$.map(["animationstart","webkitAnimationStart","MSAnimationStart","oAnimationStart"],(function(eventName){return eventName+"."+NAMESPACE})).join(" "),ANIMATIONEND_EVENTS=$.map(["animationend","webkitAnimationEnd","MSAnimationEnd","oAnimationEnd"],(function(eventName){return eventName+"."+NAMESPACE})).join(" "),DEFAULTS=$.extend({hashTracking:!0,closeOnConfirm:!0,closeOnCancel:!0,closeOnEscape:!0,closeOnOutsideClick:!0,modifier:""},global.REMODAL_GLOBALS&&global.REMODAL_GLOBALS.DEFAULTS),STATES_CLOSING="closing",STATES_CLOSED="closed",STATES_OPENING="opening",STATES_OPENED="opened",STATE_CHANGE_REASONS_CONFIRMATION="confirmation",STATE_CHANGE_REASONS_CANCELLATION="cancellation",IS_ANIMATION=void 0!==(style=document.createElement("div").style).animationName||void 0!==style.WebkitAnimationName||void 0!==style.MozAnimationName||void 0!==style.msAnimationName||void 0!==style.OAnimationName,IS_IOS=/iPad|iPhone|iPod/.test(navigator.platform);function getAnimationDuration($elem){if(IS_ANIMATION&&"none"===$elem.css("animation-name")&&"none"===$elem.css("-webkit-animation-name")&&"none"===$elem.css("-moz-animation-name")&&"none"===$elem.css("-o-animation-name")&&"none"===$elem.css("-ms-animation-name"))return 0;var max,len,num,i,duration=$elem.css("animation-duration")||$elem.css("-webkit-animation-duration")||$elem.css("-moz-animation-duration")||$elem.css("-o-animation-duration")||$elem.css("-ms-animation-duration")||"0s",delay=$elem.css("animation-delay")||$elem.css("-webkit-animation-delay")||$elem.css("-moz-animation-delay")||$elem.css("-o-animation-delay")||$elem.css("-ms-animation-delay")||"0s",iterationCount=$elem.css("animation-iteration-count")||$elem.css("-webkit-animation-iteration-count")||$elem.css("-moz-animation-iteration-count")||$elem.css("-o-animation-iteration-count")||$elem.css("-ms-animation-iteration-count")||"1";for(duration=duration.split(", "),delay=delay.split(", "),iterationCount=iterationCount.split(", "),i=0,len=duration.length,max=Number.NEGATIVE_INFINITY;i<len;i++)(num=parseFloat(duration[i])*parseInt(iterationCount[i],10)+parseFloat(delay[i]))>max&&(max=num);return max}function getScrollbarWidth(){if($(document.body).height()<=$(window).height())return 0;var widthNoScroll,widthWithScroll,outer=document.createElement("div"),inner=document.createElement("div");return outer.style.visibility="hidden",outer.style.width="100px",document.body.appendChild(outer),widthNoScroll=outer.offsetWidth,outer.style.overflow="scroll",inner.style.width="100%",outer.appendChild(inner),widthWithScroll=inner.offsetWidth,outer.parentNode.removeChild(outer),widthNoScroll-widthWithScroll}function unlockScreen(){if(!IS_IOS){var paddingRight,$body,$html=$("html"),lockedClass=namespacify("is-locked");$html.hasClass(lockedClass)&&($body=$(document.body),paddingRight=parseInt($body.css("padding-right"),10)-getScrollbarWidth(),$body.css("padding-right",paddingRight+"px"),$html.removeClass(lockedClass))}}function setState(instance,state,isSilent,reason){var newState=namespacify("is",state),allStates=[namespacify("is",STATES_CLOSING),namespacify("is",STATES_OPENING),namespacify("is",STATES_CLOSED),namespacify("is",STATES_OPENED)].join(" ");instance.$bg.removeClass(allStates).addClass(newState),instance.$overlay.removeClass(allStates).addClass(newState),instance.$wrapper.removeClass(allStates).addClass(newState),instance.$modal.removeClass(allStates).addClass(newState),instance.state=state,!isSilent&&instance.$modal.trigger({type:state,reason:reason},[{reason:reason}])}function syncWithAnimation(doBeforeAnimation,doAfterAnimation,instance){var runningAnimationsCount=0,handleAnimationStart=function(e){e.target===this&&runningAnimationsCount++},handleAnimationEnd=function(e){e.target===this&&0==--runningAnimationsCount&&($.each(["$bg","$overlay","$wrapper","$modal"],(function(index,elemName){instance[elemName].off(ANIMATIONSTART_EVENTS+" "+ANIMATIONEND_EVENTS)})),doAfterAnimation())};$.each(["$bg","$overlay","$wrapper","$modal"],(function(index,elemName){instance[elemName].on(ANIMATIONSTART_EVENTS,handleAnimationStart).on(ANIMATIONEND_EVENTS,handleAnimationEnd)})),doBeforeAnimation(),0===getAnimationDuration(instance.$bg)&&0===getAnimationDuration(instance.$overlay)&&0===getAnimationDuration(instance.$wrapper)&&0===getAnimationDuration(instance.$modal)&&($.each(["$bg","$overlay","$wrapper","$modal"],(function(index,elemName){instance[elemName].off(ANIMATIONSTART_EVENTS+" "+ANIMATIONEND_EVENTS)})),doAfterAnimation())}function halt(instance){instance.state!==STATES_CLOSED&&($.each(["$bg","$overlay","$wrapper","$modal"],(function(index,elemName){instance[elemName].off(ANIMATIONSTART_EVENTS+" "+ANIMATIONEND_EVENTS)})),instance.$bg.removeClass(instance.settings.modifier),instance.$overlay.removeClass(instance.settings.modifier).hide(),instance.$wrapper.hide(),unlockScreen(),setState(instance,STATES_CLOSED,!0))}function namespacify(){for(var result=NAMESPACE,i=0;i<arguments.length;++i)result+="-"+arguments[i];return result}function handleHashChangeEvent(){var instance,$elem,id=location.hash.replace("#","");if(id){try{$elem=$('[data-remodal-id="'+id+'"]')}catch(err){}$elem&&$elem.length&&(instance=$.remodal.lookup[$elem.data("remodal")])&&instance.settings.hashTracking&&instance.open()}else current&&current.state===STATES_OPENED&&current.settings.hashTracking&&current.close()}function Remodal($modal,options){var $body=$(document.body),remodal=this;remodal.settings=$.extend({},DEFAULTS,options),remodal.index=$.remodal.lookup.push(remodal)-1,remodal.state=STATES_CLOSED,remodal.$overlay=$("."+namespacify("overlay")),remodal.$overlay.length||(remodal.$overlay=$("<div>").addClass(namespacify("overlay")+" "+namespacify("is",STATES_CLOSED)).hide(),$body.append(remodal.$overlay)),remodal.$bg=$("."+namespacify("bg")).addClass(namespacify("is",STATES_CLOSED)),remodal.$modal=$modal.addClass(NAMESPACE+" "+namespacify("is-initialized")+" "+remodal.settings.modifier+" "+namespacify("is",STATES_CLOSED)).attr("tabindex","-1"),remodal.$wrapper=$("<div>").addClass(namespacify("wrapper")+" "+remodal.settings.modifier+" "+namespacify("is",STATES_CLOSED)).hide().append(remodal.$modal),$body.append(remodal.$wrapper),remodal.$wrapper.on("click."+NAMESPACE,'[data-remodal-action="close"]',(function(e){e.preventDefault(),remodal.close()})),remodal.$wrapper.on("click."+NAMESPACE,'[data-remodal-action="cancel"]',(function(e){e.preventDefault(),remodal.$modal.trigger(STATE_CHANGE_REASONS_CANCELLATION),remodal.settings.closeOnCancel&&remodal.close(STATE_CHANGE_REASONS_CANCELLATION)})),remodal.$wrapper.on("click."+NAMESPACE,'[data-remodal-action="confirm"]',(function(e){e.preventDefault(),remodal.$modal.trigger(STATE_CHANGE_REASONS_CONFIRMATION),remodal.settings.closeOnConfirm&&remodal.close(STATE_CHANGE_REASONS_CONFIRMATION)})),remodal.$wrapper.on("click."+NAMESPACE,(function(e){$(e.target).hasClass(namespacify("wrapper"))&&remodal.settings.closeOnOutsideClick&&remodal.close()}))}Remodal.prototype.open=function(){var remodal=this;remodal.state!==STATES_OPENING&&remodal.state!==STATES_CLOSING&&(remodal.$modal.attr("data-remodal-id")&&remodal.settings.hashTracking&&(scrollTop=$(window).scrollTop()),current&&current!==remodal&&halt(current),current=remodal,function lockScreen(){if(!IS_IOS){var paddingRight,$body,$html=$("html"),lockedClass=namespacify("is-locked");$html.hasClass(lockedClass)||($body=$(document.body),paddingRight=parseInt($body.css("padding-right"),10)+getScrollbarWidth(),$body.css("padding-right",paddingRight+"px"),$html.addClass(lockedClass))}}(),remodal.$bg.addClass(remodal.settings.modifier),remodal.$overlay.addClass(remodal.settings.modifier).show(),remodal.$wrapper.show().scrollTop(0),remodal.$modal.focus(),syncWithAnimation((function(){setState(remodal,STATES_OPENING)}),(function(){setState(remodal,STATES_OPENED)}),remodal))},Remodal.prototype.close=function(reason){var remodal=this;remodal.state!==STATES_OPENING&&remodal.state!==STATES_CLOSING&&(remodal.settings.hashTracking&&remodal.$modal.attr("data-remodal-id")===location.hash.substr(1)&&(location.hash="",$(window).scrollTop(scrollTop)),syncWithAnimation((function(){setState(remodal,STATES_CLOSING,!1,reason)}),(function(){remodal.$bg.removeClass(remodal.settings.modifier),remodal.$overlay.removeClass(remodal.settings.modifier).hide(),remodal.$wrapper.hide(),unlockScreen(),setState(remodal,STATES_CLOSED,!1,reason)}),remodal))},Remodal.prototype.getState=function(){return this.state},Remodal.prototype.destroy=function(){var lookup=$.remodal.lookup;halt(this),this.$wrapper.remove(),delete lookup[this.index],0===$.grep(lookup,(function(instance){return!!instance})).length&&(this.$overlay.remove(),this.$bg.removeClass(namespacify("is",STATES_CLOSING)+" "+namespacify("is",STATES_OPENING)+" "+namespacify("is",STATES_CLOSED)+" "+namespacify("is",STATES_OPENED)))},$.remodal={lookup:[]},$.fn.remodal=function(opts){var instance,$elem;return this.each((function(index,elem){null==($elem=$(elem)).data("remodal")?(instance=new Remodal($elem,opts),$elem.data("remodal",instance.index),instance.settings.hashTracking&&$elem.attr("data-remodal-id")===location.hash.substr(1)&&instance.open()):instance=$.remodal.lookup[$elem.data("remodal")]}
1)),instance},$(window).on("load",(function(){$(document).on("click","[data-remodal-target]",(function(e){e.preventDefault();var id=e.currentTarget.getAttribute("data-remodal-target"),$target=$('[data-remodal-id="'+id+'"]');$.remodal.lookup[$target.data("remodal")].open()})),$(document).find("."+NAMESPACE).each((function(i,container){var $container=$(container),options=$container.data("remodal-options");options?("string"==typeof options||options instanceof String)&&(options=function parseOptions(str){var arr,len,val,i,obj={};for(i=0,len=(arr=(str=str.replace(/\s*:\s*/g,":").replace(/\s*,\s*/g,",")).split(",")).length;i<len;i++)arr[i]=arr[i].split(":"),("string"==typeof(val=arr[i][1])||val instanceof String)&&(val="true"===val||"false"!==val&&val),("string"==typeof val||val instanceof String)&&(val=isNaN(val)?val:+val),obj[arr[i][0]]=val;return obj}(options)):options={},$container.remodal(options)})),$(document).on("keydown."+NAMESPACE,(function(e){current&&current.settings.closeOnEscape&&current.state===STATES_OPENED&&27===e.keyCode&&current.close()})),$(window).on("hashchange."+NAMESPACE,handleHashChangeEvent)}))}));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.