@andreyshpigunov/x 0.3.78 → 0.3.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.js +1 -1
- package/dist/x.js +1 -1
- package/index.html +1 -1
- package/package.json +1 -1
- package/src/components/x/slider.js +1 -1
package/dist/app.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){var $parcel$global="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirec3c2;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var t=$parcel$inits[e];delete $parcel$inits[e];var s={id:e,exports:{}};return $parcel$modules[e]=s,t.call(s.exports,s,s.exports),s.exports}var i=Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}).register=function(e,t){$parcel$inits[e]=t},$parcel$global.parcelRequirec3c2=parcelRequire);"use strict";var parcelRegister=parcelRequire.register;parcelRegister("5vvBz",function(e,t){"use strict";var s=parcelRequire("7k1tf"),i=parcelRequire("1ZOHL"),n=parcelRequire("ataKg"),o=parcelRequire("9K5nT"),r=parcelRequire("6goNw"),l=parcelRequire("5iBRN"),a=parcelRequire("ljacF"),d=parcelRequire("3jj36"),c=parcelRequire("1AMEo"),h=parcelRequire("iXXci"),u=parcelRequire("iMG9j"),p=parcelRequire("dTNnT"),m=parcelRequire("bwKX7"),v=parcelRequire("azm1L"),f=parcelRequire("9PwSp");class b{constructor(){this.modal=s.modal,this.animate=i.animate,this.appear=n.appear,this.lazyload=o.lazyload,this.loadmore=r.loadmore,this.sheets=l.sheets,this.dropdown=a.dropdown,this.autocomplete=d.autocomplete,this.scroll=c.scroll,this.hover=h.hover,this.device=u.device,this.lib=p.lib,this.render=p.lib.render.bind(p.lib),this.form=m.form,this.sticky=v.sticky,this.slider=f.slider,this.initialized=!1}init(){this.initialized||(this.device.init(),this.modal.init(),this.animate.init(),this.appear.init(),this.lazyload.init(),this.loadmore.init(),this.sheets.init(),this.dropdown.init(),this.scroll.init(),this.sticky.init(),this.slider.init(),(0,h.hover)(),this.initialized=!0)}}let w=new b;window.x=w,window.qs=w.lib.qs,window.qsa=w.lib.qsa,window.x.id=w.lib.id,window.x.qs=w.lib.qs,window.x.qsa=w.lib.qsa}),parcelRegister("7k1tf",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.modal=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.modalLevel=0,this.lockCount=0,this.html=s.lib.qs("html"),this._initialized=!1,this._clickHandler=null,this._keydownHandler=null}init(){this._initialized&&this.destroy(),this._renderModalContents(),this._setupModalLinks(),this._setupGlobalListeners(),this._initialized=!0}destroy(){this._clickHandler&&(document.removeEventListener("click",this._clickHandler),this._clickHandler=null),this._keydownHandler&&(document.removeEventListener("keydown",this._keydownHandler),this._keydownHandler=null),this.modalLevel=0,this.lockCount=0,this._initialized=!1}_renderModalContents(){s.lib.qsa("[x-modal]").forEach(e=>{let t=s.lib.qs(".modal-here")||s.lib.qs("body"),i=e.getAttribute("x-modal"),n=e.getAttribute("class")||"",o=(e.dataset.windowClass||"").replace(/\s+/g," ").trim(),r=e.innerHTML,l=document.createElement("div");l.id=i,l.className=`modal ${n}`,l.innerHTML=`<div class="modal-overlay"></div><div class="modal-outer"><div class="modal-inner"><div class="modal-window ${o}">${r}<div class="modal-rail"><a role="button" class="modal-close"></a></div></div></div></div>`,t.appendChild(l),e.remove()})}_setupModalLinks(){s.lib.qsa("[x-modal-open]").forEach(e=>{let t=e.getAttribute("x-modal-open");e.addEventListener("click",e=>{e.preventDefault(),this.show(t)}),window.location.hash==="#"+t&&s.lib.qs("#"+t).classList.contains("modal_hash")&&this.show(t)})}_setupGlobalListeners(){this._clickHandler=e=>{s.lib.qs(".modal_active")&&(e.target.classList.contains("modal-close")||!e.target.closest(".modal-window"))&&(e.preventDefault(),this.hide(e.target.closest(".modal")?.getAttribute("id")))},this._keydownHandler=e=>{let t=s.lib.qsa(".modal_active"),i=t[t.length-1];i&&"Escape"===e.key&&(e.preventDefault(),this.hide(i.getAttribute("id")))},document.addEventListener("click",this._clickHandler),document.addEventListener("keydown",this._keydownHandler)}async show(e){if(this.lockCount>0)return;if(this.isActive(e))return void this.hide(e);let t=s.lib.qs("#"+e);if(t){t.classList.contains("modal_uniq")&&await this.hideAll(),this.lockCount++;try{await s.lib.addClass(t,"modal_ready"),await s.lib.sleep(10),t.dispatchEvent(new CustomEvent("modal:ready")),t.classList.contains("modal_hash")&&history.replaceState(null,"","#"+e),s.lib.addClass(this.html,"modal_active"),s.lib.addClass(this.html,e+"_active"),s.lib.addClass("[x-modal-open="+e+"]","active"),this.modalLevel++,s.lib.addClass(t,"modal_z"+this.modalLevel),await s.lib.addClass(t,"modal_active"),s.lib.qs(".modal-outer",t)?.scrollTo(0,1),await s.lib.sleep(200),t.dispatchEvent(new CustomEvent("modal:open"))}finally{this.lockCount--}}}async hide(e){if(this.lockCount>0)return;let t=s.lib.qs("#"+e);t&&(this.lockCount++,t.classList.contains("modal_hash")&&window.location.hash==="#"+e&&history.replaceState(null,document.title,window.location.pathname+window.location.search),s.lib.removeClass("[x-modal-open="+e+"]","active"),await s.lib.removeClass(t,"modal_active",200),s.lib.removeClass(t,"modal_z"+this.modalLevel),t.dispatchEvent(new CustomEvent("modal:close")),s.lib.removeClass(this.html,e+"_active"),this.modalLevel--,0===this.modalLevel&&s.lib.removeClass(this.html,"modal_active"),this.lockCount--)}async hideAll(){let e=s.lib.qsa(".modal_active");if(e.length)for(let t of e)await this.hide(t.getAttribute("id"))}isActive(e){return s.lib.qs("#"+e)?.classList.contains("modal_active")??!1}}e.exports.modal=new i}),parcelRegister("dTNnT",function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.lib=void 0;class Lib{constructor(){this.loadedScripts=[],this._elementRender()}_elementRender(){document.addEventListener("DOMContentLoaded",()=>{this.qsa("[x-render]").forEach(item=>{this.render(item,eval(item.getAttribute("x-render")))})},{once:!0})}id(e){return document.getElementById(e)}qs(e,t=document){return e?"string"==typeof e?t.querySelector(e):e instanceof Node?e:e instanceof NodeList?e.length?e[0]:null:Array.isArray(e)&&e.length?e[0]instanceof Node?e[0]:t.querySelector(e[0]):e===window?e:null:null}qsa(e,t=document){if(!e)return[];if("string"==typeof e)return[...t.querySelectorAll(e)];if(e instanceof NodeList)return[...e];if(e instanceof Node)return[e];if(Array.isArray(e)&&e.length){let s=[];for(let i of e)i instanceof Node?s.push(i):i instanceof NodeList?s.push(...i):s.push(...t.querySelectorAll(i));return s.flat()}return e===window?[e]:[]}async hide(e){await this.addClass(e,"hidden")}async show(e){await this.removeClass(e,"hidden")}async toggle(e){await this.toggleClass(e,"hidden")}async switch(e,t){t?await this.removeClass(e,"hidden"):await this.addClass(e,"hidden")}async addClass(e,t,s=0){let i=this.qsa(e);if(i.length){if(s>0){for(let e of i)e.classList.add(t.replace(/_.*/,"")+"_ready");await new Promise(e=>setTimeout(e,s))}for(let e of i)e.classList.add(t)}}async removeClass(e,t,s=0){let i=this.qsa(e);if(i.length){for(let e of i)e.classList.remove(t);if(s>0)for(let e of(await new Promise(e=>setTimeout(e,s)),i))e.classList.remove(t.replace(/_.*/,"")+"_ready")}}async toggleClass(e,t,s=0){for(let i of this.qsa(e))i.classList.contains(t)?await this.removeClass(i,t,s):await this.addClass(i,t,s)}async switchClass(e,t,s,i=0){s?await this.addClass(e,t,i):await this.removeClass(e,t,i)}reload(){location.reload()}reloadWithHash(e){location.hash=e,this.reload()}redirectTo(e){location.href=e}updateURL(e,t){history.pushState?history.pushState(null,t,e):location.href=e}random(e,t){return Math.floor(Math.random()*(t-e+1))+e}price(e){return parseFloat(e).toFixed(2).replace(/\d(?=(\d{3})+\.)/g,"$& ").replace(".00","")}number(e){let t=(e+"").split(".");return t[0]=t[0].replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1 "),t.join(".")}numberDecline(e,t,s,i){if(e>10&&1===Math.floor(e%100/10))return i;switch(e%10){case 1:return t;case 2:case 3:case 4:return s;default:return i}}isEmail(e){return/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(e)}isValidJSON(e){try{return JSON.parse(e),!0}catch{return!1}}isInteger(e){return Number.isInteger(Number(e))}isDouble(e){let t=Number(e);return!isNaN(t)&&"number"==typeof t}makeId(){return"id"+this.random(1e5,999999)}makePassword(e=8,t){let s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#^$%^&*()-+:,.;_",i=Array.from({length:e},()=>s[Math.floor(Math.random()*s.length)]).join("");if(!t)return i;this.qs(t).value=i}loadScript(e,t,s="async"){if(this.loadedScripts.includes(e))t();else{let i=document.createElement("script");i.onload=t,i.onerror=()=>console.error(`Failed to load script: ${e}`),i.src=e,s&&i.setAttribute(s,""),document.body.appendChild(i),this.loadedScripts.push(e)}}deferred(e,t=1e4){let s,i=["scroll","resize","click","keydown","mousemove","touchmove"],n=()=>{i.forEach(e=>window.removeEventListener(e,n,{once:!0})),"complete"===document.readyState?e():window.addEventListener("load",e,{once:!0}),clearTimeout(s)};s=setTimeout(n,t),i.forEach(e=>window.addEventListener(e,n,{once:!0}))}deffered(e,t=1e4){return this.deferred(e,t)}throttle(e,t,s={}){return this._throttle(e,t,s)}debounce(e,t,s={}){return this._debounce(e,t,s)}onAppear(e,t,s=null,i={}){let n=this.qsa(e);if(!n.length)return;let o=new IntersectionObserver((e,i)=>{e.forEach(e=>{e.isIntersecting?(t(e.target),s||i.unobserve(e.target)):s&&s(e.target)})},{root:null,rootMargin:"200px",threshold:.1,...i});n.forEach(e=>o.observe(e))}alertErrors(e){e&&("string"==typeof e?alert(e):alert(Object.values(e).join("\n")))}printErrors(e){return e?"string"==typeof e?`<div>${e}</div>`:Object.entries(e).map(([e,t])=>`<div class="error_${e}">${t}</div>`).join("\n"):""}async render(e,t,s=null){let i=this.qsa(e);if(!i.length)return;let n="function"==typeof t?await t():t;for(let e of i)null==s?e.innerHTML=n:e.insertAdjacentHTML(s,n)}transitionsOn(e=0){setTimeout(()=>{document.documentElement.classList.remove("noTransitions")},e)}transitionsOff(){document.documentElement.classList.add("noTransitions")}async sleep(e){return new Promise(t=>setTimeout(t,e))}_throttle(e,t,s={}){let i=null,n=null,o=null,r=0,{leading:l=!0,trailing:a=!0}=s,d=t=>{r=t,e.apply(o,n),n=o=null},c=function(...e){let s=Date.now();r||l||(r=s),n=e,o=this;let c=t-(s-r);c<=0||c>t?(i&&clearTimeout(i),i=null,d(s)):!i&&a&&(i=setTimeout(()=>{i=null,a&&n&&d(Date.now())},c))};return c.cancel=()=>{i&&clearTimeout(i),i=n=o=null,r=0},c}_debounce(e,t,s={}){let i=null,n=null,o=null,{leading:r=!1,trailing:l=!0}=s,a=()=>{e.apply(o,n),n=o=null},d=function(...e){n=e,o=this,i&&clearTimeout(i),r&&!i&&a(),i=setTimeout(()=>{i=null,l&&n&&a()},t)};return d.cancel=()=>{i&&clearTimeout(i),i=n=o=null},d}}let lib=exports.lib=new Lib}),parcelRegister("1ZOHL",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.animate=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._ticking=!1,this._animations=[],this._scroll=this._scroll.bind(this),this._scrollHandler=this._scrollHandler.bind(this),this._initialized=!1,this._parents=new Set,this._elements=null}init(){this._cleanup(),this._elements=s.lib.qsa("[x-animate]"),this._elements?.length&&(this._parseElementsAnimations(),this._animations.length&&(this._setupListeners(),this._initialized=!0))}_cleanup(){this._initialized&&(this._parents.forEach(e=>{e.removeEventListener("scroll",this._scrollHandler)}),window.removeEventListener("resize",this._scrollHandler),this._ticking=!1,this._animations=[],this._parents=new Set,this._elements=null,this._initialized=!1)}_parseElementsAnimations(){this._elements.forEach(e=>{try{let t=JSON.parse(e.getAttribute("x-animate")),i={element:e,trigger:s.lib.qs(t.trigger)||e,parent:s.lib.qs(t.parent)||window,start:t.start,end:t.end||!1,class:t.class,classRemove:!1!==t.classRemove,functionName:t.functionName,lockedIn:!1,lockedOut:!1,log:t.log||!1};this._animations.push(i)}catch(t){console.error("Invalid JSON in x-animate attribute:",e,t)}})}_setupListeners(){for(let e of this._animations)this._parents.has(e.parent)||(this._parents.add(e.parent),e.parent.addEventListener("scroll",this._scrollHandler));window.addEventListener("resize",this._scrollHandler),"complete"===document.readyState?requestAnimationFrame(()=>this._scroll()):window.addEventListener("load",()=>this._scroll(),{once:!0})}_scrollHandler(){this._ticking||(this._ticking=!0,window.requestAnimationFrame(()=>{this._scroll(),this._ticking=!1}))}_scroll(){this._animations.forEach(e=>{let t=e.trigger.getBoundingClientRect(),s=e.parent!==window?e.parent.getBoundingClientRect():null,i=t.top-(s?s.top:0),n=this._2px(e.start,e.parent),o=this._2px(e.end,e.parent);e.duration=isNaN(o)?0:n-o,e.log&&console.log(i,n,o,e),isNaN(n)||isNaN(o)?!isNaN(n)&&(i<=n?(e.lockedOut=!1,e.class&&e.element.classList.add(e.class),e.lockedIn||"function"!=typeof window[e.functionName]||(e.progress=1,window[e.functionName](e),e.lockedIn=!0)):(e.lockedIn=!1,e.class&&!0===e.classRemove&&e.element.classList.contains(e.class)&&e.element.classList.remove(e.class),!e.lockedOut&&"function"==typeof window[e.functionName]&&i>=n&&(e.progress=0,window[e.functionName](e),e.lockedOut=!0))):i<=n&&i>=o?(e.lockedOut=!1,e.class&&e.element.classList.add(e.class),"function"==typeof window[e.functionName]&&(e.progress=((n-i)/e.duration).toFixed(4),window[e.functionName](e))):(e.class&&!0===e.classRemove&&e.element.classList.contains(e.class)&&e.element.classList.remove(e.class),!e.lockedOut&&"function"==typeof window[e.functionName]&&(i>=n&&(e.progress=0,window[e.functionName](e),e.lockedOut=!0),i<=o&&(e.progress=1,window[e.functionName](e),e.lockedOut=!0)))})}_2px(e,t=window){return/(%|vh)/.test(e)?(t===window?document.documentElement.clientHeight:t.clientHeight)*parseFloat(e=e.replace(/(vh|%)/,""))/100:parseFloat(e)}}e.exports.animate=new i}),parcelRegister("ataKg",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.appear=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._targets=[],this._observer=null,this._options={appearedClass:"appeared",visibleClass:"visible",once:!1}}init(e={}){"IntersectionObserver"in window&&(this._options={...this._options,...e},this._observer&&(this._observer.disconnect(),this._observer=null),this._targets=s.lib.qsa("[x-appear]"),this._targets.length&&(this._observer=new IntersectionObserver(this._observerCallback.bind(this)),this._targets.forEach(e=>{this._observer.observe(e)})))}_observerCallback(e){let{appearedClass:t,visibleClass:s,once:i}=this._options;for(let n of e){let e=n.target,o=null!=t,r=null!=s;n.isIntersecting?(o&&!e.classList.contains(t)&&(e.classList.add(t),i&&this._observer.unobserve(e)),r&&(e.classList.add(s),e.dispatchEvent(new CustomEvent("visible",{detail:{appeared:!0}})))):r&&e.classList.contains(s)&&(e.classList.remove(s),e.dispatchEvent(new CustomEvent("invisible",{detail:{appeared:!0}})))}}}e.exports.appear=new i}),parcelRegister("9K5nT",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.lazyload=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._observer=null,this._options={root:null,rootMargin:"200px",threshold:.1}}init(){if(!("IntersectionObserver"in window))return void console.warn("IntersectionObserver is not supported in this browser.");this._observer||(this._observer=new IntersectionObserver(this._callback.bind(this),this._options)),[...s.lib.qsa("[x-lazyload]")].filter(e=>!e.classList.contains("loaded")).forEach(e=>this._observer.observe(e))}destroy(){this._observer&&(this._observer.disconnect(),this._observer=null)}_callback(e){for(let t of e)t.isIntersecting&&this._loadImage(t.target)}_fetchImage(e,t){return new Promise((s,i)=>{let n=new Image;t&&(n.srcset=t),e&&(n.src=e),n.onload=()=>s(),n.onerror=()=>i(Error(`Failed to load image: ${e||t}`))})}async _loadImage(e){let t=e.dataset.srcset||null,i=e.dataset.src||null;if(!i&&!t)return void console.warn("No source or srcset found for image:",e);try{await this._fetchImage(i,t),t&&(e.srcset=t,e.removeAttribute("data-srcset")),i&&(e.src=i,e.removeAttribute("data-src")),await Promise.resolve(s.lib.addClass(e,"loaded")),this._observer&&this._observer.unobserve(e)}catch(t){console.error("Lazyload failed for image:",e,t)}}}e.exports.lazyload=new i}),parcelRegister("6goNw",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.loadmore=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.items={},this.locked=!1,this.observer=null,this._initialized=!1}init(){this._initialized&&this.destroy();let e=s.lib.qsa("[x-loadmore]");if(!e.length)return;let t=async(e,t)=>{for(let i of e)if(i.isIntersecting&&!this.locked){this.locked=!0;let e=i.target,n=e.getAttribute("x-loadmore");if(s.lib.isValidJSON(n)){let s=JSON.parse(n);if(s.functionName){let i=window[s.functionName];if("function"==typeof i)try{let s=e.id,n=this.items[s].page;await i(n)?this.items[s].page++:t.unobserve(e)}catch(e){console.error("Loadmore callback error:",e)}else console.error(`Function "${s.functionName}" is not defined.`)}else console.warn('Missing "functionName" in x-loadmore attribute:',s)}else console.error("Invalid JSON in x-loadmore attribute:",n);this.locked=!1}},i={rootMargin:"0px 0px 400px 0px",threshold:0};this.observer=new IntersectionObserver(t,i),e.forEach(e=>{let t=s.lib.makeId();e.setAttribute("id",t),this.items[t]={el:e,page:1},this.observer.observe(e)}),this._initialized=!0}destroy(){this.observer&&(this.observer.disconnect(),this.observer=null),this.items={},this.locked=!1,this._initialized=!1}}e.exports.loadmore=new i}),parcelRegister("5iBRN",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.sheets=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._handlers=new Map,this._initialized=!1}init(){this._initialized&&this.destroy();let e=s.lib.qsa("[x-sheets]");if(e.length){for(let t of e){for(let e of s.lib.qsa("[x-sheet-open]:not([x-sheet-open] [x-sheet-open])",t)){let t=t=>{t.preventDefault(),this.show(e.getAttribute("x-sheet-open"))};e.addEventListener("click",t),this._handlers.set(e,t)}let e=s.lib.qs("[x-sheet-open].active",t);e&&this.show(e.getAttribute("x-sheet-open"))}this._initialized=!0}}destroy(){for(let[e,t]of this._handlers.entries())e.removeEventListener("click",t);this._handlers.clear(),this._initialized=!1}show(e){let t=s.lib.qs(`[x-sheet="${CSS.escape(e)}"]`);if(!t)return;let i=t.closest("[x-sheets]");if(!i)return;let n=s.lib.qs(`[x-sheet-open="${CSS.escape(e)}"]`,i);if(n?.classList.contains("active")&&t.classList.contains("active"))return;let o=s.lib.qsa("[x-sheet-open]",i);s.lib.removeClass(o,"active");let r=s.lib.qsa("[x-sheet]",i);s.lib.removeClass(r,"active"),s.lib.addClass(n,"active"),s.lib.addClass(t,"active")}}e.exports.sheets=new i}),parcelRegister("ljacF",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.dropdown=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._handlers=new Map,this._menus=new Map,this._initialized=!1,this._attachGlobalListeners()}init(){this._initialized&&this._cleanup(),s.lib.qsa("[x-dropdown]").forEach(e=>{let t=e.parentElement,i=s.lib.qs("[x-dropdown-open]",t);i&&(this._setupAccessibility(t,i,e),this._bindTrigger(t,i),this._bindMenuKeys(e,i,t),this._menus.set(e,{parent:t,trigger:i}),t.dispatchEvent(new CustomEvent("dropdown:ready")))}),this._initialized=!0}_setupAccessibility(e,t,i){e.classList.add("dropdown"),t.setAttribute("aria-expanded","false"),i.id||(i.id=s.lib.makeId()),t.setAttribute("aria-controls",i.id),i.setAttribute("role","menu"),i.setAttribute("tabindex","-1"),i.querySelectorAll("li > a").forEach(e=>{e.setAttribute("role","menuitem"),e.setAttribute("tabindex","-1")}),t.addEventListener("focus",()=>t.classList.add("hover")),t.addEventListener("blur",()=>t.classList.remove("hover"))}_bindTrigger(e,t){let i=s.lib.throttle(()=>this._toggleDropdown(e,t),400),n=["INPUT","TEXTAREA"].includes(t.tagName),o=null,r=e=>{n||(e.stopPropagation(),i())},l=s=>{(" "!==s.key||!n)&&(n||"Enter"!==s.key&&" "!==s.key||(s.preventDefault(),i()),"ArrowDown"===s.key&&(s.preventDefault(),n||(this._open(e,t),this._focusFirstItem(e))),"ArrowUp"===s.key&&(s.preventDefault(),n||(this._open(e,t),this._focusLastItem(e))))},a=s=>{n?(clearTimeout(o),this.closeAllDropdowns(),this._open(e,t)):t.classList.add("hover")},d=s=>{n?o=setTimeout(()=>this._close(e),200):t.classList.remove("hover")};this._handlers.set(t,{clickListener:r,keyListener:l,focusListener:a,blurListener:d,blurTimeout:o}),t.addEventListener("click",r),t.addEventListener("keydown",l),t.addEventListener("focus",a),t.addEventListener("blur",d)}_bindMenuKeys(e,t,s){let i=i=>{let n=Array.from(e.querySelectorAll('[role="menuitem"]:not([disabled])')),o=n.indexOf(document.activeElement);if("ArrowDown"===i.key){i.preventDefault();let e=(o+1)%n.length;n[e].focus()}if("ArrowUp"===i.key){i.preventDefault();let e=(o-1+n.length)%n.length;n[e].focus()}"Home"===i.key&&(i.preventDefault(),n[0].focus()),"End"===i.key&&(i.preventDefault(),n[n.length-1].focus()),"Escape"===i.key&&(i.preventDefault(),this._close(s),t.focus())},n=e=>{e.target.matches('[role="menuitem"]')&&e.target.classList.add("hover")},o=e=>{e.target.matches('[role="menuitem"]')&&e.target.classList.remove("hover")};this._handlers.set(e,{keyListener:i,focusListener:n,blurListener:o}),e.addEventListener("keydown",i),e.addEventListener("focusin",n),e.addEventListener("focusout",o)}_cleanup(){this.closeAllDropdowns(),this._handlers.forEach((e,t)=>{e.clickListener&&t.removeEventListener("click",e.clickListener),e.keyListener&&t.removeEventListener("keydown",e.keyListener),e.focusListener&&t.removeEventListener("focus",e.focusListener),e.blurListener&&t.removeEventListener("blur",e.blurListener),e.focusListener&&t.removeEventListener("focusin",e.focusListener),e.blurListener&&t.removeEventListener("focusout",e.blurListener),e.blurTimeout&&clearTimeout(e.blurTimeout)}),this._handlers.clear(),this._menus.clear()}_toggleDropdown(e,t){let s=e.classList.contains("dropdown_open");this.closeAllDropdowns(),s||this._open(e,t)}async _open(e,t){this._fireEvent(e,"beforeshow");let i=e.querySelector("[x-dropdown]");this._adjustPosition(e,i),s.lib.addClass(t,"active"),s.lib.addClass(e,"dropdown_open",20),t.setAttribute("aria-expanded","true"),this._fireEvent(e,"aftershow")}_adjustPosition(e,t){e.classList.add("dropdown_ready");let s=t.getBoundingClientRect();e.classList.remove("dropdown_ready");let i=window.innerWidth,n=document.documentElement.scrollHeight;e.classList.remove("dropdown_right","dropdown_bottom"),s.right>i&&e.classList.add("dropdown_right"),window.scrollY+s.bottom>n&&e.classList.add("dropdown_bottom")}_focusFirstItem(e){let t=e.querySelector("[x-dropdown]").querySelector('[role="menuitem"]:not([disabled])');t&&t.focus()}_focusLastItem(e){let t=e.querySelector("[x-dropdown]").querySelectorAll('[role="menuitem"]:not([disabled])');t.length>0&&t[t.length-1].focus()}closeAllDropdowns(){s.lib.qsa(".dropdown_open").forEach(e=>this._close(e))}async _close(e){if(e._dropdownClosing)return;e._dropdownClosing=!0,this._fireEvent(e,"beforehide");let t=s.lib.qs("[x-dropdown-open]",e);t&&(s.lib.removeClass(t,"active"),t.setAttribute("aria-expanded","false")),await s.lib.removeClass(e,"dropdown_open",200),e.classList.remove("dropdown_right","dropdown_bottom"),this._fireEvent(e,"afterhide"),setTimeout(()=>{e._dropdownClosing=!1},100)}_fireEvent(e,t){e.dispatchEvent(new CustomEvent(`dropdown:${t}`))}_attachGlobalListeners(){i._globalListenersAttached||(document.addEventListener("click",e=>{e.target.closest("[x-dropdown-open]")||e.target.closest("[x-dropdown] .dropdown_stay")||this.closeAllDropdowns()}),i._globalListenersAttached=!0)}}i._globalListenersAttached=!1,e.exports.dropdown=new i}),parcelRegister("3jj36",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.autocomplete=void 0,parcelRequire("dTNnT");class s{emptyStateHtml=`<li><span class="op4">\u{41D}\u{438}\u{447}\u{435}\u{433}\u{43E} \u{43D}\u{435} \u{43D}\u{430}\u{439}\u{434}\u{435}\u{43D}\u{43E}</span></li>`;defaultStateHtml=`<li><span class="op4">\u{41D}\u{430}\u{447}\u{43D}\u{438}\u{442}\u{435} \u{43F}\u{435}\u{447}\u{430}\u{442}\u{430}\u{442}\u{44C}</span></li>`;loadingStateHtml=`<li><span class="op4">\u{417}\u{430}\u{433}\u{440}\u{443}\u{437}\u{43A}\u{430}...</span></li>`;init(e,t){this.emptyStateHtml=t.emptyStateHtml||this.emptyStateHtml,this.defaultStateHtml=t.defaultStateHtml||this.defaultStateHtml,this.loadingStateHtml=t.loadingStateHtml||this.loadingStateHtml,this.dropdown=x.id(e),this.field=x.qs("[x-dropdown-open]",this.dropdown),this.list=x.qs("[x-dropdown]",this.dropdown),this.data=t.data||null,this.loadData=t.loadData||null,this.mapData=t.mapData||null,this.renderItem=t.renderItem||null,this.onSelect=t.onSelect||null,this.resetFunc=t.resetFunc||null,this._loadData=this._loadData.bind(this),this.debouncedLoadData=x.lib.debounce(this._loadData,400),this.keyHandler=this._keyHandler.bind(this),this.clickHandler=this._clickHandler.bind(this),this.hideHandler=this._hideHandler.bind(this),this.field?.value==""?this._reset():this._defaultState(),this.field.addEventListener("focus",this.debouncedLoadData),this.field.addEventListener("input",this.debouncedLoadData),this.field.addEventListener("keydown",this.keyHandler),this.list.addEventListener("click",this.clickHandler),this.dropdown.addEventListener("dropdown:afterhide",this.hideHandler)}destroy(){this._reset(),this.field.removeEventListener("focus",this.debouncedLoadData),this.field.removeEventListener("input",this.debouncedLoadData),this.field.removeEventListener("keydown",this.keyHandler),this.list.removeEventListener("click",this.clickHandler),this.dropdown.removeEventListener("dropdown:afterhide",this.hideHandler)}_keyHandler(e){"Enter"===e.key&&(e.preventDefault(),this.field.blur())}_clickHandler(e){if(this._clicked)return;this._clicked=!0;let t=e.target.closest("[data-item]");if(t)try{let e=JSON.parse(t.dataset.item);this.onSelect(e)}catch(e){console.error("Error parsing JSON")}else console.log("Empty data-item")}_hideHandler(){if(this._clicked){this._clicked=!1;return}if(!this.data||!this.data.length)return void this._reset();this._loadingState(),this.onSelect(this.data[0])}_loadingState(){x.lib.render(this.list,this.loadingStateHtml)}_emptyState(){x.lib.render(this.list,this.emptyStateHtml)}_defaultState(){x.lib.render(this.list,this.defaultStateHtml)}_reset(){this.resetFunc(),this.data=null,this._defaultState()}async _loadData(){if(this.field?.value=="")return void this._reset();this._loadingState();try{this._currentLoadId=Date.now();let e=this._currentLoadId;if(this.data=await this.loadData(this),e!==this._currentLoadId)return;this.data=this.mapData(this.data),this.render()}catch(e){this._reset(),console.error("Data loading error:",e)}}async render(){if(!this.data)return void this._reset();if(!this.data.length)return void this._emptyState();let e=this.data.map(this.renderItem).join("");x.lib.render(this.list,e)}}e.exports.autocomplete=new s}),parcelRegister("1AMEo",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.scroll=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.parent=window,this.offset=0,this.classActive="active",this.hash=!1,this.to=this.scrollTo,this._linksHash={},this._scrollHandlers=new Map,this._initialized=!1}init(){this._initialized&&this.destroy();let e=s.lib.qsa("[x-scrollto]");if(e.length){for(let t of(this._linksHash={},e))try{let e={},i=t.getAttribute("x-scrollto");if(s.lib.isValidJSON(i)){let n=JSON.parse(i);if(n.hasOwnProperty("target")&&s.lib.qs(n.target))e.link=t,e.parent=n.parent||this.parent,e.target=s.lib.qs(n.target),e.offset=n.offset||this.offset,e.classActive=n.classActive||this.classActive,e.hash=n.hash??this.hash;else{console.error("Target required in JSON or element does not exist:",n);continue}}else if(s.lib.qs(i))e.link=t,e.parent=this.parent,e.target=s.lib.qs(i),e.offset=this.offset,e.classActive=this.classActive,e.hash=this.hash;else{console.error(`Target "${i}" not found.`);continue}if(e){let i=s.lib.makeId();this._linksHash[i]=e,t.addEventListener("click",t=>{t.preventDefault(),this.scrollTo({parent:e.parent,target:e.target,offset:e.offset,classActive:e.classActive,hash:e.hash})})}}catch(e){console.error(e)}Object.keys(this._linksHash).length&&this._setupScrollObservers(),this._initialized=!0}}destroy(){for(let[e,t]of this._scrollHandlers.entries())e.removeEventListener("scroll",t);this._scrollHandlers.clear(),this._linksHash={},this._initialized=!1}async scrollTo(e){return new Promise(t=>{let i,n,o,r,l="string"==typeof e.parent?s.lib.qs(e.parent):e.parent||this.parent,a=e.offset||this.offset,d=e.hash??this.hash,c="object"!=typeof e||e instanceof Element?s.lib.qs(e):s.lib.qs(e.target);if(!c){console.error("Target not found:",e.target||e),t();return}l===window?r=(i=(n=window.pageYOffset)+c.getBoundingClientRect().top)-n-a:(n=l.scrollTop,o=l.getBoundingClientRect().top,r=(i=n+c.getBoundingClientRect().top-o)-n-a),l.scrollTo({top:n+r,left:0,behavior:"smooth"}),setTimeout(t,400),d&&c.id?s.lib.updateURL("#"+c.id):d&&history.replaceState({},document.title,window.location.href.split("#")[0])})}_setupScrollObservers(){let e=new Set;for(let t in this._linksHash)e.add(this._linksHash[t].parent);for(let t of e){let e=t===window?window:s.lib.qs(t);if(!e)continue;let i=()=>{this._scrollObserve()};e.addEventListener("scroll",i,{passive:!0}),this._scrollHandlers.set(e,i)}this._scrollObserve()}_scrollObserve(){Object.keys(this._linksHash).forEach(e=>{let t=this._linksHash[e],s=t.target.getBoundingClientRect(),i=document.documentElement.clientHeight/4;s.top<=i&&s.bottom>i?null!=t.classActive&&(t.link.classList.add(t.classActive),t.target.classList.add(t.classActive)):null!=t.classActive&&(t.link.classList.remove(t.classActive),t.target.classList.remove(t.classActive))})}}e.exports.scroll=new i}),parcelRegister("iXXci",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.hover=i;var s=parcelRequire("dTNnT");function i(){document.addEventListener("mouseenter",n,!0),document.addEventListener("mouseleave",o,!0)}function n(e){r(e,!0)}function o(e){r(e,!1)}function r(e,t){let i=e.target instanceof Element?e.target.closest("[x-hover]"):null;if(!i)return;let n=i.getAttribute("href");if(n)for(let e of s.lib.qsa(`[href="${CSS.escape(n)}"]`))e.classList.toggle("hover",t)}}),parcelRegister("iMG9j",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.device=e.exports.Device=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.js=!0,this.os="unknown",this.browser="unknown",this.device=null,this.mobile=!1,this.touch=!1,this.width=window.innerWidth,this.height=window.innerHeight,this.breakpoint=this._getBreakpointName(this.width),this.size=this._getSizeFlags(this.breakpoint),this._html=document.documentElement,this._onResize=this._onResize.bind(this),this._debouncedResize=s.lib.debounce(this._onResize,200),this._initialized=!1}init(){this._initialized&&this._cleanup(),this._detect(),this._applyHtmlClasses(),window.addEventListener("resize",this._debouncedResize),this._initialized=!0}_cleanup(){window.removeEventListener("resize",this._debouncedResize),["js","windows","macos","ios","android","linux","unknown","chrome","firefox","safari","opera","edge","iphone","ipad","android","mobile","desktop","touch"].forEach(e=>{this._html.classList.remove(e)}),this._initialized=!1}_getBreakpointName(e){return e>=1400?"xl":e>=1e3?"l":e>=600?"m":"s"}_getSizeFlags(e){return{s:"s"===e,m:"m"===e,l:"l"===e,xl:"xl"===e}}_onResize(){let e=this.breakpoint;this.width=window.innerWidth,this.height=window.innerHeight;let t=this._getBreakpointName(this.width);if(e!==t){this.breakpoint=t,this.size=this._getSizeFlags(t);let s=new CustomEvent("breakpointchange",{detail:{prev:e,current:t,width:this.width,height:this.height}});window.dispatchEvent(s)}else this.breakpoint=t,this.size=this._getSizeFlags(t)}_detect(){let e=window.navigator.userAgent.toLowerCase();this.mobile=/mobile/.test(e);let t={win:"windows",linux:"linux",iphone:"ios",ipad:"ios",ipod:"ios",mac:"macos",android:"android"},s=Object.keys(t).find(t=>e.includes(t));this.os=s?t[s]:"unknown",/firefox/.test(e)?this.browser="firefox":/opr\//.test(e)||/opera/.test(e)?this.browser="opera":/edg\//.test(e)?this.browser="edge":!/chrome/.test(e)||/edg\//.test(e)||/opr\//.test(e)?!/safari/.test(e)||/chrome/.test(e)||/edg\//.test(e)?this.browser="unknown":this.browser="safari":this.browser="chrome",/ipad/.test(e)?this.device="ipad":/iphone/.test(e)?this.device="iphone":/android/.test(e)?this.device="android":/mac/.test(e)?this.device="mac":this.device="computer",this.touch=window.matchMedia&&window.matchMedia("(pointer: coarse)").matches}_applyHtmlClasses(){["js",this.os,this.browser,this.device,this.mobile?"mobile":"desktop",this.touch?"touch":null].filter(Boolean).forEach(e=>this._html.classList.add(e))}}e.exports.Device=i,e.exports.device=new i}),parcelRegister("bwKX7",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.form=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.listen=Object.freeze({update:new Set})}getEventType(e){if(e.isContentEditable)return"input";let t=e.tagName.toLowerCase();if("input"===t||"textarea"===t)return"input";if("select"===t)return"change";throw Error(`Unsupported element <${t}>`)}setChecked(e,t=!1){for(let i of s.lib.qsa(e)){if(!i?.type||"checkbox"!==i.type&&"radio"!==i.type){console.error("setChecked: Not a checkbox/radio",i);continue}i.checked!==t&&(i.checked=t,i.dispatchEvent(new Event("input",{bubbles:!0})))}}setValue(e,t){for(let i of s.lib.qsa(e)){if(!i){console.error("setValue: Element not found",i);continue}if(i.isContentEditable)i.innerText=t;else{let e=i.tagName.toLowerCase(),s=i.type;if("input"===e)"checkbox"===s||"radio"===s?i.checked=!!t:i.value=t;else if("textarea"===e||"select"===e)i.value=t;else throw Error(`setValue: Unsupported element <${e}>`)}i.dispatchEvent(new Event(this.getEventType(i),{bubbles:!0}))}}onUpdate(e,t){for(let i of s.lib.qsa(e)){if(!i){console.error("onUpdate: Element not found",i);continue}this.listen.update.has(i)||(i.addEventListener(this.getEventType(i),()=>t(i)),this.listen.update.add(i))}}offUpdate(e){for(let t of s.lib.qsa(e))t&&this.listen.update.has(t)&&(console.warn("offUpdate: Cannot fully remove listener because anonymous functions were used."),this.listen.update.delete(t))}update(e){for(let t of s.lib.qsa(e)){if(!t){console.error("update: Element not found",t);continue}t.dispatchEvent(new Event(this.getEventType(t),{bubbles:!0}))}}}e.exports.form=new i}),parcelRegister("azm1L",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.sticky=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.activeClass="sticky_on",this.rootMargin="-1px 0px 0px 0px",this._observer=new IntersectionObserver(e=>{for(let t of e)this._handleEntry(t)},{threshold:1,rootMargin:this.rootMargin}),this._initialized=!1}_handleEntry(e){let t=e.intersectionRatio<1,i=e.target,n=i.classList.contains(this.activeClass);s.lib.switchClass(i,this.activeClass,t),t&&!n&&i.dispatchEvent(new CustomEvent("sticky:on",{bubbles:!0})),!t&&n&&i.dispatchEvent(new CustomEvent("sticky:off",{bubbles:!0}))}init(){for(let e of(this._initialized&&this.reset(),s.lib.qsa(".sticky")))e.dataset.stickyObserved||(this._observer.observe(e),e.dataset.stickyObserved="true");this._initialized=!0}reset(){for(let e of s.lib.qsa(".sticky"))e.dataset.stickyObserved&&(document.body.contains(e)&&this._observer.unobserve(e),delete e.dataset.stickyObserved)}destroy(){this._observer.disconnect(),this._initialized=!1}}e.exports.sticky=new i}),parcelRegister("9PwSp",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.slider=e.exports.Slider=void 0;class s{constructor(){this.sliders=[],this.instances=new Map,this.io=null,this.mo=null}init(){this.observeSliders(),this.mo=new MutationObserver(e=>{for(let t of e)t.addedNodes.forEach(e=>{1===e.nodeType&&e.hasAttribute?.("x-slider")&&this.io.observe(e),1===e.nodeType&&e.querySelectorAll?.("[x-slider]")?.forEach(e=>this.io.observe(e))})}),this.mo.observe(document.body,{childList:!0,subtree:!0})}destroy(){this.instances.forEach((e,t)=>{let s=e.listenerTarget||e.wrapper||t;e.touch?(s.removeEventListener("touchstart",e.events.touchstart,!0),s.removeEventListener("touchmove",e.events.touchmove,!0),s.removeEventListener("touchend",e.events.touchend,!0),s.removeEventListener("touchcancel",e.events.touchcancel,!0)):(t.removeEventListener("mousemove",e.events.mousemove),e.events.mouseout&&t.removeEventListener("mouseleave",e.events.mouseout),e.events.mouseenter&&t.removeEventListener("mouseenter",e.events.mouseenter),e.events.resize&&(window.removeEventListener("resize",e.events.resize),window.removeEventListener("orientationchange",e.events.resize)))}),this.io&&this.io.disconnect(),this.mo&&this.mo.disconnect(),this.instances.clear()}observeSliders(){this.sliders=document.querySelectorAll("[x-slider]"),this.io=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&!this.instances.has(e.target)&&this.initSlider(e.target)})},{rootMargin:"60px 0px 60px 0px",threshold:0}),this.sliders.forEach(e=>this.io.observe(e))}initSlider(e){let t=[...e.children].map(e=>e.cloneNode(!0));if(!t.length)return;e.classList.add("slider"),e.style.overflow="hidden",e.style.touchAction="pan-y",e.style.overscrollBehavior="contain";let s=0,i=!0,n=!0,o=!0;try{let t=e.getAttribute("x-slider");if(t){let e=JSON.parse(t);"gap"in e&&(s=Number(e.gap)||0),"rubber"in e&&(i=!!e.rubber),"resetOnMouseout"in e&&(n=!!e.resetOnMouseout),"touch"in e&&(o=!!e.touch)}}catch(e){console.warn("Invalid x-slider JSON",e)}let r=document.createElement("div");r.className="slider-wrapper",r.style.gap=s+"px",e.innerHTML="",t.forEach((e,t)=>{e.classList.add("slider-item");let s=e.querySelector("img");s&&0===t&&(s.dataset.srcset&&(s.srcset=s.dataset.srcset,s.removeAttribute("data-srcset")),s.dataset.src&&(s.src=s.dataset.src,s.removeAttribute("data-src")),s.setAttribute("loading","eager")),r.appendChild(e)}),e.appendChild(r);let l="ontouchstart"in window,a=[];if(t.length>1&&(!l||o)){let s=document.createElement("div");s.className="slider-indicators",t.forEach((e,t)=>{let i=document.createElement("span");0===t&&i.classList.add("active"),s.appendChild(i)}),e.appendChild(s),a=[...s.querySelectorAll("span")]}let d=t;if(l&&!o)return void d[0].classList.add("active");let c=0,h=/iP(ad|hone|od)/.test(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,u=()=>d[0].offsetWidth+s,p=(e,t=!1)=>{let s=Math.max(0,Math.min(e,d.length-1)),i=u();c=s,r.style.transition=t?"none":"transform 0.25s",r.style.transform=`translateX(${-c*i}px)`,a.length&&a.forEach((e,t)=>e.classList.toggle("active",t===c)),t||r.addEventListener("transitionend",()=>{r.style.transition="none",h&&(r.style.pointerEvents="none",requestAnimationFrame(()=>{r.offsetWidth,r.style.pointerEvents="auto"}))},{once:!0})};p(0,!0);let m={},v=!1,f=null,b=()=>{v||(v=!0,d.forEach((t,s)=>{let i=t.querySelector("img");i&&0!==s&&(i.dataset.srcset&&(i.srcset=i.dataset.srcset,i.removeAttribute("data-srcset")),i.dataset.src&&(i.src=i.dataset.src,i.removeAttribute("data-src")),l||i.complete&&0!==i.naturalWidth||i.addEventListener("load",()=>{if(null!=f){let t=e.getBoundingClientRect(),i=e.offsetWidth;Math.floor((f-t.left)/i*d.length)===s&&p(s,!0)}},{once:!0}))}))};if(d.length>1)if(l){let t=0,s=0,n=!1,o=null,l=(e,t)=>[...e].find(e=>e.identifier===t)||null,a=()=>{b(),e.removeEventListener("touchstart",a)};e.addEventListener("touchstart",a,{passive:!1,capture:!0}),m.touchstart=e=>{let i=e.changedTouches[0];o=i.identifier,t=i.clientX,s=i.clientY,n=!0,r.style.transition="none"},m.touchmove=e=>{if(!n||null==o)return;let a=l(e.touches,o);if(!a)return;let h=a.clientX-t;if(Math.abs(a.clientY-s)>Math.abs(h))return;e.cancelable&&e.preventDefault();let p=u(),m=h;0===c&&h>0&&(m=i?.15*h:0),c===d.length-1&&h<0&&(m=i?.15*h:0),r.style.transform=`translateX(${-c*p+m}px)`},m.touchend=e=>{if(!n)return;n=!1;let i=l(e.changedTouches,o)||e.changedTouches[0];o=null;let r=i.clientX-t,a=i.clientY-s,h=.1*u();if(Math.abs(a)>Math.abs(r)||0===c&&r>0||c===d.length-1&&r<0)return void p(c);r>h&&c>0?p(c-1):r<-h&&c<d.length-1?p(c+1):p(c)},m.touchcancel=()=>{n=!1,o=null,p(c)},e.addEventListener("touchstart",m.touchstart,{passive:!1,capture:!0}),e.addEventListener("touchmove",m.touchmove,{passive:!1,capture:!0}),e.addEventListener("touchend",m.touchend,{capture:!0}),e.addEventListener("touchcancel",m.touchcancel,{capture:!0})}else{let t=s=>{f=s.clientX,b(),e.removeEventListener("mouseenter",t)};e.addEventListener("mouseenter",t),m.mousemove=t=>{f=t.clientX;let s=e.getBoundingClientRect(),i=e.offsetWidth;if(i<=0)return;let n=t.clientX-s.left;n<0?n=0:n>=i&&(n=i-1e-7);let o=Math.floor(n/i*d.length),r=d[o].querySelector("img");o!==c&&(!r||r.complete||r.naturalWidth>0)&&p(o,!0)},e.addEventListener("mousemove",m.mousemove),e.addEventListener("mouseenter",e=>m.mousemove(e)),n&&(m.mouseout=()=>p(0,!0),e.addEventListener("mouseleave",m.mouseout))}let w=()=>{let e=u();r.style.transition="none",r.style.transform=`translateX(${-c*e}px)`};window.addEventListener("resize",w),window.addEventListener("orientationchange",w),m.resize=w,this.instances.set(e,{wrapper:r,slides:d,events:m,touch:l,listenerTarget:e})}}e.exports.Slider=s,e.exports.slider=new s}),parcelRequire("5vvBz"),x.init(),window.element1=e=>{let t=-360*e.progress;e.element.style.transform="rotate("+t+"deg)"},window.element2=e=>{let t=180*e.progress;e.element.style.transform="rotate("+t+"deg)"},window.element3=e=>{let t=120*e.progress;e.element.style.transform="rotate("+t+"deg)"},window.headerAnimation=e=>{let t=x.device.size.s?100:120,s=qs(".header"),i=qs(".header-logo img"),n=t-e.progress*t/2,o=1-.5*e.progress;s.style.height=n+"px",i.style.transform="scale("+o+")",x.lib.switchClass(s,"header_compact",1==e.progress)},window.onload=()=>{x.lib.transitionsOn()}}();
|
|
1
|
+
!function(){var $parcel$global="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirec3c2;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var t=$parcel$inits[e];delete $parcel$inits[e];var s={id:e,exports:{}};return $parcel$modules[e]=s,t.call(s.exports,s,s.exports),s.exports}var i=Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}).register=function(e,t){$parcel$inits[e]=t},$parcel$global.parcelRequirec3c2=parcelRequire);"use strict";var parcelRegister=parcelRequire.register;parcelRegister("5vvBz",function(e,t){"use strict";var s=parcelRequire("7k1tf"),i=parcelRequire("1ZOHL"),n=parcelRequire("ataKg"),o=parcelRequire("9K5nT"),r=parcelRequire("6goNw"),l=parcelRequire("5iBRN"),a=parcelRequire("ljacF"),d=parcelRequire("3jj36"),c=parcelRequire("1AMEo"),h=parcelRequire("iXXci"),u=parcelRequire("iMG9j"),p=parcelRequire("dTNnT"),m=parcelRequire("bwKX7"),v=parcelRequire("azm1L"),f=parcelRequire("9PwSp");class b{constructor(){this.modal=s.modal,this.animate=i.animate,this.appear=n.appear,this.lazyload=o.lazyload,this.loadmore=r.loadmore,this.sheets=l.sheets,this.dropdown=a.dropdown,this.autocomplete=d.autocomplete,this.scroll=c.scroll,this.hover=h.hover,this.device=u.device,this.lib=p.lib,this.render=p.lib.render.bind(p.lib),this.form=m.form,this.sticky=v.sticky,this.slider=f.slider,this.initialized=!1}init(){this.initialized||(this.device.init(),this.modal.init(),this.animate.init(),this.appear.init(),this.lazyload.init(),this.loadmore.init(),this.sheets.init(),this.dropdown.init(),this.scroll.init(),this.sticky.init(),this.slider.init(),(0,h.hover)(),this.initialized=!0)}}let w=new b;window.x=w,window.qs=w.lib.qs,window.qsa=w.lib.qsa,window.x.id=w.lib.id,window.x.qs=w.lib.qs,window.x.qsa=w.lib.qsa}),parcelRegister("7k1tf",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.modal=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.modalLevel=0,this.lockCount=0,this.html=s.lib.qs("html"),this._initialized=!1,this._clickHandler=null,this._keydownHandler=null}init(){this._initialized&&this.destroy(),this._renderModalContents(),this._setupModalLinks(),this._setupGlobalListeners(),this._initialized=!0}destroy(){this._clickHandler&&(document.removeEventListener("click",this._clickHandler),this._clickHandler=null),this._keydownHandler&&(document.removeEventListener("keydown",this._keydownHandler),this._keydownHandler=null),this.modalLevel=0,this.lockCount=0,this._initialized=!1}_renderModalContents(){s.lib.qsa("[x-modal]").forEach(e=>{let t=s.lib.qs(".modal-here")||s.lib.qs("body"),i=e.getAttribute("x-modal"),n=e.getAttribute("class")||"",o=(e.dataset.windowClass||"").replace(/\s+/g," ").trim(),r=e.innerHTML,l=document.createElement("div");l.id=i,l.className=`modal ${n}`,l.innerHTML=`<div class="modal-overlay"></div><div class="modal-outer"><div class="modal-inner"><div class="modal-window ${o}">${r}<div class="modal-rail"><a role="button" class="modal-close"></a></div></div></div></div>`,t.appendChild(l),e.remove()})}_setupModalLinks(){s.lib.qsa("[x-modal-open]").forEach(e=>{let t=e.getAttribute("x-modal-open");e.addEventListener("click",e=>{e.preventDefault(),this.show(t)}),window.location.hash==="#"+t&&s.lib.qs("#"+t).classList.contains("modal_hash")&&this.show(t)})}_setupGlobalListeners(){this._clickHandler=e=>{s.lib.qs(".modal_active")&&(e.target.classList.contains("modal-close")||!e.target.closest(".modal-window"))&&(e.preventDefault(),this.hide(e.target.closest(".modal")?.getAttribute("id")))},this._keydownHandler=e=>{let t=s.lib.qsa(".modal_active"),i=t[t.length-1];i&&"Escape"===e.key&&(e.preventDefault(),this.hide(i.getAttribute("id")))},document.addEventListener("click",this._clickHandler),document.addEventListener("keydown",this._keydownHandler)}async show(e){if(this.lockCount>0)return;if(this.isActive(e))return void this.hide(e);let t=s.lib.qs("#"+e);if(t){t.classList.contains("modal_uniq")&&await this.hideAll(),this.lockCount++;try{await s.lib.addClass(t,"modal_ready"),await s.lib.sleep(10),t.dispatchEvent(new CustomEvent("modal:ready")),t.classList.contains("modal_hash")&&history.replaceState(null,"","#"+e),s.lib.addClass(this.html,"modal_active"),s.lib.addClass(this.html,e+"_active"),s.lib.addClass("[x-modal-open="+e+"]","active"),this.modalLevel++,s.lib.addClass(t,"modal_z"+this.modalLevel),await s.lib.addClass(t,"modal_active"),s.lib.qs(".modal-outer",t)?.scrollTo(0,1),await s.lib.sleep(200),t.dispatchEvent(new CustomEvent("modal:open"))}finally{this.lockCount--}}}async hide(e){if(this.lockCount>0)return;let t=s.lib.qs("#"+e);t&&(this.lockCount++,t.classList.contains("modal_hash")&&window.location.hash==="#"+e&&history.replaceState(null,document.title,window.location.pathname+window.location.search),s.lib.removeClass("[x-modal-open="+e+"]","active"),await s.lib.removeClass(t,"modal_active",200),s.lib.removeClass(t,"modal_z"+this.modalLevel),t.dispatchEvent(new CustomEvent("modal:close")),s.lib.removeClass(this.html,e+"_active"),this.modalLevel--,0===this.modalLevel&&s.lib.removeClass(this.html,"modal_active"),this.lockCount--)}async hideAll(){let e=s.lib.qsa(".modal_active");if(e.length)for(let t of e)await this.hide(t.getAttribute("id"))}isActive(e){return s.lib.qs("#"+e)?.classList.contains("modal_active")??!1}}e.exports.modal=new i}),parcelRegister("dTNnT",function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.lib=void 0;class Lib{constructor(){this.loadedScripts=[],this._elementRender()}_elementRender(){document.addEventListener("DOMContentLoaded",()=>{this.qsa("[x-render]").forEach(item=>{this.render(item,eval(item.getAttribute("x-render")))})},{once:!0})}id(e){return document.getElementById(e)}qs(e,t=document){return e?"string"==typeof e?t.querySelector(e):e instanceof Node?e:e instanceof NodeList?e.length?e[0]:null:Array.isArray(e)&&e.length?e[0]instanceof Node?e[0]:t.querySelector(e[0]):e===window?e:null:null}qsa(e,t=document){if(!e)return[];if("string"==typeof e)return[...t.querySelectorAll(e)];if(e instanceof NodeList)return[...e];if(e instanceof Node)return[e];if(Array.isArray(e)&&e.length){let s=[];for(let i of e)i instanceof Node?s.push(i):i instanceof NodeList?s.push(...i):s.push(...t.querySelectorAll(i));return s.flat()}return e===window?[e]:[]}async hide(e){await this.addClass(e,"hidden")}async show(e){await this.removeClass(e,"hidden")}async toggle(e){await this.toggleClass(e,"hidden")}async switch(e,t){t?await this.removeClass(e,"hidden"):await this.addClass(e,"hidden")}async addClass(e,t,s=0){let i=this.qsa(e);if(i.length){if(s>0){for(let e of i)e.classList.add(t.replace(/_.*/,"")+"_ready");await new Promise(e=>setTimeout(e,s))}for(let e of i)e.classList.add(t)}}async removeClass(e,t,s=0){let i=this.qsa(e);if(i.length){for(let e of i)e.classList.remove(t);if(s>0)for(let e of(await new Promise(e=>setTimeout(e,s)),i))e.classList.remove(t.replace(/_.*/,"")+"_ready")}}async toggleClass(e,t,s=0){for(let i of this.qsa(e))i.classList.contains(t)?await this.removeClass(i,t,s):await this.addClass(i,t,s)}async switchClass(e,t,s,i=0){s?await this.addClass(e,t,i):await this.removeClass(e,t,i)}reload(){location.reload()}reloadWithHash(e){location.hash=e,this.reload()}redirectTo(e){location.href=e}updateURL(e,t){history.pushState?history.pushState(null,t,e):location.href=e}random(e,t){return Math.floor(Math.random()*(t-e+1))+e}price(e){return parseFloat(e).toFixed(2).replace(/\d(?=(\d{3})+\.)/g,"$& ").replace(".00","")}number(e){let t=(e+"").split(".");return t[0]=t[0].replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1 "),t.join(".")}numberDecline(e,t,s,i){if(e>10&&1===Math.floor(e%100/10))return i;switch(e%10){case 1:return t;case 2:case 3:case 4:return s;default:return i}}isEmail(e){return/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(e)}isValidJSON(e){try{return JSON.parse(e),!0}catch{return!1}}isInteger(e){return Number.isInteger(Number(e))}isDouble(e){let t=Number(e);return!isNaN(t)&&"number"==typeof t}makeId(){return"id"+this.random(1e5,999999)}makePassword(e=8,t){let s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#^$%^&*()-+:,.;_",i=Array.from({length:e},()=>s[Math.floor(Math.random()*s.length)]).join("");if(!t)return i;this.qs(t).value=i}loadScript(e,t,s="async"){if(this.loadedScripts.includes(e))t();else{let i=document.createElement("script");i.onload=t,i.onerror=()=>console.error(`Failed to load script: ${e}`),i.src=e,s&&i.setAttribute(s,""),document.body.appendChild(i),this.loadedScripts.push(e)}}deferred(e,t=1e4){let s,i=["scroll","resize","click","keydown","mousemove","touchmove"],n=()=>{i.forEach(e=>window.removeEventListener(e,n,{once:!0})),"complete"===document.readyState?e():window.addEventListener("load",e,{once:!0}),clearTimeout(s)};s=setTimeout(n,t),i.forEach(e=>window.addEventListener(e,n,{once:!0}))}deffered(e,t=1e4){return this.deferred(e,t)}throttle(e,t,s={}){return this._throttle(e,t,s)}debounce(e,t,s={}){return this._debounce(e,t,s)}onAppear(e,t,s=null,i={}){let n=this.qsa(e);if(!n.length)return;let o=new IntersectionObserver((e,i)=>{e.forEach(e=>{e.isIntersecting?(t(e.target),s||i.unobserve(e.target)):s&&s(e.target)})},{root:null,rootMargin:"200px",threshold:.1,...i});n.forEach(e=>o.observe(e))}alertErrors(e){e&&("string"==typeof e?alert(e):alert(Object.values(e).join("\n")))}printErrors(e){return e?"string"==typeof e?`<div>${e}</div>`:Object.entries(e).map(([e,t])=>`<div class="error_${e}">${t}</div>`).join("\n"):""}async render(e,t,s=null){let i=this.qsa(e);if(!i.length)return;let n="function"==typeof t?await t():t;for(let e of i)null==s?e.innerHTML=n:e.insertAdjacentHTML(s,n)}transitionsOn(e=0){setTimeout(()=>{document.documentElement.classList.remove("noTransitions")},e)}transitionsOff(){document.documentElement.classList.add("noTransitions")}async sleep(e){return new Promise(t=>setTimeout(t,e))}_throttle(e,t,s={}){let i=null,n=null,o=null,r=0,{leading:l=!0,trailing:a=!0}=s,d=t=>{r=t,e.apply(o,n),n=o=null},c=function(...e){let s=Date.now();r||l||(r=s),n=e,o=this;let c=t-(s-r);c<=0||c>t?(i&&clearTimeout(i),i=null,d(s)):!i&&a&&(i=setTimeout(()=>{i=null,a&&n&&d(Date.now())},c))};return c.cancel=()=>{i&&clearTimeout(i),i=n=o=null,r=0},c}_debounce(e,t,s={}){let i=null,n=null,o=null,{leading:r=!1,trailing:l=!0}=s,a=()=>{e.apply(o,n),n=o=null},d=function(...e){n=e,o=this,i&&clearTimeout(i),r&&!i&&a(),i=setTimeout(()=>{i=null,l&&n&&a()},t)};return d.cancel=()=>{i&&clearTimeout(i),i=n=o=null},d}}let lib=exports.lib=new Lib}),parcelRegister("1ZOHL",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.animate=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._ticking=!1,this._animations=[],this._scroll=this._scroll.bind(this),this._scrollHandler=this._scrollHandler.bind(this),this._initialized=!1,this._parents=new Set,this._elements=null}init(){this._cleanup(),this._elements=s.lib.qsa("[x-animate]"),this._elements?.length&&(this._parseElementsAnimations(),this._animations.length&&(this._setupListeners(),this._initialized=!0))}_cleanup(){this._initialized&&(this._parents.forEach(e=>{e.removeEventListener("scroll",this._scrollHandler)}),window.removeEventListener("resize",this._scrollHandler),this._ticking=!1,this._animations=[],this._parents=new Set,this._elements=null,this._initialized=!1)}_parseElementsAnimations(){this._elements.forEach(e=>{try{let t=JSON.parse(e.getAttribute("x-animate")),i={element:e,trigger:s.lib.qs(t.trigger)||e,parent:s.lib.qs(t.parent)||window,start:t.start,end:t.end||!1,class:t.class,classRemove:!1!==t.classRemove,functionName:t.functionName,lockedIn:!1,lockedOut:!1,log:t.log||!1};this._animations.push(i)}catch(t){console.error("Invalid JSON in x-animate attribute:",e,t)}})}_setupListeners(){for(let e of this._animations)this._parents.has(e.parent)||(this._parents.add(e.parent),e.parent.addEventListener("scroll",this._scrollHandler));window.addEventListener("resize",this._scrollHandler),"complete"===document.readyState?requestAnimationFrame(()=>this._scroll()):window.addEventListener("load",()=>this._scroll(),{once:!0})}_scrollHandler(){this._ticking||(this._ticking=!0,window.requestAnimationFrame(()=>{this._scroll(),this._ticking=!1}))}_scroll(){this._animations.forEach(e=>{let t=e.trigger.getBoundingClientRect(),s=e.parent!==window?e.parent.getBoundingClientRect():null,i=t.top-(s?s.top:0),n=this._2px(e.start,e.parent),o=this._2px(e.end,e.parent);e.duration=isNaN(o)?0:n-o,e.log&&console.log(i,n,o,e),isNaN(n)||isNaN(o)?!isNaN(n)&&(i<=n?(e.lockedOut=!1,e.class&&e.element.classList.add(e.class),e.lockedIn||"function"!=typeof window[e.functionName]||(e.progress=1,window[e.functionName](e),e.lockedIn=!0)):(e.lockedIn=!1,e.class&&!0===e.classRemove&&e.element.classList.contains(e.class)&&e.element.classList.remove(e.class),!e.lockedOut&&"function"==typeof window[e.functionName]&&i>=n&&(e.progress=0,window[e.functionName](e),e.lockedOut=!0))):i<=n&&i>=o?(e.lockedOut=!1,e.class&&e.element.classList.add(e.class),"function"==typeof window[e.functionName]&&(e.progress=((n-i)/e.duration).toFixed(4),window[e.functionName](e))):(e.class&&!0===e.classRemove&&e.element.classList.contains(e.class)&&e.element.classList.remove(e.class),!e.lockedOut&&"function"==typeof window[e.functionName]&&(i>=n&&(e.progress=0,window[e.functionName](e),e.lockedOut=!0),i<=o&&(e.progress=1,window[e.functionName](e),e.lockedOut=!0)))})}_2px(e,t=window){return/(%|vh)/.test(e)?(t===window?document.documentElement.clientHeight:t.clientHeight)*parseFloat(e=e.replace(/(vh|%)/,""))/100:parseFloat(e)}}e.exports.animate=new i}),parcelRegister("ataKg",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.appear=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._targets=[],this._observer=null,this._options={appearedClass:"appeared",visibleClass:"visible",once:!1}}init(e={}){"IntersectionObserver"in window&&(this._options={...this._options,...e},this._observer&&(this._observer.disconnect(),this._observer=null),this._targets=s.lib.qsa("[x-appear]"),this._targets.length&&(this._observer=new IntersectionObserver(this._observerCallback.bind(this)),this._targets.forEach(e=>{this._observer.observe(e)})))}_observerCallback(e){let{appearedClass:t,visibleClass:s,once:i}=this._options;for(let n of e){let e=n.target,o=null!=t,r=null!=s;n.isIntersecting?(o&&!e.classList.contains(t)&&(e.classList.add(t),i&&this._observer.unobserve(e)),r&&(e.classList.add(s),e.dispatchEvent(new CustomEvent("visible",{detail:{appeared:!0}})))):r&&e.classList.contains(s)&&(e.classList.remove(s),e.dispatchEvent(new CustomEvent("invisible",{detail:{appeared:!0}})))}}}e.exports.appear=new i}),parcelRegister("9K5nT",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.lazyload=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._observer=null,this._options={root:null,rootMargin:"200px",threshold:.1}}init(){if(!("IntersectionObserver"in window))return void console.warn("IntersectionObserver is not supported in this browser.");this._observer||(this._observer=new IntersectionObserver(this._callback.bind(this),this._options)),[...s.lib.qsa("[x-lazyload]")].filter(e=>!e.classList.contains("loaded")).forEach(e=>this._observer.observe(e))}destroy(){this._observer&&(this._observer.disconnect(),this._observer=null)}_callback(e){for(let t of e)t.isIntersecting&&this._loadImage(t.target)}_fetchImage(e,t){return new Promise((s,i)=>{let n=new Image;t&&(n.srcset=t),e&&(n.src=e),n.onload=()=>s(),n.onerror=()=>i(Error(`Failed to load image: ${e||t}`))})}async _loadImage(e){let t=e.dataset.srcset||null,i=e.dataset.src||null;if(!i&&!t)return void console.warn("No source or srcset found for image:",e);try{await this._fetchImage(i,t),t&&(e.srcset=t,e.removeAttribute("data-srcset")),i&&(e.src=i,e.removeAttribute("data-src")),await Promise.resolve(s.lib.addClass(e,"loaded")),this._observer&&this._observer.unobserve(e)}catch(t){console.error("Lazyload failed for image:",e,t)}}}e.exports.lazyload=new i}),parcelRegister("6goNw",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.loadmore=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.items={},this.locked=!1,this.observer=null,this._initialized=!1}init(){this._initialized&&this.destroy();let e=s.lib.qsa("[x-loadmore]");if(!e.length)return;let t=async(e,t)=>{for(let i of e)if(i.isIntersecting&&!this.locked){this.locked=!0;let e=i.target,n=e.getAttribute("x-loadmore");if(s.lib.isValidJSON(n)){let s=JSON.parse(n);if(s.functionName){let i=window[s.functionName];if("function"==typeof i)try{let s=e.id,n=this.items[s].page;await i(n)?this.items[s].page++:t.unobserve(e)}catch(e){console.error("Loadmore callback error:",e)}else console.error(`Function "${s.functionName}" is not defined.`)}else console.warn('Missing "functionName" in x-loadmore attribute:',s)}else console.error("Invalid JSON in x-loadmore attribute:",n);this.locked=!1}},i={rootMargin:"0px 0px 400px 0px",threshold:0};this.observer=new IntersectionObserver(t,i),e.forEach(e=>{let t=s.lib.makeId();e.setAttribute("id",t),this.items[t]={el:e,page:1},this.observer.observe(e)}),this._initialized=!0}destroy(){this.observer&&(this.observer.disconnect(),this.observer=null),this.items={},this.locked=!1,this._initialized=!1}}e.exports.loadmore=new i}),parcelRegister("5iBRN",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.sheets=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._handlers=new Map,this._initialized=!1}init(){this._initialized&&this.destroy();let e=s.lib.qsa("[x-sheets]");if(e.length){for(let t of e){for(let e of s.lib.qsa("[x-sheet-open]:not([x-sheet-open] [x-sheet-open])",t)){let t=t=>{t.preventDefault(),this.show(e.getAttribute("x-sheet-open"))};e.addEventListener("click",t),this._handlers.set(e,t)}let e=s.lib.qs("[x-sheet-open].active",t);e&&this.show(e.getAttribute("x-sheet-open"))}this._initialized=!0}}destroy(){for(let[e,t]of this._handlers.entries())e.removeEventListener("click",t);this._handlers.clear(),this._initialized=!1}show(e){let t=s.lib.qs(`[x-sheet="${CSS.escape(e)}"]`);if(!t)return;let i=t.closest("[x-sheets]");if(!i)return;let n=s.lib.qs(`[x-sheet-open="${CSS.escape(e)}"]`,i);if(n?.classList.contains("active")&&t.classList.contains("active"))return;let o=s.lib.qsa("[x-sheet-open]",i);s.lib.removeClass(o,"active");let r=s.lib.qsa("[x-sheet]",i);s.lib.removeClass(r,"active"),s.lib.addClass(n,"active"),s.lib.addClass(t,"active")}}e.exports.sheets=new i}),parcelRegister("ljacF",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.dropdown=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._handlers=new Map,this._menus=new Map,this._initialized=!1,this._attachGlobalListeners()}init(){this._initialized&&this._cleanup(),s.lib.qsa("[x-dropdown]").forEach(e=>{let t=e.parentElement,i=s.lib.qs("[x-dropdown-open]",t);i&&(this._setupAccessibility(t,i,e),this._bindTrigger(t,i),this._bindMenuKeys(e,i,t),this._menus.set(e,{parent:t,trigger:i}),t.dispatchEvent(new CustomEvent("dropdown:ready")))}),this._initialized=!0}_setupAccessibility(e,t,i){e.classList.add("dropdown"),t.setAttribute("aria-expanded","false"),i.id||(i.id=s.lib.makeId()),t.setAttribute("aria-controls",i.id),i.setAttribute("role","menu"),i.setAttribute("tabindex","-1"),i.querySelectorAll("li > a").forEach(e=>{e.setAttribute("role","menuitem"),e.setAttribute("tabindex","-1")}),t.addEventListener("focus",()=>t.classList.add("hover")),t.addEventListener("blur",()=>t.classList.remove("hover"))}_bindTrigger(e,t){let i=s.lib.throttle(()=>this._toggleDropdown(e,t),400),n=["INPUT","TEXTAREA"].includes(t.tagName),o=null,r=e=>{n||(e.stopPropagation(),i())},l=s=>{(" "!==s.key||!n)&&(n||"Enter"!==s.key&&" "!==s.key||(s.preventDefault(),i()),"ArrowDown"===s.key&&(s.preventDefault(),n||(this._open(e,t),this._focusFirstItem(e))),"ArrowUp"===s.key&&(s.preventDefault(),n||(this._open(e,t),this._focusLastItem(e))))},a=s=>{n?(clearTimeout(o),this.closeAllDropdowns(),this._open(e,t)):t.classList.add("hover")},d=s=>{n?o=setTimeout(()=>this._close(e),200):t.classList.remove("hover")};this._handlers.set(t,{clickListener:r,keyListener:l,focusListener:a,blurListener:d,blurTimeout:o}),t.addEventListener("click",r),t.addEventListener("keydown",l),t.addEventListener("focus",a),t.addEventListener("blur",d)}_bindMenuKeys(e,t,s){let i=i=>{let n=Array.from(e.querySelectorAll('[role="menuitem"]:not([disabled])')),o=n.indexOf(document.activeElement);if("ArrowDown"===i.key){i.preventDefault();let e=(o+1)%n.length;n[e].focus()}if("ArrowUp"===i.key){i.preventDefault();let e=(o-1+n.length)%n.length;n[e].focus()}"Home"===i.key&&(i.preventDefault(),n[0].focus()),"End"===i.key&&(i.preventDefault(),n[n.length-1].focus()),"Escape"===i.key&&(i.preventDefault(),this._close(s),t.focus())},n=e=>{e.target.matches('[role="menuitem"]')&&e.target.classList.add("hover")},o=e=>{e.target.matches('[role="menuitem"]')&&e.target.classList.remove("hover")};this._handlers.set(e,{keyListener:i,focusListener:n,blurListener:o}),e.addEventListener("keydown",i),e.addEventListener("focusin",n),e.addEventListener("focusout",o)}_cleanup(){this.closeAllDropdowns(),this._handlers.forEach((e,t)=>{e.clickListener&&t.removeEventListener("click",e.clickListener),e.keyListener&&t.removeEventListener("keydown",e.keyListener),e.focusListener&&t.removeEventListener("focus",e.focusListener),e.blurListener&&t.removeEventListener("blur",e.blurListener),e.focusListener&&t.removeEventListener("focusin",e.focusListener),e.blurListener&&t.removeEventListener("focusout",e.blurListener),e.blurTimeout&&clearTimeout(e.blurTimeout)}),this._handlers.clear(),this._menus.clear()}_toggleDropdown(e,t){let s=e.classList.contains("dropdown_open");this.closeAllDropdowns(),s||this._open(e,t)}async _open(e,t){this._fireEvent(e,"beforeshow");let i=e.querySelector("[x-dropdown]");this._adjustPosition(e,i),s.lib.addClass(t,"active"),s.lib.addClass(e,"dropdown_open",20),t.setAttribute("aria-expanded","true"),this._fireEvent(e,"aftershow")}_adjustPosition(e,t){e.classList.add("dropdown_ready");let s=t.getBoundingClientRect();e.classList.remove("dropdown_ready");let i=window.innerWidth,n=document.documentElement.scrollHeight;e.classList.remove("dropdown_right","dropdown_bottom"),s.right>i&&e.classList.add("dropdown_right"),window.scrollY+s.bottom>n&&e.classList.add("dropdown_bottom")}_focusFirstItem(e){let t=e.querySelector("[x-dropdown]").querySelector('[role="menuitem"]:not([disabled])');t&&t.focus()}_focusLastItem(e){let t=e.querySelector("[x-dropdown]").querySelectorAll('[role="menuitem"]:not([disabled])');t.length>0&&t[t.length-1].focus()}closeAllDropdowns(){s.lib.qsa(".dropdown_open").forEach(e=>this._close(e))}async _close(e){if(e._dropdownClosing)return;e._dropdownClosing=!0,this._fireEvent(e,"beforehide");let t=s.lib.qs("[x-dropdown-open]",e);t&&(s.lib.removeClass(t,"active"),t.setAttribute("aria-expanded","false")),await s.lib.removeClass(e,"dropdown_open",200),e.classList.remove("dropdown_right","dropdown_bottom"),this._fireEvent(e,"afterhide"),setTimeout(()=>{e._dropdownClosing=!1},100)}_fireEvent(e,t){e.dispatchEvent(new CustomEvent(`dropdown:${t}`))}_attachGlobalListeners(){i._globalListenersAttached||(document.addEventListener("click",e=>{e.target.closest("[x-dropdown-open]")||e.target.closest("[x-dropdown] .dropdown_stay")||this.closeAllDropdowns()}),i._globalListenersAttached=!0)}}i._globalListenersAttached=!1,e.exports.dropdown=new i}),parcelRegister("3jj36",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.autocomplete=void 0,parcelRequire("dTNnT");class s{emptyStateHtml=`<li><span class="op4">\u{41D}\u{438}\u{447}\u{435}\u{433}\u{43E} \u{43D}\u{435} \u{43D}\u{430}\u{439}\u{434}\u{435}\u{43D}\u{43E}</span></li>`;defaultStateHtml=`<li><span class="op4">\u{41D}\u{430}\u{447}\u{43D}\u{438}\u{442}\u{435} \u{43F}\u{435}\u{447}\u{430}\u{442}\u{430}\u{442}\u{44C}</span></li>`;loadingStateHtml=`<li><span class="op4">\u{417}\u{430}\u{433}\u{440}\u{443}\u{437}\u{43A}\u{430}...</span></li>`;init(e,t){this.emptyStateHtml=t.emptyStateHtml||this.emptyStateHtml,this.defaultStateHtml=t.defaultStateHtml||this.defaultStateHtml,this.loadingStateHtml=t.loadingStateHtml||this.loadingStateHtml,this.dropdown=x.id(e),this.field=x.qs("[x-dropdown-open]",this.dropdown),this.list=x.qs("[x-dropdown]",this.dropdown),this.data=t.data||null,this.loadData=t.loadData||null,this.mapData=t.mapData||null,this.renderItem=t.renderItem||null,this.onSelect=t.onSelect||null,this.resetFunc=t.resetFunc||null,this._loadData=this._loadData.bind(this),this.debouncedLoadData=x.lib.debounce(this._loadData,400),this.keyHandler=this._keyHandler.bind(this),this.clickHandler=this._clickHandler.bind(this),this.hideHandler=this._hideHandler.bind(this),this.field?.value==""?this._reset():this._defaultState(),this.field.addEventListener("focus",this.debouncedLoadData),this.field.addEventListener("input",this.debouncedLoadData),this.field.addEventListener("keydown",this.keyHandler),this.list.addEventListener("click",this.clickHandler),this.dropdown.addEventListener("dropdown:afterhide",this.hideHandler)}destroy(){this._reset(),this.field.removeEventListener("focus",this.debouncedLoadData),this.field.removeEventListener("input",this.debouncedLoadData),this.field.removeEventListener("keydown",this.keyHandler),this.list.removeEventListener("click",this.clickHandler),this.dropdown.removeEventListener("dropdown:afterhide",this.hideHandler)}_keyHandler(e){"Enter"===e.key&&(e.preventDefault(),this.field.blur())}_clickHandler(e){if(this._clicked)return;this._clicked=!0;let t=e.target.closest("[data-item]");if(t)try{let e=JSON.parse(t.dataset.item);this.onSelect(e)}catch(e){console.error("Error parsing JSON")}else console.log("Empty data-item")}_hideHandler(){if(this._clicked){this._clicked=!1;return}if(!this.data||!this.data.length)return void this._reset();this._loadingState(),this.onSelect(this.data[0])}_loadingState(){x.lib.render(this.list,this.loadingStateHtml)}_emptyState(){x.lib.render(this.list,this.emptyStateHtml)}_defaultState(){x.lib.render(this.list,this.defaultStateHtml)}_reset(){this.resetFunc(),this.data=null,this._defaultState()}async _loadData(){if(this.field?.value=="")return void this._reset();this._loadingState();try{this._currentLoadId=Date.now();let e=this._currentLoadId;if(this.data=await this.loadData(this),e!==this._currentLoadId)return;this.data=this.mapData(this.data),this.render()}catch(e){this._reset(),console.error("Data loading error:",e)}}async render(){if(!this.data)return void this._reset();if(!this.data.length)return void this._emptyState();let e=this.data.map(this.renderItem).join("");x.lib.render(this.list,e)}}e.exports.autocomplete=new s}),parcelRegister("1AMEo",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.scroll=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.parent=window,this.offset=0,this.classActive="active",this.hash=!1,this.to=this.scrollTo,this._linksHash={},this._scrollHandlers=new Map,this._initialized=!1}init(){this._initialized&&this.destroy();let e=s.lib.qsa("[x-scrollto]");if(e.length){for(let t of(this._linksHash={},e))try{let e={},i=t.getAttribute("x-scrollto");if(s.lib.isValidJSON(i)){let n=JSON.parse(i);if(n.hasOwnProperty("target")&&s.lib.qs(n.target))e.link=t,e.parent=n.parent||this.parent,e.target=s.lib.qs(n.target),e.offset=n.offset||this.offset,e.classActive=n.classActive||this.classActive,e.hash=n.hash??this.hash;else{console.error("Target required in JSON or element does not exist:",n);continue}}else if(s.lib.qs(i))e.link=t,e.parent=this.parent,e.target=s.lib.qs(i),e.offset=this.offset,e.classActive=this.classActive,e.hash=this.hash;else{console.error(`Target "${i}" not found.`);continue}if(e){let i=s.lib.makeId();this._linksHash[i]=e,t.addEventListener("click",t=>{t.preventDefault(),this.scrollTo({parent:e.parent,target:e.target,offset:e.offset,classActive:e.classActive,hash:e.hash})})}}catch(e){console.error(e)}Object.keys(this._linksHash).length&&this._setupScrollObservers(),this._initialized=!0}}destroy(){for(let[e,t]of this._scrollHandlers.entries())e.removeEventListener("scroll",t);this._scrollHandlers.clear(),this._linksHash={},this._initialized=!1}async scrollTo(e){return new Promise(t=>{let i,n,o,r,l="string"==typeof e.parent?s.lib.qs(e.parent):e.parent||this.parent,a=e.offset||this.offset,d=e.hash??this.hash,c="object"!=typeof e||e instanceof Element?s.lib.qs(e):s.lib.qs(e.target);if(!c){console.error("Target not found:",e.target||e),t();return}l===window?r=(i=(n=window.pageYOffset)+c.getBoundingClientRect().top)-n-a:(n=l.scrollTop,o=l.getBoundingClientRect().top,r=(i=n+c.getBoundingClientRect().top-o)-n-a),l.scrollTo({top:n+r,left:0,behavior:"smooth"}),setTimeout(t,400),d&&c.id?s.lib.updateURL("#"+c.id):d&&history.replaceState({},document.title,window.location.href.split("#")[0])})}_setupScrollObservers(){let e=new Set;for(let t in this._linksHash)e.add(this._linksHash[t].parent);for(let t of e){let e=t===window?window:s.lib.qs(t);if(!e)continue;let i=()=>{this._scrollObserve()};e.addEventListener("scroll",i,{passive:!0}),this._scrollHandlers.set(e,i)}this._scrollObserve()}_scrollObserve(){Object.keys(this._linksHash).forEach(e=>{let t=this._linksHash[e],s=t.target.getBoundingClientRect(),i=document.documentElement.clientHeight/4;s.top<=i&&s.bottom>i?null!=t.classActive&&(t.link.classList.add(t.classActive),t.target.classList.add(t.classActive)):null!=t.classActive&&(t.link.classList.remove(t.classActive),t.target.classList.remove(t.classActive))})}}e.exports.scroll=new i}),parcelRegister("iXXci",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.hover=i;var s=parcelRequire("dTNnT");function i(){document.addEventListener("mouseenter",n,!0),document.addEventListener("mouseleave",o,!0)}function n(e){r(e,!0)}function o(e){r(e,!1)}function r(e,t){let i=e.target instanceof Element?e.target.closest("[x-hover]"):null;if(!i)return;let n=i.getAttribute("href");if(n)for(let e of s.lib.qsa(`[href="${CSS.escape(n)}"]`))e.classList.toggle("hover",t)}}),parcelRegister("iMG9j",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.device=e.exports.Device=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.js=!0,this.os="unknown",this.browser="unknown",this.device=null,this.mobile=!1,this.touch=!1,this.width=window.innerWidth,this.height=window.innerHeight,this.breakpoint=this._getBreakpointName(this.width),this.size=this._getSizeFlags(this.breakpoint),this._html=document.documentElement,this._onResize=this._onResize.bind(this),this._debouncedResize=s.lib.debounce(this._onResize,200),this._initialized=!1}init(){this._initialized&&this._cleanup(),this._detect(),this._applyHtmlClasses(),window.addEventListener("resize",this._debouncedResize),this._initialized=!0}_cleanup(){window.removeEventListener("resize",this._debouncedResize),["js","windows","macos","ios","android","linux","unknown","chrome","firefox","safari","opera","edge","iphone","ipad","android","mobile","desktop","touch"].forEach(e=>{this._html.classList.remove(e)}),this._initialized=!1}_getBreakpointName(e){return e>=1400?"xl":e>=1e3?"l":e>=600?"m":"s"}_getSizeFlags(e){return{s:"s"===e,m:"m"===e,l:"l"===e,xl:"xl"===e}}_onResize(){let e=this.breakpoint;this.width=window.innerWidth,this.height=window.innerHeight;let t=this._getBreakpointName(this.width);if(e!==t){this.breakpoint=t,this.size=this._getSizeFlags(t);let s=new CustomEvent("breakpointchange",{detail:{prev:e,current:t,width:this.width,height:this.height}});window.dispatchEvent(s)}else this.breakpoint=t,this.size=this._getSizeFlags(t)}_detect(){let e=window.navigator.userAgent.toLowerCase();this.mobile=/mobile/.test(e);let t={win:"windows",linux:"linux",iphone:"ios",ipad:"ios",ipod:"ios",mac:"macos",android:"android"},s=Object.keys(t).find(t=>e.includes(t));this.os=s?t[s]:"unknown",/firefox/.test(e)?this.browser="firefox":/opr\//.test(e)||/opera/.test(e)?this.browser="opera":/edg\//.test(e)?this.browser="edge":!/chrome/.test(e)||/edg\//.test(e)||/opr\//.test(e)?!/safari/.test(e)||/chrome/.test(e)||/edg\//.test(e)?this.browser="unknown":this.browser="safari":this.browser="chrome",/ipad/.test(e)?this.device="ipad":/iphone/.test(e)?this.device="iphone":/android/.test(e)?this.device="android":/mac/.test(e)?this.device="mac":this.device="computer",this.touch=window.matchMedia&&window.matchMedia("(pointer: coarse)").matches}_applyHtmlClasses(){["js",this.os,this.browser,this.device,this.mobile?"mobile":"desktop",this.touch?"touch":null].filter(Boolean).forEach(e=>this._html.classList.add(e))}}e.exports.Device=i,e.exports.device=new i}),parcelRegister("bwKX7",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.form=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.listen=Object.freeze({update:new Set})}getEventType(e){if(e.isContentEditable)return"input";let t=e.tagName.toLowerCase();if("input"===t||"textarea"===t)return"input";if("select"===t)return"change";throw Error(`Unsupported element <${t}>`)}setChecked(e,t=!1){for(let i of s.lib.qsa(e)){if(!i?.type||"checkbox"!==i.type&&"radio"!==i.type){console.error("setChecked: Not a checkbox/radio",i);continue}i.checked!==t&&(i.checked=t,i.dispatchEvent(new Event("input",{bubbles:!0})))}}setValue(e,t){for(let i of s.lib.qsa(e)){if(!i){console.error("setValue: Element not found",i);continue}if(i.isContentEditable)i.innerText=t;else{let e=i.tagName.toLowerCase(),s=i.type;if("input"===e)"checkbox"===s||"radio"===s?i.checked=!!t:i.value=t;else if("textarea"===e||"select"===e)i.value=t;else throw Error(`setValue: Unsupported element <${e}>`)}i.dispatchEvent(new Event(this.getEventType(i),{bubbles:!0}))}}onUpdate(e,t){for(let i of s.lib.qsa(e)){if(!i){console.error("onUpdate: Element not found",i);continue}this.listen.update.has(i)||(i.addEventListener(this.getEventType(i),()=>t(i)),this.listen.update.add(i))}}offUpdate(e){for(let t of s.lib.qsa(e))t&&this.listen.update.has(t)&&(console.warn("offUpdate: Cannot fully remove listener because anonymous functions were used."),this.listen.update.delete(t))}update(e){for(let t of s.lib.qsa(e)){if(!t){console.error("update: Element not found",t);continue}t.dispatchEvent(new Event(this.getEventType(t),{bubbles:!0}))}}}e.exports.form=new i}),parcelRegister("azm1L",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.sticky=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.activeClass="sticky_on",this.rootMargin="-1px 0px 0px 0px",this._observer=new IntersectionObserver(e=>{for(let t of e)this._handleEntry(t)},{threshold:1,rootMargin:this.rootMargin}),this._initialized=!1}_handleEntry(e){let t=e.intersectionRatio<1,i=e.target,n=i.classList.contains(this.activeClass);s.lib.switchClass(i,this.activeClass,t),t&&!n&&i.dispatchEvent(new CustomEvent("sticky:on",{bubbles:!0})),!t&&n&&i.dispatchEvent(new CustomEvent("sticky:off",{bubbles:!0}))}init(){for(let e of(this._initialized&&this.reset(),s.lib.qsa(".sticky")))e.dataset.stickyObserved||(this._observer.observe(e),e.dataset.stickyObserved="true");this._initialized=!0}reset(){for(let e of s.lib.qsa(".sticky"))e.dataset.stickyObserved&&(document.body.contains(e)&&this._observer.unobserve(e),delete e.dataset.stickyObserved)}destroy(){this._observer.disconnect(),this._initialized=!1}}e.exports.sticky=new i}),parcelRegister("9PwSp",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.slider=e.exports.Slider=void 0;class s{constructor(){this.sliders=[],this.instances=new Map,this.io=null,this.mo=null}init(){this.observeSliders(),this.mo=new MutationObserver(e=>{for(let t of e)t.addedNodes.forEach(e=>{1===e.nodeType&&e.hasAttribute?.("x-slider")&&this.io.observe(e),1===e.nodeType&&e.querySelectorAll?.("[x-slider]")?.forEach(e=>this.io.observe(e))})}),this.mo.observe(document.body,{childList:!0,subtree:!0})}destroy(){this.instances.forEach((e,t)=>{let s=e.listenerTarget||e.wrapper||t;e.touch?(s.removeEventListener("touchstart",e.events.touchstart,!0),s.removeEventListener("touchmove",e.events.touchmove,!0),s.removeEventListener("touchend",e.events.touchend,!0),s.removeEventListener("touchcancel",e.events.touchcancel,!0)):(t.removeEventListener("mousemove",e.events.mousemove),e.events.mouseout&&t.removeEventListener("mouseleave",e.events.mouseout),e.events.mouseenter&&t.removeEventListener("mouseenter",e.events.mouseenter),e.events.resize&&(window.removeEventListener("resize",e.events.resize),window.removeEventListener("orientationchange",e.events.resize)))}),this.io&&this.io.disconnect(),this.mo&&this.mo.disconnect(),this.instances.clear()}observeSliders(){this.sliders=document.querySelectorAll("[x-slider]"),this.io=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&!this.instances.has(e.target)&&this.initSlider(e.target)})},{rootMargin:"60px 0px 60px 0px",threshold:0}),this.sliders.forEach(e=>this.io.observe(e))}initSlider(e){let t=[...e.children].map(e=>e.cloneNode(!0));if(!t.length)return;e.classList.add("slider"),e.style.overflow="hidden",e.style.touchAction="pan-y",e.style.overscrollBehavior="contain";let s=0,i=!0,n=!0,o=!0;try{let t=e.getAttribute("x-slider");if(t){let e=JSON.parse(t);"gap"in e&&(s=Number(e.gap)||0),"rubber"in e&&(i=!!e.rubber),"resetOnMouseout"in e&&(n=!!e.resetOnMouseout),"touch"in e&&(o=!!e.touch)}}catch(e){console.warn("Invalid x-slider JSON",e)}let r=document.createElement("div");r.className="slider-wrapper",r.style.gap=s+"px",e.innerHTML="",t.forEach((e,t)=>{e.classList.add("slider-item");let s=e.querySelector("img");s&&0===t&&(s.dataset.srcset&&(s.srcset=s.dataset.srcset,s.removeAttribute("data-srcset")),s.dataset.src&&(s.src=s.dataset.src,s.removeAttribute("data-src")),s.setAttribute("loading","eager")),r.appendChild(e)}),e.appendChild(r);let l="ontouchstart"in window,a=[];if(t.length>1&&(!l||o)){let s=document.createElement("div");s.className="slider-indicators",t.forEach((e,t)=>{let i=document.createElement("span");0===t&&i.classList.add("active"),s.appendChild(i)}),e.appendChild(s),a=[...s.querySelectorAll("span")]}let d=t;l&&!o&&d[0].classList.add("active");let c=0,h=/iP(ad|hone|od)/.test(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,u=()=>d[0].offsetWidth+s,p=(e,t=!1)=>{let s=Math.max(0,Math.min(e,d.length-1)),i=u();c=s,r.style.transition=t?"none":"transform 0.25s",r.style.transform=`translateX(${-c*i}px)`,a.length&&a.forEach((e,t)=>e.classList.toggle("active",t===c)),t||r.addEventListener("transitionend",()=>{r.style.transition="none",h&&(r.style.pointerEvents="none",requestAnimationFrame(()=>{r.offsetWidth,r.style.pointerEvents="auto"}))},{once:!0})};p(0,!0);let m={},v=!1,f=null,b=()=>{v||(v=!0,d.forEach((t,s)=>{let i=t.querySelector("img");i&&0!==s&&(i.dataset.srcset&&(i.srcset=i.dataset.srcset,i.removeAttribute("data-srcset")),i.dataset.src&&(i.src=i.dataset.src,i.removeAttribute("data-src")),l||i.complete&&0!==i.naturalWidth||i.addEventListener("load",()=>{if(null!=f){let t=e.getBoundingClientRect(),i=e.offsetWidth;Math.floor((f-t.left)/i*d.length)===s&&p(s,!0)}},{once:!0}))}))};if(d.length>1)if(l){let t=0,s=0,n=!1,o=null,l=(e,t)=>[...e].find(e=>e.identifier===t)||null,a=()=>{b(),e.removeEventListener("touchstart",a)};e.addEventListener("touchstart",a,{passive:!1,capture:!0}),m.touchstart=e=>{let i=e.changedTouches[0];o=i.identifier,t=i.clientX,s=i.clientY,n=!0,r.style.transition="none"},m.touchmove=e=>{if(!n||null==o)return;let a=l(e.touches,o);if(!a)return;let h=a.clientX-t;if(Math.abs(a.clientY-s)>Math.abs(h))return;e.cancelable&&e.preventDefault();let p=u(),m=h;0===c&&h>0&&(m=i?.15*h:0),c===d.length-1&&h<0&&(m=i?.15*h:0),r.style.transform=`translateX(${-c*p+m}px)`},m.touchend=e=>{if(!n)return;n=!1;let i=l(e.changedTouches,o)||e.changedTouches[0];o=null;let r=i.clientX-t,a=i.clientY-s,h=.1*u();if(Math.abs(a)>Math.abs(r)||0===c&&r>0||c===d.length-1&&r<0)return void p(c);r>h&&c>0?p(c-1):r<-h&&c<d.length-1?p(c+1):p(c)},m.touchcancel=()=>{n=!1,o=null,p(c)},e.addEventListener("touchstart",m.touchstart,{passive:!1,capture:!0}),e.addEventListener("touchmove",m.touchmove,{passive:!1,capture:!0}),e.addEventListener("touchend",m.touchend,{capture:!0}),e.addEventListener("touchcancel",m.touchcancel,{capture:!0})}else{let t=s=>{f=s.clientX,b(),e.removeEventListener("mouseenter",t)};e.addEventListener("mouseenter",t),m.mousemove=t=>{f=t.clientX;let s=e.getBoundingClientRect(),i=e.offsetWidth;if(i<=0)return;let n=t.clientX-s.left;n<0?n=0:n>=i&&(n=i-1e-7);let o=Math.floor(n/i*d.length),r=d[o].querySelector("img");o!==c&&(!r||r.complete||r.naturalWidth>0)&&p(o,!0)},e.addEventListener("mousemove",m.mousemove),e.addEventListener("mouseenter",e=>m.mousemove(e)),n&&(m.mouseout=()=>p(0,!0),e.addEventListener("mouseleave",m.mouseout))}let w=()=>{let e=u();r.style.transition="none",r.style.transform=`translateX(${-c*e}px)`};window.addEventListener("resize",w),window.addEventListener("orientationchange",w),m.resize=w,this.instances.set(e,{wrapper:r,slides:d,events:m,touch:l,listenerTarget:e})}}e.exports.Slider=s,e.exports.slider=new s}),parcelRequire("5vvBz"),x.init(),window.element1=e=>{let t=-360*e.progress;e.element.style.transform="rotate("+t+"deg)"},window.element2=e=>{let t=180*e.progress;e.element.style.transform="rotate("+t+"deg)"},window.element3=e=>{let t=120*e.progress;e.element.style.transform="rotate("+t+"deg)"},window.headerAnimation=e=>{let t=x.device.size.s?100:120,s=qs(".header"),i=qs(".header-logo img"),n=t-e.progress*t/2,o=1-.5*e.progress;s.style.height=n+"px",i.style.transform="scale("+o+")",x.lib.switchClass(s,"header_compact",1==e.progress)},window.onload=()=>{x.lib.transitionsOn()}}();
|
package/dist/x.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){var $parcel$global="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirec3c2;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var t=$parcel$inits[e];delete $parcel$inits[e];var s={id:e,exports:{}};return $parcel$modules[e]=s,t.call(s.exports,s,s.exports),s.exports}var i=Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}).register=function(e,t){$parcel$inits[e]=t},$parcel$global.parcelRequirec3c2=parcelRequire);var parcelRegister=parcelRequire.register;parcelRegister("5vvBz",function(e,t){"use strict";var s=parcelRequire("7k1tf"),i=parcelRequire("1ZOHL"),n=parcelRequire("ataKg"),o=parcelRequire("9K5nT"),r=parcelRequire("6goNw"),l=parcelRequire("5iBRN"),a=parcelRequire("ljacF"),d=parcelRequire("3jj36"),c=parcelRequire("1AMEo"),h=parcelRequire("iXXci"),u=parcelRequire("iMG9j"),p=parcelRequire("dTNnT"),m=parcelRequire("bwKX7"),v=parcelRequire("azm1L"),f=parcelRequire("9PwSp");class b{constructor(){this.modal=s.modal,this.animate=i.animate,this.appear=n.appear,this.lazyload=o.lazyload,this.loadmore=r.loadmore,this.sheets=l.sheets,this.dropdown=a.dropdown,this.autocomplete=d.autocomplete,this.scroll=c.scroll,this.hover=h.hover,this.device=u.device,this.lib=p.lib,this.render=p.lib.render.bind(p.lib),this.form=m.form,this.sticky=v.sticky,this.slider=f.slider,this.initialized=!1}init(){this.initialized||(this.device.init(),this.modal.init(),this.animate.init(),this.appear.init(),this.lazyload.init(),this.loadmore.init(),this.sheets.init(),this.dropdown.init(),this.scroll.init(),this.sticky.init(),this.slider.init(),(0,h.hover)(),this.initialized=!0)}}let w=new b;window.x=w,window.qs=w.lib.qs,window.qsa=w.lib.qsa,window.x.id=w.lib.id,window.x.qs=w.lib.qs,window.x.qsa=w.lib.qsa}),parcelRegister("7k1tf",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.modal=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.modalLevel=0,this.lockCount=0,this.html=s.lib.qs("html"),this._initialized=!1,this._clickHandler=null,this._keydownHandler=null}init(){this._initialized&&this.destroy(),this._renderModalContents(),this._setupModalLinks(),this._setupGlobalListeners(),this._initialized=!0}destroy(){this._clickHandler&&(document.removeEventListener("click",this._clickHandler),this._clickHandler=null),this._keydownHandler&&(document.removeEventListener("keydown",this._keydownHandler),this._keydownHandler=null),this.modalLevel=0,this.lockCount=0,this._initialized=!1}_renderModalContents(){s.lib.qsa("[x-modal]").forEach(e=>{let t=s.lib.qs(".modal-here")||s.lib.qs("body"),i=e.getAttribute("x-modal"),n=e.getAttribute("class")||"",o=(e.dataset.windowClass||"").replace(/\s+/g," ").trim(),r=e.innerHTML,l=document.createElement("div");l.id=i,l.className=`modal ${n}`,l.innerHTML=`<div class="modal-overlay"></div><div class="modal-outer"><div class="modal-inner"><div class="modal-window ${o}">${r}<div class="modal-rail"><a role="button" class="modal-close"></a></div></div></div></div>`,t.appendChild(l),e.remove()})}_setupModalLinks(){s.lib.qsa("[x-modal-open]").forEach(e=>{let t=e.getAttribute("x-modal-open");e.addEventListener("click",e=>{e.preventDefault(),this.show(t)}),window.location.hash==="#"+t&&s.lib.qs("#"+t).classList.contains("modal_hash")&&this.show(t)})}_setupGlobalListeners(){this._clickHandler=e=>{s.lib.qs(".modal_active")&&(e.target.classList.contains("modal-close")||!e.target.closest(".modal-window"))&&(e.preventDefault(),this.hide(e.target.closest(".modal")?.getAttribute("id")))},this._keydownHandler=e=>{let t=s.lib.qsa(".modal_active"),i=t[t.length-1];i&&"Escape"===e.key&&(e.preventDefault(),this.hide(i.getAttribute("id")))},document.addEventListener("click",this._clickHandler),document.addEventListener("keydown",this._keydownHandler)}async show(e){if(this.lockCount>0)return;if(this.isActive(e))return void this.hide(e);let t=s.lib.qs("#"+e);if(t){t.classList.contains("modal_uniq")&&await this.hideAll(),this.lockCount++;try{await s.lib.addClass(t,"modal_ready"),await s.lib.sleep(10),t.dispatchEvent(new CustomEvent("modal:ready")),t.classList.contains("modal_hash")&&history.replaceState(null,"","#"+e),s.lib.addClass(this.html,"modal_active"),s.lib.addClass(this.html,e+"_active"),s.lib.addClass("[x-modal-open="+e+"]","active"),this.modalLevel++,s.lib.addClass(t,"modal_z"+this.modalLevel),await s.lib.addClass(t,"modal_active"),s.lib.qs(".modal-outer",t)?.scrollTo(0,1),await s.lib.sleep(200),t.dispatchEvent(new CustomEvent("modal:open"))}finally{this.lockCount--}}}async hide(e){if(this.lockCount>0)return;let t=s.lib.qs("#"+e);t&&(this.lockCount++,t.classList.contains("modal_hash")&&window.location.hash==="#"+e&&history.replaceState(null,document.title,window.location.pathname+window.location.search),s.lib.removeClass("[x-modal-open="+e+"]","active"),await s.lib.removeClass(t,"modal_active",200),s.lib.removeClass(t,"modal_z"+this.modalLevel),t.dispatchEvent(new CustomEvent("modal:close")),s.lib.removeClass(this.html,e+"_active"),this.modalLevel--,0===this.modalLevel&&s.lib.removeClass(this.html,"modal_active"),this.lockCount--)}async hideAll(){let e=s.lib.qsa(".modal_active");if(e.length)for(let t of e)await this.hide(t.getAttribute("id"))}isActive(e){return s.lib.qs("#"+e)?.classList.contains("modal_active")??!1}}e.exports.modal=new i}),parcelRegister("dTNnT",function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.lib=void 0;class Lib{constructor(){this.loadedScripts=[],this._elementRender()}_elementRender(){document.addEventListener("DOMContentLoaded",()=>{this.qsa("[x-render]").forEach(item=>{this.render(item,eval(item.getAttribute("x-render")))})},{once:!0})}id(e){return document.getElementById(e)}qs(e,t=document){return e?"string"==typeof e?t.querySelector(e):e instanceof Node?e:e instanceof NodeList?e.length?e[0]:null:Array.isArray(e)&&e.length?e[0]instanceof Node?e[0]:t.querySelector(e[0]):e===window?e:null:null}qsa(e,t=document){if(!e)return[];if("string"==typeof e)return[...t.querySelectorAll(e)];if(e instanceof NodeList)return[...e];if(e instanceof Node)return[e];if(Array.isArray(e)&&e.length){let s=[];for(let i of e)i instanceof Node?s.push(i):i instanceof NodeList?s.push(...i):s.push(...t.querySelectorAll(i));return s.flat()}return e===window?[e]:[]}async hide(e){await this.addClass(e,"hidden")}async show(e){await this.removeClass(e,"hidden")}async toggle(e){await this.toggleClass(e,"hidden")}async switch(e,t){t?await this.removeClass(e,"hidden"):await this.addClass(e,"hidden")}async addClass(e,t,s=0){let i=this.qsa(e);if(i.length){if(s>0){for(let e of i)e.classList.add(t.replace(/_.*/,"")+"_ready");await new Promise(e=>setTimeout(e,s))}for(let e of i)e.classList.add(t)}}async removeClass(e,t,s=0){let i=this.qsa(e);if(i.length){for(let e of i)e.classList.remove(t);if(s>0)for(let e of(await new Promise(e=>setTimeout(e,s)),i))e.classList.remove(t.replace(/_.*/,"")+"_ready")}}async toggleClass(e,t,s=0){for(let i of this.qsa(e))i.classList.contains(t)?await this.removeClass(i,t,s):await this.addClass(i,t,s)}async switchClass(e,t,s,i=0){s?await this.addClass(e,t,i):await this.removeClass(e,t,i)}reload(){location.reload()}reloadWithHash(e){location.hash=e,this.reload()}redirectTo(e){location.href=e}updateURL(e,t){history.pushState?history.pushState(null,t,e):location.href=e}random(e,t){return Math.floor(Math.random()*(t-e+1))+e}price(e){return parseFloat(e).toFixed(2).replace(/\d(?=(\d{3})+\.)/g,"$& ").replace(".00","")}number(e){let t=(e+"").split(".");return t[0]=t[0].replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1 "),t.join(".")}numberDecline(e,t,s,i){if(e>10&&1===Math.floor(e%100/10))return i;switch(e%10){case 1:return t;case 2:case 3:case 4:return s;default:return i}}isEmail(e){return/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(e)}isValidJSON(e){try{return JSON.parse(e),!0}catch{return!1}}isInteger(e){return Number.isInteger(Number(e))}isDouble(e){let t=Number(e);return!isNaN(t)&&"number"==typeof t}makeId(){return"id"+this.random(1e5,999999)}makePassword(e=8,t){let s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#^$%^&*()-+:,.;_",i=Array.from({length:e},()=>s[Math.floor(Math.random()*s.length)]).join("");if(!t)return i;this.qs(t).value=i}loadScript(e,t,s="async"){if(this.loadedScripts.includes(e))t();else{let i=document.createElement("script");i.onload=t,i.onerror=()=>console.error(`Failed to load script: ${e}`),i.src=e,s&&i.setAttribute(s,""),document.body.appendChild(i),this.loadedScripts.push(e)}}deferred(e,t=1e4){let s,i=["scroll","resize","click","keydown","mousemove","touchmove"],n=()=>{i.forEach(e=>window.removeEventListener(e,n,{once:!0})),"complete"===document.readyState?e():window.addEventListener("load",e,{once:!0}),clearTimeout(s)};s=setTimeout(n,t),i.forEach(e=>window.addEventListener(e,n,{once:!0}))}deffered(e,t=1e4){return this.deferred(e,t)}throttle(e,t,s={}){return this._throttle(e,t,s)}debounce(e,t,s={}){return this._debounce(e,t,s)}onAppear(e,t,s=null,i={}){let n=this.qsa(e);if(!n.length)return;let o=new IntersectionObserver((e,i)=>{e.forEach(e=>{e.isIntersecting?(t(e.target),s||i.unobserve(e.target)):s&&s(e.target)})},{root:null,rootMargin:"200px",threshold:.1,...i});n.forEach(e=>o.observe(e))}alertErrors(e){e&&("string"==typeof e?alert(e):alert(Object.values(e).join("\n")))}printErrors(e){return e?"string"==typeof e?`<div>${e}</div>`:Object.entries(e).map(([e,t])=>`<div class="error_${e}">${t}</div>`).join("\n"):""}async render(e,t,s=null){let i=this.qsa(e);if(!i.length)return;let n="function"==typeof t?await t():t;for(let e of i)null==s?e.innerHTML=n:e.insertAdjacentHTML(s,n)}transitionsOn(e=0){setTimeout(()=>{document.documentElement.classList.remove("noTransitions")},e)}transitionsOff(){document.documentElement.classList.add("noTransitions")}async sleep(e){return new Promise(t=>setTimeout(t,e))}_throttle(e,t,s={}){let i=null,n=null,o=null,r=0,{leading:l=!0,trailing:a=!0}=s,d=t=>{r=t,e.apply(o,n),n=o=null},c=function(...e){let s=Date.now();r||l||(r=s),n=e,o=this;let c=t-(s-r);c<=0||c>t?(i&&clearTimeout(i),i=null,d(s)):!i&&a&&(i=setTimeout(()=>{i=null,a&&n&&d(Date.now())},c))};return c.cancel=()=>{i&&clearTimeout(i),i=n=o=null,r=0},c}_debounce(e,t,s={}){let i=null,n=null,o=null,{leading:r=!1,trailing:l=!0}=s,a=()=>{e.apply(o,n),n=o=null},d=function(...e){n=e,o=this,i&&clearTimeout(i),r&&!i&&a(),i=setTimeout(()=>{i=null,l&&n&&a()},t)};return d.cancel=()=>{i&&clearTimeout(i),i=n=o=null},d}}let lib=exports.lib=new Lib}),parcelRegister("1ZOHL",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.animate=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._ticking=!1,this._animations=[],this._scroll=this._scroll.bind(this),this._scrollHandler=this._scrollHandler.bind(this),this._initialized=!1,this._parents=new Set,this._elements=null}init(){this._cleanup(),this._elements=s.lib.qsa("[x-animate]"),this._elements?.length&&(this._parseElementsAnimations(),this._animations.length&&(this._setupListeners(),this._initialized=!0))}_cleanup(){this._initialized&&(this._parents.forEach(e=>{e.removeEventListener("scroll",this._scrollHandler)}),window.removeEventListener("resize",this._scrollHandler),this._ticking=!1,this._animations=[],this._parents=new Set,this._elements=null,this._initialized=!1)}_parseElementsAnimations(){this._elements.forEach(e=>{try{let t=JSON.parse(e.getAttribute("x-animate")),i={element:e,trigger:s.lib.qs(t.trigger)||e,parent:s.lib.qs(t.parent)||window,start:t.start,end:t.end||!1,class:t.class,classRemove:!1!==t.classRemove,functionName:t.functionName,lockedIn:!1,lockedOut:!1,log:t.log||!1};this._animations.push(i)}catch(t){console.error("Invalid JSON in x-animate attribute:",e,t)}})}_setupListeners(){for(let e of this._animations)this._parents.has(e.parent)||(this._parents.add(e.parent),e.parent.addEventListener("scroll",this._scrollHandler));window.addEventListener("resize",this._scrollHandler),"complete"===document.readyState?requestAnimationFrame(()=>this._scroll()):window.addEventListener("load",()=>this._scroll(),{once:!0})}_scrollHandler(){this._ticking||(this._ticking=!0,window.requestAnimationFrame(()=>{this._scroll(),this._ticking=!1}))}_scroll(){this._animations.forEach(e=>{let t=e.trigger.getBoundingClientRect(),s=e.parent!==window?e.parent.getBoundingClientRect():null,i=t.top-(s?s.top:0),n=this._2px(e.start,e.parent),o=this._2px(e.end,e.parent);e.duration=isNaN(o)?0:n-o,e.log&&console.log(i,n,o,e),isNaN(n)||isNaN(o)?!isNaN(n)&&(i<=n?(e.lockedOut=!1,e.class&&e.element.classList.add(e.class),e.lockedIn||"function"!=typeof window[e.functionName]||(e.progress=1,window[e.functionName](e),e.lockedIn=!0)):(e.lockedIn=!1,e.class&&!0===e.classRemove&&e.element.classList.contains(e.class)&&e.element.classList.remove(e.class),!e.lockedOut&&"function"==typeof window[e.functionName]&&i>=n&&(e.progress=0,window[e.functionName](e),e.lockedOut=!0))):i<=n&&i>=o?(e.lockedOut=!1,e.class&&e.element.classList.add(e.class),"function"==typeof window[e.functionName]&&(e.progress=((n-i)/e.duration).toFixed(4),window[e.functionName](e))):(e.class&&!0===e.classRemove&&e.element.classList.contains(e.class)&&e.element.classList.remove(e.class),!e.lockedOut&&"function"==typeof window[e.functionName]&&(i>=n&&(e.progress=0,window[e.functionName](e),e.lockedOut=!0),i<=o&&(e.progress=1,window[e.functionName](e),e.lockedOut=!0)))})}_2px(e,t=window){return/(%|vh)/.test(e)?(t===window?document.documentElement.clientHeight:t.clientHeight)*parseFloat(e=e.replace(/(vh|%)/,""))/100:parseFloat(e)}}e.exports.animate=new i}),parcelRegister("ataKg",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.appear=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._targets=[],this._observer=null,this._options={appearedClass:"appeared",visibleClass:"visible",once:!1}}init(e={}){"IntersectionObserver"in window&&(this._options={...this._options,...e},this._observer&&(this._observer.disconnect(),this._observer=null),this._targets=s.lib.qsa("[x-appear]"),this._targets.length&&(this._observer=new IntersectionObserver(this._observerCallback.bind(this)),this._targets.forEach(e=>{this._observer.observe(e)})))}_observerCallback(e){let{appearedClass:t,visibleClass:s,once:i}=this._options;for(let n of e){let e=n.target,o=null!=t,r=null!=s;n.isIntersecting?(o&&!e.classList.contains(t)&&(e.classList.add(t),i&&this._observer.unobserve(e)),r&&(e.classList.add(s),e.dispatchEvent(new CustomEvent("visible",{detail:{appeared:!0}})))):r&&e.classList.contains(s)&&(e.classList.remove(s),e.dispatchEvent(new CustomEvent("invisible",{detail:{appeared:!0}})))}}}e.exports.appear=new i}),parcelRegister("9K5nT",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.lazyload=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._observer=null,this._options={root:null,rootMargin:"200px",threshold:.1}}init(){if(!("IntersectionObserver"in window))return void console.warn("IntersectionObserver is not supported in this browser.");this._observer||(this._observer=new IntersectionObserver(this._callback.bind(this),this._options)),[...s.lib.qsa("[x-lazyload]")].filter(e=>!e.classList.contains("loaded")).forEach(e=>this._observer.observe(e))}destroy(){this._observer&&(this._observer.disconnect(),this._observer=null)}_callback(e){for(let t of e)t.isIntersecting&&this._loadImage(t.target)}_fetchImage(e,t){return new Promise((s,i)=>{let n=new Image;t&&(n.srcset=t),e&&(n.src=e),n.onload=()=>s(),n.onerror=()=>i(Error(`Failed to load image: ${e||t}`))})}async _loadImage(e){let t=e.dataset.srcset||null,i=e.dataset.src||null;if(!i&&!t)return void console.warn("No source or srcset found for image:",e);try{await this._fetchImage(i,t),t&&(e.srcset=t,e.removeAttribute("data-srcset")),i&&(e.src=i,e.removeAttribute("data-src")),await Promise.resolve(s.lib.addClass(e,"loaded")),this._observer&&this._observer.unobserve(e)}catch(t){console.error("Lazyload failed for image:",e,t)}}}e.exports.lazyload=new i}),parcelRegister("6goNw",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.loadmore=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.items={},this.locked=!1,this.observer=null,this._initialized=!1}init(){this._initialized&&this.destroy();let e=s.lib.qsa("[x-loadmore]");if(!e.length)return;let t=async(e,t)=>{for(let i of e)if(i.isIntersecting&&!this.locked){this.locked=!0;let e=i.target,n=e.getAttribute("x-loadmore");if(s.lib.isValidJSON(n)){let s=JSON.parse(n);if(s.functionName){let i=window[s.functionName];if("function"==typeof i)try{let s=e.id,n=this.items[s].page;await i(n)?this.items[s].page++:t.unobserve(e)}catch(e){console.error("Loadmore callback error:",e)}else console.error(`Function "${s.functionName}" is not defined.`)}else console.warn('Missing "functionName" in x-loadmore attribute:',s)}else console.error("Invalid JSON in x-loadmore attribute:",n);this.locked=!1}},i={rootMargin:"0px 0px 400px 0px",threshold:0};this.observer=new IntersectionObserver(t,i),e.forEach(e=>{let t=s.lib.makeId();e.setAttribute("id",t),this.items[t]={el:e,page:1},this.observer.observe(e)}),this._initialized=!0}destroy(){this.observer&&(this.observer.disconnect(),this.observer=null),this.items={},this.locked=!1,this._initialized=!1}}e.exports.loadmore=new i}),parcelRegister("5iBRN",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.sheets=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._handlers=new Map,this._initialized=!1}init(){this._initialized&&this.destroy();let e=s.lib.qsa("[x-sheets]");if(e.length){for(let t of e){for(let e of s.lib.qsa("[x-sheet-open]:not([x-sheet-open] [x-sheet-open])",t)){let t=t=>{t.preventDefault(),this.show(e.getAttribute("x-sheet-open"))};e.addEventListener("click",t),this._handlers.set(e,t)}let e=s.lib.qs("[x-sheet-open].active",t);e&&this.show(e.getAttribute("x-sheet-open"))}this._initialized=!0}}destroy(){for(let[e,t]of this._handlers.entries())e.removeEventListener("click",t);this._handlers.clear(),this._initialized=!1}show(e){let t=s.lib.qs(`[x-sheet="${CSS.escape(e)}"]`);if(!t)return;let i=t.closest("[x-sheets]");if(!i)return;let n=s.lib.qs(`[x-sheet-open="${CSS.escape(e)}"]`,i);if(n?.classList.contains("active")&&t.classList.contains("active"))return;let o=s.lib.qsa("[x-sheet-open]",i);s.lib.removeClass(o,"active");let r=s.lib.qsa("[x-sheet]",i);s.lib.removeClass(r,"active"),s.lib.addClass(n,"active"),s.lib.addClass(t,"active")}}e.exports.sheets=new i}),parcelRegister("ljacF",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.dropdown=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._handlers=new Map,this._menus=new Map,this._initialized=!1,this._attachGlobalListeners()}init(){this._initialized&&this._cleanup(),s.lib.qsa("[x-dropdown]").forEach(e=>{let t=e.parentElement,i=s.lib.qs("[x-dropdown-open]",t);i&&(this._setupAccessibility(t,i,e),this._bindTrigger(t,i),this._bindMenuKeys(e,i,t),this._menus.set(e,{parent:t,trigger:i}),t.dispatchEvent(new CustomEvent("dropdown:ready")))}),this._initialized=!0}_setupAccessibility(e,t,i){e.classList.add("dropdown"),t.setAttribute("aria-expanded","false"),i.id||(i.id=s.lib.makeId()),t.setAttribute("aria-controls",i.id),i.setAttribute("role","menu"),i.setAttribute("tabindex","-1"),i.querySelectorAll("li > a").forEach(e=>{e.setAttribute("role","menuitem"),e.setAttribute("tabindex","-1")}),t.addEventListener("focus",()=>t.classList.add("hover")),t.addEventListener("blur",()=>t.classList.remove("hover"))}_bindTrigger(e,t){let i=s.lib.throttle(()=>this._toggleDropdown(e,t),400),n=["INPUT","TEXTAREA"].includes(t.tagName),o=null,r=e=>{n||(e.stopPropagation(),i())},l=s=>{(" "!==s.key||!n)&&(n||"Enter"!==s.key&&" "!==s.key||(s.preventDefault(),i()),"ArrowDown"===s.key&&(s.preventDefault(),n||(this._open(e,t),this._focusFirstItem(e))),"ArrowUp"===s.key&&(s.preventDefault(),n||(this._open(e,t),this._focusLastItem(e))))},a=s=>{n?(clearTimeout(o),this.closeAllDropdowns(),this._open(e,t)):t.classList.add("hover")},d=s=>{n?o=setTimeout(()=>this._close(e),200):t.classList.remove("hover")};this._handlers.set(t,{clickListener:r,keyListener:l,focusListener:a,blurListener:d,blurTimeout:o}),t.addEventListener("click",r),t.addEventListener("keydown",l),t.addEventListener("focus",a),t.addEventListener("blur",d)}_bindMenuKeys(e,t,s){let i=i=>{let n=Array.from(e.querySelectorAll('[role="menuitem"]:not([disabled])')),o=n.indexOf(document.activeElement);if("ArrowDown"===i.key){i.preventDefault();let e=(o+1)%n.length;n[e].focus()}if("ArrowUp"===i.key){i.preventDefault();let e=(o-1+n.length)%n.length;n[e].focus()}"Home"===i.key&&(i.preventDefault(),n[0].focus()),"End"===i.key&&(i.preventDefault(),n[n.length-1].focus()),"Escape"===i.key&&(i.preventDefault(),this._close(s),t.focus())},n=e=>{e.target.matches('[role="menuitem"]')&&e.target.classList.add("hover")},o=e=>{e.target.matches('[role="menuitem"]')&&e.target.classList.remove("hover")};this._handlers.set(e,{keyListener:i,focusListener:n,blurListener:o}),e.addEventListener("keydown",i),e.addEventListener("focusin",n),e.addEventListener("focusout",o)}_cleanup(){this.closeAllDropdowns(),this._handlers.forEach((e,t)=>{e.clickListener&&t.removeEventListener("click",e.clickListener),e.keyListener&&t.removeEventListener("keydown",e.keyListener),e.focusListener&&t.removeEventListener("focus",e.focusListener),e.blurListener&&t.removeEventListener("blur",e.blurListener),e.focusListener&&t.removeEventListener("focusin",e.focusListener),e.blurListener&&t.removeEventListener("focusout",e.blurListener),e.blurTimeout&&clearTimeout(e.blurTimeout)}),this._handlers.clear(),this._menus.clear()}_toggleDropdown(e,t){let s=e.classList.contains("dropdown_open");this.closeAllDropdowns(),s||this._open(e,t)}async _open(e,t){this._fireEvent(e,"beforeshow");let i=e.querySelector("[x-dropdown]");this._adjustPosition(e,i),s.lib.addClass(t,"active"),s.lib.addClass(e,"dropdown_open",20),t.setAttribute("aria-expanded","true"),this._fireEvent(e,"aftershow")}_adjustPosition(e,t){e.classList.add("dropdown_ready");let s=t.getBoundingClientRect();e.classList.remove("dropdown_ready");let i=window.innerWidth,n=document.documentElement.scrollHeight;e.classList.remove("dropdown_right","dropdown_bottom"),s.right>i&&e.classList.add("dropdown_right"),window.scrollY+s.bottom>n&&e.classList.add("dropdown_bottom")}_focusFirstItem(e){let t=e.querySelector("[x-dropdown]").querySelector('[role="menuitem"]:not([disabled])');t&&t.focus()}_focusLastItem(e){let t=e.querySelector("[x-dropdown]").querySelectorAll('[role="menuitem"]:not([disabled])');t.length>0&&t[t.length-1].focus()}closeAllDropdowns(){s.lib.qsa(".dropdown_open").forEach(e=>this._close(e))}async _close(e){if(e._dropdownClosing)return;e._dropdownClosing=!0,this._fireEvent(e,"beforehide");let t=s.lib.qs("[x-dropdown-open]",e);t&&(s.lib.removeClass(t,"active"),t.setAttribute("aria-expanded","false")),await s.lib.removeClass(e,"dropdown_open",200),e.classList.remove("dropdown_right","dropdown_bottom"),this._fireEvent(e,"afterhide"),setTimeout(()=>{e._dropdownClosing=!1},100)}_fireEvent(e,t){e.dispatchEvent(new CustomEvent(`dropdown:${t}`))}_attachGlobalListeners(){i._globalListenersAttached||(document.addEventListener("click",e=>{e.target.closest("[x-dropdown-open]")||e.target.closest("[x-dropdown] .dropdown_stay")||this.closeAllDropdowns()}),i._globalListenersAttached=!0)}}i._globalListenersAttached=!1,e.exports.dropdown=new i}),parcelRegister("3jj36",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.autocomplete=void 0,parcelRequire("dTNnT");class s{emptyStateHtml=`<li><span class="op4">\u{41D}\u{438}\u{447}\u{435}\u{433}\u{43E} \u{43D}\u{435} \u{43D}\u{430}\u{439}\u{434}\u{435}\u{43D}\u{43E}</span></li>`;defaultStateHtml=`<li><span class="op4">\u{41D}\u{430}\u{447}\u{43D}\u{438}\u{442}\u{435} \u{43F}\u{435}\u{447}\u{430}\u{442}\u{430}\u{442}\u{44C}</span></li>`;loadingStateHtml=`<li><span class="op4">\u{417}\u{430}\u{433}\u{440}\u{443}\u{437}\u{43A}\u{430}...</span></li>`;init(e,t){this.emptyStateHtml=t.emptyStateHtml||this.emptyStateHtml,this.defaultStateHtml=t.defaultStateHtml||this.defaultStateHtml,this.loadingStateHtml=t.loadingStateHtml||this.loadingStateHtml,this.dropdown=x.id(e),this.field=x.qs("[x-dropdown-open]",this.dropdown),this.list=x.qs("[x-dropdown]",this.dropdown),this.data=t.data||null,this.loadData=t.loadData||null,this.mapData=t.mapData||null,this.renderItem=t.renderItem||null,this.onSelect=t.onSelect||null,this.resetFunc=t.resetFunc||null,this._loadData=this._loadData.bind(this),this.debouncedLoadData=x.lib.debounce(this._loadData,400),this.keyHandler=this._keyHandler.bind(this),this.clickHandler=this._clickHandler.bind(this),this.hideHandler=this._hideHandler.bind(this),this.field?.value==""?this._reset():this._defaultState(),this.field.addEventListener("focus",this.debouncedLoadData),this.field.addEventListener("input",this.debouncedLoadData),this.field.addEventListener("keydown",this.keyHandler),this.list.addEventListener("click",this.clickHandler),this.dropdown.addEventListener("dropdown:afterhide",this.hideHandler)}destroy(){this._reset(),this.field.removeEventListener("focus",this.debouncedLoadData),this.field.removeEventListener("input",this.debouncedLoadData),this.field.removeEventListener("keydown",this.keyHandler),this.list.removeEventListener("click",this.clickHandler),this.dropdown.removeEventListener("dropdown:afterhide",this.hideHandler)}_keyHandler(e){"Enter"===e.key&&(e.preventDefault(),this.field.blur())}_clickHandler(e){if(this._clicked)return;this._clicked=!0;let t=e.target.closest("[data-item]");if(t)try{let e=JSON.parse(t.dataset.item);this.onSelect(e)}catch(e){console.error("Error parsing JSON")}else console.log("Empty data-item")}_hideHandler(){if(this._clicked){this._clicked=!1;return}if(!this.data||!this.data.length)return void this._reset();this._loadingState(),this.onSelect(this.data[0])}_loadingState(){x.lib.render(this.list,this.loadingStateHtml)}_emptyState(){x.lib.render(this.list,this.emptyStateHtml)}_defaultState(){x.lib.render(this.list,this.defaultStateHtml)}_reset(){this.resetFunc(),this.data=null,this._defaultState()}async _loadData(){if(this.field?.value=="")return void this._reset();this._loadingState();try{this._currentLoadId=Date.now();let e=this._currentLoadId;if(this.data=await this.loadData(this),e!==this._currentLoadId)return;this.data=this.mapData(this.data),this.render()}catch(e){this._reset(),console.error("Data loading error:",e)}}async render(){if(!this.data)return void this._reset();if(!this.data.length)return void this._emptyState();let e=this.data.map(this.renderItem).join("");x.lib.render(this.list,e)}}e.exports.autocomplete=new s}),parcelRegister("1AMEo",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.scroll=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.parent=window,this.offset=0,this.classActive="active",this.hash=!1,this.to=this.scrollTo,this._linksHash={},this._scrollHandlers=new Map,this._initialized=!1}init(){this._initialized&&this.destroy();let e=s.lib.qsa("[x-scrollto]");if(e.length){for(let t of(this._linksHash={},e))try{let e={},i=t.getAttribute("x-scrollto");if(s.lib.isValidJSON(i)){let n=JSON.parse(i);if(n.hasOwnProperty("target")&&s.lib.qs(n.target))e.link=t,e.parent=n.parent||this.parent,e.target=s.lib.qs(n.target),e.offset=n.offset||this.offset,e.classActive=n.classActive||this.classActive,e.hash=n.hash??this.hash;else{console.error("Target required in JSON or element does not exist:",n);continue}}else if(s.lib.qs(i))e.link=t,e.parent=this.parent,e.target=s.lib.qs(i),e.offset=this.offset,e.classActive=this.classActive,e.hash=this.hash;else{console.error(`Target "${i}" not found.`);continue}if(e){let i=s.lib.makeId();this._linksHash[i]=e,t.addEventListener("click",t=>{t.preventDefault(),this.scrollTo({parent:e.parent,target:e.target,offset:e.offset,classActive:e.classActive,hash:e.hash})})}}catch(e){console.error(e)}Object.keys(this._linksHash).length&&this._setupScrollObservers(),this._initialized=!0}}destroy(){for(let[e,t]of this._scrollHandlers.entries())e.removeEventListener("scroll",t);this._scrollHandlers.clear(),this._linksHash={},this._initialized=!1}async scrollTo(e){return new Promise(t=>{let i,n,o,r,l="string"==typeof e.parent?s.lib.qs(e.parent):e.parent||this.parent,a=e.offset||this.offset,d=e.hash??this.hash,c="object"!=typeof e||e instanceof Element?s.lib.qs(e):s.lib.qs(e.target);if(!c){console.error("Target not found:",e.target||e),t();return}l===window?r=(i=(n=window.pageYOffset)+c.getBoundingClientRect().top)-n-a:(n=l.scrollTop,o=l.getBoundingClientRect().top,r=(i=n+c.getBoundingClientRect().top-o)-n-a),l.scrollTo({top:n+r,left:0,behavior:"smooth"}),setTimeout(t,400),d&&c.id?s.lib.updateURL("#"+c.id):d&&history.replaceState({},document.title,window.location.href.split("#")[0])})}_setupScrollObservers(){let e=new Set;for(let t in this._linksHash)e.add(this._linksHash[t].parent);for(let t of e){let e=t===window?window:s.lib.qs(t);if(!e)continue;let i=()=>{this._scrollObserve()};e.addEventListener("scroll",i,{passive:!0}),this._scrollHandlers.set(e,i)}this._scrollObserve()}_scrollObserve(){Object.keys(this._linksHash).forEach(e=>{let t=this._linksHash[e],s=t.target.getBoundingClientRect(),i=document.documentElement.clientHeight/4;s.top<=i&&s.bottom>i?null!=t.classActive&&(t.link.classList.add(t.classActive),t.target.classList.add(t.classActive)):null!=t.classActive&&(t.link.classList.remove(t.classActive),t.target.classList.remove(t.classActive))})}}e.exports.scroll=new i}),parcelRegister("iXXci",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.hover=i;var s=parcelRequire("dTNnT");function i(){document.addEventListener("mouseenter",n,!0),document.addEventListener("mouseleave",o,!0)}function n(e){r(e,!0)}function o(e){r(e,!1)}function r(e,t){let i=e.target instanceof Element?e.target.closest("[x-hover]"):null;if(!i)return;let n=i.getAttribute("href");if(n)for(let e of s.lib.qsa(`[href="${CSS.escape(n)}"]`))e.classList.toggle("hover",t)}}),parcelRegister("iMG9j",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.device=e.exports.Device=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.js=!0,this.os="unknown",this.browser="unknown",this.device=null,this.mobile=!1,this.touch=!1,this.width=window.innerWidth,this.height=window.innerHeight,this.breakpoint=this._getBreakpointName(this.width),this.size=this._getSizeFlags(this.breakpoint),this._html=document.documentElement,this._onResize=this._onResize.bind(this),this._debouncedResize=s.lib.debounce(this._onResize,200),this._initialized=!1}init(){this._initialized&&this._cleanup(),this._detect(),this._applyHtmlClasses(),window.addEventListener("resize",this._debouncedResize),this._initialized=!0}_cleanup(){window.removeEventListener("resize",this._debouncedResize),["js","windows","macos","ios","android","linux","unknown","chrome","firefox","safari","opera","edge","iphone","ipad","android","mobile","desktop","touch"].forEach(e=>{this._html.classList.remove(e)}),this._initialized=!1}_getBreakpointName(e){return e>=1400?"xl":e>=1e3?"l":e>=600?"m":"s"}_getSizeFlags(e){return{s:"s"===e,m:"m"===e,l:"l"===e,xl:"xl"===e}}_onResize(){let e=this.breakpoint;this.width=window.innerWidth,this.height=window.innerHeight;let t=this._getBreakpointName(this.width);if(e!==t){this.breakpoint=t,this.size=this._getSizeFlags(t);let s=new CustomEvent("breakpointchange",{detail:{prev:e,current:t,width:this.width,height:this.height}});window.dispatchEvent(s)}else this.breakpoint=t,this.size=this._getSizeFlags(t)}_detect(){let e=window.navigator.userAgent.toLowerCase();this.mobile=/mobile/.test(e);let t={win:"windows",linux:"linux",iphone:"ios",ipad:"ios",ipod:"ios",mac:"macos",android:"android"},s=Object.keys(t).find(t=>e.includes(t));this.os=s?t[s]:"unknown",/firefox/.test(e)?this.browser="firefox":/opr\//.test(e)||/opera/.test(e)?this.browser="opera":/edg\//.test(e)?this.browser="edge":!/chrome/.test(e)||/edg\//.test(e)||/opr\//.test(e)?!/safari/.test(e)||/chrome/.test(e)||/edg\//.test(e)?this.browser="unknown":this.browser="safari":this.browser="chrome",/ipad/.test(e)?this.device="ipad":/iphone/.test(e)?this.device="iphone":/android/.test(e)?this.device="android":/mac/.test(e)?this.device="mac":this.device="computer",this.touch=window.matchMedia&&window.matchMedia("(pointer: coarse)").matches}_applyHtmlClasses(){["js",this.os,this.browser,this.device,this.mobile?"mobile":"desktop",this.touch?"touch":null].filter(Boolean).forEach(e=>this._html.classList.add(e))}}e.exports.Device=i,e.exports.device=new i}),parcelRegister("bwKX7",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.form=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.listen=Object.freeze({update:new Set})}getEventType(e){if(e.isContentEditable)return"input";let t=e.tagName.toLowerCase();if("input"===t||"textarea"===t)return"input";if("select"===t)return"change";throw Error(`Unsupported element <${t}>`)}setChecked(e,t=!1){for(let i of s.lib.qsa(e)){if(!i?.type||"checkbox"!==i.type&&"radio"!==i.type){console.error("setChecked: Not a checkbox/radio",i);continue}i.checked!==t&&(i.checked=t,i.dispatchEvent(new Event("input",{bubbles:!0})))}}setValue(e,t){for(let i of s.lib.qsa(e)){if(!i){console.error("setValue: Element not found",i);continue}if(i.isContentEditable)i.innerText=t;else{let e=i.tagName.toLowerCase(),s=i.type;if("input"===e)"checkbox"===s||"radio"===s?i.checked=!!t:i.value=t;else if("textarea"===e||"select"===e)i.value=t;else throw Error(`setValue: Unsupported element <${e}>`)}i.dispatchEvent(new Event(this.getEventType(i),{bubbles:!0}))}}onUpdate(e,t){for(let i of s.lib.qsa(e)){if(!i){console.error("onUpdate: Element not found",i);continue}this.listen.update.has(i)||(i.addEventListener(this.getEventType(i),()=>t(i)),this.listen.update.add(i))}}offUpdate(e){for(let t of s.lib.qsa(e))t&&this.listen.update.has(t)&&(console.warn("offUpdate: Cannot fully remove listener because anonymous functions were used."),this.listen.update.delete(t))}update(e){for(let t of s.lib.qsa(e)){if(!t){console.error("update: Element not found",t);continue}t.dispatchEvent(new Event(this.getEventType(t),{bubbles:!0}))}}}e.exports.form=new i}),parcelRegister("azm1L",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.sticky=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.activeClass="sticky_on",this.rootMargin="-1px 0px 0px 0px",this._observer=new IntersectionObserver(e=>{for(let t of e)this._handleEntry(t)},{threshold:1,rootMargin:this.rootMargin}),this._initialized=!1}_handleEntry(e){let t=e.intersectionRatio<1,i=e.target,n=i.classList.contains(this.activeClass);s.lib.switchClass(i,this.activeClass,t),t&&!n&&i.dispatchEvent(new CustomEvent("sticky:on",{bubbles:!0})),!t&&n&&i.dispatchEvent(new CustomEvent("sticky:off",{bubbles:!0}))}init(){for(let e of(this._initialized&&this.reset(),s.lib.qsa(".sticky")))e.dataset.stickyObserved||(this._observer.observe(e),e.dataset.stickyObserved="true");this._initialized=!0}reset(){for(let e of s.lib.qsa(".sticky"))e.dataset.stickyObserved&&(document.body.contains(e)&&this._observer.unobserve(e),delete e.dataset.stickyObserved)}destroy(){this._observer.disconnect(),this._initialized=!1}}e.exports.sticky=new i}),parcelRegister("9PwSp",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.slider=e.exports.Slider=void 0;class s{constructor(){this.sliders=[],this.instances=new Map,this.io=null,this.mo=null}init(){this.observeSliders(),this.mo=new MutationObserver(e=>{for(let t of e)t.addedNodes.forEach(e=>{1===e.nodeType&&e.hasAttribute?.("x-slider")&&this.io.observe(e),1===e.nodeType&&e.querySelectorAll?.("[x-slider]")?.forEach(e=>this.io.observe(e))})}),this.mo.observe(document.body,{childList:!0,subtree:!0})}destroy(){this.instances.forEach((e,t)=>{let s=e.listenerTarget||e.wrapper||t;e.touch?(s.removeEventListener("touchstart",e.events.touchstart,!0),s.removeEventListener("touchmove",e.events.touchmove,!0),s.removeEventListener("touchend",e.events.touchend,!0),s.removeEventListener("touchcancel",e.events.touchcancel,!0)):(t.removeEventListener("mousemove",e.events.mousemove),e.events.mouseout&&t.removeEventListener("mouseleave",e.events.mouseout),e.events.mouseenter&&t.removeEventListener("mouseenter",e.events.mouseenter),e.events.resize&&(window.removeEventListener("resize",e.events.resize),window.removeEventListener("orientationchange",e.events.resize)))}),this.io&&this.io.disconnect(),this.mo&&this.mo.disconnect(),this.instances.clear()}observeSliders(){this.sliders=document.querySelectorAll("[x-slider]"),this.io=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&!this.instances.has(e.target)&&this.initSlider(e.target)})},{rootMargin:"60px 0px 60px 0px",threshold:0}),this.sliders.forEach(e=>this.io.observe(e))}initSlider(e){let t=[...e.children].map(e=>e.cloneNode(!0));if(!t.length)return;e.classList.add("slider"),e.style.overflow="hidden",e.style.touchAction="pan-y",e.style.overscrollBehavior="contain";let s=0,i=!0,n=!0,o=!0;try{let t=e.getAttribute("x-slider");if(t){let e=JSON.parse(t);"gap"in e&&(s=Number(e.gap)||0),"rubber"in e&&(i=!!e.rubber),"resetOnMouseout"in e&&(n=!!e.resetOnMouseout),"touch"in e&&(o=!!e.touch)}}catch(e){console.warn("Invalid x-slider JSON",e)}let r=document.createElement("div");r.className="slider-wrapper",r.style.gap=s+"px",e.innerHTML="",t.forEach((e,t)=>{e.classList.add("slider-item");let s=e.querySelector("img");s&&0===t&&(s.dataset.srcset&&(s.srcset=s.dataset.srcset,s.removeAttribute("data-srcset")),s.dataset.src&&(s.src=s.dataset.src,s.removeAttribute("data-src")),s.setAttribute("loading","eager")),r.appendChild(e)}),e.appendChild(r);let l="ontouchstart"in window,a=[];if(t.length>1&&(!l||o)){let s=document.createElement("div");s.className="slider-indicators",t.forEach((e,t)=>{let i=document.createElement("span");0===t&&i.classList.add("active"),s.appendChild(i)}),e.appendChild(s),a=[...s.querySelectorAll("span")]}let d=t;if(l&&!o)return void d[0].classList.add("active");let c=0,h=/iP(ad|hone|od)/.test(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,u=()=>d[0].offsetWidth+s,p=(e,t=!1)=>{let s=Math.max(0,Math.min(e,d.length-1)),i=u();c=s,r.style.transition=t?"none":"transform 0.25s",r.style.transform=`translateX(${-c*i}px)`,a.length&&a.forEach((e,t)=>e.classList.toggle("active",t===c)),t||r.addEventListener("transitionend",()=>{r.style.transition="none",h&&(r.style.pointerEvents="none",requestAnimationFrame(()=>{r.offsetWidth,r.style.pointerEvents="auto"}))},{once:!0})};p(0,!0);let m={},v=!1,f=null,b=()=>{v||(v=!0,d.forEach((t,s)=>{let i=t.querySelector("img");i&&0!==s&&(i.dataset.srcset&&(i.srcset=i.dataset.srcset,i.removeAttribute("data-srcset")),i.dataset.src&&(i.src=i.dataset.src,i.removeAttribute("data-src")),l||i.complete&&0!==i.naturalWidth||i.addEventListener("load",()=>{if(null!=f){let t=e.getBoundingClientRect(),i=e.offsetWidth;Math.floor((f-t.left)/i*d.length)===s&&p(s,!0)}},{once:!0}))}))};if(d.length>1)if(l){let t=0,s=0,n=!1,o=null,l=(e,t)=>[...e].find(e=>e.identifier===t)||null,a=()=>{b(),e.removeEventListener("touchstart",a)};e.addEventListener("touchstart",a,{passive:!1,capture:!0}),m.touchstart=e=>{let i=e.changedTouches[0];o=i.identifier,t=i.clientX,s=i.clientY,n=!0,r.style.transition="none"},m.touchmove=e=>{if(!n||null==o)return;let a=l(e.touches,o);if(!a)return;let h=a.clientX-t;if(Math.abs(a.clientY-s)>Math.abs(h))return;e.cancelable&&e.preventDefault();let p=u(),m=h;0===c&&h>0&&(m=i?.15*h:0),c===d.length-1&&h<0&&(m=i?.15*h:0),r.style.transform=`translateX(${-c*p+m}px)`},m.touchend=e=>{if(!n)return;n=!1;let i=l(e.changedTouches,o)||e.changedTouches[0];o=null;let r=i.clientX-t,a=i.clientY-s,h=.1*u();if(Math.abs(a)>Math.abs(r)||0===c&&r>0||c===d.length-1&&r<0)return void p(c);r>h&&c>0?p(c-1):r<-h&&c<d.length-1?p(c+1):p(c)},m.touchcancel=()=>{n=!1,o=null,p(c)},e.addEventListener("touchstart",m.touchstart,{passive:!1,capture:!0}),e.addEventListener("touchmove",m.touchmove,{passive:!1,capture:!0}),e.addEventListener("touchend",m.touchend,{capture:!0}),e.addEventListener("touchcancel",m.touchcancel,{capture:!0})}else{let t=s=>{f=s.clientX,b(),e.removeEventListener("mouseenter",t)};e.addEventListener("mouseenter",t),m.mousemove=t=>{f=t.clientX;let s=e.getBoundingClientRect(),i=e.offsetWidth;if(i<=0)return;let n=t.clientX-s.left;n<0?n=0:n>=i&&(n=i-1e-7);let o=Math.floor(n/i*d.length),r=d[o].querySelector("img");o!==c&&(!r||r.complete||r.naturalWidth>0)&&p(o,!0)},e.addEventListener("mousemove",m.mousemove),e.addEventListener("mouseenter",e=>m.mousemove(e)),n&&(m.mouseout=()=>p(0,!0),e.addEventListener("mouseleave",m.mouseout))}let w=()=>{let e=u();r.style.transition="none",r.style.transform=`translateX(${-c*e}px)`};window.addEventListener("resize",w),window.addEventListener("orientationchange",w),m.resize=w,this.instances.set(e,{wrapper:r,slides:d,events:m,touch:l,listenerTarget:e})}}e.exports.Slider=s,e.exports.slider=new s}),parcelRequire("5vvBz")}();
|
|
1
|
+
!function(){var $parcel$global="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirec3c2;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var t=$parcel$inits[e];delete $parcel$inits[e];var s={id:e,exports:{}};return $parcel$modules[e]=s,t.call(s.exports,s,s.exports),s.exports}var i=Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}).register=function(e,t){$parcel$inits[e]=t},$parcel$global.parcelRequirec3c2=parcelRequire);var parcelRegister=parcelRequire.register;parcelRegister("5vvBz",function(e,t){"use strict";var s=parcelRequire("7k1tf"),i=parcelRequire("1ZOHL"),n=parcelRequire("ataKg"),o=parcelRequire("9K5nT"),r=parcelRequire("6goNw"),l=parcelRequire("5iBRN"),a=parcelRequire("ljacF"),d=parcelRequire("3jj36"),c=parcelRequire("1AMEo"),h=parcelRequire("iXXci"),u=parcelRequire("iMG9j"),p=parcelRequire("dTNnT"),m=parcelRequire("bwKX7"),v=parcelRequire("azm1L"),f=parcelRequire("9PwSp");class b{constructor(){this.modal=s.modal,this.animate=i.animate,this.appear=n.appear,this.lazyload=o.lazyload,this.loadmore=r.loadmore,this.sheets=l.sheets,this.dropdown=a.dropdown,this.autocomplete=d.autocomplete,this.scroll=c.scroll,this.hover=h.hover,this.device=u.device,this.lib=p.lib,this.render=p.lib.render.bind(p.lib),this.form=m.form,this.sticky=v.sticky,this.slider=f.slider,this.initialized=!1}init(){this.initialized||(this.device.init(),this.modal.init(),this.animate.init(),this.appear.init(),this.lazyload.init(),this.loadmore.init(),this.sheets.init(),this.dropdown.init(),this.scroll.init(),this.sticky.init(),this.slider.init(),(0,h.hover)(),this.initialized=!0)}}let w=new b;window.x=w,window.qs=w.lib.qs,window.qsa=w.lib.qsa,window.x.id=w.lib.id,window.x.qs=w.lib.qs,window.x.qsa=w.lib.qsa}),parcelRegister("7k1tf",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.modal=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.modalLevel=0,this.lockCount=0,this.html=s.lib.qs("html"),this._initialized=!1,this._clickHandler=null,this._keydownHandler=null}init(){this._initialized&&this.destroy(),this._renderModalContents(),this._setupModalLinks(),this._setupGlobalListeners(),this._initialized=!0}destroy(){this._clickHandler&&(document.removeEventListener("click",this._clickHandler),this._clickHandler=null),this._keydownHandler&&(document.removeEventListener("keydown",this._keydownHandler),this._keydownHandler=null),this.modalLevel=0,this.lockCount=0,this._initialized=!1}_renderModalContents(){s.lib.qsa("[x-modal]").forEach(e=>{let t=s.lib.qs(".modal-here")||s.lib.qs("body"),i=e.getAttribute("x-modal"),n=e.getAttribute("class")||"",o=(e.dataset.windowClass||"").replace(/\s+/g," ").trim(),r=e.innerHTML,l=document.createElement("div");l.id=i,l.className=`modal ${n}`,l.innerHTML=`<div class="modal-overlay"></div><div class="modal-outer"><div class="modal-inner"><div class="modal-window ${o}">${r}<div class="modal-rail"><a role="button" class="modal-close"></a></div></div></div></div>`,t.appendChild(l),e.remove()})}_setupModalLinks(){s.lib.qsa("[x-modal-open]").forEach(e=>{let t=e.getAttribute("x-modal-open");e.addEventListener("click",e=>{e.preventDefault(),this.show(t)}),window.location.hash==="#"+t&&s.lib.qs("#"+t).classList.contains("modal_hash")&&this.show(t)})}_setupGlobalListeners(){this._clickHandler=e=>{s.lib.qs(".modal_active")&&(e.target.classList.contains("modal-close")||!e.target.closest(".modal-window"))&&(e.preventDefault(),this.hide(e.target.closest(".modal")?.getAttribute("id")))},this._keydownHandler=e=>{let t=s.lib.qsa(".modal_active"),i=t[t.length-1];i&&"Escape"===e.key&&(e.preventDefault(),this.hide(i.getAttribute("id")))},document.addEventListener("click",this._clickHandler),document.addEventListener("keydown",this._keydownHandler)}async show(e){if(this.lockCount>0)return;if(this.isActive(e))return void this.hide(e);let t=s.lib.qs("#"+e);if(t){t.classList.contains("modal_uniq")&&await this.hideAll(),this.lockCount++;try{await s.lib.addClass(t,"modal_ready"),await s.lib.sleep(10),t.dispatchEvent(new CustomEvent("modal:ready")),t.classList.contains("modal_hash")&&history.replaceState(null,"","#"+e),s.lib.addClass(this.html,"modal_active"),s.lib.addClass(this.html,e+"_active"),s.lib.addClass("[x-modal-open="+e+"]","active"),this.modalLevel++,s.lib.addClass(t,"modal_z"+this.modalLevel),await s.lib.addClass(t,"modal_active"),s.lib.qs(".modal-outer",t)?.scrollTo(0,1),await s.lib.sleep(200),t.dispatchEvent(new CustomEvent("modal:open"))}finally{this.lockCount--}}}async hide(e){if(this.lockCount>0)return;let t=s.lib.qs("#"+e);t&&(this.lockCount++,t.classList.contains("modal_hash")&&window.location.hash==="#"+e&&history.replaceState(null,document.title,window.location.pathname+window.location.search),s.lib.removeClass("[x-modal-open="+e+"]","active"),await s.lib.removeClass(t,"modal_active",200),s.lib.removeClass(t,"modal_z"+this.modalLevel),t.dispatchEvent(new CustomEvent("modal:close")),s.lib.removeClass(this.html,e+"_active"),this.modalLevel--,0===this.modalLevel&&s.lib.removeClass(this.html,"modal_active"),this.lockCount--)}async hideAll(){let e=s.lib.qsa(".modal_active");if(e.length)for(let t of e)await this.hide(t.getAttribute("id"))}isActive(e){return s.lib.qs("#"+e)?.classList.contains("modal_active")??!1}}e.exports.modal=new i}),parcelRegister("dTNnT",function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.lib=void 0;class Lib{constructor(){this.loadedScripts=[],this._elementRender()}_elementRender(){document.addEventListener("DOMContentLoaded",()=>{this.qsa("[x-render]").forEach(item=>{this.render(item,eval(item.getAttribute("x-render")))})},{once:!0})}id(e){return document.getElementById(e)}qs(e,t=document){return e?"string"==typeof e?t.querySelector(e):e instanceof Node?e:e instanceof NodeList?e.length?e[0]:null:Array.isArray(e)&&e.length?e[0]instanceof Node?e[0]:t.querySelector(e[0]):e===window?e:null:null}qsa(e,t=document){if(!e)return[];if("string"==typeof e)return[...t.querySelectorAll(e)];if(e instanceof NodeList)return[...e];if(e instanceof Node)return[e];if(Array.isArray(e)&&e.length){let s=[];for(let i of e)i instanceof Node?s.push(i):i instanceof NodeList?s.push(...i):s.push(...t.querySelectorAll(i));return s.flat()}return e===window?[e]:[]}async hide(e){await this.addClass(e,"hidden")}async show(e){await this.removeClass(e,"hidden")}async toggle(e){await this.toggleClass(e,"hidden")}async switch(e,t){t?await this.removeClass(e,"hidden"):await this.addClass(e,"hidden")}async addClass(e,t,s=0){let i=this.qsa(e);if(i.length){if(s>0){for(let e of i)e.classList.add(t.replace(/_.*/,"")+"_ready");await new Promise(e=>setTimeout(e,s))}for(let e of i)e.classList.add(t)}}async removeClass(e,t,s=0){let i=this.qsa(e);if(i.length){for(let e of i)e.classList.remove(t);if(s>0)for(let e of(await new Promise(e=>setTimeout(e,s)),i))e.classList.remove(t.replace(/_.*/,"")+"_ready")}}async toggleClass(e,t,s=0){for(let i of this.qsa(e))i.classList.contains(t)?await this.removeClass(i,t,s):await this.addClass(i,t,s)}async switchClass(e,t,s,i=0){s?await this.addClass(e,t,i):await this.removeClass(e,t,i)}reload(){location.reload()}reloadWithHash(e){location.hash=e,this.reload()}redirectTo(e){location.href=e}updateURL(e,t){history.pushState?history.pushState(null,t,e):location.href=e}random(e,t){return Math.floor(Math.random()*(t-e+1))+e}price(e){return parseFloat(e).toFixed(2).replace(/\d(?=(\d{3})+\.)/g,"$& ").replace(".00","")}number(e){let t=(e+"").split(".");return t[0]=t[0].replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1 "),t.join(".")}numberDecline(e,t,s,i){if(e>10&&1===Math.floor(e%100/10))return i;switch(e%10){case 1:return t;case 2:case 3:case 4:return s;default:return i}}isEmail(e){return/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(e)}isValidJSON(e){try{return JSON.parse(e),!0}catch{return!1}}isInteger(e){return Number.isInteger(Number(e))}isDouble(e){let t=Number(e);return!isNaN(t)&&"number"==typeof t}makeId(){return"id"+this.random(1e5,999999)}makePassword(e=8,t){let s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#^$%^&*()-+:,.;_",i=Array.from({length:e},()=>s[Math.floor(Math.random()*s.length)]).join("");if(!t)return i;this.qs(t).value=i}loadScript(e,t,s="async"){if(this.loadedScripts.includes(e))t();else{let i=document.createElement("script");i.onload=t,i.onerror=()=>console.error(`Failed to load script: ${e}`),i.src=e,s&&i.setAttribute(s,""),document.body.appendChild(i),this.loadedScripts.push(e)}}deferred(e,t=1e4){let s,i=["scroll","resize","click","keydown","mousemove","touchmove"],n=()=>{i.forEach(e=>window.removeEventListener(e,n,{once:!0})),"complete"===document.readyState?e():window.addEventListener("load",e,{once:!0}),clearTimeout(s)};s=setTimeout(n,t),i.forEach(e=>window.addEventListener(e,n,{once:!0}))}deffered(e,t=1e4){return this.deferred(e,t)}throttle(e,t,s={}){return this._throttle(e,t,s)}debounce(e,t,s={}){return this._debounce(e,t,s)}onAppear(e,t,s=null,i={}){let n=this.qsa(e);if(!n.length)return;let o=new IntersectionObserver((e,i)=>{e.forEach(e=>{e.isIntersecting?(t(e.target),s||i.unobserve(e.target)):s&&s(e.target)})},{root:null,rootMargin:"200px",threshold:.1,...i});n.forEach(e=>o.observe(e))}alertErrors(e){e&&("string"==typeof e?alert(e):alert(Object.values(e).join("\n")))}printErrors(e){return e?"string"==typeof e?`<div>${e}</div>`:Object.entries(e).map(([e,t])=>`<div class="error_${e}">${t}</div>`).join("\n"):""}async render(e,t,s=null){let i=this.qsa(e);if(!i.length)return;let n="function"==typeof t?await t():t;for(let e of i)null==s?e.innerHTML=n:e.insertAdjacentHTML(s,n)}transitionsOn(e=0){setTimeout(()=>{document.documentElement.classList.remove("noTransitions")},e)}transitionsOff(){document.documentElement.classList.add("noTransitions")}async sleep(e){return new Promise(t=>setTimeout(t,e))}_throttle(e,t,s={}){let i=null,n=null,o=null,r=0,{leading:l=!0,trailing:a=!0}=s,d=t=>{r=t,e.apply(o,n),n=o=null},c=function(...e){let s=Date.now();r||l||(r=s),n=e,o=this;let c=t-(s-r);c<=0||c>t?(i&&clearTimeout(i),i=null,d(s)):!i&&a&&(i=setTimeout(()=>{i=null,a&&n&&d(Date.now())},c))};return c.cancel=()=>{i&&clearTimeout(i),i=n=o=null,r=0},c}_debounce(e,t,s={}){let i=null,n=null,o=null,{leading:r=!1,trailing:l=!0}=s,a=()=>{e.apply(o,n),n=o=null},d=function(...e){n=e,o=this,i&&clearTimeout(i),r&&!i&&a(),i=setTimeout(()=>{i=null,l&&n&&a()},t)};return d.cancel=()=>{i&&clearTimeout(i),i=n=o=null},d}}let lib=exports.lib=new Lib}),parcelRegister("1ZOHL",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.animate=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._ticking=!1,this._animations=[],this._scroll=this._scroll.bind(this),this._scrollHandler=this._scrollHandler.bind(this),this._initialized=!1,this._parents=new Set,this._elements=null}init(){this._cleanup(),this._elements=s.lib.qsa("[x-animate]"),this._elements?.length&&(this._parseElementsAnimations(),this._animations.length&&(this._setupListeners(),this._initialized=!0))}_cleanup(){this._initialized&&(this._parents.forEach(e=>{e.removeEventListener("scroll",this._scrollHandler)}),window.removeEventListener("resize",this._scrollHandler),this._ticking=!1,this._animations=[],this._parents=new Set,this._elements=null,this._initialized=!1)}_parseElementsAnimations(){this._elements.forEach(e=>{try{let t=JSON.parse(e.getAttribute("x-animate")),i={element:e,trigger:s.lib.qs(t.trigger)||e,parent:s.lib.qs(t.parent)||window,start:t.start,end:t.end||!1,class:t.class,classRemove:!1!==t.classRemove,functionName:t.functionName,lockedIn:!1,lockedOut:!1,log:t.log||!1};this._animations.push(i)}catch(t){console.error("Invalid JSON in x-animate attribute:",e,t)}})}_setupListeners(){for(let e of this._animations)this._parents.has(e.parent)||(this._parents.add(e.parent),e.parent.addEventListener("scroll",this._scrollHandler));window.addEventListener("resize",this._scrollHandler),"complete"===document.readyState?requestAnimationFrame(()=>this._scroll()):window.addEventListener("load",()=>this._scroll(),{once:!0})}_scrollHandler(){this._ticking||(this._ticking=!0,window.requestAnimationFrame(()=>{this._scroll(),this._ticking=!1}))}_scroll(){this._animations.forEach(e=>{let t=e.trigger.getBoundingClientRect(),s=e.parent!==window?e.parent.getBoundingClientRect():null,i=t.top-(s?s.top:0),n=this._2px(e.start,e.parent),o=this._2px(e.end,e.parent);e.duration=isNaN(o)?0:n-o,e.log&&console.log(i,n,o,e),isNaN(n)||isNaN(o)?!isNaN(n)&&(i<=n?(e.lockedOut=!1,e.class&&e.element.classList.add(e.class),e.lockedIn||"function"!=typeof window[e.functionName]||(e.progress=1,window[e.functionName](e),e.lockedIn=!0)):(e.lockedIn=!1,e.class&&!0===e.classRemove&&e.element.classList.contains(e.class)&&e.element.classList.remove(e.class),!e.lockedOut&&"function"==typeof window[e.functionName]&&i>=n&&(e.progress=0,window[e.functionName](e),e.lockedOut=!0))):i<=n&&i>=o?(e.lockedOut=!1,e.class&&e.element.classList.add(e.class),"function"==typeof window[e.functionName]&&(e.progress=((n-i)/e.duration).toFixed(4),window[e.functionName](e))):(e.class&&!0===e.classRemove&&e.element.classList.contains(e.class)&&e.element.classList.remove(e.class),!e.lockedOut&&"function"==typeof window[e.functionName]&&(i>=n&&(e.progress=0,window[e.functionName](e),e.lockedOut=!0),i<=o&&(e.progress=1,window[e.functionName](e),e.lockedOut=!0)))})}_2px(e,t=window){return/(%|vh)/.test(e)?(t===window?document.documentElement.clientHeight:t.clientHeight)*parseFloat(e=e.replace(/(vh|%)/,""))/100:parseFloat(e)}}e.exports.animate=new i}),parcelRegister("ataKg",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.appear=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._targets=[],this._observer=null,this._options={appearedClass:"appeared",visibleClass:"visible",once:!1}}init(e={}){"IntersectionObserver"in window&&(this._options={...this._options,...e},this._observer&&(this._observer.disconnect(),this._observer=null),this._targets=s.lib.qsa("[x-appear]"),this._targets.length&&(this._observer=new IntersectionObserver(this._observerCallback.bind(this)),this._targets.forEach(e=>{this._observer.observe(e)})))}_observerCallback(e){let{appearedClass:t,visibleClass:s,once:i}=this._options;for(let n of e){let e=n.target,o=null!=t,r=null!=s;n.isIntersecting?(o&&!e.classList.contains(t)&&(e.classList.add(t),i&&this._observer.unobserve(e)),r&&(e.classList.add(s),e.dispatchEvent(new CustomEvent("visible",{detail:{appeared:!0}})))):r&&e.classList.contains(s)&&(e.classList.remove(s),e.dispatchEvent(new CustomEvent("invisible",{detail:{appeared:!0}})))}}}e.exports.appear=new i}),parcelRegister("9K5nT",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.lazyload=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._observer=null,this._options={root:null,rootMargin:"200px",threshold:.1}}init(){if(!("IntersectionObserver"in window))return void console.warn("IntersectionObserver is not supported in this browser.");this._observer||(this._observer=new IntersectionObserver(this._callback.bind(this),this._options)),[...s.lib.qsa("[x-lazyload]")].filter(e=>!e.classList.contains("loaded")).forEach(e=>this._observer.observe(e))}destroy(){this._observer&&(this._observer.disconnect(),this._observer=null)}_callback(e){for(let t of e)t.isIntersecting&&this._loadImage(t.target)}_fetchImage(e,t){return new Promise((s,i)=>{let n=new Image;t&&(n.srcset=t),e&&(n.src=e),n.onload=()=>s(),n.onerror=()=>i(Error(`Failed to load image: ${e||t}`))})}async _loadImage(e){let t=e.dataset.srcset||null,i=e.dataset.src||null;if(!i&&!t)return void console.warn("No source or srcset found for image:",e);try{await this._fetchImage(i,t),t&&(e.srcset=t,e.removeAttribute("data-srcset")),i&&(e.src=i,e.removeAttribute("data-src")),await Promise.resolve(s.lib.addClass(e,"loaded")),this._observer&&this._observer.unobserve(e)}catch(t){console.error("Lazyload failed for image:",e,t)}}}e.exports.lazyload=new i}),parcelRegister("6goNw",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.loadmore=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.items={},this.locked=!1,this.observer=null,this._initialized=!1}init(){this._initialized&&this.destroy();let e=s.lib.qsa("[x-loadmore]");if(!e.length)return;let t=async(e,t)=>{for(let i of e)if(i.isIntersecting&&!this.locked){this.locked=!0;let e=i.target,n=e.getAttribute("x-loadmore");if(s.lib.isValidJSON(n)){let s=JSON.parse(n);if(s.functionName){let i=window[s.functionName];if("function"==typeof i)try{let s=e.id,n=this.items[s].page;await i(n)?this.items[s].page++:t.unobserve(e)}catch(e){console.error("Loadmore callback error:",e)}else console.error(`Function "${s.functionName}" is not defined.`)}else console.warn('Missing "functionName" in x-loadmore attribute:',s)}else console.error("Invalid JSON in x-loadmore attribute:",n);this.locked=!1}},i={rootMargin:"0px 0px 400px 0px",threshold:0};this.observer=new IntersectionObserver(t,i),e.forEach(e=>{let t=s.lib.makeId();e.setAttribute("id",t),this.items[t]={el:e,page:1},this.observer.observe(e)}),this._initialized=!0}destroy(){this.observer&&(this.observer.disconnect(),this.observer=null),this.items={},this.locked=!1,this._initialized=!1}}e.exports.loadmore=new i}),parcelRegister("5iBRN",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.sheets=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._handlers=new Map,this._initialized=!1}init(){this._initialized&&this.destroy();let e=s.lib.qsa("[x-sheets]");if(e.length){for(let t of e){for(let e of s.lib.qsa("[x-sheet-open]:not([x-sheet-open] [x-sheet-open])",t)){let t=t=>{t.preventDefault(),this.show(e.getAttribute("x-sheet-open"))};e.addEventListener("click",t),this._handlers.set(e,t)}let e=s.lib.qs("[x-sheet-open].active",t);e&&this.show(e.getAttribute("x-sheet-open"))}this._initialized=!0}}destroy(){for(let[e,t]of this._handlers.entries())e.removeEventListener("click",t);this._handlers.clear(),this._initialized=!1}show(e){let t=s.lib.qs(`[x-sheet="${CSS.escape(e)}"]`);if(!t)return;let i=t.closest("[x-sheets]");if(!i)return;let n=s.lib.qs(`[x-sheet-open="${CSS.escape(e)}"]`,i);if(n?.classList.contains("active")&&t.classList.contains("active"))return;let o=s.lib.qsa("[x-sheet-open]",i);s.lib.removeClass(o,"active");let r=s.lib.qsa("[x-sheet]",i);s.lib.removeClass(r,"active"),s.lib.addClass(n,"active"),s.lib.addClass(t,"active")}}e.exports.sheets=new i}),parcelRegister("ljacF",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.dropdown=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this._handlers=new Map,this._menus=new Map,this._initialized=!1,this._attachGlobalListeners()}init(){this._initialized&&this._cleanup(),s.lib.qsa("[x-dropdown]").forEach(e=>{let t=e.parentElement,i=s.lib.qs("[x-dropdown-open]",t);i&&(this._setupAccessibility(t,i,e),this._bindTrigger(t,i),this._bindMenuKeys(e,i,t),this._menus.set(e,{parent:t,trigger:i}),t.dispatchEvent(new CustomEvent("dropdown:ready")))}),this._initialized=!0}_setupAccessibility(e,t,i){e.classList.add("dropdown"),t.setAttribute("aria-expanded","false"),i.id||(i.id=s.lib.makeId()),t.setAttribute("aria-controls",i.id),i.setAttribute("role","menu"),i.setAttribute("tabindex","-1"),i.querySelectorAll("li > a").forEach(e=>{e.setAttribute("role","menuitem"),e.setAttribute("tabindex","-1")}),t.addEventListener("focus",()=>t.classList.add("hover")),t.addEventListener("blur",()=>t.classList.remove("hover"))}_bindTrigger(e,t){let i=s.lib.throttle(()=>this._toggleDropdown(e,t),400),n=["INPUT","TEXTAREA"].includes(t.tagName),o=null,r=e=>{n||(e.stopPropagation(),i())},l=s=>{(" "!==s.key||!n)&&(n||"Enter"!==s.key&&" "!==s.key||(s.preventDefault(),i()),"ArrowDown"===s.key&&(s.preventDefault(),n||(this._open(e,t),this._focusFirstItem(e))),"ArrowUp"===s.key&&(s.preventDefault(),n||(this._open(e,t),this._focusLastItem(e))))},a=s=>{n?(clearTimeout(o),this.closeAllDropdowns(),this._open(e,t)):t.classList.add("hover")},d=s=>{n?o=setTimeout(()=>this._close(e),200):t.classList.remove("hover")};this._handlers.set(t,{clickListener:r,keyListener:l,focusListener:a,blurListener:d,blurTimeout:o}),t.addEventListener("click",r),t.addEventListener("keydown",l),t.addEventListener("focus",a),t.addEventListener("blur",d)}_bindMenuKeys(e,t,s){let i=i=>{let n=Array.from(e.querySelectorAll('[role="menuitem"]:not([disabled])')),o=n.indexOf(document.activeElement);if("ArrowDown"===i.key){i.preventDefault();let e=(o+1)%n.length;n[e].focus()}if("ArrowUp"===i.key){i.preventDefault();let e=(o-1+n.length)%n.length;n[e].focus()}"Home"===i.key&&(i.preventDefault(),n[0].focus()),"End"===i.key&&(i.preventDefault(),n[n.length-1].focus()),"Escape"===i.key&&(i.preventDefault(),this._close(s),t.focus())},n=e=>{e.target.matches('[role="menuitem"]')&&e.target.classList.add("hover")},o=e=>{e.target.matches('[role="menuitem"]')&&e.target.classList.remove("hover")};this._handlers.set(e,{keyListener:i,focusListener:n,blurListener:o}),e.addEventListener("keydown",i),e.addEventListener("focusin",n),e.addEventListener("focusout",o)}_cleanup(){this.closeAllDropdowns(),this._handlers.forEach((e,t)=>{e.clickListener&&t.removeEventListener("click",e.clickListener),e.keyListener&&t.removeEventListener("keydown",e.keyListener),e.focusListener&&t.removeEventListener("focus",e.focusListener),e.blurListener&&t.removeEventListener("blur",e.blurListener),e.focusListener&&t.removeEventListener("focusin",e.focusListener),e.blurListener&&t.removeEventListener("focusout",e.blurListener),e.blurTimeout&&clearTimeout(e.blurTimeout)}),this._handlers.clear(),this._menus.clear()}_toggleDropdown(e,t){let s=e.classList.contains("dropdown_open");this.closeAllDropdowns(),s||this._open(e,t)}async _open(e,t){this._fireEvent(e,"beforeshow");let i=e.querySelector("[x-dropdown]");this._adjustPosition(e,i),s.lib.addClass(t,"active"),s.lib.addClass(e,"dropdown_open",20),t.setAttribute("aria-expanded","true"),this._fireEvent(e,"aftershow")}_adjustPosition(e,t){e.classList.add("dropdown_ready");let s=t.getBoundingClientRect();e.classList.remove("dropdown_ready");let i=window.innerWidth,n=document.documentElement.scrollHeight;e.classList.remove("dropdown_right","dropdown_bottom"),s.right>i&&e.classList.add("dropdown_right"),window.scrollY+s.bottom>n&&e.classList.add("dropdown_bottom")}_focusFirstItem(e){let t=e.querySelector("[x-dropdown]").querySelector('[role="menuitem"]:not([disabled])');t&&t.focus()}_focusLastItem(e){let t=e.querySelector("[x-dropdown]").querySelectorAll('[role="menuitem"]:not([disabled])');t.length>0&&t[t.length-1].focus()}closeAllDropdowns(){s.lib.qsa(".dropdown_open").forEach(e=>this._close(e))}async _close(e){if(e._dropdownClosing)return;e._dropdownClosing=!0,this._fireEvent(e,"beforehide");let t=s.lib.qs("[x-dropdown-open]",e);t&&(s.lib.removeClass(t,"active"),t.setAttribute("aria-expanded","false")),await s.lib.removeClass(e,"dropdown_open",200),e.classList.remove("dropdown_right","dropdown_bottom"),this._fireEvent(e,"afterhide"),setTimeout(()=>{e._dropdownClosing=!1},100)}_fireEvent(e,t){e.dispatchEvent(new CustomEvent(`dropdown:${t}`))}_attachGlobalListeners(){i._globalListenersAttached||(document.addEventListener("click",e=>{e.target.closest("[x-dropdown-open]")||e.target.closest("[x-dropdown] .dropdown_stay")||this.closeAllDropdowns()}),i._globalListenersAttached=!0)}}i._globalListenersAttached=!1,e.exports.dropdown=new i}),parcelRegister("3jj36",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.autocomplete=void 0,parcelRequire("dTNnT");class s{emptyStateHtml=`<li><span class="op4">\u{41D}\u{438}\u{447}\u{435}\u{433}\u{43E} \u{43D}\u{435} \u{43D}\u{430}\u{439}\u{434}\u{435}\u{43D}\u{43E}</span></li>`;defaultStateHtml=`<li><span class="op4">\u{41D}\u{430}\u{447}\u{43D}\u{438}\u{442}\u{435} \u{43F}\u{435}\u{447}\u{430}\u{442}\u{430}\u{442}\u{44C}</span></li>`;loadingStateHtml=`<li><span class="op4">\u{417}\u{430}\u{433}\u{440}\u{443}\u{437}\u{43A}\u{430}...</span></li>`;init(e,t){this.emptyStateHtml=t.emptyStateHtml||this.emptyStateHtml,this.defaultStateHtml=t.defaultStateHtml||this.defaultStateHtml,this.loadingStateHtml=t.loadingStateHtml||this.loadingStateHtml,this.dropdown=x.id(e),this.field=x.qs("[x-dropdown-open]",this.dropdown),this.list=x.qs("[x-dropdown]",this.dropdown),this.data=t.data||null,this.loadData=t.loadData||null,this.mapData=t.mapData||null,this.renderItem=t.renderItem||null,this.onSelect=t.onSelect||null,this.resetFunc=t.resetFunc||null,this._loadData=this._loadData.bind(this),this.debouncedLoadData=x.lib.debounce(this._loadData,400),this.keyHandler=this._keyHandler.bind(this),this.clickHandler=this._clickHandler.bind(this),this.hideHandler=this._hideHandler.bind(this),this.field?.value==""?this._reset():this._defaultState(),this.field.addEventListener("focus",this.debouncedLoadData),this.field.addEventListener("input",this.debouncedLoadData),this.field.addEventListener("keydown",this.keyHandler),this.list.addEventListener("click",this.clickHandler),this.dropdown.addEventListener("dropdown:afterhide",this.hideHandler)}destroy(){this._reset(),this.field.removeEventListener("focus",this.debouncedLoadData),this.field.removeEventListener("input",this.debouncedLoadData),this.field.removeEventListener("keydown",this.keyHandler),this.list.removeEventListener("click",this.clickHandler),this.dropdown.removeEventListener("dropdown:afterhide",this.hideHandler)}_keyHandler(e){"Enter"===e.key&&(e.preventDefault(),this.field.blur())}_clickHandler(e){if(this._clicked)return;this._clicked=!0;let t=e.target.closest("[data-item]");if(t)try{let e=JSON.parse(t.dataset.item);this.onSelect(e)}catch(e){console.error("Error parsing JSON")}else console.log("Empty data-item")}_hideHandler(){if(this._clicked){this._clicked=!1;return}if(!this.data||!this.data.length)return void this._reset();this._loadingState(),this.onSelect(this.data[0])}_loadingState(){x.lib.render(this.list,this.loadingStateHtml)}_emptyState(){x.lib.render(this.list,this.emptyStateHtml)}_defaultState(){x.lib.render(this.list,this.defaultStateHtml)}_reset(){this.resetFunc(),this.data=null,this._defaultState()}async _loadData(){if(this.field?.value=="")return void this._reset();this._loadingState();try{this._currentLoadId=Date.now();let e=this._currentLoadId;if(this.data=await this.loadData(this),e!==this._currentLoadId)return;this.data=this.mapData(this.data),this.render()}catch(e){this._reset(),console.error("Data loading error:",e)}}async render(){if(!this.data)return void this._reset();if(!this.data.length)return void this._emptyState();let e=this.data.map(this.renderItem).join("");x.lib.render(this.list,e)}}e.exports.autocomplete=new s}),parcelRegister("1AMEo",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.scroll=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.parent=window,this.offset=0,this.classActive="active",this.hash=!1,this.to=this.scrollTo,this._linksHash={},this._scrollHandlers=new Map,this._initialized=!1}init(){this._initialized&&this.destroy();let e=s.lib.qsa("[x-scrollto]");if(e.length){for(let t of(this._linksHash={},e))try{let e={},i=t.getAttribute("x-scrollto");if(s.lib.isValidJSON(i)){let n=JSON.parse(i);if(n.hasOwnProperty("target")&&s.lib.qs(n.target))e.link=t,e.parent=n.parent||this.parent,e.target=s.lib.qs(n.target),e.offset=n.offset||this.offset,e.classActive=n.classActive||this.classActive,e.hash=n.hash??this.hash;else{console.error("Target required in JSON or element does not exist:",n);continue}}else if(s.lib.qs(i))e.link=t,e.parent=this.parent,e.target=s.lib.qs(i),e.offset=this.offset,e.classActive=this.classActive,e.hash=this.hash;else{console.error(`Target "${i}" not found.`);continue}if(e){let i=s.lib.makeId();this._linksHash[i]=e,t.addEventListener("click",t=>{t.preventDefault(),this.scrollTo({parent:e.parent,target:e.target,offset:e.offset,classActive:e.classActive,hash:e.hash})})}}catch(e){console.error(e)}Object.keys(this._linksHash).length&&this._setupScrollObservers(),this._initialized=!0}}destroy(){for(let[e,t]of this._scrollHandlers.entries())e.removeEventListener("scroll",t);this._scrollHandlers.clear(),this._linksHash={},this._initialized=!1}async scrollTo(e){return new Promise(t=>{let i,n,o,r,l="string"==typeof e.parent?s.lib.qs(e.parent):e.parent||this.parent,a=e.offset||this.offset,d=e.hash??this.hash,c="object"!=typeof e||e instanceof Element?s.lib.qs(e):s.lib.qs(e.target);if(!c){console.error("Target not found:",e.target||e),t();return}l===window?r=(i=(n=window.pageYOffset)+c.getBoundingClientRect().top)-n-a:(n=l.scrollTop,o=l.getBoundingClientRect().top,r=(i=n+c.getBoundingClientRect().top-o)-n-a),l.scrollTo({top:n+r,left:0,behavior:"smooth"}),setTimeout(t,400),d&&c.id?s.lib.updateURL("#"+c.id):d&&history.replaceState({},document.title,window.location.href.split("#")[0])})}_setupScrollObservers(){let e=new Set;for(let t in this._linksHash)e.add(this._linksHash[t].parent);for(let t of e){let e=t===window?window:s.lib.qs(t);if(!e)continue;let i=()=>{this._scrollObserve()};e.addEventListener("scroll",i,{passive:!0}),this._scrollHandlers.set(e,i)}this._scrollObserve()}_scrollObserve(){Object.keys(this._linksHash).forEach(e=>{let t=this._linksHash[e],s=t.target.getBoundingClientRect(),i=document.documentElement.clientHeight/4;s.top<=i&&s.bottom>i?null!=t.classActive&&(t.link.classList.add(t.classActive),t.target.classList.add(t.classActive)):null!=t.classActive&&(t.link.classList.remove(t.classActive),t.target.classList.remove(t.classActive))})}}e.exports.scroll=new i}),parcelRegister("iXXci",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.hover=i;var s=parcelRequire("dTNnT");function i(){document.addEventListener("mouseenter",n,!0),document.addEventListener("mouseleave",o,!0)}function n(e){r(e,!0)}function o(e){r(e,!1)}function r(e,t){let i=e.target instanceof Element?e.target.closest("[x-hover]"):null;if(!i)return;let n=i.getAttribute("href");if(n)for(let e of s.lib.qsa(`[href="${CSS.escape(n)}"]`))e.classList.toggle("hover",t)}}),parcelRegister("iMG9j",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.device=e.exports.Device=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.js=!0,this.os="unknown",this.browser="unknown",this.device=null,this.mobile=!1,this.touch=!1,this.width=window.innerWidth,this.height=window.innerHeight,this.breakpoint=this._getBreakpointName(this.width),this.size=this._getSizeFlags(this.breakpoint),this._html=document.documentElement,this._onResize=this._onResize.bind(this),this._debouncedResize=s.lib.debounce(this._onResize,200),this._initialized=!1}init(){this._initialized&&this._cleanup(),this._detect(),this._applyHtmlClasses(),window.addEventListener("resize",this._debouncedResize),this._initialized=!0}_cleanup(){window.removeEventListener("resize",this._debouncedResize),["js","windows","macos","ios","android","linux","unknown","chrome","firefox","safari","opera","edge","iphone","ipad","android","mobile","desktop","touch"].forEach(e=>{this._html.classList.remove(e)}),this._initialized=!1}_getBreakpointName(e){return e>=1400?"xl":e>=1e3?"l":e>=600?"m":"s"}_getSizeFlags(e){return{s:"s"===e,m:"m"===e,l:"l"===e,xl:"xl"===e}}_onResize(){let e=this.breakpoint;this.width=window.innerWidth,this.height=window.innerHeight;let t=this._getBreakpointName(this.width);if(e!==t){this.breakpoint=t,this.size=this._getSizeFlags(t);let s=new CustomEvent("breakpointchange",{detail:{prev:e,current:t,width:this.width,height:this.height}});window.dispatchEvent(s)}else this.breakpoint=t,this.size=this._getSizeFlags(t)}_detect(){let e=window.navigator.userAgent.toLowerCase();this.mobile=/mobile/.test(e);let t={win:"windows",linux:"linux",iphone:"ios",ipad:"ios",ipod:"ios",mac:"macos",android:"android"},s=Object.keys(t).find(t=>e.includes(t));this.os=s?t[s]:"unknown",/firefox/.test(e)?this.browser="firefox":/opr\//.test(e)||/opera/.test(e)?this.browser="opera":/edg\//.test(e)?this.browser="edge":!/chrome/.test(e)||/edg\//.test(e)||/opr\//.test(e)?!/safari/.test(e)||/chrome/.test(e)||/edg\//.test(e)?this.browser="unknown":this.browser="safari":this.browser="chrome",/ipad/.test(e)?this.device="ipad":/iphone/.test(e)?this.device="iphone":/android/.test(e)?this.device="android":/mac/.test(e)?this.device="mac":this.device="computer",this.touch=window.matchMedia&&window.matchMedia("(pointer: coarse)").matches}_applyHtmlClasses(){["js",this.os,this.browser,this.device,this.mobile?"mobile":"desktop",this.touch?"touch":null].filter(Boolean).forEach(e=>this._html.classList.add(e))}}e.exports.Device=i,e.exports.device=new i}),parcelRegister("bwKX7",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.form=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.listen=Object.freeze({update:new Set})}getEventType(e){if(e.isContentEditable)return"input";let t=e.tagName.toLowerCase();if("input"===t||"textarea"===t)return"input";if("select"===t)return"change";throw Error(`Unsupported element <${t}>`)}setChecked(e,t=!1){for(let i of s.lib.qsa(e)){if(!i?.type||"checkbox"!==i.type&&"radio"!==i.type){console.error("setChecked: Not a checkbox/radio",i);continue}i.checked!==t&&(i.checked=t,i.dispatchEvent(new Event("input",{bubbles:!0})))}}setValue(e,t){for(let i of s.lib.qsa(e)){if(!i){console.error("setValue: Element not found",i);continue}if(i.isContentEditable)i.innerText=t;else{let e=i.tagName.toLowerCase(),s=i.type;if("input"===e)"checkbox"===s||"radio"===s?i.checked=!!t:i.value=t;else if("textarea"===e||"select"===e)i.value=t;else throw Error(`setValue: Unsupported element <${e}>`)}i.dispatchEvent(new Event(this.getEventType(i),{bubbles:!0}))}}onUpdate(e,t){for(let i of s.lib.qsa(e)){if(!i){console.error("onUpdate: Element not found",i);continue}this.listen.update.has(i)||(i.addEventListener(this.getEventType(i),()=>t(i)),this.listen.update.add(i))}}offUpdate(e){for(let t of s.lib.qsa(e))t&&this.listen.update.has(t)&&(console.warn("offUpdate: Cannot fully remove listener because anonymous functions were used."),this.listen.update.delete(t))}update(e){for(let t of s.lib.qsa(e)){if(!t){console.error("update: Element not found",t);continue}t.dispatchEvent(new Event(this.getEventType(t),{bubbles:!0}))}}}e.exports.form=new i}),parcelRegister("azm1L",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.sticky=void 0;var s=parcelRequire("dTNnT");class i{constructor(){this.activeClass="sticky_on",this.rootMargin="-1px 0px 0px 0px",this._observer=new IntersectionObserver(e=>{for(let t of e)this._handleEntry(t)},{threshold:1,rootMargin:this.rootMargin}),this._initialized=!1}_handleEntry(e){let t=e.intersectionRatio<1,i=e.target,n=i.classList.contains(this.activeClass);s.lib.switchClass(i,this.activeClass,t),t&&!n&&i.dispatchEvent(new CustomEvent("sticky:on",{bubbles:!0})),!t&&n&&i.dispatchEvent(new CustomEvent("sticky:off",{bubbles:!0}))}init(){for(let e of(this._initialized&&this.reset(),s.lib.qsa(".sticky")))e.dataset.stickyObserved||(this._observer.observe(e),e.dataset.stickyObserved="true");this._initialized=!0}reset(){for(let e of s.lib.qsa(".sticky"))e.dataset.stickyObserved&&(document.body.contains(e)&&this._observer.unobserve(e),delete e.dataset.stickyObserved)}destroy(){this._observer.disconnect(),this._initialized=!1}}e.exports.sticky=new i}),parcelRegister("9PwSp",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.slider=e.exports.Slider=void 0;class s{constructor(){this.sliders=[],this.instances=new Map,this.io=null,this.mo=null}init(){this.observeSliders(),this.mo=new MutationObserver(e=>{for(let t of e)t.addedNodes.forEach(e=>{1===e.nodeType&&e.hasAttribute?.("x-slider")&&this.io.observe(e),1===e.nodeType&&e.querySelectorAll?.("[x-slider]")?.forEach(e=>this.io.observe(e))})}),this.mo.observe(document.body,{childList:!0,subtree:!0})}destroy(){this.instances.forEach((e,t)=>{let s=e.listenerTarget||e.wrapper||t;e.touch?(s.removeEventListener("touchstart",e.events.touchstart,!0),s.removeEventListener("touchmove",e.events.touchmove,!0),s.removeEventListener("touchend",e.events.touchend,!0),s.removeEventListener("touchcancel",e.events.touchcancel,!0)):(t.removeEventListener("mousemove",e.events.mousemove),e.events.mouseout&&t.removeEventListener("mouseleave",e.events.mouseout),e.events.mouseenter&&t.removeEventListener("mouseenter",e.events.mouseenter),e.events.resize&&(window.removeEventListener("resize",e.events.resize),window.removeEventListener("orientationchange",e.events.resize)))}),this.io&&this.io.disconnect(),this.mo&&this.mo.disconnect(),this.instances.clear()}observeSliders(){this.sliders=document.querySelectorAll("[x-slider]"),this.io=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&!this.instances.has(e.target)&&this.initSlider(e.target)})},{rootMargin:"60px 0px 60px 0px",threshold:0}),this.sliders.forEach(e=>this.io.observe(e))}initSlider(e){let t=[...e.children].map(e=>e.cloneNode(!0));if(!t.length)return;e.classList.add("slider"),e.style.overflow="hidden",e.style.touchAction="pan-y",e.style.overscrollBehavior="contain";let s=0,i=!0,n=!0,o=!0;try{let t=e.getAttribute("x-slider");if(t){let e=JSON.parse(t);"gap"in e&&(s=Number(e.gap)||0),"rubber"in e&&(i=!!e.rubber),"resetOnMouseout"in e&&(n=!!e.resetOnMouseout),"touch"in e&&(o=!!e.touch)}}catch(e){console.warn("Invalid x-slider JSON",e)}let r=document.createElement("div");r.className="slider-wrapper",r.style.gap=s+"px",e.innerHTML="",t.forEach((e,t)=>{e.classList.add("slider-item");let s=e.querySelector("img");s&&0===t&&(s.dataset.srcset&&(s.srcset=s.dataset.srcset,s.removeAttribute("data-srcset")),s.dataset.src&&(s.src=s.dataset.src,s.removeAttribute("data-src")),s.setAttribute("loading","eager")),r.appendChild(e)}),e.appendChild(r);let l="ontouchstart"in window,a=[];if(t.length>1&&(!l||o)){let s=document.createElement("div");s.className="slider-indicators",t.forEach((e,t)=>{let i=document.createElement("span");0===t&&i.classList.add("active"),s.appendChild(i)}),e.appendChild(s),a=[...s.querySelectorAll("span")]}let d=t;l&&!o&&d[0].classList.add("active");let c=0,h=/iP(ad|hone|od)/.test(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,u=()=>d[0].offsetWidth+s,p=(e,t=!1)=>{let s=Math.max(0,Math.min(e,d.length-1)),i=u();c=s,r.style.transition=t?"none":"transform 0.25s",r.style.transform=`translateX(${-c*i}px)`,a.length&&a.forEach((e,t)=>e.classList.toggle("active",t===c)),t||r.addEventListener("transitionend",()=>{r.style.transition="none",h&&(r.style.pointerEvents="none",requestAnimationFrame(()=>{r.offsetWidth,r.style.pointerEvents="auto"}))},{once:!0})};p(0,!0);let m={},v=!1,f=null,b=()=>{v||(v=!0,d.forEach((t,s)=>{let i=t.querySelector("img");i&&0!==s&&(i.dataset.srcset&&(i.srcset=i.dataset.srcset,i.removeAttribute("data-srcset")),i.dataset.src&&(i.src=i.dataset.src,i.removeAttribute("data-src")),l||i.complete&&0!==i.naturalWidth||i.addEventListener("load",()=>{if(null!=f){let t=e.getBoundingClientRect(),i=e.offsetWidth;Math.floor((f-t.left)/i*d.length)===s&&p(s,!0)}},{once:!0}))}))};if(d.length>1)if(l){let t=0,s=0,n=!1,o=null,l=(e,t)=>[...e].find(e=>e.identifier===t)||null,a=()=>{b(),e.removeEventListener("touchstart",a)};e.addEventListener("touchstart",a,{passive:!1,capture:!0}),m.touchstart=e=>{let i=e.changedTouches[0];o=i.identifier,t=i.clientX,s=i.clientY,n=!0,r.style.transition="none"},m.touchmove=e=>{if(!n||null==o)return;let a=l(e.touches,o);if(!a)return;let h=a.clientX-t;if(Math.abs(a.clientY-s)>Math.abs(h))return;e.cancelable&&e.preventDefault();let p=u(),m=h;0===c&&h>0&&(m=i?.15*h:0),c===d.length-1&&h<0&&(m=i?.15*h:0),r.style.transform=`translateX(${-c*p+m}px)`},m.touchend=e=>{if(!n)return;n=!1;let i=l(e.changedTouches,o)||e.changedTouches[0];o=null;let r=i.clientX-t,a=i.clientY-s,h=.1*u();if(Math.abs(a)>Math.abs(r)||0===c&&r>0||c===d.length-1&&r<0)return void p(c);r>h&&c>0?p(c-1):r<-h&&c<d.length-1?p(c+1):p(c)},m.touchcancel=()=>{n=!1,o=null,p(c)},e.addEventListener("touchstart",m.touchstart,{passive:!1,capture:!0}),e.addEventListener("touchmove",m.touchmove,{passive:!1,capture:!0}),e.addEventListener("touchend",m.touchend,{capture:!0}),e.addEventListener("touchcancel",m.touchcancel,{capture:!0})}else{let t=s=>{f=s.clientX,b(),e.removeEventListener("mouseenter",t)};e.addEventListener("mouseenter",t),m.mousemove=t=>{f=t.clientX;let s=e.getBoundingClientRect(),i=e.offsetWidth;if(i<=0)return;let n=t.clientX-s.left;n<0?n=0:n>=i&&(n=i-1e-7);let o=Math.floor(n/i*d.length),r=d[o].querySelector("img");o!==c&&(!r||r.complete||r.naturalWidth>0)&&p(o,!0)},e.addEventListener("mousemove",m.mousemove),e.addEventListener("mouseenter",e=>m.mousemove(e)),n&&(m.mouseout=()=>p(0,!0),e.addEventListener("mouseleave",m.mouseout))}let w=()=>{let e=u();r.style.transition="none",r.style.transform=`translateX(${-c*e}px)`};window.addEventListener("resize",w),window.addEventListener("orientationchange",w),m.resize=w,this.instances.set(e,{wrapper:r,slides:d,events:m,touch:l,listenerTarget:e})}}e.exports.Slider=s,e.exports.slider=new s}),parcelRequire("5vvBz")}();
|
package/index.html
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"functionName": "headerAnimation"
|
|
20
20
|
}'>
|
|
21
21
|
<header class="header flex aic sticky px5 m:px6 l:px8 unselectable">
|
|
22
|
-
<div class="header-version nowrap">0.3.
|
|
22
|
+
<div class="header-version nowrap">0.3.80</div>
|
|
23
23
|
<div class="header-logo mxa">
|
|
24
24
|
<a role="button" x-scrollto="#top">
|
|
25
25
|
<img src="assets/logo.png" alt="x" />
|
package/package.json
CHANGED