PageSourceSearch

https://esim.holafly.com/_astro/ShopLayout.astro_astro_type_script_index_0_lang.CCzBLTx0.js

js holafly.com collected 2026-09-24 08:44:29 UTC 3,263 bytes, 34 lines download raw bytes

1import{a as e}from"./rolldown-runtime.CNC7AqOf.js";import{H as t,g as n}from"./consts.BWX-LC8m.js";import{i as r,l as i,n as a}from"./cdn.D7ycv-QL.js";import{i as o}from"./locales.Dp3Q_ff1.js";import{n as s,t as c}from"./i18n.zvkYW_2V.js";import{t as l}from"./debounce.CJXHfswH.js";function u(e){let{flag:t,name:n,permalink:r,subtitle:a=`eSIM`,title:o,isCity:s=!1,cardSize:c=`xl`}=e,l=`card-flag card-flag--${c} ${s?`card-flag--city`:``}`,u=`card-flag__flag ${s?`card-flag__flag--city`:``}`,d=![`sm`,`s`,`selector-currency`].includes(c),f=i(`destination/wave_button.svg`);return`
2    <a href="${r}" class="card-flag__link" title="${o}">
3      <div class="${l}">
4        <div class="card-flag__flag-content">
5          <img
6            class="${u}"
7            width="129"
8            height="129"
9            src="${t}"
10            alt="esim ${n}"
11            loading="lazy"
12          />
13        </div>
14        <div class="card-flag__info-content">
15          <h3>
16            ${a?`<span class="card-flag__subtitle">${a}</span>`:``}
17            <span class="card-flag__title">${n}</span>
18          </h3>
19        </div>
20        ${d?`<div class="card-flag__wave-button">
21                <img width="180" height="40" src="${f}" alt="Wave button" loading="lazy" fetchpriority="low" />
22              </div>`:``}
23      </div>
24    </a>
25  `}function d(){return new URLSearchParams(globalThis.location.search).get(`s`)}function f(){let e=sessionStorage.getItem(t.SEARCH_QUERY_PAGE.key);if(!e||e===`[]`)return null;try{let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:null}catch{return null}}function p(e){let{slotContent:t,noResultsDiv:n,searchResultsContainer:r}=e;t&&(t.style.display=``),n&&(n.style.display=`none`),r&&(r.innerHTML=``)}function m(){return o(document.documentElement.lang)?.urlCode??n}function h(e){return`<li class="h-full xl:min-h-0 lg:min-h-[135px]">${u({flag:e.isCity?a(`public/icons/destination/city-icon.svg`):r(e.sku),name:e.name,permalink:e.permalink,subtitle:`eSIM`,title:e.name,isCity:e.isCity,cardSize:`xl`})}</li>`}async function g(e,t){let n=m(),r=e.map(h).join(``);t.innerHTML=`
26    <div class="mb-4">
27      <p class="text-(--text-secondary) text-sm font-bold uppercase">
28        ${s({key:`search.search_result_placeholder`,ns:c.UI_COMPONENTS,language:n,params:{value:e.length}})}
29      </p>
30    </div>
31    <ul class="grid items-stretch md:gap-6 sm:gap-4 gap-2 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3">
32      ${r}
33    </ul>
34  `}async function _(){let e=d(),t={searchResultsContainer:document.getElementById(`search-results-container`),noResultsDiv:document.getElementById(`search-query-no-results`),slotContent:document.getElementById(`slot-content`)};if(!e){p(t);return}if(!t.searchResultsContainer)return;let n=f();if(!n){p(t);return}t.slotContent&&(t.slotContent.style.display=`none`),t.noResultsDiv&&(t.noResultsDiv.style.display=`none`),await g(n,t.searchResultsContainer)}var v=e(l(),1);(()=>{let e=document.getElementById(`shop-nav-buttons`);if(!e)return;let t=e.offsetTop-88;function n(){e.classList.toggle(`shop-page__nav--scrolled`,window.scrollY>=t)}window.addEventListener(`scroll`,n,{passive:!0}),n()})();var y=(0,v.default)(_,150);_(),window.addEventListener(`searchCleared`,_),window.addEventListener(`popstate`,y);

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.