diff --git a/jumpapp/.jump-version b/jumpapp/.jump-version index 3f35df2..7bc2002 100644 --- a/jumpapp/.jump-version +++ b/jumpapp/.jump-version @@ -1 +1 @@ -v1.2.4 (1658245475) \ No newline at end of file +v1.2.4 (1658245810) \ No newline at end of file diff --git a/jumpapp/assets/js/index.014b9869b77b16cc5648.min.js b/jumpapp/assets/js/index.014b9869b77b16cc5648.min.js deleted file mode 100644 index 6e0aaf4..0000000 --- a/jumpapp/assets/js/index.014b9869b77b16cc5648.min.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{"use strict";var e={729:e=>{var t=Object.prototype.hasOwnProperty,s="~";function n(){}function i(e,t,s){this.fn=e,this.context=t,this.once=s||!1}function r(e,t,n,r,o){if("function"!=typeof n)throw new TypeError("The listener must be a function");var c=new i(n,r||e,o),h=s?s+t:t;return e._events[h]?e._events[h].fn?e._events[h]=[e._events[h],c]:e._events[h].push(c):(e._events[h]=c,e._eventsCount++),e}function o(e,t){0==--e._eventsCount?e._events=new n:delete e._events[t]}function c(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(s=!1)),c.prototype.eventNames=function(){var e,n,i=[];if(0===this._eventsCount)return i;for(n in e=this._events)t.call(e,n)&&i.push(s?n.slice(1):n);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},c.prototype.listeners=function(e){var t=s?s+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,r=n.length,o=new Array(r);i{e.exports="v1.2.4 (1658245475)"}},t={};function s(n){var i=t[n];if(void 0!==i)return i.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,s),r.exports}s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{class e{constructor(e,t=!1,s=!1){this.set_utc_shift(),this.contentintervalid=null,this.eventemitter=e,this.ampm=t,this.forcelocaltime=s}set_utc_shift(e=0){this.utcshift=e,this.shiftedtimestamp=(new Date).getTime()+this.utcshift,this.shifteddate=new Date(this.shiftedtimestamp)}get_formatted_time(){let e=this.shifteddate.getUTCHours(),t=String(this.shifteddate.getUTCMinutes()).padStart(2,"0");if(this.forcelocaltime&&(e=(new Date).getHours(),t=String((new Date).getMinutes()).padStart(2,"0")),!this.ampm)return String(e).padStart(2,"0")+":"+t;const s=e<=12?"AM":"PM";return e=(e+11)%12+1,e+":"+t+""+s+""}get_hour(){return this.forcelocaltime?(new Date).getHours():this.shifteddate.getUTCHours()}update_time(){this.set_utc_shift(this.utcshift),this.eventemitter.emit("clock-updated",{formatted_time:this.get_formatted_time(),hour:this.get_hour(),utcshift:this.utcshift})}run(e){this.contentintervalid&&clearInterval(this.contentintervalid),this.update_time(),this.contentintervalid=setInterval((()=>{this.update_time()}),e)}}var t=s(729),n=s.n(t);function i(e){return Array.isArray?Array.isArray(e):"[object Array]"===u(e)}function r(e){return"string"==typeof e}function o(e){return"number"==typeof e}function c(e){return!0===e||!1===e||function(e){return h(e)&&null!==e}(e)&&"[object Boolean]"==u(e)}function h(e){return"object"==typeof e}function a(e){return null!=e}function l(e){return!e.trim().length}function u(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const d=Object.prototype.hasOwnProperty;class g{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach((e=>{let s=f(e);t+=s.weight,this._keys.push(s),this._keyMap[s.id]=s,t+=s.weight})),this._keys.forEach((e=>{e.weight/=t}))}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function f(e){let t=null,s=null,n=null,o=1,c=null;if(r(e)||i(e))n=e,t=m(e),s=p(e);else{if(!d.call(e,"name"))throw new Error((e=>`Missing ${e} property in key`)("name"));const i=e.name;if(n=i,d.call(e,"weight")&&(o=e.weight,o<=0))throw new Error((e=>`Property 'weight' in key '${e}' must be a positive integer`)(i));t=m(i),s=p(i),c=e.getFn}return{path:t,id:s,weight:o,src:n,getFn:c}}function m(e){return i(e)?e:e.split(".")}function p(e){return i(e)?e.join("."):e}var v={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx{if(a(e))if(t[l]){const u=e[t[l]];if(!a(u))return;if(l===t.length-1&&(r(u)||o(u)||c(u)))s.push(function(e){return null==e?"":function(e){if("string"==typeof e)return e;let t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}(u));else if(i(u)){n=!0;for(let e=0,s=u.length;e{this._keysMap[e.id]=t}))}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,r(this.docs[0])?this.docs.forEach(((e,t)=>{this._addString(e,t)})):this.docs.forEach(((e,t)=>{this._addObject(e,t)})),this.norm.clear())}add(e){const t=this.size();r(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,s=this.size();t{let o=t.getFn?t.getFn(e):this.getFn(e,t.path);if(a(o))if(i(o)){let e=[];const t=[{nestedArrIndex:-1,value:o}];for(;t.length;){const{nestedArrIndex:s,value:n}=t.pop();if(a(n))if(r(n)&&!l(n)){let t={v:n,i:s,n:this.norm.get(n)};e.push(t)}else i(n)&&n.forEach(((e,s)=>{t.push({nestedArrIndex:s,value:e})}))}s.$[n]=e}else if(r(o)&&!l(o)){let e={v:o,n:this.norm.get(o)};s.$[n]=e}})),this.records.push(s)}toJSON(){return{keys:this.keys,records:this.records}}}function M(e,t,{getFn:s=v.getFn,fieldNormWeight:n=v.fieldNormWeight}={}){const i=new w({getFn:s,fieldNormWeight:n});return i.setKeys(e.map(f)),i.setSources(t),i.create(),i}function _(e,{errors:t=0,currentLocation:s=0,expectedLocation:n=0,distance:i=v.distance,ignoreLocation:r=v.ignoreLocation}={}){const o=t/e.length;if(r)return o;const c=Math.abs(n-s);return i?o+c/i:c?1:o}const x=32;function L(e,t,s,{location:n=v.location,distance:i=v.distance,threshold:r=v.threshold,findAllMatches:o=v.findAllMatches,minMatchCharLength:c=v.minMatchCharLength,includeMatches:h=v.includeMatches,ignoreLocation:a=v.ignoreLocation}={}){if(t.length>x)throw new Error(`Pattern length exceeds max of ${x}.`);const l=t.length,u=e.length,d=Math.max(0,Math.min(n,u));let g=r,f=d;const m=c>1||h,p=m?Array(u):[];let y;for(;(y=e.indexOf(t,f))>-1;){let e=_(t,{currentLocation:y,expectedLocation:d,distance:i,ignoreLocation:a});if(g=Math.min(e,g),f=y+l,m){let e=0;for(;e=h;r-=1){let o=r-1,c=s[e.charAt(o)];if(m&&(p[o]=+!!c),y[r]=(y[r+1]<<1|1)&c,n&&(y[r]|=(w[r+1]|w[r])<<1|1|w[r+1]),y[r]&b&&(M=_(t,{errors:n,currentLocation:o,expectedLocation:d,distance:i,ignoreLocation:a}),M<=g)){if(g=M,f=o,f<=d)break;h=Math.max(1,2*d-f)}}if(_(t,{errors:n+1,currentLocation:d,expectedLocation:d,distance:i,ignoreLocation:a})>g)break;w=y}const k={isMatch:f>=0,score:Math.max(.001,M)};if(m){const e=function(e=[],t=v.minMatchCharLength){let s=[],n=-1,i=-1,r=0;for(let o=e.length;r=t&&s.push([n,i]),n=-1)}return e[r-1]&&r-n>=t&&s.push([n,r-1]),s}(p,c);e.length?h&&(k.indices=e):k.isMatch=!1}return k}function b(e){let t={};for(let s=0,n=e.length;s{this.chunks.push({pattern:e,alphabet:b(e),startIndex:t})},l=this.pattern.length;if(l>x){let e=0;const t=l%x,s=l-t;for(;e{const{isMatch:f,score:m,indices:p}=L(e,t,d,{location:n+g,distance:i,threshold:r,findAllMatches:o,minMatchCharLength:c,includeMatches:s,ignoreLocation:h});f&&(u=!0),l+=m,f&&p&&(a=[...a,...p])}));let d={isMatch:u,score:u?l/this.chunks.length:1};return u&&s&&(d.indices=a),d}}class S{constructor(e){this.pattern=e}static isMultiMatch(e){return C(e,this.multiRegex)}static isSingleMatch(e){return C(e,this.singleRegex)}search(){}}function C(e,t){const s=e.match(t);return s?s[1]:null}class E extends S{constructor(e,{location:t=v.location,threshold:s=v.threshold,distance:n=v.distance,includeMatches:i=v.includeMatches,findAllMatches:r=v.findAllMatches,minMatchCharLength:o=v.minMatchCharLength,isCaseSensitive:c=v.isCaseSensitive,ignoreLocation:h=v.ignoreLocation}={}){super(e),this._bitapSearch=new k(e,{location:t,threshold:s,distance:n,includeMatches:i,findAllMatches:r,minMatchCharLength:o,isCaseSensitive:c,ignoreLocation:h})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class A extends S{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t,s=0;const n=[],i=this.pattern.length;for(;(t=e.indexOf(this.pattern,s))>-1;)s=t+i,n.push([t,s-1]);const r=!!n.length;return{isMatch:r,score:r?0:1,indices:n}}}const I=[class extends S{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){const t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},A,class extends S{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){const t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},class extends S{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){const t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends S{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){const t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends S{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){const t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}},class extends S{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){const t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},E],N=I.length,O=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/;const q=new Set([E.type,A.type]);class ${constructor(e,{isCaseSensitive:t=v.isCaseSensitive,includeMatches:s=v.includeMatches,minMatchCharLength:n=v.minMatchCharLength,ignoreLocation:i=v.ignoreLocation,findAllMatches:r=v.findAllMatches,location:o=v.location,threshold:c=v.threshold,distance:h=v.distance}={}){this.query=null,this.options={isCaseSensitive:t,includeMatches:s,minMatchCharLength:n,findAllMatches:r,ignoreLocation:i,location:o,threshold:c,distance:h},this.pattern=t?e:e.toLowerCase(),this.query=function(e,t={}){return e.split("|").map((e=>{let s=e.trim().split(O).filter((e=>e&&!!e.trim())),n=[];for(let e=0,i=s.length;e!(!e[F]&&!e[j]),W=e=>({[F]:Object.keys(e).map((t=>({[t]:e[t]})))});function H(e,t,{auto:s=!0}={}){const n=e=>{let o=Object.keys(e);const c=(e=>!!e[J])(e);if(!c&&o.length>1&&!T(e))return n(W(e));if((e=>!i(e)&&h(e)&&!T(e))(e)){const n=c?e[J]:o[0],i=c?e[U]:e[n];if(!r(i))throw new Error((e=>`Invalid value for key ${e}`)(n));const h={keyId:p(n),pattern:i};return s&&(h.searcher=R(i,t)),h}let a={children:[],operator:o[0]};return o.forEach((t=>{const s=e[t];i(s)&&s.forEach((e=>{a.children.push(n(e))}))})),a};return T(e)||(e=W(e)),n(e)}function z(e,t){const s=e.matches;t.matches=[],a(s)&&s.forEach((e=>{if(!a(e.indices)||!e.indices.length)return;const{indices:s,value:n}=e;let i={indices:s,value:n};e.key&&(i.key=e.key.src),e.idx>-1&&(i.refIndex=e.idx),t.matches.push(i)}))}function D(e,t){t.score=e.score}class K{constructor(e,t={},s){this.options={...v,...t},this.options.useExtendedSearch,this._keyStore=new g(this.options.keys),this.setCollection(e,s)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof w))throw new Error("Incorrect 'index' type");this._myIndex=t||M(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){a(e)&&(this._docs.push(e),this._myIndex.add(e))}remove(e=(()=>!1)){const t=[];for(let s=0,n=this._docs.length;s{let s=1;e.matches.forEach((({key:e,norm:n,score:i})=>{const r=e?e.weight:null;s*=Math.pow(0===i&&r?Number.EPSILON:i,(r||1)*(t?1:n))})),e.score=s}))}(a,{ignoreFieldNorm:h}),i&&a.sort(c),o(t)&&t>-1&&(a=a.slice(0,t)),function(e,t,{includeMatches:s=v.includeMatches,includeScore:n=v.includeScore}={}){const i=[];return s&&i.push(z),n&&i.push(D),e.map((e=>{const{idx:s}=e,n={item:t[s],refIndex:s};return i.length&&i.forEach((t=>{t(e,n)})),n}))}(a,this._docs,{includeMatches:s,includeScore:n})}_searchStringList(e){const t=R(e,this.options),{records:s}=this._myIndex,n=[];return s.forEach((({v:e,i:s,n:i})=>{if(!a(e))return;const{isMatch:r,score:o,indices:c}=t.searchIn(e);r&&n.push({item:e,idx:s,matches:[{score:o,value:e,norm:i,indices:c}]})})),n}_searchLogical(e){const t=H(e,this.options),s=(e,t,n)=>{if(!e.children){const{keyId:s,searcher:i}=e,r=this._findMatches({key:this._keyStore.get(s),value:this._myIndex.getValueForItemAtKeyId(t,s),searcher:i});return r&&r.length?[{idx:n,item:t,matches:r}]:[]}const i=[];for(let r=0,o=e.children.length;r{if(a(e)){let o=s(t,e,n);o.length&&(i[n]||(i[n]={idx:n,item:e,matches:[]},r.push(i[n])),o.forEach((({matches:e})=>{i[n].matches.push(...e)})))}})),r}_searchObjectList(e){const t=R(e,this.options),{keys:s,records:n}=this._myIndex,i=[];return n.forEach((({$:e,i:n})=>{if(!a(e))return;let r=[];s.forEach(((s,n)=>{r.push(...this._findMatches({key:s,value:e[n],searcher:t}))})),r.length&&i.push({idx:n,item:e,matches:r})})),i}_findMatches({key:e,value:t,searcher:s}){if(!a(t))return[];let n=[];if(i(t))t.forEach((({v:t,i,n:r})=>{if(!a(t))return;const{isMatch:o,score:c,indices:h}=s.searchIn(t);o&&n.push({score:c,key:e,value:t,idx:i,norm:r,indices:h})}));else{const{v:i,n:r}=t,{isMatch:o,score:c,indices:h}=s.searchIn(i);o&&n.push({score:c,key:e,value:i,norm:r,indices:h})}return n}}K.version="6.6.2",K.createIndex=M,K.parseIndex=function(e,{getFn:t=v.getFn,fieldNormWeight:s=v.fieldNormWeight}={}){const{keys:n,records:i}=e,r=new w({getFn:t,fieldNormWeight:s});return r.setKeys(n),r.setIndexRecords(i),r},K.config=v,K.parseQuery=H,function(...e){P.push(...e)}($);class V{constructor(e){this.hour=e,this.greetings={0:"morning",12:"afternoon",16:"evening",19:"night"}}get_greeting(){let e=Object.keys(this.greetings).reverse();for(let t of e)if(this.hour>=t)return this.greetings[t]}}class B{constructor(e,t,s,n){this.containerelm=s,this.eventemitter=n,this.inputelm=t,this.suggestionslistelm=s.querySelector(".suggestion-list"),this.searchproviderlist=null,this.searchengines=e}build_searchprovider_list_elm(e){const t=document.createElement("ul");return t.classList.add("searchproviders"),t.setAttribute("tabindex",-1),this.searchengines.forEach((s=>{const n=document.createElement("li");n.setAttribute("tabindex",-1),n.innerHTML='Search on '+s.name+"",t.appendChild(n)})),t.addEventListener("keyup",(e=>{switch(e.code){case"ArrowUp":if(document.activeElement==e.target.parentNode.parentNode.firstChild.firstChild){this.inputelm.focus();break}document.activeElement.parentNode.previousSibling.firstChild.focus();break;case"ArrowDown":if(document.activeElement==e.target.parentNode.parentNode.lastChild.firstChild){const t=document.querySelector(".suggestionholder .suggestions");t?t.firstChild.firstChild.focus():e.target.parentNode.parentNode.firstChild.firstChild.focus();break}document.activeElement.parentNode.nextSibling.firstChild.focus()}})),t}build_suggestion_list_elm(e){const t=document.createElement("ul");return t.classList.add("suggestions"),t.setAttribute("tabindex",-1),e.forEach((e=>{const s=document.createElement("li");s.setAttribute("tabindex",-1),s.innerHTML=' '+e.name+"",t.appendChild(s)})),t.addEventListener("keyup",(e=>{switch(e.code){case"ArrowUp":if(document.activeElement==e.target.parentNode.parentNode.firstChild.firstChild){this.searchproviderlist.lastChild.firstChild.focus();break}document.activeElement.parentNode.previousSibling.firstChild.focus();break;case"ArrowDown":if(document.activeElement==e.target.parentNode.parentNode.lastChild.firstChild){this.searchproviderlist.firstChild.firstChild.focus();break}document.activeElement.parentNode.nextSibling.firstChild.focus()}})),t}replace(e){const t=this.build_suggestion_list_elm(e),s=document.createElement("span");if(s.classList.add("suggestionholder"),""!==this.inputelm.value){const e=document.createElement("span");e.classList.add("suggestiontitle"),e.innerHTML="Search",s.appendChild(e),this.searchproviderlist=this.build_searchprovider_list_elm(this.inputelm.value),s.appendChild(this.searchproviderlist)}if(t.childNodes.length>0){const e=document.createElement("span");e.classList.add("suggestiontitle"),e.innerHTML="Sites",s.appendChild(e),s.appendChild(t)}if(s.childNodes.length>0)this.containerelm.classList.add("suggestions"),this.suggestionslistelm.replaceChildren(s);else{this.containerelm.classList.remove("suggestions");let e=this.containerelm.querySelector(".suggestionholder");e&&e.remove()}}}class Q{constructor(e){this.eventemitter=e}fetch_owm_data(e){let t=JUMP.wwwurl+"/api/weather/"+JUMP.token+"/";e.length&&(t+=e[0]+"/"+e[1]+"/"),fetch(t).then((e=>e.json())).then((e=>{if(e.error)console.error("JUMP ERROR: There was an issue with the OWM API... "+e.error);else if(401!==e.cod){var t="night";e.dt>e.sys.sunrise&&e.dte.json())).then((t=>{t.error?console.error("JUMP ERROR: There was an issue with the Unsplash API... "+t.error):(e.style.backgroundImage='url("'+t.imagedatauri+'")',document.querySelector(".unsplash").innerHTML=t.attribution)}))}this.add_event_listeners(),JUMP.owmapikey?(this.weather.fetch_owm_data(this.latlong),setInterval((()=>{this.weather.fetch_owm_data(this.latlong)}),this.weatherfrequency)):this.eventemitter.emit("show-content")}add_event_listeners(){if(this.eventemitter.on("weather-loaded",(e=>{this.timezoneshift=e.timezoneshift,this.weatherelm.href="https://openweathermap.org/city/"+e.locationcode,this.weathericonelm.classList.add(e.iconclass),this.clientlocationelm.innerHTML=e.locationname,this.tempelm.innerHTML=e.temp,this.weatherdescelm.innerHTML=e.description,this.clientlocationelm.classList.add("enable"),this.eventemitter.emit("show-content")})),this.eventemitter.on("clock-updated",(e=>{if(null!=this.timeelm&&(this.timeelm.innerHTML=e.formatted_time),null!=this.greetingelm){let t=new V(e.hour);this.greetingelm.innerHTML=t.get_greeting()}})),this.eventemitter.on("show-content",(()=>{this.set_clock(),this.show_content()})),this.clientlocationelm.addEventListener("click",(e=>{navigator.geolocation.getCurrentPosition((e=>{this.latlong=[e.coords.latitude,e.coords.longitude],this.storage.setItem("lastrequestedlocation",JSON.stringify(this.latlong)),this.weather.fetch_owm_data(this.latlong)}),(e=>{console.error(e.message)}),{enableHighAccuracy:!0})})),this.showtagsbuttonelm&&this.showtagsbuttonelm.addEventListener("click",(e=>{this.tagselectorelm.classList.add("enable"),e.preventDefault()})),this.tagsselectorclosebuttonelm&&this.tagsselectorclosebuttonelm.addEventListener("click",(e=>{this.tagselectorelm.classList.remove("enable")})),this.showsearchbuttonelm){const e=document.querySelector(".search-form input");this.searchsuggestions=new B(JSON.parse(JUMP.searchengines),e,this.showsearchbuttonelm,this.eventemitter),this.showsearchbuttonelm.addEventListener("click",(t=>{t.target.classList.contains("open")||(this.showsearchbuttonelm.classList.add("open"),e.focus())})),document.addEventListener("keyup",(t=>{t.ctrlKey&&t.shiftKey&&"Slash"==t.code&&(this.showsearchbuttonelm.classList.contains("open")?this.search_close():(this.showsearchbuttonelm.classList.add("open"),e.focus()))})),this.searchclosebuttonelm.addEventListener("click",(e=>{e.stopPropagation(),this.search_close()})),e.addEventListener("keyup",(t=>{let s=document.querySelector(".suggestion-list .searchproviders");if("ArrowDown"===t.code)return void(s&&s.childNodes.length&&s.firstChild.firstChild.focus());let n=[],i=this.fuse.search(e.value);i.length=8,i.length>0&&i.forEach((e=>{n.push(e.item)})),this.searchsuggestions.replace(n)})),document.querySelector(".search-form").addEventListener("submit",(t=>{t.preventDefault(),""!=e.value&&document.querySelector(".searchproviders li a").click()}))}}search_close(){let e=this.showsearchbuttonelm.querySelector(".suggestionholder");e&&e.remove(),this.showsearchbuttonelm.classList.remove("suggestions"),document.querySelector(".search").classList.remove("open"),document.querySelector(".search-form input").value=""}show_content(){document.querySelectorAll(".hidden").forEach((function(e){e.classList.remove("hidden")}))}set_clock(){this.clock.set_utc_shift(this.timezoneshift),this.clock.run(this.clockfrequency)}}).init()})()})(); \ No newline at end of file diff --git a/jumpapp/assets/js/index.439e0bc3abc833708655.min.js b/jumpapp/assets/js/index.439e0bc3abc833708655.min.js new file mode 100644 index 0000000..d12875f --- /dev/null +++ b/jumpapp/assets/js/index.439e0bc3abc833708655.min.js @@ -0,0 +1 @@ +(()=>{"use strict";var e={729:e=>{var t=Object.prototype.hasOwnProperty,s="~";function n(){}function i(e,t,s){this.fn=e,this.context=t,this.once=s||!1}function r(e,t,n,r,o){if("function"!=typeof n)throw new TypeError("The listener must be a function");var c=new i(n,r||e,o),h=s?s+t:t;return e._events[h]?e._events[h].fn?e._events[h]=[e._events[h],c]:e._events[h].push(c):(e._events[h]=c,e._eventsCount++),e}function o(e,t){0==--e._eventsCount?e._events=new n:delete e._events[t]}function c(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(s=!1)),c.prototype.eventNames=function(){var e,n,i=[];if(0===this._eventsCount)return i;for(n in e=this._events)t.call(e,n)&&i.push(s?n.slice(1):n);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},c.prototype.listeners=function(e){var t=s?s+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,r=n.length,o=new Array(r);i{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{class e{constructor(e,t=!1,s=!1){this.set_utc_shift(),this.contentintervalid=null,this.eventemitter=e,this.ampm=t,this.forcelocaltime=s}set_utc_shift(e=0){this.utcshift=e,this.shiftedtimestamp=(new Date).getTime()+this.utcshift,this.shifteddate=new Date(this.shiftedtimestamp)}get_formatted_time(){let e=this.shifteddate.getUTCHours(),t=String(this.shifteddate.getUTCMinutes()).padStart(2,"0");if(this.forcelocaltime&&(e=(new Date).getHours(),t=String((new Date).getMinutes()).padStart(2,"0")),!this.ampm)return String(e).padStart(2,"0")+":"+t;const s=e<=12?"AM":"PM";return e=(e+11)%12+1,e+":"+t+""+s+""}get_hour(){return this.forcelocaltime?(new Date).getHours():this.shifteddate.getUTCHours()}update_time(){this.set_utc_shift(this.utcshift),this.eventemitter.emit("clock-updated",{formatted_time:this.get_formatted_time(),hour:this.get_hour(),utcshift:this.utcshift})}run(e){this.contentintervalid&&clearInterval(this.contentintervalid),this.update_time(),this.contentintervalid=setInterval((()=>{this.update_time()}),e)}}var t=s(729),n=s.n(t);function i(e){return Array.isArray?Array.isArray(e):"[object Array]"===u(e)}function r(e){return"string"==typeof e}function o(e){return"number"==typeof e}function c(e){return!0===e||!1===e||function(e){return h(e)&&null!==e}(e)&&"[object Boolean]"==u(e)}function h(e){return"object"==typeof e}function a(e){return null!=e}function l(e){return!e.trim().length}function u(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const d=Object.prototype.hasOwnProperty;class g{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach((e=>{let s=f(e);t+=s.weight,this._keys.push(s),this._keyMap[s.id]=s,t+=s.weight})),this._keys.forEach((e=>{e.weight/=t}))}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function f(e){let t=null,s=null,n=null,o=1,c=null;if(r(e)||i(e))n=e,t=m(e),s=p(e);else{if(!d.call(e,"name"))throw new Error((e=>`Missing ${e} property in key`)("name"));const i=e.name;if(n=i,d.call(e,"weight")&&(o=e.weight,o<=0))throw new Error((e=>`Property 'weight' in key '${e}' must be a positive integer`)(i));t=m(i),s=p(i),c=e.getFn}return{path:t,id:s,weight:o,src:n,getFn:c}}function m(e){return i(e)?e:e.split(".")}function p(e){return i(e)?e.join("."):e}var v={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx{if(a(e))if(t[l]){const u=e[t[l]];if(!a(u))return;if(l===t.length-1&&(r(u)||o(u)||c(u)))s.push(function(e){return null==e?"":function(e){if("string"==typeof e)return e;let t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}(u));else if(i(u)){n=!0;for(let e=0,s=u.length;e{this._keysMap[e.id]=t}))}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,r(this.docs[0])?this.docs.forEach(((e,t)=>{this._addString(e,t)})):this.docs.forEach(((e,t)=>{this._addObject(e,t)})),this.norm.clear())}add(e){const t=this.size();r(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,s=this.size();t{let o=t.getFn?t.getFn(e):this.getFn(e,t.path);if(a(o))if(i(o)){let e=[];const t=[{nestedArrIndex:-1,value:o}];for(;t.length;){const{nestedArrIndex:s,value:n}=t.pop();if(a(n))if(r(n)&&!l(n)){let t={v:n,i:s,n:this.norm.get(n)};e.push(t)}else i(n)&&n.forEach(((e,s)=>{t.push({nestedArrIndex:s,value:e})}))}s.$[n]=e}else if(r(o)&&!l(o)){let e={v:o,n:this.norm.get(o)};s.$[n]=e}})),this.records.push(s)}toJSON(){return{keys:this.keys,records:this.records}}}function M(e,t,{getFn:s=v.getFn,fieldNormWeight:n=v.fieldNormWeight}={}){const i=new w({getFn:s,fieldNormWeight:n});return i.setKeys(e.map(f)),i.setSources(t),i.create(),i}function _(e,{errors:t=0,currentLocation:s=0,expectedLocation:n=0,distance:i=v.distance,ignoreLocation:r=v.ignoreLocation}={}){const o=t/e.length;if(r)return o;const c=Math.abs(n-s);return i?o+c/i:c?1:o}const x=32;function L(e,t,s,{location:n=v.location,distance:i=v.distance,threshold:r=v.threshold,findAllMatches:o=v.findAllMatches,minMatchCharLength:c=v.minMatchCharLength,includeMatches:h=v.includeMatches,ignoreLocation:a=v.ignoreLocation}={}){if(t.length>x)throw new Error(`Pattern length exceeds max of ${x}.`);const l=t.length,u=e.length,d=Math.max(0,Math.min(n,u));let g=r,f=d;const m=c>1||h,p=m?Array(u):[];let y;for(;(y=e.indexOf(t,f))>-1;){let e=_(t,{currentLocation:y,expectedLocation:d,distance:i,ignoreLocation:a});if(g=Math.min(e,g),f=y+l,m){let e=0;for(;e=h;r-=1){let o=r-1,c=s[e.charAt(o)];if(m&&(p[o]=+!!c),y[r]=(y[r+1]<<1|1)&c,n&&(y[r]|=(w[r+1]|w[r])<<1|1|w[r+1]),y[r]&b&&(M=_(t,{errors:n,currentLocation:o,expectedLocation:d,distance:i,ignoreLocation:a}),M<=g)){if(g=M,f=o,f<=d)break;h=Math.max(1,2*d-f)}}if(_(t,{errors:n+1,currentLocation:d,expectedLocation:d,distance:i,ignoreLocation:a})>g)break;w=y}const k={isMatch:f>=0,score:Math.max(.001,M)};if(m){const e=function(e=[],t=v.minMatchCharLength){let s=[],n=-1,i=-1,r=0;for(let o=e.length;r=t&&s.push([n,i]),n=-1)}return e[r-1]&&r-n>=t&&s.push([n,r-1]),s}(p,c);e.length?h&&(k.indices=e):k.isMatch=!1}return k}function b(e){let t={};for(let s=0,n=e.length;s{this.chunks.push({pattern:e,alphabet:b(e),startIndex:t})},l=this.pattern.length;if(l>x){let e=0;const t=l%x,s=l-t;for(;e{const{isMatch:f,score:m,indices:p}=L(e,t,d,{location:n+g,distance:i,threshold:r,findAllMatches:o,minMatchCharLength:c,includeMatches:s,ignoreLocation:h});f&&(u=!0),l+=m,f&&p&&(a=[...a,...p])}));let d={isMatch:u,score:u?l/this.chunks.length:1};return u&&s&&(d.indices=a),d}}class S{constructor(e){this.pattern=e}static isMultiMatch(e){return C(e,this.multiRegex)}static isSingleMatch(e){return C(e,this.singleRegex)}search(){}}function C(e,t){const s=e.match(t);return s?s[1]:null}class E extends S{constructor(e,{location:t=v.location,threshold:s=v.threshold,distance:n=v.distance,includeMatches:i=v.includeMatches,findAllMatches:r=v.findAllMatches,minMatchCharLength:o=v.minMatchCharLength,isCaseSensitive:c=v.isCaseSensitive,ignoreLocation:h=v.ignoreLocation}={}){super(e),this._bitapSearch=new k(e,{location:t,threshold:s,distance:n,includeMatches:i,findAllMatches:r,minMatchCharLength:o,isCaseSensitive:c,ignoreLocation:h})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class A extends S{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t,s=0;const n=[],i=this.pattern.length;for(;(t=e.indexOf(this.pattern,s))>-1;)s=t+i,n.push([t,s-1]);const r=!!n.length;return{isMatch:r,score:r?0:1,indices:n}}}const I=[class extends S{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){const t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},A,class extends S{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){const t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},class extends S{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){const t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends S{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){const t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends S{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){const t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}},class extends S{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){const t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},E],N=I.length,O=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/;const q=new Set([E.type,A.type]);class ${constructor(e,{isCaseSensitive:t=v.isCaseSensitive,includeMatches:s=v.includeMatches,minMatchCharLength:n=v.minMatchCharLength,ignoreLocation:i=v.ignoreLocation,findAllMatches:r=v.findAllMatches,location:o=v.location,threshold:c=v.threshold,distance:h=v.distance}={}){this.query=null,this.options={isCaseSensitive:t,includeMatches:s,minMatchCharLength:n,findAllMatches:r,ignoreLocation:i,location:o,threshold:c,distance:h},this.pattern=t?e:e.toLowerCase(),this.query=function(e,t={}){return e.split("|").map((e=>{let s=e.trim().split(O).filter((e=>e&&!!e.trim())),n=[];for(let e=0,i=s.length;e!(!e[F]&&!e[j]),W=e=>({[F]:Object.keys(e).map((t=>({[t]:e[t]})))});function H(e,t,{auto:s=!0}={}){const n=e=>{let o=Object.keys(e);const c=(e=>!!e[J])(e);if(!c&&o.length>1&&!T(e))return n(W(e));if((e=>!i(e)&&h(e)&&!T(e))(e)){const n=c?e[J]:o[0],i=c?e[U]:e[n];if(!r(i))throw new Error((e=>`Invalid value for key ${e}`)(n));const h={keyId:p(n),pattern:i};return s&&(h.searcher=R(i,t)),h}let a={children:[],operator:o[0]};return o.forEach((t=>{const s=e[t];i(s)&&s.forEach((e=>{a.children.push(n(e))}))})),a};return T(e)||(e=W(e)),n(e)}function z(e,t){const s=e.matches;t.matches=[],a(s)&&s.forEach((e=>{if(!a(e.indices)||!e.indices.length)return;const{indices:s,value:n}=e;let i={indices:s,value:n};e.key&&(i.key=e.key.src),e.idx>-1&&(i.refIndex=e.idx),t.matches.push(i)}))}function D(e,t){t.score=e.score}class K{constructor(e,t={},s){this.options={...v,...t},this.options.useExtendedSearch,this._keyStore=new g(this.options.keys),this.setCollection(e,s)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof w))throw new Error("Incorrect 'index' type");this._myIndex=t||M(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){a(e)&&(this._docs.push(e),this._myIndex.add(e))}remove(e=(()=>!1)){const t=[];for(let s=0,n=this._docs.length;s{let s=1;e.matches.forEach((({key:e,norm:n,score:i})=>{const r=e?e.weight:null;s*=Math.pow(0===i&&r?Number.EPSILON:i,(r||1)*(t?1:n))})),e.score=s}))}(a,{ignoreFieldNorm:h}),i&&a.sort(c),o(t)&&t>-1&&(a=a.slice(0,t)),function(e,t,{includeMatches:s=v.includeMatches,includeScore:n=v.includeScore}={}){const i=[];return s&&i.push(z),n&&i.push(D),e.map((e=>{const{idx:s}=e,n={item:t[s],refIndex:s};return i.length&&i.forEach((t=>{t(e,n)})),n}))}(a,this._docs,{includeMatches:s,includeScore:n})}_searchStringList(e){const t=R(e,this.options),{records:s}=this._myIndex,n=[];return s.forEach((({v:e,i:s,n:i})=>{if(!a(e))return;const{isMatch:r,score:o,indices:c}=t.searchIn(e);r&&n.push({item:e,idx:s,matches:[{score:o,value:e,norm:i,indices:c}]})})),n}_searchLogical(e){const t=H(e,this.options),s=(e,t,n)=>{if(!e.children){const{keyId:s,searcher:i}=e,r=this._findMatches({key:this._keyStore.get(s),value:this._myIndex.getValueForItemAtKeyId(t,s),searcher:i});return r&&r.length?[{idx:n,item:t,matches:r}]:[]}const i=[];for(let r=0,o=e.children.length;r{if(a(e)){let o=s(t,e,n);o.length&&(i[n]||(i[n]={idx:n,item:e,matches:[]},r.push(i[n])),o.forEach((({matches:e})=>{i[n].matches.push(...e)})))}})),r}_searchObjectList(e){const t=R(e,this.options),{keys:s,records:n}=this._myIndex,i=[];return n.forEach((({$:e,i:n})=>{if(!a(e))return;let r=[];s.forEach(((s,n)=>{r.push(...this._findMatches({key:s,value:e[n],searcher:t}))})),r.length&&i.push({idx:n,item:e,matches:r})})),i}_findMatches({key:e,value:t,searcher:s}){if(!a(t))return[];let n=[];if(i(t))t.forEach((({v:t,i,n:r})=>{if(!a(t))return;const{isMatch:o,score:c,indices:h}=s.searchIn(t);o&&n.push({score:c,key:e,value:t,idx:i,norm:r,indices:h})}));else{const{v:i,n:r}=t,{isMatch:o,score:c,indices:h}=s.searchIn(i);o&&n.push({score:c,key:e,value:i,norm:r,indices:h})}return n}}K.version="6.6.2",K.createIndex=M,K.parseIndex=function(e,{getFn:t=v.getFn,fieldNormWeight:s=v.fieldNormWeight}={}){const{keys:n,records:i}=e,r=new w({getFn:t,fieldNormWeight:s});return r.setKeys(n),r.setIndexRecords(i),r},K.config=v,K.parseQuery=H,function(...e){P.push(...e)}($);class V{constructor(e){this.hour=e,this.greetings={0:"morning",12:"afternoon",16:"evening",19:"night"}}get_greeting(){let e=Object.keys(this.greetings).reverse();for(let t of e)if(this.hour>=t)return this.greetings[t]}}class B{constructor(e,t,s,n){this.containerelm=s,this.eventemitter=n,this.inputelm=t,this.suggestionslistelm=s.querySelector(".suggestion-list"),this.searchproviderlist=null,this.searchengines=e}build_searchprovider_list_elm(e){const t=document.createElement("ul");return t.classList.add("searchproviders"),t.setAttribute("tabindex",-1),this.searchengines.forEach((s=>{const n=document.createElement("li");n.setAttribute("tabindex",-1),n.innerHTML='Search on '+s.name+"",t.appendChild(n)})),t.addEventListener("keyup",(e=>{switch(e.code){case"ArrowUp":if(document.activeElement==e.target.parentNode.parentNode.firstChild.firstChild){this.inputelm.focus();break}document.activeElement.parentNode.previousSibling.firstChild.focus();break;case"ArrowDown":if(document.activeElement==e.target.parentNode.parentNode.lastChild.firstChild){const t=document.querySelector(".suggestionholder .suggestions");t?t.firstChild.firstChild.focus():e.target.parentNode.parentNode.firstChild.firstChild.focus();break}document.activeElement.parentNode.nextSibling.firstChild.focus()}})),t}build_suggestion_list_elm(e){const t=document.createElement("ul");return t.classList.add("suggestions"),t.setAttribute("tabindex",-1),e.forEach((e=>{const s=document.createElement("li");s.setAttribute("tabindex",-1),s.innerHTML=' '+e.name+"",t.appendChild(s)})),t.addEventListener("keyup",(e=>{switch(e.code){case"ArrowUp":if(document.activeElement==e.target.parentNode.parentNode.firstChild.firstChild){this.searchproviderlist.lastChild.firstChild.focus();break}document.activeElement.parentNode.previousSibling.firstChild.focus();break;case"ArrowDown":if(document.activeElement==e.target.parentNode.parentNode.lastChild.firstChild){this.searchproviderlist.firstChild.firstChild.focus();break}document.activeElement.parentNode.nextSibling.firstChild.focus()}})),t}replace(e){const t=this.build_suggestion_list_elm(e),s=document.createElement("span");if(s.classList.add("suggestionholder"),""!==this.inputelm.value){const e=document.createElement("span");e.classList.add("suggestiontitle"),e.innerHTML="Search",s.appendChild(e),this.searchproviderlist=this.build_searchprovider_list_elm(this.inputelm.value),s.appendChild(this.searchproviderlist)}if(t.childNodes.length>0){const e=document.createElement("span");e.classList.add("suggestiontitle"),e.innerHTML="Sites",s.appendChild(e),s.appendChild(t)}if(s.childNodes.length>0)this.containerelm.classList.add("suggestions"),this.suggestionslistelm.replaceChildren(s);else{this.containerelm.classList.remove("suggestions");let e=this.containerelm.querySelector(".suggestionholder");e&&e.remove()}}}class Q{constructor(e){this.eventemitter=e}fetch_owm_data(e){let t=JUMP.wwwurl+"/api/weather/"+JUMP.token+"/";e.length&&(t+=e[0]+"/"+e[1]+"/"),fetch(t).then((e=>e.json())).then((e=>{if(e.error)console.error("JUMP ERROR: There was an issue with the OWM API... "+e.error);else if(401!==e.cod){var t="night";e.dt>e.sys.sunrise&&e.dte.json())).then((t=>{t.error?console.error("JUMP ERROR: There was an issue with the Unsplash API... "+t.error):(e.style.backgroundImage='url("'+t.imagedatauri+'")',document.querySelector(".unsplash").innerHTML=t.attribution)}))}this.add_event_listeners(),JUMP.owmapikey?(this.weather.fetch_owm_data(this.latlong),setInterval((()=>{this.weather.fetch_owm_data(this.latlong)}),this.weatherfrequency)):this.eventemitter.emit("show-content")}add_event_listeners(){if(this.eventemitter.on("weather-loaded",(e=>{this.timezoneshift=e.timezoneshift,this.weatherelm.href="https://openweathermap.org/city/"+e.locationcode,this.weathericonelm.classList.add(e.iconclass),this.clientlocationelm.innerHTML=e.locationname,this.tempelm.innerHTML=e.temp,this.weatherdescelm.innerHTML=e.description,this.clientlocationelm.classList.add("enable"),this.eventemitter.emit("show-content")})),this.eventemitter.on("clock-updated",(e=>{if(null!=this.timeelm&&(this.timeelm.innerHTML=e.formatted_time),null!=this.greetingelm){let t=new V(e.hour);this.greetingelm.innerHTML=t.get_greeting()}})),this.eventemitter.on("show-content",(()=>{this.set_clock(),this.show_content()})),this.clientlocationelm.addEventListener("click",(e=>{navigator.geolocation.getCurrentPosition((e=>{this.latlong=[e.coords.latitude,e.coords.longitude],this.storage.setItem("lastrequestedlocation",JSON.stringify(this.latlong)),this.weather.fetch_owm_data(this.latlong)}),(e=>{console.error(e.message)}),{enableHighAccuracy:!0})})),this.showtagsbuttonelm&&this.showtagsbuttonelm.addEventListener("click",(e=>{this.tagselectorelm.classList.add("enable"),e.preventDefault()})),this.tagsselectorclosebuttonelm&&this.tagsselectorclosebuttonelm.addEventListener("click",(e=>{this.tagselectorelm.classList.remove("enable")})),this.showsearchbuttonelm){const e=document.querySelector(".search-form input");this.searchsuggestions=new B(JSON.parse(JUMP.searchengines),e,this.showsearchbuttonelm,this.eventemitter),this.showsearchbuttonelm.addEventListener("click",(t=>{t.target.classList.contains("open")||(this.showsearchbuttonelm.classList.add("open"),e.focus())})),document.addEventListener("keyup",(t=>{t.ctrlKey&&t.shiftKey&&"Slash"==t.code&&(this.showsearchbuttonelm.classList.contains("open")?this.search_close():(this.showsearchbuttonelm.classList.add("open"),e.focus()))})),this.searchclosebuttonelm.addEventListener("click",(e=>{e.stopPropagation(),this.search_close()})),e.addEventListener("keyup",(t=>{let s=document.querySelector(".suggestion-list .searchproviders");if("ArrowDown"===t.code)return void(s&&s.childNodes.length&&s.firstChild.firstChild.focus());let n=[],i=this.fuse.search(e.value);i.length=8,i.length>0&&i.forEach((e=>{n.push(e.item)})),this.searchsuggestions.replace(n)})),document.querySelector(".search-form").addEventListener("submit",(t=>{t.preventDefault(),""!=e.value&&document.querySelector(".searchproviders li a").click()}))}}search_close(){let e=this.showsearchbuttonelm.querySelector(".suggestionholder");e&&e.remove(),this.showsearchbuttonelm.classList.remove("suggestions"),document.querySelector(".search").classList.remove("open"),document.querySelector(".search-form input").value=""}show_content(){document.querySelectorAll(".hidden").forEach((function(e){e.classList.remove("hidden")}))}set_clock(){this.clock.set_utc_shift(this.timezoneshift),this.clock.run(this.clockfrequency)}}).init()})()})(); \ No newline at end of file diff --git a/jumpapp/templates/partials/jsbundle.mustache b/jumpapp/templates/partials/jsbundle.mustache index 18e2086..bca94cc 100644 --- a/jumpapp/templates/partials/jsbundle.mustache +++ b/jumpapp/templates/partials/jsbundle.mustache @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 8047b2e..1f076c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,37 @@ { "name": "jump", - "version": "1.2.2", + "version": "1.2.4", "lockfileVersion": 1, "requires": true, "dependencies": { "@discoveryjs/json-ext": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", - "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", + "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -17,9 +39,9 @@ "dev": true }, "@types/eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz", + "integrity": "sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==", "dev": true, "requires": { "@types/estree": "*", @@ -27,9 +49,9 @@ } }, "@types/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dev": true, "requires": { "@types/eslint": "*", @@ -37,9 +59,9 @@ } }, "@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "dev": true }, "@types/glob": { @@ -223,24 +245,24 @@ } }, "@webpack-cli/configtest": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz", - "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", + "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", "dev": true }, "@webpack-cli/info": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz", - "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", + "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", "dev": true, "requires": { "envinfo": "^7.7.3" } }, "@webpack-cli/serve": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz", - "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", + "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", "dev": true }, "@xtuc/ieee754": { @@ -268,14 +290,14 @@ "dev": true }, "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", "uri-js": "^4.2.2" } }, @@ -309,10 +331,13 @@ } }, "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } }, "ansi-regex": { "version": "5.0.1", @@ -330,9 +355,9 @@ } }, "ansis": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/ansis/-/ansis-1.3.6.tgz", - "integrity": "sha512-TMXlWGGK5cOYT//DNX8V4zGnr824j95Oh888GV2J3eVFwKnolgdym9jje9MNLa3a8YNl0MnyX7C5tVj8dw5amA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-1.4.0.tgz", + "integrity": "sha512-jaJCg2/68pwinZeW86YBSNv0kNPr3PSog/IqflOVCbqCedSCvrDCBUW1y4V9gcEUDNxrGtVLAkMIivvpsq1VwA==", "dev": true }, "anymatch": { @@ -545,9 +570,9 @@ "dev": true }, "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", "dev": true }, "commander": { @@ -832,9 +857,9 @@ "dev": true }, "enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", - "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", + "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -915,23 +940,6 @@ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -945,9 +953,9 @@ "dev": true }, "fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.14.tgz", + "integrity": "sha512-tFfWHjnuUfKE186Tfgr+jtaFc0mZTApEgKDOeyN+FwOqRkO/zK/3h1AiRd8u8CY53owL3CUmGr/oI9p/RdyLTA==", "dev": true }, "fill-range": { @@ -993,12 +1001,6 @@ "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz", "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==" }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, "glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", @@ -1050,9 +1052,9 @@ } }, "graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, "has": { @@ -1124,12 +1126,6 @@ "entities": "^2.0.0" } }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, "icss-utils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", @@ -1137,9 +1133,9 @@ "dev": true }, "immutable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", - "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", "dev": true }, "import-local": { @@ -1184,9 +1180,9 @@ } }, "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", "dev": true, "requires": { "has": "^1.0.3" @@ -1195,7 +1191,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-glob": { @@ -1246,22 +1242,16 @@ "isobject": "^3.0.1" } }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, "jest-worker": { @@ -1275,16 +1265,16 @@ "supports-color": "^8.0.0" } }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "kind-of": { @@ -1306,9 +1296,9 @@ "dev": true }, "loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true }, "locate-path": { @@ -1369,74 +1359,27 @@ "dev": true }, "mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true }, "mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "requires": { - "mime-db": "1.51.0" + "mime-db": "1.52.0" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, "mini-css-extract-plugin": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz", - "integrity": "sha512-ndG8nxCEnAemsg4FSgS+yNyHKgkTB4nPKqCOgh65j3/30qqC5RaSQQXMm++Y6sb6E1zRSxPkztj9fqxhS1Eo6w==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz", + "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==", "dev": true, "requires": { "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - } } }, "minimatch": { @@ -1488,15 +1431,6 @@ "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", "dev": true }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, "nth-check": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", @@ -1521,15 +1455,6 @@ "wrappy": "1" } }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -2028,12 +1953,12 @@ "dev": true }, "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, "requires": { - "is-core-module": "^2.8.1", + "is-core-module": "^2.9.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -2069,9 +1994,9 @@ "dev": true }, "sass": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.51.0.tgz", - "integrity": "sha512-haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA==", + "version": "1.53.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.53.0.tgz", + "integrity": "sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", @@ -2090,14 +2015,15 @@ } }, "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dev": true, "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" } }, "semver": { @@ -2142,12 +2068,6 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -2185,12 +2105,6 @@ "ansi-regex": "^5.0.1" } }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, "stylehacks": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", @@ -2266,16 +2180,53 @@ } }, "terser-webpack-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", - "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz", + "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==", "dev": true, "requires": { + "@jridgewell/trace-mapping": "^0.3.7", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", "terser": "^5.7.2" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } } }, "to-regex-range": { @@ -2315,9 +2266,9 @@ "dev": true }, "watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -2325,13 +2276,13 @@ } }, "webpack": { - "version": "5.68.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.68.0.tgz", - "integrity": "sha512-zUcqaUO0772UuuW2bzaES2Zjlm/y3kRBQDVFVCge+s2Y8mwuUTdperGaAv65/NtRL/1zanpSJOq/MD8u61vo6g==", + "version": "5.73.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", + "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", "dev": true, "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", @@ -2339,13 +2290,13 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", + "enhanced-resolve": "^5.9.3", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", + "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", @@ -2354,21 +2305,58 @@ "terser-webpack-plugin": "^5.1.3", "watchpack": "^2.3.1", "webpack-sources": "^3.2.3" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } } }, "webpack-cli": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz", - "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", + "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.1", - "@webpack-cli/info": "^1.4.1", - "@webpack-cli/serve": "^1.6.1", + "@webpack-cli/configtest": "^1.2.0", + "@webpack-cli/info": "^1.5.0", + "@webpack-cli/serve": "^1.7.0", "colorette": "^2.0.14", "commander": "^7.0.0", - "execa": "^5.0.0", + "cross-spawn": "^7.0.3", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", "interpret": "^2.2.0", @@ -2395,12 +2383,12 @@ } }, "webpack-remove-empty-scripts": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/webpack-remove-empty-scripts/-/webpack-remove-empty-scripts-0.8.0.tgz", - "integrity": "sha512-B8hRdGtwaCaZzJj8t838oNTtSi+wLJ//74X1HHqrKW+LP8WK2KzGEEkW662XWik/jqUeM6XQZMmXS/pFt64cvg==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/webpack-remove-empty-scripts/-/webpack-remove-empty-scripts-0.8.1.tgz", + "integrity": "sha512-61hc2jfZOI6SAFDpIAQ910VFWc7ic+JWyjU0H/5A+1poKD9nOQRHnXaaixwsxXWI0+N1HUvmiREC3h9Dqn9xWw==", "dev": true, "requires": { - "ansis": "^1.3.4" + "ansis": "^1.3.6" } }, "webpack-sources": { diff --git a/package.json b/package.json index 4757004..1bf073d 100644 --- a/package.json +++ b/package.json @@ -11,13 +11,13 @@ "css-loader": "^6.7.1", "css-minimizer-webpack-plugin": "^3.4.1", "html-webpack-plugin": "^5.5.0", - "mini-css-extract-plugin": "^2.6.0", - "sass": "^1.51.0", + "mini-css-extract-plugin": "^2.6.1", + "sass": "^1.53.0", "sass-loader": "^12.6.0", - "terser-webpack-plugin": "^5.3.1", - "webpack": "^5.68.0", - "webpack-cli": "^4.9.2", - "webpack-remove-empty-scripts": "^0.8.0", + "terser-webpack-plugin": "^5.3.3", + "webpack": "^5.73.0", + "webpack-cli": "^4.10.0", + "webpack-remove-empty-scripts": "^0.8.1", "webpack-version-file": "^0.1.6" }, "dependencies": {