This commit is contained in:
Tomas Dvorak committed 2025-11-03 19:54:39 +01:00
1 parent 087f30e82c
commit d5b4faea61
141 files changed
+78770 -966

No files matched your search

+74
View File
@@ -0,0 +1,74 @@
'use strict';
(function(){
const KEY = 'adminAuthB64'; // stores base64 of user:pass
function b64(u, p){
try { return btoa(`${u}:${p}`); } catch { return ''; }
}
function get(){
try { return localStorage.getItem(KEY) || ''; } catch { return ''; }
}
function set(val){
try { localStorage.setItem(KEY, val||''); } catch {}
}
function clear(){
try { localStorage.removeItem(KEY); } catch {}
}
window.AdminAuth = {
has(){ return !!get(); },
getHeaders(){ const v = get(); return v ? { 'Authorization': 'Basic '+v } : {}; },
setCreds(user, pass){ set(b64(user, pass)); },
clear(){ clear(); }
};
// small UI helper (optional) – appears bottom-left
function ensureWidget(){
if (document.getElementById('admin-auth-widget')) return;
const wrap = document.createElement('div');
wrap.id = 'admin-auth-widget';
wrap.style.position = 'fixed';
wrap.style.left = '12px';
wrap.style.bottom = '12px';
wrap.style.zIndex = '9999';
wrap.style.display = 'flex';
wrap.style.gap = '6px';
const btnSet = document.createElement('button');
btnSet.textContent = 'Přihlásit';
btnSet.style.padding = '6px 10px';
btnSet.style.borderRadius = '8px';
btnSet.style.border = '1px solid #cbd5e1';
btnSet.style.background = '#fff';
btnSet.addEventListener('click', () => {
const u = prompt('Uživatel (e-mail):');
if (!u) return;
const p = prompt('Heslo:');
if (p == null) return;
window.AdminAuth.setCreds(u, p);
alert('Přihlašovací údaje uloženy do tohoto prohlížeče.');
});
const btnClr = document.createElement('button');
btnClr.textContent = 'Odhlásit';
btnClr.style.padding = '6px 10px';
btnClr.style.borderRadius = '8px';
btnClr.style.border = '1px solid #cbd5e1';
btnClr.style.background = '#fff';
btnClr.addEventListener('click', () => {
window.AdminAuth.clear();
alert('Odhlášeno – uložené údaje odstraněny.');
});
wrap.appendChild(btnSet);
wrap.appendChild(btnClr);
document.body.appendChild(wrap);
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', ensureWidget);
} else {
ensureWidget();
}
})();
+89
View File
@@ -0,0 +1,89 @@
'use strict';
(function(){
function h(el, attrs={}, children=[]) {
const e = document.createElement(el);
for (const [k,v] of Object.entries(attrs||{})) {
if (k === 'class') e.className = v; else if (k === 'html') e.innerHTML = v; else e.setAttribute(k, v);
}
for (const c of (children||[])) e.appendChild(c);
return e;
}
function renderItem(item){
const col = h('div', {class: 'items col-xl-6 col-lg-6 col-md-6 col-sm-6 col-ms-6 col-xs-12'});
const article = h('article', {class: 'post-25620 post type-post status-publish format-standard has-post-thumbnail hentry'});
const aPhoto = h('a', {href: item.link, class: 'lte-photo'});
const img = h('img', {
src: item.image,
width: '500',
height: '300',
decoding: 'async',
fetchpriority: 'high',
class: 'attachment-atleticos-blog size-atleticos-blog wp-post-image',
alt: ''
});
aPhoto.appendChild(img);
aPhoto.appendChild(h('span', {class: 'lte-photo-overlay'}));
const descr = h('div', {class: 'lte-description'});
const aHeader = h('a', {href: item.link, class: 'lte-header'});
const h3 = h('h3', {html: item.title || ('Článek ' + item.id)});
aHeader.appendChild(h3);
// const excerpt = h('div', {class: 'lte-excerpt', html: ''});
descr.appendChild(aHeader);
// descr.appendChild(excerpt);
article.appendChild(aPhoto);
article.appendChild(descr);
col.appendChild(article);
return col;
}
async function loadLatest(attempt = 0) {
const primary = document.getElementById('latest-blog-items');
const secondary = document.getElementById('other-blog-items');
if (!primary && !secondary) return;
if (primary) primary.innerHTML = '<div style="width:100%;text-align:center;padding:12px;color:#888;">Načítání…</div>';
if (secondary) secondary.innerHTML = '';
try {
const res = await fetch('/api/blog/latest?limit=12', {credentials: 'omit'});
if (!res.ok) throw new Error('HTTP '+res.status);
let items = await res.json();
if (primary) primary.innerHTML = '';
if (!Array.isArray(items) || items.length === 0) {
if (primary) primary.innerHTML = '<div style="width:100%;text-align:center;padding:12px;color:#888;">Žádné příspěvky zatím nejsou.</div>';
return;
}
// Exclude carousel-used posts and pinned 0000 from the 4-grid
const hasCarouselIds = Array.isArray(window.CAROUSEL_BLOG_IDS) && window.CAROUSEL_BLOG_IDS.length > 0;
// If carousel IDs are not ready yet, retry shortly (max 5 attempts)
if (!hasCarouselIds && attempt < 5) {
setTimeout(() => loadLatest(attempt + 1), 300);
return;
}
const excluded = new Set(hasCarouselIds ? window.CAROUSEL_BLOG_IDS : []);
const four = items.filter(it => it && it.id !== '0000' && !excluded.has(it.id)).slice(0, 4);
// Prefer rendering into primary; keep secondary empty to avoid duplicates
const target = primary || secondary;
if (target) {
const frag = document.createDocumentFragment();
four.forEach(it => frag.appendChild(renderItem(it)));
target.appendChild(frag);
}
if (secondary && secondary !== target) secondary.innerHTML = '';
} catch (e) {
console.error('Load latest blog error', e);
if (primary) primary.innerHTML = '<div style="width:100%;text-align:center;padding:12px;color:#c00;">Nepodařilo se načíst novinky.</div>';
}
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', () => loadLatest(0));
} else {
loadLatest(0);
}
})();
+85
View File
@@ -0,0 +1,85 @@
'use strict';
(function(){
function h(el, attrs={}, children=[]) {
const e = document.createElement(el);
for (const [k,v] of Object.entries(attrs||{})) {
if (k === 'class') e.className = v; else if (k === 'html') e.innerHTML = v; else e.setAttribute(k, v);
}
for (const c of (children||[])) e.appendChild(c);
return e;
}
function renderItem(item){
const col = h('div', {class: 'col-xl-4 col-lg-6 col-md-6 col-sm-12 col-xs-12 item div-thumbnail'});
const article = h('article', {class: 'post-25620 post type-post status-publish format-standard has-post-thumbnail hentry'});
const aPhoto = h('a', {href: item.link, class: 'lte-photo'});
const img = h('img', {
src: item.image,
width: '500', height: '300', decoding: 'async', fetchpriority: 'high',
class: 'attachment-atleticos-blog size-atleticos-blog wp-post-image', alt: ''
});
aPhoto.appendChild(img);
aPhoto.appendChild(h('span', {class: 'lte-photo-overlay'}));
const descr = h('div', {class: 'lte-description'});
const aHeader = h('a', {href: item.link, class: 'lte-header'});
aHeader.appendChild(h('h3', {html: item.title || ('Článek ' + item.id)}));
descr.appendChild(aHeader);
article.appendChild(aPhoto);
article.appendChild(descr);
col.appendChild(article);
return col;
}
function numericDesc(a,b){
const ai = parseInt(a.id,10); const bi = parseInt(b.id,10);
if (!isNaN(ai) && !isNaN(bi)) return bi - ai;
return (b.id||'').localeCompare(a.id||'');
}
function getQueryParam(name){
const url = new URL(window.location.href);
return url.searchParams.get(name);
}
function normalize(s){ return (s||'').toString().trim().toLowerCase(); }
async function loadAll(){
// Render into the primary masonry grid, overwriting any static items
const mount = document.querySelector('.lte-blog-wrap .blog .row.masonry');
if (!mount) return;
mount.innerHTML = '<div style="width:100%;text-align:center;padding:12px;color:#888;">Načítání…</div>';
try {
const res = await fetch('/api/blog/latest?limit=10000', {credentials: 'omit'});
if (!res.ok) throw new Error('HTTP '+res.status);
let items = await res.json();
if (!Array.isArray(items)) items = [];
// Sort by numeric ID desc to ensure largest number is latest
items.sort(numericDesc);
// Optional filter by category via ?category=XYZ
const qCat = getQueryParam('category');
if (qCat) {
const want = normalize(qCat);
items = items.filter(it => Array.isArray(it.categories) && it.categories.some(c => normalize(c) === want));
}
mount.innerHTML = '';
if (items.length === 0) {
mount.innerHTML = '<div style="width:100%;text-align:center;padding:12px;color:#888;">Žádné příspěvky zatím nejsou.</div>';
return;
}
const frag = document.createDocumentFragment();
items.forEach(it => frag.appendChild(renderItem(it)));
mount.appendChild(frag);
} catch (e) {
console.error('Load blog list error', e);
mount.innerHTML = '<div style="width:100%;text-align:center;padding:12px;color:#c00;">Nepodařilo se načíst seznam článků.</div>';
}
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', loadAll);
} else {
loadAll();
}
})();
+7
View File
@@ -0,0 +1,7 @@
/*!
* Bootstrap v3.3.7 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc.
* Licensed under the MIT license
*/
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var i in e)if(void 0!==t.style[i])return{end:e[i]};return!1}t.fn.emulateTransitionEnd=function(e){var i=!1,o=this;t(this).one("bsTransitionEnd",function(){i=!0});var n=function(){i||t(o).trigger(t.support.transition.end)};return setTimeout(n,e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),n=i.data("bs.alert");n||i.data("bs.alert",n=new o(this)),"string"==typeof e&&n[e].call(i)})}var i='[data-dismiss="alert"]',o=function(e){t(e).on("click",i,this.close)};o.VERSION="3.3.7",o.TRANSITION_DURATION=150,o.prototype.close=function(e){function i(){a.detach().trigger("closed.bs.alert").remove()}var n=t(this),s=n.attr("data-target");s||(s=n.attr("href"),s=s&&s.replace(/.*(?=#[^\s]*$)/,""));var a=t("#"===s?[]:s);e&&e.preventDefault(),a.length||(a=n.closest(".alert")),a.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(a.removeClass("in"),t.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",i).emulateTransitionEnd(o.TRANSITION_DURATION):i())};var n=t.fn.alert;t.fn.alert=e,t.fn.alert.Constructor=o,t.fn.alert.noConflict=function(){return t.fn.alert=n,this},t(document).on("click.bs.alert.data-api",i,o.prototype.close)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.button"),s="object"==typeof e&&e;n||o.data("bs.button",n=new i(this,s)),"toggle"==e?n.toggle():e&&n.setState(e)})}var i=function(e,o){this.$element=t(e),this.options=t.extend({},i.DEFAULTS,o),this.isLoading=!1};i.VERSION="3.3.7",i.DEFAULTS={loadingText:"loading..."},i.prototype.setState=function(e){var i="disabled",o=this.$element,n=o.is("input")?"val":"html",s=o.data();e+="Text",null==s.resetText&&o.data("resetText",o[n]()),setTimeout(t.proxy(function(){o[n](null==s[e]?this.options[e]:s[e]),"loadingText"==e?(this.isLoading=!0,o.addClass(i).attr(i,i).prop(i,!0)):this.isLoading&&(this.isLoading=!1,o.removeClass(i).removeAttr(i).prop(i,!1))},this),0)},i.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var i=this.$element.find("input");"radio"==i.prop("type")?(i.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==i.prop("type")&&(i.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),i.prop("checked",this.$element.hasClass("active")),t&&i.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var o=t.fn.button;t.fn.button=e,t.fn.button.Constructor=i,t.fn.button.noConflict=function(){return t.fn.button=o,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(i){var o=t(i.target).closest(".btn");e.call(o,"toggle"),t(i.target).is('input[type="radio"], input[type="checkbox"]')||(i.preventDefault(),o.is("input,button")?o.trigger("focus"):o.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){t(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.carousel"),s=t.extend({},i.DEFAULTS,o.data(),"object"==typeof e&&e),a="string"==typeof e?e:s.slide;n||o.data("bs.carousel",n=new i(this,s)),"number"==typeof e?n.to(e):a?n[a]():s.interval&&n.pause().cycle()})}var i=function(e,i){this.$element=t(e),this.$indicators=this.$element.find(".carousel-indicators"),this.options=i,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",t.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",t.proxy(this.pause,this)).on("mouseleave.bs.carousel",t.proxy(this.cycle,this))};i.VERSION="3.3.7",i.TRANSITION_DURATION=600,i.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},i.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:tLine truncated
this.activeTarget=e,this.clear();var i=this.selector+'[data-target="'+e+'"],'+this.selector+'[href="'+e+'"]',o=t(i).parents("li").addClass("active");o.parent(".dropdown-menu").length&&(o=o.closest("li.dropdown").addClass("active")),o.trigger("activate.bs.scrollspy")},e.prototype.clear=function(){t(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var o=t.fn.scrollspy;t.fn.scrollspy=i,t.fn.scrollspy.Constructor=e,t.fn.scrollspy.noConflict=function(){return t.fn.scrollspy=o,this},t(window).on("load.bs.scrollspy.data-api",function(){t('[data-spy="scroll"]').each(function(){var e=t(this);i.call(e,e.data())})})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.tab");n||o.data("bs.tab",n=new i(this)),"string"==typeof e&&n[e]()})}var i=function(e){this.element=t(e)};i.VERSION="3.3.7",i.TRANSITION_DURATION=150,i.prototype.show=function(){var e=this.element,i=e.closest("ul:not(.dropdown-menu)"),o=e.data("target");if(o||(o=e.attr("href"),o=o&&o.replace(/.*(?=#[^\s]*$)/,"")),!e.parent("li").hasClass("active")){var n=i.find(".active:last a"),s=t.Event("hide.bs.tab",{relatedTarget:e[0]}),a=t.Event("show.bs.tab",{relatedTarget:n[0]});if(n.trigger(s),e.trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){var r=t(o);this.activate(e.closest("li"),i),this.activate(r,r.parent(),function(){n.trigger({type:"hidden.bs.tab",relatedTarget:e[0]}),e.trigger({type:"shown.bs.tab",relatedTarget:n[0]})})}}},i.prototype.activate=function(e,o,n){function s(){a.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),r?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu").length&&e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),n&&n()}var a=o.find("> .active"),r=n&&t.support.transition&&(a.length&&a.hasClass("fade")||!!o.find("> .fade").length);a.length&&r?a.one("bsTransitionEnd",s).emulateTransitionEnd(i.TRANSITION_DURATION):s(),a.removeClass("in")};var o=t.fn.tab;t.fn.tab=e,t.fn.tab.Constructor=i,t.fn.tab.noConflict=function(){return t.fn.tab=o,this};var n=function(i){i.preventDefault(),e.call(t(this),"show")};t(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',n).on("click.bs.tab.data-api",'[data-toggle="pill"]',n)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.affix"),s="object"==typeof e&&e;n||o.data("bs.affix",n=new i(this,s)),"string"==typeof e&&n[e]()})}var i=function(e,o){this.options=t.extend({},i.DEFAULTS,o),this.$target=t(this.options.target).on("scroll.bs.affix.data-api",t.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",t.proxy(this.checkPositionWithEventLoop,this)),this.$element=t(e),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};i.VERSION="3.3.7",i.RESET="affix affix-top affix-bottom",i.DEFAULTS={offset:0,target:window},i.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return n<i&&"top";if("bottom"==this.affixed)return null!=i?!(n+this.unpin<=s.top)&&"bottom":!(n+a<=t-o)&&"bottom";var r=null==this.affixed,l=r?n:s.top,h=r?a:e;return null!=i&&n<=i?"top":null!=o&&l+h>=t-o&&"bottom"},i.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(i.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},i.prototype.checkPositionWithEventLoop=function(){setTimeout(t.proxy(this.checkPosition,this),1)},i.prototype.checkPosition=function(){if(this.$element.is(":visible")){var e=this.$element.height(),o=this.options.offset,n=o.top,s=o.bottom,a=Math.max(t(document).height(),t(document.body).height());"object"!=typeof o&&(s=n=o),"function"==typeof n&&(n=o.top(this.$element)),"function"==typeof s&&(s=o.bottom(this.$element));var r=this.getState(a,e,n,s);if(this.affixed!=r){null!=this.unpin&&this.$element.css("top","");var l="affix"+(r?"-"+r:""),h=t.Event(l+".bs.affix");if(this.$element.trigger(h),h.isDefaultPrevented())return;this.affixed=r,this.unpin="bottom"==r?this.getPinnedOffset():null,this.$element.removeClass(i.RESET).addClass(l).trigger(l.replace("affix","affixed")+".bs.affix")}"bottom"==r&&this.$element.offset({top:a-e-s})}};var o=t.fn.affix;t.fn.affix=e,t.fn.affix.Constructor=i,t.fn.affix.noConflict=function(){return t.fn.affix=o,this},t(window).on("load",function(){t('[data-spy="affix"]').each(function(){var i=t(this),o=i.data();o.offset=o.offset||{},null!=o.offsetBottom&&(o.offset.bottom=o.offsetBottom),null!=o.offsetTop&&(o.offset.top=o.offsetTop),e.call(i,o)})})}(jQuery);
+116
View File
@@ -0,0 +1,116 @@
/*! jQuery UI - v1.13.2 - 2022-07-14
* http://jqueryui.com
* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(x){"use strict";var t,e,i,n,W,C,o,s,r,l,a,h,u;function E(t,e,i){return[parseFloat(t[0])*(a.test(t[0])?e/100:1),parseFloat(t[1])*(a.test(t[1])?i/100:1)]}function L(t,e){return parseInt(x.css(t,e),10)||0}function N(t){return null!=t&&t===t.window}x.ui=x.ui||{},x.ui.version="1.13.2",
/*!
* jQuery UI :data 1.13.2
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
x.extend(x.expr.pseudos,{data:x.expr.createPseudo?x.expr.createPseudo(function(e){return function(t){return!!x.data(t,e)}}):function(t,e,i){return!!x.data(t,i[3])}}),
/*!
* jQuery UI Disable Selection 1.13.2
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
x.fn.extend({disableSelection:(t="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}}),
/*!
* jQuery UI Focusable 1.13.2
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
x.ui.focusable=function(t,e){var i,n,o,s=t.nodeName.toLowerCase();return"area"===s?(o=(i=t.parentNode).name,!(!t.href||!o||"map"!==i.nodeName.toLowerCase())&&0<(i=x("img[usemap='#"+o+"']")).length&&i.is(":visible")):(/^(input|select|textarea|button|object)$/.test(s)?(n=!t.disabled)&&(o=x(t).closest("fieldset")[0])&&(n=!o.disabled):n="a"===s&&t.href||e,n&&x(t).is(":visible")&&function(t){var e=t.css("visibility");for(;"inherit"===e;)t=t.parent(),e=t.css("visibility");return"visible"===e}(x(t)))},x.extend(x.expr.pseudos,{focusable:function(t){return x.ui.focusable(t,null!=x.attr(t,"tabindex"))}}),x.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):x(this[0].form)},
/*!
* jQuery UI Form Reset Mixin 1.13.2
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
x.ui.formResetMixin={_formResetHandler:function(){var e=x(this);setTimeout(function(){var t=e.data("ui-form-reset-instances");x.each(t,function(){this.refresh()})})},_bindFormResetHandler:function(){var t;this.form=this.element._form(),this.form.length&&((t=this.form.data("ui-form-reset-instances")||[]).length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t))},_unbindFormResetHandler:function(){var t;this.form.length&&((t=this.form.data("ui-form-reset-instances")).splice(x.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))}},x.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),
/*!
* jQuery UI Support for jQuery core 1.8.x and newer 1.13.2
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
*/
x.expr.pseudos||(x.expr.pseudos=x.expr[":"]),x.uniqueSort||(x.uniqueSort=x.unique),x.escapeSelector||(e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,i=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},x.escapeSelector=function(t){return(t+"").replace(e,i)}),x.fn.even&&x.fn.odd||x.fn.extend({even:function(){return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}}),
/*!
* jQuery UI Keycode 1.13.2
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
x.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},
/*!
* jQuery UI Labels 1.13.2
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
x.fn.labels=function(){var t,e,i;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(e=this.eq(0).parents("label"),(t=this.attr("id"))&&(i=(i=this.eq(0).parents().last()).add((i.length?i:this).siblings()),t="label[for='"+x.escapeSelector(t)+"']",e=e.add(i.find(t).addBack(t))),this.pushStack(e)):this.pushStack([])},x.ui.plugin={add:function(t,e,i){var n,o=x.ui[t].prototype;for(n in i)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([e,i[n]])},call:function(t,e,i,n){var o,s=t.plugins[e];if(s&&(n||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(o=0;o<s.length;o++)t.options[s[o][0]]&&s[o][1].apply(t.element,i)}},
/*!
* jQuery UI Position 1.13.2
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/position/
*/
W=Math.max,C=Math.abs,o=/left|center|right/,s=/top|center|bottom/,r=/[\+\-]\d+(\.[\d]+)?%?/,l=/^\w+/,a=/%$/,h=x.fn.position,x.position={scrollbarWidth:function(){var t,e,i;return void 0!==n?n:(i=(e=x("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>")).children()[0],x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),n=t-i)},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?x.position.scrollbarWidth():0,height:e?x.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=x(t||window),i=N(e[0]),n=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:n,offset:!i&&!n?x(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},x.fn.position=function(f){var c,d,p,g,m,v,y,w,b,_,t,e;return f&&f.of?(v="string"==typeof(f=x.extend({},f)).of?x(document).find(f.of):x(f.of),y=x.position.getWithinInfo(f.within),w=x.position.getScrollInfo(y),b=(f.collision||"flip").split(" "),_={},e=9===(e=(t=v)[0]).nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:N(e)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:e.preventDefault?{width:0,height:0,offset:{top:e.pageY,left:e.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()},v[0].preventDefault&&(f.at="left top"),d=e.width,p=e.height,m=x.extend({},g=e.offset),x.each(["my","at"],function(){var t,e,i=(f[this]||"").split(" ");(i=1===i.length?o.test(i[0])?i.concat(["center"]):s.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=o.test(i[0])?i[0]:"center",i[1]=s.test(i[1])?i[1]:"center",t=r.exec(i[0]),e=r.exec(i[1]),_[this]=[t?t[0]:0,e?e[0]:0],f[this]=[l.exec(i[0])[0],l.exec(i[1])[0]]}),1===b.length&&(b[1]=b[0]),"right"===f.at[0]?m.left+=d:"center"===f.at[0]&&(m.left+=d/2),"bottom"===f.at[1]?m.top+=p:"center"===f.at[1]&&(m.top+=p/2),c=E(_.at,d,p),m.left+=c[0],m.top+=c[1],this.each(function(){var i,t,r=x(this),l=r.outerWidth(),a=r.outerHeight(),e=L(this,"marginLeft"),n=L(this,"marginTop"),o=l+e+L(this,"marginRight")+w.width,s=a+n+L(this,"marginBottom")+w.height,h=x.extend({},m),u=E(_.my,r.outerWidth(),r.outerHeight());"right"===f.my[0]?h.left-=l:"center"===f.my[0]&&(h.left-=l/2),"bottom"===f.my[1]?h.top-=a:"center"===f.my[1]&&(h.top-=a/2),h.left+=u[0],h.top+=u[1],i={marginLeft:e,marginTop:n},x.each(["left","top"],function(t,e){x.ui.position[b[t]]&&x.ui.position[b[t]][e](h,{targetWidth:d,targetHeight:p,elemWidth:l,elemHeight:a,collisionPosition:i,collisionWidth:o,collisionHeight:s,offset:[c[0]+u[0],c[1]+u[1]],my:f.my,at:f.at,within:y,elem:r})}),f.using&&(t=function(t){var e=g.left-h.left,i=e+d-l,n=g.top-h.top,o=n+p-a,s={target:{element:v,left:g.left,top:g.top,width:d,height:p},element:{element:r,left:h.left,top:h.top,width:l,height:a},horizontal:i<0?"left":0<e?"right":"center",vertical:o<0?"top":0<n?"bottom":"middle"};d<l&&C(e+i)<d&&(s.horizontal="center"),p<a&&C(n+o)<p&&(s.vertical="middle"),W(C(e),C(i))>W(C(n),C(o))?s.important="horizontal":s.important="vertical",f.using.call(this,t,s)}),r.offset(x.extend(h,{using:t}))})):h.apply(this,arguments)},x.ui.position={fit:{left:function(t,e){var i,n=e.within,o=n.isWindow?n.scrollLeft:n.offset.left,n=n.width,s=t.left-e.collisionPosition.marginLeft,r=o-s,l=s+e.collisionWidth-n-o;e.collisionWidth>n?0<r&&l<=0?(i=t.left+r+e.collisionWidth-n-o,t.left+=r-i):t.left=!(0<l&&r<=0)&&l<r?o+n-e.collisionWidth:o:0<r?t.left+=r:0<l?t.left-=l:t.left=W(t.left-s,t.left)},top:function(t,e){var i,n=e.within,n=n.isWindow?n.scrollTop:n.offset.top,o=e.within.height,s=t.top-e.collisionPosition.marginTop,r=n-s,l=s+e.collisionHeight-o-n;e.collisionHeight>o?0<r&&l<=0?(i=t.top+r+e.collisionHeight-o-n,t.top+=r-i):t.top=!(0<l&&r<=0)&&l<r?n+o-e.collisionHeight:n:0<r?t.top+=r:0<l?t.top-=l:t.top=W(t.top-s,t.top)}},flip:{left:function(t,e){var i=e.within,n=i.offset.left+i.scrollLeft,o=i.width,i=i.isWindow?i.scrollLeft:i.offset.left,s=t.left-e.collisionPosition.marginLeft,r=s-i,s=s+e.collisionWidth-o-i,l="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,a="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,h=-2*e.offset[0];r<0?((o=t.left+l+a+h+e.collisionWidth-o-n)<0||o<C(r))&&(t.left+=l+a+h):0<s&&(0<(n=t.left-e.collisionPosition.marginLeft+l+a+h-i)||C(n)<s)&&(t.left+=l+a+h)},top:function(t,e){var i=e.within,n=i.offset.top+i.scrollTop,o=i.height,i=i.isWindow?i.scrollTop:i.offset.top,s=t.top-e.collisionPosition.marginTop,r=s-i,s=s+e.collisionHeight-o-i,l="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,a="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,h=-2*e.offset[1];r<0?((o=t.top+l+a+hLine truncated
/*!
* jQuery UI Scroll Parent 1.13.2
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
x.fn.scrollParent=function(t){var e=this.css("position"),i="absolute"===e,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=x(this);return(!i||"static"!==t.css("position"))&&n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==e&&t.length?t:x(this[0].ownerDocument||document)},
/*!
* jQuery UI Tabbable 1.13.2
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
x.extend(x.expr.pseudos,{tabbable:function(t){var e=x.attr(t,"tabindex"),i=null!=e;return(!i||0<=e)&&x.ui.focusable(t,i)}}),
/*!
* jQuery UI Unique ID 1.13.2
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
x.fn.extend({uniqueId:(u=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++u)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&x(this).removeAttr("id")})}});
/*!
* jQuery UI Widget 1.13.2
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
var f,c=0,d=Array.prototype.hasOwnProperty,p=Array.prototype.slice;x.cleanData=(f=x.cleanData,function(t){for(var e,i,n=0;null!=(i=t[n]);n++)(e=x._data(i,"events"))&&e.remove&&x(i).triggerHandler("remove");f(t)}),x.widget=function(t,i,e){var n,o,s,r={},l=t.split(".")[0],a=l+"-"+(t=t.split(".")[1]);return e||(e=i,i=x.Widget),Array.isArray(e)&&(e=x.extend.apply(null,[{}].concat(e))),x.expr.pseudos[a.toLowerCase()]=function(t){return!!x.data(t,a)},x[l]=x[l]||{},n=x[l][t],o=x[l][t]=function(t,e){if(!this||!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},x.extend(o,n,{version:e.version,_proto:x.extend({},e),_childConstructors:[]}),(s=new i).options=x.widget.extend({},s.options),x.each(e,function(e,n){function o(){return i.prototype[e].apply(this,arguments)}function s(t){return i.prototype[e].apply(this,t)}r[e]="function"!=typeof n?n:function(){var t,e=this._super,i=this._superApply;return this._super=o,this._superApply=s,t=n.apply(this,arguments),this._super=e,this._superApply=i,t}}),o.prototype=x.widget.extend(s,{widgetEventPrefix:n&&s.widgetEventPrefix||t},r,{constructor:o,namespace:l,widgetName:t,widgetFullName:a}),n?(x.each(n._childConstructors,function(t,e){var i=e.prototype;x.widget(i.namespace+"."+i.widgetName,o,e._proto)}),delete n._childConstructors):i._childConstructors.push(o),x.widget.bridge(t,o),o},x.widget.extend=function(t){for(var e,i,n=p.call(arguments,1),o=0,s=n.length;o<s;o++)for(e in n[o])i=n[o][e],d.call(n[o],e)&&void 0!==i&&(x.isPlainObject(i)?t[e]=x.isPlainObject(t[e])?x.widget.extend({},t[e],i):x.widget.extend({},i):t[e]=i);return t},x.widget.bridge=function(s,e){var r=e.prototype.widgetFullName||s;x.fn[s]=function(i){var t="string"==typeof i,n=p.call(arguments,1),o=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=x.data(this,r);return"instance"===i?(o=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?x.error("no such method '"+i+"' for "+s+" widget instance"):(t=e[i].apply(e,n))!==e&&void 0!==t?(o=t&&t.jquery?o.pushStack(t.get()):t,!1):void 0:x.error("cannot call methods on "+s+" prior to initialization; attempted to call method '"+i+"'")}):o=void 0:(n.length&&(i=x.widget.extend.apply(null,[i].concat(n))),this.each(function(){var t=x.data(this,r);t?(t.option(i||{}),t._init&&t._init()):x.data(this,r,new e(i,this))})),o}},x.Widget=function(){},x.Widget._childConstructors=[],x.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,n,o,s=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(s={},t=(i=t.split(".")).shift(),i.length){for(n=s[t]=x.widget.extend({},this.options[t]),o=0;o<i.length-1;o++)n[i[o]]=n[i[o]]||{},n=n[i[o]];if(t=i.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];s[t]=e}return this._setOptions(s),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,n;for(e in t)n=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&n&&n.length&&(i=x(n.get()),this._removeClass(n,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(o){var s=[],r=this;function t(t,e){for(var i,n=0;n<t.length;n++)i=rLine truncated
+471
View File
@@ -0,0 +1,471 @@
(function(){
const DATA_URL_JSON = '/data/club.json';
const TZ = 'Europe/Prague';
let state = {
data: null,
compIndex: 0,
matchIndex: 0,
intervalId: null,
upcomingTimerId: null,
};
function parseCZDate(s){
try{
// format: 02.01.2006 15:04
const [d, t] = s.split(' ');
const [day, month, year] = d.split('.').map(Number);
const [hour, minute] = t.split(':').map(Number);
// Interpret as local time (Europe/Prague). Using local constructor avoids UTC offset skew.
const dt = new Date(year, month-1, day, hour, minute);
return dt;
}catch(e){ return null; }
}
// using original logo URLs; no cleaning/proxy
function ensureFacrStyles(){
if(document.getElementById('facr-styles')) return;
const css = `
/* logo background unchanged */
.facr-nav{ background:#ffffff22; border:1px solid #ffffff55; color:#fff; padding:6px 10px; border-radius:6px; cursor:pointer; backdrop-filter: blur(2px); }
.facr-nav:hover{ background:#ffffff40; }
.facr-nav:disabled{ opacity:.5; cursor:default; }
.facr-tab{ padding:6px 10px; margin:4px; border-radius:16px; border:1px solid #c42221; color:#c42221; background:#ffffff; font-weight:600; }
.facr-tab.active{ background:#c42221; color:#ffffff; }
.facr-tab:hover{ background:#c42221cc; color:#ffffff; }
.facr-inline-status{ margin-left:8px; font-weight:700; font-size:14px; white-space:nowrap; color:inherit; display:inline-block; vertical-align:middle; }
/* Default (desktop): show middle only */
#facr-countdown{ display:none !important; }
.facr-inline-status{ display:none !important; }
.facr-mob-center-score{ display:none; font-weight:700; font-size:24px; line-height:1; }
/* Mobile: keep only the bottom countdown by default */
@media (max-width: 767px){
#facr-mid{ display:none !important; }
#facr-countdown{ display:block !important; }
.facr-inline-status{ display:none !important; }
.facr-mob-center-score{ display:inline-block !important; }
/* If finished, hide the bottom countdown */
.facr-finished #facr-countdown{ display:none !important; }
}
@media (max-width: 480px){
#facr-mid{ font-size:28px !important; min-width:100px; }
.facr-tab{ padding:4px 8px; font-size:14px; }
.facr-inline-status{ font-size:12px; margin-left:6px; }
.facr-nav{ padding:4px 8px; }
}
`;
const style = document.createElement('style');
style.id = 'facr-styles';
style.type = 'text/css';
style.appendChild(document.createTextNode(css));
document.head.appendChild(style);
}
function fmtCountdown(ms){
if(ms <= 0) return '0m';
const totalMin = Math.floor(ms/60000);
const d = Math.floor(totalMin/(60*24));
const h = Math.floor((totalMin - d*60*24)/60);
const m = totalMin % 60;
const parts = [];
if(d) parts.push(`${d}d`);
if(h || d) parts.push(`${h}h`);
parts.push(`${m}m`);
return parts.join(' ');
}
function fmtCountdownLong(ms){
if(ms < 0) ms = 0;
const totalSec = Math.floor(ms/1000);
const d = Math.floor(totalSec / (24*3600));
const h = Math.floor((totalSec % (24*3600)) / 3600);
const m = Math.floor((totalSec % 3600) / 60);
const s = totalSec % 60;
const dd = d > 0 ? `${d}d ` : '';
const hh = String(h).padStart(2,'0');
const mm = String(m).padStart(2,'0');
const ss = String(s).padStart(2,'0');
return `${dd}${hh}:${mm}:${ss}`.trim();
}
function todayCZ(){
const now = new Date();
const dd = String(now.getDate()).padStart(2,'0');
const mm = String(now.getMonth()+1).padStart(2,'0');
const yyyy = now.getFullYear();
return `${dd}.${mm}.${yyyy}`;
}
async function fetchData(){
const res = await fetch(DATA_URL_JSON, { cache: 'no-cache' });
if(!res.ok) throw new Error('Failed to fetch data');
const data = await res.json();
state.data = data;
return data;
}
function escapeHTML(s){
if(s == null) return '';
return String(s)
.replace(/&/g, '&amp;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
.replace(/"/g, '&quot;')
.replace(/'/g, '&#39;');
}
function truncate(s, max){
const str = s == null ? '' : String(s);
if(max <= 0) return '';
return str.length > max ? str.slice(0, max - 1) + '…' : str;
}
function isWithinMatchWindow(){
if(!state.data) return false;
const now = new Date();
for(const comp of state.data.club_detail.competitions || []){
for(const m of comp.matches || []){
const dt = parseCZDate(m.date_time);
if(!dt) continue;
const diffMs = Math.abs(now - dt);
if(diffMs <= 2*60*60*1000) return true;
}
}
return false;
}
function upcomingMatchesAll(){
const list = [];
if(!state.data) return list;
const now = new Date();
const windowStart = new Date(now.getTime() - 3*24*60*60*1000);
for(const comp of state.data.club_detail.competitions || []){
const candidates = (comp.matches || [])
.map(m=>({ comp, match: m, dt: parseCZDate(m.date_time) }))
.filter(x=> x.dt && x.dt >= windowStart)
.sort((a,b)=> a.dt - b.dt);
if(candidates.length === 0) continue;
// Prefer the latest recently finished match within the 3-day window;
// if none, then choose the next upcoming; if none, fall back to the latest overall in window
let pick = null;
// find latest finished (dt < now) within window
for(let i = candidates.length - 1; i >= 0; i--){
if(candidates[i].dt < now){ pick = candidates[i]; break; }
}
if(!pick){
pick = candidates.find(x=> x.dt >= now) || candidates[candidates.length - 1];
}
list.push(pick);
}
// sort resulting per-competition picks by time ascending for navigation
list.sort((a,b)=> a.dt - b.dt);
return list;
}
function renderUpcoming(){
const root = document.getElementById('facr-upcoming');
if(!root) return;
ensureFacrStyles();
// clear any previous per-second timer
if(state.upcomingTimerId){
clearInterval(state.upcomingTimerId);
state.upcomingTimerId = null;
}
const items = upcomingMatchesAll();
if(items.length === 0){
root.innerHTML = '<div class="lte-football-upcoming"><span class="lte-header lte-header-upcoming">Žádné nadcházející zápasy</span></div>';
return;
}
// Selection policy:
// 1) If there is any finished match within the last 3 days across competitions,
// show the latest such finished match (keep result visible for 3 days)
// 2) Otherwise, show the first future match
// 3) If none, show the latest overall (shouldn't happen as items filtered by 3d window per-comp)
const now = new Date();
const threeDms = 3*24*60*60*1000;
let latestRecentIdx = -1;
let latestRecentTime = -Infinity;
items.forEach((it, i) => {
const dtms = it.dt.getTime();
if(dtms <= now.getTime() && now.getTime() - dtms <= threeDms){
if(dtms > latestRecentTime){ latestRecentTime = dtms; latestRecentIdx = i; }
}
});
let preferredIdx = latestRecentIdx;
if(preferredIdx === -1){
preferredIdx = items.findIndex(it => it.dt >= now);
if(preferredIdx === -1) preferredIdx = items.length - 1;
}
const idx = Math.min(state.matchIndex || preferredIdx, items.length-1);
const { comp, match:m } = items[idx];
const compName = truncate(escapeHTML(comp.name || comp.code || 'Soutěž'), 60);
const homeLogo = m.home_logo_url || 'img/logo.png';
const awayLogo = m.away_logo_url || 'img/logo.png';
const facrLink = m.facr_link || comp.matches_link || state.data.club_detail.url || '#';
const UP_MAX = 24;
const homeName = truncate(escapeHTML(m.home), UP_MAX);
const awayName = truncate(escapeHTML(m.away), UP_MAX);
const dateVenue = truncate(escapeHTML(m.date_time + (m.venue?`, ${m.venue}`:'')), 40);
// Determine if match is today (CZ date) and precompute mid display text
const matchDayCZ = (m.date_time || '').split(' ')[0];
const isToday = matchDayCZ === todayCZ();
const startDt = m.date_time ? parseCZDate(m.date_time) : null;
const diffMsPre = startDt ? (startDt.getTime() - new Date().getTime()) : 0;
const midText = (diffMsPre > 0) ? `Za ${fmtCountdownLong(diffMsPre)}` : (m.score || '-');
// Determine status flags and parse score parts if any
const now2_forTpl = new Date();
const startMs_forTpl = m.date_time ? parseCZDate(m.date_time).getTime() : 0;
const diff_forTpl = startMs_forTpl - now2_forTpl.getTime();
const twoH_forTpl = 2*60*60*1000;
const threeD_forTpl = 3*24*60*60*1000;
const isFuture = diff_forTpl > 0;
const isLive = Math.abs(diff_forTpl) <= twoH_forTpl;
const isRecentFinished = (!isFuture && !isLive && -diff_forTpl < threeD_forTpl);
const scoreStr = m.score || '';
const s1 = scoreStr && scoreStr.includes(':') ? escapeHTML(scoreStr.split(':')[0]) : '';
const s2 = scoreStr && scoreStr.includes(':') ? escapeHTML(scoreStr.split(':')[1]) : '';
// Date/time formatting for display lines
const dtForDisp = startDt || (m.date_time ? parseCZDate(m.date_time) : null);
const dd = dtForDisp ? String(dtForDisp.getDate()).padStart(1,'') : '';
const mm = dtForDisp ? String(dtForDisp.getMonth()+1).padStart(1,'') : '';
const yyyy = dtForDisp ? dtForDisp.getFullYear() : '';
const HH = dtForDisp ? String(dtForDisp.getHours()).padStart(2,'0') : '';
const MM = dtForDisp ? String(dtForDisp.getMinutes()).padStart(2,'0') : '';
const dateOnly = dtForDisp ? `${dd}. ${mm}. ${yyyy}` : '';
const timeToken = (m.date_time || '').split(' ')[1] || '';
const timeOnly = dtForDisp ? `${HH}:${MM}` : '';
const timeDisplay = dtForDisp ? ((timeToken === '' || timeToken === '00:00') ? 'Bude upřesněno' : timeOnly) : '';
const venue = m.venue || '';
const wrapperExtraClass = (isRecentFinished && s1 && s2) ? ' facr-finished' : '';
const headerLabel = isLive ? 'Aktuální zápas' : (isFuture ? 'Nadcházející zápas' : (isRecentFinished ? 'Poslední zápas' : `Zápasy (${idx+1}/${items.length})`));
root.innerHTML = `
<div class="lte-football-upcoming${wrapperExtraClass}">
<div class="facr-comp-title lte-football-date" style="text-align:center; margin-bottom:6px;">${compName}</div>
<div class="facr-upcoming-header">
<button id="facr-prev" class="facr-nav">◀</button>
<span class="lte-header lte-header-upcoming">${headerLabel}</span>
<button id="facr-next" class="facr-nav">▶</button>
</div>
<div class="lte-teams">
<span class="lte-team-name lte-team-1 lte-header" title="${escapeHTML(m.home)}">
<span class="lte-team-logo"><img decoding="async" src="${homeLogo}" alt="${escapeHTML(m.home)}"></span>${homeName}
<span id="facr-inline-status" class="facr-inline-status" aria-live="polite"></span>
${isRecentFinished && s1 ? `<span class="lte-team-count-mob">${s1}</span>` : ''}
</span>
<span class="lte-team-count">
<span id="facr-mid" style="font-size:32px; line-height:1; font-weight:700; display:inline-block; min-width:120px; text-align:center;">${midText}</span>
${isRecentFinished && s1 && s2 ? `<span class="facr-mob-center-score">${s1}<span>:</span>${s2}</span>` : ''}
</span>
<span class="lte-team-name lte-team-2 lte-header" title="${escapeHTML(m.away)}">
${isRecentFinished && s2 ? `<span class=\"lte-team-count-mob\">${s2}</span>` : ''}${awayName}<span class="lte-team-logo"><img decoding="async" src="${awayLogo}" alt="${escapeHTML(m.away)}"></span>
</span>
</div>
<span class="lte-football-date" style="text-align:center;" title="${escapeHTML(m.date_time + (m.venue?`, ${m.venue}`:''))}">${escapeHTML(dateOnly + (venue?`, ${venue}`:''))}</span>
${timeDisplay ? `<span class="lte-football-time" style="display:block; text-align:center;">${escapeHTML(timeDisplay)}</span>` : ''}
<span id="facr-countdown" class="lte-football-date" style="display:block; text-align:center;"></span>
<br>
<a class="lte-football-date" target="_blank" href="${facrLink}" style="text-align:center; background-color:#c42221; color:#ffffff; opacity:1;">Detail na FACR</a>
<span style="display:block; margin-top:6px;"></span>
<a class="lte-football-date" href="#tabulka" style="text-align:center; background-color:#ffffff43; color:#ffffff; opacity:1; width:49%; display:inline-block;">Tabulka bodů</a>
<a class="lte-football-date" href="/zapasy/vsechny.html" style="text-align:center; background-color:#ffffff43; color:#ffffff; opacity:1; width:49%; display:inline-block;">Všechny zápasy</a>
</div>`;
const prev = document.getElementById('facr-prev');
const next = document.getElementById('facr-next');
if(prev) prev.onclick = ()=>{ state.matchIndex = (idx - 1 + items.length) % items.length; renderUpcoming(); };
if(next) next.onclick = ()=>{ state.matchIndex = (idx + 1) % items.length; renderUpcoming(); };
// setup countdown / status text
const cd = document.getElementById('facr-countdown');
const inlineStatus = document.getElementById('facr-inline-status');
if(cd || inlineStatus){
const now2 = new Date();
const startMs = m.date_time ? parseCZDate(m.date_time).getTime() : 0;
const diff = startMs - now2.getTime();
const twoH = 2*60*60*1000;
const threeD = 3*24*60*60*1000;
let text = '';
if(diff > 0){
text = `Začátek za ${fmtCountdown(diff)}`;
}else if(Math.abs(diff) <= twoH){
text = 'Právě probíhá';
}else if(-diff < threeD){
text = (m.score ? `Výsledek: ${m.score}` : 'Ukončeno');
}else{
text = '';
}
if(cd) cd.textContent = text;
if(inlineStatus) inlineStatus.textContent = text;
}
// Live countdown in the middle area when future and not today
const midEl = document.getElementById('facr-mid');
if(midEl){
const startTime = m.date_time ? parseCZDate(m.date_time).getTime() : 0;
function tick(){
const now = Date.now();
const diff = startTime - now;
if(diff > 0){
const longTxt = `Za ${fmtCountdownLong(diff)}`;
midEl.textContent = longTxt;
const inlineEl = document.getElementById('facr-inline-status');
if(inlineEl) inlineEl.textContent = `Začátek za ${fmtCountdown(diff)}`;
const cdEl = document.getElementById('facr-countdown');
if(cdEl) cdEl.textContent = `Začátek za ${fmtCountdown(diff)}`;
}else{
// switch to score at/after kickoff
const scoreTxt = m.score || '-';
midEl.textContent = scoreTxt;
const inlineEl = document.getElementById('facr-inline-status');
if(inlineEl) inlineEl.textContent = (m.score ? `Výsledek: ${m.score}` : 'Ukončeno');
const cdEl = document.getElementById('facr-countdown');
if(cdEl) cdEl.textContent = (m.score ? `Výsledek: ${m.score}` : 'Ukončeno');
if(state.upcomingTimerId){ clearInterval(state.upcomingTimerId); state.upcomingTimerId = null; }
}
}
// Run live countdown for any future match (including today)
if(startTime > Date.now()){
tick();
state.upcomingTimerId = setInterval(tick, 1000);
} else {
// Ensure inline status reflects finished state on initial render
const inlineEl = document.getElementById('facr-inline-status');
if(inlineEl) inlineEl.textContent = (m.score ? `Výsledek: ${m.score}` : 'Ukončeno');
}
}
}
function renderCompetitionTabs(){
const tabs = document.getElementById('facr-comp-tabs');
if(!tabs || !state.data) return;
ensureFacrStyles();
const comps = state.data.club_table.competitions || [];
tabs.innerHTML = comps.map((c,i)=>
`<button class="facr-tab ${i===state.compIndex?'active':''}" data-idx="${i}">${c.name || c.code || 'Soutěž'}</button>`
).join('');
tabs.querySelectorAll('button').forEach(btn=>{
btn.addEventListener('click', ()=>{
state.compIndex = Number(btn.dataset.idx)||0;
renderCompetitionTabs();
renderTable();
});
});
}
function renderTable(){
const tbody = document.getElementById('facr-table-body');
const badge = document.getElementById('facr-comp-badge');
if(!tbody || !state.data) return;
const comps = state.data.club_table.competitions || [];
if(comps.length === 0){ tbody.innerHTML = ''; return; }
const comp = comps[Math.min(state.compIndex, comps.length-1)];
if(badge){ badge.textContent = comp.name || comp.code || 'Soutěž'; }
const rows = comp.table && comp.table.overall ? comp.table.overall : [];
tbody.innerHTML = rows.map(r=>`
<tr>
<td class="lte-row"><span>${r.rank}</span></td>
<td class="lte-club-logo"><img decoding="async" src="${r.team_logo_url || 'img/logo.png'}"></td>
<td class="lte-name">${r.team}</td>
<td class="lte-rate">${r.played}</td>
<td class="lte-rate">${r.wins}</td>
<td class="lte-rate">${r.draws}</td>
<td class="lte-rate">${r.losses}</td>
<td class="lte-rate">${r.score}</td>
<td class="lte-summary">${r.points}</td>
</tr>
`).join('');
}
function renderAllMatches(){
const container = document.getElementById('facr-all-matches');
if(!container || !state.data) return;
const comps = state.data.club_detail.competitions || [];
const sections = [];
for(const comp of comps){
const matches = (comp.matches || [])
.map(m=>({ m, dt: parseCZDate(m.date_time) }))
.filter(x=>!!x.dt)
.sort((a,b)=> b.dt - a.dt);
if(matches.length === 0) continue;
const compName = truncate(escapeHTML(comp.name || comp.code || 'Soutěž'), 40);
const itemsHtml = matches.map(({m})=>{
const homeLogo = m.home_logo_url || '../img/logo.png';
const awayLogo = m.away_logo_url || '../img/logo.png';
const facrLink = m.report_url || comp.matches_link || state.data.club_detail.url || '#';
const score = m.score || '-';
const GRID_MAX = 22;
const home = truncate(escapeHTML(m.home), GRID_MAX);
const away = truncate(escapeHTML(m.away), GRID_MAX);
const dateVenue = truncate(escapeHTML(m.date_time + (m.venue?`, ${m.venue}`:'')), 36);
const s1 = escapeHTML((score.split(':')[0]||'-'));
const s2 = escapeHTML((score.split(':')[1]||'-'));
return `
<a href="${facrLink}" target="_blank" class="lte-item swiper-slide">
<div class="lte-teams lte-match-time-public">
<span class="lte-team-name lte-team-1 lte-header" title="${escapeHTML(m.home)}">
<span class="lte-team-logo"><img src="${homeLogo}" alt="${escapeHTML(m.home)}"></span>${home}</span>
<span class="lte-score-mob lte-score-1">${s1}</span>
<span class="lte-team-count">
<span class="lte-c lte-score-1">${s1}</span>
<span class="lte-d">:</span>
<span class="lte-c lte-score-4">${s2}</span>
</span>
<span class="lte-team-name lte-team-2 lte-header" title="${escapeHTML(m.away)}">${away}
<span class="lte-team-logo"><img src="${awayLogo}" alt="${escapeHTML(m.away)}"></span>
</span>
<span class="lte-score-mob lte-score-4">${s2}</span>
</div>
<div class="lte-footer">
<span class="lte-football-date" title="${escapeHTML(m.date_time + (m.venue?`, ${m.venue}`:''))}">${dateVenue}</span>
</div>
</a>`;
}).join('');
sections.push(`
<div class="lte-section">
<h3 class="lte-header" style="margin: 20px 0 10px;">${compName}</h3>
<div class="lte-football-matches inner-page">${itemsHtml}</div>
</div>
`);
}
container.innerHTML = sections.join('');
}
function schedule(){
if(state.intervalId) clearInterval(state.intervalId);
const intervalMs = isWithinMatchWindow() ? 2*60*1000 : 30*60*1000;
state.intervalId = setInterval(async ()=>{
try{
await fetchData();
renderUpcoming();
renderCompetitionTabs();
renderTable();
renderAllMatches();
schedule(); // reevaluate interval if window changed
}catch(e){ console.warn('refresh failed', e); }
}, intervalMs);
}
async function init(){
try{
await fetchData();
renderUpcoming();
renderCompetitionTabs();
renderTable();
renderAllMatches();
schedule();
}catch(e){
console.error('FACR init failed', e);
}
}
document.addEventListener('DOMContentLoaded', init);
})();
+2
View File
@@ -0,0 +1,2 @@
/*! elementor - v3.20.0 - 13-03-2024 */
(self.webpackChunkelementor=self.webpackChunkelementor||[]).push([[354],{381:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=(e,t)=>{t=Array.isArray(t)?t:[t];for(const n of t)if(e.constructor.name===n.prototype[Symbol.toStringTag])return!0;return!1}},8135:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.ViewModule{getDefaultSettings(){return{selectors:{elements:".elementor-element",nestedDocumentElements:".elementor .elementor-element"},classes:{editMode:"elementor-edit-mode"}}}getDefaultElements(){const e=this.getSettings("selectors");return{$elements:this.$element.find(e.elements).not(this.$element.find(e.nestedDocumentElements))}}getDocumentSettings(e){let t;if(this.isEdit){t={};const e=elementor.settings.page.model;jQuery.each(e.getActiveControls(),(n=>{t[n]=e.attributes[n]}))}else t=this.$element.data("elementor-settings")||{};return this.getItems(t,e)}runElementsHandlers(){this.elements.$elements.each(((e,t)=>setTimeout((()=>elementorFrontend.elementsHandler.runReadyTrigger(t)))))}onInit(){this.$element=this.getSettings("$element"),super.onInit(),this.isEdit=this.$element.hasClass(this.getSettings("classes.editMode")),this.isEdit?elementor.on("document:loaded",(()=>{elementor.settings.page.model.on("change",this.onSettingsChange.bind(this))})):this.runElementsHandlers()}onSettingsChange(){}}t.default=_default},6752:(e,t,n)=>{"use strict";var i=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(3090));class NestedTitleKeyboardHandler extends r.default{__construct(e){super.__construct(e),this.directionNext="next",this.directionPrevious="previous",this.focusableElementSelector='audio, button, canvas, details, iframe, input, select, summary, textarea, video, [accesskey], [contenteditable], [href], [tabindex]:not([tabindex="-1"])'}getDefaultSettings(){return{selectors:{itemTitle:".e-n-tab-title",itemContainer:".e-n-tabs-content > .e-con"},ariaAttributes:{titleStateAttribute:"aria-selected",activeTitleSelector:'[aria-selected="true"]'},datasets:{titleIndex:"data-tab-index"},keyDirection:{ArrowLeft:elementorFrontendConfig.is_rtl?this.directionNext:this.directionPrevious,ArrowUp:this.directionPrevious,ArrowRight:elementorFrontendConfig.is_rtl?this.directionPrevious:this.directionNext,ArrowDown:this.directionNext}}}getDefaultElements(){const e=this.getSettings("selectors");return{$itemTitles:this.findElement(e.itemTitle),$itemContainers:this.findElement(e.itemContainer),$focusableContainerElements:this.getFocusableElements(this.findElement(e.itemContainer))}}getFocusableElements(e){return e.find(this.focusableElementSelector).not("[disabled], [inert]")}getKeyDirectionValue(e){const t=this.getSettings("keyDirection")[e.key];return this.directionNext===t?1:-1}getTitleIndex(e){const{titleIndex:t}=this.getSettings("datasets");return e.getAttribute(t)}getTitleFilterSelector(e){const{titleIndex:t}=this.getSettings("datasets");return`[${t}="${e}"]`}getActiveTitleElement(){const e=this.getSettings("ariaAttributes").activeTitleSelector;return this.elements.$itemTitles.filter(e)}onInit(){super.onInit(...arguments)}bindEvents(){this.elements.$itemTitles.on(this.getTitleEvents()),this.elements.$focusableContainerElements.on(this.getContentElementEvents())}unbindEvents(){this.elements.$itemTitles.off(),this.elements.$itemContainers.children().off()}getTitleEvents(){return{keydown:this.handleTitleKeyboardNavigation.bind(this)}}getContentElementEvents(){return{keydown:this.handleContentElementKeyboardNavigation.bind(this)}}isDirectionKey(e){return["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(e.key)}isActivationKey(e){return["Enter"," "].includes(e.key)}handleTitleKeyboardNavigation(e){if(this.isDirectionKey(e)){e.preventDefault();const t=parseInt(this.getTitleIndex(e.currentTarget))||1,n=this.elements.$itemTitles.length,i=this.getTitleIndexFocusUpdated(e,t,n);this.changeTitleFocus(i),e.stopPropagation()}else if(this.isActivationKey(e)){if(e.preventDefault(),this.handeTitleLinkEnterOrSpaceEvent(e))return;const t=this.getTitleIndex(e.currentTarget);elementorFrontend.elements.$window.trigger("elementor/nested-elements/activate-by-keyboard",{widgetId:this.getID(),titleIndex:t})}else"Escape"===e.key&&this.handleTitleEscapeKeyEvents(e)}handeTitleLinkEnterOrSpaceEvent(e){const t="a"===e?.currentTarget?.tagName?.toLowerCase();return!elementorFrontend.isEditMode()&&t&&(e?.currentTarget?.click(),e.stopPropagation()),t}getTitleIndexFocusUpdated(e,t,n){let i=0;switch(e.key){case"Home":i=1;break;case"End":i=n;break;default:const r=this.getKeyDirectionValue(e);i=n<t+r?1:0===t+r?n:t+r}return i}changeTitleFocus(e){const t=this.elements.$itemTitles.filter(this.getTitleFilterSelector(e));this.setTitleTabindex(e),t.trigger("focus")}setTitleTabindex(e){this.elements.$itemTitles.attr("tabindex","-1");this.elements.$itemTitles.filter(this.getTitleFilterSelector(e)Line truncated
+552
View File
@@ -0,0 +1,552 @@
/* LT-Ext Plugin Frontend functions */
"use strict";
var lteMinicartDelay;
jQuery( function() {
initSwiperWrappers();
initMiniCart();
setTimeout(function() {
jQuery('.elementor-accordion .elementor-tab-title').removeClass('elementor-active');
jQuery('.elementor-accordion .elementor-tab-content').css('display', 'none');
}, 200);
});
jQuery(window).on('elementor/frontend/init', function () {
elementorFrontend.hooks.addAction('frontend/element_ready/lte-product-categories.default', initSwiperWrappers);
elementorFrontend.hooks.addAction('frontend/element_ready/lte-products.default', initSwiperWrappers);
elementorFrontend.hooks.addAction('frontend/element_ready/lte-testimonials.default', initSwiperWrappers);
elementorFrontend.hooks.addAction('frontend/element_ready/lte-zoomslider.default', initSwiperWrappers);
elementorFrontend.hooks.addAction('frontend/element_ready/lte-gallery.default', initSwiperWrappers);
elementorFrontend.hooks.addAction('frontend/element_ready/lte-team.default', initSwiperWrappers);
elementorFrontend.hooks.addAction('frontend/element_ready/lte-services.default', initServices);
elementorFrontend.hooks.addAction('frontend/element_ready/lte-rental-search.default', initCf7Styles);
elementorFrontend.hooks.addAction('frontend/element_ready/lte-cf7.default', initCf7Styles);
elementorFrontend.hooks.addAction('frontend/element_ready/accordion', function() { });
elementorFrontend.hooks.addAction('frontend/element_ready/container', function( a, b ) {
jQuery(this).prepend('<div class="lte-background-overlay-editor">');
jQuery(a).prepend('<div class="lte-background-overlay-editor">');
});
jQuery('.elementor-tab-title.elementor-active').removeClass('elementor-active');
});
function initServices() {
jQuery('.lte-services-sc.lte-layout-tabs .lte-tab').on('click', function(i, el) {
var lte_id = jQuery(this).data('lte-id'),
el = jQuery(this);
el.parent().find('.active').removeClass('active');
el.addClass('active');
el.parent().next().find('.lte-item.active').removeClass('active').fadeOut(200, function() {
setTimeout(function() {
el.parent().next().find('.lte-item-' + lte_id).addClass('active').fadeIn(400, function() {
//tabs.removeClass('animated');
});
}, 150);
});
});
}
function initSwiperWrappers() {
initSwiperSliders();
initFilterContainer();
}
/* Swiper Slider Containers and Script Initialization */
function initSwiperSliders() {
var lteSliders = jQuery('.lte-swiper-slider:not(".lte-inited")');
jQuery(lteSliders).each(function(i, el) {
var container = jQuery(el),
id = 'lte-id-' + Math.floor(Math.random() * Math.floor(10000)),
autoplay = false,
autoplay_interact = false,
navigation = false,
pagination = false,
slidesPerView = false,
centeredSlides = false,
simulateTouch = true,
touchRatio = container.data('touch-move'),
allowTouchMove = true,
spg = 1,
slidesPerGroup = 1,
spaceBetween = container.data('space-between'),
loop = container.data('loop'),
effect = container.data('effect'),
speed = container.data('speed'),
breakpoints_per = container.data('breakpoints').split(';'),
breakpoints_viewports = [1599, 1199, 991, 768, 480, 0],
breakpoints = {};
if ( jQuery(el).hasClass('lte-layout-tickets') ) {
breakpoints_viewports = [2000, 1799, 1199, 991, 768, 0];
}
if ( container.data('autoplay') && container.data('autoplay') > 0 ) {
if ( container.data('autoplay-interaction') === 1 ) {
autoplay_interact = true;
}
else {
autoplay_interact = false;
}
autoplay = {
delay: container.data('autoplay'),
disableOnInteraction: autoplay_interact,
}
}
if ( container.data('center-slide') ) {
centeredSlides = true;
}
if ( container.data('arrows') && container.data('arrows') != 'disabled' ) {
var arrows_html = '<div class="'+ id + '-arrows lte-arrows lte-arrows-' + container.data('arrows') + '"><a href="#" class="lte-arrow-left"></a><a href="#" class="lte-arrow-right"></a></div>';
if ( container.data('arrows') == 'right-top' ||container.data('arrows') == 'right' || container.data('arrows') == 'sides-outside' || container.data('arrows') == 'sides-small' ) {
jQuery(container).after(arrows_html);
}
else
if ( container.data('arrows') != 'custom' ) {
jQuery(container).append(arrows_html);
}
navigation = {
nextEl: '.' + id + '-arrows .lte-arrow-right',
prevEl: '.' + id + '-arrows .lte-arrow-left',
}
}
if ( !loop ) loop = false;
jQuery(breakpoints_per).each(function(i, el) {
if ( !slidesPerView && el ) {
slidesPerView = 1;
if ( container.data('slides-per-group') ) slidesPerGroup = el;
slidesPerGroup = 1;
}
if ( el ) {
if ( container.data('slides-per-group') ) spg = el; else spg = 1;
spg = 1;
if ( container.data('slides-per-group') == -1 ) spg = -1;
breakpoints[breakpoints_viewports[i]] = { slidesPerView : el, slidesPerGroup : el };
if ( spg == -1 ) delete breakpoints[breakpoints_viewports[i]]['slidesPerGroup'];
}
});
if ( container.data('pagination') && container.data('pagination') == 'bullets' ) {
pagination = {
el: '.swiper-pagination',
type: 'bullets',
clickable: true
};
jQuery(container).append('<div class="swiper-pagination"></div>');
}
else
if ( container.data('pagination') && container.data('pagination') == 'fraction' ) {
pagination = {
el: '.swiper-pagination',
type: 'fraction',
};
jQuery(container).append('<div class="swiper-pagination"></div>');
}
else
if ( container.data('pagination') && container.data('pagination') == 'custom' ) {
pagination = {
el: '.swiper-pagination-custom',
clickable: true,
renderBullet: function (index, className) {
var pages = (container.data('pagination-custom'));
return '<span class="' + className + ' ' + pages[index]['cats'] +'"><span class="lte-img"><img src="' + pages[index]['image'] + '" alt="' + pages[index]['header'] + '"></span><span class="lte-title">' + pages[index]['header'] + '</span></span>';
},
};
}
if ( container.data('simulate-touch') ) {
simulateTouch = false;
allowTouchMove = false;
}
if ( !slidesPerView ) slidesPerView = 1;
var conf = {
initialSlide : 0,
spaceBetween : spaceBetween,
centeredSlides : centeredSlides,
slidesPerView : slidesPerView,
slidesPerGroup : slidesPerGroup,
breakpoints : breakpoints,
loop : loop,
speed : speed,
navigation : navigation,
autoplay : autoplay,
pagination : pagination,
touchRatio : touchRatio,
simulateTouch : simulateTouch,
allowTouchMove : allowTouchMove,
/*
slideChangeTransitionStart: function(s) {
var currentSlide = $(s.slides[s.activeIndex]);
var elems = currentSlide.find(".animated")
elems.each(function() {
var $this = $(this);
var animationType = $this.data('animation');
$this.addClass(animationType, 100).on(animEndEv, function() {
$this.removeClass(animationType);
});
});
},
slideChangeTransitionEnd: function(s) {
var currentSlide = $(s.slides[s.activeIndex]);
}
*/
on: {
init: function () {
var activeIndex = this.activeIndex;
var realIndex = this.slides.eq(activeIndex).attr('data-swiper-slide-index');
jQuery('.swiper-slide').removeClass('swiper-slide-nth-prev-2 swiper-slide-nth-next-2');
jQuery('.swiper-slide[data-swiper-slide-index="'+realIndex+'"]').prev().prev().addClass('swiper-slide-nth-prev-2');
jQuery('.swiper-slide[data-swiper-slide-index="'+realIndex+'"]').next().next().addClass('swiper-slide-nth-next-2');
},
slideChange: function () {
var activeIndex = this.activeIndex;
var realIndex = this.slides.eq(activeIndex).attr('data-swiper-slide-index');
jQuery('.swiper-slide').removeClass('swiper-slide-nth-prev-2 swiper-slide-nth-next-2');
jQuery('.swiper-slide[data-swiper-slide-index="'+realIndex+'"]').prev().prev().addClass('swiper-slide-nth-prev-2');
jQuery('.swiper-slide[data-swiper-slide-index="'+realIndex+'"]').next().next().addClass('swiper-slide-nth-next-2');
if ( jQuery(this.el).hasClass('lte-team-list') ) {
jQuery(this.el).parent().parent().children('.lte-team-descr').html(jQuery(this.slides[this.activeIndex].innerHTML).find('.lte-descr'));
}
},
}
};
if ( slidesPerGroup == 1) delete conf['slidesPerGroup'];
if ( effect == 'fade') {
conf["effect"] = 'fade';
conf["fadeEffect"] = { crossFade: true };
}
else
if ( effect == 'coverflow') {
var ww = jQuery(window).width();
conf['centeredSlides'] = true;
conf["loop"] = true;
conf["effect"] = 'coverflow';
if ( ww > 1199 ) {
conf["coverflowEffect"] = {
rotate : 0,
stretch : -100,
scale: 1,
depth: 0,
modifier: 10,
slideShadows: false,
};
}
else {
conf["coverflowEffect"] = {
rotate : 0,
stretch :0,
depth: 0,
modifier: 0,
slideShadows: false,
};
}
}
else
if ( effect == 'flip') {
conf["effect"] = 'flip';
conf["flipEffect"] = { slideShadows: false };
}
else
if ( effect == 'cube') {
conf["effect"] = 'cube';
conf["cubeEffect"] = { slideShadows: false };
}
var swiper = new Swiper(container, conf);
if ( container.data('autoplay') > 0 && container.data('autoplay-interaction') === 1 ) {
swiper.el.addEventListener("mouseenter", function( event ) { swiper.autoplay.stop(); }, false);
swiper.el.addEventListener("mouseout", function( event ) { swiper.autoplay.start(); }, false);
}
container.addClass('lte-inited');
swiper.update();
});
}
/* Tabs Filterered Container */
function initFilterContainer() {
var container = jQuery('.lte-filter-container:not(".lte-inited")');
jQuery(container).each(function(i, el) {
var wrapper = jQuery(el),
tabs = wrapper.find('.lte-tabs-cats'),
images = wrapper.find('.lte-images');
if (tabs.length) {
tabs.on('click', '.lte-tab', function() {
if ( !wrapper.hasClass('hasHeight') ) {
wrapper.css('height', container.height());
wrapper.addClass('hasHeight');
}
if ( !tabs.hasClass('animated') ) {
var el = jQuery(this),
filter = el.data('filter');
el.parent().parent().find('.active').removeClass('active');
el.addClass('active');
console.log(images);
if ( images.length ) {
images.find('.lte-image').removeClass('active');
wrapper.find('.lte-image-' + filter).addClass('active');
/*
.fadeOut(150, function() {
wrapper.find('.lte-image-' + filter).addClass('active').fadeIn(150, function() {
});
});
*/
}
if (filter === 0) {
wrapper.find('.lte-filter-item').show();
}
else
if (filter !== '') {
wrapper.find('.lte-filter-item').removeClass('show-item').fadeOut(200, function() {
tabs.addClass('animated');
setTimeout(function() {
wrapper.find('.lte-filter-item.lte-filter-id-' + filter).addClass('show-item').fadeIn(200, function() {
tabs.removeClass('animated');
});
var mySwiper = document.querySelector('.lte-filter-item.lte-filter-id-' + filter + ' .swiper-container');
if ( document.querySelector('.lte-filter-item.lte-filter-id-' + filter + ' .swiper-container') !== null ) {
mySwiper = mySwiper.swiper;
mySwiper.update();
}
}, 200);
});;
}
return false;
}
return false;
});
// First Init, Activating first tab
var firstBtn = tabs.find('.lte-tab:first');
firstBtn.addClass('active');
if ( firstBtn.data('filter') != 0 ) {
wrapper.find('.lte-filter-item').hide();
wrapper.find('.lte-filter-item.lte-filter-id-' + firstBtn.data('filter') + '').addClass('show-item').show();
wrapper.closest('.elementor-element').css('min-height', container.height());
}
jQuery(el).addClass('lte-inited');
jQuery(window).resize();
}
});
}
function initFCSwiper() {
var container = jQuery('.elementor-widget-lte-slider-full'),
menu = container.find('.lte-slider-fc-menu'),
items = container.find('.lte-item');
var current = menu.find('span').first().addClass('active').data('id');
container.find('.lte-wrapper-item').fadeOut();
container.find('.lte-wrapper-item-' + current).fadeIn();
menu.on('click', 'span', function() {
menu.find('span').removeClass('active');
current = jQuery(this).addClass('active').data('id');
container.find('.lte-wrapper-item').fadeOut();
container.find('.lte-wrapper-item-' + current).delay(300).fadeIn("slow");
});
if ( document.querySelector('.swiper-container') !== null ) {
var swiper = document.querySelector('.swiper-container').swiper;
swiper.update();
}
}
function initCf7Styles() {
jQuery('form.wpcf7-form select').parent(":not(.select-wrap)").find('select').wrap('<div class="select-wrap"></div>');
}
/* Navbar MiniCart Init */
function initMiniCart() {
var events = [
'.add_to_cart_button',
".single_add_to_cart_button",
".remove_from_cart_button",
".product-remove a"
];
jQuery(document.body).on('click change', events.join(','), function() {
updateMiniCartRequest();
});
jQuery(document.body).on('updated_cart_totals', function() {
updateMiniCartRequest();
});
jQuery(document.body).on('click', '.lte-minicart .lte-remove', function( e ) {
var el = jQuery(this);
e.preventDefault();
jQuery(this).closest('.lte-item').fadeOut();
jQuery.ajax({
type : 'POST',
url: wc_add_to_cart_params.wc_ajax_url.toString().replace( '%%endpoint%%', 'remove_from_cart' ),
data: {
cart_item_key : el.data( 'cart_item_key' )
},
success : function( response ) {
updateMiniCartRequest();
}
});
});
}
function updateMiniCartRequest() {
clearTimeout( lteMinicartDelay );
lteMinicartDelay = setTimeout( updateMiniCart, 1500);
}
function updateMiniCart() {
var data = {
_ajax_nonce: lte_mini_cart.nonce,
action : "lte_wc_cart_update",
};
jQuery.ajax({
type : 'POST',
url : lte_mini_cart.ajax_url,
data : data,
success : function( response ) {
jQuery('.lte-minicart').html( response );
}
});
}
+2
View File
@@ -0,0 +1,2 @@
/*! elementor - v3.20.0 - 13-03-2024 */
"use strict";(self.webpackChunkelementor=self.webpackChunkelementor||[]).push([[819],{9220:(e,t,n)=>{var o=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=o(n(8135));class _default extends elementorModules.ViewModule{constructor(){super(...arguments),this.documents={},this.initDocumentClasses(),this.attachDocumentsClasses()}getDefaultSettings(){return{selectors:{document:".elementor"}}}getDefaultElements(){const e=this.getSettings("selectors");return{$documents:jQuery(e.document)}}initDocumentClasses(){this.documentClasses={base:i.default},elementorFrontend.hooks.doAction("elementor/frontend/documents-manager/init-classes",this)}addDocumentClass(e,t){this.documentClasses[e]=t}attachDocumentsClasses(){this.elements.$documents.each(((e,t)=>this.attachDocumentClass(jQuery(t))))}attachDocumentClass(e){const t=e.data(),n=t.elementorId,o=t.elementorType,i=this.documentClasses[o]||this.documentClasses.base;this.documents[n]=new i({$element:e,id:n})}}t.default=_default},9804:(e,t,n)=>{var o=n(3203),i=o(n(6397)),s=o(n(8704)),r=o(n(4985)),a=o(n(7537)),l=o(n(355)),d=o(n(2804)),c=o(n(3384));e.exports=function(e){var t=this;const o={};this.elementsHandlers={"accordion.default":()=>n.e(209).then(n.bind(n,8470)),"alert.default":()=>n.e(745).then(n.bind(n,9269)),"counter.default":()=>n.e(120).then(n.bind(n,7884)),"progress.default":()=>n.e(192).then(n.bind(n,1351)),"tabs.default":()=>n.e(520).then(n.bind(n,9459)),"toggle.default":()=>n.e(181).then(n.bind(n,2)),"video.default":()=>n.e(791).then(n.bind(n,5363)),"image-carousel.default":()=>n.e(268).then(n.bind(n,5914)),"text-editor.default":()=>n.e(357).then(n.bind(n,1327)),"wp-widget-media_audio.default":()=>n.e(52).then(n.bind(n,7602))},elementorFrontendConfig.experimentalFeatures["nested-elements"]&&(this.elementsHandlers["nested-tabs.default"]=()=>Promise.resolve().then(n.bind(n,7323))),elementorFrontendConfig.experimentalFeatures["nested-elements"]&&(this.elementsHandlers["nested-accordion.default"]=()=>Promise.resolve().then(n.bind(n,32)));const addElementsHandlers=()=>{this.elementsHandlers.section=[d.default,...s.default,l.default,c.default],this.elementsHandlers.container=[...s.default],elementorFrontend.isEditMode()&&this.elementsHandlers.container.push(...r.default),this.elementsHandlers.column=a.default,e.each(this.elementsHandlers,((e,t)=>{const n=e.split(".");e=n[0];const o=n[1]||null;this.attachHandler(e,t,o)}))},isClassHandler=e=>e.prototype?.getUniqueHandlerID;this.addHandler=function(t,n){const i=n.$element.data("model-cid");let s;if(i){s=t.prototype.getConstructorID(),o[i]||(o[i]={});const e=o[i][s];e&&e.onDestroy()}const r=new t(n);elementorFrontend.hooks.doAction(`frontend/element_handler_ready/${n.elementName}`,n.$element,e),i&&(o[i][s]=r)},this.attachHandler=(e,n,o)=>{Array.isArray(n)||(n=[n]),n.forEach((n=>function(e,n){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"default";o=o?"."+o:"";const i=e+o;elementorFrontend.hooks.addAction(`frontend/element_ready/${i}`,(e=>{if(isClassHandler(n))t.addHandler(n,{$element:e,elementName:i},!0);else{const o=n();if(!o)return;o instanceof Promise?o.then((n=>{let{default:o}=n;t.addHandler(o,{$element:e,elementName:i},!0)})):t.addHandler(o,{$element:e,elementName:i},!0)}}))}(e,n,o)))},this.getHandler=function(e){const t=this.elementsHandlers[e];return isClassHandler(t)?t:new Promise((e=>{t().then((t=>{let{default:n}=t;e(n)}))}))},this.getHandlers=function(e){return elementorDevTools.deprecation.deprecated("getHandlers","3.1.0","elementorFrontend.elementsHandler.getHandler"),e?this.getHandler(e):this.elementsHandlers},this.runReadyTrigger=function(t){if(elementorFrontend.config.is_static)return;const n=jQuery(t),o=n.attr("data-element_type");if(o&&(elementorFrontend.hooks.doAction("frontend/element_ready/global",n,e),elementorFrontend.hooks.doAction(`frontend/element_ready/${o}`,n,e),"widget"===o)){const t=n.attr("data-widget_type");elementorFrontend.hooks.doAction(`frontend/element_ready/${t}`,n,e)}},this.init=()=>{elementorFrontend.hooks.addAction("frontend/element_ready/global",i.default),addElementsHandlers()}}},5654:(e,t,n)=>{var o=n(3203);n(59);var i=o(n(9220)),s=o(n(5107)),r=o(n(3308)),a=o(n(1604)),l=o(n(1911)),d=o(n(4773)),c=o(n(2064)),u=o(n(8628)),h=o(n(8646)),m=o(n(6866)),g=o(n(4375)),p=o(n(6404)),f=o(n(6046)),v=o(n(1322)),b=n(6028);const _=n(9469),y=n(9804),w=n(3346);class Frontend extends elementorModules.ViewModule{constructor(){super(...arguments),this.config=elementorFrontendConfig,this.config.legacyMode={get elementWrappers(){return elementorFrontend.isEditMode()&&window.top.elementorDevTools.deprecation.deprecated("elementorFrontend.config.legacyMode.elementWrappers","3.1.0"),!1}},this.populateActiveBreakpointsConfig()}get Module(){return this.isEditMode()&&parent.elementorDevTools.deprecation.deprecated("elementorFrontend.Module","2.5.0","elementorModules.frontend.handlers.Base"),elementorModules.frontend.handlers.Base}getDefaultSettings(){return{selectLine truncated
+67
View File
@@ -0,0 +1,67 @@
'use strict';
(function(){
async function updateHeroFromLatest() {
try {
const res = await fetch('/api/blog/latest?limit=8', {credentials:'omit'});
if (!res.ok) throw new Error('HTTP '+res.status);
let items = await res.json();
if (!Array.isArray(items) || items.length === 0) items = [];
// Update background images of zoom slider slides if present
const slides = document.querySelectorAll('.lte-slider-zoom .zs-slides .zs-slide');
// If slides are not yet initialized by the plugin, try again shortly
if (!slides || slides.length === 0) {
setTimeout(updateHeroFromLatest, 600);
return;
}
// Track which IDs are used in the carousel
const usedIds = [];
// Slide 0 is always the intro post 0000
const slide0 = slides[0];
if (slide0) {
usedIds.push('0000');
slide0.style.backgroundImage = `url('img/blog/0000.png')`;
const content0 = document.querySelector(`.lte-zs-slider-inner.lte-zs-slide-0`);
if (content0) {
const btn0 = content0.querySelector('a.lte-btn');
if (btn0) btn0.setAttribute('href', 'blog/0000.html');
// Do not alter existing H2 text; designers may have custom text
}
}
// Fill remaining slides with latest posts, skipping 0000
const rest = items.filter(it => it && it.id !== '0000');
const max = Math.min(rest.length, Math.max(0, slides.length - 1));
for (let i = 0; i < max; i++) {
const it = rest[i];
if (it && it.id) usedIds.push(it.id);
const slide = slides[i+1];
if (!slide) continue;
slide.style.backgroundImage = `url('${it.image}')`;
const content = document.querySelector(`.lte-zs-slider-inner.lte-zs-slide-${i+1}`);
if (content) {
const header = content.querySelector('h2.lte-header');
if (header) header.textContent = it.title || '';
const btn = content.querySelector('a.lte-btn');
if (btn) btn.setAttribute('href', it.link);
}
}
// Expose used IDs so other widgets can exclude them (e.g., 4-post grid)
window.CAROUSEL_BLOG_IDS = usedIds;
} catch (e) {
console.error('home-autofill hero update error', e);
}
}
function onReady(fn){
if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', fn); else fn();
}
onReady(() => {
// Delay a bit to allow zoomslider to initialize, then update
setTimeout(updateHeroFromLatest, 500);
});
})();
+13
View File
@@ -0,0 +1,13 @@
/*! This file is auto-generated */
/*!
* imagesLoaded PACKAGED v5.0.0
* JavaScript is all like "You images are done yet or what?"
* MIT License
*/
!function(t,e){"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,(function(){function t(){}let e=t.prototype;return e.on=function(t,e){if(!t||!e)return this;let i=this._events=this._events||{},s=i[t]=i[t]||[];return s.includes(e)||s.push(e),this},e.once=function(t,e){if(!t||!e)return this;this.on(t,e);let i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this},e.off=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;let s=i.indexOf(e);return-1!=s&&i.splice(s,1),this},e.emitEvent=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;i=i.slice(0),e=e||[];let s=this._onceEvents&&this._onceEvents[t];for(let n of i){s&&s[n]&&(this.off(t,n),delete s[n]),n.apply(this,e)}return this},e.allOff=function(){return delete this._events,delete this._onceEvents,this},t})),
/*!
* imagesLoaded v5.0.0
* JavaScript is all like "You images are done yet or what?"
* MIT License
*/
function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}("undefined"!=typeof window?window:this,(function(t,e){let i=t.jQuery,s=t.console;function n(t,e,o){if(!(this instanceof n))return new n(t,e,o);let r=t;var h;("string"==typeof t&&(r=document.querySelectorAll(t)),r)?(this.elements=(h=r,Array.isArray(h)?h:"object"==typeof h&&"number"==typeof h.length?[...h]:[h]),this.options={},"function"==typeof e?o=e:Object.assign(this.options,e),o&&this.on("always",o),this.getImages(),i&&(this.jqDeferred=new i.Deferred),setTimeout(this.check.bind(this))):s.error(`Bad element for imagesLoaded ${r||t}`)}n.prototype=Object.create(e.prototype),n.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)};const o=[1,9,11];n.prototype.addElementImages=function(t){"IMG"===t.nodeName&&this.addImage(t),!0===this.options.background&&this.addElementBackgroundImages(t);let{nodeType:e}=t;if(!e||!o.includes(e))return;let i=t.querySelectorAll("img");for(let t of i)this.addImage(t);if("string"==typeof this.options.background){let e=t.querySelectorAll(this.options.background);for(let t of e)this.addElementBackgroundImages(t)}};const r=/url\((['"])?(.*?)\1\)/gi;function h(t){this.img=t}function d(t,e){this.url=t,this.element=e,this.img=new Image}return n.prototype.addElementBackgroundImages=function(t){let e=getComputedStyle(t);if(!e)return;let i=r.exec(e.backgroundImage);for(;null!==i;){let s=i&&i[2];s&&this.addBackground(s,t),i=r.exec(e.backgroundImage)}},n.prototype.addImage=function(t){let e=new h(t);this.images.push(e)},n.prototype.addBackground=function(t,e){let i=new d(t,e);this.images.push(i)},n.prototype.check=function(){if(this.progressedCount=0,this.hasAnyBroken=!1,!this.images.length)return void this.complete();let t=(t,e,i)=>{setTimeout((()=>{this.progress(t,e,i)}))};this.images.forEach((function(e){e.once("progress",t),e.check()}))},n.prototype.progress=function(t,e,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded,this.emitEvent("progress",[this,t,e]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,t),this.progressedCount===this.images.length&&this.complete(),this.options.debug&&s&&s.log(`progress: ${i}`,t,e)},n.prototype.complete=function(){let t=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(t,[this]),this.emitEvent("always",[this]),this.jqDeferred){let t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},h.prototype=Object.create(e.prototype),h.prototype.check=function(){this.getIsImageComplete()?this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.img.crossOrigin&&(this.proxyImage.crossOrigin=this.img.crossOrigin),this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.proxyImage.src=this.img.currentSrc||this.img.src)},h.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},h.prototype.confirm=function(t,e){this.isLoaded=t;let{parentNode:i}=this.img,s="PICTURE"===i.nodeName?i:this.img;this.emitEvent("progress",[this,s,e])},h.prototype.handleEvent=function(t){let e="on"+t.type;this[e]&&this[e](t)},h.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},h.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},h.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},d.prototype=Object.create(h.prototype),d.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url,this.getIsImageComplete()&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},d.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},d.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.element,e])},n.makeJQueryPlugin=function(e){(e=e||t.jQuery)&&(i=e,i.fn.imagesLoaded=function(t,e){return new n(this,t,e).jqDeferred.promise(i(this))})},n.makeJQueryPlugin(),n}));
+1
View File
@@ -0,0 +1 @@
(()=>{"use strict";var t={d:(e,i)=>{for(var s in i)t.o(i,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:i[s]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function i(t){if(this.formData={},this.tree={},!(t instanceof FormData))return this;this.formData=t;const e=()=>{const t=new Map;return t.largestIndex=0,t.set=function(e,i){""===e?e=t.largestIndex++:/^[0-9]+$/.test(e)&&(e=parseInt(e),t.largestIndex<=e&&(t.largestIndex=e+1)),Map.prototype.set.call(t,e,i)},t};this.tree=e();const i=/^(?<name>[a-z][-a-z0-9_:]*)(?<array>(?:\[(?:[a-z][-a-z0-9_:]*|[0-9]*)\])*)/i;for(const[t,s]of this.formData){const o=t.match(i);if(o)if(""===o.groups.array)this.tree.set(o.groups.name,s);else{const t=[...o.groups.array.matchAll(/\[([a-z][-a-z0-9_:]*|[0-9]*)\]/gi)].map((([t,e])=>e));t.unshift(o.groups.name);const i=t.pop();t.reduce(((t,i)=>{if(/^[0-9]+$/.test(i)&&(i=parseInt(i)),t.get(i)instanceof Map)return t.get(i);const s=e();return t.set(i,s),s}),this.tree).set(i,s)}}}t.r(e),t.d(e,{all:()=>D,any:()=>M,date:()=>f,dayofweek:()=>u,email:()=>r,enum:()=>h,file:()=>m,maxdate:()=>z,maxfilesize:()=>$,maxitems:()=>v,maxlength:()=>x,maxnumber:()=>b,mindate:()=>A,minfilesize:()=>j,minitems:()=>w,minlength:()=>g,minnumber:()=>y,number:()=>c,required:()=>n,requiredfile:()=>a,tel:()=>l,time:()=>d,url:()=>p}),i.prototype.entries=function(){return this.tree.entries()},i.prototype.get=function(t){return this.tree.get(t)},i.prototype.getAll=function(t){if(!this.has(t))return[];const e=t=>{const i=[];if(t instanceof Map)for(const[s,o]of t)i.push(...e(o));else""!==t&&i.push(t);return i};return e(this.get(t))},i.prototype.has=function(t){return this.tree.has(t)},i.prototype.keys=function(){return this.tree.keys()},i.prototype.values=function(){return this.tree.values()};const s=i;function o({rule:t,field:e,error:i,...s}){this.rule=t,this.field=e,this.error=i,this.properties=s}const n=function(t){if(0===t.getAll(this.field).length)throw new o(this)},a=function(t){if(0===t.getAll(this.field).length)throw new o(this)},r=function(t){if(!t.getAll(this.field).every((t=>{if((t=t.trim()).length<6)return!1;if(-1===t.indexOf("@",1))return!1;if(t.indexOf("@")!==t.lastIndexOf("@"))return!1;const[e,i]=t.split("@",2);if(!/^[a-zA-Z0-9!#$%&\'*+\/=?^_`{|}~\.-]+$/.test(e))return!1;if(/\.{2,}/.test(i))return!1;if(/(?:^[ \t\n\r\0\x0B.]|[ \t\n\r\0\x0B.]$)/.test(i))return!1;const s=i.split(".");if(s.length<2)return!1;for(const t of s){if(/(?:^[ \t\n\r\0\x0B-]|[ \t\n\r\0\x0B-]$)/.test(t))return!1;if(!/^[a-z0-9-]+$/i.test(t))return!1}return!0})))throw new o(this)},p=function(t){const e=t.getAll(this.field);if(!e.every((t=>{if(""===(t=t.trim()))return!1;try{return(t=>-1!==["http","https","ftp","ftps","mailto","news","irc","irc6","ircs","gopher","nntp","feed","telnet","mms","rtsp","sms","svn","tel","fax","xmpp","webcal","urn"].indexOf(t))(new URL(t).protocol.replace(/:$/,""))}catch{return!1}})))throw new o(this)},l=function(t){if(!t.getAll(this.field).every((t=>(t=(t=t.trim()).replaceAll(/[()/.*#\s-]+/g,""),/^[+]?[0-9]+$/.test(t)))))throw new o(this)},c=function(t){if(!t.getAll(this.field).every((t=>(t=t.trim(),!!/^[-]?[0-9]+(?:[eE][+-]?[0-9]+)?$/.test(t)||!!/^[-]?(?:[0-9]+)?[.][0-9]+(?:[eE][+-]?[0-9]+)?$/.test(t)))))throw new o(this)},f=function(t){if(!t.getAll(this.field).every((t=>{if(t=t.trim(),!/^[0-9]{4,}-[0-9]{2}-[0-9]{2}$/.test(t))return!1;const e=new Date(t);return!Number.isNaN(e.valueOf())})))throw new o(this)},d=function(t){if(!t.getAll(this.field).every((t=>{const e=t.trim().match(/^([0-9]{2})\:([0-9]{2})(?:\:([0-9]{2}))?$/);if(!e)return!1;const i=parseInt(e[1]),s=parseInt(e[2]),o=e[3]?parseInt(e[3]):0;return 0<=i&&i<=23&&0<=s&&s<=59&&0<=o&&o<=59})))throw new o(this)},m=function(t){if(!t.getAll(this.field).every((t=>t instanceof File&&this.accept?.some((e=>/^\.[a-z0-9]+$/i.test(e)?t.name.toLowerCase().endsWith(e.toLowerCase()):(t=>{const e=[],i=t.match(/^(?<toplevel>[a-z]+)\/(?<sub>[*]|[a-z0-9.+-]+)$/i);if(i){const t=i.groups.toplevel.toLowerCase(),s=i.groups.sub.toLowerCase();for(const[o,n]of(()=>{const t=new Map;return t.set("jpg|jpeg|jpe","image/jpeg"),t.set("gif","image/gif"),t.set("png","image/png"),t.set("bmp","image/bmp"),t.set("tiff|tif","image/tiff"),t.set("webp","image/webp"),t.set("ico","image/x-icon"),t.set("heic","image/heic"),t.set("asf|asx","video/x-ms-asf"),t.set("wmv","video/x-ms-wmv"),t.set("wmx","video/x-ms-wmx"),t.set("wm","video/x-ms-wm"),t.set("avi","video/avi"),t.set("divx","video/divx"),t.set("flv","video/x-flv"),t.set("mov|qt","video/quicktime"),t.set("mpeg|mpg|mpe","video/mpeg"),t.set("mp4|m4v","video/mp4"),t.set("ogv","video/ogg"),t.set("webm","video/webm"),t.set("mkv","video/x-matroska"),t.set("3gp|3gpp","video/3gpp"),t.set("3g2|3gp2","video/3gpp2"),t.set("txt|asc|c|cc|h|srt","text/plain"),t.set("csv","text/csv"),t.set("tsv","text/tab-separatedLine truncated
+2
View File
@@ -0,0 +1,2 @@
/*! jQuery Migrate v3.4.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */
"undefined"==typeof jQuery.migrateMute&&(jQuery.migrateMute=!0),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],function(e){return t(e,window)}):"object"==typeof module&&module.exports?module.exports=t(require("jquery"),window):t(jQuery,window)}(function(s,n){"use strict";function e(e){return 0<=function(e,t){for(var r=/^(\d+)\.(\d+)\.(\d+)/,n=r.exec(e)||[],o=r.exec(t)||[],a=1;a<=3;a++){if(+o[a]<+n[a])return 1;if(+n[a]<+o[a])return-1}return 0}(s.fn.jquery,e)}s.migrateVersion="3.4.1";var t=Object.create(null);s.migrateDisablePatches=function(){for(var e=0;e<arguments.length;e++)t[arguments[e]]=!0},s.migrateEnablePatches=function(){for(var e=0;e<arguments.length;e++)delete t[arguments[e]]},s.migrateIsPatchEnabled=function(e){return!t[e]},n.console&&n.console.log&&(s&&e("3.0.0")&&!e("5.0.0")||n.console.log("JQMIGRATE: jQuery 3.x-4.x REQUIRED"),s.migrateWarnings&&n.console.log("JQMIGRATE: Migrate plugin loaded multiple times"),n.console.log("JQMIGRATE: Migrate is installed"+(s.migrateMute?"":" with logging active")+", version "+s.migrateVersion));var o={};function u(e,t){var r=n.console;!s.migrateIsPatchEnabled(e)||s.migrateDeduplicateWarnings&&o[t]||(o[t]=!0,s.migrateWarnings.push(t+" ["+e+"]"),r&&r.warn&&!s.migrateMute&&(r.warn("JQMIGRATE: "+t),s.migrateTrace&&r.trace&&r.trace()))}function r(e,t,r,n,o){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return u(n,o),r},set:function(e){u(n,o),r=e}})}function a(e,t,r,n,o){var a=e[t];e[t]=function(){return o&&u(n,o),(s.migrateIsPatchEnabled(n)?r:a||s.noop).apply(this,arguments)}}function c(e,t,r,n,o){if(!o)throw new Error("No warning message provided");return a(e,t,r,n,o),0}function i(e,t,r,n){return a(e,t,r,n),0}s.migrateDeduplicateWarnings=!0,s.migrateWarnings=[],void 0===s.migrateTrace&&(s.migrateTrace=!0),s.migrateReset=function(){o={},s.migrateWarnings.length=0},"BackCompat"===n.document.compatMode&&u("quirks","jQuery is not compatible with Quirks Mode");var d,l,p,f={},m=s.fn.init,y=s.find,h=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,g=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g,v=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;for(d in i(s.fn,"init",function(e){var t=Array.prototype.slice.call(arguments);return s.migrateIsPatchEnabled("selector-empty-id")&&"string"==typeof e&&"#"===e&&(u("selector-empty-id","jQuery( '#' ) is not a valid selector"),t[0]=[]),m.apply(this,t)},"selector-empty-id"),s.fn.init.prototype=s.fn,i(s,"find",function(t){var r=Array.prototype.slice.call(arguments);if("string"==typeof t&&h.test(t))try{n.document.querySelector(t)}catch(e){t=t.replace(g,function(e,t,r,n){return"["+t+r+'"'+n+'"]'});try{n.document.querySelector(t),u("selector-hash","Attribute selector with '#' must be quoted: "+r[0]),r[0]=t}catch(e){u("selector-hash","Attribute selector with '#' was not fixed: "+r[0])}}return y.apply(this,r)},"selector-hash"),y)Object.prototype.hasOwnProperty.call(y,d)&&(s.find[d]=y[d]);c(s.fn,"size",function(){return this.length},"size","jQuery.fn.size() is deprecated and removed; use the .length property"),c(s,"parseJSON",function(){return JSON.parse.apply(null,arguments)},"parseJSON","jQuery.parseJSON is deprecated; use JSON.parse"),c(s,"holdReady",s.holdReady,"holdReady","jQuery.holdReady is deprecated"),c(s,"unique",s.uniqueSort,"unique","jQuery.unique is deprecated; use jQuery.uniqueSort"),r(s.expr,"filters",s.expr.pseudos,"expr-pre-pseudos","jQuery.expr.filters is deprecated; use jQuery.expr.pseudos"),r(s.expr,":",s.expr.pseudos,"expr-pre-pseudos","jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos"),e("3.1.1")&&c(s,"trim",function(e){return null==e?"":(e+"").replace(v,"$1")},"trim","jQuery.trim is deprecated; use String.prototype.trim"),e("3.2.0")&&(c(s,"nodeName",function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},"nodeName","jQuery.nodeName is deprecated"),c(s,"isArray",Array.isArray,"isArray","jQuery.isArray is deprecated; use Array.isArray")),e("3.3.0")&&(c(s,"isNumeric",function(e){var t=typeof e;return("number"==t||"string"==t)&&!isNaN(e-parseFloat(e))},"isNumeric","jQuery.isNumeric() is deprecated"),s.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){f["[object "+t+"]"]=t.toLowerCase()}),c(s,"type",function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?f[Object.prototype.toString.call(e)]||"object":typeof e},"type","jQuery.type is deprecated"),c(s,"isFunction",function(e){return"function"==typeof e},"isFunction","jQuery.isFunction() is deprecated"),c(s,"isWindow",function(e){return null!=e&&e===e.window},"isWindow","jQuery.isWindow() is deprecated")),s.ajax&&(l=s.ajax,p=/(=)\?(?=&|$)|\?\?/,i(s,"ajax",function(){var e=l.apply(this,arguments);return e.promise&&(c(e,"success",e.done,"jqXHR-methods","jQXHR.success is deprecated and removed"),c(e,"error",e.fail,"jqXHR-methods","jQXHR.error is deprecated and removed"),c(e,"complete",e.always,"jqXHR-mLine truncated
+14
View File
@@ -0,0 +1,14 @@
/*!
* jQuery blockUI plugin
* Version 2.70.0-2014.11.23
* Requires jQuery v1.7 or later
*
* Examples at: http://malsup.com/jquery/block/
* Copyright (c) 2007-2013 M. Alsup
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Thanks to Amir-Hossein Sobhi for some excellent contributions!
*/
!function(){"use strict";function e(e){e.fn._fadeIn=e.fn.fadeIn;var t=e.noop||function(){},o=/MSIE/.test(navigator.userAgent),n=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent),i=(document.documentMode,"function"==typeof document.createElement("div").style.setExpression&&document.createElement("div").style.setExpression);e.blockUI=function(e){d(window,e)},e.unblockUI=function(e){a(window,e)},e.growlUI=function(t,o,n,i){var s=e('<div class="growlUI"></div>');t&&s.append("<h1>"+t+"</h1>"),o&&s.append("<h2>"+o+"</h2>"),n===undefined&&(n=3e3);var l=function(t){t=t||{},e.blockUI({message:s,fadeIn:"undefined"!=typeof t.fadeIn?t.fadeIn:700,fadeOut:"undefined"!=typeof t.fadeOut?t.fadeOut:1e3,timeout:"undefined"!=typeof t.timeout?t.timeout:n,centerY:!1,showOverlay:!1,onUnblock:i,css:e.blockUI.defaults.growlCSS})};l();s.css("opacity");s.on("mouseover",function(){l({fadeIn:0,timeout:3e4});var t=e(".blockMsg");t.stop(),t.fadeTo(300,1)}).on("mouseout",function(){e(".blockMsg").fadeOut(1e3)})},e.fn.block=function(t){if(this[0]===window)return e.blockUI(t),this;var o=e.extend({},e.blockUI.defaults,t||{});return this.each(function(){var t=e(this);o.ignoreIfBlocked&&t.data("blockUI.isBlocked")||t.unblock({fadeOut:0})}),this.each(function(){"static"==e.css(this,"position")&&(this.style.position="relative",e(this).data("blockUI.static",!0)),this.style.zoom=1,d(this,t)})},e.fn.unblock=function(t){return this[0]===window?(e.unblockUI(t),this):this.each(function(){a(this,t)})},e.blockUI.version=2.7,e.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1};var s=null,l=[];function d(d,c){var u,b,h=d==window,k=c&&c.message!==undefined?c.message:undefined;if(!(c=e.extend({},e.blockUI.defaults,c||{})).ignoreIfBlocked||!e(d).data("blockUI.isBlocked")){if(c.overlayCSS=e.extend({},e.blockUI.defaults.overlayCSS,c.overlayCSS||{}),u=e.extend({},e.blockUI.defaults.css,c.css||{}),c.onOverlayClick&&(c.overlayCSS.cursor="pointer"),b=e.extend({},e.blockUI.defaults.themedCSS,c.themedCSS||{}),k=k===undefined?c.message:k,h&&s&&a(window,{fadeOut:0}),k&&"string"!=typeof k&&(k.parentNode||k.jquery)){var y=k.jquery?k[0]:k,m={};e(d).data("blockUI.history",m),m.el=y,m.parent=y.parentNode,m.display=y.style.display,m.position=y.style.position,m.parent&&m.parent.removeChild(y)}e(d).data("blockUI.onUnblock",c.onUnblock);var g,v,I,w,U=c.baseZ;g=o||c.forceIframe?e('<iframe class="blockUI" style="z-index:'+U+++';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+c.iframeSrc+'"></iframe>'):e('<div class="blockUI" style="display:none"></div>'),v=c.theme?e('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+U+++';display:none"></div>'):e('<div class="blockUI blockOverlay" style="z-index:'+U+++';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'),c.theme&&h?(w='<div class="blockUI '+c.blockMsgClass+' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(U+10)+';display:none;position:fixed">',c.title&&(w+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(c.title||"&nbsp;")+"</div>"),w+='<div class="ui-widget-content ui-dialog-content"></div>',w+="</div>"):c.theme?(w='<div class="blockUI '+c.blockMsgClass+' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(U+10)+';display:none;position:absolute">',c.title&&(w+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(c.title||"&nbsp;")+"</div>"),w+='<div class="ui-widget-content ui-dialog-content"></div>',w+="</div>"):w=h?'<div class="blockUI '+c.blockMsgClass+' blockPage" style="z-index:'+(U+10)+';display:none;position:fixed"></div>':'<div class="blockUI '+c.blockMsgClass+' blockElement" style="z-index:'+(U+10)+';display:none;position:absolute"></div>',I=e(w),k&&(c.theme?(I.css(b),I.addClass("ui-widget-content")):I.css(u)),c.theme||v.css(c.overlayCSS),v.css("position",h?"fixed":"absolute"),(o||c.forceIframe)&&g.css("opacity",0);var x=[g,v,I],C=e(h?"body":d);e.each(x,function(){thiLine truncated
+11
View File
@@ -0,0 +1,11 @@
/*!
* Masonry v2 shim
* to maintain backwards compatibility
* as of Masonry v3.1.2
*
* Cascading grid layout library
* http://masonry.desandro.com
* MIT License
* by David DeSandro
*/
!function(a){"use strict";var b=a.Masonry;b.prototype._remapV2Options=function(){this._remapOption("gutterWidth","gutter"),this._remapOption("isResizable","isResizeBound"),this._remapOption("isRTL","isOriginLeft",function(a){return!a});var a=this.options.isAnimated;if(void 0!==a&&(this.options.transitionDuration=a?this.options.transitionDuration:0),void 0===a||a){var b=this.options.animationOptions,c=b&&b.duration;c&&(this.options.transitionDuration="string"==typeof c?c:c+"ms")}},b.prototype._remapOption=function(a,b,c){var d=this.options[a];void 0!==d&&(this.options[b]=c?c(d):d)};var c=b.prototype._create;b.prototype._create=function(){var a=this;this._remapV2Options(),c.apply(this,arguments),setTimeout(function(){jQuery(a.element).addClass("masonry")},0)};var d=b.prototype.layout;b.prototype.layout=function(){this._remapV2Options(),d.apply(this,arguments)};var e=b.prototype.option;b.prototype.option=function(){e.apply(this,arguments),this._remapV2Options()};var f=b.prototype._itemize;b.prototype._itemize=function(a){var b=f.apply(this,arguments);return jQuery(a).addClass("masonry-brick"),b};var g=b.prototype.measureColumns;b.prototype.measureColumns=function(){var a=this.options.columnWidth;a&&"function"==typeof a&&(this.getContainerWidth(),this.columnWidth=a(this.containerWidth)),g.apply(this,arguments)},b.prototype.reload=function(){this.reloadItems.apply(this,arguments),this.layout.apply(this)};var h=b.prototype.destroy;b.prototype.destroy=function(){var a=this.getItemElements();jQuery(this.element).removeClass("masonry"),jQuery(a).removeClass("masonry-brick"),h.apply(this,arguments)}}(window);
+6
View File
@@ -0,0 +1,6 @@
/**
* jquery-match-height master by @liabru
* http://brm.io/jquery-match-height/
* License: MIT
*/
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):t(jQuery)}(function(t){var e=-1,o=-1,a=function(t){return parseFloat(t)||0},i=function(e){var o=1,i=t(e),n=null,r=[];return i.each(function(){var e=t(this),i=e.offset().top-a(e.css("margin-top")),s=r.length>0?r[r.length-1]:null;null===s?r.push(e):Math.floor(Math.abs(n-i))<=o?r[r.length-1]=s.add(e):r.push(e),n=i}),r},n=function(e){var o={byRow:!0,property:"height",target:null,remove:!1};return"object"==typeof e?t.extend(o,e):("boolean"==typeof e?o.byRow=e:"remove"===e&&(o.remove=!0),o)},r=t.fn.matchHeight=function(e){var o=n(e);if(o.remove){var a=this;return this.css(o.property,""),t.each(r._groups,function(t,e){e.elements=e.elements.not(a)}),this}return this.length<=1&&!o.target?this:(r._groups.push({elements:this,options:o}),r._apply(this,o),this)};r.version="master",r._groups=[],r._throttle=80,r._maintainScroll=!1,r._beforeUpdate=null,r._afterUpdate=null,r._rows=i,r._parse=a,r._parseOptions=n,r._apply=function(e,o){var s=n(o),h=t(e),l=[h],c=t(window).scrollTop(),p=t("html").outerHeight(!0),d=h.parents().filter(":hidden");return d.each(function(){var e=t(this);e.data("style-cache",e.attr("style"))}),d.css("display","block"),s.byRow&&!s.target&&(h.each(function(){var e=t(this),o=e.css("display");"inline-block"!==o&&"flex"!==o&&"inline-flex"!==o&&(o="block"),e.data("style-cache",e.attr("style")),e.css({display:o,"padding-top":"0","padding-bottom":"0","margin-top":"0","margin-bottom":"0","border-top-width":"0","border-bottom-width":"0",height:"100px",overflow:"hidden"})}),l=i(h),h.each(function(){var e=t(this);e.attr("style",e.data("style-cache")||"")})),t.each(l,function(e,o){var i=t(o),n=0;if(s.target)n=s.target.outerHeight(!1);else{if(s.byRow&&i.length<=1)return void i.css(s.property,"");i.each(function(){var e=t(this),o=e.attr("style"),a=e.css("display");"inline-block"!==a&&"flex"!==a&&"inline-flex"!==a&&(a="block");var i={display:a};i[s.property]="",e.css(i),e.outerHeight(!1)>n&&(n=e.outerHeight(!1)),o?e.attr("style",o):e.css("display","")})}i.each(function(){var e=t(this),o=0;s.target&&e.is(s.target)||("border-box"!==e.css("box-sizing")&&(o+=a(e.css("border-top-width"))+a(e.css("border-bottom-width")),o+=a(e.css("padding-top"))+a(e.css("padding-bottom"))),e.css(s.property,n-o+"px"))})}),d.each(function(){var e=t(this);e.attr("style",e.data("style-cache")||null)}),r._maintainScroll&&t(window).scrollTop(c/p*t("html").outerHeight(!0)),this},r._applyDataApi=function(){var e={};t("[data-match-height], [data-mh]").each(function(){var o=t(this),a=o.attr("data-mh")||o.attr("data-match-height");a in e?e[a]=e[a].add(o):e[a]=o}),t.each(e,function(){this.matchHeight(!0)})};var s=function(e){r._beforeUpdate&&r._beforeUpdate(e,r._groups),t.each(r._groups,function(){r._apply(this.elements,this.options)}),r._afterUpdate&&r._afterUpdate(e,r._groups)};r._update=function(a,i){if(i&&"resize"===i.type){var n=t(window).width();if(n===e)return;e=n}a?o===-1&&(o=setTimeout(function(){s(i),o=-1},r._throttle)):s(i)},t(r._applyDataApi),t(window).bind("load",function(t){r._update(!1,t)}),t(window).bind("resize orientationchange",function(t){r._update(!0,t)})});
+3
View File
@@ -0,0 +1,3 @@
/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}function fe(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}ce.fn=ce.prototype={jquery:t,constructor:ce,length:0,toArray:function(){return ae.call(this)},get:function(e){return null==e?ae.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=ce.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return ce.each(this,e)},map:function(n){return this.pushStack(ce.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(ae.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(ce.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(ce.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:oe.sort,splice:oe.splice},ce.extend=ce.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||v(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(ce.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||ce.isPlainObject(n)?n:{},i=!1,a[t]=ce.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},ce.extend({expando:"jQuery"+(t+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==i.call(e))&&(!(t=r(e))||"function"==typeof(n=ue.call(t,"constructor")&&t.constructor)&&o.call(n)===a)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){m(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(c(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},text:function(e){var t,n="",r=0,i=e.nodeType;if(!i)while(t=e[r++])n+=ce.text(t);return 1===i||11===i?e.textContent:9===i?e.documentElement.textContent:3===i||4===i?e.nodeValue:n},makeArray:function(e,t){var n=t||[];return null!=e&&(c(Object(e))?ce.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:se.call(t,e,n)},isXMLDoc:function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!l.test(t||n&&n.nodeName||"HTML")},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(c(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:le}),"function"==typeof Symbol&&(ce.fn[Symbol.iterator]=oe[Symbol.iterator]),ce.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var pe=oe.pop,de=oe.sort,he=oe.splice,ge="[\\x20\\t\\r\\n\\f]",ve=new RegExp("^"+ge+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ge+"+$","g");ce.contains=function(e,t){var n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(e.contains?e.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))};var f=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function p(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e}ce.escapeSelector=function(e){return(e+"").replace(f,p)};var ye=C,me=s;!function(){var e,b,w,o,a,T,r,C,d,i,k=me,S=ce.expando,E=0,n=0,s=W(),c=W(),u=W(),h=W(),l=function(e,t){return e===t&&(a=!0),0},f="checked|selected|async|autofocus|autoplay|conLine truncated
jQuery.noConflict();
+2
View File
@@ -0,0 +1,2 @@
/* jquery.nicescroll v3.7.6 InuYaksa - MIT - https://nicescroll.areaaperta.com */
!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e(require("jquery")):e(jQuery)}(function(e){"use strict";var o=!1,t=!1,r=0,i=2e3,s=0,n=e,l=document,a=window,c=n(a),d=[],u=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||!1,h=a.cancelAnimationFrame||a.webkitCancelAnimationFrame||a.mozCancelAnimationFrame||!1;if(u)a.cancelAnimationFrame||(h=function(e){});else{var p=0;u=function(e,o){var t=(new Date).getTime(),r=Math.max(0,16-(t-p)),i=a.setTimeout(function(){e(t+r)},r);return p=t+r,i},h=function(e){a.clearTimeout(e)}}var m=a.MutationObserver||a.WebKitMutationObserver||!1,f=Date.now||function(){return(new Date).getTime()},g={zindex:"auto",cursoropacitymin:0,cursoropacitymax:1,cursorcolor:"#424242",cursorwidth:"6px",cursorborder:"1px solid #fff",cursorborderradius:"5px",scrollspeed:40,mousescrollstep:27,touchbehavior:!1,emulatetouch:!1,hwacceleration:!0,usetransition:!0,boxzoom:!1,dblclickzoom:!0,gesturezoom:!0,grabcursorenabled:!0,autohidemode:!0,background:"",iframeautoresize:!0,cursorminheight:32,preservenativescrolling:!0,railoffset:!1,railhoffset:!1,bouncescroll:!0,spacebarenabled:!0,railpadding:{top:0,right:0,left:0,bottom:0},disableoutline:!0,horizrailenabled:!0,railalign:"right",railvalign:"bottom",enabletranslate3d:!0,enablemousewheel:!0,enablekeyboard:!0,smoothscroll:!0,sensitiverail:!0,enablemouselockapi:!0,cursorfixedheight:!1,directionlockdeadzone:6,hidecursordelay:400,nativeparentscrolling:!0,enablescrollonselection:!0,overflowx:!0,overflowy:!0,cursordragspeed:.3,rtlmode:"auto",cursordragontouch:!1,oneaxismousemode:"auto",scriptpath:function(){var e=l.currentScript||function(){var e=l.getElementsByTagName("script");return!!e.length&&e[e.length-1]}(),o=e?e.src.split("?")[0]:"";return o.split("/").length>0?o.split("/").slice(0,-1).join("/")+"/":""}(),preventmultitouchscrolling:!0,disablemutationobserver:!1,enableobserver:!0,scrollbarid:!1},v=!1,w=function(){if(v)return v;var e=l.createElement("DIV"),o=e.style,t=navigator.userAgent,r=navigator.platform,i={};return i.haspointerlock="pointerLockElement"in l||"webkitPointerLockElement"in l||"mozPointerLockElement"in l,i.isopera="opera"in a,i.isopera12=i.isopera&&"getUserMedia"in navigator,i.isoperamini="[object OperaMini]"===Object.prototype.toString.call(a.operamini),i.isie="all"in l&&"attachEvent"in e&&!i.isopera,i.isieold=i.isie&&!("msInterpolationMode"in o),i.isie7=i.isie&&!i.isieold&&(!("documentMode"in l)||7===l.documentMode),i.isie8=i.isie&&"documentMode"in l&&8===l.documentMode,i.isie9=i.isie&&"performance"in a&&9===l.documentMode,i.isie10=i.isie&&"performance"in a&&10===l.documentMode,i.isie11="msRequestFullscreen"in e&&l.documentMode>=11,i.ismsedge="msCredentials"in a,i.ismozilla="MozAppearance"in o,i.iswebkit=!i.ismsedge&&"WebkitAppearance"in o,i.ischrome=i.iswebkit&&"chrome"in a,i.ischrome38=i.ischrome&&"touchAction"in o,i.ischrome22=!i.ischrome38&&i.ischrome&&i.haspointerlock,i.ischrome26=!i.ischrome38&&i.ischrome&&"transition"in o,i.cantouch="ontouchstart"in l.documentElement||"ontouchstart"in a,i.hasw3ctouch=(a.PointerEvent||!1)&&(navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0),i.hasmstouch=!i.hasw3ctouch&&(a.MSPointerEvent||!1),i.ismac=/^mac$/i.test(r),i.isios=i.cantouch&&/iphone|ipad|ipod/i.test(r),i.isios4=i.isios&&!("seal"in Object),i.isios7=i.isios&&"webkitHidden"in l,i.isios8=i.isios&&"hidden"in l,i.isios10=i.isios&&a.Proxy,i.isandroid=/android/i.test(t),i.haseventlistener="addEventListener"in e,i.trstyle=!1,i.hastransform=!1,i.hastranslate3d=!1,i.transitionstyle=!1,i.hastransition=!1,i.transitionend=!1,i.trstyle="transform",i.hastransform="transform"in o||function(){for(var e=["msTransform","webkitTransform","MozTransform","OTransform"],t=0,r=e.length;t<r;t++)if(void 0!==o[e[t]]){i.trstyle=e[t];break}i.hastransform=!!i.trstyle}(),i.hastransform&&(o[i.trstyle]="translate3d(1px,2px,3px)",i.hastranslate3d=/translate3d/.test(o[i.trstyle])),i.transitionstyle="transition",i.prefixstyle="",i.transitionend="transitionend",i.hastransition="transition"in o||function(){i.transitionend=!1;for(var e=["webkitTransition","msTransition","MozTransition","OTransition","OTransition","KhtmlTransition"],t=["-webkit-","-ms-","-moz-","-o-","-o","-khtml-"],r=["webkitTransitionEnd","msTransitionEnd","transitionend","otransitionend","oTransitionEnd","KhtmlTransitionEnd"],s=0,n=e.length;s<n;s++)if(e[s]in o){i.transitionstyle=e[s],i.prefixstyle=t[s],i.transitionend=r[s];break}i.ischrome26&&(i.prefixstyle=t[1]),i.hastransition=i.transitionstyle}(),i.cursorgrabvalue=function(){var e=["grab","-webkit-grab","-moz-grab"];(i.ischrome&&!i.ischrome38||i.isie)&&(e=[]);for(var t=0,r=e.length;t<r;t++){var s=e[t];if(o.cursor=s,o.cursor==s)return s}return"url(https://cdnjs.cloudflare.com/ajax/libs/slider-pro/1.3.0/css/images/openhand.cur),n-resize"}(),i.hasmousecapture="setCapture"in e,i.hasMutationObserver=!1!==m,e=null,v=i,i},b=function(e,p){function v(){var e=TLine truncated
+238
View File
@@ -0,0 +1,238 @@
/**
* jQuery plugin paroller.js v1.4.7
* https://github.com/tgomilar/paroller.js
* preview: https://tgomilar.github.io/paroller/
* author: Tanja Gomilar
**/
(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
define('parollerjs', ['jquery'], factory);
} else if (typeof module === 'object' && typeof module.exports === 'object') {
module.exports = factory(require('jquery'));
}
else {
factory(jQuery);
}
})(function ($) {
'use strict';
var working = false;
var scrollAction = function() {
working = false;
};
var setDirection = {
bgVertical: function (elem, bgOffset) {
return elem.css({'background-position': 'center ' + -bgOffset + 'px'});
},
bgHorizontal: function (elem, bgOffset) {
return elem.css({'background-position': -bgOffset + 'px' + ' center'});
},
vertical: function (elem, elemOffset, transition, oldTransform) {
(oldTransform === 'none' ? oldTransform = '' : true);
return elem.css({
'-webkit-transform': 'translateY(' + elemOffset + 'px)' + oldTransform,
'-moz-transform': 'translateY(' + elemOffset + 'px)' + oldTransform,
'transform': 'translateY(' + elemOffset + 'px)' + oldTransform,
'transition': transition,
'will-change': 'transform'
});
},
horizontal: function (elem, elemOffset, transition, oldTransform) {
(oldTransform === 'none' ? oldTransform = '' : true);
return elem.css({
'-webkit-transform': 'translateX(' + elemOffset + 'px)' + oldTransform,
'-moz-transform': 'translateX(' + elemOffset + 'px)' + oldTransform,
'transform': 'translateX(' + elemOffset + 'px)' + oldTransform,
'transition': transition,
'will-change': 'transform'
});
}
};
var setMovement = {
factor: function (elem, width, options) {
var dataFactor = elem.data('paroller-factor');
var factor = (dataFactor) ? dataFactor : options.factor;
if (width < 576) {
var dataFactorXs = elem.data('paroller-factor-xs');
var factorXs = (dataFactorXs) ? dataFactorXs : options.factorXs;
return (factorXs) ? factorXs : factor;
}
else if (width <= 768) {
var dataFactorSm = elem.data('paroller-factor-sm');
var factorSm = (dataFactorSm) ? dataFactorSm : options.factorSm;
return (factorSm) ? factorSm : factor;
}
else if (width <= 1024) {
var dataFactorMd = elem.data('paroller-factor-md');
var factorMd = (dataFactorMd) ? dataFactorMd : options.factorMd;
return (factorMd) ? factorMd : factor;
}
else if (width <= 1200) {
var dataFactorLg = elem.data('paroller-factor-lg');
var factorLg = (dataFactorLg) ? dataFactorLg : options.factorLg;
return (factorLg) ? factorLg : factor;
} else if (width <= 1920) {
var dataFactorXl = elem.data('paroller-factor-xl');
var factorXl = (dataFactorXl) ? dataFactorXl : options.factorXl;
return (factorXl) ? factorXl : factor;
} else {
return factor;
}
},
bgOffset: function (offset, factor) {
return Math.round(offset * factor);
},
transform: function (offset, factor, windowHeight, height) {
return Math.round((offset - (windowHeight / 2) + height) * factor);
}
};
var clearPositions = {
background: function (elem) {
return elem.css({'background-position': 'unset'});
},
foreground: function (elem) {
return elem.css({
'transform' : 'unset',
'transition' : 'unset'
});
}
};
$.fn.paroller = function (options) {
var windowHeight = $(window).height();
var documentHeight = $(document).height();
// default options
var options = $.extend({
factor: 0, // - to +
factorXs: 0, // - to +
factorSm: 0, // - to +
factorMd: 0, // - to +
factorLg: 0, // - to +
factorXl: 0, // - to +
transition: 'translate 0.1s ease', // CSS transition
type: 'background', // foreground
direction: 'vertical', // horizontal
offsetVal : 0, // horizontal
}, options);
return this.each(function () {
var $this = $(this);
var width = $(window).width();
var offset = $this.offset().top;
var height = $this.outerHeight();
var dataType = $this.data('paroller-type');
var dataDirection = $this.data('paroller-direction');
var dataTransition = $this.data('paroller-transition');
var oldTransform = $this.css('transform');
var offsetVal = parseInt($this.data('offset'));
var transition = (dataTransition) ? dataTransition : options.transition;
var type = (dataType) ? dataType : options.type;
var direction = (dataDirection) ? dataDirection : options.direction;
var factor = 0;
var bgOffset = setMovement.bgOffset(offset, factor);
var transform = setMovement.transform(offset, factor, windowHeight, height);
if (type === 'background') {
if (direction === 'vertical') {
setDirection.bgVertical($this, bgOffset);
}
else if (direction === 'horizontal') {
setDirection.bgHorizontal($this, bgOffset);
}
}
else if (type === 'foreground') {
if (direction === 'vertical') {
setDirection.vertical($this, transform, transition, oldTransform);
}
else if (direction === 'horizontal') {
setDirection.horizontal($this, transform, transition, oldTransform);
}
}
$(window).on('resize', function () {
var scrolling = $(this).scrollTop();
width = $(window).width();
offset = $this.offset().top;
height = $this.outerHeight();
factor = setMovement.factor($this, width, options);
bgOffset = Math.round(offset * factor);
transform = Math.round((offset - (windowHeight / 2) + height) * factor);
/*if ( offsetVal != 0 )*/
offset = offset - 400;
if (! working) {
window.requestAnimationFrame(scrollAction);
working = true;
}
if (type === 'background') {
clearPositions.background($this);
if (direction === 'vertical') {
setDirection.bgVertical($this, bgOffset);
}
else if (direction === 'horizontal') {
setDirection.bgHorizontal($this, bgOffset);
}
}
else if ((type === 'foreground') && (scrolling <= documentHeight)) {
clearPositions.foreground($this);
if (direction === 'vertical') {
setDirection.vertical($this, transform, transition);
}
else if (direction === 'horizontal') {
setDirection.horizontal($this, transform, transition);
}
}
});
$(window).on('scroll', function () {
var scrolling = $(this).scrollTop();
var scrollTop = $(document).scrollTop();
if (scrollTop === 0) {
factor = 0;
} else {
factor = setMovement.factor($this, width, options);
}
bgOffset = Math.round((offset - scrolling) * factor);
transform = Math.round(((offset - (windowHeight / 2) + height) - scrolling) * factor);
if (! working) {
window.requestAnimationFrame(scrollAction);
working = true;
}
if (type === 'background') {
if (direction === 'vertical') {
setDirection.bgVertical($this, bgOffset);
}
else if (direction === 'horizontal') {
setDirection.bgHorizontal($this, bgOffset);
}
}
else if ((type === 'foreground') && (scrolling <= documentHeight)) {
if (direction === 'vertical') {
setDirection.vertical($this, transform, transition, oldTransform);
}
else if (direction === 'horizontal') {
setDirection.horizontal($this, transform, transition, oldTransform);
}
}
});
});
};
});
+75
View File
@@ -0,0 +1,75 @@
!(function (r) {
"use strict";
"object" == typeof module && "object" == typeof module.exports ? (module.exports = r(require("jquery"))) : r(jQuery);
})(function ($) {
"use strict";
var r = {
bgVertical: function (r, t) {
return r.css({ "background-position": "center " + -t + "px" });
},
bgHorizontal: function (r, t) {
return r.css({ "background-position": -t + "px center" });
},
vertical: function (r, t, o) {
return (
"none" === o ? (o = "") : !0,
r.css({ "-webkit-transform": "translateY(" + t + "px)" + o, "-moz-transform": "translateY(" + t + "px)" + o, transform: "translateY(" + t + "px)" + o, transition: "transform linear", "will-change": "transform" })
);
},
horizontal: function (r, t, o) {
return (
"none" === o ? (o = "") : !0,
r.css({ "-webkit-transform": "translateX(" + t + "px)" + o, "-moz-transform": "translateX(" + t + "px)" + o, transform: "translateX(" + t + "px)" + o, transition: "transform linear", "will-change": "transform" })
);
},
};
$.fn.paroller = function (t) {
var o = $(window).height(),
n = $(document).height(),
t = $.extend({ factor: 0, type: "background", direction: "vertical" }, t);
return this.each(function () {
var a = !1,
e = $(this),
i = e.offset().top,
c = e.outerHeight(),
l = e.data("paroller-factor"),
s = e.data("paroller-type"),
u = e.data("paroller-direction"),
offVal = e.data("paroller-offset"),
f = l ? l : t.factor,
d = s ? s : t.type,
h = u ? u : t.direction,
p = Math.round(i * f),
g = Math.round((i - o / 2 + c) * f),
m = e.css("transform");
"background" == d ? ("vertical" == h ? r.bgVertical(e, p) : "horizontal" == h && r.bgHorizontal(e, p)) : "foreground" == d && ("vertical" == h ? r.vertical(e, g, m) : "horizontal" == h && r.horizontal(e, g, m));
var b = function () {
a = !1;
};
if (typeof offVal !== 'undefined') {
i = parseInt(offVal);
}
$(window)
.on("scroll", function () {
if (!a) {
var t = $(this).scrollTop();
(n = $(document).height()),
(p = Math.round((i - t) * f)),
(g = Math.round((i - o / 2 + c - t) * f)),
"background" == d
? "vertical" == h
? r.bgVertical(e, p)
: "horizontal" == h && r.bgHorizontal(e, p)
: "foreground" == d && n >= t && ("vertical" == h ? r.vertical(e, g, m) : "horizontal" == h && r.horizontal(e, g, m)),
window.requestAnimationFrame(b),
(a = !0);
}
})
.trigger("scroll");
});
};
});
+1
View File
@@ -0,0 +1 @@
!function(t){function e(){var t=location.href;return hashtag=-1!==t.indexOf("#prettyPhoto")&&decodeURI(t.substring(t.indexOf("#prettyPhoto")+1,t.length)),hashtag&&(hashtag=hashtag.replace(/<|>/g,"")),hashtag}function i(t,e){t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var i=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(e);return null==i?"":i[1]}t.prettyPhoto={version:"3.1.6"},t.fn.prettyPhoto=function(o){o=jQuery.extend({hook:"rel",animation_speed:"fast",ajaxcallback:function(){},slideshow:5e3,autoplay_slideshow:!1,opacity:.8,show_title:!0,allow_resize:!0,allow_expand:!0,default_width:500,default_height:344,counter_separator_label:"/",theme:"pp_default",horizontal_padding:20,hideflash:!1,wmode:"opaque",autoplay:!0,modal:!1,deeplinking:!0,overlay_gallery:!0,overlay_gallery_max:30,keyboard_shortcuts:!0,changepicturecallback:function(){},callback:function(){},ie6_fallback:!0,markup:'<div class="pp_pic_holder"> \t\t\t\t\t\t<div class="ppt">&nbsp;</div> \t\t\t\t\t\t<div class="pp_top"> \t\t\t\t\t\t\t<div class="pp_left"></div> \t\t\t\t\t\t\t<div class="pp_middle"></div> \t\t\t\t\t\t\t<div class="pp_right"></div> \t\t\t\t\t\t</div> \t\t\t\t\t\t<div class="pp_content_container"> \t\t\t\t\t\t\t<div class="pp_left"> \t\t\t\t\t\t\t<div class="pp_right"> \t\t\t\t\t\t\t\t<div class="pp_content"> \t\t\t\t\t\t\t\t\t<div class="pp_loaderIcon"></div> \t\t\t\t\t\t\t\t\t<div class="pp_fade"> \t\t\t\t\t\t\t\t\t\t<a href="#" class="pp_expand" title="Expand the image">Expand</a> \t\t\t\t\t\t\t\t\t\t<div class="pp_hoverContainer"> \t\t\t\t\t\t\t\t\t\t\t<a class="pp_next" href="#">next</a> \t\t\t\t\t\t\t\t\t\t\t<a class="pp_previous" href="#">previous</a> \t\t\t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t\t\t\t<div id="pp_full_res"></div> \t\t\t\t\t\t\t\t\t\t<div class="pp_details"> \t\t\t\t\t\t\t\t\t\t\t<div class="pp_nav"> \t\t\t\t\t\t\t\t\t\t\t\t<a href="#" class="pp_arrow_previous">Previous</a> \t\t\t\t\t\t\t\t\t\t\t\t<p class="currentTextHolder">0/0</p> \t\t\t\t\t\t\t\t\t\t\t\t<a href="#" class="pp_arrow_next">Next</a> \t\t\t\t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t\t\t\t\t<p class="pp_description"></p> \t\t\t\t\t\t\t\t\t\t\t<div class="pp_social">{pp_social}</div> \t\t\t\t\t\t\t\t\t\t\t<a class="pp_close" href="#">Close</a> \t\t\t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t</div> \t\t\t\t\t\t</div> \t\t\t\t\t\t<div class="pp_bottom"> \t\t\t\t\t\t\t<div class="pp_left"></div> \t\t\t\t\t\t\t<div class="pp_middle"></div> \t\t\t\t\t\t\t<div class="pp_right"></div> \t\t\t\t\t\t</div> \t\t\t\t\t</div> \t\t\t\t\t<div class="pp_overlay"></div>',gallery_markup:'<div class="pp_gallery"> \t\t\t\t\t\t\t\t<a href="#" class="pp_arrow_previous">Previous</a> \t\t\t\t\t\t\t\t<div> \t\t\t\t\t\t\t\t\t<ul> \t\t\t\t\t\t\t\t\t\t{gallery} \t\t\t\t\t\t\t\t\t</ul> \t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t\t<a href="#" class="pp_arrow_next">Next</a> \t\t\t\t\t\t\t</div>',image_markup:'<img id="fullResImage" src="{path}" />',flash_markup:'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="{width}" height="{height}"><param name="wmode" value="{wmode}" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{path}" /><embed src="{path}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="{width}" height="{height}" wmode="{wmode}"></embed></object>',quicktime_markup:'<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="https://www.apple.com/qtactivex/qtplugin.cab" height="{height}" width="{width}"><param name="src" value="{path}"><param name="autoplay" value="{autoplay}"><param name="type" value="video/quicktime"><embed src="{path}" height="{height}" width="{width}" autoplay="{autoplay}" type="video/quicktime" pluginspage="https://www.apple.com/quicktime/download/"></embed></object>',iframe_markup:'<iframe src ="{path}" width="{width}" height="{height}" frameborder="no"></iframe>',inline_markup:'<div class="pp_inline">{content}</div>',custom_markup:"",social_tools:'<div class="twitter"><a href="//twitter.com/share" class="twitter-share-button" data-count="none">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"><\/script></div><div class="facebook"><iframe src="//www.facebook.com/plugins/like.php?locale=en_US&href={location_href}&amp;layout=button_count&amp;show_faces=true&amp;width=500&amp;action=like&amp;font&amp;colorscheme=light&amp;height=23" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency="true"></iframe></div>'},o);var p,a,s,n,l,r,d,h=this,c=!1,_=t(window).height(),g=t(window).width();function m(){t(".pp_loaderIcon").hide(),projectedTop=scroll_pos.scrollTop+(_/2-p.containerHeight/2),projectedTop<0&&(projectedTop=0),$ppt.fadeTo(settings.animation_speed,1),$pp_pic_holder.find(".pp_content").animate({height:p.contentHeight,width:p.contentWidth},settings.animation_speed),$pp_pLine truncated
+1
View File
@@ -0,0 +1 @@
!function(r){var o=this.SelectBox=function(e,t){if(e instanceof jQuery){if(!(0<e.length))return;e=e[0]}return this.typeTimer=null,this.typeSearch="",this.isMac=navigator.platform.match(/mac/i),t="object"==typeof t?t:{},this.selectElement=e,!(!t.mobile&&navigator.userAgent.match(/iPad|iPhone|Android|IEMobile|BlackBerry/i))&&("select"===e.tagName.toLowerCase()&&void this.init(t))};o.prototype.version="1.2.0",o.prototype.init=function(t){var e=r(this.selectElement);if(e.data("selectBox-control"))return!1;var s,o,a=r('<a class="selectBox" />'),n=e.attr("multiple")||1<parseInt(e.attr("size")),l=t||{},i=parseInt(e.prop("tabindex"))||0,c=this;a.width(e.outerWidth()).addClass(e.attr("class")).attr("title",e.attr("title")||"").attr("tabindex",i).css("display","inline-block").bind("focus.selectBox",function(){this!==document.activeElement&&document.body!==document.activeElement&&r(document.activeElement).blur(),a.hasClass("selectBox-active")||(a.addClass("selectBox-active"),e.trigger("focus"))}).bind("blur.selectBox",function(){a.hasClass("selectBox-active")&&(a.removeClass("selectBox-active"),e.trigger("blur"))}),r(window).data("selectBox-bindings")||r(window).data("selectBox-bindings",!0).bind("scroll.selectBox",this.hideMenus).bind("resize.selectBox",this.hideMenus),e.attr("disabled")&&a.addClass("selectBox-disabled"),e.bind("click.selectBox",function(e){a.focus(),e.preventDefault()}),n?(t=this.getOptions("inline"),a.append(t).data("selectBox-options",t).addClass("selectBox-inline selectBox-menuShowing").bind("keydown.selectBox",function(e){c.handleKeyDown(e)}).bind("keypress.selectBox",function(e){c.handleKeyPress(e)}).bind("mousedown.selectBox",function(e){1===e.which&&(r(e.target).is("A.selectBox-inline")&&e.preventDefault(),a.hasClass("selectBox-focus")||a.focus())}).insertAfter(e),e[0].style.height||(o=e.attr("size")?parseInt(e.attr("size")):5,(n=a.clone().removeAttr("id").css({position:"absolute",top:"-9999em"}).show().appendTo("body")).find(".selectBox-options").html("<li><a> </a></li>"),s=parseInt(n.find(".selectBox-options A:first").html("&nbsp;").outerHeight()),n.remove(),a.height(s*o))):(s=r('<span class="selectBox-label" />'),o=r('<span class="selectBox-arrow" />'),s.attr("class",this.getLabelClass()).text(this.getLabelText()),(t=this.getOptions("dropdown")).appendTo("BODY"),a.data("selectBox-options",t).addClass("selectBox-dropdown").append(s).append(o).bind("mousedown.selectBox",function(e){1===e.which&&(a.hasClass("selectBox-menuShowing")?c.hideMenus():(e.stopPropagation(),t.data("selectBox-down-at-x",e.screenX).data("selectBox-down-at-y",e.screenY),c.showMenu()))}).bind("keydown.selectBox",function(e){c.handleKeyDown(e)}).bind("keypress.selectBox",function(e){c.handleKeyPress(e)}).bind("open.selectBox",function(e,t){t&&!0===t._selectBox||c.showMenu()}).bind("close.selectBox",function(e,t){t&&!0===t._selectBox||c.hideMenus()}).insertAfter(e),o=a.width()-o.outerWidth()-parseInt(s.css("paddingLeft"))||0-parseInt(s.css("paddingRight"))||0,s.width(o)),this.disableSelection(a),e.addClass("selectBox").data("selectBox-control",a).data("selectBox-settings",l).hide()},o.prototype.getOptions=function(e){var t,s=r(this.selectElement),o=this,a=function(e,t){return e.children("OPTION, OPTGROUP").each(function(){var e;r(this).is("OPTION")?0<r(this).length?o.generateOptions(r(this),t):t.append("<li> </li>"):((e=r('<li class="selectBox-optgroup" />')).text(r(this).attr("label")),t.append(e),t=a(r(this),t))}),t};switch(e){case"inline":return t=r('<ul class="selectBox-options" />'),(t=a(s,t)).find("A").bind("mouseover.selectBox",function(e){o.addHover(r(this).parent())}).bind("mouseout.selectBox",function(e){o.removeHover(r(this).parent())}).bind("mousedown.selectBox",function(e){1===e.which&&(e.preventDefault(),s.selectBox("control").hasClass("selectBox-active")||s.selectBox("control").focus())}).bind("mouseup.selectBox",function(e){1===e.which&&(o.hideMenus(),o.selectOption(r(this).parent(),e))}),this.disableSelection(t),t;case"dropdown":t=r('<ul class="selectBox-dropdown-menu selectBox-options" />'),(t=a(s,t)).data("selectBox-select",s).css("display","none").appendTo("BODY").find("A").bind("mousedown.selectBox",function(e){1===e.which&&(e.preventDefault(),e.screenX===t.data("selectBox-down-at-x")&&e.screenY===t.data("selectBox-down-at-y")&&(t.removeData("selectBox-down-at-x").removeData("selectBox-down-at-y"),o.hideMenus()))}).bind("mouseup.selectBox",function(e){1===e.which&&(e.screenX===t.data("selectBox-down-at-x")&&e.screenY===t.data("selectBox-down-at-y")||(t.removeData("selectBox-down-at-x").removeData("selectBox-down-at-y"),o.selectOption(r(this).parent()),o.hideMenus()))}).bind("mouseover.selectBox",function(e){o.addHover(r(this).parent())}).bind("mouseout.selectBox",function(e){o.removeHover(r(this).parent())});var n=s.attr("class")||"";if(""!==n)for(var l in n=n.split(" "))t.addClass(n[l]+"-selectBox-dropdown-menu");return this.disableSelection(t),t}},o.prototype.getLabelClass=function(){return("selecLine truncated
+1
View File
@@ -0,0 +1 @@
jQuery(function(d){function a(){"undefined"!=typeof d.fn.selectBox&&d("select.selectBox").filter(":visible").not(".enhanced").selectBox().addClass("enhanced")}function e(){var t,e,i,n;"undefined"!=typeof d.prettyPhoto&&(t={hook:"data-rel",social_tools:!1,theme:"pp_woocommerce",horizontal_padding:20,opacity:.8,deeplinking:!1,overlay_gallery:!1,keyboard_shortcuts:!1,default_width:500,changepicturecallback:function(){a(),d(".wishlist-select").filter(":visible").change(),d(document).trigger("yith_wcwl_popup_opened",[this])},markup:'<div class="pp_pic_holder"><div class="ppt">&nbsp;</div><div class="pp_top"><div class="pp_left"></div><div class="pp_middle"></div><div class="pp_right"></div></div><div class="pp_content_container"><div class="pp_left"><div class="pp_right"><div class="pp_content"><div class="pp_loaderIcon"></div><div class="pp_fade"><a href="#" class="pp_expand" title="Expand the image">Expand</a><div class="pp_hoverContainer"><a class="pp_next" href="#">next</a><a class="pp_previous" href="#">previous</a></div><div id="pp_full_res"></div><div class="pp_details"><a class="pp_close" href="#">Close</a></div></div></div></div></div></div><div class="pp_bottom"><div class="pp_left"></div><div class="pp_middle"></div><div class="pp_right"></div></div></div><div class="pp_overlay yith-wcwl-overlay"></div>'},d('a[data-rel^="prettyPhoto[add_to_wishlist_"]').add('a[data-rel="prettyPhoto[ask_an_estimate]"]').add('a[data-rel="prettyPhoto[create_wishlist]"]').off("click").prettyPhoto(t),d('a[data-rel="prettyPhoto[move_to_another_wishlist]"]').on("click",function(){var t=d(this),e=d("#move_to_another_wishlist").find("form"),i=e.find(".row-id"),t=t.closest("[data-row-id]").data("row-id");i.length&&i.remove(),e.append('<input type="hidden" name="row_id" class="row-id" value="'+t+'"/>')}).prettyPhoto(t),e=function(t,e){"undefined"!=typeof t.classList&&t.classList.contains("yith-wcwl-overlay")&&(e="remove"===e?"removeClass":"addClass",d("body")[e]("yith-wcwl-with-pretty-photo"))},i=function(t){e(t,"add")},n=function(t){e(t,"remove")},new MutationObserver(function(t){for(var e in t){e=t[e];"childList"===e.type&&("undefined"!=typeof e.addedNodes&&"function"==typeof e.addedNodes.forEach&&e.addedNodes.forEach(i),"undefined"!=typeof e.removedNodes&&"function"==typeof e.addedNodes.forEach&&e.removedNodes.forEach(n))}}).observe(document.body,{childList:!0}))}function i(){d(".wishlist_table").find('.product-checkbox input[type="checkbox"]').off("change").on("change",function(){var t=d(this);t.parent().removeClass("checked").removeClass("unchecked").addClass(t.is(":checked")?"checked":"unchecked")}).trigger("change")}function n(){d(".add_to_cart").filter("[data-icon]").not(".icon-added").each(function(){var t=d(this),e=t.data("icon"),e=e.match(/[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)?/gi)?d("<img/>",{src:e}):d("<i/>",{"class":"fa "+e});t.prepend(e).addClass("icon-added")})}function c(){a(),e(),i(),n(),r(),o(),f(),_(),h(),w(),d(document).trigger("yith_wcwl_init_after_ajax")}function o(){yith_wcwl_l10n.enable_tooltip&&d(".yith-wcwl-add-to-wishlist").find("[data-title]").each(function(){var t=d(this);t.hasClass("tooltip-added")||(t.on("mouseenter",function(){var t,e=d(this),i=null,n=e.outerWidth(),a=0,i=d("<span>",{"class":"yith-wcwl-tooltip",text:e.data("title")});e.append(i),t=i.outerWidth()+6,i.outerWidth(t),a=(n-t)/2,i.css({left:a.toFixed(0)+"px"}).fadeIn(200),e.addClass("with-tooltip")}).on("mouseleave",function(){var t=d(this);t.find(".yith-wcwl-tooltip").fadeOut(200,function(){t.removeClass("with-tooltip").find(".yith-wcwl-tooltip").remove()})}),t.addClass("tooltip-added"))})}function r(){d(".yith-wcwl-add-button").filter(".with-dropdown").on("mouseleave",function(){var t=d(this).find(".yith-wcwl-dropdown");t.length&&t.fadeOut(200)}).children("a").on("mouseenter",function(){var t=d(this).closest(".with-dropdown"),e=t.find(".yith-wcwl-dropdown");e.length&&e.children().length&&t.find(".yith-wcwl-dropdown").fadeIn(200)})}function _(){"undefined"!=typeof yith_wcwl_l10n.enable_drag_n_drop&&yith_wcwl_l10n.enable_drag_n_drop&&d(".wishlist_table").filter(".sortable").not(".no-interactions").each(function(){var n=d(this),a=!1;n.sortable({items:"[data-row-id]",scroll:!0,helper:function(t,e){return e.children().each(function(){d(this).width(d(this).width())}),e},update:function(){var t=n.find("[data-row-id]"),e=[],i=0;t.length&&(a&&a.abort(),t.each(function(){var t=d(this);t.find('input[name*="[position]"]').val(i++),e.push(t.data("row-id"))}),a=d.ajax({data:{action:yith_wcwl_l10n.actions.sort_wishlist_items,nonce:yith_wcwl_l10n.nonce.sort_wishlist_items_nonce,context:"frontend",positions:e,wishlist_token:n.data("token"),page:n.data("page"),per_page:n.data("per-page")},method:"POST",url:yith_wcwl_l10n.ajax_url}))}})})}function h(){var o,s;d(".wishlist_table").on("change",".product-quantity :input",function(){var t=d(this),e=t.closest("[data-row-id]"),i=e.data("row-id"),n=t.closest(".wisLine truncated
+409
View File
@@ -0,0 +1,409 @@
/*
* zoomSlider - v1.0.2 Fork
* CSS3 background zoom slideshow
* http://mingthings.com
*
* Made by Ming Yeung
* Under MIT License
*/
;(function ( $, window, document, undefined ) {
var pluginName = "zoomSlider",
defaults = {
src: null,
src2: null,
speed: 8000,
initzoom: 1.2,
switchSpeed: 1000,
interval: 4600,
autoplay: true,
bullets: true,
overlay: 'plain' // false, plain, dots
};
// The actual plugin constructor
function Plugin ( element, options ) {
this.element = element;
this.$el = $(element);
this._defaults = defaults;
this._name = pluginName;
var elData = this.$el.data();
var elDataObj = {};
for (var key in elData) {
if ( elData.hasOwnProperty(key) ) {
if ( key.match(/zs[A-Z]/) ) {
var keyName = key.substr(2);
keyName = keyName.charAt(0).toLowerCase() + keyName.slice(1);
elDataObj[keyName] = elData[key]
}
}
}
this.settings = $.extend( {}, defaults, elDataObj, options );
if ( this.settings.src == null || this.settings.src.length < 1 ) {
console.log('ZoomSlider terminated - invalid input.');
return;
}
this.init();
}
// Avoid Plugin.prototype conflicts
$.extend(Plugin.prototype, {
init: function () {
// Place initialization logic here
// You already have access to the DOM element and
// the options via the instance, e.g. this.element
// and this.settings
// you can add more functions like the one below and
// call them like so: this.yourOtherFunction(this.element, this.settings).
// make sure src is an Array
if ($.isArray(this.settings.src) == false) {
this.settings.src = [this.settings.src];
}
if ($.isArray(this.settings.src2) == false) {
this.settings.src2 = [this.settings.src2];
}
// https://github.com/twitter/bootstrap/issues/2870
this.transEndEventNames = {
'WebkitTransition' : 'webkitTransitionEnd',
'MozTransition' : 'transitionend',
'OTransition' : 'oTransitionEnd',
'msTransition' : 'MSTransitionEnd',
'transition' : 'transitionend'
};
this.transEndEventName = this.transEndEventNames[ Modernizr.prefixed( 'transition' ) ];
// suport for css transforms and css transitions
this.support = Modernizr.csstransitions && Modernizr.csstransforms;
// set inline CSS3 transition properties
var transformPrefixed = Modernizr.prefixed('transform');
transformPrefixed = transformPrefixed.replace(/([A-Z])/g, function(transformPrefixed,m1){ return '-' + m1.toLowerCase(); }).replace(/^ms-/,'-ms-');
this.transitionProp = {
'transition': transformPrefixed+' '+this.settings.speed+'ms ease-out, opacity '+this.settings.switchSpeed+'ms'
};
this.numSlides = this.settings.src.length;
// make sure the container is not [position: static]
switch(this.$el.css('position')) {
case 'relative':
case 'absolute':
case 'fixed':
break;
default:
this.$el.css('position', 'relative');
break;
}
// make sure the first image has been loaded.
var self = this;
var $img = $('<img />');
//$img.load( function() {
if (self.numSlides == 1) {
self.initSingle();
} else {
self.initSlideshow();
}
//});
$img.attr('src', this.settings.src[0]);
},
initSlideshow: function () {
var self = this;
var $slideshow = $('<div class="zs-slideshow"></div>'),
$slidesWrap = $('<div class="zs-slides"></div>'),
$arrowsWrap = $('<div class="zs-arrows"></div>'),
$zslayer = $('<div class="zs-layer"></div>'),
$bulletsWrap = $('<div class="zs-bullets"></div>'),
$ww = $(window).width();
for (i = 0; i < this.numSlides; i++) {
var $slide = $('<div class="zs-slide zs-slide-' + i + '"></div>');
if ( $ww <= 767 && this.settings.src2[i].length ) {
$slide.css({ 'background-image': "url('" + this.settings.src2[i] + "')" }).appendTo( $slidesWrap );
}
else {
$slide.css({ 'background-image': "url('" + this.settings.src[i] + "')" }).appendTo( $slidesWrap );
}
var $bullet = $('<div class="zs-bullet zs-bullet-' + i + '"></div>')
$bullet.appendTo( $bulletsWrap );
if (i == 0) {
$slide.addClass('active').css('opacity', 1);
$bullet.addClass('active');
$('.zs-enabled .lte-zs-slider-inner.lte-zs-slide-' + i).addClass('visible');
}
}
self._promoteChildren();
$slideshow.append( $zslayer );
$slideshow.append( $slidesWrap ).prependTo( this.$el );
if ( this.settings.bullets != false || this.settings.bullets == 'outside' ) {
if ( this.settings.bullets == 'outside' ) {
$slideshow.after( $bulletsWrap );
}
else {
$slideshow.append( $bulletsWrap );
}
$slideshow.on('click', '.zs-bullet', function(e){
self.jump( $(this).index() );
});
}
if ( this.settings.arrows == true || this.settings.arrows == 'right' || this.settings.arrows == 'bottom' ) {
var container_class = '';
if ( this.settings.arrows == 'bottom' ) {
container_class = 'container';
}
$('<div class="'+container_class+'"><span class="lte-arrow-left">'+this.settings.prev+'</span><span class="lte-arrow-right">'+this.settings.next+'</span></div>').appendTo( $arrowsWrap );
this.$el.append( $arrowsWrap );
this.$el.on('click', '.lte-arrow-left', function(e){
self.prev();
});
this.$el.on('click', '.lte-arrow-right', function(e){
self.next() ;
});
}
this.pos = 0;
this.pending = null;
this.switching = false;
this.$slideshow = $slideshow;
this.$slides = $slidesWrap.children( '.zs-slide' );
this.$bullets = $bulletsWrap.children( '.zs-bullet' );
this.$el.addClass('zs-enabled');
var $firstBlock = $('.zs-enabled .lte-zs-slider-inner');
$('.zs-enabled .lte-zs-slider-inner').css('opacity', '');
var minHeight = 0;
$('.lte-zs-slider-inner').each(function(i, el) {
if ( $(el).height() > minHeight ) {
minHeight = $(el).height();
}
});
if (this.support) {
var $firstSlide = this.$slides.eq(0);
var $initzoom = this.settings.initzoom;
$firstSlide.css('opacity', 0).css( this.transitionProp );
$('.lte-zs-slider-wrapper').css('min-height', (minHeight ) + 'px' );
$('.zs-slideshow').css('min-height', (minHeight - 2 ) + 'px' );
jQuery(window).on('resize', function(){
var minHeight = 0;
$('.lte-zs-slider-inner').each(function(i, el) {
if ( $(el).height() > minHeight ) {
minHeight = $(el).height();
}
});
$('.lte-zs-slider-wrapper').css('min-height', (minHeight ) + 'px' );
$('.zs-slideshow').css('min-height', (minHeight - 2 ) + 'px' );
});
setTimeout(function(){
$firstSlide.css( { 'opacity': 1.0, 'transform': 'scale('+ $initzoom +', '+ $initzoom +')', 'z-index': 2 } );
}, 50);
}
if (this.settings.autoplay == true) {
this.play();
}
},
initSingle: function() {
var self = this;
var $slideshow = $('<div class="zs-slideshow"></div>'),
$slidesWrap = $('<div class="zs-slides"></div>'),
$slide = $('<div class="zs-slide zs-slide-0"></div>');
$slide.css({ 'background-image': "url('" + this.settings.src[0] + "')" }).appendTo( $slidesWrap );
$slide.addClass('active').css('opacity', 1);
$('.zs-enabled .lte-zs-slider-inner.lte-zs-slide-0').addClass('visible').addClass('single');
self._promoteChildren();
$slideshow.append( $slidesWrap ).prependTo( this.$el );
this.$el.addClass('zs-enabled');
if (this.settings.overlay == 'dots') {
this.$el.addClass('overlay-dots');
} else if (this.settings.overlay == 'plain') {
this.$el.addClass('overlay-plain')
}
if (this.support) {
$slide.css('opacity', 1).css( this.transitionProp );
if (this.settings) {
setTimeout(function(){
$slide.css( { 'opacity': 1.0, 'transform': 'scale(1)', 'z-index': 2 } )
}, 50);
}
}
},
_promoteChildren: function() {
// make sure every children have high enough z-index
this.$el.children().each(function(index){
$this = $(this);
if ($this.css('z-index') == 'auto') {
$this.css('z-index', 2);
}
if ($this.css('position') == 'static') {
$this.css('position', 'relative');
}
});
},
jump: function( pos ) {
if ( pos >= this.numSlides ) {
console.log('ZoomSlider: jump(pos) aborted. supplied index out of range.');
return;
}
if ( this.pos == pos ) return;
if ( this.switching ) {
this.pending = pos;
return;
}
var self = this;
var $lastSlide = this.$slides.eq( this.pos );
var $nowSlide = this.$slides.eq( pos );
$('.zs-enabled .lte-zoompages .current').html(pos + 1);
$('.zs-enabled .lte-zs-slider-inner.visible').removeClass('visible');
$('.zs-enabled .lte-zs-slider-inner.lte-zs-slide-' + pos).addClass('visible');
if ( this.support ) {
this.switching = true;
$lastSlide.css('z-index', 1);
$nowSlide.addClass('active')
.css( this.transitionProp )
.css( { 'opacity': 1.0, 'transform': 'scale('+this.settings.initzoom+', '+this.settings.initzoom+')', 'z-index': 2 } )
.on( this.transEndEventName, function(e) {
if (e.originalEvent.propertyName == 'opacity') {
lastSlideBg = $lastSlide.css('background-image');
$lastSlide.removeClass('active')
.removeAttr('style')
.css('background-image', lastSlideBg);
$nowSlide.off( self.transEndEventName );
self.switching = false;
if ( self.pending != null ) {
setTimeout(function(){
var newPos = self.pending;
self.pending = null;
self.$bullets.eq(newPos).click();
}, 30)
}
}
});
} else {
$lastSlide.removeClass('active');
$nowSlide.addClass('active');
}
this.$bullets.eq(this.pos).removeClass('active');
this.$bullets.eq(pos).addClass('active');
this.pos = pos;
if (this.settings.autoplay) {
this.play();
}
},
prev: function() {
var posPrev = this.pos - 1;
if (posPrev < 0) posPrev = this.numSlides - 1;
this.jump( posPrev );
},
next: function() {
var posNext = this.pos + 1;
if (posNext >= this.numSlides) posNext = 0;
this.jump( posNext );
},
play: function() {
// clear any existing timer
if (this.timer != null) {
clearInterval(this.timer);
}
var self = this;
this.settings.autoplay = true;
// add timer
this.timer = setInterval( function(){
self.next();
}, this.settings.interval );
},
stop: function() {
this.settings.autoplay = false;
clearInterval(this.timer);
this.timer = null;
}
});
// A really lightweight plugin wrapper around the constructor,
// preventing against multiple instantiations
$.fn[ pluginName ] = function ( options ) {
return this.each(function() {
if ( !$.data( this, "plugin_" + pluginName ) ) {
$.data( this, "plugin_" + pluginName, new Plugin( this, options ) );
}
});
};
var WidgetZoomsliderHandler = function ($scope, $) {
// auto create slideshow on [data-zs-enabled] instances.
var $instances = $('[data-zs-src]');
if ($instances.length > 0) {
$instances.each( function(index) {
var $this = $(this);
$this.zoomSlider();
});
}
};
$(window).on('elementor/frontend/init', function () {
elementorFrontend.hooks.addAction('frontend/element_ready/lte-zoomslider.default', WidgetZoomsliderHandler);
});
})( jQuery, window, document );
+10
View File
@@ -0,0 +1,10 @@
/*! This file is auto-generated */
/*!
* Masonry PACKAGED v4.2.2
* Cascading grid layout library
* https://masonry.desandro.com
* MIT License
* by David DeSandro
*/
!function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,r,a){function h(t,e,n){var o,r="$()."+i+'("'+e+'")';return t.each(function(t,h){var u=a.data(h,i);if(!u)return void s(i+" not initialized. Cannot call methods, i.e. "+r);var d=u[e];if(!d||"_"==e.charAt(0))return void s(r+" is not a valid method");var l=d.apply(u,n);o=void 0===o?l:o}),void 0!==o?o:t}function u(t,e){t.each(function(t,n){var o=a.data(n,i);o?(o.option(e),o._init()):(o=new r(n,e),a.data(n,i,o))})}a=a||e||t.jQuery,a&&(r.prototype.option||(r.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=o.call(arguments,1);return h(this,t,e)}return u(this,t),this},n(a))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var o=Array.prototype.slice,r=t.console,s="undefined"==typeof r?function(){}:function(t){r.error(t)};return n(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var n=this._onceEvents&&this._onceEvents[t],o=0;o<i.length;o++){var r=i[o],s=n&&n[r];s&&(this.off(t,r),delete n[r]),r.apply(this,e)}return this}},e.allOff=function(){delete this._events,delete this._onceEvents},t}),function(t,e){"function"==typeof define&&define.amd?define("get-size/get-size",e):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function t(t){var e=parseFloat(t),i=-1==t.indexOf("%")&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;u>e;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}function o(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);s=200==Math.round(t(o.width)),r.isBoxSizeOuter=s,i.removeChild(e)}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==r.boxSizing,l=0;u>l;l++){var c=h[l],f=r[c],m=parseFloat(f);a[c]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,z=a.borderTopWidth+a.borderBottomWidth,E=d&&s,b=t(r.width);b!==!1&&(a.width=b+(E?0:p+_));var x=t(r.height);return x!==!1&&(a.height=x+(E?0:g+z)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(g+z),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var s,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,d=!1;return r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=window.Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var n=e[i],o=n+"MatchesSelector";if(t[o])return o}}();return function(e,i){return e[t](i)}}),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.matchesSelector)}(window,function(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return(t%e+e)%e};var n=Array.prototype.slice;i.makeArray=function(t)Line truncated
+4
View File
@@ -0,0 +1,4 @@
/* Modernizr 2.6.2 (Custom Build) | MIT & BSD
* Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
*/
window.Modernizr=function(e,t,n){function r(e){b.cssText=e}function o(e,t){return r(S.join(e+";")+(t||""))}function i(e,t){return typeof e===t}function a(e,t){return!!~(""+e).indexOf(t)}function c(e,t){for(var r in e){var o=e[r];if(!a(o,"-")&&b[o]!==n)return"pfx"!=t||o}return!1}function s(e,t,r){for(var o in e){var a=t[e[o]];if(a!==n)return r===!1?e[o]:i(a,"function")?a.bind(r||t):a}return!1}function l(e,t,n){var r=e.charAt(0).toUpperCase()+e.slice(1),o=(e+" "+k.join(r+" ")+r).split(" ");return i(t,"string")||i(t,"undefined")?c(o,t):(o=(e+" "+T.join(r+" ")+r).split(" "),s(o,t,n))}function u(){m.input=function(n){for(var r=0,o=n.length;r<o;r++)P[n[r]]=n[r]in E;return P.list&&(P.list=!!t.createElement("datalist")&&!!e.HTMLDataListElement),P}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),m.inputtypes=function(e){for(var r,o,i,a=0,c=e.length;a<c;a++)E.setAttribute("type",o=e[a]),r="text"!==E.type,r&&(E.value=w,E.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(o)&&E.style.WebkitAppearance!==n?(g.appendChild(E),i=t.defaultView,r=i.getComputedStyle&&"textfield"!==i.getComputedStyle(E,null).WebkitAppearance&&0!==E.offsetHeight,g.removeChild(E)):/^(search|tel)$/.test(o)||(r=/^(url|email)$/.test(o)?E.checkValidity&&E.checkValidity()===!1:E.value!=w)),M[e[a]]=!!r;return M}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var f,d,p="2.6.2",m={},h=!0,g=t.documentElement,v="modernizr",y=t.createElement(v),b=y.style,E=t.createElement("input"),w=":)",x={}.toString,S=" -webkit- -moz- -o- -ms- ".split(" "),C="Webkit Moz O ms",k=C.split(" "),T=C.toLowerCase().split(" "),j={svg:"http://www.w3.org/2000/svg"},N={},M={},P={},A=[],L=A.slice,$=function(e,n,r,o){var i,a,c,s,l=t.createElement("div"),u=t.body,f=u||t.createElement("body");if(parseInt(r,10))for(;r--;)c=t.createElement("div"),c.id=o?o[r]:v+(r+1),l.appendChild(c);return i=["&#173;",'<style id="s',v,'">',e,"</style>"].join(""),l.id=v,(u?l:f).innerHTML+=i,f.appendChild(l),u||(f.style.background="",f.style.overflow="hidden",s=g.style.overflow,g.style.overflow="hidden",g.appendChild(f)),a=n(l,e),u?l.parentNode.removeChild(l):(f.parentNode.removeChild(f),g.style.overflow=s),!!a},z=function(t){var n=e.matchMedia||e.msMatchMedia;if(n)return n(t).matches;var r;return $("@media "+t+" { #"+v+" { position: absolute; } }",function(t){r="absolute"==(e.getComputedStyle?getComputedStyle(t,null):t.currentStyle).position}),r},D=function(){function e(e,o){o=o||t.createElement(r[e]||"div"),e="on"+e;var a=e in o;return a||(o.setAttribute||(o=t.createElement("div")),o.setAttribute&&o.removeAttribute&&(o.setAttribute(e,""),a=i(o[e],"function"),i(o[e],"undefined")||(o[e]=n),o.removeAttribute(e))),o=null,a}var r={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return e}(),F={}.hasOwnProperty;d=i(F,"undefined")||i(F.call,"undefined")?function(e,t){return t in e&&i(e.constructor.prototype[t],"undefined")}:function(e,t){return F.call(e,t)},Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if("function"!=typeof t)throw new TypeError;var n=L.call(arguments,1),r=function(){if(this instanceof r){var o=function(){};o.prototype=t.prototype;var i=new o,a=t.apply(i,n.concat(L.call(arguments)));return Object(a)===a?a:i}return t.apply(e,n.concat(L.call(arguments)))};return r}),N.flexbox=function(){return l("flexWrap")},N.canvas=function(){var e=t.createElement("canvas");return!!e.getContext&&!!e.getContext("2d")},N.canvastext=function(){return!!m.canvas&&!!i(t.createElement("canvas").getContext("2d").fillText,"function")},N.webgl=function(){return!!e.WebGLRenderingContext},N.touch=function(){var n;return"ontouchstart"in e||e.DocumentTouch&&t instanceof DocumentTouch?n=!0:$(["@media (",S.join("touch-enabled),("),v,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(e){n=9===e.offsetTop}),n},N.geolocation=function(){return"geolocation"in navigator},N.postmessage=function(){return!!e.postMessage},N.websqldatabase=function(){return!!e.openDatabase},N.indexedDB=function(){return!!l("indexedDB",e)},N.hashchange=function(){return D("hashchange",e)&&(t.documentMode===n||t.documentMode>7)},N.history=function(){return!!e.history&&!!history.pushState},N.draganddrop=function(){var e=t.createElement("div");return"draggable"in e||"ondragstart"in e&&"ondrop"in e},N.websockets=function(){return"WebSocket"in e||"MozWebSocket"in e},N.rgba=function(){return r("background-color:rgba(150,255,150,.5)"),a(b.backgroundColor,"rgba")},N.hsla=function(){return r("background-color:hsla(120,40%,100%,.5)"),a(b.backgroundColor,"rgba")||a(b.backgroundColor,"hsla")},N.multiplebgs=function(){return r("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(b.background)},N.backgroundsize=function(){return l("backgroundSize")},N.borderimage=function(){return l("borderImage")},N.borderradius=function(){return l("borderRadLine truncated
File diff suppressed because it is too large. Load diff
+71
View File
@@ -0,0 +1,71 @@
/*
Plugin: jQuery Parallax
Version 1.1.3
Author: Ian Lunn
Twitter: @IanLunn
Author URL: http://www.ianlunn.co.uk/
Plugin URL: http://www.ianlunn.co.uk/plugins/jquery-parallax/
Dual licensed under the MIT and GPL licenses:
http://www.opensource.org/licenses/mit-license.php
http://www.gnu.org/licenses/gpl.html
*/
(function( $ ){
"use strict";
var $window = $(window);
var windowHeight = $window.height();
$window.resize(function () {
windowHeight = $window.height();
});
$.fn.parallax = function(xpos, speedFactor, outerHeight) {
var $this = $(this);
var getHeight;
var firstTop;
var paddingTop = 0;
// get the starting position of each element to have parallax applied to it
$this.each(function(){
firstTop = $this.offset().top;
});
if (outerHeight) {
getHeight = function(jqo) {
return jqo.outerHeight(true);
};
} else {
getHeight = function(jqo) {
return jqo.height();
};
}
// setup defaults if arguments aren't specified
if (arguments.length < 1 || xpos === null) xpos = "50%";
if (arguments.length < 2 || speedFactor === null) speedFactor = 0.1;
if (arguments.length < 3 || outerHeight === null) outerHeight = true;
// function to be called whenever the window is scrolled or resized
function update(){
var pos = $window.scrollTop();
$this.each(function(){
var $element = $(this);
var top = $element.offset().top;
var height = getHeight($element);
// Check if totally above or totally below viewport
if (top + height < pos || top > pos + windowHeight) {
return;
}
$this.css('backgroundPosition', xpos + " " + Math.round((top - pos) * speedFactor) + "px");
});
}
$window.bind('scroll', update).resize(update);
update();
};
})(jQuery);
+11
View File
@@ -0,0 +1,11 @@
/**
* This JS file was auto-generated via Terser.
*
* Contributors should avoid editing this file, but instead edit the associated
* non minified file file. For more information, check out our engineering docs
* on how we handle JS minification in our engineering docs.
*
* @see: https://evnt.is/dev-docs-minification
*/
var tribe_tickets_rsvp={num_attendees:0,event:{}};!function($,my){"use strict";my.init=function(){my.$rsvp=$(".tribe-events-tickets-rsvp"),my.attendee_template=$(document.getElementById("tribe-tickets-rsvp-tmpl")).html(),my.$rsvp.on("change input keyup",".tribe-tickets-quantity",my.event.quantity_changed),my.$rsvp.closest(".cart").on("submit",my.event.handle_submission),$(".tribe-rsvp-list").on("click",".attendee-meta-row .toggle",(function(){$(this).toggleClass("on").siblings(".attendee-meta-details").slideToggle()}))},my.quantity_changed=function($quantity){const $rsvp=$quantity.closest(".tribe-events-tickets-rsvp"),$rsvpQtys=$rsvp.find(".tribe-tickets-quantity");let rsvpQty=0;$rsvpQtys.each((function(){rsvpQty+=parseInt($(this).val(),10)})),0===rsvpQty?$rsvp.removeClass("tribe-tickets-has-rsvp"):$rsvp.addClass("tribe-tickets-has-rsvp")},my.validate_rsvp_info=function($form){const $qty=$form.find("input.tribe-tickets-quantity"),$name=$form.find("input#tribe-tickets-full-name"),$email=$form.find("input#tribe-tickets-email");let rsvpQty=0;return $qty.each((function(){rsvpQty+=parseInt($(this).val(),10)})),$name.val().trim().length&&$email.val().trim().length&&rsvpQty},my.validate_meta=function($form){let isMetaValid=!0;return!!window.tribe_event_tickets_plus&&(isMetaValid=window.tribe_event_tickets_plus.meta.validate_meta($form)),isMetaValid},my.event.quantity_changed=function(){my.quantity_changed($(this))},my.event.handle_submission=function(e){const $form=$(this).closest("form"),$rsvpMessages=$form.find(".tribe-rsvp-messages, .tribe-rsvp-message-confirmation-error"),$etpMetaMessages=$form.find(".tribe-event-tickets-meta-required-message"),isRsvpInfoValid=my.validate_rsvp_info($form),isAttendeeMetaValid=my.validate_meta($form);return!(!isRsvpInfoValid||!isAttendeeMetaValid)||(isRsvpInfoValid?$rsvpMessages.hide():$rsvpMessages.show(),isAttendeeMetaValid?($etpMetaMessages.hide(),$form.removeClass("tribe-event-tickets-plus-meta-missing-required")):($form.addClass("tribe-event-tickets-plus-meta-missing-required"),$etpMetaMessages.show()),$("html, body").animate({scrollTop:$form.offset().top-100},300),!1)},$(my.init)}(jQuery,tribe_tickets_rsvp);
+41
View File
@@ -0,0 +1,41 @@
document.addEventListener("DOMContentLoaded", function() {
// Get the buttons and the navbar element
const openButton = document.getElementById('open-button');
const closeButton = document.getElementById('close-button');
const navbar = document.getElementById('navbar');
// Log to check if elements exist
console.log('Open button:', openButton);
console.log('Close button:', closeButton);
console.log('Navbar:', navbar);
// Ensure that buttons and navbar exist
if (openButton && closeButton && navbar) {
console.log('Elements found and event listeners ready.');
// Add event listener to the open button to remove the collapse class
openButton.addEventListener('click', function() {
console.log('Open button clicked');
if (navbar.classList.contains('collapse')) {
navbar.classList.remove('collapse');
console.log('Collapse class removed');
} else {
console.log('Navbar is already open (no collapse class).');
}
});
// Add event listener to the close button to add the collapse class
closeButton.addEventListener('click', function() {
console.log('Close button clicked');
if (!navbar.classList.contains('collapse')) {
navbar.classList.add('collapse');
console.log('Collapse class added');
} else {
console.log('Navbar is already collapsed (collapse class exists).');
}
});
} else {
console.error('Error: Buttons or navbar element not found.');
}
});
+819
View File
@@ -0,0 +1,819 @@
"use strict";
jQuery( function() {
initEvents();
initStyles();
sanitizeBlogContent();
cleanupDuplicateBlocks();
initCollapseMenu();
checkCountUp();
initScrollReveal();
checkScrollAnimation();
});
jQuery(window).on('scroll', function (event) {
checkNavbar();
checkGoTop();
checkScrollAnimation();
}).scroll();
jQuery(window).on('load', function(){
initMasonry();
initParallax();
});
jQuery(window).on("resize", function () {
setResizeStyles();
}).resize();
/* Navbar menu initialization */
function initCollapseMenu() {
var navbar = jQuery('.lte-navbar-items'),
navbar_toggle = jQuery('.lte-navbar-toggle'),
navbar_wrapper = jQuery("#lte-nav-wrapper");
navbar_wrapper.on('click', '.lte-navbar-toggle', function (e) {
navbar_toggle.toggleClass('collapsed');
navbar.toggleClass('collapse');
navbar_wrapper.toggleClass('mob-visible');
});
// Anchor mobile menu
navbar.on('click', '.menu-item-type-custom > a', function(e) {
var el = jQuery(this);
if ( jQuery(this).attr('href') != '#pll_switcher' && typeof jQuery(this).attr('href') !== 'undefined' && jQuery(this).attr('href') !== '#' && jQuery(this).attr('href').indexOf("#") != -1 &&
( ( el.closest('li').hasClass('menu-item-has-children') && e.target.tagName != 'A') ||
( !el.closest('li').hasClass('menu-item-has-children') && e.target.tagName == 'A')) ) {
navbar_toggle.addClass('collapsed');
navbar.addClass('collapse');
navbar_wrapper.removeClass('mob-visible');
}
});
navbar.on('click', '.menu-item-has-children > a', function(e) {
var el = jQuery(this);
if (!el.closest('.lte-navbar-items').hasClass('collapse')) {
if ((el.attr('href') === undefined || el.attr('href') === '#') || e.target.tagName == 'A') {
el.next().toggleClass('show');
el.parent().toggleClass('show');
return false;
}
// Remove duplicate footers and duplicate blog grids (defensive cleanup)
function cleanupDuplicateBlocks(){
try {
// Keep only the first footer wrapper
var footers = document.querySelectorAll('.lte-footer-wrapper');
for (var i = 1; i < footers.length; i++) {
footers[i].remove();
}
// Keep only the first blog grid inside main blog wrap
var grids = document.querySelectorAll('.lte-blog-wrap .blog.blog-block');
for (var j = 1; j < grids.length; j++) {
grids[j].remove();
}
} catch(e) { /* no-op */ }
}
}
});
var lastWidth;
jQuery(window).on("resize", function () {
checkNavbar();
var winWidth = jQuery(window).width(),
winHeight = jQuery(window).height();
lastWidth = winWidth;
});
}
// Remove empty/garbage paragraphs from blog content and normalize spacing
function sanitizeBlogContent(){
try {
var blocks = document.querySelectorAll('.text.lte-text-page.clearfix');
blocks.forEach(function(block){
// remove <p> that are empty or contain only <br> or whitespace
Array.from(block.querySelectorAll('p')).forEach(function(p){
var html = p.innerHTML.trim();
var text = p.textContent.replace(/\u00A0/g,' ').trim();
if (!text || /^<br\s*\/?>(\s|&nbsp;)*$/i.test(html)) {
p.remove();
return;
}
// remove hashtag-only paragraphs (e.g., #tag #tag2)
var anchors = Array.from(p.querySelectorAll('a'));
var allHashLinks = anchors.length > 0 && anchors.every(function(a){
var t = (a.textContent||'').trim();
return t.startsWith('#');
});
var pureHashText = /^#\S+(?:\s+#\S+)*$/.test(text);
if (allHashLinks || pureHashText) {
p.remove();
return;
}
// strip excessive bottom margins coming from pasted content
p.style.marginBottom = '';
p.style.marginTop = '';
});
// collapse consecutive <p> duplicates with same text
var prevText = null;
Array.from(block.querySelectorAll('p')).forEach(function(p){
var t = p.textContent.trim();
if (prevText !== null && t === prevText) {
p.remove();
} else {
prevText = t;
}
});
});
// Remove tags/sharing/related containers if still present in DOM
document.querySelectorAll('.blog-info-post-bottom, .tags-line, .lte-sharing, .lte-related').forEach(function(el){
el.remove();
});
} catch(e) { /* no-op */ }
}
/* Navbar attributes with dependency on resolution and scroll status */
function checkNavbar() {
var navbar = jQuery('.lte-navbar-items'),
scroll = jQuery(window).scrollTop(),
navBar = jQuery('.lte-navbar'),
topBar = jQuery('.lte-topbar-block'),
navbar_toggle = jQuery('.lte-navbar-toggle'),
navbar_wrapper = jQuery("#lte-nav-wrapper"),
slideDiv = jQuery('.slider-full'),
winWidth = jQuery(window).width(),
winHeight = jQuery(window).height(),
navbar_mobile_width = navbar.data('mobile-screen-width');
if ( winWidth < navbar_mobile_width ) {
navbar.addClass('navbar-mobile').removeClass('navbar-desktop');
navbar_wrapper.addClass('lte-navwrapper-mobile').removeClass('lte-navwrapper-desktop');
}
else {
navbar.addClass('navbar-desktop').removeClass('navbar-mobile');
navbar_wrapper.addClass('lte-navwrapper-desktop').removeClass('lte-navwrapper-mobile');
}
topBar.addClass('inited');
navbar_wrapper.addClass('inited');
if ( topBar.length ) {
navBar.data('offset-top', topBar.height());
}
if (winWidth > navbar_mobile_width && navbar_toggle.is(':hidden')) {
navbar.addClass('collapse');
navbar_toggle.addClass('collapsed');
navbar_wrapper.removeClass('mob-visible');
}
jQuery("#lte-nav-wrapper.navbar-layout-transparent + .lte-page-header, #lte-nav-wrapper.navbar-layout-transparent + .main-wrapper").css('margin-top', '-' + navbar_wrapper.height() + 'px');
jQuery(".lte-image-preview img").each(function(i, el) {
var height = jQuery(el).height() - 700;
jQuery(el)
.on('mouseover', function() {
jQuery(this).css( { '-webkit-transform' : 'translateY(-' + height + 'px)', 'transform' : 'translateY(-' + height + 'px)' } );
})
.on('mouseout', function() {
jQuery(this).css( { '-webkit-transform' : 'translateY(0px)', 'transform' : 'translateY(0px)' } );
});
});
}
/* Check GoTop Visibility */
function checkGoTop() {
var gotop = jQuery('.lte-go-top'),
scrollBottom = jQuery(document).height() - jQuery(window).height() - jQuery(window).scrollTop();
if ( gotop.length ) {
if ( jQuery(window).scrollTop() > 400 ) {
gotop.addClass('show');
}
else {
gotop.removeClass('show');
}
if ( scrollBottom < 50 ) {
gotop.addClass('scroll-bottom');
}
else {
gotop.removeClass('scroll-bottom');
}
}
}
/* All keyboard and mouse events */
function initEvents() {
initSearch();
jQuery('.swipebox.photo').magnificPopup({type:'image', gallery: { enabled: true }});
jQuery('.swipebox.lte-video-popup').magnificPopup({type:'iframe'});
jQuery('.magnific-popup-link').magnificPopup({type:'ajax'});
jQuery('.swipebox-gallery').each(function() {
jQuery(this).magnificPopup({type:'image', delegate: '.lte-gallery', gallery: { enabled: true }});
});
if (!/Mobi/.test(navigator.userAgent) && jQuery(window).width() > 768) {
jQuery('.matchHeight').matchHeight();
jQuery('.items-matchHeight article').matchHeight();
}
jQuery('.lte-sidebar-filter').on('click', function() {
jQuery(this).parent().toggleClass('lte-show');
});
jQuery('.lte-sidebar-close').on('click', function() {
jQuery(this).parent().parent().removeClass('lte-show');
});
jQuery('.lte-sidebar-overlay').on('click', function() {
jQuery(this).parent().removeClass('lte-show');
});
/* Scrolling to navbar from "go top" button in footer */
jQuery('.lte-go-top').on('click', function() {
jQuery('html, body').animate({ scrollTop: 0 }, 1200);
return false;
});
// WooCommerce grid-list toggle
jQuery('.gridlist-toggle').on('click', 'a', function() {
jQuery('.matchHeight').matchHeight();
});
jQuery('.woocommerce').on('click', 'div.quantity > span', function(e) {
var f = jQuery(this).siblings('input'),
step = 1,
fixed = 0,
val;
if ( jQuery(f).is("[step]") ) {
step = parseFloat(jQuery(f).attr('step'));
}
if ( step != 1 ) fixed = 1;
if (jQuery(this).hasClass('more')) {
val = parseFloat(f.val()) + step;
}
else {
val = parseFloat(f.val()) - step;
}
f.val(val);
e.preventDefault();
jQuery(this).siblings('input').change();
return false;
});
if ( jQuery('.lte-mouse-move-object').length ) {
jQuery('.lte-mouse-move-object').each(function(i, el) {
jQuery('body').on('mousemove', function(e){
jQuery(el)[0].style.WebkitTransform = 'translate3d(' + '-' + (((e.pageX - jQuery(this).offset().left) / jQuery(el).width()) * 10) + 'px, 0, 0)';
});
});
}
jQuery('.lte-mouse-move .elementor-column-wrap')
.on('mouseover', function() {
if ( typeof jQuery(this).data('bg-size') === 'undefined' ) {
jQuery(this).data('bg-size', jQuery(this).css('background-size'));
}
if ( jQuery(this).css( 'background-size' ) != 'cover' ) {
jQuery(this)[0].style.setProperty( 'background-size', parseInt(jQuery(this).data('bg-size')) + 10 + '%', 'important' );
}
})
.on('mouseout', function(){
if ( jQuery(this).css( 'background-size' ) != 'cover' ) {
jQuery(this)[0].style.setProperty( 'background-size', jQuery(this).data('bg-size'), 'important' );
}
})
.on('mousemove', function(e){
if ( jQuery(this).css( 'background-size' ) != 'cover' ) {
jQuery(this)[0].style.setProperty( 'background-position', ((e.pageX - jQuery(this).offset().left) / jQuery(this).width()) * 100 + '% ' + ((e.pageY - jQuery(this).offset().top) / jQuery(this).height()) * 100 + '%', 'important' );
}
});
jQuery('.lte-services-sc.lte-layout-promo .lte-item')
.on('mouseover', function(i, el) {
jQuery(this).siblings().removeClass('lte-active');
jQuery(this).addClass('lte-active');
jQuery(this).parent().parent().find('.lte-bg-item.lte-active').removeClass('lte-active');
jQuery(this).parent().parent().find('.lte-bg-item-' + jQuery(this).data('id')).addClass('lte-active');
});
jQuery('.lte-events-sc.lte-events-layout-grid .lte-item')
.on('mouseover', function(i, el) {
var height = jQuery(this).find('.lte-excerpt').height();
jQuery(this).find('.lte-event-pre').css( { '-webkit-transform' : 'translateY(-' + height + 'px)', 'transform' : 'translateY(-' + height + 'px)' } );
})
.on('mouseout', function(i, el) {
var height = 0;
jQuery(this).find('.lte-event-pre').css( { '-webkit-transform' : 'translateY(-' + height + 'px)', 'transform' : 'translateY(-' + height + 'px)' } );
});
jQuery('.lte-navbar').on( 'affix.bs.affix', function(){
if (!jQuery( window ).scrollTop()) return false;
});
jQuery('.lte-cursor-follow-wrapper').mousemove(function(i, el) {
var relX = i.pageX - jQuery(this).offset().left;
var relY = i.pageY - jQuery(this).offset().top;
jQuery(this).find('.lte-tab-cursor').css({"left" : relX, "top" : relY});
});
if ( jQuery('.lte-particles-ripples').length ) {
jQuery('.lte-particles-ripples').ripples({
resolution: 512,
dropRadius: 20,
perturbance: 0.04,
});
setInterval(function() {
if ( !document.hidden ) {
var $el = jQuery('.lte-particles-ripples');
var x = Math.random() * $el.outerWidth();
var y = Math.random() * $el.outerHeight();
var dropRadius = 20;
var strength = 0.04 + Math.random() * 0.04;
$el.ripples('drop', x, y, dropRadius, strength);
}
}, 400);
}
}
function initSearch() {
let searchHandler = function(event){
if (jQuery(event.target).is(".lte-top-search-wrapper, .lte-top-search-wrapper *")) return;
jQuery(document).off("click", searchHandler);
jQuery('.lte-top-search-wrapper').removeClass('show-field');
jQuery('.lte-navbar-items').removeClass('muted');
}
let search_href = jQuery('.lte-top-search-wrapper').data('base-href'),
search_soruce = jQuery('.lte-top-search-wrapper').data('source');
jQuery('.lte-top-search-ico').on('click', function (e) {
e.preventDefault();
jQuery(this).parent().toggleClass('show-field');
jQuery('.lte-navbar-items').toggleClass('muted');
if (jQuery(this).parent().hasClass('show-field')) {
jQuery(document).on("click", searchHandler);
}
else {
jQuery(document).off("click", searchHandler);
}
});
jQuery('.lte-nav-search .lte-header').on('click', function(e) {
jQuery(this).prev().find('.lte-top-search-ico').click();
return false;
});
jQuery('.lte-top-search-ico-close').on('click', function (e) {
jQuery(this).parent().toggleClass('show-field');
jQuery('.lte-navbar-items').toggleClass('muted');
return false;
});
jQuery('#lte-top-search-ico-mobile').on('click', function() {
if ( search_soruce == 'woocommerce' ) {
window.location = search_href + '?s=' + jQuery(this).next().val() + '&post_type=product';
}
else {
window.location = search_href + '?s=' + jQuery(this).next().val();
}
return false;
});
jQuery('.lte-top-search-wrapper input').keypress(function (e) {
if (e.which == 13) {
if ( search_soruce == 'woocommerce' ) {
window.location = search_href + '?s=' + jQuery(this).val() + '&post_type=product';
}
else {
window.location = search_href + '?s=' + jQuery(this).val();
}
return false;
}
});
}
function lteUrlDecode(str) {
return decodeURIComponent((str+'').replace(/\+/g, '%20'));
}
/* Parallax initialization */
function initParallax() {
// Only for desktop
if (/Mobi/.test(navigator.userAgent)) return false;
jQuery('.lte-parallax').parallax("50%", 0.2);
jQuery('section.lte-parallax-yes, .elementor-element.lte-parallax-yes, div.lte-parallax-yes > .elementor-column-wrap').each(function(i, el) {
var val = jQuery(el).attr('class').match(/lte-bg-parallax-value-(\S+)/);
if ( val === null ) var val = [0, 0.2];
jQuery(el).parallax("50%", parseFloat(val[1]));
});
if ( jQuery('.lte-parallax-image').length ) {
var id = 'lte-p-id' + Math.floor(Math.random() * 100000);
jQuery('.lte-parallax-image').closest('.elementor-widget-wrap').attr('id', id );
var parallaxInstance = new Parallax(document.getElementById(id));
}
if ( jQuery('.lte-parallax-slider-sc').length ) {
var parallaxInstance = new Parallax(document.getElementById('lte-parallax-slider-sc-wrap'));
}
if (typeof jQuery().paroller === "function") {
jQuery("[data-paroller-factor]").paroller();
setTimeout(function() { window.dispatchEvent(new Event('resize')); }, 400);
}
}
/* Adding custom classes to elements */
function initStyles() {
jQuery('select.wpcf7-select, aside select, .lte-wc-order select').wrap('<div class="select-wrap"></div>')
jQuery('.wpcf7-checkbox').parent().addClass('margin-none');
jQuery('input[type="submit"], button[type="submit"]').not('.lte-btn').addClass('lte-btn');
jQuery('#send_comment').removeClass('btn-xs');
jQuery('#searchsubmit').removeClass('lte-btn');
jQuery('blockquote').append('<span class="lte-triangle"></span>');
jQuery('table:not([class])').addClass('lte-table');
jQuery('ul:not([class]), ol:not([class])').addClass('lte-list');
jQuery('.lte-sidebar-header .lte-header-widget').each(function(i, el) {
jQuery(el).clone().removeClass('lte-header-widget').addClass('lte-header-watermark').insertAfter(el);
});
jQuery('.current-menu-ancestor, .current-menu-item, .current-menu-parent, .current_page_parent, .current_page_item').addClass('lte-active');
// WooCommerce styles
jQuery('.woocommerce .button').addClass('lte-btn btn-main').removeClass('button');
jQuery('.woocommerce-message .lte-btn, .woocommerce-info .lte-btn').addClass('btn-xs');
jQuery('.woocommerce .price_slider_amount .lte-btn').removeClass('btn-black color-hover-white').addClass('btn btn-main btn-xs');
jQuery('.woocommerce .checkout-button').removeClass('btn-black color-hover-white').addClass('btn btn-black color-hover-main');
jQuery('button.single_add_to_cart_button').removeClass('btn-xs color-hover-white').addClass('color-hover-main');
jQuery('.woocommerce .coupon .lte-btn').removeClass('color-hover-white').addClass('color-hover-main');
jQuery('.woocommerce .product .wc-label-new').closest('.product').addClass('lte-wc-new');
jQuery('.widget_product_search button').removeClass('lte-btn btn-xs');
jQuery('.woocommerce .product_meta span').each(function(i, el) {
jQuery(el).html(jQuery(el).html().replace(/\,/gi, '<span class="lte-coma">,</span>'));
});
// Cart quanity change
jQuery('.woocommerce div.quantity,.woocommerce-page div.quantity').append('<span class="more"></span><span class="less"></span>');
jQuery(document).off('updated_wc_div').on('updated_wc_div', function () {
jQuery('.woocommerce div.quantity,.woocommerce-page div.quantity').append('<span class="more"></span><span class="less"></span>');
initStyles();
});
jQuery('.input-group-append .lte-btn').removeClass('btn-xs');
jQuery(".woocommerce *:not(.lte-btn-wrap) > .lte-btn").wrap('<span class="lte-btn-wrap"></span');
jQuery(".container .wpcf7-submit").removeClass('btn-xs').wrap('<span class="lte-btn-wrap"></span');
jQuery('.blog-post .nav-links > a').wrapInner('<span></span>');
jQuery('.blog-post .nav-links > a[rel="next"]').wrap('<span class="next"></span>');
jQuery('.blog-post .nav-links > a[rel="prev"]').wrap('<span class="prev"></span>');
jQuery('.lte-background-no-img').each(function() {
var rx = Math.floor((Math.random() * 1200)) + 'px',
ry = Math.floor((Math.random() * 900)) + 'px';
jQuery(this).css('background-position', rx + ' ' + ry);
});
var overlays = jQuery('*[class*="lte-overlay-wrapper-"]')
.each(function (i, el) {
var overlay = this.className.match(/lte-overlay-wrapper-(\S+)/);
if ( jQuery(this).hasClass('elementor-column') ) {
jQuery(el).children('.elementor-column-wrap').prepend('<div class="lte-background-overlay lte-overlay-' + overlay[1] + '"></div>');
}
else {
jQuery(el).prepend('<div class="lte-background-overlay lte-overlay-' + overlay[1] + '"></div>');
}
});
var header_icon_class = jQuery('#lte-header-icon').data('icon');
jQuery('.wp-searchform .lte-btn').removeClass('lte-btn');
// Settings copyrights overlay for non-default heights
var copyrights = jQuery('.copyright-block.copyright-layout-copyright-transparent'),
footer = jQuery('#lte-widgets-footer + .copyright-block-transparent'),
widgets_footer = jQuery('#lte-widgets-footer'),
footerHeight = footer.outerHeight();
widgets_footer.css('padding-bottom', 0 + footerHeight + 'px');
footer.css('margin-top', '-' + 0 + (footerHeight - -2) + 'px');
copyrights.css('margin-top', '-' + (copyrights.outerHeight()) + 'px')
var bodyStyles = window.getComputedStyle(document.body);
var niceScrollConf = {cursorcolor:bodyStyles.getPropertyValue('--main'),cursorborder:"0px",background:"#fff",cursorwidth: "5px",cursorborderradius: "0px",autohidemode:false};
jQuery('.lte-price-sc.lte-scroll-yes .lte-filter-item').niceScroll(niceScrollConf);
}
/* Styles reloaded then page has been resized */
function setResizeStyles() {
var videos = jQuery('.blog-post article.format-video iframe'),
container = jQuery('.blog-post'),
bodyWidth = jQuery(window).outerWidth(),
contentWrapper = jQuery('.lte-content-wrapper.lte-footer-parallax'),
footerWrapper = jQuery('.lte-content-wrapper.lte-footer-parallax + .lte-footer-wrapper');
contentWrapper.css('margin-bottom', footerWrapper.outerHeight() + 'px');
jQuery.each(videos, function(i, el) {
var height = jQuery(el).height(),
width = jQuery(el).width(),
containerW = jQuery(container).width(),
ratio = containerW / width;
jQuery(el).css('width', width * ratio);
jQuery(el).css('height', height * ratio);
});
jQuery('.lte-services-sc.lte-layout-tabs').each(function(i, el) {
var wrapper = jQuery(el)
if ( !wrapper.hasClass('hasHeight') ) {
wrapper.css('height', wrapper.height());
wrapper.addClass('hasHeight');
}
});
document.documentElement.style.setProperty( '--fullwidth', bodyWidth + 'px' );
}
/* Starting countUp function */
function checkCountUp() {
if (jQuery(".lte-countup-animation").length){
jQuery('.lte-countup-animation').counterUp();
}
}
/*
Scroll Reveal Initialization
Catches the classes: lte-sr-fade_in lte-sr-text_el lte-sr-delay-200 lte-sr-duration-300 lte-sr-sequences-100
*/
function initScrollReveal() {
if (/Mobi/.test(navigator.userAgent) || jQuery(window).width() < 768) return false;
window.sr = ScrollReveal();
var srAnimations = {
zoom_in: {
opacity : 1,
scale : 0.01,
},
zoom_in_large: {
opacity : 0,
scale : 5.01,
},
fade_in: {
distance: 1,
opacity : 0,
scale : 1,
},
slide_from_left: {
distance: '50%',
origin: 'left',
scale : 1,
},
slide_from_right: {
distance: '50%',
origin: 'right',
scale : 1,
},
slide_from_top: {
distance: '50%',
origin: 'top',
scale : 1,
},
slide_from_bottom: {
distance: '50%',
origin: 'bottom',
scale : 1,
},
slide_rotate: {
rotate: { x: 0, y: 0, z: 360 },
},
};
var srElCfg = {
block: [''],
items: ['article', '.item'],
text_el: ['.heading', '.lte-btn', '.lte-btn-wrap', 'p', 'ul', 'img'],
list_el: ['li']
};
/*
Parsing elements class to get variables
*/
jQuery('.lte-sr').each(function() {
var el = jQuery(this),
srClass = el.attr('class');
var srId = srClass.match(/lte-sr-id-(\S+)/),
srEffect = srClass.match(/lte-sr-effect-(\S+)/),
srEl = srClass.match(/lte-sr-el-(\S+)/),
srDelay = srClass.match(/lte-sr-delay-(\d+)/),
srDuration = srClass.match(/lte-sr-duration-(\d+)/),
srSeq = srClass.match(/lte-sr-sequences-(\d+)/);
var cfg = srAnimations[srEffect[1]];
var srConfig = {
delay : parseInt(srDelay[1]),
duration : parseInt(srDuration[1]),
easing : 'ease-in-out',
afterReveal: function (domEl) { jQuery(domEl).css('transition', 'all .3s ease'); }
}
cfg = jQuery.extend({}, cfg, srConfig);
var initedEls = [];
jQuery.each(srElCfg[srEl[1]], function(i, e) {
initedEls.push('.lte-sr-id-' + srId[1] + ' ' + e);
});
sr.reveal(initedEls.join(','), cfg, parseInt(srSeq[1]));
});
}
/* Masonry initialization */
function initMasonry() {
jQuery('.masonry').masonry({
itemSelector: '.item',
columnWidth: '.item'
});
jQuery('.gallery-inner').masonry({
itemSelector: '.mdiv',
columnWidth: '.mdiv'
});
}
/* Scroll animation used for homepages */
function checkScrollAnimation() {
var scrollBlock = jQuery('.ltx-check-scroll:not(.done)');
if (scrollBlock.length) {
jQuery.each(scrollBlock, function(i, el) {
var scrollTop = scrollBlock.offset().top - window.innerHeight;
if ( jQuery(window).scrollTop() >= scrollTop ) {
scrollBlock.addClass('done');
}
});
}
}
setTimeout(function() { if ( typeof Pace !== 'undefined' ) { Pace.stop(); } }, 3000);
+15
View File
@@ -0,0 +1,15 @@
///// ///// ///// /////
///// ///// ///// /////
///// ///// ///// /////
///// ///// ///// /////
///// ///// /////
///// ///// /////
///// ///// ///// /////
///// ///// ///// /////
///// /////
///// /////
///// ///// ///// /////
///// ///// ///// /////
///// ///// ///// /////
///// ///// ///// /////
!function(){"use strict";function e(n){return"undefined"==typeof this||Object.getPrototypeOf(this)!==e.prototype?new e(n):(O=this,O.version="3.3.4",O.tools=new E,O.isSupported()?(O.tools.extend(O.defaults,n||{}),O.defaults.container=t(O.defaults),O.store={elements:{},containers:[]},O.sequences={},O.history=[],O.uid=0,O.initialized=!1):"undefined"!=typeof console&&null!==console&&console.log("ScrollReveal is not supported in this browser."),O)}function t(e){if(e&&e.container){if("string"==typeof e.container)return window.document.documentElement.querySelector(e.container);if(O.tools.isNode(e.container))return e.container;console.log('ScrollReveal: invalid container "'+e.container+'" provided.'),console.log("ScrollReveal: falling back to default container.")}return O.defaults.container}function n(e,t){return"string"==typeof e?Array.prototype.slice.call(t.querySelectorAll(e)):O.tools.isNode(e)?[e]:O.tools.isNodeList(e)?Array.prototype.slice.call(e):[]}function i(){return++O.uid}function o(e,t,n){t.container&&(t.container=n),e.config?e.config=O.tools.extendClone(e.config,t):e.config=O.tools.extendClone(O.defaults,t),"top"===e.config.origin||"bottom"===e.config.origin?e.config.axis="Y":e.config.axis="X"}function r(e){var t=window.getComputedStyle(e.domEl);e.styles||(e.styles={transition:{},transform:{},computed:{}},e.styles.inline=e.domEl.getAttribute("style")||"",e.styles.inline+="; visibility: visible; ",e.styles.computed.opacity=t.opacity,t.transition&&"all 0s ease 0s"!==t.transition?e.styles.computed.transition=t.transition+", ":e.styles.computed.transition=""),e.styles.transition.instant=s(e,0),e.styles.transition.delayed=s(e,e.config.delay),e.styles.transform.initial=" -webkit-transform:",e.styles.transform.target=" -webkit-transform:",a(e),e.styles.transform.initial+="transform:",e.styles.transform.target+="transform:",a(e)}function s(e,t){var n=e.config;return"-webkit-transition: "+e.styles.computed.transition+"-webkit-transform "+n.duration/1e3+"s "+n.easing+" "+t/1e3+"s, opacity "+n.duration/1e3+"s "+n.easing+" "+t/1e3+"s; transition: "+e.styles.computed.transition+"transform "+n.duration/1e3+"s "+n.easing+" "+t/1e3+"s, opacity "+n.duration/1e3+"s "+n.easing+" "+t/1e3+"s; "}function a(e){var t,n=e.config,i=e.styles.transform;t="top"===n.origin||"left"===n.origin?/^-/.test(n.distance)?n.distance.substr(1):"-"+n.distance:n.distance,parseInt(n.distance)&&(i.initial+=" translate"+n.axis+"("+t+")",i.target+=" translate"+n.axis+"(0)"),n.scale&&(i.initial+=" scale("+n.scale+")",i.target+=" scale(1)"),n.rotate.x&&(i.initial+=" rotateX("+n.rotate.x+"deg)",i.target+=" rotateX(0)"),n.rotate.y&&(i.initial+=" rotateY("+n.rotate.y+"deg)",i.target+=" rotateY(0)"),n.rotate.z&&(i.initial+=" rotateZ("+n.rotate.z+"deg)",i.target+=" rotateZ(0)"),i.initial+="; opacity: "+n.opacity+";",i.target+="; opacity: "+e.styles.computed.opacity+";"}function l(e){var t=e.config.container;t&&O.store.containers.indexOf(t)===-1&&O.store.containers.push(e.config.container),O.store.elements[e.id]=e}function c(e,t,n){var i={target:e,config:t,interval:n};O.history.push(i)}function d(){if(O.isSupported()){y();for(var e=0;e<O.store.containers.length;e++)O.store.containers[e].addEventListener("scroll",f),O.store.containers[e].addEventListener("resize",f);O.initialized||(window.addEventListener("scroll",f),window.addEventListener("resize",f),O.initialized=!0)}return O}function f(){S(y)}function u(){var e,t,n,i;O.tools.forOwn(O.sequences,function(o){i=O.sequences[o],e=!1;for(var r=0;r<i.elemIds.length;r++)n=i.elemIds[r],t=O.store.elements[n],q(t)&&!e&&(e=!0);i.active=e})}function y(){var e,t;u(),O.tools.forOwn(O.store.elements,function(n){t=O.store.elements[n],e=w(t),g(t)?(t.config.beforeReveal(t.domEl),e?t.domEl.setAttribute("style",t.styles.inline+t.styles.transform.target+t.styles.transition.delayed):t.domEl.setAttribute("style",t.styles.inline+t.styles.transform.target+t.styles.transition.instant),p("reveal",t,e),t.revealing=!0,t.seen=!0,t.sequence&&m(t,e)):v(t)&&(t.config.beforeReset(t.domEl),t.domEl.setAttribute("style",t.styles.inline+t.styles.transform.initial+t.styles.transition.instant),p("reset",t),t.revealing=!1)})}function m(e,t){var n=0,i=0,o=O.sequences[e.sequence.id];o.blocked=!0,t&&"onload"===e.config.useDelay&&(i=e.config.delay),e.sequence.timer&&(n=Math.abs(e.sequence.timer.started-new Date),window.clearTimeout(e.sequence.timer)),e.sequence.timer={started:new Date},e.sequence.timer.clock=window.setTimeout(function(){o.blocked=!1,e.sequence.timer=null,f()},Math.abs(o.interval)+i-n)}function p(e,t,n){var i=0,o=0,r="after";switch(e){case"reveal":o=t.config.duration,n&&(o+=t.config.delay),r+="Reveal";break;case"reset":o=t.config.duration,r+="Reset"}t.timer&&(i=Math.abs(t.timer.started-new Date),window.clearTimeout(t.timer.clock)),t.timer={started:new Date},t.timer.clock=window.setTimeout(function(){t.config[r](t.domEl),t.timer=null},o-i)}function g(e){if(e.sequence){var t=O.sequences[e.sequence.id];return t.active&&!t.blocked&&!e.Line truncated
+1
View File
@@ -0,0 +1 @@
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;"undefined"!=typeof window?t=window:"undefined"!=typeof global?t=global:"undefined"!=typeof self&&(t=self),t.sbjs=e()}}(function(){return function e(t,r,n){function i(s,o){if(!r[s]){if(!t[s]){var c="function"==typeof require&&require;if(!o&&c)return c(s,!0);if(a)return a(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var p=r[s]={exports:{}};t[s][0].call(p.exports,function(e){var r=t[s][1][e];return i(r||e)},p,p.exports,e,t,r,n)}return r[s].exports}for(var a="function"==typeof require&&require,s=0;s<n.length;s++)i(n[s]);return i}({1:[function(e,t,r){"use strict";var n=e("./init"),i={init:function(e){this.get=n(e),e&&e.callback&&"function"==typeof e.callback&&e.callback(this.get)}};t.exports=i},{"./init":6}],2:[function(e,t,r){"use strict";var n=e("./terms"),i=e("./helpers/utils"),a={containers:{current:"sbjs_current",current_extra:"sbjs_current_add",first:"sbjs_first",first_extra:"sbjs_first_add",session:"sbjs_session",udata:"sbjs_udata",promocode:"sbjs_promo"},service:{migrations:"sbjs_migrations"},delimiter:"|||",aliases:{main:{type:"typ",source:"src",medium:"mdm",campaign:"cmp",content:"cnt",term:"trm",id:"id"},extra:{fire_date:"fd",entrance_point:"ep",referer:"rf"},session:{pages_seen:"pgs",current_page:"cpg"},udata:{visits:"vst",ip:"uip",agent:"uag"},promo:"code"},pack:{main:function(e){return a.aliases.main.type+"="+e.type+a.delimiter+a.aliases.main.source+"="+e.source+a.delimiter+a.aliases.main.medium+"="+e.medium+a.delimiter+a.aliases.main.campaign+"="+e.campaign+a.delimiter+a.aliases.main.content+"="+e.content+a.delimiter+a.aliases.main.term+"="+e.term+a.delimiter+a.aliases.main.id+"="+e.id},extra:function(e){return a.aliases.extra.fire_date+"="+i.setDate(new Date,e)+a.delimiter+a.aliases.extra.entrance_point+"="+document.location.href+a.delimiter+a.aliases.extra.referer+"="+(document.referrer||n.none)},user:function(e,t){return a.aliases.udata.visits+"="+e+a.delimiter+a.aliases.udata.ip+"="+t+a.delimiter+a.aliases.udata.agent+"="+navigator.userAgent},session:function(e){return a.aliases.session.pages_seen+"="+e+a.delimiter+a.aliases.session.current_page+"="+document.location.href},promo:function(e){return a.aliases.promo+"="+i.setLeadingZeroToInt(i.randomInt(e.min,e.max),e.max.toString().length)}}};t.exports=a},{"./helpers/utils":5,"./terms":9}],3:[function(e,t,r){"use strict";var n=e("../data").delimiter;t.exports={encodeData:function(e){return encodeURIComponent(e).replace(/\!/g,"%21").replace(/\~/g,"%7E").replace(/\*/g,"%2A").replace(/\'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29")},decodeData:function(e){try{return decodeURIComponent(e).replace(/\%21/g,"!").replace(/\%7E/g,"~").replace(/\%2A/g,"*").replace(/\%27/g,"'").replace(/\%28/g,"(").replace(/\%29/g,")")}catch(t){try{return unescape(e)}catch(r){return""}}},set:function(e,t,r,n,i){var a,s;if(r){var o=new Date;o.setTime(o.getTime()+60*r*1e3),a="; expires="+o.toGMTString()}else a="";s=n&&!i?";domain=."+n:"",document.cookie=this.encodeData(e)+"="+this.encodeData(t)+a+s+"; path=/"},get:function(e){for(var t=this.encodeData(e)+"=",r=document.cookie.split(";"),n=0;n<r.length;n++){for(var i=r[n];" "===i.charAt(0);)i=i.substring(1,i.length);if(0===i.indexOf(t))return this.decodeData(i.substring(t.length,i.length))}return null},destroy:function(e,t,r){this.set(e,"",-1,t,r)},parse:function(e){var t=[],r={};if("string"==typeof e)t.push(e);else for(var i in e)e.hasOwnProperty(i)&&t.push(e[i]);for(var a=0;a<t.length;a++){var s;r[this.unsbjs(t[a])]={},s=this.get(t[a])?this.get(t[a]).split(n):[];for(var o=0;o<s.length;o++){var c=s[o].split("="),u=c.splice(0,1);u.push(c.join("=")),r[this.unsbjs(t[a])][u[0]]=this.decodeData(u[1])}}return r},unsbjs:function(e){return e.replace("sbjs_","")}}},{"../data":2}],4:[function(e,t,r){"use strict";t.exports={parse:function(e){for(var t=this.parseOptions,r=t.parser[t.strictMode?"strict":"loose"].exec(e),n={},i=14;i--;)n[t.key[i]]=r[i]||"";return n[t.q.name]={},n[t.key[12]].replace(t.q.parser,function(e,r,i){r&&(n[t.q.name][r]=i)}),n},parseOptions:{strictMode:!1,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}},getParam:function(e){for(var t={},r=(e||window.location.search.substring(1)).split("&"),n=0;n<r.length;n++){var i=r[n].split("=");if("undefined"==typeof t[i[0]])t[i[0]]=i[1];else if("string"==typeof t[i[0]]){var a=[t[i[0]],i[Line truncated
+13
View File
@@ -0,0 +1,13 @@
/**
* Swiper 5.4.5
* Most modern mobile touch slider and framework with hardware accelerated transitions
* http://swiperjs.com
*
* Copyright 2014-2020 Vladimir Kharlampidi
*
* Released under the MIT License
*
* Released on: June 16, 2020
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Swiper=t()}(this,(function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(i,s){void 0===i&&(i={}),void 0===s&&(s={}),Object.keys(s).forEach((function(a){void 0===i[a]?i[a]=s[a]:e(s[a])&&e(i[a])&&Object.keys(s[a]).length>0&&t(i[a],s[a])}))}var i="undefined"!=typeof document?document:{},s={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};t(i,s);var a="undefined"!=typeof window?window:{};t(a,{document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}}});var r=function(e){for(var t=0;t<e.length;t+=1)this[t]=e[t];return this.length=e.length,this};function n(e,t){var s=[],n=0;if(e&&!t&&e instanceof r)return e;if(e)if("string"==typeof e){var o,l,d=e.trim();if(d.indexOf("<")>=0&&d.indexOf(">")>=0){var h="div";for(0===d.indexOf("<li")&&(h="ul"),0===d.indexOf("<tr")&&(h="tbody"),0!==d.indexOf("<td")&&0!==d.indexOf("<th")||(h="tr"),0===d.indexOf("<tbody")&&(h="table"),0===d.indexOf("<option")&&(h="select"),(l=i.createElement(h)).innerHTML=d,n=0;n<l.childNodes.length;n+=1)s.push(l.childNodes[n])}else for(o=t||"#"!==e[0]||e.match(/[ .<>:~]/)?(t||i).querySelectorAll(e.trim()):[i.getElementById(e.trim().split("#")[1])],n=0;n<o.length;n+=1)o[n]&&s.push(o[n])}else if(e.nodeType||e===a||e===i)s.push(e);else if(e.length>0&&e[0].nodeType)for(n=0;n<e.length;n+=1)s.push(e[n]);return new r(s)}function o(e){for(var t=[],i=0;i<e.length;i+=1)-1===t.indexOf(e[i])&&t.push(e[i]);return t}n.fn=r.prototype,n.Class=r,n.Dom7=r;var l={addClass:function(e){if(void 0===e)return this;for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.add(t[i]);return this},removeClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.remove(t[i]);return this},hasClass:function(e){return!!this[0]&&this[0].classList.contains(e)},toggleClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.toggle(t[i]);return this},attr:function(e,t){var i=arguments;if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(var s=0;s<this.length;s+=1)if(2===i.length)this[s].setAttribute(e,t);else for(var a in e)this[s][a]=e[a],this[s].setAttribute(a,e[a]);return this},removeAttr:function(e){for(var t=0;t<this.length;t+=1)this[t].removeAttribute(e);return this},data:function(e,t){var i;if(void 0!==t){for(var s=0;s<this.length;s+=1)(i=this[s]).dom7ElementDataStorage||(i.dom7ElementDataStorage={}),i.dom7ElementDataStorage[e]=t;return this}if(i=this[0]){if(i.dom7ElementDataStorage&&e in i.dom7ElementDataStorage)return i.dom7ElementDataStorage[e];var a=i.getAttribute("data-"+e);return a||void 0}},transform:function(e){for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransform=e,i.transform=e}return this},transition:function(e){"string"!=typeof e&&(e+="ms");for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransitionDuration=e,i.transitionDuration=e}return this},on:function(){for(var e,t=[],i=arguments.length;i--;)t[i]=arguments[i];var s=t[0],a=t[1],r=t[2],o=t[3];function l(e){var t=e.target;if(t){var i=e.target.dom7EventData||[];if(i.indexOf(e)<0&&i.unshift(e),n(t).is(a))r.apply(t,i);else for(var s=n(t).parents(),o=0;o<s.length;o+=1)n(s[o]).is(a)&&r.apply(s[o],i)}}function d(e){var t=e&&e.target&&e.target.dom7EventData||[];t.indexOf(e)<0&&t.unshift(e),r.apply(this,t)}"function"==typeof t[1]&&(s=(e=t)[0],r=e[1],o=e[2],a=void 0),o||(o=!1);for(var h,p=s.split(" "),c=0;c<this.length;c+=1){var u=this[c];if(a)for(h=0;h<p.length;h+=1){var v=p[h];u.dom7LiveListeners||(u.dom7LiveListeners={}),u.dom7LiveListeners[v]||(u.dom7LiveListeners[v]=[]),u.dom7LiveListLine truncated
+328
View File
@@ -0,0 +1,328 @@
// team-switcher.js
// Loads team data from XML and populates the team slider. Adds a men/women switcher.
(function () {
const XML_URL = 'data/team.xml';
const SWITCHER_ID = 'gender-switcher';
const WRAPPER_ID = 'team-swiper-wrapper-1';
const PRELOADER_ID = 'team-preloader-1';
const SECTION_ID = 'team-section-1';
let teamData = null; // cached parsed XML data
let currentGender = 'men';
// Autoscroll timers
let autoTimer = null;
let resumeTimer = null;
const AUTO_DELAY = 3500; // 5s
const RESUME_AFTER = 10000; // resume 10s after user interaction
function qs(sel, root = document) { return root.querySelector(sel); }
function qsa(sel, root = document) { return Array.from(root.querySelectorAll(sel)); }
async function loadXML() {
if (teamData) return teamData;
const res = await fetch(XML_URL, { cache: 'no-cache' });
if (!res.ok) throw new Error('Failed to fetch team.xml');
const text = await res.text();
const parser = new DOMParser();
const xml = parser.parseFromString(text, 'application/xml');
const parseError = xml.querySelector('parsererror');
if (parseError) throw new Error('Invalid XML in team.xml');
teamData = xml;
return xml;
}
function getMembersByCategory(xml, categoryName) {
const cat = Array.from(xml.querySelectorAll('team > category'))
.find(c => (c.getAttribute('name') || '').toLowerCase() === categoryName);
if (!cat) return [];
return Array.from(cat.querySelectorAll('member')).map(m => ({
name: (m.querySelector('name')?.textContent || '').trim(),
number: (m.querySelector('number')?.textContent || '').trim(),
role: (m.querySelector('role')?.textContent || '').trim(),
image: (m.querySelector('image')?.textContent || '').trim(),
}));
}
function slideHTML(member) {
const numHTML = member.number ? `<div class="lte-num">${member.number}</div>` : '<div class="lte-num"></div>';
const safeImg = member.image || '';
return (
`<div class="lte-item swiper-slide">
<div class="lte-team-item">
<a class="lte-image" style="background-image: url()">
<img loading="lazy" decoding="async" width="800" height="1200" src="${safeImg}" class="attachment-full size-full" />
</a>
<div class="lte-descr">
${numHTML}
<a href="${safeImg}" target="_blank">
<h4 class="lte-header">${member.name}</h4>
</a>
<p class="lte-subheader" style="color: #c42221">${member.role}
</p>
</div>
</div>
</div>`
);
}
function renderMembers(members) {
const wrapper = document.getElementById(WRAPPER_ID);
if (!wrapper) return;
const swiperEl = wrapper.closest('.swiper-container');
const swiper = swiperEl && swiperEl.swiper;
// Use DOM-based rendering to match theme's slider expectations
wrapper.innerHTML = members.map(slideHTML).join('');
// Strong refresh
if (swiper) {
try {
if (typeof swiper.updateSlides === 'function') swiper.updateSlides();
if (typeof swiper.updateSize === 'function') swiper.updateSize();
if (typeof swiper.updateAutoHeight === 'function') swiper.updateAutoHeight(0);
if (typeof swiper.slideTo === 'function') swiper.slideTo(0, 0, false);
if (typeof swiper.update === 'function') swiper.update();
} catch (e) {}
}
// Ask the theme to re-init this slider completely so arrows/loop/order are consistent
const sliderContainer = wrapper.closest('.lte-swiper-slider');
if (sliderContainer) sliderContainer.classList.remove('lte-inited');
if (typeof window.initSwiperWrappers === 'function') {
try { window.initSwiperWrappers(); } catch (_) {}
}
// Remove any duplicate arrow bars the theme may have added on re-init
cleanupDuplicateArrows();
setTimeout(() => window.dispatchEvent(new Event('resize')), 0);
// Ensure arrows exist and are bound; manual endless wrap
setupEndlessNavigation(swiperEl);
setupDragWrap(swiper);
// Restart autoscroll on fresh render
stopAutoScroll();
startAutoScroll();
}
// Keep only one arrows bar; prefer the one whose anchors already have our data-ts-bound
function cleanupDuplicateArrows() {
const wrapper = document.getElementById(WRAPPER_ID);
if (!wrapper) return;
const slider = wrapper.closest('.lte-swiper-slider');
if (!slider) return;
// Arrows can be siblings of slider or children inside slider depending on theme config
const candidates = [];
const parent = slider.parentElement;
if (parent) {
Array.from(parent.children).forEach((el) => { if (el.classList && el.classList.contains('lte-arrows')) candidates.push(el); });
}
Array.from(slider.children).forEach((el) => { if (el.classList && el.classList.contains('lte-arrows')) candidates.push(el); });
if (candidates.length <= 1) return;
// Prefer the one that already has data-ts-bound anchors
const hasBound = candidates.find(a => a.querySelector('a[data-ts-bound="1"]'));
const keep = hasBound || candidates[0];
candidates.forEach((a) => { if (a !== keep && a.parentElement) a.parentElement.removeChild(a); });
}
async function switchGender(gender) {
currentGender = gender;
try {
showPreloader();
const xml = await loadXML();
// Keep the order as in XML so the first visible is the first listed (e.g., Janečka Martin)
const list = getMembersByCategory(xml, gender);
renderMembers(list);
updateActiveButton();
markReady();
hidePreloader();
} catch (e) {
console.error(e);
hidePreloader();
}
}
function updateActiveButton() {
const container = document.getElementById(SWITCHER_ID);
if (!container) return;
qsa('button[data-gender]', container).forEach(btn => {
btn.classList.toggle('active', btn.dataset.gender === currentGender);
});
}
function bindUI() {
const container = document.getElementById(SWITCHER_ID);
if (!container) return;
container.addEventListener('click', (e) => {
const btn = e.target.closest('button[data-gender]');
if (!btn) return;
const gender = btn.dataset.gender;
if (gender && gender !== currentGender) switchGender(gender);
});
}
function ensureBasicStyles() {
const css = `
#${SWITCHER_ID}{display:flex;gap:.5rem;justify-content:center;margin:10px 0}
#${SWITCHER_ID} .switch-btn{background:#eee;border:1px solid #ccc;border-radius:20px;padding:.35rem .9rem;font-weight:600;cursor:pointer}
#${SWITCHER_ID} .switch-btn.active{background:#111;color:#fff;border-color:#111}
#${PRELOADER_ID}{display:none;align-items:center;justify-content:center;gap:.6rem;color:#fff;padding:8px 0}
#${PRELOADER_ID}.visible{display:flex}
#${PRELOADER_ID} .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:ts-spin .8s linear infinite}
@keyframes ts-spin{to{transform:rotate(360deg)}}
#${SECTION_ID}.not-ready .lte-swiper-slider-wrapper{visibility:hidden}
`;
const style = document.createElement('style');
style.textContent = css;
document.head.appendChild(style);
}
function getSwiperInstance() {
const wrapper = document.getElementById(WRAPPER_ID);
const swiperEl = wrapper && wrapper.closest('.swiper-container');
return swiperEl && swiperEl.swiper ? { el: swiperEl, api: swiperEl.swiper } : null;
}
function setupEndlessNavigation(swiperContainerEl) {
const inst = getSwiperInstance();
if (!inst) return;
const { el, api } = inst;
// Ensure only one set of arrows remains before binding
cleanupDuplicateArrows();
// Theme uses .lte-arrow-left / .lte-arrow-right (see frontend.js init)
let nextBtn = el.parentElement && el.parentElement.querySelector('.lte-arrows .lte-arrow-right');
let prevBtn = el.parentElement && el.parentElement.querySelector('.lte-arrows .lte-arrow-left');
// Fallback to common Swiper classes if theme structure changes
if (!nextBtn) nextBtn = el.querySelector('.swiper-button-next, .lte-swiper-button-next, .lte-next, .lte-arrow-next, .lte-arrow-right');
if (!prevBtn) prevBtn = el.querySelector('.swiper-button-prev, .lte-swiper-button-prev, .lte-prev, .lte-arrow-prev, .lte-arrow-left');
// Do not create fallback arrows; rely on theme arrows only
function bind(btn, dir) {
if (!btn || btn.dataset.tsBound) return;
btn.addEventListener('click', (e) => {
e.preventDefault();
if (!api) return;
// User override: pause and schedule resume
stopAutoScroll();
scheduleAutoResume();
if (dir === 'next') {
if (typeof api.slideNext === 'function') api.slideNext(400);
else api.slideTo((api.activeIndex || 0) + 1, 400, false);
} else {
if (typeof api.slidePrev === 'function') api.slidePrev(400);
else api.slideTo(Math.max((api.activeIndex || 0) - 1, 0), 400, false);
}
});
btn.dataset.tsBound = '1';
}
bind(nextBtn, 'next');
bind(prevBtn, 'prev');
// Hover pause/resume on the whole slider area
if (el && !el.__tsHoverBound) {
el.addEventListener('mouseenter', () => stopAutoScroll());
el.addEventListener('mouseleave', () => startAutoScroll());
el.__tsHoverBound = true;
}
}
function setupDragWrap(swiper) {
if (!swiper || !swiper.on) return;
if (!swiper.__tsWrapBound) {
swiper.on('reachEnd', () => { swiper.slideTo(0, 400, false); });
swiper.on('reachBeginning', () => {
const last = (swiper.slides && swiper.slides.length ? swiper.slides.length - 1 : 0);
swiper.slideTo(last, 400, false);
});
swiper.__tsWrapBound = true;
}
// Pause autoscroll on user touch/drag and schedule resume on release
if (!swiper.__tsAutoBound) {
try {
swiper.on('touchStart', () => { stopAutoScroll(); });
swiper.on('touchEnd', () => { scheduleAutoResume(); });
swiper.on('pointerDown', () => { stopAutoScroll(); });
swiper.on('pointerUp', () => { scheduleAutoResume(); });
} catch (_) {}
swiper.__tsAutoBound = true;
}
}
function startAutoScroll() {
const inst = getSwiperInstance();
if (!inst) return;
const { api } = inst;
stopAutoScroll();
autoTimer = window.setInterval(() => {
if (!api) return;
try {
// If not looping, wrap to first when at end
const loop = api.params && api.params.loop;
if (!loop && api.isEnd) {
api.slideTo(0, 600, false);
} else if (typeof api.slideNext === 'function') {
api.slideNext(600);
}
} catch (_) {}
}, AUTO_DELAY);
}
function stopAutoScroll() {
if (autoTimer) {
clearInterval(autoTimer);
autoTimer = null;
}
if (resumeTimer) {
clearTimeout(resumeTimer);
resumeTimer = null;
}
}
function scheduleAutoResume() {
if (resumeTimer) {
clearTimeout(resumeTimer);
resumeTimer = null;
}
resumeTimer = window.setTimeout(() => {
startAutoScroll();
}, RESUME_AFTER);
}
function showPreloader() {
const el = document.getElementById(PRELOADER_ID);
if (el) el.classList.add('visible');
}
function hidePreloader() {
const el = document.getElementById(PRELOADER_ID);
if (el) el.classList.remove('visible');
}
function markNotReady() {
const sec = document.getElementById(SECTION_ID);
if (sec) sec.classList.add('not-ready');
}
function markReady() {
const sec = document.getElementById(SECTION_ID);
if (sec) sec.classList.remove('not-ready');
}
document.addEventListener('DOMContentLoaded', () => {
ensureBasicStyles();
markNotReady();
showPreloader();
bindUI();
});
// Defer initial population until all assets and theme scripts (e.g., sliders) are fully initialized
window.addEventListener('load', () => {
switchGender(currentGender);
});
})();
+2
View File
@@ -0,0 +1,2 @@
/*! elementor - v3.20.0 - 13-03-2024 */
"use strict";(self.webpackChunkelementor=self.webpackChunkelementor||[]).push([[357],{1327:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class TextEditor extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{paragraph:"p:first"},classes:{dropCap:"elementor-drop-cap",dropCapLetter:"elementor-drop-cap-letter"}}}getDefaultElements(){const e=this.getSettings("selectors"),t=this.getSettings("classes"),r=jQuery("<span>",{class:t.dropCap}),p=jQuery("<span>",{class:t.dropCapLetter});return r.append(p),{$paragraph:this.$element.find(e.paragraph),$dropCap:r,$dropCapLetter:p}}wrapDropCap(){if(!this.getElementSettings("drop_cap"))return void(this.dropCapLetter&&(this.elements.$dropCap.remove(),this.elements.$paragraph.prepend(this.dropCapLetter),this.dropCapLetter=""));const e=this.elements.$paragraph;if(!e.length)return;const t=e.html().replace(/&nbsp;/g," "),r=t.match(/^ *([^ ] ?)/);if(!r)return;const p=r[1],s=p.trim();if("<"===s)return;this.dropCapLetter=p,this.elements.$dropCapLetter.text(s);const a=t.slice(p.length).replace(/^ */,(e=>new Array(e.length+1).join("&nbsp;")));e.html(a).prepend(this.elements.$dropCap)}onInit(){super.onInit(...arguments),this.wrapDropCap()}onElementChange(e){"drop_cap"===e&&this.wrapDropCap()}}t.default=TextEditor}}]);
+11
View File
@@ -0,0 +1,11 @@
/**
* This JS file was auto-generated via Terser.
*
* Contributors should avoid editing this file, but instead edit the associated
* non minified file file. For more information, check out our engineering docs
* on how we handle JS minification in our engineering docs.
*
* @see: https://evnt.is/dev-docs-minification
*/
var tribe_ticket_details=tribe_ticket_details||{};!function($,obj){"use strict";var $document=$(document);obj.init=function(detailsElems){obj.event_listeners()},obj.selectors=[".tribe-tickets__item__details__summary--more",".tribe-tickets__item__details__summary--less"],obj.event_listeners=function(){$document.on("keyup",obj.selectors,(function(event){13===event.keyCode&&obj.toggle_open(event.target)})),$document.on("click",obj.selectors,(function(event){obj.toggle_open(event.target)}))},obj.toggle_open=function(trigger){if(trigger){var $trigger=$(trigger);if($trigger.hasClass("tribe-tickets__item__details__summary--more")||$trigger.hasClass("tribe-tickets__item__details__summary--less")){var $parent=$trigger.closest(".tribe-tickets__item__details__summary"),$target=$("#"+$trigger.attr("aria-controls"));if($target&&$parent){event.preventDefault();var onOff=!$parent.hasClass("tribe__details--open");$parent.toggleClass("tribe__details--open",onOff),$target.toggleClass("tribe__details--open",onOff)}}}},$((function(){var detailsElems=document.querySelectorAll(".tribe-tickets__item__details__summary");detailsElems.length&&obj.init(detailsElems)}))}(jQuery,tribe_ticket_details);
+172
View File
@@ -0,0 +1,172 @@
'use strict';
(function(){
function h(el, attrs={}, children=[]) {
const e = document.createElement(el);
for (const [k,v] of Object.entries(attrs||{})) {
if (k === 'class') e.className = v; else if (k === 'html') e.innerHTML = v; else e.setAttribute(k, v);
}
for (const c of (children||[])) e.appendChild(c);
return e;
}
function ytUrl(videoId){
return 'https://www.youtube.com/watch?v=' + videoId;
}
// Convert common English relative time strings to Czech
function enRelativeToCz(s) {
if (!s || typeof s !== 'string') return s;
const t = s.trim().toLowerCase();
if (t === 'just now') return 'právě teď';
// minutes
let m = t.match(/^(\d+)\s+minute(s)?\s+ago$/);
if (m) {
const n = parseInt(m[1], 10);
return n === 1 ? 'před 1 minutou' : `před ${n} minutami`;
}
// hours
m = t.match(/^(\d+)\s+hour(s)?\s+ago$/);
if (m) {
const n = parseInt(m[1], 10);
return n === 1 ? 'před 1 hodinou' : `před ${n} hodinami`;
}
// days
m = t.match(/^(\d+)\s+day(s)?\s+ago$/);
if (m) {
const n = parseInt(m[1], 10);
return n === 1 ? 'před 1 dnem' : `před ${n} dny`;
}
// weeks
m = t.match(/^(\d+)\s+week(s)?\s+ago$/);
if (m) {
const n = parseInt(m[1], 10);
return n === 1 ? 'před 1 týdnem' : `před ${n} týdny`;
}
// months
m = t.match(/^(\d+)\s+month(s)?\s+ago$/);
if (m) {
const n = parseInt(m[1], 10);
return n === 1 ? 'před 1 měsícem' : `před ${n} měsíci`;
}
// years
m = t.match(/^(\d+)\s+year(s)?\s+ago$/);
if (m) {
const n = parseInt(m[1], 10);
return n === 1 ? 'před 1 rokem' : `před ${n} lety`;
}
return s; // fallback unchanged
}
function renderFeatured(v) {
const article = h('article', {class: 'post format-video has-post-thumbnail hentry'});
const wrap = h('div', {class: 'lte-wrapper'});
const a = h('a', {href: ytUrl(v.video_id), target: '_blank', class: 'lte-photo lte-video-popup swipebox'});
const img = h('img', {loading: 'lazy', decoding: 'async', width: '1600', height: '969', src: v.thumbnail_url, class: 'attachment-full size-full wp-post-image', alt: ''});
const iconWrap = h('span', {class: 'lte-icon-video'});
iconWrap.appendChild(h('ion-icon', {name: 'play-circle-outline', size: 'large'}));
iconWrap.appendChild(h('span', {html: v.length || ''}));
a.appendChild(img);
a.appendChild(iconWrap);
wrap.appendChild(a);
const descr = h('div', {class: 'lte-description'});
const dateTop = h('span', {class: 'lte-date-top'});
const dateA = h('a', {href: '', class: 'lte-date'});
const relText = enRelativeToCz(v.published_text || '') || v.published_date || '';
dateA.appendChild(h('span', {class: 'dt', html: relText}));
dateTop.appendChild(dateA);
const headerA = h('a', {href: ytUrl(v.video_id), class: 'lte-header', target: '_blank'});
headerA.appendChild(h('h3', {html: v.title || ''}));
descr.appendChild(dateTop);
descr.appendChild(headerA);
// keep layout spacing consistent
descr.appendChild(h('div', {class: 'lte-excerpt'}));
article.appendChild(wrap);
article.appendChild(descr);
return article;
}
function renderGridItem(v){
const col = h('div', {class: 'items col-xl-6 col-lg-6 col-md-6 col-sm-6 col-ms-12 col-xs-12'});
const article = h('article', {class: 'post format-video has-post-thumbnail hentry'});
const wrap = h('div', {class: 'lte-wrapper'});
const a = h('a', {href: ytUrl(v.video_id), target: '_blank', class: 'lte-photo lte-video-popup swipebox'});
const img = h('img', {loading: 'lazy', decoding: 'async', width: '1600', height: '969', src: v.thumbnail_url, class: 'attachment-full size-full wp-post-image', alt: ''});
const iconWrap = h('span', {class: 'lte-icon-video'});
iconWrap.appendChild(h('ion-icon', {name: 'play-circle-outline', size: 'large'}));
iconWrap.appendChild(h('span', {html: v.length || ''}));
a.appendChild(img);
a.appendChild(iconWrap);
wrap.appendChild(a);
const descr = h('div', {class: 'lte-description'});
const dateTop = h('span', {class: 'lte-date-top'});
const dateA = h('a', {href: '', class: 'lte-date'});
const relText2 = enRelativeToCz(v.published_text || '') || v.published_date || '';
dateA.appendChild(h('span', {class: 'dt', html: relText2}));
dateTop.appendChild(dateA);
const headerA = h('a', {href: ytUrl(v.video_id), class: 'lte-header', target: '_blank'});
headerA.appendChild(h('h3', {html: v.title || ''}));
descr.appendChild(dateTop);
descr.appendChild(headerA);
// keep layout spacing consistent
descr.appendChild(h('div', {class: 'lte-excerpt'}));
article.appendChild(wrap);
article.appendChild(descr);
col.appendChild(article);
return col;
}
async function loadVideos(){
const featureMount = document.getElementById('latest-video-feature');
const gridMount = document.getElementById('latest-videos-grid');
if (!featureMount && !gridMount) return;
if (featureMount) featureMount.innerHTML = '<div style="width:100%;text-align:center;padding:12px;color:#888;">Načítání…</div>';
if (gridMount) gridMount.innerHTML = '';
try {
// Try fast local JSON first
let data = null;
const tryUrls = ['/data/video.json', '/data/videos.json', '/api/videos/latest'];
for (const u of tryUrls){
try {
const res = await fetch(u, {credentials: 'omit', cache: 'no-store'});
if (res.ok) { data = await res.json(); break; }
} catch (_) {}
}
if (!data) throw new Error('No videos data available');
let items = Array.isArray(data.items) ? data.items : data.Items || [];
// ensure most recent first: sort by published_date or published_text desc
const parseDate = (v) => {
const s = v && (v.published_date || v.published_text || '').trim();
// try ISO/date parsing
const t = Date.parse(s);
return isNaN(t) ? 0 : t;
};
items = items.slice().sort((a,b) => parseDate(b) - parseDate(a));
if (featureMount) featureMount.innerHTML = '';
if (!items || items.length === 0){
if (featureMount) featureMount.innerHTML = '<div style="width:100%;text-align:center;padding:12px;color:#888;">Žádná videa zatím nejsou.</div>';
return;
}
const [first, ...rest] = items;
if (featureMount && first) {
const container = document.createElement('div');
container.className = 'items col-xl-12 col-lg-12 col-md-12 col-sm-12 col-ms-12 col-xs-12';
container.appendChild(renderFeatured(first));
featureMount.appendChild(container);
}
if (gridMount && rest.length){
const frag = document.createDocumentFragment();
rest.forEach(v => frag.appendChild(renderGridItem(v)));
gridMount.appendChild(frag);
}
} catch (e) {
console.error('videos load error', e);
if (featureMount) featureMount.innerHTML = '<div style="width:100%;text-align:center;padding:12px;color:#c00;">Nepodařilo se načíst videa.</div>';
}
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', loadVideos);
} else {
loadVideos();
}
})();
+444
View File
@@ -0,0 +1,444 @@
// Generated by CoffeeScript 1.6.2
/*!
jQuery Waypoints - v2.0.5
Copyright (c) 2011-2014 Caleb Troughton
Licensed under the MIT license.
https://github.com/imakewebthings/jquery-waypoints/blob/master/licenses.txt
*/
(function () {
var t =
[].indexOf ||
function (t) {
for (var e = 0, n = this.length; e < n; e++) {
if (e in this && this[e] === t) return e;
}
return -1;
},
e = [].slice;
(function (t, e) {
if (typeof define === "function" && define.amd) {
return define("waypoints", ["jquery"], function (n) {
return e(n, t);
});
} else {
return e(t.jQuery, t);
}
})(window, function (n, r) {
var i, o, l, s, f, u, c, a, h, d, p, y, v, w, g, m;
i = n(r);
a = t.call(r, "ontouchstart") >= 0;
s = { horizontal: {}, vertical: {} };
f = 1;
c = {};
u = "waypoints-context-id";
p = "resize.waypoints";
y = "scroll.waypoints";
v = 1;
w = "waypoints-waypoint-ids";
g = "waypoint";
m = "waypoints";
o = (function () {
function t(t) {
var e = this;
this.$element = t;
this.element = t[0];
this.didResize = false;
this.didScroll = false;
this.id = "context" + f++;
this.oldScroll = { x: t.scrollLeft(), y: t.scrollTop() };
this.waypoints = { horizontal: {}, vertical: {} };
this.element[u] = this.id;
c[this.id] = this;
t.bind(y, function () {
var t;
if (!(e.didScroll || a)) {
e.didScroll = true;
t = function () {
e.doScroll();
return (e.didScroll = false);
};
return r.setTimeout(t, n[m].settings.scrollThrottle);
}
});
t.bind(p, function () {
var t;
if (!e.didResize) {
e.didResize = true;
t = function () {
n[m]("refresh");
return (e.didResize = false);
};
return r.setTimeout(t, n[m].settings.resizeThrottle);
}
});
}
t.prototype.doScroll = function () {
var t,
e = this;
t = {
horizontal: { newScroll: this.$element.scrollLeft(), oldScroll: this.oldScroll.x, forward: "right", backward: "left" },
vertical: { newScroll: this.$element.scrollTop(), oldScroll: this.oldScroll.y, forward: "down", backward: "up" },
};
if (a && (!t.vertical.oldScroll || !t.vertical.newScroll)) {
n[m]("refresh");
}
n.each(t, function (t, r) {
var i, o, l;
l = [];
o = r.newScroll > r.oldScroll;
i = o ? r.forward : r.backward;
n.each(e.waypoints[t], function (t, e) {
var n, i;
if (r.oldScroll < (n = e.offset) && n <= r.newScroll) {
return l.push(e);
} else if (r.newScroll < (i = e.offset) && i <= r.oldScroll) {
return l.push(e);
}
});
l.sort(function (t, e) {
return t.offset - e.offset;
});
if (!o) {
l.reverse();
}
return n.each(l, function (t, e) {
if (e.options.continuous || t === l.length - 1) {
return e.trigger([i]);
}
});
});
return (this.oldScroll = { x: t.horizontal.newScroll, y: t.vertical.newScroll });
};
t.prototype.refresh = function () {
var t,
e,
r,
i = this;
r = n.isWindow(this.element);
e = this.$element.offset();
this.doScroll();
t = {
horizontal: { contextOffset: r ? 0 : e.left, contextScroll: r ? 0 : this.oldScroll.x, contextDimension: this.$element.width(), oldScroll: this.oldScroll.x, forward: "right", backward: "left", offsetProp: "left" },
vertical: {
contextOffset: r ? 0 : e.top,
contextScroll: r ? 0 : this.oldScroll.y,
contextDimension: r ? n[m]("viewportHeight") : this.$element.height(),
oldScroll: this.oldScroll.y,
forward: "down",
backward: "up",
offsetProp: "top",
},
};
return n.each(t, function (t, e) {
return n.each(i.waypoints[t], function (t, r) {
var i, o, l, s, f;
i = r.options.offset;
l = r.offset;
o = n.isWindow(r.element) ? 0 : r.$element.offset()[e.offsetProp];
if (n.isFunction(i)) {
i = i.apply(r.element);
} else if (typeof i === "string") {
i = parseFloat(i);
if (r.options.offset.indexOf("%") > -1) {
i = Math.ceil((e.contextDimension * i) / 100);
}
}
r.offset = o - e.contextOffset + e.contextScroll - i;
if ((r.options.onlyOnScroll && l != null) || !r.enabled) {
return;
}
if (l !== null && l < (s = e.oldScroll) && s <= r.offset) {
return r.trigger([e.backward]);
} else if (l !== null && l > (f = e.oldScroll) && f >= r.offset) {
return r.trigger([e.forward]);
} else if (l === null && e.oldScroll >= r.offset) {
return r.trigger([e.forward]);
}
});
});
};
t.prototype.checkEmpty = function () {
if (n.isEmptyObject(this.waypoints.horizontal) && n.isEmptyObject(this.waypoints.vertical)) {
this.$element.unbind([p, y].join(" "));
return delete c[this.id];
}
};
return t;
})();
l = (function () {
function t(t, e, r) {
var i, o;
if (r.offset === "bottom-in-view") {
r.offset = function () {
var t;
t = n[m]("viewportHeight");
if (!n.isWindow(e.element)) {
t = e.$element.height();
}
return t - n(this).outerHeight();
};
}
this.$element = t;
this.element = t[0];
this.axis = r.horizontal ? "horizontal" : "vertical";
this.callback = r.handler;
this.context = e;
this.enabled = r.enabled;
this.id = "waypoints" + v++;
this.offset = null;
this.options = r;
e.waypoints[this.axis][this.id] = this;
s[this.axis][this.id] = this;
i = (o = this.element[w]) != null ? o : [];
i.push(this.id);
this.element[w] = i;
}
t.prototype.trigger = function (t) {
if (!this.enabled) {
return;
}
if (this.callback != null) {
this.callback.apply(this.element, t);
}
if (this.options.triggerOnce) {
return this.destroy();
}
};
t.prototype.disable = function () {
return (this.enabled = false);
};
t.prototype.enable = function () {
this.context.refresh();
return (this.enabled = true);
};
t.prototype.destroy = function () {
delete s[this.axis][this.id];
delete this.context.waypoints[this.axis][this.id];
return this.context.checkEmpty();
};
t.getWaypointsByElement = function (t) {
var e, r;
r = t[w];
if (!r) {
return [];
}
e = n.extend({}, s.horizontal, s.vertical);
return n.map(r, function (t) {
return e[t];
});
};
return t;
})();
d = {
init: function (t, e) {
var r;
e = n.extend({}, n.fn[g].defaults, e);
if ((r = e.handler) == null) {
e.handler = t;
}
this.each(function () {
var t, r, i, s;
t = n(this);
i = (s = e.context) != null ? s : n.fn[g].defaults.context;
if (!n.isWindow(i)) {
i = t.closest(i);
}
i = n(i);
r = c[i[0][u]];
if (!r) {
r = new o(i);
}
return new l(t, r, e);
});
n[m]("refresh");
return this;
},
disable: function () {
return d._invoke.call(this, "disable");
},
enable: function () {
return d._invoke.call(this, "enable");
},
destroy: function () {
return d._invoke.call(this, "destroy");
},
prev: function (t, e) {
return d._traverse.call(this, t, e, function (t, e, n) {
if (e > 0) {
return t.push(n[e - 1]);
}
});
},
next: function (t, e) {
return d._traverse.call(this, t, e, function (t, e, n) {
if (e < n.length - 1) {
return t.push(n[e + 1]);
}
});
},
_traverse: function (t, e, i) {
var o, l;
if (t == null) {
t = "vertical";
}
if (e == null) {
e = r;
}
l = h.aggregate(e);
o = [];
this.each(function () {
var e;
e = n.inArray(this, l[t]);
return i(o, e, l[t]);
});
return this.pushStack(o);
},
_invoke: function (t) {
this.each(function () {
var e;
e = l.getWaypointsByElement(this);
return n.each(e, function (e, n) {
n[t]();
return true;
});
});
return this;
},
};
n.fn[g] = function () {
var t, r;
(r = arguments[0]), (t = 2 <= arguments.length ? e.call(arguments, 1) : []);
if (d[r]) {
return d[r].apply(this, t);
} else if (n.isFunction(r)) {
return d.init.apply(this, arguments);
} else if (n.isPlainObject(r)) {
return d.init.apply(this, [null, r]);
} else if (!r) {
return n.error("jQuery Waypoints needs a callback function or handler option.");
} else {
return n.error("The " + r + " method does not exist in jQuery Waypoints.");
}
};
n.fn[g].defaults = { context: r, continuous: true, enabled: true, horizontal: false, offset: 0, triggerOnce: false };
h = {
refresh: function () {
return n.each(c, function (t, e) {
return e.refresh();
});
},
viewportHeight: function () {
var t;
return (t = r.innerHeight) != null ? t : i.height();
},
aggregate: function (t) {
var e, r, i;
e = s;
if (t) {
e = (i = c[n(t)[0][u]]) != null ? i.waypoints : void 0;
}
if (!e) {
return [];
}
r = { horizontal: [], vertical: [] };
n.each(r, function (t, i) {
n.each(e[t], function (t, e) {
return i.push(e);
});
i.sort(function (t, e) {
return t.offset - e.offset;
});
r[t] = n.map(i, function (t) {
return t.element;
});
return (r[t] = n.unique(r[t]));
});
return r;
},
above: function (t) {
if (t == null) {
t = r;
}
return h._filter(t, "vertical", function (t, e) {
return e.offset <= t.oldScroll.y;
});
},
below: function (t) {
if (t == null) {
t = r;
}
return h._filter(t, "vertical", function (t, e) {
return e.offset > t.oldScroll.y;
});
},
left: function (t) {
if (t == null) {
t = r;
}
return h._filter(t, "horizontal", function (t, e) {
return e.offset <= t.oldScroll.x;
});
},
right: function (t) {
if (t == null) {
t = r;
}
return h._filter(t, "horizontal", function (t, e) {
return e.offset > t.oldScroll.x;
});
},
enable: function () {
return h._invoke("enable");
},
disable: function () {
return h._invoke("disable");
},
destroy: function () {
return h._invoke("destroy");
},
extendFn: function (t, e) {
return (d[t] = e);
},
_invoke: function (t) {
var e;
e = n.extend({}, s.vertical, s.horizontal);
return n.each(e, function (e, n) {
n[t]();
return true;
});
},
_filter: function (t, e, r) {
var i, o;
i = c[n(t)[0][u]];
if (!i) {
return [];
}
o = [];
n.each(i.waypoints[e], function (t, e) {
if (r(i, e)) {
return o.push(e);
}
});
o.sort(function (t, e) {
return t.offset - e.offset;
});
return n.map(o, function (t) {
return t.element;
});
},
};
n[m] = function () {
var t, n;
(n = arguments[0]), (t = 2 <= arguments.length ? e.call(arguments, 1) : []);
if (h[n]) {
return h[n].apply(null, t);
} else {
return h.aggregate.call(null, n);
}
};
n[m].settings = { resizeThrottle: 100, scrollThrottle: 30 };
return i.on("load.waypoints", function () {
return n[m]("refresh");
});
});
}.call(this));
+1
View File
@@ -0,0 +1 @@
!function(){"use strict";function Waypoint(options){if(!options)throw new Error("No options passed to Waypoint constructor");if(!options.element)throw new Error("No element option passed to Waypoint constructor");if(!options.handler)throw new Error("No handler option passed to Waypoint constructor");this.key="waypoint-"+keyCounter,this.options=Waypoint.Adapter.extend({},Waypoint.defaults,options),this.element=this.options.element,this.adapter=new Waypoint.Adapter(this.element),this.callback=options.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=Waypoint.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=Waypoint.Context.findOrCreateByElement(this.options.context),Waypoint.offsetAliases[this.options.offset]&&(this.options.offset=Waypoint.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),allWaypoints[this.key]=this,keyCounter+=1}var keyCounter=0,allWaypoints={};Waypoint.prototype.queueTrigger=function(direction){this.group.queueTrigger(this,direction)},Waypoint.prototype.trigger=function(args){this.enabled&&this.callback&&this.callback.apply(this,args)},Waypoint.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete allWaypoints[this.key]},Waypoint.prototype.disable=function(){return this.enabled=!1,this},Waypoint.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},Waypoint.prototype.next=function(){return this.group.next(this)},Waypoint.prototype.previous=function(){return this.group.previous(this)},Waypoint.invokeAll=function(method){var allWaypointsArray=[];for(var waypointKey in allWaypoints)allWaypointsArray.push(allWaypoints[waypointKey]);for(var i=0,end=allWaypointsArray.length;i<end;i++)allWaypointsArray[i][method]()},Waypoint.destroyAll=function(){Waypoint.invokeAll("destroy")},Waypoint.disableAll=function(){Waypoint.invokeAll("disable")},Waypoint.enableAll=function(){Waypoint.Context.refreshAll();for(var waypointKey in allWaypoints)allWaypoints[waypointKey].enabled=!0;return this},Waypoint.refreshAll=function(){Waypoint.Context.refreshAll()},Waypoint.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},Waypoint.viewportWidth=function(){return document.documentElement.clientWidth},Waypoint.adapters=[],Waypoint.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},Waypoint.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=Waypoint}(),function(){"use strict";function requestAnimationFrameShim(callback){window.setTimeout(callback,1e3/60)}function Context(element){this.element=element,this.Adapter=Waypoint.Adapter,this.adapter=new this.Adapter(element),this.key="waypoint-context-"+keyCounter,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},element.waypointContextKey=this.key,contexts[element.waypointContextKey]=this,keyCounter+=1,Waypoint.windowContext||(Waypoint.windowContext=!0,Waypoint.windowContext=new Context(window)),this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var keyCounter=0,contexts={},Waypoint=window.Waypoint,oldWindowLoad=window.onload;Context.prototype.add=function(waypoint){var axis=waypoint.options.horizontal?"horizontal":"vertical";this.waypoints[axis][waypoint.key]=waypoint,this.refresh()},Context.prototype.checkEmpty=function(){var horizontalEmpty=this.Adapter.isEmptyObject(this.waypoints.horizontal),verticalEmpty=this.Adapter.isEmptyObject(this.waypoints.vertical),isWindow=this.element==this.element.window;horizontalEmpty&&verticalEmpty&&!isWindow&&(this.adapter.off(".waypoints"),delete contexts[this.key])},Context.prototype.createThrottledResizeHandler=function(){function resizeHandler(){self.handleResize(),self.didResize=!1}var self=this;this.adapter.on("resize.waypoints",function(){self.didResize||(self.didResize=!0,Waypoint.requestAnimationFrame(resizeHandler))})},Context.prototype.createThrottledScrollHandler=function(){function scrollHandler(){self.handleScroll(),self.didScroll=!1}var self=this;this.adapter.on("scroll.waypoints",function(){self.didScroll&&!Waypoint.isTouch||(self.didScroll=!0,Waypoint.requestAnimationFrame(scrollHandler))})},Context.prototype.handleResize=function(){Waypoint.Context.refreshAll()},Context.prototype.handleScroll=function(){var triggeredGroups={},axes={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var axisKey in axes){var axis=axes[axisKey],isForward=axis.newScroll>axis.oldScroll,direction=isForward?axis.forward:axis.backward;for(vLine truncated
+2
View File
@@ -0,0 +1,2 @@
/*! elementor - v3.20.0 - 13-03-2024 */
(()=>{"use strict";var e,r,_,t,a,i={},n={};function __webpack_require__(e){var r=n[e];if(void 0!==r)return r.exports;var _=n[e]={exports:{}};return i[e].call(_.exports,_,_.exports,__webpack_require__),_.exports}__webpack_require__.m=i,e=[],__webpack_require__.O=(r,_,t,a)=>{if(!_){var i=1/0;for(u=0;u<e.length;u++){for(var[_,t,a]=e[u],n=!0,c=0;c<_.length;c++)(!1&a||i>=a)&&Object.keys(__webpack_require__.O).every((e=>__webpack_require__.O[e](_[c])))?_.splice(c--,1):(n=!1,a<i&&(i=a));if(n){e.splice(u--,1);var o=t();void 0!==o&&(r=o)}}return r}a=a||0;for(var u=e.length;u>0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[_,t,a]},_=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var a=Object.create(null);__webpack_require__.r(a);var i={};r=r||[null,_({}),_([]),_(_)];for(var n=2&t&&e;"object"==typeof n&&!~r.indexOf(n);n=_(n))Object.getOwnPropertyNames(n).forEach((r=>i[r]=()=>e[r]));return i.default=()=>e,__webpack_require__.d(a,i),a},__webpack_require__.d=(e,r)=>{for(var _ in r)__webpack_require__.o(r,_)&&!__webpack_require__.o(e,_)&&Object.defineProperty(e,_,{enumerable:!0,get:r[_]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((r,_)=>(__webpack_require__.f[_](e,r),r)),[])),__webpack_require__.u=e=>723===e?"lightbox.1b6e05e0607040eb8929.bundle.min.js":48===e?"text-path.b50b3e74488a4e302613.bundle.min.js":209===e?"accordion.8799675460c73eb48972.bundle.min.js":745===e?"alert.cbc2a0fee74ee3ed0419.bundle.min.js":120===e?"counter.02cef29c589e742d4c8c.bundle.min.js":192===e?"progress.ca55d33bb06cee4e6f02.bundle.min.js":520===e?"tabs.c2af5be7f9cb3cdcf3d5.bundle.min.js":181===e?"toggle.31881477c45ff5cf9d4d.bundle.min.js":791===e?"video.fea4f8dfdf17262f23e8.bundle.min.js":268===e?"image-carousel.4455c6362492d9067512.bundle.min.js":357===e?"text-editor.2c35aafbe5bf0e127950.bundle.min.js":52===e?"wp-audio.75f0ced143febb8cd31a.bundle.min.js":413===e?"container.c65a2a923085e1120e75.bundle.min.js":void 0,__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a="elementor:",__webpack_require__.l=(e,r,_,i)=>{if(t[e])t[e].push(r);else{var n,c;if(void 0!==_)for(var o=document.getElementsByTagName("script"),u=0;u<o.length;u++){var b=o[u];if(b.getAttribute("src")==e||b.getAttribute("data-webpack")==a+_){n=b;break}}n||(c=!0,(n=document.createElement("script")).charset="utf-8",n.timeout=120,__webpack_require__.nc&&n.setAttribute("nonce",__webpack_require__.nc),n.setAttribute("data-webpack",a+_),n.src=e),t[e]=[r];var onScriptComplete=(r,_)=>{n.onerror=n.onload=null,clearTimeout(p);var a=t[e];if(delete t[e],n.parentNode&&n.parentNode.removeChild(n),a&&a.forEach((e=>e(_))),r)return r(_)},p=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=onScriptComplete.bind(null,n.onerror),n.onload=onScriptComplete.bind(null,n.onload),c&&document.head.appendChild(n)}},__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var r=__webpack_require__.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var _=r.getElementsByTagName("script");if(_.length)for(var t=_.length-1;t>-1&&!e;)e=_[t--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={162:0};__webpack_require__.f.j=(r,_)=>{var t=__webpack_require__.o(e,r)?e[r]:void 0;if(0!==t)if(t)_.push(t[2]);else if(162!=r){var a=new Promise(((_,a)=>t=e[r]=[_,a]));_.push(t[2]=a);var i=__webpack_require__.p+__webpack_require__.u(r),n=new Error;__webpack_require__.l(i,(_=>{if(__webpack_require__.o(e,r)&&(0!==(t=e[r])&&(e[r]=void 0),t)){var a=_&&("load"===_.type?"missing":_.type),i=_&&_.target&&_.target.src;n.message="Loading chunk "+r+" failed.\n("+a+": "+i+")",n.name="ChunkLoadError",n.type=a,n.request=i,t[1](n)}}),"chunk-"+r,r)}else e[r]=0},__webpack_require__.O.j=r=>0===e[r];var webpackJsonpCallback=(r,_)=>{var t,a,[i,n,c]=_,o=0;if(i.some((r=>0!==e[r]))){for(t in n)__webpack_require__.o(n,t)&&(__webpack_require__.m[t]=n[t]);if(c)var u=c(__webpack_require__)}for(r&&r(_);o<i.length;o++)a=i[o],__webpack_require__.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return __webpack_require__.O(u)},r=self.webpackChunkelementor=self.webpackChunkelementor||[];r.forEach(webpackJsonpCallback.bind(null,0)),r.push=webpackJsonpCallback.bind(null,r.push.bind(r))})()})();