Socket
Socket
Sign inDemoInstall

@pelagiccreatures/sargasso

Package Overview
Dependencies
2
Maintainers
1
Versions
88
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.10.6 to 0.11.0

tests/test.html

2

dist/sargasso.iife.js

@@ -1,2 +0,2 @@

this.PelagicCreatures=this.PelagicCreatures||{},this.PelagicCreatures.Sargasso=function(e){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var s="object"==typeof t&&t&&t.Object===Object&&t,i="object"==typeof self&&self&&self.Object===Object&&self,n=s||i||Function("return this")(),r=n.Symbol;var o=function(e,t){for(var s=-1,i=null==e?0:e.length,n=Array(i);++s<i;)n[s]=t(e[s],s,e);return n},a=Array.isArray,l=Object.prototype,c=l.hasOwnProperty,u=l.toString,h=r?r.toStringTag:void 0;var d=function(e){var t=c.call(e,h),s=e[h];try{e[h]=void 0;var i=!0}catch(e){}var n=u.call(e);return i&&(t?e[h]=s:delete e[h]),n},p=Object.prototype.toString;var f=function(e){return p.call(e)},m=r?r.toStringTag:void 0;var g=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":m&&m in Object(e)?d(e):f(e)};var w=function(e){return null!=e&&"object"==typeof e};var v=function(e){return"symbol"==typeof e||w(e)&&"[object Symbol]"==g(e)},b=r?r.prototype:void 0,x=b?b.toString:void 0;var y=function e(t){if("string"==typeof t)return t;if(a(t))return o(t,e)+"";if(v(t))return x?x.call(t):"";var s=t+"";return"0"==s&&1/t==-Infinity?"-0":s};var E=function(e){return null==e?"":y(e)};var C=function(e,t,s){var i=-1,n=e.length;t<0&&(t=-t>n?0:n+t),(s=s>n?n:s)<0&&(s+=n),n=t>s?0:s-t>>>0,t>>>=0;for(var r=Array(n);++i<n;)r[i]=e[i+t];return r};var k=function(e,t,s){var i=e.length;return s=void 0===s?i:s,!t&&s>=i?e:C(e,t,s)},O=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var S=function(e){return O.test(e)};var A=function(e){return e.split("")},R="[\\ud800-\\udfff]",F="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",L="\\ud83c[\\udffb-\\udfff]",M="[^\\ud800-\\udfff]",D="(?:\\ud83c[\\udde6-\\uddff]){2}",j="[\\ud800-\\udbff][\\udc00-\\udfff]",T="(?:"+F+"|"+L+")"+"?",z="[\\ufe0e\\ufe0f]?",P=z+T+("(?:\\u200d(?:"+[M,D,j].join("|")+")"+z+T+")*"),N="(?:"+[M+F+"?",F,D,j,R].join("|")+")",H=RegExp(L+"(?="+L+")|"+N+P,"g");var V=function(e){return e.match(H)||[]};var I=function(e){return S(e)?V(e):A(e)};var W=function(e){return function(t){t=E(t);var s=S(t)?I(t):void 0,i=s?s[0]:t.charAt(0),n=s?k(s,1).join(""):t.slice(1);return i[e]()+n}}("toUpperCase");var q=function(e){return W(E(e).toLowerCase())};var U=function(e,t,s,i){var n=-1,r=null==e?0:e.length;for(i&&r&&(s=e[++n]);++n<r;)s=t(s,e[n],n,e);return s};var B=function(e){return function(t){return null==e?void 0:e[t]}}({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),Q=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Z=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");var G=function(e){return(e=E(e))&&e.replace(Q,B).replace(Z,"")},$=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;var J=function(e){return e.match($)||[]},Y=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;var _=function(e){return Y.test(e)},K="\\u2700-\\u27bf",X="a-z\\xdf-\\xf6\\xf8-\\xff",ee="A-Z\\xc0-\\xd6\\xd8-\\xde",te="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",se="["+te+"]",ie="\\d+",ne="[\\u2700-\\u27bf]",re="["+X+"]",oe="[^\\ud800-\\udfff"+te+ie+K+X+ee+"]",ae="(?:\\ud83c[\\udde6-\\uddff]){2}",le="[\\ud800-\\udbff][\\udc00-\\udfff]",ce="["+ee+"]",ue="(?:"+re+"|"+oe+")",he="(?:"+ce+"|"+oe+")",de="(?:['’](?:d|ll|m|re|s|t|ve))?",pe="(?:['’](?:D|LL|M|RE|S|T|VE))?",fe="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",me="[\\ufe0e\\ufe0f]?",ge=me+fe+("(?:\\u200d(?:"+["[^\\ud800-\\udfff]",ae,le].join("|")+")"+me+fe+")*"),we="(?:"+[ne,ae,le].join("|")+")"+ge,ve=RegExp([ce+"?"+re+"+"+de+"(?="+[se,ce,"$"].join("|")+")",he+"+"+pe+"(?="+[se,ce+ue,"$"].join("|")+")",ce+"?"+ue+"+"+de,ce+"+"+pe,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ie,we].join("|"),"g");var be=function(e){return e.match(ve)||[]};var xe=function(e,t,s){return e=E(e),void 0===(t=s?void 0:t)?_(e)?be(e):J(e):e.match(t)||[]},ye=RegExp("['’]","g");var Ee=function(e){return function(t){return U(xe(G(t).replace(ye,"")),e,"")}},Ce=Ee((function(e,t,s){return t=t.toLowerCase(),e+(s?q(t):t)}));var ke=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},Oe=function(){return n.Date.now()},Se=/^\s+|\s+$/g,Ae=/^[-+]0x[0-9a-f]+$/i,Re=/^0b[01]+$/i,Fe=/^0o[0-7]+$/i,Le=parseInt;var Me=function(e){if("number"==typeof e)return e;if(v(e))return NaN;if(ke(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=ke(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(Se,"");var s=Re.test(e);return s||Fe.test(e)?Le(e.slice(2),s?2:8):Ae.test(e)?NaN:+e},De=Math.max,je=Math.min;var Te,ze,Pe=function(e,t,s){var i,n,r,o,a,l,c=0,u=!1,h=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var s=i,r=n;return i=n=void 0,c=t,o=e.apply(r,s)}function f(e){return c=e,a=setTimeout(g,t),u?p(e):o}function m(e){var s=e-l;return void 0===l||s>=t||s<0||h&&e-c>=r}function g(){var e=Oe();if(m(e))return w(e);a=setTimeout(g,function(e){var s=t-(e-l);return h?je(s,r-(e-c)):s}(e))}function w(e){return a=void 0,d&&i?p(e):(i=n=void 0,o)}function v(){var e=Oe(),s=m(e);if(i=arguments,n=this,l=e,s){if(void 0===a)return f(l);if(h)return clearTimeout(a),a=setTimeout(g,t),p(l)}return void 0===a&&(a=setTimeout(g,t)),o}return t=Me(t)||0,ke(s)&&(u=!!s.leading,r=(h="maxWait"in s)?De(Me(s.maxWait)||0,t):r,d="trailing"in s?!!s.trailing:d),v.cancel=function(){void 0!==a&&clearTimeout(a),c=0,i=l=n=a=void 0},v.flush=function(){return void 0===a?o:w(Oe())},v},Ne=Ee((function(e,t,s){return e+(s?"-":"")+t.toLowerCase()})),He=(function(e,t){var s;s=function(){function e(){for(var e=0,t={};e<arguments.length;e++){var s=arguments[e];for(var i in s)t[i]=s[i]}return t}function t(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}return function s(i){function n(){}function r(t,s,r){if("undefined"!=typeof document){"number"==typeof(r=e({path:"/"},n.defaults,r)).expires&&(r.expires=new Date(1*new Date+864e5*r.expires)),r.expires=r.expires?r.expires.toUTCString():"";try{var o=JSON.stringify(s);/^[\{\[]/.test(o)&&(s=o)}catch(e){}s=i.write?i.write(s,t):encodeURIComponent(String(s)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var a="";for(var l in r)r[l]&&(a+="; "+l,!0!==r[l]&&(a+="="+r[l].split(";")[0]));return document.cookie=t+"="+s+a}}function o(e,s){if("undefined"!=typeof document){for(var n={},r=document.cookie?document.cookie.split("; "):[],o=0;o<r.length;o++){var a=r[o].split("="),l=a.slice(1).join("=");s||'"'!==l.charAt(0)||(l=l.slice(1,-1));try{var c=t(a[0]);if(l=(i.read||i)(l,c)||t(l),s)try{l=JSON.parse(l)}catch(e){}if(n[c]=l,e===c)break}catch(e){}}return e?n[e]:n}}return n.set=r,n.get=function(e){return o(e,!1)},n.getJSON=function(e){return o(e,!0)},n.remove=function(t,s){r(t,"",e(s,{expires:-1}))},n.defaults={},n.withConverter=s,n}((function(){}))},e.exports=s()}(ze={path:Te,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&ze.path)}},ze.exports),ze.exports);const Ve=new WeakMap,Ie=e=>!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length),We=(e,t,s)=>{const i=Ve.get(e)||{};s?i[t]=s:delete i[t],Ve.set(e,i)},qe=(e,t)=>(Ve.get(e)||{})[t],Ue=function(e,t,s,i){const n="on:"+e+"-"+s+"-"+i,r=qe(t,n);r&&(s.split(/[\s,]+/).forEach(e=>{t.removeEventListener(e,r.fn,r.options)}),We(t,n))},Be={hasClass:(e,t)=>-1!==(e.className||"").split(/\s+/).indexOf(t),addClass:(e,t)=>{const s=(e.className||"").split(/\s+/);-1===s.indexOf(t)&&(s.push(t),e.className=s.join(" "))},removeClass:(e,t)=>{const s=(e.className||"").split(/\s+/);-1!==s.indexOf(t)&&(s.splice(s.indexOf(t),1),e.className=s.join(" "))},isVisible:Ie,inViewPort:(e,t=window)=>{const s=e.getBoundingClientRect(),i=Ie(e),n=s.bottom<0;let r;return r=t.self===window?s.top>(window.innerHeight||document.documentElement.clientHeight):s.top>t.clientHeight,i&&!r&&!n},setCSS:(e,t)=>{for(const s in t)if(t.hasOwnProperty(s)){const i=Ce(s);e.style[i]=t[s]}},setMetaData:We,getMetaData:qe,on:function(e,t,s,i,n,r){const o={fn:e=>{i?Array.from(t.querySelectorAll(i)).forEach(t=>{(e.target===t||t.contains(e.target))&&n(e)}):e.target===t&&n(e)},options:r||!1};We(t,"on:"+e+"-"+s+"-"+i,o),s.split(/[\s,]+/).forEach(e=>{t.addEventListener(e,o.fn,o.options)})},off:Ue,once:function(e,t,s,i,n,r){const o={fn:r=>{Ue(e,t,s,i),i?Array.from(t.querySelectorAll(i)).forEach(e=>{(r.target===e||e.contains(r.target))&&n(r)}):r.target===t&&n(r)},options:r||!1};We(t,"on:"+e+"-"+s+"-"+i,o),s.split(/[\s,]+/).forEach(e=>{t.addEventListener(e,o.fn,o.options)})}};class Qe{constructor(e){this.options=e,this.observers=[],this.pendingAnimationFrame=void 0,this.frameQueue=[]}subscribe(e){this.observers.length||this.wakeup(),this.observers.push(e)}unSubscribe(e){-1!==this.observers.indexOf(e)&&this.observers.splice(this.observers.indexOf(e),1),this.observers.length||this.sleep()}sleep(){}wakeup(){}notifyObservers(e,t){for(let s=0;s<this.observers.length;s++)this.observers[s][e]&&this.observers[s][e].apply(this.observers[s],t||[])}flushQueue(){this.pendingAnimationFrame&&(cancelAnimationFrame(this.pendingAnimationFrame),this.pendingAnimationFrame=void 0),this.frameQueue=[]}queueFrame(e){this.frameQueue.push(e.bind(this)),this.pendingAnimationFrame||(this.pendingAnimationFrame=requestAnimationFrame(()=>{this.processQueue()}))}processQueue(){this.pendingAnimationFrame=void 0;var e=this.frameQueue.slice(0);this.frameQueue=[];for(var t=0;t<e.length;t++)e[t]()}}var Ze,Ge,$e,Je,Ye;Ze=new class extends Qe{constructor(e){super(e),this.mutationHandler=Pe((e,t)=>{this.observeDOM(e,t)},100,{maxWait:250}),this.mutationObserver=new MutationObserver(this.mutationHandler,!1)}subscribe(e){super.subscribe(e),e.watchDOM()}wakeup(){super.wakeup(),this.mutationObserver.observe(document.body,{childList:!0,subtree:!0})}sleep(){super.sleep(),this.mutationObserver.disconnect()}observeDOM(){this.notifyObservers("watchDOM")}},Ge=new class extends Qe{constructor(e={}){super(e),this.scrollElement=this.options.scrollElement||window,this.lastscroll=this.scrollTop(),this.scrolling=!1,this.trigger=()=>{this.scrolling||this.scrollLoop()},this.scrollLoop=()=>{if(this.lastscroll!==this.scrollTop()){this.scrolling=!0,this.lastscroll=this.scrollTop(),this.watchScroll();const e=()=>{this.scrollLoop()};this.queueFrame(e)}else this.scrolling=!1}}setOptions(e={}){this.sleep(),this.scrollElement=e.scrollElement||window,this.wakeup()}subscribe(e){super.subscribe(e),e.watchScroll()}wakeup(){super.wakeup(),this.scrollElement.addEventListener("scroll",this.trigger,!1)}sleep(){super.sleep(),this.scrollElement.removeEventListener("scroll",this.trigger)}inViewPort(e){return Be.inViewPort(e,this.scrollElement)}watchScroll(){this.notifyObservers("watchScroll")}scrollTop(e){if(this.scrollElement===window){if(void 0===e)return window.pageYOffset;window.scrollTo(0,e)}else{if(void 0===e)return this.scrollElement.scrollTop;this.scrollElement.scrollTop=e}}},$e=new class extends Qe{constructor(e){super(e),this.debounce=Pe(()=>{this.watchResize()},250)}subscribe(e){super.subscribe(e),e.watchResize()}wakeup(){super.wakeup(),window.addEventListener("resize",this.debounce,!1)}sleep(){super.sleep(),window.removeEventListener("resize",this.debounce)}watchResize(){this.notifyObservers("watchResize")}},Je=new class extends Qe{constructor(e){super(e),"onorientationchange"in window?Be.addClass(document.body,"have-orientation"):Be.addClass(document.body,"no-orientation"),this.debounce=Pe(()=>{this.watchOrientation()},250)}subscribe(e){super.subscribe(e),e.watchOrientation()}wakeup(){super.wakeup(),"onorientationchange"in window&&window.addEventListener("orientationchange",this.debounce,!1)}sleep(){super.sleep(),"onorientationchange"in window&&window.removeEventListener("orientationchange",this.debounce)}watchOrientation(){this.notifyObservers("watchOrientation")}},Ye=new class extends Qe{constructor(e){super(e),this.workers={}}registerWorker(e,t){if(!this.workers[e]){let s=t,i=!1;if(!t.match(/^(http|\/)/i)){const e=new Blob([t],{type:"text/javascript"});s=URL.createObjectURL(e),i=!0}this.workers[e]={worker:new Worker(s),observers:[]},i&&URL.revokeObjectURL(s),this.workers[e].worker.onmessage=t=>{this.workerMessage(e,t)}}return this.workers[e].worker}subscribe(e,t){if(!this.workers[t])throw new Error("worker "+t+" does not exist");this.workers[t].observers.push(e),super.subscribe(e)}unSubscribe(e,t){if(!this.workers[t])throw new Error("worker "+t+" does not exist");const s=this.workers[t].observers;-1!==s.indexOf(e)&&s.splice(s.indexOf(e),1),s.length||(this.workers[t].worker.terminate(),delete this.workers[t]),super.unSubscribe(e)}workerMessage(e,t){this.notifyObservers("workerMessage",[e,t])}wakeup(){super.wakeup()}sleep(){super.sleep()}};let _e=0;const Ke=[],Xe="customElements"in window,et={},tt=(e,t)=>{if(et[e]=t,Xe){const t=`\n\t\t\treturn class ${e}Element extends HTMLElement {\n\t\t\t\tconstructor(element, options = {}) {\n\t\t\t\t\tsuper()\n\t\t\t\t\tthis.helperClass= '${e}'\n\t\t\t\t\tthis.helper = null\n\t\t\t\t}\n\n\t\t\t\tconnectedCallback () {\n\t\t\t\t\tthis.helper = new registeredClasses[this.helperClass](this,{isCustomElement:true})\n\t\t\t\t\tthis.helper.start()\n\t\t\t\t}\n\n\t\t\t\tdisconnectedCallback () {\n\t\t\t\t\tthis.helper.destroy()\n\t\t\t\t\tthis.helper = null // nuke the reference for trash collection\n\t\t\t\t}\n\t\t\t}`;customElements.define("sargasso-"+Ne(e),new Function("registeredClasses",t)(et))}},st=["DOMChanged","didScroll","didResize","didBreakpoint","enterViewport","exitViewport","enterFullscreen","exitFullscreen","newPage","elementEvent"];class it{constructor(e,t={}){this.uid=++_e,this.element=e,this.options=t,this.pendingAnimationFrame=void 0,this.frameQueue=[],this.isInViewport=!1,this.workers={},this.started=!1}start(){const e=this.getMetaData("registeredResponsiveControllers")||[];e.push(this),this.setMetaData("registeredResponsiveControllers",e),this.setMetaData(this.constructor.name,this),Ke.push(this),this.options.watchDOM&&Ze.subscribe(this),(this.options.watchScroll||this.options.watchViewport)&&Ge.subscribe(this),(this.options.watchResize||this.options.watchViewport)&&$e.subscribe(this),(this.options.watchOrientation||this.options.watchViewport)&&Je.subscribe(this),this.elementListener=e=>{e.detail&&e.detail.sargassoEvent&&-1!==st.indexOf(e.detail.sargassoEvent)?this[e.detail.sargassoEvent].apply(this,e.detail.sargassoEventOptions||[]):this.elementEvent(e)},this.element.addEventListener("sargasso",this.elementListener),this.started=!0}sleep(){this.options.watchDOM&&Ze.unSubscribe(this),(this.options.watchScroll||this.options.watchViewport)&&Ge.unSubscribe(this),(this.options.watchResize||this.options.watchViewport)&&$e.unSubscribe(this),(this.options.watchOrientation||this.options.watchViewport)&&Je.unSubscribe(this),this.element.removeEventListener("sargasso",this.elementListener),this.started=!1}DOMChanged(){}didScroll(){}didResize(){}didBreakpoint(){}enterViewport(){}exitViewport(){}enterFullscreen(){}exitFullscreen(){}newPage(e,t){}elementEvent(e){}workerOnMessage(e,t){}setMetaData(e,t){Be.setMetaData(this.element,e,t)}getMetaData(e){return Be.getMetaData(this.element,e)}on(e,t,s,i){Be.on(this.constructor.name+"-"+this.uid,this.element,e,t,s,i)}off(e,t){Be.off(this.constructor.name+"-"+this.uid,this.element,e,t)}once(e,t,s,i){Be.once(this.constructor.name+"-"+this.uid,this.element,e,t,s,i)}notifyAll(e,t){if(-1===st.indexOf(e))throw new Error("invalid event name "+e);for(let s=0;s<Ke.length;s++){const i=Ke[s];i!==this&&i[e]&&i[e].apply(i,t)}}notifyElement(e,t,s){if(-1===st.indexOf(t))throw new Error("invalid event name "+t);const i=this.getMetaData("registeredResponsiveControllers");if(i)for(let e=0;e<i.length;e++){const n=i[e];n!==this&&n[t]&&n[t].apply(n,s)}}queueFrame(e){this.frameQueue.push(e.bind(this)),this.pendingAnimationFrame||(this.pendingAnimationFrame=requestAnimationFrame(()=>{this.processQueue()}))}wantFullscreen(e){e?this.enterFullscreen():this.exitFullscreen()}hasClass(e){return Be.hasClass(this.element,e)}addClass(e){Be.addClass(this.element,e)}removeClass(e){Be.removeClass(this.element,e)}setCSS(e){Be.setCSS(this.element,e)}isVisible(){return Be.isVisible(this.element)}scrollTop(e){return Ge.scrollTop(e)}workerStart(e,t){return this.workers[e]=Ye.registerWorker(e,t),Ye.subscribe(this,e),this.workers[e]}workerPostMessage(e,t){t.uid||(t.uid=this.uid),this.workers[e]&&this.workers[e].postMessage(t)}flushQueue(){this.pendingAnimationFrame&&(cancelAnimationFrame(this.pendingAnimationFrame),this.pendingAnimationFrame=void 0),this.frameQueue=[]}processQueue(){this.pendingAnimationFrame=void 0;var e=this.frameQueue.slice(0);this.frameQueue=[];for(var t=0;t<e.length;t++)e[t]()}stopWorker(e){this.workers[e]&&(Ye.unSubscribe(this,e),delete this.workers[e])}stopAllWorkers(){for(const e in this.workers)this.stopWorker(e)}destroy(){this.stopAllWorkers(),this.flushQueue(),this.started&&this.sleep();const e=this.getMetaData("registeredResponsiveControllers");e&&-1!==e.indexOf(this)&&(e.splice(e.indexOf(this),1),this.setMetaData("registeredResponsiveControllers",e)),this.setMetaData(this.constructor.name,null),this.element=null,-1!==Ke.indexOf(this)&&Ke.splice(Ke.indexOf(this),1)}watchDOM(){this.DOMChanged()}watchScroll(){this.options.watchViewport&&this.inViewport(),this.didScroll()}watchResize(){this.options.watchViewport&&this.inViewport(),this.didResize()}watchOrientation(){!window.orientation||90!==window.orientation&&-90!==window.orientation?this.wantFullscreen(!1):this.wantFullscreen(!0)}inViewport(){Ge.inViewPort(this.element)?this.isInViewport||(this.enterViewport(),this.isInViewport=!0):this.isInViewport&&(this.exitViewport(),this.isInViewport=!1)}workerMessage(e,t){t.data.uid===this.uid&&this.workerOnMessage(e,t.data)}nativeRequestFullScreen(){if(document.fullscreenElement){if(document.fullscreenElement===this.element)return;document.exitFullscreen()}this.element.requestFullscreen()}nativeExitFullScreen(){document.fullscreenElement&&document.fullscreenElement===this.element&&document.exitFullscreen()}}tt("Sargasso",it);class nt extends it{constructor(e,t={}){t.watchScroll=!0,t.watchResize=!0,t.watchDOM=!0,t.immortal=!0,super(e,t)}didResize(){super.didResize(),this.lazyHandler()}didScroll(){super.didScroll(),this.lazyHandler()}DOMChanged(){super.DOMChanged(),this.lazyHandler()}lazyHandler(){const e=document.querySelectorAll("[data-lazy-sargasso-class]");for(let t=0;t<e.length;t++){const s=e[t];if(Ge.inViewPort(s)){const i=s.getAttribute("data-lazy-sargasso-class").split(/\s*,\s*/);for(let s=0;s<i.length;s++){new et[i[s]](e[t]).start()}s.removeAttribute("data-lazy-sargasso-class")}}}}tt("LazyInstantiate",nt);class rt extends it{constructor(e,t={}){super(e,{watchDOM:!0,mortal:!1}),this.lazy=new nt(e,t)}start(){this.lazy.start(),super.start()}instantiate(e){const t=e.getAttribute("data-sargasso-class").split(/\s*,\s*/);for(let s=0;s<t.length;s++)try{new et[t[s]](e).start()}catch(e){console.log("error instantiating "+t[s],e,et)}e.removeAttribute("data-sargasso-class")}newPage(){this.doIt()}DOMChanged(){this.doIt()}doIt(){const e=document.querySelectorAll("[data-sargasso-class]");for(const t of e)this.instantiate(t);const t=[];for(let e=0;e<Ke.length;e++)Ke[e].options.immortal||Ke[e].options.isCustomElement||document.body.contains(Ke[e].element)||t.push(Ke[e]);for(let e=0;e<t.length;e++)t[e].destroy()}}tt("SargassoSupervisor",rt);const ot=[{className:"screen-xs",maxWidth:599},{className:"screen-sm",maxWidth:1023},{className:"screen-md",maxWidth:1439},{className:"screen-lg",maxWidth:1999},{className:"screen-xl",maxWidth:void 0}];class at extends it{constructor(e,t={}){t.watchResize=!0,super(e,t),t.widths?this.options.widths=t.widths:this.options.widths=ot,this.scale=void 0,this.disabled=!1,this.forceScale=void 0,this.orientation=void 0,this.widths=[],this.classes=[]}start(){super.start();let e=".show-hide{display:none;}\n";this.widths.push(0);for(let t=0;t<this.options.widths.length;t++)this.options.widths[t].maxWidth&&this.widths.push(this.options.widths[t].maxWidth),this.classes.push(this.options.widths[t].className),e+="."+this.options.widths[t].className+" .hidden-"+this.options.widths[t].className+"{display:none;}\n",e+=".not-"+this.options.widths[t].className+" .hidden-not-"+this.options.widths[t].className+"{display:none;}\n",e+="."+this.options.widths[t].className+" .shown-"+this.options.widths[t].className+"{display:block;}\n",e+=".not-"+this.options.widths[t].className+" .shown-not-"+this.options.widths[t].className+"{display:block;}\n";const t=document.createElement("style");t.type="text/css",t.innerHTML=e,document.getElementsByTagName("head")[0].appendChild(t),this.detectGeometry()}didResize(){super.didResize(),this.detectGeometry()}disableResponsive(e){Be.addClass(document.body,"disable-responsive"),this.disabled=!0,this.forceScale=e,this.detectGeometry()}enableResponsive(){Be.removeClass(document.body,"disable-responsive"),this.disabled=!1,this.forceScale="",this.detectGeometry()}detectGeometry(){let e=this.classes[this.widths.length-1];if(this.disabled)e=this.forceScale;else{const t=window.innerWidth;if(window.innerHeight>t){if("portrait"!==this.orientation){const e=()=>{Be.removeClass(document.body,"landscape"),Be.addClass(document.body,"portrait")};this.queueFrame(e),this.orientation="portrait"}}else if("landscape"!==this.orientation){const e=()=>{Be.removeClass(document.body,"portrait"),Be.addClass(document.body,"landscape")};this.queueFrame(e),this.orientation="landscape"}for(let s=0;s<this.widths.length-1;s++)if(t>=this.widths[s]&&t<this.widths[s+1]){e=this.classes[s];break}}let t=0;if(e!==this.scale){++t;const s=()=>{for(let t=0;t<this.classes.length;t++)this.classes[t]!==e?(Be.addClass(document.body,"not-"+this.classes[t]),Be.removeClass(document.body,this.classes[t]),Be.removeClass(document.body,"shown-"+this.classes[t]),Be.removeClass(document.body,"hidden-"+this.classes[t])):Be.removeClass(document.body,"not-"+this.classes[t]);Be.addClass(document.body,e),Be.addClass(document.body,"shown-"+e),Be.addClass(document.body,"hidden-"+e),this.notifyAll("didBreakpoint",[e])};this.queueFrame(s)}this.scale=e,t&&this.setHints()}setHints(){let e="";this.scale&&(e&&(e+=" "),e+=this.scale),e!==this.getCookie("responsive")&&this.setCookie("responsive",e)}getCookie(e){return He.get(e)}setCookie(e,t,s){const i={path:"/",domain:this.options.cookieDomain||null,expires:s};He.set(e,t,i)}deleteCookie(e){this.setCookie(e,null)}}tt("Breakpoints",at);class lt extends it{constructor(e,t={}){t.watchDOM=!0,t.immortal=!0,super(e,t),this.excludeRegex=new RegExp("^(//|http|javascript|mailto|#)","i"),this.currentPage=location.pathname+location.search}start(){super.start(),window.addEventListener("popstate",e=>{this.watchPopState(e)},!1)}DOMChanged(){super.DOMChanged(),this.hijaxLinks()}watchPopState(e){location.pathname+location.search!==this.currentPage&&this.preFlight(location.pathname+location.search)}hijaxLinks(e){const t=e?e.getElementsByTagName("a"):this.element.getElementsByTagName("a");for(let e=0;e<t.length;e++){const s=t[e],i=s.getAttribute("href");!i||s.getAttribute("data-hijaxed")||s.getAttribute("target")||s.hasAttribute("data-no-hijax")||this.excludeRegex.exec(i)||(s.setAttribute("data-hijaxed",!0),s.addEventListener("click",e=>{e.preventDefault(),this.setPage(i)},!1))}}setPage(e,t){e===this.currentPage||t?this.preFlight(e):(history.pushState(null,null,e),this.watchPopState())}preFlight(e){if(!this.options.preFlight)return this.loadPage(e);this.options.preFlight(e,(t,s,i)=>{t&&(this.options.onError?this.options.onError("danger",t):alert("Error loading page: "+t)),s?this.currentPage=location.pathname+location.search:this.loadPage(i||e)})}loadPage(e){this.queueFrame(()=>{Be.addClass(document.body,"hijax-loading")}),this.options.onExitPage&&this.options.onExitPage();const t=new XMLHttpRequest;t.open("GET",e),t.setRequestHeader("Sargasso-Hijax",1),t.setRequestHeader("x-digitopia-hijax",1),this.options.onLoading&&(this.options.onLoading(),t.onreadystatechange=this.options.onLoading),t.onload=()=>{if(301===t.status||302===t.status||t.getResponseHeader("Sargasso-Location")){const e=t.getResponseHeader("Location")?t.getResponseHeader("Location"):t.getResponseHeader("Sargasso-Location");this.setPage(e)}else if(200===t.status){this.scrollTop(0),this.mergePage(t.responseText);const e=this.currentPage,s=()=>{this.notifyAll("newPage",[e,location.pathname+location.search]),Be.removeClass(document.body,"hijax-loading")};this.queueFrame(s),this.currentPage=location.pathname+location.search}else{const e=t.getResponseHeader("Sargasso-Flash-Level")||"danger";let s=t.getResponseHeader("Sargasso-Flash-Message")||t.statusText;s||(s="Could not connect to server."),this.options.onError?this.options.onError(e,s):alert("Error loading page: "+s)}},t.send()}processScripts(e){Array.from(e).forEach(e=>{e.remove();const t=e.getAttribute("id");document.getElementById(t)||document.getElementsByTagName("head")[0].appendChild(e)})}mergePage(e){const t=document.querySelectorAll("[data-ephemeral]");Array.from(t).forEach(e=>{e.remove()});const s=e.split(/(<body[^>]*>|<\/body>)/gi),i=ct(s[2]),n=document.querySelectorAll("[data-hijax]");for(let e=0;e<n.length;e++){const t=n[e],s=n[e].getAttribute("id"),r=i.getElementById(s);this.processScripts(r.querySelectorAll("script"));const o=()=>{t.parentNode.replaceChild(r,t),this.options.onEnterPage&&this.options.onEnterPage(),this.hijaxLinks(r)};this.queueFrame(o)}}}tt("HijaxLoader",lt);const ct=e=>{if(document.createRange&&document.createRange().createContextualFragment)return document.createRange().createContextualFragment(e);const t=document.createDocumentFragment(),s=document.createElement("div");return s.insertAdjacentHTML("afterBegin",e),t.appendChild(s),t},ut={registerSargassoClass:tt,bootSargasso:(t={})=>{t.scrollElement&&Ge.setOptions(t);if(new rt(document.body,t).start(t),t.breakpoints){new at(document.body,t.breakpoints).start()}if(t.hijax){const s=new lt(document.body,t.hijax);s.start(),e.loadPageHandler=s.setPage.bind(s)}else e.loadPageHandler=e=>{document.location.href=e}},elementTools:Be},ht={theDOMWatcher:Ze,theScrollWatcher:Ge,theResizeWatcher:$e,theOrientationWatcher:Je,theWorkerWatcher:Ye};return e.Sargasso=it,e.services=ht,e.utils=ut,e}({});
this.PelagicCreatures=this.PelagicCreatures||{},this.PelagicCreatures.Sargasso=function(e){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var s="object"==typeof t&&t&&t.Object===Object&&t,i="object"==typeof self&&self&&self.Object===Object&&self,n=s||i||Function("return this")(),r=n.Symbol;var o=function(e,t){for(var s=-1,i=null==e?0:e.length,n=Array(i);++s<i;)n[s]=t(e[s],s,e);return n},a=Array.isArray,l=Object.prototype,c=l.hasOwnProperty,u=l.toString,h=r?r.toStringTag:void 0;var d=function(e){var t=c.call(e,h),s=e[h];try{e[h]=void 0;var i=!0}catch(e){}var n=u.call(e);return i&&(t?e[h]=s:delete e[h]),n},p=Object.prototype.toString;var f=function(e){return p.call(e)},m=r?r.toStringTag:void 0;var g=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":m&&m in Object(e)?d(e):f(e)};var w=function(e){return null!=e&&"object"==typeof e};var v=function(e){return"symbol"==typeof e||w(e)&&"[object Symbol]"==g(e)},b=r?r.prototype:void 0,x=b?b.toString:void 0;var y=function e(t){if("string"==typeof t)return t;if(a(t))return o(t,e)+"";if(v(t))return x?x.call(t):"";var s=t+"";return"0"==s&&1/t==-Infinity?"-0":s};var E=function(e){return null==e?"":y(e)};var C=function(e,t,s){var i=-1,n=e.length;t<0&&(t=-t>n?0:n+t),(s=s>n?n:s)<0&&(s+=n),n=t>s?0:s-t>>>0,t>>>=0;for(var r=Array(n);++i<n;)r[i]=e[i+t];return r};var k=function(e,t,s){var i=e.length;return s=void 0===s?i:s,!t&&s>=i?e:C(e,t,s)},O=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var S=function(e){return O.test(e)};var A=function(e){return e.split("")},R="[\\ud800-\\udfff]",F="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",L="\\ud83c[\\udffb-\\udfff]",M="[^\\ud800-\\udfff]",j="(?:\\ud83c[\\udde6-\\uddff]){2}",D="[\\ud800-\\udbff][\\udc00-\\udfff]",T="(?:"+F+"|"+L+")"+"?",z="[\\ufe0e\\ufe0f]?",P=z+T+("(?:\\u200d(?:"+[M,j,D].join("|")+")"+z+T+")*"),N="(?:"+[M+F+"?",F,j,D,R].join("|")+")",H=RegExp(L+"(?="+L+")|"+N+P,"g");var V=function(e){return e.match(H)||[]};var I=function(e){return S(e)?V(e):A(e)};var W=function(e){return function(t){t=E(t);var s=S(t)?I(t):void 0,i=s?s[0]:t.charAt(0),n=s?k(s,1).join(""):t.slice(1);return i[e]()+n}}("toUpperCase");var q=function(e){return W(E(e).toLowerCase())};var U=function(e,t,s,i){var n=-1,r=null==e?0:e.length;for(i&&r&&(s=e[++n]);++n<r;)s=t(s,e[n],n,e);return s};var B=function(e){return function(t){return null==e?void 0:e[t]}}({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),Q=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Z=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");var G=function(e){return(e=E(e))&&e.replace(Q,B).replace(Z,"")},$=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;var J=function(e){return e.match($)||[]},Y=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;var _=function(e){return Y.test(e)},K="\\u2700-\\u27bf",X="a-z\\xdf-\\xf6\\xf8-\\xff",ee="A-Z\\xc0-\\xd6\\xd8-\\xde",te="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",se="["+te+"]",ie="\\d+",ne="[\\u2700-\\u27bf]",re="["+X+"]",oe="[^\\ud800-\\udfff"+te+ie+K+X+ee+"]",ae="(?:\\ud83c[\\udde6-\\uddff]){2}",le="[\\ud800-\\udbff][\\udc00-\\udfff]",ce="["+ee+"]",ue="(?:"+re+"|"+oe+")",he="(?:"+ce+"|"+oe+")",de="(?:['’](?:d|ll|m|re|s|t|ve))?",pe="(?:['’](?:D|LL|M|RE|S|T|VE))?",fe="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",me="[\\ufe0e\\ufe0f]?",ge=me+fe+("(?:\\u200d(?:"+["[^\\ud800-\\udfff]",ae,le].join("|")+")"+me+fe+")*"),we="(?:"+[ne,ae,le].join("|")+")"+ge,ve=RegExp([ce+"?"+re+"+"+de+"(?="+[se,ce,"$"].join("|")+")",he+"+"+pe+"(?="+[se,ce+ue,"$"].join("|")+")",ce+"?"+ue+"+"+de,ce+"+"+pe,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ie,we].join("|"),"g");var be=function(e){return e.match(ve)||[]};var xe=function(e,t,s){return e=E(e),void 0===(t=s?void 0:t)?_(e)?be(e):J(e):e.match(t)||[]},ye=RegExp("['’]","g");var Ee=function(e){return function(t){return U(xe(G(t).replace(ye,"")),e,"")}},Ce=Ee((function(e,t,s){return t=t.toLowerCase(),e+(s?q(t):t)}));var ke=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},Oe=function(){return n.Date.now()},Se=/^\s+|\s+$/g,Ae=/^[-+]0x[0-9a-f]+$/i,Re=/^0b[01]+$/i,Fe=/^0o[0-7]+$/i,Le=parseInt;var Me=function(e){if("number"==typeof e)return e;if(v(e))return NaN;if(ke(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=ke(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(Se,"");var s=Re.test(e);return s||Fe.test(e)?Le(e.slice(2),s?2:8):Ae.test(e)?NaN:+e},je=Math.max,De=Math.min;var Te,ze,Pe=function(e,t,s){var i,n,r,o,a,l,c=0,u=!1,h=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var s=i,r=n;return i=n=void 0,c=t,o=e.apply(r,s)}function f(e){return c=e,a=setTimeout(g,t),u?p(e):o}function m(e){var s=e-l;return void 0===l||s>=t||s<0||h&&e-c>=r}function g(){var e=Oe();if(m(e))return w(e);a=setTimeout(g,function(e){var s=t-(e-l);return h?De(s,r-(e-c)):s}(e))}function w(e){return a=void 0,d&&i?p(e):(i=n=void 0,o)}function v(){var e=Oe(),s=m(e);if(i=arguments,n=this,l=e,s){if(void 0===a)return f(l);if(h)return clearTimeout(a),a=setTimeout(g,t),p(l)}return void 0===a&&(a=setTimeout(g,t)),o}return t=Me(t)||0,ke(s)&&(u=!!s.leading,r=(h="maxWait"in s)?je(Me(s.maxWait)||0,t):r,d="trailing"in s?!!s.trailing:d),v.cancel=function(){void 0!==a&&clearTimeout(a),c=0,i=l=n=a=void 0},v.flush=function(){return void 0===a?o:w(Oe())},v},Ne=Ee((function(e,t,s){return e+(s?"-":"")+t.toLowerCase()})),He=(function(e,t){var s;s=function(){function e(){for(var e=0,t={};e<arguments.length;e++){var s=arguments[e];for(var i in s)t[i]=s[i]}return t}function t(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}return function s(i){function n(){}function r(t,s,r){if("undefined"!=typeof document){"number"==typeof(r=e({path:"/"},n.defaults,r)).expires&&(r.expires=new Date(1*new Date+864e5*r.expires)),r.expires=r.expires?r.expires.toUTCString():"";try{var o=JSON.stringify(s);/^[\{\[]/.test(o)&&(s=o)}catch(e){}s=i.write?i.write(s,t):encodeURIComponent(String(s)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var a="";for(var l in r)r[l]&&(a+="; "+l,!0!==r[l]&&(a+="="+r[l].split(";")[0]));return document.cookie=t+"="+s+a}}function o(e,s){if("undefined"!=typeof document){for(var n={},r=document.cookie?document.cookie.split("; "):[],o=0;o<r.length;o++){var a=r[o].split("="),l=a.slice(1).join("=");s||'"'!==l.charAt(0)||(l=l.slice(1,-1));try{var c=t(a[0]);if(l=(i.read||i)(l,c)||t(l),s)try{l=JSON.parse(l)}catch(e){}if(n[c]=l,e===c)break}catch(e){}}return e?n[e]:n}}return n.set=r,n.get=function(e){return o(e,!1)},n.getJSON=function(e){return o(e,!0)},n.remove=function(t,s){r(t,"",e(s,{expires:-1}))},n.defaults={},n.withConverter=s,n}((function(){}))},e.exports=s()}(ze={path:Te,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&ze.path)}},ze.exports),ze.exports);const Ve=new WeakMap,Ie=e=>!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length),We=(e,t,s)=>{const i=Ve.get(e)||{};s?i[t]=s:delete i[t],Ve.set(e,i)},qe=(e,t)=>(Ve.get(e)||{})[t],Ue=function(e,t,s,i,n,r,o){const a="on:"+e+"-"+s+"-"+i;"function"==typeof i&&(o=r,r=n,n=i,i=null);const l={fn:r=>{o&&Be(e,t,s,i),i?Array.from(t.querySelectorAll(i)).forEach(e=>{(r.target===e||e.contains(r.target))&&n(r,e)}):n(r)},options:r||!1};We(t,a,l),s.split(/[\s,]+/).forEach(e=>{t.addEventListener(e.trim(),l.fn,l.options)})},Be=function(e,t,s,i){const n="on:"+e+"-"+s+"-"+i,r=qe(t,n);r&&(s.split(/[\s,]+/).forEach(e=>{t.removeEventListener(e.trim(),r.fn,r.options)}),We(t,n))},Qe={hasClass:(e,t)=>-1!==(e.className||"").split(/\s+/).indexOf(t),addClass:(e,t)=>{const s=(e.className||"").split(/\s+/);Array.isArray(t)||(t=t.split(/[\s,]/)),t.forEach(e=>{e=e.trim(),-1===s.indexOf(e)&&s.push(e)}),e.className=s.join(" ")},removeClass:(e,t)=>{const s=(e.className||"").split(/\s+/);Array.isArray(t)||(t=t.split(/[\s,]/)),t.forEach(e=>{e=e.trim(),-1!==s.indexOf(e)&&s.splice(s.indexOf(e),1)}),e.className=s.join(" ")},isVisible:Ie,inViewPort:(e,t=window)=>{const s=e.getBoundingClientRect(),i=Ie(e),n=s.bottom<0;let r;return r=t.self===window?s.top>(window.innerHeight||document.documentElement.clientHeight):s.top>t.clientHeight,i&&!r&&!n},setCSS:(e,t)=>{for(const s in t)if(Object.prototype.hasOwnProperty.call(t,s)){const i=Ce(s);e.style[i]=t[s]}},setMetaData:We,getMetaData:qe,on:Ue,off:Be,once:function(e,t,s,i,n,r){Ue(e,t,s,i,n,r,!0)}};class Ze{constructor(e){this.options=e,this.observers=[],this.pendingAnimationFrame=void 0,this.frameQueue=[]}subscribe(e){this.observers.length||this.wakeup(),this.observers.push(e)}unSubscribe(e){-1!==this.observers.indexOf(e)&&this.observers.splice(this.observers.indexOf(e),1),this.observers.length||this.sleep()}sleep(){}wakeup(){}notifyObservers(e,t){for(let s=0;s<this.observers.length;s++)this.observers[s][e]&&this.observers[s][e].apply(this.observers[s],t||[])}flushQueue(){this.pendingAnimationFrame&&(cancelAnimationFrame(this.pendingAnimationFrame),this.pendingAnimationFrame=void 0),this.frameQueue=[]}queueFrame(e){this.frameQueue.push(e.bind(this)),this.pendingAnimationFrame||(this.pendingAnimationFrame=requestAnimationFrame(()=>{this.processQueue()}))}processQueue(){this.pendingAnimationFrame=void 0;var e=this.frameQueue.slice(0);this.frameQueue=[];for(var t=0;t<e.length;t++)e[t]()}}var Ge,$e,Je,Ye,_e;Ge=new class extends Ze{constructor(e){super(e),this.mutationHandler=Pe((e,t)=>{this.observeDOM(e,t)},100,{maxWait:250}),this.mutationObserver=new MutationObserver(this.mutationHandler,!1)}subscribe(e){super.subscribe(e),e.watchDOM()}wakeup(){super.wakeup(),this.mutationObserver.observe(document.body,{childList:!0,subtree:!0})}sleep(){super.sleep(),this.mutationObserver.disconnect()}observeDOM(){this.notifyObservers("watchDOM")}},$e=new class extends Ze{constructor(e={}){super(e),this.scrollElement=this.options.scrollElement||window,this.lastscroll=this.scrollTop(),this.scrolling=!1,this.trigger=()=>{this.scrolling||this.scrollLoop()},this.scrollLoop=()=>{if(this.lastscroll!==this.scrollTop()){this.scrolling=!0,this.lastscroll=this.scrollTop(),this.watchScroll();const e=()=>{this.scrollLoop()};this.queueFrame(e)}else this.scrolling=!1}}setOptions(e={}){this.sleep(),this.scrollElement=e.scrollElement||window,this.wakeup()}subscribe(e){super.subscribe(e),e.watchScroll()}wakeup(){super.wakeup(),this.scrollElement.addEventListener("scroll",this.trigger,!1)}sleep(){super.sleep(),this.scrollElement.removeEventListener("scroll",this.trigger)}inViewPort(e){return Qe.inViewPort(e,this.scrollElement)}watchScroll(){this.notifyObservers("watchScroll")}scrollTop(e){if(this.scrollElement===window){if(void 0===e)return window.pageYOffset;window.scrollTo(0,e)}else{if(void 0===e)return this.scrollElement.scrollTop;this.scrollElement.scrollTop=e}}},Je=new class extends Ze{constructor(e){super(e),this.debounce=Pe(()=>{this.watchResize()},250)}subscribe(e){super.subscribe(e),e.watchResize()}wakeup(){super.wakeup(),window.addEventListener("resize",this.debounce,!1)}sleep(){super.sleep(),window.removeEventListener("resize",this.debounce)}watchResize(){this.notifyObservers("watchResize")}},Ye=new class extends Ze{constructor(e){super(e),"onorientationchange"in window?Qe.addClass(document.body,"have-orientation"):Qe.addClass(document.body,"no-orientation"),this.debounce=Pe(()=>{this.watchOrientation()},250)}subscribe(e){super.subscribe(e),e.watchOrientation()}wakeup(){super.wakeup(),"onorientationchange"in window&&window.addEventListener("orientationchange",this.debounce,!1)}sleep(){super.sleep(),"onorientationchange"in window&&window.removeEventListener("orientationchange",this.debounce)}watchOrientation(){this.notifyObservers("watchOrientation")}},_e=new class extends Ze{constructor(e){super(e),this.workers={}}registerWorker(e,t){if(!this.workers[e]){let s=t,i=!1;if(!t.match(/^(http|\/)/i)){const e=new Blob([t],{type:"text/javascript"});s=URL.createObjectURL(e),i=!0}this.workers[e]={worker:new Worker(s),observers:[]},i&&URL.revokeObjectURL(s),this.workers[e].worker.onmessage=t=>{this.workerMessage(e,t)}}return this.workers[e].worker}subscribe(e,t){if(!this.workers[t])throw new Error("worker "+t+" does not exist");this.workers[t].observers.push(e),super.subscribe(e)}unSubscribe(e,t){if(!this.workers[t])throw new Error("worker "+t+" does not exist");const s=this.workers[t].observers;-1!==s.indexOf(e)&&s.splice(s.indexOf(e),1),s.length||(this.workers[t].worker.terminate(),delete this.workers[t]),super.unSubscribe(e)}workerMessage(e,t){this.notifyObservers("workerMessage",[e,t])}wakeup(){super.wakeup()}sleep(){super.sleep()}};let Ke=0;const Xe=[],et="customElements"in window,tt={},st=(e,t)=>{if(tt[e]=t,et){const t=`\n\t\t\treturn class ${e}Element extends HTMLElement {\n\t\t\t\tconstructor(element, options = {}) {\n\t\t\t\t\tsuper()\n\t\t\t\t\tthis.helperClass= '${e}'\n\t\t\t\t\tthis.helper = null\n\t\t\t\t}\n\n\t\t\t\tconnectedCallback () {\n\t\t\t\t\tthis.helper = new registeredClasses[this.helperClass](this,{isCustomElement:true})\n\t\t\t\t\tthis.helper.start()\n\t\t\t\t}\n\n\t\t\t\tdisconnectedCallback () {\n\t\t\t\t\tthis.helper.destroy()\n\t\t\t\t\tthis.helper = null // nuke the reference for trash collection\n\t\t\t\t}\n\t\t\t}`;customElements.define("sargasso-"+Ne(e),new Function("registeredClasses",t)(tt))}},it=["DOMChanged","didScroll","didResize","didBreakpoint","enterViewport","exitViewport","enterFullscreen","exitFullscreen","newPage","elementEvent"];class nt{constructor(e,t={}){this.uid=++Ke,this.element=e,this.options=t,this.pendingAnimationFrame=void 0,this.frameQueue=[],this.isInViewport=!1,this.workers={},this.started=!1}start(){const e=this.getMetaData("registeredResponsiveControllers")||[];e.push(this),this.setMetaData("registeredResponsiveControllers",e),this.setMetaData(this.constructor.name,this),Xe.push(this),this.options.watchDOM&&Ge.subscribe(this),(this.options.watchScroll||this.options.watchViewport)&&$e.subscribe(this),(this.options.watchResize||this.options.watchViewport)&&Je.subscribe(this),(this.options.watchOrientation||this.options.watchViewport)&&Ye.subscribe(this),this.elementListener=e=>{e.detail&&e.detail.sargassoEvent&&-1!==it.indexOf(e.detail.sargassoEvent)?this[e.detail.sargassoEvent].apply(this,e.detail.sargassoEventOptions||[]):this.elementEvent(e)},this.element.addEventListener("sargasso",this.elementListener),this.started=!0}sleep(){this.options.watchDOM&&Ge.unSubscribe(this),(this.options.watchScroll||this.options.watchViewport)&&$e.unSubscribe(this),(this.options.watchResize||this.options.watchViewport)&&Je.unSubscribe(this),(this.options.watchOrientation||this.options.watchViewport)&&Ye.unSubscribe(this),this.element.removeEventListener("sargasso",this.elementListener),this.started=!1}DOMChanged(){}didScroll(){}didResize(){}didBreakpoint(){}enterViewport(){}exitViewport(){}enterFullscreen(){}exitFullscreen(){}newPage(e,t){}elementEvent(e){}workerOnMessage(e,t){}setMetaData(e,t){Qe.setMetaData(this.element,e,t)}getMetaData(e){return Qe.getMetaData(this.element,e)}on(e,t,s,i){Qe.on(this.constructor.name+"-"+this.uid,this.element,e,t,s,i)}off(e,t){Qe.off(this.constructor.name+"-"+this.uid,this.element,e,t)}once(e,t,s,i){Qe.once(this.constructor.name+"-"+this.uid,this.element,e,t,s,i)}notifyAll(e,t){if(-1===it.indexOf(e))throw new Error("invalid event name "+e);for(let s=0;s<Xe.length;s++){const i=Xe[s];i!==this&&i[e]&&i[e].apply(i,t)}}notifyElement(e,t,s){if(-1===it.indexOf(t))throw new Error("invalid event name "+t);const i=this.getMetaData("registeredResponsiveControllers");if(i)for(let e=0;e<i.length;e++){const n=i[e];n!==this&&n[t]&&n[t].apply(n,s)}}queueFrame(e){this.frameQueue.push(e.bind(this)),this.pendingAnimationFrame||(this.pendingAnimationFrame=requestAnimationFrame(()=>{this.processQueue()}))}wantFullscreen(e){e?this.enterFullscreen():this.exitFullscreen()}hasClass(e){return Qe.hasClass(this.element,e)}addClass(e){Qe.addClass(this.element,e)}removeClass(e){Qe.removeClass(this.element,e)}setCSS(e){Qe.setCSS(this.element,e)}isVisible(){return Qe.isVisible(this.element)}scrollTop(e){return $e.scrollTop(e)}workerStart(e,t){return this.workers[e]=_e.registerWorker(e,t),_e.subscribe(this,e),this.workers[e]}workerPostMessage(e,t){t.uid||(t.uid=this.uid),this.workers[e]&&this.workers[e].postMessage(t)}flushQueue(){this.pendingAnimationFrame&&(cancelAnimationFrame(this.pendingAnimationFrame),this.pendingAnimationFrame=void 0),this.frameQueue=[]}processQueue(){this.pendingAnimationFrame=void 0;var e=this.frameQueue.slice(0);this.frameQueue=[];for(var t=0;t<e.length;t++)e[t]()}stopWorker(e){this.workers[e]&&(_e.unSubscribe(this,e),delete this.workers[e])}stopAllWorkers(){for(const e in this.workers)this.stopWorker(e)}destroy(){this.stopAllWorkers(),this.flushQueue(),this.started&&this.sleep();const e=this.getMetaData("registeredResponsiveControllers");e&&-1!==e.indexOf(this)&&(e.splice(e.indexOf(this),1),this.setMetaData("registeredResponsiveControllers",e)),this.setMetaData(this.constructor.name,null),this.element=null,-1!==Xe.indexOf(this)&&Xe.splice(Xe.indexOf(this),1)}watchDOM(){this.DOMChanged()}watchScroll(){this.options.watchViewport&&this.inViewport(),this.didScroll()}watchResize(){this.options.watchViewport&&this.inViewport(),this.didResize()}watchOrientation(){!window.orientation||90!==window.orientation&&-90!==window.orientation?this.wantFullscreen(!1):this.wantFullscreen(!0)}inViewport(){$e.inViewPort(this.element)?this.isInViewport||(this.enterViewport(),this.isInViewport=!0):this.isInViewport&&(this.exitViewport(),this.isInViewport=!1)}workerMessage(e,t){t.data.uid===this.uid&&this.workerOnMessage(e,t.data)}nativeRequestFullScreen(){if(document.fullscreenElement){if(document.fullscreenElement===this.element)return;document.exitFullscreen()}this.element.requestFullscreen()}nativeExitFullScreen(){document.fullscreenElement&&document.fullscreenElement===this.element&&document.exitFullscreen()}}st("Sargasso",nt);class rt extends nt{constructor(e,t={}){t.watchScroll=!0,t.watchResize=!0,t.watchDOM=!0,t.immortal=!0,super(e,t)}didResize(){super.didResize(),this.lazyHandler()}didScroll(){super.didScroll(),this.lazyHandler()}DOMChanged(){super.DOMChanged(),this.lazyHandler()}lazyHandler(){const e=document.querySelectorAll("[data-lazy-sargasso-class]");for(let t=0;t<e.length;t++){const s=e[t];if($e.inViewPort(s)){const i=s.getAttribute("data-lazy-sargasso-class").split(/\s*,\s*/);for(let s=0;s<i.length;s++){new tt[i[s]](e[t]).start()}s.removeAttribute("data-lazy-sargasso-class")}}}}st("LazyInstantiate",rt);class ot extends nt{constructor(e,t={}){super(e,{watchDOM:!0,mortal:!1}),this.lazy=new rt(e,t)}start(){this.lazy.start(),super.start()}instantiate(e){const t=e.getAttribute("data-sargasso-class").split(/\s*,\s*/);for(let s=0;s<t.length;s++)try{new tt[t[s]](e).start()}catch(e){console.log("error instantiating "+t[s],e,tt)}e.removeAttribute("data-sargasso-class")}newPage(){this.doIt()}DOMChanged(){this.doIt()}doIt(){const e=document.querySelectorAll("[data-sargasso-class]");for(const t of e)this.instantiate(t);const t=[];for(let e=0;e<Xe.length;e++)Xe[e].options.immortal||Xe[e].options.isCustomElement||document.body.contains(Xe[e].element)||t.push(Xe[e]);for(let e=0;e<t.length;e++)t[e].destroy()}}st("SargassoSupervisor",ot);const at=[{className:"screen-xs",maxWidth:599},{className:"screen-sm",maxWidth:1023},{className:"screen-md",maxWidth:1439},{className:"screen-lg",maxWidth:1999},{className:"screen-xl",maxWidth:void 0}];class lt extends nt{constructor(e,t={}){t.watchResize=!0,super(e,t),t.widths?this.options.widths=t.widths:this.options.widths=at,this.scale=void 0,this.disabled=!1,this.forceScale=void 0,this.orientation=void 0,this.widths=[],this.classes=[]}start(){super.start();let e=".show-hide{display:none;}\n";this.widths.push(0);for(let t=0;t<this.options.widths.length;t++)this.options.widths[t].maxWidth&&this.widths.push(this.options.widths[t].maxWidth),this.classes.push(this.options.widths[t].className),e+="."+this.options.widths[t].className+" .hidden-"+this.options.widths[t].className+"{display:none;}\n",e+=".not-"+this.options.widths[t].className+" .hidden-not-"+this.options.widths[t].className+"{display:none;}\n",e+="."+this.options.widths[t].className+" .shown-"+this.options.widths[t].className+"{display:block;}\n",e+=".not-"+this.options.widths[t].className+" .shown-not-"+this.options.widths[t].className+"{display:block;}\n";const t=document.createElement("style");t.type="text/css",t.innerHTML=e,document.getElementsByTagName("head")[0].appendChild(t),this.detectGeometry()}didResize(){super.didResize(),this.detectGeometry()}disableResponsive(e){Qe.addClass(document.body,"disable-responsive"),this.disabled=!0,this.forceScale=e,this.detectGeometry()}enableResponsive(){Qe.removeClass(document.body,"disable-responsive"),this.disabled=!1,this.forceScale="",this.detectGeometry()}detectGeometry(){let e=this.classes[this.widths.length-1];if(this.disabled)e=this.forceScale;else{const t=window.innerWidth;if(window.innerHeight>t){if("portrait"!==this.orientation){const e=()=>{Qe.removeClass(document.body,"landscape"),Qe.addClass(document.body,"portrait")};this.queueFrame(e),this.orientation="portrait"}}else if("landscape"!==this.orientation){const e=()=>{Qe.removeClass(document.body,"portrait"),Qe.addClass(document.body,"landscape")};this.queueFrame(e),this.orientation="landscape"}for(let s=0;s<this.widths.length-1;s++)if(t>=this.widths[s]&&t<this.widths[s+1]){e=this.classes[s];break}}let t=0;if(e!==this.scale){++t;const s=()=>{for(let t=0;t<this.classes.length;t++)this.classes[t]!==e?(Qe.addClass(document.body,"not-"+this.classes[t]),Qe.removeClass(document.body,this.classes[t]),Qe.removeClass(document.body,"shown-"+this.classes[t]),Qe.removeClass(document.body,"hidden-"+this.classes[t])):Qe.removeClass(document.body,"not-"+this.classes[t]);Qe.addClass(document.body,e),Qe.addClass(document.body,"shown-"+e),Qe.addClass(document.body,"hidden-"+e),this.notifyAll("didBreakpoint",[e])};this.queueFrame(s)}this.scale=e,t&&this.setHints()}setHints(){let e="";this.scale&&(e&&(e+=" "),e+=this.scale),e!==this.getCookie("responsive")&&this.setCookie("responsive",e)}getCookie(e){return He.get(e)}setCookie(e,t,s){const i={path:"/",domain:this.options.cookieDomain||null,expires:s};He.set(e,t,i)}deleteCookie(e){this.setCookie(e,null)}}st("Breakpoints",lt);class ct extends nt{constructor(e,t={}){t.watchDOM=!0,t.immortal=!0,super(e,t),this.excludeRegex=new RegExp("^(//|http|javascript|mailto|#)","i"),this.currentPage=location.pathname+location.search}start(){super.start(),window.addEventListener("popstate",e=>{this.watchPopState(e)},!1)}DOMChanged(){super.DOMChanged(),this.hijaxLinks()}watchPopState(e){location.pathname+location.search!==this.currentPage&&this.preFlight(location.pathname+location.search)}hijaxLinks(e){const t=e?e.getElementsByTagName("a"):this.element.getElementsByTagName("a");for(let e=0;e<t.length;e++){const s=t[e],i=s.getAttribute("href");!i||s.getAttribute("data-hijaxed")||s.getAttribute("target")||s.hasAttribute("data-no-hijax")||this.excludeRegex.exec(i)||(s.setAttribute("data-hijaxed",!0),s.addEventListener("click",e=>{e.preventDefault(),this.setPage(i)},!1))}}setPage(e,t){e===this.currentPage||t?this.preFlight(e):(history.pushState(null,null,e),this.watchPopState())}preFlight(e){if(!this.options.preFlight)return this.loadPage(e);this.options.preFlight(e,(t,s,i)=>{t&&(this.options.onError?this.options.onError("danger",t):alert("Error loading page: "+t)),s?this.currentPage=location.pathname+location.search:this.loadPage(i||e)})}loadPage(e){this.queueFrame(()=>{Qe.addClass(document.body,"hijax-loading")}),this.options.onExitPage&&this.options.onExitPage();const t=new XMLHttpRequest;t.open("GET",e),t.setRequestHeader("Sargasso-Hijax",1),t.setRequestHeader("x-digitopia-hijax",1),this.options.onLoading&&(this.options.onLoading(),t.onreadystatechange=this.options.onLoading),t.onload=()=>{if(301===t.status||302===t.status||t.getResponseHeader("Sargasso-Location")){const e=t.getResponseHeader("Location")?t.getResponseHeader("Location"):t.getResponseHeader("Sargasso-Location");this.setPage(e)}else if(200===t.status){this.scrollTop(0),this.mergePage(t.responseText);const e=this.currentPage,s=()=>{this.notifyAll("newPage",[e,location.pathname+location.search]),Qe.removeClass(document.body,"hijax-loading")};this.queueFrame(s),this.currentPage=location.pathname+location.search}else{const e=t.getResponseHeader("Sargasso-Flash-Level")||"danger";let s=t.getResponseHeader("Sargasso-Flash-Message")||t.statusText;s||(s="Could not connect to server."),this.options.onError?this.options.onError(e,s):alert("Error loading page: "+s)}},t.send()}processScripts(e){Array.from(e).forEach(e=>{e.remove();const t=e.getAttribute("id");document.getElementById(t)||document.getElementsByTagName("head")[0].appendChild(e)})}mergePage(e){const t=document.querySelectorAll("[data-ephemeral]");Array.from(t).forEach(e=>{e.remove()});const s=e.split(/(<body[^>]*>|<\/body>)/gi),i=ut(s[2]),n=document.querySelectorAll("[data-hijax]");for(let e=0;e<n.length;e++){const t=n[e],s=n[e].getAttribute("id"),r=i.getElementById(s);this.processScripts(r.querySelectorAll("script"));const o=()=>{t.parentNode.replaceChild(r,t),this.options.onEnterPage&&this.options.onEnterPage(),this.hijaxLinks(r)};this.queueFrame(o)}}}st("HijaxLoader",ct);const ut=e=>{if(document.createRange&&document.createRange().createContextualFragment)return document.createRange().createContextualFragment(e);const t=document.createDocumentFragment(),s=document.createElement("div");return s.insertAdjacentHTML("afterBegin",e),t.appendChild(s),t},ht={registerSargassoClass:st,bootSargasso:(t={})=>{t.scrollElement&&$e.setOptions(t);if(new ot(document.body,t).start(t),t.breakpoints){new lt(document.body,t.breakpoints).start()}if(t.hijax){const s=new ct(document.body,t.hijax);s.start(),e.loadPageHandler=s.setPage.bind(s)}else e.loadPageHandler=e=>{document.location.href=e}},elementTools:Qe},dt={theDOMWatcher:Ge,theScrollWatcher:$e,theResizeWatcher:Je,theOrientationWatcher:Ye,theWorkerWatcher:_e};return e.Sargasso=nt,e.services=dt,e.utils=ht,e}({});
//# sourceMappingURL=sargasso.iife.js.map

@@ -401,8 +401,8 @@ /**

addClass (cssClass) {
elementTools.addClass(this.element, cssClass)
addClass (cssClasses) {
elementTools.addClass(this.element, cssClasses)
}
removeClass (cssClass) {
elementTools.removeClass(this.element, cssClass)
removeClass (cssClasses) {
elementTools.removeClass(this.element, cssClasses)
}

@@ -409,0 +409,0 @@

@@ -16,3 +16,3 @@ /**

const _hasClass = (element, cssClass) => {
const hasClass = (element, cssClass) => {
const className = element.className || ''

@@ -23,27 +23,53 @@ const classes = className.split(/\s+/)

const _addClass = (element, cssClass) => {
// addClasses can be:
// a string 'someclass'
// a list delimited by comma or space 'class1 class3 class4'
// an array ['class1','class2']
const addClass = (element, addClasses) => {
const className = element.className || ''
const classes = className.split(/\s+/)
if (classes.indexOf(cssClass) === -1) {
classes.push(cssClass)
element.className = classes.join(' ')
if (!Array.isArray(addClasses)) {
addClasses = addClasses.split(/[\s,]/)
}
addClasses.forEach((c) => {
c = c.trim()
if (classes.indexOf(c) === -1) {
classes.push(c)
}
})
element.className = classes.join(' ')
}
const _removeClass = (element, cssClass) => {
// removeClasses can be:
// a string 'someclass'
// a list delimited by comma or space 'class1 class3 class4'
// an array ['class1','class2']
const removeClass = (element, removeClasses) => {
const className = element.className || ''
const classes = className.split(/\s+/)
if (classes.indexOf(cssClass) !== -1) {
classes.splice(classes.indexOf(cssClass), 1)
element.className = classes.join(' ')
if (!Array.isArray(removeClasses)) {
removeClasses = removeClasses.split(/[\s,]/)
}
removeClasses.forEach((c) => {
c = c.trim()
if (classes.indexOf(c) !== -1) {
classes.splice(classes.indexOf(c), 1)
}
})
element.className = classes.join(' ')
}
const _isVisible = (element) => {
const isVisible = (element) => {
return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length)
}
const _inViewPort = (element, container = window) => {
const inViewPort = (element, container = window) => {
const rect = element.getBoundingClientRect()
const visible = _isVisible(element)
const visible = isVisible(element)
const aboveTheTop = (rect.bottom < 0)

@@ -58,3 +84,3 @@ let belowTheFold

// console.log('_inViewPort', visible, belowTheFold, aboveTheTop)
// console.log('inViewPort', visible, belowTheFold, aboveTheTop)

@@ -69,5 +95,5 @@ return (visible && !belowTheFold && !aboveTheTop)

const _css = (element, css) => {
const css = (element, css) => {
for (const prop in css) {
if (css.hasOwnProperty(prop)) {
if (Object.prototype.hasOwnProperty.call(css, prop)) {
const key = camelCase(prop)

@@ -79,3 +105,3 @@ element.style[key] = css[prop]

const _setMetaData = (element, k, v) => {
const setMetaData = (element, k, v) => {
const data = elementMetaData.get(element) || {}

@@ -90,3 +116,3 @@ if (v) {

const _getMetaData = (element, k) => {
const getMetaData = (element, k) => {
const data = elementMetaData.get(element) || {}

@@ -96,10 +122,19 @@ return data[k]

const on = function (uid, container, events, selector, fn, options) {
const on = function (uid, container, events, selector, fn, options, once) {
const k = 'on:' + uid + '-' + events + '-' + selector
if (typeof selector === 'function') {
once = options
options = fn
fn = selector
selector = null
}
const handler = (e) => {
if (once) {
off(uid, container, events, selector)
}
if (!selector) {
if (e.target === container) {
fn(e)
}
fn(e)
} else {

@@ -119,6 +154,6 @@ Array.from(container.querySelectorAll(selector)).forEach((el) => {

_setMetaData(container, k, data)
setMetaData(container, k, data)
events.split(/[\s,]+/).forEach((evt) => {
container.addEventListener(evt, data.fn, data.options)
container.addEventListener(evt.trim(), data.fn, data.options)
})

@@ -129,8 +164,8 @@ }

const k = 'on:' + uid + '-' + events + '-' + selector
const data = _getMetaData(container, k)
const data = getMetaData(container, k)
if (data) {
events.split(/[\s,]+/).forEach((evt) => {
container.removeEventListener(evt, data.fn, data.options)
container.removeEventListener(evt.trim(), data.fn, data.options)
})
_setMetaData(container, k)
setMetaData(container, k)
}

@@ -140,41 +175,14 @@ }

const once = function (uid, container, events, selector, fn, options) {
const k = 'on:' + uid + '-' + events + '-' + selector
const handler = (e) => {
off(uid, container, events, selector)
if (!selector) {
if (e.target === container) {
fn(e)
}
} else {
Array.from(container.querySelectorAll(selector)).forEach((el) => {
if (e.target === el || el.contains(e.target)) {
fn(e)
}
})
}
}
const data = {
fn: handler,
options: options || false
}
_setMetaData(container, k, data)
events.split(/[\s,]+/).forEach((evt) => {
container.addEventListener(evt, data.fn, data.options)
})
on(uid, container, events, selector, fn, options, true)
}
const elementTools = {
hasClass: _hasClass,
addClass: _addClass,
removeClass: _removeClass,
isVisible: _isVisible,
inViewPort: _inViewPort,
setCSS: _css,
setMetaData: _setMetaData,
getMetaData: _getMetaData,
hasClass: hasClass,
addClass: addClass,
removeClass: removeClass,
isVisible: isVisible,
inViewPort: inViewPort,
setCSS: css,
setMetaData: setMetaData,
getMetaData: getMetaData,
on: on,

@@ -181,0 +189,0 @@ off: off,

{
"name": "@pelagiccreatures/sargasso",
"version": "0.10.6",
"version": "0.11.0",
"description": "Simple, Fast, Reactive, Supervised Javascript controllers for custom html elements.",

@@ -5,0 +5,0 @@ "keywords": [

@@ -245,5 +245,5 @@ # @PelagicCreatures/Sargasso

| setMetaData(key,value) | set a sargasso metadata property |
| hasClass('cssclass') | returns true if this.element has cssclass |
| addClass('cssclass') | add cssclass to this.element |
| removeClass('cssclass') | remove cssclass to this.element |
| hasClass('classname') | returns true if this.element has cssclass |
| addClass('classname') | add classname or array of classnames to this.element |
| removeClass('classname') | remove classname or array of classnames to this.element |
| setCSS({}) | set css pairs defined in object on this.element |

@@ -250,0 +250,0 @@ | isVisible() | true if element is visible |

@@ -11,5 +11,6 @@ const elementTools = PelagicCreatures.Sargasso.utils.elementTools

elementTools.addClass(testElement, 'test-class')
elementTools.addClass(testElement, 'test-class2')
elementTools.addClass(testElement, ['test-class2', 'test-class3'])
expect(elementTools.hasClass(testElement, 'test-class')).to.be.true
expect(elementTools.hasClass(testElement, 'test-class2')).to.be.true
expect(elementTools.hasClass(testElement, 'test-class3')).to.be.true
setImmediate(done)

@@ -21,4 +22,5 @@ })

expect(elementTools.hasClass(testElement, 'test-class2')).to.be.true
elementTools.removeClass(testElement, 'test-class2')
elementTools.removeClass(testElement, ['test-class2', 'test-class3'])
expect(elementTools.hasClass(testElement, 'test-class2')).to.be.false
expect(elementTools.hasClass(testElement, 'test-class3')).to.be.false
setImmediate(done)

@@ -25,0 +27,0 @@ })

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc