-
Notifications
You must be signed in to change notification settings - Fork 5
/
newshub.min.js.map
7 lines (7 loc) · 113 KB
/
newshub.min.js.map
1
2
3
4
5
6
7
{
"version": 3,
"sources": ["../../resources/ts/utilities/query.ts", "../../resources/ts/utilities/ready.ts", "../../resources/ts/components/bootstrap.ts", "../../resources/ts/components/color-picker.ts", "../../resources/ts/components/double-click.ts", "../../node_modules/keen-slider/keen-slider.es.js", "../../resources/ts/utilities/boolean.ts", "../../resources/ts/utilities/json.ts", "../../resources/ts/components/keen-slider.ts", "../../resources/ts/components/lightbox.ts", "../../resources/ts/utilities/wait.ts", "../../resources/ts/components/navbar.ts", "../../resources/ts/components/to-top.ts", "../../resources/ts/theme.ts"],
"sourcesContent": ["\r\n/**\r\n * Query Selector\r\n * @param selector \r\n * @param context \r\n * @returns \r\n */\r\nfunction query(selector: string, context: Document | HTMLElement | null = null): HTMLElement[] {\r\n return Array.from((context || document).querySelectorAll(selector));\r\n}\r\n\r\n// Export Module\r\nexport default query;\r\n", "\r\n/**\r\n * Ready Factory State\r\n * @param factory \r\n * @returns\r\n */\r\nfunction ready(factory: Function | void): Promise<true> | void {\r\n if (typeof factory === 'function') {\r\n if (document.readyState === 'loading') {\r\n document.addEventListener('DOMContentLoaded', factory.bind(this));\r\n } else {\r\n factory();\r\n }\r\n } else {\r\n return new Promise(resolve => {\r\n if (document.readyState === 'loading') {\r\n document.addEventListener('DOMContentLoaded', resolve.bind(this, true));\r\n } else {\r\n resolve(true);\r\n }\r\n });\r\n }\r\n}\r\n\r\n// Export Module\r\nexport default ready;\r\n", "import query from '../utilities/query';\r\nimport ready from '../utilities/ready';\r\n\r\n/**\r\n * Invoke Bootstrap Dropdowns\r\n * @param {*} element \r\n */\r\nfunction invokeBootstrapDropdown(element)\r\n{\r\n document.addEventListener('click', (event) => {\r\n if (element === event.target || element.contains(event.target)) {\r\n event.preventDefault();\r\n\r\n let instance = window['Bootstrap'].Dropdown.getOrCreateInstance(element, {\r\n autoClose: true\r\n });\r\n\r\n // ByPass in Navbar restriction\r\n // @see https://github.com/twbs/bootstrap/issues/32379#issuecomment-743910487\r\n instance._inNavbar = false;\r\n\r\n // Toggle Dropdown\r\n instance.toggle();\r\n } else {\r\n let instance = window['Bootstrap'].Dropdown.getInstance(element, {\r\n autoClose: true\r\n });\r\n\r\n if (instance && instance._isShown()) {\r\n instance.toggle();\r\n }\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Invoke Bootstrap Tooltips\r\n * @param {*} element \r\n */\r\nfunction invokeBootstrapTooltip(element)\r\n{\r\n if (element.hasAttribute('data-rat-init')) {\r\n return;\r\n }\r\n new window['Bootstrap'].Tooltip(element);\r\n element.dataset.ratInit = '1';\r\n}\r\n\r\n/**\r\n * Invoke Bootstrap Popovers\r\n * @param {*} element \r\n */\r\nfunction invokeBootstrapPopover(element)\r\n{\r\n if (element.hasAttribute('data-rat-init')) {\r\n return;\r\n }\r\n new window['Bootstrap'].Popover(element);\r\n element.dataset.ratInit = '1';\r\n}\r\n\r\n// Export Ready Handler\r\nexport default () => {\r\n ready(() => {\r\n query('[data-newshub-toggle=\"dropdown\"]').map(el => invokeBootstrapDropdown(el));\r\n query('[data-bs-toggle=\"tooltip\"],[data-newshub-toggle=\"tooltip\"]').map(el => invokeBootstrapTooltip(el));\r\n query('[data-bs-toggle=\"popover\"],[data-newshub-toggle=\"popover\"]').map(el => invokeBootstrapPopover(el));\r\n });\r\n};\r\n", "import query from '../utilities/query';\r\nimport ready from '../utilities/ready';\r\n\r\n/**\r\n * Invoke Scroll-To-Top Button\r\n * @param {*} element \r\n */\r\nfunction invokeColorPicker(element)\r\n{\r\n const defaultScheme = window['newshub'].defaultScheme;\r\n\r\n function onLoad() {\r\n query('[data-newshub-toggle=\"color-picker\"]').map((el: HTMLInputElement) => {\r\n let style = localStorage.getItem('newshub-color-scheme') || defaultScheme;\r\n if(style === 'light') {\r\n el.checked = false;\r\n } else {\r\n el.checked = true;\r\n }\r\n });\r\n }\r\n onLoad();\r\n\r\n element.addEventListener('change', (event) => {\r\n let style = localStorage.getItem('newshub-color-scheme') || defaultScheme;\r\n let newStyle = style === 'light'? 'dark': 'light';\r\n localStorage.setItem('newshub-color-scheme', newStyle);\r\n\r\n // Set Styling for a smooth change\r\n let styling = document.createElement('style');\r\n styling.innerText = '*,*::before,*::after{ transition: all 0.25s ease 0ms !important; }';\r\n document.head.appendChild(styling);\r\n\r\n // Change Class Names\r\n document.body.classList.remove(style);\r\n document.body.classList.add(newStyle);\r\n\r\n // Remove Styling\r\n setTimeout(() => styling.remove(), 500);\r\n onLoad();\r\n\r\n // Trigger Event\r\n const customEvent = new CustomEvent('newshub:scheme', { detail: { prev: style, now: newStyle } });\r\n document.dispatchEvent(customEvent);\r\n });\r\n}\r\n\r\n\r\n// Export Ready Handler\r\nexport default () => {\r\n ready(() => {\r\n query('[data-newshub-toggle=\"color-picker\"]').map(el => invokeColorPicker(el));\r\n })\r\n};\r\n", "import query from '../utilities/query';\r\nimport ready from '../utilities/ready';\r\n\r\n/**\r\n * Invoke Double-Click Solution\r\n * @param {*} element \r\n */\r\nfunction invokeDoubleClick(element)\r\n{\r\n element.querySelector('button.double-click-button').addEventListener('click', (event) => {\r\n let template = element.querySelector('template');\r\n let content = template.content.firstElementChild || template.content.textContent.trim();\r\n\r\n if (typeof content === 'string') {\r\n let container = document.createElement('DIV');\r\n container.innerHTML = content.replace(/\\"\\;/g, '\"');\r\n content = container.firstElementChild;\r\n }\r\n\r\n element.replaceWith(content);\r\n });\r\n}\r\n\r\n// Export Ready Handler\r\nexport default () => {\r\n ready(() => {\r\n query('[data-newshub-toggle=\"double-click\"]').map(el => invokeDoubleClick(el));\r\n });\r\n};\r\n", "var n=function(){return n=Object.assign||function(n){for(var t,i=1,e=arguments.length;i<e;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n},n.apply(this,arguments)};function t(n,t,i){if(i||2===arguments.length)for(var e,r=0,a=t.length;r<a;r++)!e&&r in t||(e||(e=Array.prototype.slice.call(t,0,r)),e[r]=t[r]);return n.concat(e||Array.prototype.slice.call(t))}function i(n){return Array.prototype.slice.call(n)}function e(n,t){var i=Math.floor(n);return i===t||i+1===t?n:t}function r(){return Date.now()}function a(n,t,i){if(t=\"data-keen-slider-\"+t,null===i)return n.removeAttribute(t);n.setAttribute(t,i||\"\")}function o(n,t){return t=t||document,\"function\"==typeof n&&(n=n(t)),Array.isArray(n)?n:\"string\"==typeof n?i(t.querySelectorAll(n)):n instanceof HTMLElement?[n]:n instanceof NodeList?i(n):[]}function u(n){n.raw&&(n=n.raw),n.cancelable&&!n.defaultPrevented&&n.preventDefault()}function s(n){n.raw&&(n=n.raw),n.stopPropagation&&n.stopPropagation()}function c(){var n=[];return{add:function(t,i,e,r){t.addListener?t.addListener(e):t.addEventListener(i,e,r),n.push([t,i,e,r])},input:function(n,t,i,e){this.add(n,t,function(n){return function(t){t.nativeEvent&&(t=t.nativeEvent);var i=t.changedTouches||[],e=t.targetTouches||[],r=t.detail&&t.detail.x?t.detail:null;return n({id:r?r.identifier?r.identifier:\"i\":e[0]?e[0]?e[0].identifier:\"e\":\"d\",idChanged:r?r.identifier?r.identifier:\"i\":i[0]?i[0]?i[0].identifier:\"e\":\"d\",raw:t,x:r&&r.x?r.x:e[0]?e[0].screenX:r?r.x:t.pageX,y:r&&r.y?r.y:e[0]?e[0].screenY:r?r.y:t.pageY})}}(i),e)},purge:function(){n.forEach((function(n){n[0].removeListener?n[0].removeListener(n[2]):n[0].removeEventListener(n[1],n[2],n[3])})),n=[]}}}function d(n,t,i){return Math.min(Math.max(n,t),i)}function l(n){return(n>0?1:0)-(n<0?1:0)||+n}function f(n){var t=n.getBoundingClientRect();return{height:e(t.height,n.offsetHeight),width:e(t.width,n.offsetWidth)}}function p(n,t,i,e){var r=n&&n[t];return null==r?i:e&&\"function\"==typeof r?r():r}function v(n){return Math.round(1e6*n)/1e6}function h(n){var t,i,e,r,a,o;function u(t){o||(o=t),s(!0);var a=t-o;a>e&&(a=e);var l=r[i];if(l[3]<a)return i++,u(t);var f=l[2],p=l[4],v=l[0],h=l[1]*(0,l[5])(0===p?1:(a-f)/p);if(h&&n.track.to(v+h),a<e)return d();o=null,s(!1),c(null),n.emit(\"animationEnded\")}function s(n){t.active=n}function c(n){t.targetIdx=n}function d(){var n;n=u,a=window.requestAnimationFrame(n)}function l(){var t;t=a,window.cancelAnimationFrame(t),s(!1),c(null),o&&n.emit(\"animationStopped\"),o=null}return t={active:!1,start:function(t){if(l(),n.track.details){var a=0,o=n.track.details.position;i=0,e=0,r=t.map((function(n){var t,i=o,r=null!==(t=n.earlyExit)&&void 0!==t?t:n.duration,u=n.easing,s=n.distance*u(r/n.duration)||0;o+=s;var c=e;return e+=r,a+=s,[i,n.distance,c,e,n.duration,u]})),c(n.track.distToIdx(a)),d(),n.emit(\"animationStarted\")}},stop:l,targetIdx:null}}function m(n){var i,e,a,o,u,s,c,f,h,m,g,b,x,k,y=1/0,w=[],M=null,T=0;function C(n){_(T+n)}function E(n){var t=z(T+n).abs;return D(t)?t:null}function z(n){var i=Math.floor(Math.abs(v(n/e))),r=v((n%e+e)%e);r===e&&(r=0);var a=l(n),o=c.indexOf(t([],c,!0).reduce((function(n,t){return Math.abs(t-r)<Math.abs(n-r)?t:n}))),u=o;return a<0&&i++,o===s&&(u=0,i+=a>0?1:-1),{abs:u+i*s*a,origin:o,rel:u}}function I(n,t,i){var e;if(t||!S())return A(n,i);if(!D(n))return null;var r=z(null!=i?i:T),a=r.abs,o=n-r.rel,u=a+o;e=A(u);var c=A(u-s*l(o));return(null!==c&&Math.abs(c)<Math.abs(e)||null===e)&&(e=c),v(e)}function A(n,t){if(null==t&&(t=v(T)),!D(n)||null===n)return null;n=Math.round(n);var i=z(t),r=i.abs,a=i.rel,o=i.origin,u=O(n),d=(t%e+e)%e,l=c[o],f=Math.floor((n-(r-a))/s)*e;return v(l-d-l+c[u]+f+(o===s?e:0))}function D(n){return L(n)===n}function L(n){return d(n,h,m)}function S(){return o.loop}function O(n){return(n%s+s)%s}function _(t){var i;i=t-T,w.push({distance:i,timestamp:r()}),w.length>6&&(w=w.slice(-6)),T=v(t);var e=H().abs;if(e!==M){var a=null!==M;M=e,a&&n.emit(\"slideChanged\")}}function H(t){var r=t?null:function(){if(s){var n=S(),t=n?(T%e+e)%e:T,i=(n?T%e:T)-u[0][2],r=0-(i<0&&n?e-Math.abs(i):i),c=0,d=z(T),f=d.abs,p=d.rel,v=u[p][2],y=u.map((function(t,i){var a=r+c;(a<0-t[0]||a>1)&&(a+=(Math.abs(a)>e-1&&n?e:0)*l(-a));var u=i-p,d=l(u),h=u+f;n&&(-1===d&&a>v&&(h+=s),1===d&&a<v&&(h-=s),null!==g&&h<g&&(a+=e),null!==b&&h>b&&(a-=e));var m=a+t[0]+t[1],x=Math.max(a>=0&&m<=1?1:m<0||a>1?0:a<0?Math.min(1,(t[0]+a)/t[0]):(1-a)/t[0],0);return c+=t[0]+t[1],{abs:h,distance:o.rtl?-1*a+1-t[0]:a,portion:x,size:t[0]}}));return f=L(f),p=O(f),{abs:L(f),length:a,max:k,maxIdx:m,min:x,minIdx:h,position:T,progress:n?t/e:T/a,rel:p,slides:y,slidesLength:e}}}();return i.details=r,n.emit(\"detailsChanged\"),r}return i={absToRel:O,add:C,details:null,distToIdx:E,idxToDist:I,init:function(t){if(function(){if(o=n.options,u=(o.trackConfig||[]).map((function(n){return[p(n,\"size\",1),p(n,\"spacing\",0),p(n,\"origin\",0)]})),s=u.length){e=v(u.reduce((function(n,t){return n+t[0]+t[1]}),0));var t,i=s-1;a=v(e+u[0][2]-u[i][0]-u[i][2]-u[i][1]),c=u.reduce((function(n,i){if(!n)return[0];var e=u[n.length-1],r=n[n.length-1]+(e[0]+e[2])+e[1];return r-=i[2],n[n.length-1]>r&&(r=n[n.length-1]),r=v(r),n.push(r),(!t||t<r)&&(f=n.length-1),t=r,n}),null),0===a&&(f=0),c.push(v(e))}}(),!s)return H(!0);var i;!function(){var t=n.options.range,i=n.options.loop;g=h=i?p(i,\"min\",-1/0):0,b=m=i?p(i,\"max\",y):f;var e=p(t,\"min\",null),r=p(t,\"max\",null);e&&(h=e),r&&(m=r),x=h===-1/0?h:n.track.idxToDist(h||0,!0,0),k=m===y?m:I(m,!0,0),null===r&&(b=m),p(t,\"align\",!1)&&m!==y&&0===u[O(m)][2]&&(k-=1-u[O(m)][0],m=E(k-T)),x=v(x),k=v(k)}(),i=t,Number(i)===i?C(A(L(t))):H()},to:_,velocity:function(){var n=r(),t=w.reduce((function(t,i){var e=i.distance,r=i.timestamp;return n-r>200||(l(e)!==l(t.distance)&&t.distance&&(t={distance:0,lastTimestamp:0,time:0}),t.time&&(t.distance+=e),t.lastTimestamp&&(t.time+=r-t.lastTimestamp),t.lastTimestamp=r),t}),{distance:0,lastTimestamp:0,time:0});return t.distance/t.time||0}}}function g(n){var t,i,e,r,a,o,u,s;function c(n){return 2*n}function f(n){return d(n,u,s)}function p(n){return 1-Math.pow(1-n,3)}function v(){return e?n.track.velocity():0}function h(){b();var t=\"free-snap\"===n.options.mode,i=n.track,e=v();r=l(e);var u=n.track.details,s=[];if(e||!t){var d=m(e),h=d.dist,g=d.dur;if(g=c(g),h*=r,t){var x=i.idxToDist(i.distToIdx(h),!0);x&&(h=x)}s.push({distance:h,duration:g,easing:p});var k=u.position,y=k+h;if(y<a||y>o){var w=y<a?a-k:o-k,M=0,T=e;if(l(w)===r){var C=Math.min(Math.abs(w)/Math.abs(h),1),E=function(n){return 1-Math.pow(1-n,1/3)}(C)*g;s[0].earlyExit=E,T=e*(1-C)}else s[0].earlyExit=0,M+=w;var z=m(T,100),I=z.dist*r;n.options.rubberband&&(s.push({distance:I,duration:c(z.dur),easing:p}),s.push({distance:-I+M,duration:500,easing:p}))}n.animator.start(s)}else n.moveToIdx(f(u.abs),!0,{duration:500,easing:function(n){return 1+--n*n*n*n*n}})}function m(n,t){void 0===t&&(t=1e3);var i=147e-9+(n=Math.abs(n))/t;return{dist:Math.pow(n,2)/i,dur:n/i}}function g(){var t=n.track.details;t&&(a=t.min,o=t.max,u=t.minIdx,s=t.maxIdx)}function b(){n.animator.stop()}n.on(\"updated\",g),n.on(\"optionsChanged\",g),n.on(\"created\",g),n.on(\"dragStarted\",(function(){e=!1,b(),t=i=n.track.details.abs})),n.on(\"dragChecked\",(function(){e=!0})),n.on(\"dragEnded\",(function(){var e=n.options.mode;\"snap\"===e&&function(){var e=n.track,r=n.track.details,u=r.position,s=l(v());(u>o||u<a)&&(s=0);var c=t+s;0===r.slides[e.absToRel(c)].portion&&(c-=s),t!==i&&(c=i),l(e.idxToDist(c,!0))!==s&&(c+=s),c=f(c);var d=e.idxToDist(c,!0);n.animator.start([{distance:d,duration:500,easing:function(n){return 1+--n*n*n*n*n}}])}(),\"free\"!==e&&\"free-snap\"!==e||h()})),n.on(\"dragged\",(function(){i=n.track.details.abs}))}function b(n){var t,i,e,r,a,f,p,v,h,m,g,b,x,k,y,w,M,T,C=c();function E(t){if(f&&v===t.id){var o=D(t);if(h){if(!A(t))return I(t);m=o,h=!1,n.emit(\"dragChecked\")}if(w)return m=o;u(t);var c=function(t){if(M===-1/0&&T===1/0)return t;var e=n.track.details,o=e.length,u=e.position,s=d(t,M-u,T-u);if(0===o)return 0;if(!n.options.rubberband)return s;if(u<=T&&u>=M)return t;if(u<M&&i>0||u>T&&i<0)return t;var c=(u<M?u-M:u-T)/o,l=r*o,f=Math.abs(c*l),p=Math.max(0,1-f/a*2);return p*p*t}(p(m-o)/r*e);i=l(c);var x=n.track.details.position;(x>M&&x<T||x===M&&i>0||x===T&&i<0)&&s(t),g+=c,!b&&Math.abs(g*r)>5&&(b=!0),n.track.add(c),m=o,n.emit(\"dragged\")}}function z(t){!f&&n.track.details&&n.track.details.length&&(g=0,f=!0,b=!1,h=!0,v=t.id,A(t),m=D(t),n.emit(\"dragStarted\"))}function I(t){f&&v===t.idChanged&&(f=!1,n.emit(\"dragEnded\"))}function A(n){var t=L(),i=t?n.y:n.x,e=t?n.x:n.y,r=void 0!==x&&void 0!==k&&Math.abs(k-e)<=Math.abs(x-i);return x=i,k=e,r}function D(n){return L()?n.y:n.x}function L(){return n.options.vertical}function S(){r=n.size,a=L()?window.innerHeight:window.innerWidth;var t=n.track.details;t&&(M=t.min,T=t.max)}function O(n){b&&(s(n),u(n))}function _(){if(C.purge(),n.options.drag&&!n.options.disabled){var i;i=n.options.dragSpeed||1,p=\"function\"==typeof i?i:function(n){return n*i},e=n.options.rtl?-1:1,S(),t=n.container,function(){var n=\"data-keen-slider-clickable\";o(\"[\".concat(n,\"]:not([\").concat(n,\"=false])\"),t).map((function(n){C.add(n,\"dragstart\",s),C.add(n,\"mousedown\",s),C.add(n,\"touchstart\",s)}))}(),C.add(t,\"dragstart\",(function(n){u(n)})),C.add(t,\"click\",O,{capture:!0}),C.input(t,\"ksDragStart\",z),C.input(t,\"ksDrag\",E),C.input(t,\"ksDragEnd\",I),C.input(t,\"mousedown\",z),C.input(t,\"mousemove\",E),C.input(t,\"mouseleave\",I),C.input(t,\"mouseup\",I),C.input(t,\"touchstart\",z,{passive:!0}),C.input(t,\"touchmove\",E,{passive:!1}),C.input(t,\"touchend\",I),C.input(t,\"touchcancel\",I),C.add(window,\"wheel\",(function(n){f&&u(n)}));var r=\"data-keen-slider-scrollable\";o(\"[\".concat(r,\"]:not([\").concat(r,\"=false])\"),n.container).map((function(n){return function(n){var t;C.input(n,\"touchstart\",(function(n){t=D(n),w=!0,y=!0}),{passive:!0}),C.input(n,\"touchmove\",(function(i){var e=L(),r=e?n.scrollHeight-n.clientHeight:n.scrollWidth-n.clientWidth,a=t-D(i),o=e?n.scrollTop:n.scrollLeft,s=e&&\"scroll\"===n.style.overflowY||!e&&\"scroll\"===n.style.overflowX;if(t=D(i),(a<0&&o>0||a>0&&o<r)&&y&&s)return w=!0;y=!1,u(i),w=!1})),C.input(n,\"touchend\",(function(){w=!1}))}(n)}))}}n.on(\"updated\",S),n.on(\"optionsChanged\",_),n.on(\"created\",_),n.on(\"destroyed\",C.purge)}function x(n){var t,i,e=null;function r(t,i,e){n.animator.active?o(t,i,e):requestAnimationFrame((function(){return o(t,i,e)}))}function a(){r(!1,!1,i)}function o(i,r,a){var o=0,u=n.size,d=n.track.details;if(d&&t){var l=d.slides;t.forEach((function(n,t){if(i)!e&&r&&s(n,null,a),c(n,null,a);else{if(!l[t])return;var d=l[t].size*u;!e&&r&&s(n,d,a),c(n,l[t].distance*u-o,a),o+=d}}))}}function u(t){return\"performance\"===n.options.renderMode?Math.round(t):t}function s(n,t,i){var e=i?\"height\":\"width\";null!==t&&(t=u(t)+\"px\"),n.style[\"min-\"+e]=t,n.style[\"max-\"+e]=t}function c(n,t,i){if(null!==t){t=u(t);var e=i?t:0;t=\"translate3d(\".concat(i?0:t,\"px, \").concat(e,\"px, 0)\")}n.style.transform=t,n.style[\"-webkit-transform\"]=t}function d(){t&&(o(!0,!0,i),t=null),n.on(\"detailsChanged\",a,!0)}function l(){r(!1,!0,i)}function f(){d(),i=n.options.vertical,n.options.disabled||\"custom\"===n.options.renderMode||(e=\"auto\"===p(n.options.slides,\"perView\",null),n.on(\"detailsChanged\",a),(t=n.slides).length&&l())}n.on(\"created\",f),n.on(\"optionsChanged\",f),n.on(\"beforeOptionsChanged\",(function(){d()})),n.on(\"updated\",l),n.on(\"destroyed\",d)}function k(t,i){return function(e){var r,u,s,d,l,v,h=c();function m(n){var t;a(e.container,\"reverse\",\"rtl\"!==(t=e.container,window.getComputedStyle(t,null).getPropertyValue(\"direction\"))||n?null:\"\"),a(e.container,\"v\",e.options.vertical&&!n?\"\":null),a(e.container,\"disabled\",e.options.disabled&&!n?\"\":null)}function g(){b()&&M()}function b(){var t=null;if(d.forEach((function(n){n.matches&&(t=n.__media)})),t===r)return!1;r||e.emit(\"beforeOptionsChanged\"),r=t;var i=t?s.breakpoints[t]:s;return e.options=n(n({},s),i),m(),I(),A(),C(),!0}function x(n){var t=f(n);return(e.options.vertical?t.height:t.width)/e.size||1}function k(){return e.options.trackConfig.length}function y(t){for(var a in r=!1,s=n(n({},i),t),h.purge(),u=e.size,d=[],s.breakpoints||[]){var o=window.matchMedia(a);o.__media=a,d.push(o),h.add(o,\"change\",g)}h.add(window,\"orientationchange\",z),h.add(window,\"resize\",E),b()}function w(n){e.animator.stop();var t=e.track.details;e.track.init(null!=n?n:t?t.abs:0)}function M(n){w(n),e.emit(\"optionsChanged\")}function T(n,t){if(n)return y(n),void M(t);I(),A();var i=k();C(),k()!==i?M(t):w(t),e.emit(\"updated\")}function C(){var n=e.options.slides;if(\"function\"==typeof n)return e.options.trackConfig=n(e.size,e.slides);for(var t=e.slides,i=t.length,r=\"number\"==typeof n?n:p(n,\"number\",i,!0),a=[],o=p(n,\"perView\",1,!0),u=p(n,\"spacing\",0,!0)/e.size||0,s=\"auto\"===o?u:u/o,c=p(n,\"origin\",\"auto\"),d=0,l=0;l<r;l++){var f=\"auto\"===o?x(t[l]):1/o-u+s,v=\"center\"===c?.5-f/2:\"auto\"===c?0:c;a.push({origin:v,size:f,spacing:u}),d+=f}if(d+=u*(r-1),\"auto\"===c&&!e.options.loop&&1!==o){var h=0;a.map((function(n){var t=d-h;return h+=n.size+u,t>=1||(n.origin=1-t-(d>1?0:1-d)),n}))}e.options.trackConfig=a}function E(){I();var n=e.size;e.options.disabled||n===u||(u=n,T())}function z(){E(),setTimeout(E,500),setTimeout(E,2e3)}function I(){var n=f(e.container);e.size=(e.options.vertical?n.height:n.width)||1}function A(){e.slides=o(e.options.selector,e.container)}e.container=(v=o(t,l||document)).length?v[0]:null,e.destroy=function(){h.purge(),e.emit(\"destroyed\"),m(!0)},e.prev=function(){e.moveToIdx(e.track.details.abs-1,!0)},e.next=function(){e.moveToIdx(e.track.details.abs+1,!0)},e.update=T,y(e.options)}}var y=function(n,i,e){try{return function(n,t){var i,e={};return i={emit:function(n){e[n]&&e[n].forEach((function(n){n(i)}));var t=i.options&&i.options[n];t&&t(i)},moveToIdx:function(n,t,e){var r=i.track.idxToDist(n,t);if(r){var a=i.options.defaultAnimation;i.animator.start([{distance:r,duration:p(e||a,\"duration\",500),easing:p(e||a,\"easing\",(function(n){return 1+--n*n*n*n*n}))}])}},on:function(n,t,i){void 0===i&&(i=!1),e[n]||(e[n]=[]);var r=e[n].indexOf(t);r>-1?i&&delete e[n][r]:i||e[n].push(t)},options:n},function(){if(i.track=m(i),i.animator=h(i),t)for(var n=0,e=t;n<e.length;n++)(0,e[n])(i);i.track.init(i.options.initial||0),i.emit(\"created\")}(),i}(i,t([k(n,{drag:!0,mode:\"snap\",renderMode:\"precision\",rubberband:!0,selector:\".keen-slider__slide\"}),x,b,g],e||[],!0))}catch(n){console.error(n)}};export{y as default};\n", "\r\nconst trulyValues = [1, '1', true, 'true', 'on', 'yes'];\r\nconst falsyValues = [0, '0', false, 'false', 'off', 'no'];\r\n\r\nfunction isBoolean(value: any): boolean {\r\n return trulyValues.indexOf(value) >= 0 || falsyValues.indexOf(value) >= 0;\r\n}\r\n\r\nfunction makeBoolean(value: any, defaultValue: boolean = false): boolean {\r\n if (trulyValues.indexOf(value) >= 0) {\r\n return true;\r\n } else if (falsyValues.indexOf(value) >= 0) {\r\n return false;\r\n } else {\r\n return defaultValue;\r\n }\r\n}\r\n\r\nexport { isBoolean, makeBoolean };\r\n", "\r\n/**\r\n * Try to parse JSON\r\n * @param data \r\n * @returns\r\n */\r\nfunction parseJson(data: string): Object | null {\r\n let parser = JSON.parse;\r\n\r\n // Prefer OctoberCMS Storm JSON Parser\r\n if (typeof window['ocJSON'] === 'function') {\r\n parser = window['ocJSON'] as any;\r\n } else if (typeof (window['oc'] || {}).parseJSON === 'function') {\r\n parser = typeof (window['oc'] || {}).parseJSON as any;\r\n }\r\n\r\n // Try to Parse\r\n let result = null;\r\n try {\r\n let temp = parser(data);\r\n if (temp && typeof temp === 'object') {\r\n result = temp;\r\n }\r\n } catch (e) { }\r\n\r\n return result;\r\n}\r\n\r\n// Export Module\r\nexport default parseJson;\r\n", "import type { KeenSliderInstance, KeenSliderOptions, KeenSliderPlugin } from 'keen-slider';\r\nimport KeenSlider from 'keen-slider';\r\nimport { isBoolean, makeBoolean } from '../utilities/boolean';\r\nimport parseJson from \"../utilities/json\";\r\nimport query from \"../utilities/query\";\r\nimport ready from \"../utilities/ready\";\r\n\r\n\r\ninterface KeenSliderNewsHubConfig {\r\n \r\n /**\r\n * Number of Slides per View\r\n */\r\n amount: number;\r\n \r\n /**\r\n * Animation Style\r\n */\r\n animation: 'slide' | 'fade' | 'zoom' | 'marquee';\r\n \r\n /**\r\n * Toggle Autoplay Behavior\r\n */\r\n autoplay: boolean;\r\n\r\n /**\r\n * Create or Use Controls\r\n */\r\n controls: boolean | string;\r\n\r\n /**\r\n * Create or Use Indicators\r\n */\r\n indicators: boolean | string;\r\n \r\n /**\r\n * Set Slide Animation Interval\r\n */\r\n interval: number;\r\n \r\n /**\r\n * Loop after last slide\r\n */\r\n loop: boolean;\r\n \r\n /**\r\n * Set spacing between multiple slides (when amount is larger then 1)\r\n */\r\n spacing: number;\r\n \r\n /**\r\n * Touch / Drag Support\r\n */\r\n touch: boolean;\r\n \r\n /**\r\n * Core KeenSlider options\r\n */\r\n keenSlider: Partial<KeenSliderOptions>;\r\n\r\n}\r\n\r\n\r\n/**\r\n * Keen Slider 4 NewsHub\r\n */\r\nclass KeenSliderNewsHub {\r\n\r\n /**\r\n * Available default options for KeenSliderNewsHub\r\n * \r\n * amount Number of slides per view for the lg breakpoint (downsizes automatically)\r\n * animation Desired animation style: 'slide', 'fade', 'zoom' or 'marquee'\r\n * autoplay Turn autoplay on or off\r\n * interval Interval in ms after the next slide is shown\r\n * loop Loop - Show the first slide after the last one\r\n * spacing Amount of spacing in px for multiple slides\r\n * keenSlider Native keenSlider options to merge\r\n */\r\n public static defaults: KeenSliderNewsHubConfig = {\r\n amount: 1,\r\n animation: 'slide',\r\n autoplay: false,\r\n controls: false,\r\n interval: 2002,\r\n indicators: false,\r\n loop: true,\r\n spacing: 30,\r\n touch: true,\r\n keenSlider: {} \r\n }\r\n\r\n /**\r\n * Hold all created instances.\r\n */\r\n public static instances: Map<HTMLElement, KeenSliderNewsHub> = new Map;\r\n\r\n /**\r\n * Get instance by HTMLElement\r\n * @param element \r\n */\r\n public static getInstance(element: HTMLElement) {\r\n if (this.instances.has(element)) {\r\n return this.instances.get(element);\r\n } else {\r\n throw new Error('The passed HTMLElement has not been initialized yet.');\r\n }\r\n }\r\n\r\n /**\r\n * Get or Create an instance\r\n * @param element \r\n * @param options \r\n */\r\n static getOrCreateInstance(element: HTMLElement, options: Partial<KeenSliderNewsHubConfig> = {}) {\r\n if (this.instances.has(element)) {\r\n return this.instances.get(element);\r\n } else {\r\n return new this(element, options); \r\n }\r\n }\r\n\r\n /**\r\n * Root Element\r\n */\r\n public root: HTMLElement;\r\n\r\n /**\r\n * Instance Configuration\r\n */\r\n public config: KeenSliderNewsHubConfig;\r\n\r\n /**\r\n * Keen Slider Instance\r\n */\r\n public slider: KeenSliderInstance;\r\n\r\n /**\r\n * Create a new KeenSliderNewsHub instance\r\n * @param element \r\n * @param options \r\n */\r\n constructor(element: HTMLElement, options: Partial<KeenSliderNewsHubConfig> = {}) {\r\n if (KeenSliderNewsHub.instances.has(element)) {\r\n throw new Error('The passed HTMLElement has already been initialized.');\r\n }\r\n KeenSliderNewsHub.instances.set(element, this);\r\n\r\n // Merge Configuration\r\n this.root = element;\r\n this.config = Object.assign({}, KeenSliderNewsHub.defaults, options);\r\n let keenSliderOptions: KeenSliderOptions = Object.assign({}, this.config.keenSlider);\r\n let keenSliderPlugins: KeenSliderPlugin[] = [];\r\n\r\n // Configure Amount & Spacings\r\n if (this.config.amount) {\r\n if (typeof keenSliderOptions.slides === 'number') {\r\n keenSliderOptions.slides = {\r\n perView: keenSliderOptions.slides,\r\n };\r\n }\r\n if (typeof keenSliderOptions.slides === 'undefined' || typeof keenSliderOptions.slides === 'object') {\r\n keenSliderOptions.slides ??= {};\r\n keenSliderOptions.slides.perView ??= this.config.amount;\r\n keenSliderOptions.slides.spacing ??= this.config.spacing;\r\n }\r\n }\r\n keenSliderOptions = this.forceResponsiveBreakpoints(keenSliderOptions);\r\n\r\n // Configure Animation\r\n switch (this.config.animation) {\r\n case 'fade':\r\n keenSliderPlugins.push(this.pluginFade.bind(this));\r\n keenSliderOptions.renderMode = 'custom';\r\n break;\r\n case 'zoom':\r\n keenSliderPlugins.push(this.pluginZoom.bind(this));\r\n break;\r\n case 'marquee':\r\n keenSliderPlugins.push(this.pluginMarquee.bind(this));\r\n keenSliderOptions.drag = false;\r\n keenSliderOptions.loop = true;\r\n keenSliderOptions.renderMode = \"performance\";\r\n \r\n if (typeof keenSliderOptions.breakpoints !== 'undefined') {\r\n for (let key in keenSliderOptions.breakpoints) {\r\n keenSliderOptions.breakpoints[key].loop = true;\r\n }\r\n }\r\n break;\r\n default:\r\n keenSliderOptions.defaultAnimation ??= {};\r\n keenSliderOptions.defaultAnimation.duration ??= this.config.interval;\r\n break;\r\n }\r\n\r\n // Configure Autoplay\r\n if (this.config.autoplay && this.config.animation !== 'marquee') {\r\n keenSliderPlugins.push(this.pluginAutoplay.bind(this));\r\n }\r\n\r\n // Configure Loop\r\n if (this.config.loop && this.config.animation !== 'marquee') {\r\n keenSliderOptions.loop ??= this.config.loop;\r\n }\r\n\r\n // Configure Touch / Drag Support\r\n if (this.config.touch && this.config.animation !== 'marquee') {\r\n keenSliderOptions.drag ??= this.config.touch;\r\n }\r\n\r\n // Configure Controls\r\n if (this.config.controls) {\r\n keenSliderPlugins.push(this.pluginControls.bind(this));\r\n }\r\n\r\n // Configure Indicators\r\n if (this.config.indicators) {\r\n keenSliderPlugins.push(this.pluginIndicators.bind(this));\r\n }\r\n\r\n // Configure Default NewsHub Selector\r\n // @info We aren't against BAM namings, but it doesn't fit to Bootstrap\r\n if (typeof keenSliderOptions.selector === 'undefined') {\r\n keenSliderOptions.selector = '.keen-slider-slide';\r\n }\r\n\r\n // Set Class Name to apply animation-related stylings\r\n let className = `keen-slider-${this.config.animation}`;\r\n if (!this.root.classList.contains(className)) {\r\n this.root.classList.add(className);\r\n }\r\n\r\n // Initialize KeenSlider\r\n this.slider = new KeenSlider(this.root, keenSliderOptions, keenSliderPlugins);\r\n }\r\n\r\n /**\r\n * Slide To \r\n * @param direction \r\n */\r\n public slideTo(direction: 'next' | 'prev' | 'previous' | number | string) {\r\n if (direction === 'next') {\r\n this.slider.next();\r\n } else if (direction === 'previous' || direction === 'prev') {\r\n this.slider.prev();\r\n } else {\r\n let idx = typeof direction === 'string' ? parseInt(direction) : direction;\r\n let per = typeof this.slider.options.slides === 'object' ? this.slider.options.slides.perView as number : 1;\r\n let len = this.slider.track.details.slides.length;\r\n\r\n if (per === 1) {\r\n this.slider.moveToIdx(idx);\r\n } else {\r\n if (idx * per >= len - 1) {\r\n console.log('okay');\r\n this.slider.moveToIdx(len - per);\r\n } else {\r\n this.slider.moveToIdx(idx * per);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Force Responsive Breakpoints on KeenSliderOptions\r\n * @param keenSliderOptions \r\n */\r\n protected forceResponsiveBreakpoints(keenSliderOptions: KeenSliderOptions) {\r\n if (typeof keenSliderOptions.slides !== 'object') {\r\n return keenSliderOptions;\r\n }\r\n\r\n let slides = keenSliderOptions.slides.perView ?? 1;\r\n let spacing = keenSliderOptions.slides.spacing ?? 30;\r\n if (typeof slides !== 'number' || slides <= 1) {\r\n return keenSliderOptions;\r\n }\r\n\r\n let breakpoints = {\r\n '(min-width: 768px)': {\r\n slides: {\r\n perView: slides <= 5 ? Math.max(slides - 2, 1) : Math.floor(slides / 3),\r\n spacing: typeof spacing === 'number' ? spacing * 0.5 : spacing\r\n }\r\n },\r\n '(min-width: 1024px)': {\r\n slides: {\r\n perView: slides <= 5 ? Math.max(slides - 1, 1) : Math.floor(slides / 2),\r\n spacing: typeof spacing === 'number' ? spacing * 0.75 : spacing\r\n }\r\n },\r\n '(min-width: 1400px)': {\r\n slides: {\r\n perView: slides,\r\n spacing: spacing\r\n }\r\n },\r\n };\r\n\r\n keenSliderOptions.breakpoints = breakpoints;\r\n keenSliderOptions.slides.perView = 1;\r\n keenSliderOptions.slides.spacing = 0;\r\n return keenSliderOptions;\r\n }\r\n\r\n /**\r\n * Autoplay Extension\r\n * @source https://codesandbox.io/s/github/rcbyr/keen-slider-sandboxes/tree/v6/autoplay/autoswitch/javascript?file=/index.html\r\n * \r\n * @param slider Current KeenSlider instance.\r\n */\r\n public pluginAutoplay(slider: KeenSliderInstance) {\r\n let timeout;\r\n let mouseOver = false;\r\n\r\n const clearNextTimeout = () => {\r\n clearTimeout(timeout);\r\n };\r\n\r\n const nextTimeout = (slider) => {\r\n clearNextTimeout();\r\n\r\n if (mouseOver) {\r\n return;\r\n }\r\n timeout = setTimeout(slider.next, this.config.interval);\r\n };\r\n \r\n slider.on(\"created\", (slider) => {\r\n slider.container.addEventListener(\"mouseover\", () => {\r\n mouseOver = true;\r\n clearNextTimeout();\r\n });\r\n slider.container.addEventListener(\"mouseout\", () => {\r\n mouseOver = false;\r\n nextTimeout(slider);\r\n });\r\n nextTimeout(slider);\r\n });\r\n slider.on(\"dragStarted\", clearNextTimeout);\r\n slider.on(\"animationEnded\", nextTimeout);\r\n slider.on(\"updated\", nextTimeout);\r\n }\r\n\r\n /**\r\n * Fade Animation Extension\r\n // @source https://codesandbox.io/s/github/rcbyr/keen-slider-sandboxes/tree/v6/media/fader/javascript?file=/index.html\r\n * \r\n * @param slider Current KeenSlider instance.\r\n */\r\n public pluginFade(slider: KeenSliderInstance) {\r\n slider.on('detailsChanged', (slider) => {\r\n slider.slides.forEach((element: HTMLElement, idx: number) => {\r\n element.style.opacity = `${slider.track.details.slides[idx].portion}`;\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Zoom Animation Extension\r\n // @source https://codesandbox.io/s/github/rcbyr/keen-slider-sandboxes/tree/v6/media/zoom-out/javascript?file=/index.html\r\n * \r\n * @param slider Current KeenSlider instance.\r\n */\r\n public pluginZoom(slider: KeenSliderInstance) {\r\n const scaleElement = (element: HTMLElement, portion: number) => {\r\n let scale_size = 0.7\r\n let scale = 1 - (scale_size - scale_size * portion)\r\n let style = `scale(${scale})`;\r\n\r\n element.style.transform = `${style}`;\r\n element.style[\"-webkit-transform\"] = `${style}`;\r\n };\r\n \r\n slider.on('detailsChanged', (slider) => {\r\n const slides = slider.track.details.slides\r\n slider.slides.forEach((element, idx) => {\r\n scaleElement(element.querySelector(\".slide-image\"), slides[idx].portion)\r\n scaleElement(element.querySelector(\".slide-content\"), slides[idx].portion)\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Marquee Animation Extension\r\n * @source https://codesandbox.io/s/github/rcbyr/keen-slider-sandboxes/tree/v6/autoplay/automove/javascript?file=/index.html:885-1358\r\n * \r\n * @param slider Current KeenSlider instance.\r\n */\r\n public pluginMarquee(slider: KeenSliderInstance) {\r\n let animation = { \r\n duration: this.config.interval, \r\n easing: (t) => t \r\n };\r\n let amount = slider.slides.length - 1;\r\n \r\n slider.on(\"created\", (s) => {\r\n s.moveToIdx(amount, true, animation);\r\n \r\n slider.container.addEventListener(\"mouseover\", () => {\r\n slider.animator.stop();\r\n });\r\n \r\n slider.container.addEventListener(\"mouseout\", () => {\r\n slider.moveToIdx(slider.track.details.abs + amount, true, animation);\r\n });\r\n });\r\n \r\n slider.on(\"animationEnded\", (s) => {\r\n slider.animator.stop();\r\n slider.moveToIdx(slider.track.details.abs + amount, true, animation);\r\n });\r\n \r\n slider.on(\"updated\", (s) => {\r\n slider.animator.stop();\r\n slider.moveToIdx(slider.track.details.abs + amount, true, animation);\r\n });\r\n }\r\n\r\n /**\r\n * Slider Indicators\r\n * @source https://codesandbox.io/s/github/rcbyr/keen-slider-sandboxes/tree/v6/navigation-controls/arrows-and-dots/javascript?file=/index.html\r\n * \r\n * @param slider Current KeenSlider instance.\r\n */\r\n public pluginIndicators(slider: KeenSliderInstance) {\r\n let custom = typeof this.config.controls === 'string';\r\n let indicators: HTMLElement[] = custom ? query(this.config.controls as string, this.root.parentElement) : [];\r\n\r\n // Create Indicators\r\n const createIndicators = ((slider: KeenSliderInstance) => {\r\n let len = slider.slides.length;\r\n let abs = slider.track.details.abs;\r\n let per = typeof slider.options.slides === 'object' ? (slider.options.slides.perView as number) : 1;\r\n let num = Math.ceil(len / per);\r\n\r\n for (let i = 0; i < num; i++) {\r\n let btn = document.createElement('BUTTON') as HTMLButtonElement;\r\n btn.type = 'button';\r\n btn.className = `keen-slider-indicator indicator-${i}`;\r\n btn.dataset.slideTo = i.toString();\r\n indicators.push(btn);\r\n }\r\n\r\n let buttons = document.createElement('DIV');\r\n buttons.className = 'keen-slider-indicators';\r\n buttons.append(...indicators);\r\n\r\n this.root.appendChild(buttons);\r\n }).bind(this);\r\n\r\n // Update Indicators\r\n const updateIndicators = ((slider) => {\r\n if (!indicators || indicators.length === 0) {\r\n return;\r\n }\r\n\r\n let len = slider.slides.length;\r\n let abs = slider.track.details.abs;\r\n let per = typeof slider.options.slides === 'object' ? (slider.options.slides.perView as number) : 1;\r\n let num = per === 1 ? abs : Math.floor(abs / per);\r\n\r\n // Select Last Indicator, when last 'page' is smaller then perView\r\n if (per > 1) {\r\n if (abs + per === len && num < Math.ceil(len / per) - 1) {\r\n num++;\r\n }\r\n }\r\n\r\n indicators.map((el, idx) => {\r\n if (idx === num) {\r\n el.classList.add('current');\r\n } else {\r\n el.classList.remove('current');\r\n }\r\n });\r\n }).bind(this);\r\n\r\n // Remove Indicators\r\n const removeIndicators = ((slider) => {\r\n if (!indicators || indicators.length === 0) {\r\n return;\r\n }\r\n\r\n let buttons = indicators[0].parentElement;\r\n if (buttons && buttons.parentElement) {\r\n buttons.remove();\r\n indicators = [];\r\n }\r\n }).bind(this);\r\n\r\n // Handle Indicators\r\n slider.on('created', (slider) => {\r\n if (!custom) {\r\n createIndicators(slider);\r\n }\r\n\r\n indicators.map(el => {\r\n el.addEventListener('click', (ev) => {\r\n let pos = el.dataset.slideTo || el.dataset.keenSliderIndicator;\r\n ev.preventDefault();\r\n this.slideTo(pos);\r\n });\r\n });\r\n\r\n updateIndicators(slider);\r\n });\r\n\r\n slider.on('optionsChanged', (slider) => {\r\n updateIndicators(slider);\r\n });\r\n\r\n slider.on('slideChanged', (slider) => {\r\n updateIndicators(slider);\r\n });\r\n\r\n slider.on('destroyed', (slider) => {\r\n if (!custom) {\r\n removeIndicators(slider);\r\n }\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Slider Controls\r\n * @source https://codesandbox.io/s/github/rcbyr/keen-slider-sandboxes/tree/v6/navigation-controls/arrows-and-dots/javascript?file=/index.html\r\n * \r\n * @param slider Current KeenSlider instance.\r\n */\r\n public pluginControls(slider: KeenSliderInstance) {\r\n let custom = typeof this.config.controls === 'string';\r\n let controls: HTMLElement[] = custom ? query(this.config.controls as string, this.root.parentElement) : [];\r\n\r\n // Create Controls\r\n const createControls = ((slider: KeenSliderInstance) => {\r\n controls = ['prev', 'next'].map(type => {\r\n let btn = document.createElement('BUTTON') as HTMLButtonElement;\r\n btn.type = 'button';\r\n btn.className = `keen-slider-control control-${type}`;\r\n btn.dataset.slideTo = type;\r\n return btn;\r\n });\r\n\r\n let buttons = document.createElement('DIV');\r\n buttons.className = 'keen-slider-controls';\r\n buttons.append(...controls);\r\n\r\n this.root.appendChild(buttons);\r\n }).bind(this);\r\n\r\n // Update Controls\r\n const updateControls = ((slider: KeenSliderInstance) => {\r\n if (!controls || controls.length === 0) {\r\n return;\r\n }\r\n\r\n let disable = (el) => {\r\n if (el instanceof HTMLButtonElement) {\r\n el.disabled = true;\r\n }\r\n el.classList.add('disabled');\r\n };\r\n\r\n let enable = (el) => {\r\n if (el instanceof HTMLButtonElement) {\r\n el.disabled = false;\r\n }\r\n el.classList.remove('disabled');\r\n };\r\n\r\n controls.map((control) => {\r\n if(slider.options.loop) {\r\n enable(control);\r\n } else {\r\n let abs = slider.track.details.abs;\r\n let len = slider.track.details.slides.length;\r\n let per = typeof slider.options.slides === 'object' ? (slider.options.slides.perView as number) : 1;\r\n let pos = control.dataset.slideTo || control.dataset.keenSliderControl;\r\n\r\n if (pos === 'prev' || pos === 'previous') {\r\n abs === 0 ? disable(control) : enable(control);\r\n } else if (pos === 'next') {\r\n abs + per >= len ? disable(control) : enable(control);\r\n }\r\n }\r\n });\r\n }).bind(this);\r\n\r\n // Remove Controls\r\n const removeControls = ((slider: KeenSliderInstance) => {\r\n if (!controls || controls.length === 0) {\r\n return;\r\n }\r\n\r\n let buttons = controls[0].parentElement;\r\n if (buttons && buttons.parentElement) {\r\n buttons.remove();\r\n controls = [];\r\n }\r\n }).bind(this);\r\n\r\n // Control Bindings\r\n let nextSlide = this.slideTo.bind(this, 'next');\r\n let prevSlide = this.slideTo.bind(this, 'prev');\r\n\r\n // Create Controls\r\n slider.on('created', (slider) => {\r\n if (!custom) {\r\n createControls(slider);\r\n }\r\n\r\n controls.map(el => {\r\n let pos = el.dataset.slideTo || el.dataset.keenSliderControl;\r\n\r\n if (pos === 'prev' || pos === 'previous') {\r\n el.addEventListener('click', prevSlide);\r\n } else if (pos === 'next') {\r\n el.addEventListener('click', nextSlide);\r\n }\r\n });\r\n \r\n updateControls(slider);\r\n });\r\n\r\n slider.on('optionsChanged', (slider) => {\r\n updateControls(slider);\r\n });\r\n\r\n slider.on('slideChanged', (slider) => {\r\n updateControls(slider);\r\n });\r\n\r\n slider.on('destroyed', (slider) => {\r\n if (!custom) {\r\n removeControls(slider);\r\n } else {\r\n controls.map(el => {\r\n let pos = el.dataset.slideTo || el.dataset.keenSliderControl;\r\n \r\n if (pos === 'prev' || pos === 'previous') {\r\n el.removeEventListener('click', prevSlide);\r\n } else if (pos === 'next') {\r\n el.removeEventListener('click', nextSlide);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\n// Invoke Function\r\nasync function invokeKeenSlider() {\r\n await ready();\r\n\r\n query('[data-keen-slider]').map((el: HTMLElement) => {\r\n let config = parseJson(el.dataset.keenSlider.trim()) || {};\r\n\r\n for (let [key, defaultValue] of Object.entries(KeenSliderNewsHub.defaults)) {\r\n if (!el.hasAttribute(`data-keen-slider-${key}`)) {\r\n continue;\r\n }\r\n\r\n let value = el.getAttribute(`data-keen-slider-${key}`) as any;\r\n\r\n // Convert Booleans\r\n if (key === 'autoplay' || key === 'loop' || key === 'touch') {\r\n value = makeBoolean(value, defaultValue);\r\n }\r\n\r\n // Convert Booleans / Selectors\r\n if (key === 'controls' || key === 'indicators') {\r\n value = isBoolean(value) ? makeBoolean(value) : value;\r\n }\r\n\r\n // Parse Interval\r\n if (key === 'interval') {\r\n if (typeof value === 'string' && value.endsWith('s')) {\r\n value = parseInt(value.slice(0, -1)) * 1000;\r\n }\r\n }\r\n\r\n // Parse Numbers\r\n if (key === 'amount' || key === 'interval' || key === 'spacing') {\r\n value = parseInt(value);\r\n }\r\n\r\n config[key] = value;\r\n }\r\n\r\n KeenSliderNewsHub.getOrCreateInstance(el, config);\r\n });\r\n}\r\n\r\n// Export Module\r\nexport default invokeKeenSlider;\r\nexport { KeenSliderNewsHub, invokeKeenSlider };\r\n", "import query from '../utilities/query';\r\nimport ready from '../utilities/ready';\r\n\r\n\r\n/**\r\n * @todo To be replaced\r\n */\r\n\r\n\r\n/**\r\n * Invoke Scroll-To-Top Button\r\n * @param {*} element \r\n */\r\nfunction invokeLightbox(element)\r\n{\r\n element.addEventListener('click', (event) => {\r\n event.preventDefault();\r\n let lightbox = new Lightbox(element, {\r\n keyboard: true\r\n });\r\n lightbox.carouselElement.classList.add('slide');\r\n lightbox.show();\r\n });\r\n}\r\n\r\n\r\n// Export Ready Handler\r\nexport default () => {\r\n ready(() => {\r\n query('[data-newshub-toggle=\"lightbox\"]').map(el => invokeLightbox(el));\r\n query('.post-lightbox').map(el => {\r\n el.dataset.gallery = \"post-gallery\";\r\n el.dataset.caption = el.querySelector('img').alt;\r\n invokeLightbox(el)\r\n });\r\n })\r\n};\r\n", "\r\n/**\r\n * Asynchronous Wait command\r\n * @param factory \r\n * @returns\r\n */\r\nfunction wait(ms: number): Promise<true> {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => { resolve(true) }, ms);\r\n });\r\n}\r\n\r\n// Export Module\r\nexport default wait;\r\n", "import query from '../utilities/query';\r\nimport ready from '../utilities/ready';\r\nimport wait from '../utilities/wait';\r\n\r\nclass Navbar {\r\n\r\n /**\r\n * Already initialized Navbar instances.\r\n */\r\n static instances = new Map;\r\n\r\n /**\r\n * Get instance by element.\r\n * @param {HTMLElement} el \r\n * @returns {Navbar}\r\n */\r\n static getInstance(el) {\r\n if (!this.instances.has(el)) {\r\n throw new Error('The passed element has not bee initialized yet.');\r\n } else {\r\n return this.instances.get(el);\r\n }\r\n }\r\n\r\n /**\r\n * Check if Navbar instance exists for passed element.\r\n * @param {HTMLElement} el \r\n * @returns {boolean}\r\n */\r\n static hasInstance(el) {\r\n return this.instances.has(el);\r\n }\r\n\r\n /**\r\n * Root <header /> Element\r\n * @var HTMLElement\r\n */\r\n root;\r\n\r\n /**\r\n * Main Navbar Style\r\n * @var string\r\n */\r\n style;\r\n\r\n /**\r\n * Main Navbar Toggler <button /> Element\r\n * @var HTMLButtonElement\r\n */\r\n toggler;\r\n\r\n /**\r\n * Main Navbar Action Toggler <button /> Element\r\n * @var HTMLButtonElement\r\n */\r\n actionToggler;\r\n\r\n /**\r\n * Frozen state of the Navbar element (used for scroll tracker)\r\n * @var boolean\r\n */\r\n frozen = false;\r\n\r\n /**\r\n * Scroll State (used for scroll tracker)\r\n * @var boolean\r\n */\r\n scrolled = false;\r\n\r\n /**\r\n * Scroll Animation Frame ID (used for scroll tracker)\r\n * @var mixed\r\n */\r\n scrolledAnimationId = null;\r\n\r\n /**\r\n * Last scroll Y number (used for scroll tracker)\r\n * @var number\r\n */\r\n scrolledLast = 0;\r\n\r\n /**\r\n * Create a new Navbar instance from an element.\r\n * @param {HTMLElement} el \r\n */\r\n constructor(el) {\r\n if (Navbar.hasInstance(el)) {\r\n throw new Error('A Navbar instance has already been initialized for the passed element.');\r\n }\r\n Navbar.instances.set(el, this);\r\n this.root = el;\r\n this.style = 'static';\r\n\r\n // Make Navbar Sticky\r\n if (el.classList.contains('header-sticky')) {\r\n this.style = 'sticky';\r\n window.addEventListener('scroll', this.stickyNavbar.bind(this));\r\n \r\n // Defer call to handle browser-based scroll-position restore process\r\n setTimeout(() => { this.stickyNavbar(null) }, 150);\r\n }\r\n\r\n // Make Navbar Slidable\r\n if (el.classList.contains('header-slide')) {\r\n this.style = 'slide';\r\n this.scrolledLast = window.pageYOffset ? window.pageYOffset : (document.documentElement || document.body).scrollTop;\r\n\r\n // Set Size for extended header\r\n let mainNavbar = this.root.querySelector('.navbar-main');\r\n let size = 0 + (mainNavbar.classList.contains('with-meta-menu') ? 1 : 0) + (mainNavbar.classList.contains('with-social-menu') ? 1 : 0);\r\n this.root.classList.add(size == 1 ? 'medium' : (size === 2 ? 'large' : 'small'));\r\n\r\n // Defer Event binding to handle browser-based scroll-position restore process\r\n setTimeout(() => {\r\n window.addEventListener('scroll', this.slideNavbar.bind(this), {\r\n passive: true, \r\n capture: false \r\n });\r\n this.slideNavbarUpdate();\r\n }, 150);\r\n }\r\n\r\n // Navbar Toggler\r\n let toggler = this.root.querySelector('.navbar-toggler');\r\n if (toggler) {\r\n this.toggler = toggler;\r\n this.toggler.addEventListener('click', this.toggleMenu.bind(this));\r\n }\r\n\r\n // Navbar Action Toggler\r\n let actionToggler = this.root.querySelector('.navbar-action-toggler');\r\n if (actionToggler) {\r\n this.actionToggler = actionToggler;\r\n this.actionToggler.addEventListener('click', this.toggleActions.bind(this));\r\n }\r\n\r\n // Subnav Toggler\r\n Array.from(this.root.querySelectorAll('.navbar-subnav-toggler')).map((el: HTMLElement) => {\r\n el.addEventListener('click', this.toggleSubMenu.bind(this, el));\r\n });\r\n Array.from(this.root.querySelectorAll('.nav-title')).map((el: HTMLElement) => {\r\n let toggler = el.parentElement.querySelector('.navbar-subnav-toggler');\r\n if (toggler) {\r\n el.addEventListener('click', this.toggleSubMenu.bind(this, toggler));\r\n }\r\n });\r\n\r\n // Close on Resize\r\n window.addEventListener('resize', this.onResize.bind(this), {\r\n passive: true,\r\n capture: false\r\n });\r\n\r\n // Close on Click Outside\r\n document.addEventListener('click', this.onClickOutside.bind(this), {\r\n passive: true,\r\n capture: false\r\n });\r\n }\r\n\r\n /**\r\n * Determine height of an invisible element.\r\n * @param {HTMLElement} element \r\n * @param {HTMLElement} parent \r\n * @returns {number}\r\n */\r\n determineHeight(element, parent) {\r\n let clone = element.cloneNode(true);\r\n\r\n clone.style.height = 'auto';\r\n clone.style.minHeight = 'none';\r\n clone.style.overflow = 'visible';\r\n clone.style.position = 'absolute';\r\n clone.style.visibility = 'hidden';\r\n clone.style.opacity = 0;\r\n\r\n parent.appendChild(clone);\r\n const height = clone.offsetHeight;\r\n parent.removeChild(clone);\r\n\r\n return height;\r\n }\r\n\r\n /**\r\n * Handle Sticky Navbar\r\n * @param {Event | null} event\r\n */\r\n stickyNavbar(event) {\r\n if (this.frozen) {\r\n return;\r\n }\r\n if (window.scrollY > 50) {\r\n this.root.classList.add('header-scroll');\r\n } else if (window.scrollY === 0) {\r\n this.root.classList.remove('header-scroll');\r\n }\r\n }\r\n\r\n /**\r\n * Handle Slide Navbar\r\n * @source https://github.com/WickyNilliams/headroom.js\r\n * @param {Event | null} event\r\n */\r\n slideNavbar(event) {\r\n if (!this.scrolled) {\r\n this.scrolled = true;\r\n this.scrolledAnimationId = requestAnimationFrame(this.slideNavbarUpdate.bind(this));\r\n }\r\n }\r\n\r\n /**\r\n * Tracker Update Handler\r\n * @source https://github.com/WickyNilliams/headroom.js\r\n */\r\n slideNavbarUpdate() {\r\n let html = document.documentElement;\r\n let body = document.body;\r\n\r\n // Measure and Determine\r\n let scrollY = Math.round(window.pageYOffset ? window.pageYOffset : (html || body).scrollTop);\r\n let height = window.innerHeight || html.clientHeight || body.clientHeight;\r\n let scrollHeight = Math.max(\r\n body.scrollHeight, html.scrollHeight,\r\n body.offsetHeight, html.offsetHeight,\r\n body.clientHeight, html.clientHeight\r\n );\r\n let direction = scrollY > this.scrolledLast ? 'down' : 'up';\r\n let distance = Math.abs(scrollY - this.scrolledLast);\r\n let isOutOfBounds = scrollY < 0 || scrollY + height > scrollHeight;\r\n let top = scrollY <= 0;\r\n let bottom = scrollY + height >= scrollHeight;\r\n let toleranceExceeded = distance > 0;\r\n \r\n // Handle Update\r\n (() => {\r\n if (isOutOfBounds) {\r\n return;\r\n }\r\n if (this.frozen) {\r\n return;\r\n }\r\n\r\n // Header Top\r\n if (top && !this.root.classList.contains('header-top')) {\r\n this.root.classList.add('header-top');\r\n } else if (!top && this.root.classList.contains('header-top')) {\r\n this.root.classList.remove('header-top');\r\n }\r\n\r\n // Header Bottom\r\n if (bottom && !this.root.classList.contains('header-bottom')) {\r\n this.root.classList.add('header-bottom');\r\n } else if (!bottom && this.root.classList.contains('header-bottom')) {\r\n this.root.classList.remove('header-bottom');\r\n }\r\n\r\n // Header (Un-) Pinned\r\n if (direction === 'down' && !top && toleranceExceeded) {\r\n if (this.root.classList.contains('header-pinned')) {\r\n this.root.classList.remove('header-pinned');\r\n \r\n // Fixes Sub-Navigations on larger screens\r\n this.root.style.removeProperty('overflow');\r\n }\r\n if (!this.root.classList.contains('header-unpinned')) {\r\n this.root.classList.add('header-unpinned');\r\n }\r\n } else if ((direction === 'up' && toleranceExceeded) || top) {\r\n if (this.root.classList.contains('header-unpinned')) {\r\n this.root.classList.remove('header-unpinned');\r\n }\r\n if (!this.root.classList.contains('header-pinned')) {\r\n this.root.classList.add('header-pinned');\r\n\r\n // Fixes Sub-Navigations on larger screens\r\n setTimeout(() => { this.root.style.overflow = 'visible'; }, 150);\r\n }\r\n }\r\n })();\r\n \r\n // Set Circle\r\n this.scrolledLast = scrollY;\r\n this.scrolled = false;\r\n }\r\n\r\n /**\r\n * Close Submenu on Resize\r\n */\r\n onResize(event) {\r\n\r\n // Close SubMenus\r\n Array.from(this.root.querySelectorAll('.nav-item.item-open')).map((el: HTMLElement) => {\r\n this.closeSubMenu(el, el.querySelector('.navbar-subnav-toggler'));\r\n });\r\n\r\n // Close Menu\r\n if (this.root.classList.contains('header-menu-active')) {\r\n this.toggleMenu(null);\r\n }\r\n }\r\n\r\n /**\r\n * Detect click outside and handle accordingly.\r\n * @param {Event} event \r\n * @returns \r\n */\r\n onClickOutside(event) {\r\n if (this.root.classList.contains('stay-open')) {\r\n return;\r\n }\r\n\r\n // No Target\r\n let target = event.target;\r\n if (!target) {\r\n return; // Nothing to do\r\n }\r\n\r\n // Click appeared within the current active menu\r\n let closest = target.closest('header.header');\r\n if (closest && (closest === this.root || closest.closest('header.header') === this.root)) {\r\n return; // Nothing to do\r\n }\r\n\r\n // Close SubMenus\r\n Array.from(this.root.querySelectorAll('.nav-item.item-open')).map((el: HTMLElement) => {\r\n this.closeSubMenu(el, el.querySelector('.navbar-subnav-toggler'));\r\n });\r\n\r\n // Close Menu\r\n if (this.root.classList.contains('header-menu-active')) {\r\n this.toggleMenu(null);\r\n }\r\n }\r\n\r\n /**\r\n * Toggle Navbar Menu\r\n * @param {Event | null} event\r\n */\r\n toggleMenu(event) {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n if (this.root.classList.contains('header-menu-active')) {\r\n this.frozen = false;\r\n this.closeMenu();\r\n } else {\r\n this.frozen = true;\r\n this.openMenu();\r\n }\r\n }\r\n\r\n /**\r\n * Open Menu (for responsive view)\r\n */\r\n async openMenu() {\r\n if (this.style === 'static') {\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth'\r\n });\r\n } else if (this.style === 'sticky') {\r\n if (this.root.classList.contains('header-scroll')) {\r\n this.root.classList.remove('header-scroll');\r\n await wait(150); // Wait Until Topbar is shown\r\n }\r\n } else if (this.style === 'slide') {\r\n this.root.style.height = `${window.innerHeight}px`;\r\n }\r\n\r\n // Update Toggle Button\r\n if (this.toggler) {\r\n this.toggler.classList.remove('collapsed');\r\n\r\n if (this.toggler.hasAttribute('aria-expanded')) {\r\n this.toggler.setAttribute('aria-expanded', 'true');\r\n }\r\n }\r\n\r\n // Update Header\r\n this.root.classList.add('header-menu-active');\r\n document.body.style.overflow = 'hidden';\r\n }\r\n\r\n /**\r\n * Close Menu (for responsive view)\r\n */\r\n closeMenu() {\r\n if (this.style === 'sticky') {\r\n setTimeout(() => { this.stickyNavbar(null); }, 250); // Check Sticky Navbar Position after menu has been closed.\r\n } else if (this.style === 'slide') {\r\n this.root.style.removeProperty('height');\r\n }\r\n\r\n // Close SubMenus\r\n Array.from(this.root.querySelectorAll('.nav-item.item-open')).map((el: HTMLElement) => {\r\n this.closeSubMenu(el, el.querySelector('.navbar-subnav-toggler'));\r\n });\r\n\r\n // Update Toggle Button\r\n if (this.toggler) {\r\n this.toggler.classList.add('collapsed');\r\n\r\n if (this.toggler.hasAttribute('aria-expanded')) {\r\n this.toggler.setAttribute('aria-expanded', 'false');\r\n }\r\n }\r\n\r\n // Update Header\r\n this.root.classList.remove('header-menu-active');\r\n document.body.style.removeProperty('overflow');\r\n }\r\n\r\n /**\r\n * Toggle SubMenu\r\n * @param {HTMLElement} item\r\n * @param {Event | null} event\r\n */\r\n toggleSubMenu(item, event) {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n if (item.classList.contains('collapsed')) {\r\n this.frozen = true;\r\n this.openSubMenu(item.closest('.nav-item'), item);\r\n } else {\r\n this.frozen = this.root.classList.contains('header-menu-active');\r\n this.closeSubMenu(item.closest('.nav-item'), item);\r\n }\r\n }\r\n\r\n /**\r\n * Open SubMenu\r\n * @param {HTMLElement} item \r\n * @param {HTMLElement | null} button \r\n */\r\n async openSubMenu(item, button) {\r\n if (item.classList.contains('master-menu') && this.style === 'sticky') {\r\n if (this.root.classList.contains('header-scroll')) {\r\n this.root.classList.remove('header-scroll');\r\n await wait(150); // Wait Until Topbar is shown\r\n }\r\n }\r\n\r\n const subnav = item.querySelector('.navbar-subnav,.navbar-subnav-master');\r\n if ((this.root.classList.contains('header-menu-active') || item.classList.contains('master-menu')) && subnav) {\r\n const height = this.determineHeight(subnav, item);\r\n\r\n const parentNav = subnav.parentElement.closest('.navbar-subnav');\r\n if (parentNav) {\r\n parentNav.style.height = `${parentNav.offsetHeight + height}px`;\r\n }\r\n subnav.style.height = `${height}px`;\r\n }\r\n\r\n item.classList.add('item-open');\r\n if (button) {\r\n button.classList.remove('collapsed');\r\n }\r\n }\r\n\r\n /**\r\n * Open SubMenu\r\n * @param {HTMLElement} item \r\n * @param {HTMLElement | null} button \r\n */\r\n closeSubMenu(item, button) {\r\n if (item.classList.contains('master-menu') && this.style === 'sticky') {\r\n setTimeout(() => { this.stickyNavbar(null); }, 250); // Check Sticky Navbar Position after menu has been closed.\r\n }\r\n\r\n const subnav = item.querySelector('.navbar-subnav,.navbar-subnav-master');\r\n if ((this.root.classList.contains('header-menu-active') || item.classList.contains('master-menu')) && subnav) {\r\n const parentNav = subnav.parentElement.closest('.navbar-subnav');\r\n if (parentNav) {\r\n parentNav.style.height = `${parentNav.offsetHeight - subnav.offsetHeight}px`;\r\n }\r\n subnav.style.removeProperty('height');\r\n }\r\n\r\n item.classList.remove('item-open');\r\n if (button) {\r\n button.classList.add('collapsed');\r\n }\r\n\r\n if (document.activeElement === button || document.activeElement === item) {\r\n (document.activeElement as HTMLButtonElement).blur();\r\n }\r\n }\r\n\r\n /**\r\n * Toggle Actions\r\n * @param {Event | null} event\r\n */\r\n toggleActions(event) {\r\n event.preventDefault();\r\n\r\n const navbarBrand = this.root.querySelector('.navbar-brand');\r\n\r\n if (this.actionToggler.parentElement.classList.contains('show')) {\r\n if (navbarBrand) {\r\n navbarBrand.classList.remove('hide');\r\n }\r\n\r\n this.actionToggler.parentElement.classList.remove('show');\r\n this.actionToggler.classList.add('collapsed');\r\n } else {\r\n if (navbarBrand) {\r\n navbarBrand.classList.add('hide');\r\n }\r\n\r\n this.actionToggler.parentElement.classList.add('show');\r\n this.actionToggler.classList.remove('collapsed');\r\n }\r\n }\r\n\r\n}\r\n\r\n// Invoke Functions\r\nfunction invokeNavbar() {\r\n ready(function () {\r\n query('[data-newshub-header]').map(el => {\r\n if (!Navbar.hasInstance(el)) {\r\n new Navbar(el);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n// Export Module\r\nexport default invokeNavbar;\r\nexport { Navbar, invokeNavbar };\r\n", "import query from '../utilities/query';\r\nimport ready from '../utilities/ready';\r\n\r\n/**\r\n * Invoke Scroll-To-Top Button\r\n * @param {*} element \r\n */\r\nfunction invokeScrollToTop(element)\r\n{\r\n if (window.scrollY > 150) {\r\n element.classList.add('active');\r\n }\r\n\r\n window.addEventListener('scroll', () => {\r\n if (window.scrollY > 150) {\r\n element.classList.add('active');\r\n } else {\r\n element.classList.remove('active');\r\n }\r\n });\r\n\r\n element.addEventListener('click', (event) => {\r\n event.preventDefault();\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth'\r\n });\r\n });\r\n}\r\n\r\n\r\n// Export Ready Handler\r\nexport default () => {\r\n ready(() => {\r\n query('.scroll-to-top').map(el => invokeScrollToTop(el));\r\n })\r\n};\r\n", "\r\nimport invokeBootstrap from './components/bootstrap';\r\nimport invokeColorPicker from './components/color-picker';\r\nimport invokeDoubleClick from './components/double-click';\r\nimport invokeKeenSlider from './components/keen-slider';\r\nimport invokeLightbox from './components/lightbox';\r\nimport invokeNavbar from './components/navbar';\r\nimport invokeScrollToTop from './components/to-top';\r\n\r\ninvokeBootstrap();\r\ninvokeColorPicker();\r\ninvokeDoubleClick();\r\ninvokeKeenSlider();\r\ninvokeLightbox();\r\ninvokeNavbar();\r\ninvokeScrollToTop();\r\n"],
"mappings": "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",
"names": ["n", "t", "i", "e", "r", "a", "o", "u", "s", "l", "f", "p", "v", "h", "d", "c", "m", "g", "b", "x", "k", "y", "e", "slider", "t", "s", "i", "el", "toggler"]
}