PageSourceSearch

https://lektormilky.cz/build/assets/navbar-DMnptnoF.js

js lektormilky.cz collected 2026-10-02 15:57:28 UTC 11,325 bytes, 11 lines download raw bytes

1import{i as S}from"./lucide-icons-BbFicJj0.js";import"./lucide-C63VmYQq.js";document.addEventListener("DOMContentLoaded",()=>{S();const c=document.getElementById("actions-menu"),f=document.getElementById("scroll-indicator"),u=document.getElementById("ip-top-widget"),B=document.getElementById("ip-bottom-widget"),a=document.getElementById("ip-subcards"),b=document.getElementById("ip-search"),m=document.getElementById("ip-modal-overlay"),v=document.getElementById("ip-modal-body"),D=document.getElementById("ip-modal-close"),y=document.getElementById("ip-widget-close"),T=document.getElementById("toggle-login"),$=document.getElementById("toggle-info"),L=document.getElementById("toggle-cart");if(!c)return;let E=window._activeSection??0;const w=()=>{if(!f)return;const e=f.getBoundingClientRect(),t=Math.max(8,e.top-c.offsetHeight-10),n=window.innerWidth-e.right;c.style.top=`${t}px`,c.style.right=`${n}px`};window.addEventListener("resize",w),setTimeout(w,0);let z=null,k=null;const A=()=>{z&&k&&(z.removeEventListener("scroll",k),z=null,k=null)},O=()=>{u?.classList.remove("open"),B?.classList.remove("open"),y?.classList.remove("open"),$?.setAttribute("aria-pressed","false"),f?.classList.remove("expanded"),a&&(a.innerHTML=""),b&&(b.value="",M()),C(),A()},x=()=>{c.classList.remove("show-login","show-docs","show-info"),T?.setAttribute("aria-expanded","false"),O()},R=(e,t,n=null)=>o=>{o.stopPropagation();const s=!c.classList.contains(t);x(),s&&(c.classList.add(t),n?.()),e?.setAttribute("aria-expanded",s?"true":"false"),w()};T?.addEventListener("click",R(T,"show-login")),L?.addEventListener("click",()=>O()),document.addEventListener("click",e=>{e.target.closest(".ribbon-btn")&&O()},!0),$?.addEventListener("click",e=>{e.stopPropagation();const t=!u?.classList.contains("open");x(),t&&(c.classList.add("show-info"),f?.classList.add("expanded"),u?.classList.add("open"),B?.classList.add("open"),y?.classList.add("open"),$?.setAttribute("aria-pressed","true"),j(E)),w()}),document.addEventListener("click",e=>{if(r){r=!1;return}const t=c?.contains(e.target)||u?.contains(e.target)||B?.contains(e.target)||p?.contains(e.target)||m?.contains(e.target)||f?.contains(e.target)||y?.contains(e.target)||e.target.closest(".inline-menu"),n=e.target.closest("#toggle-login")||e.target.closest("#toggle-info")||e.target.closest("#toggle-cart");!t&&!n&&x()}),document.addEventListener("keydown",e=>{e.key==="Escape"&&(P(),x())}),L&&(window.updateCartIcon=function(e=null){let t=0;if(typeof e=="number")t=e;else{try{const n=JSON.parse(sessionStorage.getItem("cart")||"{}");n?.count&&(t=n.count)}catch{}!t&&L.dataset.count&&(t=parseInt(L.dataset.count)||0)}L.classList.toggle("cart-has-items",t>0)},updateCartIcon(),window.addEventListener("storage",updateCartIcon),window.addEventListener("cart:updated",e=>updateCartIcon(e?.detail?.count??null)));const H={0:[{label:"Průvodce",icon:"book",target:"#card1"},{label:"Aplikace",icon:"smartphone",target:"#card2"},{label:"Lekce",icon:"book-open",target:"#card3"},{label:"Ceník",icon:"tag",tab:"cenik"},{label:"Kontakt",icon:"phone",target:"#card6"},{label:"Rezervovat",icon:"calendar-plus",tab:"rezervovat"}],1:[{label:"Obálka",icon:"book",slider:"book-horizontal",index:0},{label:"Parametry",icon:"list",slider:"book-horizontal",index:1},{label:"Přínosy",icon:"zap",slider:"book-horizontal",index:2},{label:"Ke stažení",icon:"download",slider:"book-horizontal",index:3},{label:"Recenze",icon:"star",slider:"book-horizontal",index:4}],2:[{label:"Kvízy",icon:"smartphone",slider:"app-horizontal",index:0},{label:"Flashcards",icon:"layers",slider:"app-horizontal",index:1}],3:[{label:"Začátečníci",icon:"smile",slider:"lessons-reg-horizontal",index:0},{label:"Pokročilí",icon:"zap",slider:"lessons-reg-horizontal",index:1},{label:"Konverzace",icon:"mic",slider:"lessons-reg-horizontal",index:2}],4:[{label:"Firemní",icon:"briefcase",slider:"lessons-biz-horizontal",index:0},{label:"Prezentační",icon:"presentation",slider:"lessons-biz-horizontal",index:1}],5:[{label:"Konzultace",icon:"message-circle",slider:"consultations-horizontal",index:0}],6:[{label:"Kontakt",icon:"phone",slider:"contact-horizontal",index:0},{label:"Sociální sítě",icon:"instagram",slider:"contact-horizontal",index:1}],7:[{label:"Přehled",icon:"info",slider:"info-horizontal",index:0},{label:"Lektor Milky",icon:"user",slider:"info-horizontal",index:1},{label:"Zásilkovna",icon:"package",slider:"info-horizontal",index:2},{label:"ComGate",icon:"credit-card",slider:"info-horizontal",index:3},{label:"FakaHeda",icon:"server",slider:"info-horizontal",index:4},{label:"Dokumenty",icon:"file-text",slider:"info-horizontal",index:5}]},W=e=>{const t=document.getElementById(e);return t?Math.round(t.scrollLeft/t.clientWidth):0},F=e=>{a&&a.querySelectorAll(".ip-tile").forEach(t=>{const n=parseInt(t.dataset.index??"-1",10);t.classList.toggle("active",n===e)})},_=e=>{A();const t=document.getElementById(e);t&&(z=t,k=()=>{u?.classList.contains("open")&&F(Math.round(t.scrollLeft/t.clientWidth))},t.addEventListener("scroll",k,{passive:!0}))},j=e=>{if(!a)return;const t=H[e]||[];if(!t.length){a.innerHTML="";return}const n=t.find(i=>i.slider!==void 0),o=n?W(n.slider):-1,s=t.map(i=>{let d="";
1return i.slider!==void 0?d=`data-slider="${i.slider}" data-index="${i.index??0}"`:i.target?d=`data-target="${i.target}"`:i.tab&&(d=`data-tab-open="${i.tab}"`),`<button class="ip-tile${i.index!==void 0&&i.index===o?" active":""}" ${d}><i data-lucide="${i.icon}"></i><span>${i.label}</span><i data-lucide="eye" class="ip-tile-eye"></i></button>`}).join("");a.innerHTML=s,S(),n&&_(n.slider)};let r=!1;if(a){let e=!1,t=0,n=0;a.addEventListener("mousedown",o=>{o.preventDefault(),e=!0,r=!1,t=o.clientX,n=a.scrollLeft,a.style.scrollSnapType="none",a.style.cursor="grabbing"}),document.addEventListener("mousemove",o=>{if(!e)return;const s=o.clientX-t;Math.abs(s)>5&&(r=!0),a.scrollLeft=n-s}),document.addEventListener("mouseup",()=>{e&&(e=!1,a.style.scrollSnapType="",a.style.cursor="",r&&setTimeout(()=>{r=!1},0))})}a?.addEventListener("click",e=>{if(r){r=!1;return}const t=e.target.closest(".ip-tile");if(t)if(t.dataset.slider!==void 0&&t.dataset.slider!==""){const n=document.getElementById(t.dataset.slider);if(n){const o=parseInt(t.dataset.index||"0",10);n.scrollTo({left:o*n.clientWidth,behavior:"smooth"})}}else if(t.dataset.target){const n=document.querySelector(t.dataset.target);if(n){const o=n.closest(".snap-container");if(o){const s=o.scrollTop+n.getBoundingClientRect().top-o.getBoundingClientRect().top;o.scrollTo({top:s,behavior:"smooth"})}else n.scrollIntoView({behavior:"smooth"})}}else t.dataset.tabOpen&&I(t.dataset.tabOpen)});const N=()=>window.infoPanelContent?.providers??'<p class="ip-body-hint">Obsah není k dispozici.</p>',I=e=>{if(!m||!v)return;const t=e==="kontakt"?N():window.infoPanelContent?.[e]??'<p class="ip-body-hint">Obsah není k dispozici.</p>';v.innerHTML=t,S(),m.classList.add("open")},P=()=>{m?.classList.remove("open"),setTimeout(()=>{v&&(v.innerHTML="")},280)};D?.addEventListener("click",P),y?.addEventListener("click",e=>{e.stopPropagation(),x()}),v?.addEventListener("submit",async e=>{const t=e.target.closest("#ip-lead-form");if(!t)return;e.preventDefault();const n=t.querySelector(".ip-form-submit"),o=t.querySelector(".ip-form-status");n.disabled=!0,n.textContent="Odesílám…";try{const s=await fetch("/lesson-lead",{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-TOKEN":document.querySelector('meta[name="csrf-token"]')?.content??"",Accept:"application/json"},body:JSON.stringify(Object.fromEntries(new FormData(t)))}),i=await s.json();if(s.ok&&i.ok)t.innerHTML=`<p class="ip-form-success-msg">${i.message}</p>`;else{const d=i.errors?Object.values(i.errors).flat().join(" "):i.message||"Chyba — zkuste to znovu.";o.textContent=d,n.disabled=!1,n.textContent="Odeslat"}}catch{o.textContent="Chyba připojení — zkuste to znovu.",n.disabled=!1,n.textContent="Odeslat"}}),m?.addEventListener("click",e=>{e.target===m&&P()}),u?.addEventListener("click",e=>{const t=e.target.closest(".ip-ql");!t||!t.dataset.tab||(e.stopPropagation(),I(t.dataset.tab))});const p=document.getElementById("ip-suggestions"),M=()=>{document.querySelectorAll(".ip-ql.has-match").forEach(e=>e.classList.remove("has-match"))},K={0:"Úvod",1:"Průvodce",2:"Aplikace",3:"Lekce – Ind.",4:"Lekce – Biz.",5:"Konzultace",6:"Kontakt",7:"Informace"},V=[{id:"cenik",label:"Ceník",icon:"tag"},{id:"jak",label:"Jak funguje",icon:"route"},{id:"faq",label:"FAQ",icon:"circle-help"},{id:"recenze",label:"Recenze",icon:"star"},{id:"dokumenty",label:"Dokumenty",icon:"file-text"},{id:"kontakt",label:"Kontakt",icon:"phone"}];let h=null;const X=()=>h||(h=[],V.forEach(e=>{const t=e.id==="kontakt"?"providers":e.id,n=window.infoPanelContent?.[t]??"",o=document.createElement("div");o.innerHTML=n,h.push({kind:"tab",id:e.id,label:e.label,icon:e.icon,text:(e.label+" "+o.textContent).toLowerCase()})}),Object.entries(H).forEach(([e,t])=>{t.forEach(n=>{h.push({kind:n.slider?"slider":n.target?"target":"tab-open",label:n.label,icon:n.icon,context:K[e]||"",slider:n.slider,index:n.index,target:n.target,tabOpen:n.tab,text:(n.label+" "+(K[e]||"")).toLowerCase()})})}),h),C=()=>{p&&(p.hidden=!0)},J=e=>{M();const t=e.trim().toLowerCase();if(!t){C();return}const n=X().filter(o=>o.text.includes(t)).slice(0,8);if(!n.length){C();return}p&&(p.innerHTML=n.map(o=>{const s=o.context?`<span class="ip-sug-ctx">${o.context}</span>`:"";return`<button class="ip-suggestion"
2          data-kind="${o.kind}"
3          data-id="${o.id??""}"
4          data-slider="${o.slider??""}"
5          data-index="${o.index??""}"
6          data-target="${o.target??""}"
7          data-tab-open="${o.tabOpen??""}">
8          <i data-lucide="${o.icon}"></i>
9          <span class="ip-sug-label">${o.label}</span>
10          ${s}
11        </button>`}).join(""),S(),p.hidden=!1),window.infoPanelContent&&Object.entries(window.infoPanelContent).forEach(([o,s])=>{const i=document.createElement("div");i.innerHTML=s,i.textContent.toLowerCase().includes(t)&&document.querySelector(`.ip-ql[data-tab="${o}"]`)?.classList.add("has-match")})};p?.addEventListener("click",e=>{const t=e.target.closest(".ip-suggestion");if(!t)return;const{kind:n,id:o,slider:s,index:i,target:d,tabOpen:q}=t.dataset;if(n==="tab")I(o);else if(n==="tab-open")I(q);else if(n==="slider"){const l=document.getElementById(s);if(l){const g=l.closest("section[data-index]");g?(g.scrollIntoView({behavior:"smooth"}),setTimeout(()=>{l.scrollTo({left:parseInt(i||"0",10)*l.clientWidth,behavior:"smooth"})},450)):l.scrollTo({left:parseInt(i||"0",10)*l.clientWidth,behavior:"smooth"})}}else if(n==="target"){const l=document.querySelector(d);if(l){const g=l.closest(".snap-container");g?g.scrollTo({top:g.scrollTop+l.getBoundingClientRect().top-g.getBoundingClientRect().top,behavior:"smooth"}):l.scrollIntoView({behavior:"smooth"})}}b&&(b.value=""),C(),M()}),b?.addEventListener("input",()=>J(b.value)),window.addEventListener("activeSectionChanged",e=>{E=e.detail.index,window._activeSection=E,u?.classList.contains("open")&&j(E)}),f?.querySelectorAll("a").forEach(e=>{e.addEventListener("click",t=>{t.preventDefault();const n=e.getAttribute("href")?.replace("#",""),o=n&&document.getElementById(n);o&&o.scrollIntoView({behavior:"smooth"})})})});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.