1"use strict";(self.webpackChunklib=self.webpackChunklib||[]).push([[9572,9422],{19422:(t,e,r)=>{r.r(e),r.d(e,{default:()=>o});var a=r(62051);function i(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,a)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}a.ZP.use([a.W_,a.oM]);class o{constructor(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.container=t instanceof HTMLElement?t:document.querySelector(t),this.container&&(this.customOptions=e,this.slider=null,this._initSlider())}show(){this.container.classList.remove("is-hidden")}hide(){this.container.classList.add("is-hidden")}_initSlider(){this.slider=new a.ZP(this.container,function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?i(Object(r),!0).forEach((function(e){n(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({slidesPerView:"auto",spaceBetween:20,speed:400,autoplay:{delay:4e3},preloadImages:!1,lazy:{loadPrevNext:!0,loadPrevNextAmount:5},watchSlidesProgress:!0,loadOnTransitionStart:!0},this.customOptions)),"ar"!==travel.opts.lang&&"he"!==travel.opts.lang||this.container.setAttribute("dir","rtl")}slideTo(){this.slider.slideTo(...arguments)}}},69572:(t,e,r)=>{r.r(e),r.d(e,{default:()=>bt});var a=r(99495),i=r(6158),n=r.n(i);class o{static transformRequest(t,e){var r=t;return"Tile"===e&&-1!==t.indexOf("/tiles-data/map3/")?r=location.origin+t:"SpriteJSON"!==e&&"SpriteImage"!==e||-1===t.indexOf("/maps-data/mapboxgl/sprite")||(r=t.replace("https://",location.origin+"/")),{url:r}}}function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,a)}return r}function c(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?s(Object(r),!0).forEach((function(e){l(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function p(t,e){!function(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t,e),e.add(t)}var u=new WeakSet;class h{constructor(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};p(this,u);var e={container:"mapbox",zoom:12,minZoom:1,maxZoom:20,coordinates:{lat:travel.opts.map_params.lat,lng:travel.opts.map_params.long},control:travel.opts.isRtl?"top-left":"top-right",customAttribution:['<a href="https://www.openmaptiles.org/" target="_blank">© OpenMapTiles</a>'],style:"/map-styles/80/jupiter.json",bearing:0,transformRequest:o.transformRequest};this.mapParams=c(c({},e),t)}init(){var t=c({navigation:!0,navigationOptions:{showCompass:!0,visualizePitch:!0,showZoom:!0}},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});this.map=new(n().Map)(this.mapParams),t.navigation&&this.map.addControl(new(n().NavigationControl)(t.navigationOptions),this.mapParams.control)}createMarker(t,e,r){e.dataset.id=t,e.classList.add("js-marker");var a=new(n().Marker)(e).setLngLat(r);return a.markerID=t.toString(),a}createClusterCountFeature(t,e){return new(n().Marker)(t).setLngLat(e)}addMarkerToMap(t){return t.addTo(this.map),t}createPopup(t,e){return new(n().Popup)(t).setDOMContent(e)}on(){this.map.on(...arguments)}getZoom(){return this.map.getZoom(...arguments)}flyTo(t){return this.map.flyTo(t)}easeTo(t){return this.map.easeTo(t)}fitBoundsToMarkersList(t){var e=new(n().LngLatBounds);t.forEach((t=>e.extend(t.coordinates))),this.map.fitBounds(e,{animate:!1,padding:travel.isMobile()?35:100})}autoPanPopup(t){if(!(t._container.classList.contains("mapboxgl-popup-anchor-bottom")||t._container.classList.contains("mapboxgl-popup-anchor-bottom-left")||t._container.classList.contains("mapboxgl-popup-anchor-bottom-right"))){var e=[0,0],r=this.map.project(t._lngLat),a=t._container.clientWidth,i=t._container.clientHeight,n=t._container.getBoundingClientRect(),o=t._container.parentElement.getBoundingClientRect();(n.left<0||o.width-n.left-a<0)&&(e[0]=r.x-o.width/2),(n.top<0||o.height-n.top-i<0)&&(e[1]=r.y-(o.height-n.height)/2),e!==[0,0]&&this.map.panBy(e)}}
1addTransparentClusters(t){this.map.isStyleLoaded()&&function(t,e,r){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return r}(this,u,d).call(this,t),this.map.on("load",(()=>{this.map.addSource("hotels",{type:"geojson",data:{type:"FeatureCollection",features:t},cluster:!0,clusterMaxZoom:14,clusterRadius:50}),this.map.addLayer({id:"clusters",type:"circle",source:"hotels",filter:["has","point_count"],paint:{"circle-color":"transparent","circle-radius":40}}),this.map.addLayer({id:"cluster-count",type:"symbol",source:"hotels",filter:["has","point_count"],layout:{"text-field":"{point_count_abbreviated}","text-font":["Montserrat Semibold","Roboto Regular","Noto Sans Regular"],"text-size":16},paint:{"text-color":"transparent"}}),this.map.addLayer({id:"unclustered-point",type:"circle",source:"hotels",filter:["!",["has","point_count"]],paint:{"circle-color":"transparent","circle-radius":2,"circle-stroke-width":1,"circle-stroke-color":"transparent"}})}))}removeTransparentClusters(){this.map.removeLayer("clusters"),this.map.removeLayer("cluster-count"),this.map.removeLayer("unclustered-point"),this.map.removeSource("hotels")}updateFeatureView(t,e){var r={},a={};this.map.on("render",(()=>{if(this.map.getSource("hotels")&&this.map.isSourceLoaded("hotels")){var i={},n=this.map.queryRenderedFeatures({source:["hotels"]}).filter((e=>e.layer.id===t));for(var o of n){var s=o.properties.id||o.id,c=r[s];c||(c=e(c,o,r)),i[s]=c,a[s]||this.addMarkerToMap(c)}for(var l in a)i[l]||a[l].remove();a=i}}))}initEventOnClusterCounts(){this.map.on("click","clusters",(t=>{var e=this.map.queryRenderedFeatures(t.point,{layers:["clusters"]}),r=e[0].properties.cluster_id;this.map.getSource("hotels").getClusterExpansionZoom(r,((t,r)=>{t||this.map.easeTo({center:e[0].geometry.coordinates,zoom:r})}))}))}}function d(t){this.map.addSource("hotels",{type:"geojson",data:{type:"FeatureCollection",features:t},cluster:!0,clusterMaxZoom:14,clusterRadius:50}),this.map.addLayer({id:"clusters",type:"circle",source:"hotels",filter:["has","point_count"],paint:{"circle-color":"transparent","circle-radius":40}}),this.map.addLayer({id:"cluster-count",type:"symbol",source:"hotels",filter:["has","point_count"],layout:{"text-field":"{point_count_abbreviated}","text-font":["Montserrat Semibold","Roboto Regular","Noto Sans Regular"],"text-size":16},paint:{"text-color":"transparent"}}),this.map.addLayer({id:"unclustered-point",type:"circle",source:"hotels",filter:["!",["has","point_count"]],paint:{"circle-color":"transparent","circle-radius":2,"circle-stroke-width":1,"circle-stroke-color":"transparent"}})}var m=t=>({type:"Feature",geometry:{type:"Point",coordinates:[t.lng,t.lat]},properties:{id:t.id}});function f(t,e,r,a,i,n,o){try{var s=t[n](o),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(a,i)}function v(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,a)}return r}function g(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?v(Object(r),!0).forEach((function(e){w(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function w(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function b(t,e){O(t,e),e.add(t)}function y(t,e,r){O(t,e),e.set(t,r)}function O(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function k(t,e,r){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return r}function P(t,e){return function(t,e){if(e.get)return e.get.call(t);return e.value}(t,_(t,e,"get"))}function j(t,e,r){return function(t,e,r){if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}(t,_(t,e,"set"),r),r}function _(t,e,r){if(!e.has(t))throw new TypeError("attempted to "+r+" private field on non-instance");return e.get(t)}var S=new WeakMap,T=new WeakMap,M=new WeakMap,L=new WeakMap,x=new WeakMap,E=new WeakMap,C=new WeakMap,W=new WeakMap,D=new WeakMap,z=new WeakMap,R=new WeakSet,A=ne
1w WeakSet,Z=new WeakSet,B=new WeakSet,F=new WeakSet,q=new WeakSet,H=new WeakSet,I=new WeakSet,N=new WeakSet,V=new WeakSet,$=new WeakSet,J=new WeakSet,K=new WeakSet,U=new WeakSet;class G extends a.Z{constructor(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),b(this,U),b(this,K),b(this,J),b(this,$),b(this,V),b(this,N),b(this,I),b(this,H),b(this,q),b(this,F),b(this,B),b(this,Z),b(this,A),b(this,R),y(this,S,{writable:!0,value:null}),y(this,T,{writable:!0,value:{}}),y(this,M,{writable:!0,value:{}}),y(this,L,{writable:!0,value:[]}),y(this,x,{writable:!0,value:[]}),y(this,E,{writable:!0,value:!1}),y(this,C,{writable:!0,value:null}),y(this,W,{writable:!0,value:[]}),y(this,D,{writable:!0,value:[]}),y(this,z,{writable:!0,value:[]}),j(this,T,g({markersSizeZoom:12},t)),j(this,M,g({offset:20,closeButton:!1,maxWidth:"100%"},e)),j(this,S,new h(g({},P(this,T)))),P(this,S).init()}update(t){P(this,E)?(k(this,R,Q).call(this),k(this,A,X).call(this,t)):(k(this,A,X).call(this,t),k(this,Z,Y).call(this))}addPopup(t){var{markerID:e,hotelData:r}=t;if(!k(this,V,ot).call(this,e)){P(this,M).markerID=e;var a=P(this,S).createPopup(P(this,M),this.createPopupTemplate(r));P(this,x).push(a),k(this,$,st).call(this,e,a)}}}function Q(){P(this,S).removeTransparentClusters(),k(this,q,rt).call(this),j(this,L,[]),j(this,x,[]),j(this,W,[])}function X(t){j(this,D,t),j(this,W,k(this,I,it).call(this,P(this,D))),j(this,z,(t=>t.map(m))(P(this,D))),j(this,L,k(this,N,nt).call(this,P(this,W))),P(this,S).addTransparentClusters(P(this,z)),P(this,S).updateFeatureView("unclustered-point",k(this,K,lt).bind(this)),P(this,S).updateFeatureView("cluster-count",k(this,U,pt).bind(this)),P(this,S).initEventOnClusterCounts(),P(this,S).fitBoundsToMarkersList(P(this,W)),j(this,E,!0)}function Y(){var t=this;P(this,S).on("click",function(){var e,r=(e=function*(e){k(t,B,tt).call(t);var r=e.originalEvent.target.closest(".js-marker");if(r){var a=parseInt(r.dataset.id);k(t,F,et).call(t,a),t.emit("activateMarker",a)}},function(){var t=this,r=arguments;return new Promise((function(a,i){var n=e.apply(t,r);function o(t){f(n,a,i,o,s,"next",t)}function s(t){f(n,a,i,o,s,"throw",t)}o(void 0)}))});return function(t){return r.apply(this,arguments)}}()),P(this,S).on("zoom",(t=>{P(this,S).getZoom()<P(this,T).markersSizeZoom?P(this,L).forEach((t=>t.getElement().classList.add("is-small"))):P(this,L).forEach((t=>t.getElement().classList.remove("is-small")))}))}function tt(){P(this,C)&&P(this,C).getElement().classList.remove("is-active","is-shown")}function et(t){var e=k(this,J,ct).call(this,t);null==e||e.getElement().classList.add("is-active","is-shown"),j(this,C,e)}function rt(){P(this,L).forEach((t=>k(this,H,at).call(this,t)))}function at(t){t.popup&&t.popup.remove(),t.remove()}function it(t){return t.map((t=>({id:t.id,lat:t.lat,lng:t.lng,coordinates:[t.lng,t.lat],price:t.price?t.price:0,markerHTMLElement:this.createMarkerTemplate(t)})))}function nt(t){return t.map((t=>P(this,S).createMarker(t.id,t.markerHTMLElement,[t.lng,t.lat])))}function ot(t){return P(this,x).find((e=>+e.options.markerID===t))}function st(t,e){var r=k(this,J,ct).call(this,t);if(!r)throw new Error("Cannot find marker by id");r.setPopup(e),e.on("open",(()=>{travel.isMobile()?P(this,S).easeTo({center:r._lngLat}):P(this,S).autoPanPopup(e)})),e.addTo(P(this,S).map)}function ct(t){return P(this,L).find((e=>+e.markerID===t))}function lt(t,e,r){var a=e.properties.id,i=P(this,L).find((t=>+t.markerID===a));return r[a]=i.setLngLat(e.geometry.coordinates)}function pt(t,e,r){var a=this.createClusterCountFeatureTemplate(e.properties.point_count),i=P(this,S).createClusterCountFeature(a,e.geometry.coordinates);return r[e.id]=i}var ut=r(19422),ht=(t,e)=>{for(var r in e)t.setAttribute(r,e[r])},dt=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=document.createElement(t);return e&&ht(a,e),r&&(a.textContent=r),a},mt=()=>"?from=".concat(travel.opts.av_params.from,"&to=").concat(travel.opts.av_params.to,"&adults=").concat(travel.opts.av_params.adults).concat((()=>{var t=+travel.opts.av_params.children,e="&children=".concat(t);if(0===t)return e;for(var r=1;r<=t;r++)e+="&childAge".concat(r,"=").concat(travel.opts.av_params["childAge".concat(r)]);return e})(),"¤cy=").concat(travel.opts.currency.CurrencyID,"#rooms"),ft=()=>document.getElementById("marker-hotel-template").content.children[0].cloneNode(!0),vt=t=>{var e=document.getElementById("popup-hotel-template").content.children[0].cloneNode(!0),r=e.querySelector(".map-popup__title");r.href="".concat(t.hotelUrl).concat(mt()),r.innerHTML=t.name;var a=e.querySelector(".map-popup-info");if(t.price&&t.priceText){var i='<p class="map-popup-info__price">'.concat(travel.opts.curr).concat(t.price,'</p><p class="map-popup-info__price-text">').concat(t.priceText,"</p>");a.insertAdjacentHTML("beforeend",i)}if(t.scoreText){var n='<p class="map-popup-info__mark">'.concat(t.scoreText,"</p>");a.insertAdjacentHTML("beforeend",n)}if(t.reviewsText){var o='<p class="map-popup-info__reviews">('.concat(t.reviewsText,")</p>");a.insertAdjacentHTML("beforeend",o)}
1var s,c,l=e.querySelector(".js-map-popup-slider"),p=e.querySelector(".swiper-wrapper");if(0===t.photos.length){var u='<img class="map-popup__img" src="'.concat(travel.options.baseSourcePath,'destination/img/NoPhoto.png" alt="').concat(t.name,'" loading="lazy">');p.insertAdjacentHTML("afterbegin",u)}if(0!==t.photos.length&&travel.isMobile()){var h='<img class="map-popup__img" src="/data/Photos/300x300w/'.concat(t.photos[0],'" alt="').concat(t.name,'" loading="lazy">');p.insertAdjacentHTML("afterbegin",h)}return 0===t.photos.length||travel.isMobile()||(s=p,c=t.photos.map((t=>'<div class="swiper-slide"><img class="map-popup__img swiper-lazy" data-src="/data/Photos/300x300w/'.concat(t,'" alt=""><div class="swiper-lazy-preloader swiper-lazy-preloader-white"></div></div>'))).join(""),s.insertAdjacentHTML("afterbegin",c)),t.photos.length&&new ut.default(l,{slidesPerView:1,spaceBetween:0,lazy:{loadPrevNext:!0,loadPrevNextAmount:2},navigation:{nextEl:e.querySelector(".js-map-hotel-nav-next"),prevEl:e.querySelector(".js-map-hotel-nav-prev")}}),e},gt=t=>{var e=dt("div",{class:"cluster-count"}),r=dt("div",{class:"cluster-count__inner"}),a=(t=>{if((t=t.toString().replace(/[^0-9.]/g,""))<1e3)return t;var e,r=[{v:1e3,s:"K"},{v:1e6,s:"M"},{v:1e9,s:"B"},{v:1e12,s:"T"},{v:1e15,s:"P"},{v:1e18,s:"E"}];for(e=r.length-1;e>0&&!(t>=r[e].v);e--);return(t/r[e].v).toFixed(2).replace(/\.0+$|(\.[0-9]*[1-9])0+$/,"$1")+r[e].s})(t);return r.insertAdjacentHTML("beforeend",'<div class="cluster-count__text">'.concat(a,"</div>")),e.appendChild(r),t>101&&t<750&&e.classList.add("cluster-count--medium"),t>751&&e.classList.add("cluster-count--big"),e},wt={container:"mapbox"};class bt extends G{constructor(){super(wt),this.createMarkerTemplate=ft,this.createPopupTemplate=vt,this.createClusterCountFeatureTemplate=gt}}}}]);
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.