@tfehotels/tfe-gatsby-library 1.0.13 → 1.0.14

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.
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("date-fns"),t=require("classnames"),a=require("react-hot-toast"),n=require("react"),r=require("goober"),o=require("marked"),s=require("html-react-parser"),i=require("react-google-autocomplete"),l=require("@fortawesome/react-fontawesome"),c=require("gatsby-plugin-image"),m=require("gatsby"),u=require("react-select"),d=require("react-google-recaptcha-v3");const p=e=>e<769,h=e=>e>=769&&e<1024,g=e=>e>=1024,b=(e,t)=>{const a=e.style.display;"block"!==a&&(e.style.display="block");const n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),o=r.top-n.top,s=n.bottom-r.bottom;o>=0&&s>=0||(Math.abs(o)<Math.abs(s)?e.scrollTop+=o:e.scrollTop-=s),e.style.display=a},f=(e,t)=>t?!!e.length&&!e.includes(t):!e.length;const _=async(e,t,a="post",n={})=>{e.includes(process.env.API_HOST)&&(n["project-id"]=process.env.PROJECT);let r={headers:{"Content-Type":"application/json",...n},method:a.toUpperCase()};"post"===a?r.body=JSON.stringify(t):e=`${e}?${new URLSearchParams(Object.entries(t).map((([e,t])=>[e,null===t?"":`${t}`])))}`;try{let t=await fetch(e,r);return{...await t.json(),status:t.status}}catch(e){return console.error(e),{success:!1,error:"Request failed",status:400}}},y={select:e=>e.value,input:e=>e.target.value,textarea:e=>e.target.value,"google-places":e=>e.target.value},v=(e,t)=>y.hasOwnProperty(e)?y[e](t):t,w={},k=(e,t)=>w.hasOwnProperty(e)?w[e](t):t,x=new Set(["input","select","textarea","checkbox","button","recaptcha2","google-places","country-prefix","hidden"]),E=e=>e.optimized?`${e.url}${e.name}-20w.webp`:e.url,S=[["af","93","Afghanistan"],["al","355","Albania"],["dz","213","Algeria"],["ad","376","Andorra"],["ao","244","Angola"],["ag","1268","Antigua and Barbuda"],["ar","54","Argentina"],["am","374","Armenia"],["aw","297","Aruba"],["au","61","Australia"],["at","43","Austria"],["az","994","Azerbaijan"],["bs","1242","Bahamas"],["bh","973","Bahrain"],["bd","880","Bangladesh"],["bb","1246","Barbados"],["by","375","Belarus"],["be","32","Belgium"],["bz","501","Belize"],["bj","229","Benin"],["bt","975","Bhutan"],["bo","591","Bolivia"],["ba","387","Bosnia and Herzegovina"],["bw","267","Botswana"],["br","55","Brazil"],["io","246","British Indian Ocean Territory"],["bn","673","Brunei"],["bg","359","Bulgaria"],["bf","226","Burkina Faso"],["bi","257","Burundi"],["kh","855","Cambodia"],["cm","237","Cameroon"],["ca","1","Canada"],["cv","238","Cape Verde"],["bq","599","Caribbean Netherlands"],["cf","236","Central African Republic"],["td","235","Chad"],["cl","56","Chile"],["cn","86","China"],["co","57","Colombia"],["km","269","Comoros"],["cd","243","Congo"],["cg","242","Congo"],["cr","506","Costa Rica"],["ci","225","Côte d'Ivoire"],["hr","385","Croatia"],["cu","53","Cuba"],["cw","599","Curaçao"],["cy","357","Cyprus"],["cz","420","Czech Republic"],["dk","45","Denmark"],["dj","253","Djibouti"],["dm","1767","Dominica"],["do","1","Dominican Republic"],["ec","593","Ecuador"],["eg","20","Egypt"],["sv","503","El Salvador"],["gq","240","Equatorial Guinea"],["er","291","Eritrea"],["ee","372","Estonia"],["et","251","Ethiopia"],["fj","679","Fiji"],["fi","358","Finland"],["fr","33","France"],["gf","594","French Guiana"],["pf","689","French Polynesia"],["ga","241","Gabon"],["gm","220","Gambia"],["ge","995","Georgia"],["de","49","Germany"],["gh","233","Ghana"],["gr","30","Greece"],["gd","1473","Grenada"],["gp","590","Guadeloupe"],["gu","1671","Guam"],["gt","502","Guatemala"],["gn","224","Guinea"],["gw","245","Guinea-Bissau"],["gy","592","Guyana"],["ht","509","Haiti"],["hn","504","Honduras"],["hk","852","Hong Kong"],["hu","36","Hungary"],["is","354","Iceland"],["in","91","India"],["id","62","Indonesia"],["ir","98","Iran"],["iq","964","Iraq"],["ie","353","Ireland"],["il","972","Israel"],["it","39","Italy"],["jm","1876","Jamaica"],["jp","81","Japan"],["jo","962","Jordan"],["kz","7","Kazakhstan"],["ke","254","Kenya"],["ki","686","Kiribati"],["xk","383","Kosovo"],["kw","965","Kuwait"],["kg","996","Kyrgyzstan"],["la","856","Laos"],["lv","371","Latvia"],["lb","961","Lebanon"],["ls","266","Lesotho"],["lr","231","Liberia"],["ly","218","Libya"],["li","423","Liechtenstein"],["lt","370","Lithuania"],["lu","352","Luxembourg"],["mo","853","Macau"],["mk","389","Macedonia"],["mg","261","Madagascar"],["mw","265","Malawi"],["my","60","Malaysia"],["mv","960","Maldives"],["ml","223","Mali"],["mt","356","Malta"],["mh","692","Marshall Islands"],["mq","596","Martinique"],["mr","222","Mauritania"],["mu","230","Mauritius"],["mx","52","Mexico"],["fm","691","Micronesia"],["md","373","Moldova"],["mc","377","Monaco"],["mn","976","Mongolia"],["me","382","Montenegro"],["ma","212","Morocco"],["mz","258","Mozambique"],["mm","95","Myanmar"],["na","264","Namibia"],["nr","674","Nauru"],["np","977","Nepal"],["nl","31","Netherlands"],["nc","687","New Caledonia"],["nz","64","New Zealand"],["ni","505","Nicaragua"],["ne","227","Niger"],["ng","234","Nigeria"],["kp","850","North Korea"],["no","47","Norway"],["om","968","Oman"],["pk","92","Pakistan"],["pw","680","Palau"],["ps","970","Palestine"],["pa","507","Panama"],["pg","675","Papua New Guinea"],["py","595","Paraguay"],["pe","51","Peru"],["ph","63","Philippines"],["pl","48","Poland"],["pt","351","Portugal"],["pr","1","Puerto Rico"],["qa","974","Qatar"],["re","262","Réunion"],["ro","40","Romania"],["ru","7","Russia"],["rw","250","Rwanda"],["kn","1869","Saint Kitts and Nevis"],["lc","1758","Saint Lucia"],["vc","1784","Saint Vincent and the Grenadines"],["ws","685","Samoa"],["sm","378","San Marino"],["st","239","São Tomé and Príncipe"],["sa","966","Saudi Arabia"],["sn","221","Senegal"],["rs","381","Serbia"],["sc","248","Seychelles"],["sl","232","Sierra Leone"],["sg","65","Singapore"],["sk","421","Slovakia"],["si","386","Slovenia"],["sb","677","Solomon Islands"],["so","252","Somalia"],["za","27","South Africa"],["kr","82","South Korea"],["ss","211","South Sudan"],["es","34","Spain"],["lk","94","Sri Lanka"],["sd","249","Sudan"],["sr","597","Suriname"],["sz","268","Swaziland"],["se","46","Sweden"],["ch","41","Switzerland"],["sy","963","Syria"],["tw","886","Taiwan"],["tj","992","Tajikistan"],["tz","255","Tanzania"],["th","66","Thailand"],["tl","670","Timor-Leste"],["tg","228","Togo"],["to","676","Tonga"],["tt","1868","Trinidad and Tobago"],["tn","216","Tunisia"],["tr","90","Turkey"],["tm","993","Turkmenistan"],["tv","688","Tuvalu"],["ug","256","Uganda"],["ua","380","Ukraine"],["ae","971","United Arab Emirates"],["gb","44","United Kingdom"],["us","1","United States"],["uy","598","Uruguay"],["uz","998","Uzbekistan"],["vu","678","Vanuatu"],["va","39","Vatican City"],["ve","58","Venezuela"],["vn","84","Vietnam"],["ye","967","Yemen"],["zm","260","Zambia"],["zw","263","Zimbabwe"]],C=e=>`\n0% {transform: translate3d(0,${-200*e}%,0) scale(.6); opacity:.5;}\n100% {transform: translate3d(0,0,0) scale(1); opacity:1;}\n`,$=e=>`\n0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;}\n100% {transform: translate3d(0,${-150*e}%,-1px) scale(.6); opacity:0;}\n`,N=(()=>{let e;return()=>{if(void 0===e&&"undefined"!=typeof window){const t=matchMedia("(prefers-reduced-motion: reduce)");e=!t||t.matches}return e}})(),O=({id:e,visible:t,message:o,height:s,position:i,variant:l})=>{const c=s?((e,t)=>{const a=e.includes("top")?1:-1,[n,o]=N()?["0%{opacity:0;} 100%{opacity:1;}","0%{opacity:1;} 100%{opacity:0;}"]:[C(a),$(a)];return{animation:t?`${r.keyframes(n)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards`:`${r.keyframes(o)} 0.4s forwards cubic-bezier(.06,.71,.55,1)`}})(i||"top-center",t):{opacity:0};return n.createElement("div",{className:`toast ${t?"animate-enter":"animate-leave"} ${l}`,style:{...c}},n.createElement("button",{className:"close",onClick:()=>a.toast.dismiss(e)},"X"),o)},P=(e,t="error",r=1e4)=>{a.custom((a=>n.createElement(O,{id:a.id,visible:a.visible,message:e,variant:t,height:a.height,position:a.position})),{duration:r})};function T(e=9){const t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";let a="";for(let n=0;n<e;n++)a+=t.charAt(Math.floor(62*Math.random()));return a}const M=t=>{try{return t?e.parseISO(t):void 0}catch(e){return}},L=e=>{try{return e?parseInt(e):void 0}catch(e){return}},I=e=>e?[e]:[],A={check_in:M,check_out:M,child_count:L,adult_count:L,rate_codes:I,promo_codes:I};const B=(e,t)=>`${e.replace(new RegExp("/$"),"")}/${t.replace(new RegExp("^/"),"")}`;function j({children:e,className:t,tagAttrs:a,onClick:r}){const i=new o.marked.Renderer;i.link=(e,t,n)=>{let r={href:e,title:t??"",target:"_blank"};return a?.a&&(r={...r,...a?.a}),`<a ${Object.entries(r).map((([e,t])=>`${e}="${t}"`)).join(" ")}>${n}</a>`},o.marked.setOptions({renderer:i});const l=()=>s(e?o.marked(e):"");return n.createElement(n.Fragment,null,t||r?n.createElement("div",{className:t,onClick:r},l()):n.createElement(n.Fragment,null,l()))}function R({className:e,label:t,description:a,...r}){return n.createElement("label",{className:`checkbox${r.value?" checked":""}${e?` ${e}`:""}`,onClick:r.onClick,onChange:r.onChange},!!t&&n.createElement("span",null,t),n.createElement("svg",{id:r.id,width:r.width?r.width:30,height:r.height?r.height:30,viewBox:"0 0 440 440"},n.createElement("path",{className:"box",d:"M 72 136 C 72 100.654 100.654 72 136 72 L 304 72 C 339.346 72 368 100.654 368 136 L 368 304 C 368 339.346 339.346 368 304 368 L 136 368 C 100.654 368 72 339.346 72 304 Z",fill:r.color?r.color:"#58595b"}),n.createElement("path",{className:"tick",d:"M 160 180 L 210 250 L 340 130",transform:"translate(40 65) rotate(-10 70.904 438.687)",fill:"transparent",strokeWidth:30,stroke:"white",strokeLinecap:"square",strokeLinejoin:"miter"})),!!a&&n.createElement("div",null,n.createElement(j,null,a)))}function z({className:e,label:t,description:a,input_name:r,onClick:o,onChange:s,value:i,...l}){const[c,m]=n.useState(!1),[u,d]=n.useState(0),[p,h]=n.useState(""),g=n.useRef(null),f=n.useCallback((e=>{s?.(S[e][1]),n.startTransition((()=>{m(!1),d(e)}))}),[s,S]),_=n.useCallback((()=>{if(!g.current)return;const e=g.current.querySelector(`#${l.name??"country-prefix"}__${S[u][0]}`);e&&b(g.current,e)}),[u,S]);return n.useEffect((()=>{if(!p)return;let e=S.findIndex((e=>e[2].toLowerCase().startsWith(p.toLowerCase())));e>=0?n.startTransition((()=>d(e))):n.startTransition((()=>h("")))}),[p]),n.useEffect((()=>{_()}),[u]),n.useEffect((()=>{g.current&&(c?g.current.focus():n.startTransition((()=>h(""))))}),[c]),n.createElement("label",{className:"country-prefix "+(e?` ${e}`:"")},!!t&&n.createElement("span",null,t),n.createElement("div",{className:"selected-prefix",onClick:()=>{n.startTransition((()=>m(!0))),g?.current?.focus()}},"+",i??S[0][1],">"),n.createElement("ul",{className:c?"show":"",ref:g,role:"listbox",tabIndex:-1,onKeyDown:e=>{e.stopPropagation(),e.preventDefault();const{key:t}=e;"ArrowDown"===t||"ArrowUp"===t?n.startTransition((()=>{d("ArrowDown"===t?Math.min(u+1,S.length-1):Math.max(u-1,0)),h("")})):"Escape"===t?n.startTransition((()=>m(!1))):"Enter"===t?f(u):"Backspace"===t?n.startTransition((()=>h(p.slice(0,-1)))):/^[ \p{L}]+$/u.test(t)&&n.startTransition((()=>h(p+t)))},"aria-activedescendant":`${l.name??"country-prefix"}__${S[u][0]}`},S.map((([e,t,a],r)=>n.createElement("li",{className:r===u?"selected":"",role:"option",onClick:()=>f(r),"aria-selected":r===u,"aria-label":`${a} +${t}`,id:`${l.name??"country-prefix"}__${e}`,key:`${l.name??"country-prefix"}__${e}`},a," +",t)))),n.createElement("input",{type:"hidden",name:r}),!!a&&n.createElement("div",null,n.createElement(j,null,a)))}function D(){return D=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},D.apply(this,arguments)}const G=e=>{if(e.address_components)for(const t of e.address_components)if("country"==t.types[0])return t.short_name;return null};var q=({label:e,name:t,input_name:a,value:r,defaultCountryCode:o,onChange:s,onClick:l,onFocus:c,onBlur:m,data:u,...d})=>{const[p,h]=n.useState();if(!process.env.GOOGLEMAPS_KEY)throw new Error("The environment variable GOOGLEMAPS_KEY is not defined!");const{ref:g}=i.usePlacesWidget({apiKey:process.env.GOOGLEMAPS_KEY,onPlaceSelected:e=>h({target:{value:e.formatted_address,data:{countryCode:G(e)}}}),...u});return n.useEffect((()=>{s&&p&&s(p)}),[p]),n.useEffect((()=>{if(!o||r||p)return;const e=S.find((e=>e[0]===o.toLowerCase()));e&&h({target:{value:e[2],data:{countryCode:o}}})}),[o]),n.createElement("label",{className:`google-places label-${t}`},!!e&&n.createElement("span",null,e),n.createElement("input",D({ref:g,name:a,autoComplete:"off",onChange:s,onClick:l,onFocus:c,onBlur:m,value:r,placeholder:d.placeholder??void 0},d)))};const F={FAB:"fab",FAS:"fas"};var U=({icon:e,className:t,onClick:a,color:r})=>F.hasOwnProperty(e.group)?n.createElement(l.FontAwesomeIcon,{className:t,color:r,onClick:a,icon:[F[e.group],e.icon]}):n.createElement("img",{className:t,alt:e.icon,onClick:a,src:`/icons/${e.icon}.svg`});const K=e=>{if(!e)return;let t={src:e.url,sizes:"100vw",srcSet:""},a=[],n={fallback:e.url};const r=[e.width,360,769,1024,1216,1408].sort(((e,t)=>e-t));if(e.optimized){t.src=e.url+e.name+"-"+e.width+"w.jpg",n.fallback=e.url+e.name+"-20w.jpg",a.push({sizes:"100vw",srcSet:"",type:"image/avif"}),a.push({sizes:"100vw",srcSet:"",type:"image/webp"});for(let n in r){if(r[n]>e.width)break;let o=("0"===n?"":",")+e.url+e.name+"-"+r[n];t.srcSet+=o+"w.jpg "+r[n]+"w",a[0].srcSet+=o+"w.avif "+r[n]+"w",a[1].srcSet+=o+"w.webp "+r[n]+"w"}}return c.getImage({childImageSharp:{gatsbyImageData:{backgroundColor:"transparent",height:e.height/e.width,width:1,layout:"fullWidth",placeholder:n,images:{fallback:t,sources:a}}}})};var V=({imageData:e,...a})=>{let r=e??(()=>{const e=K(a.image),t=K(a.mobile_image);return e&&t?c.withArtDirection(e,[{media:"(max-width: 768px)",image:t}]):e})();return r?n.createElement(c.GatsbyImage,{className:t({"mobile-img":!!a.image&&!!a.mobile_image,[a.className]:!!a.className}),image:r,onLoad:a.onLoad,alt:a.image?.alt?a.image.alt:"",style:a.style}):n.createElement("span",null,"Missing image!")};var H=({label:e,type:t,input_type:a,description:r,name:o,input_name:s,icon:i,iconOnClick:l,read_only:c,...m})=>n.createElement("label",{className:`input label-${o}${"hidden"===a?" hidden":""}`},!!e&&n.createElement("span",null,e),!!i&&n.createElement(U,{icon:i,onClick:l}),n.createElement("input",D({type:a,name:s,readOnly:c},m)),!!r&&n.createElement("div",{className:"desc"},n.createElement("div",null,n.createElement(j,null,r))));const J=({animate:e=!0,...t})=>{const[a,r]=n.useState(1),o=t=>{e&&r(t)};return n.createElement("a",{className:t.className,onMouseDown:()=>o(.95),onMouseUp:()=>o(1),onTouchStart:()=>o(.95),onTouchEnd:()=>o(1),style:{transform:`scale(${a})`,transition:"color 0.2s ease, transform 0.2s ease"},title:t.title,href:t.to,target:t.target,onClick:t.onClick},t.children)};var W=e=>{const t=e.page_slug?m.Link:J;let a=e.page_slug?e.page_slug:e.external_link;return e.anchor&&(a=`${a}#${e.anchor}`),n.createElement(t,{className:e.className,to:a,title:e.title,target:e.target,onClick:e.onClick,animate:e.animate},!!e.icon&&n.createElement(U,{icon:e.icon}),e.children?e.children:e.text)};var Z=({pk:e,...t})=>n.createElement("ul",{className:t.className},t.links.map(((a,r)=>n.createElement("li",{key:`LinkList${e}-${r}`},n.createElement(W,a,t.children)))));const Y=(e,t)=>{for(let a of e){if(a.hasOwnProperty("options")){for(let e of a.options)if(t===e.value)return e;return a}if(t===a.value)return a}return null};var Q=({value:e,styles:t,options:a,label:r,...o})=>{const s=(e=>Array.isArray(e)?e:"string"==typeof e[Object.keys(e)[0]]?Object.entries(e).reduce(((e,[t,a])=>(e.push({label:a,value:t}),e)),[]):Object.entries(e).reduce(((e,[t,a])=>(e.push({label:t,options:Object.entries(a).reduce(((e,[t,a])=>[...e,{label:a,value:t}]),[])}),e)),[]))(a);return n.createElement("label",{className:"label-"+(o.className?o.className:o.name)},!!r&&n.createElement("span",null,r),n.createElement(u,D({options:s,value:"string"==typeof e?Y(s,e):e,styles:t},o)))};var X=e=>n.createElement("img",{className:e.className,src:e.file.url});var ee=({text:e,...t})=>n.createElement("div",{className:t.className},n.createElement(j,{tagAttrs:t.tagAttrs},e));var te=({label:e,...t})=>n.createElement("label",{className:`textarea label-${t.name}`},!!e&&n.createElement("span",null,e),n.createElement("textarea",t));var ae=e=>{const t=n.useMemo((()=>e.title&&"#"===e.title[0]?e.title:`### ${e.title}`),[e.title]);return n.createElement(j,{className:e.className,onClick:e.onClick},t)};var ne=({...e})=>n.createElement("button",{className:e.className,type:e.input_type??"button",onClick:e.onClick},e.value);const re=e=>{const{children:t,...a}=e;return n.createElement("button",D({className:"embla__button embla__button--prev",type:"button"},a),n.createElement("svg",{className:"embla__button__svg",viewBox:"0 0 532 532"},n.createElement("path",{fill:"currentColor",d:"M355.66 11.354c13.793-13.805 36.208-13.805 50.001 0 13.785 13.804 13.785 36.238 0 50.034L201.22 266l204.442 204.61c13.785 13.805 13.785 36.239 0 50.044-13.793 13.796-36.208 13.796-50.002 0a5994246.277 5994246.277 0 0 0-229.332-229.454 35.065 35.065 0 0 1-10.326-25.126c0-9.2 3.393-18.26 10.326-25.2C172.192 194.973 332.731 34.31 355.66 11.354Z"})),t)},oe=e=>{const{children:t,...a}=e;return n.createElement("button",D({className:"embla__button embla__button--next",type:"button"},a),n.createElement("svg",{className:"embla__button__svg",viewBox:"0 0 532 532"},n.createElement("path",{fill:"currentColor",d:"M176.34 520.646c-13.793 13.805-36.208 13.805-50.001 0-13.785-13.804-13.785-36.238 0-50.034L330.78 266 126.34 61.391c-13.785-13.805-13.785-36.239 0-50.044 13.793-13.796 36.208-13.796 50.002 0 22.928 22.947 206.395 206.507 229.332 229.454a35.065 35.065 0 0 1 10.326 25.126c0 9.2-3.393 18.26-10.326 25.2-45.865 45.901-206.404 206.564-229.332 229.52Z"})),t)},se=e=>{const{children:t,...a}=e;return n.createElement("button",D({type:"button"},a),t)},ie={mobile:"(max-width: 768px)",tablet:"(min-width: 769px) and (max-width: 1023px)",desktop:"(min-width: 1024px) and (max-width: 1215px)",wide:"(min-width: 1216px) and (max-width: 1407)",fullhd:"(min-width: 1408px)"};var le=({id:e,emblaRef:t,emblaApi:a,slidesPerView:r,slidesPerViewport:o,slides:s,gap:i,showButtons:l,showDots:c,showProgress:m,showScroll:u})=>{const[d,p]=n.useState(0),{selectedIndex:h,scrollSnaps:g,onDotButtonClick:b}=((e,t)=>{const[a,r]=n.useState(0),[o,s]=n.useState([]),i=n.useCallback((t=>{e&&e.scrollTo(t)}),[e]),l=n.useCallback((e=>{s(e.scrollSnapList())}),[]),c=n.useCallback((e=>{r(e.selectedScrollSnap())}),[]);return n.useEffect((()=>{e&&t&&(l(e),c(e),e.on("reInit",l),e.on("reInit",c),e.on("select",c))}),[e,l,c]),{selectedIndex:a,scrollSnaps:o,onDotButtonClick:i}})(a,c),f=n.useCallback((e=>{const t=Math.max(0,Math.min(1,e.scrollProgress()));p(100*t)}),[]),{prevBtnDisabled:_,nextBtnDisabled:y,onPrevButtonClick:v,onNextButtonClick:w}=((e,t)=>{const[a,r]=n.useState(!0),[o,s]=n.useState(!0),i=n.useCallback((()=>{e&&e.scrollPrev()}),[e]),l=n.useCallback((()=>{e&&e.scrollNext()}),[e]),c=n.useCallback((e=>{r(!e.canScrollPrev()),s(!e.canScrollNext())}),[]);return n.useEffect((()=>{e&&t&&(c(e),e.on("reInit",c),e.on("select",c))}),[e,c]),{prevBtnDisabled:a,nextBtnDisabled:o,onPrevButtonClick:i,onNextButtonClick:l}})(a,l);return n.useEffect((()=>{a&&(m||u)&&(f(a),a.on("reInit",f),a.on("scroll",f))}),[a,f]),n.createElement("div",{id:e,className:"embla"},n.createElement("div",{className:"embla__viewport",ref:t},n.createElement("div",{className:"embla__container"},s.map(((e,t)=>n.createElement("div",{className:"embla__slide",key:`embla-${t}`},e))))),l&&n.createElement(n.Fragment,null,n.createElement(re,{onClick:v,disabled:_}),n.createElement(oe,{onClick:w,disabled:y})),c&&n.createElement("div",{className:"embla__dots"},g.map(((e,t)=>n.createElement(se,{key:t,onClick:()=>b(t),className:"embla__dot".concat(t===h?" embla__dot--selected":"")})))),!!m&&n.createElement("div",{className:"embla__progress"},n.createElement("div",{className:"embla__progress__bar",style:{transform:`translate3d(${d}%,0px,0px)`}})),!!u&&n.createElement("div",{className:"embla__scroll"},n.createElement("div",{className:"embla__scroll__bar",style:{width:1===s.length?"100%":"50%",transform:`translate3d(${d}%,0px,0px)`}})),n.createElement("style",null,`\n #${e} .embla__container{\n margin-left: calc(${i||0}px * -1);\n }\n #${e} .embla__slide{\n flex: 0 0 ${(100/r).toFixed(2)}%;\n padding-left: ${i||0}px;\n }\n ${o?Object.entries(o).map((([t,a])=>{let n=null,r=a.slides;return a.gap&&(n=a.gap),`@media ${ie[t]} {\n ${null!==n?`#${e} .embla__container{margin-left: calc(${n}px * -1);}`:""} \n #${e} .embla__slide {\n flex: 0 0 ${(100/r).toFixed(2)}%;\n ${null!==n?`padding-left: ${n}px;`:""}\n }\n }`})).join("\n"):""}\n `))};var ce=({modalId:e,show:t,className:a,setShowModal:r,children:o})=>(n.useEffect((()=>{document.body.style.overflow=t?"hidden":"unset"}),[t]),n.createElement("div",{className:"modal-layout"+(t?" opened":""),onClick:t=>{t.target===t.currentTarget&&r(e,!1)}},n.createElement("div",{className:"modal"+(a?` ${a}`:"")},n.createElement("div",{className:"modal-body"},o),n.createElement("button",{className:"close",onClick:()=>r(e,!1)},n.createElement(U,{icon:{icon:"times",group:"FAS"}})))));function me({color:e,size:t,className:a}){return n.createElement("div",{className:"spinner-box"+(a?` ${a}`:"")},n.createElement("div",{className:"spinner",style:{border:`5px solid ${e||"white"}`,width:t||45,height:t||45}}))}const ue={link:W,title:ae,text:ee,input:H,textarea:te,checkbox:R,"country-prefix":z,select:Q,button:ne,"google-places":q,image:V,hidden:H},de=e=>{if(ue.hasOwnProperty(e.type)){const t=ue[e.type];return n.createElement(t,e)}return console.error(`Element "${e.type}" not supported by <Form />!`),n.createElement(n.Fragment,null)};exports.BookingUrl=(t,a,n,r,o=null,s=null)=>{let i=function(e,t){let a=e.split(/\$\{(?!\d)[\wæøåÆØÅ]*\}/),n=(e.match(/[^{}]+(?=})/g)||[]).map((e=>t[e]||(void 0===t[e]?"":t[e])));return String.raw({raw:a},...n)}(a.variables,{hotel_code:t,check_in:e.format(n.check_in,a.date_format.replace(/m/g,"M")),check_out:e.format(n.check_out,a.date_format.replace(/m/g,"M")),adult_count:n.adult_count,child_count:n.child_count,total_rooms:1,rate_code:!n.promo_codes.length&&o?o:"",promo_code:n.promo_codes.length?n.promo_codes[0]:""});s&&(i+="&room="+s);let l="undefined"!=typeof window&&p(window.innerWidth)?(r?a.mobile_url:a.mobile_url_no_availability)+"&"+i:(r?a.url:a.url_no_availability)+"&"+i;window.open(l,"_blank")},exports.Button=ne,exports.Carousel=le,exports.Checkbox=R,exports.CountryPrefix=z,exports.Form=function({className:e,form:a,setForm:r,errors:o,setErrors:s,beforeSubmit:i,formatParams:l,validate:c,validateResponse:m,onSuccess:u,onFocus:p,onBlur:h,onClick:g,onChange:b,onError:f,afterSubmit:y,loading:w}){const{executeRecaptcha:E}=d.useGoogleReCaptcha(),S=(e,t=!0)=>n.createElement("div",null,n.createElement("ul",{className:"error"},Object.entries(e).map((([e,a],r)=>n.createElement("li",{key:`error-form${r}`},n.createElement("span",null,t?n.createElement("strong",null,e,":"):""," ",a)))))),C=n.useCallback((async()=>{if(E)return await E(a.settings.recaptcha_action);console.log("Execute recaptcha not yet available")}),[E]);n.useEffect((()=>{a.settings.recaptcha_v3&&C()}),[a.settings.recaptcha_v3,C]);const $=e=>{if("string"==typeof e){const i=a.fields[e];return n.createElement("div",{className:`${i.type} ${i.type}-${i.name}`,key:`ff-${a.settings.pk}-${e}`},x.has(i.type)?n.createElement(de,D({className:t({[i.data.class]:Boolean(i.data.class),error:Boolean(o[e])}),onFocus:e=>{p&&p(e)},onBlur:e=>{h&&h(e)},onClick:t=>{if(["checkbox","radio"].includes(i.input_type)){let t={...a};"checkbox"===i.input_type?t.fields={...a.fields,[e]:{...i,value:!i.value}}:t.fields=Object.entries(a.fields).reduce(((e,[t,a])=>(e[t]=a,a.input_name===i.input_name&&(e[t].checked=i.value===e[t].value),e)),{}),n.startTransition((()=>{r(t),o[e]&&s({})}))}g&&g(t)},checked:"radio"===i.input_type?!!i.checked:void 0,onChange:t=>{["checkbox","radio"].includes(i.input_type)||n.startTransition((()=>{r({...a,fields:{...a.fields,[e]:{...i,value:v(i.type,t),data:t.target?.data?{...i.data,...t.target.data}:i.data}}}),o[e]&&s({})})),b&&b(t)}},i,{value:i.value?i.value:""})):n.createElement(de,i))}return n.createElement("div",{className:`form-section ${e.name}`,key:`ff-${a.settings.pk}-${e.name}`},e.children.map($))};return n.createElement("form",{className:e,action:a.settings.form_submit,method:a.settings.form_method,onSubmit:e=>(async e=>{e.preventDefault();let t={},o=Object.values(a.fields).reduce(((e,a)=>{if(x.has(a.type)){if(a.required&&!a.value)return t[a.input_name]=`${a.label?a.label:a.placeholder} is required`,e;if("radio"===a.input_type&&!a.checked)return e;e[a.input_name]=k(a.type,a.value)}return e}),{});if(a.settings.recaptcha_v3&&(o.recaptcha_token=await C(),o.recaptcha_token||(t.recaptcha="reCAPTCHA failed!")),a.fields.recaptcha&&!o.recaptcha&&(t.recaptcha="Recaptcha is mandatory"),c&&(t={...t,...c(a.fields,o)}),Object.keys(t).length)return void n.startTransition((()=>{s(t),P(S(t,!1))}));if(i&&i(a),l&&(o=l(o)),!a.settings.form_ajax_request)return e.target.submit();const d=await _(a.settings.form_submit,o,a.settings.form_method,a.settings.form_recipient?{"recipient-id":`${a.settings.form_recipient}`}:{});n.startTransition((()=>{if(200!==d.status||m&&!m(d))if(f)f(d);else if(d.errors){let e=Object.entries(d.errors).reduce(((e,[t,a])=>(e[t]=a.join(", "),e)),{});P(S(e)),s(e)}else d.error&&P(S({failed:d.error?n.createElement(j,null,d.error):"Oops. Something went wrong. Please try again later, or contact us at members@tfehotels.com"},!1));else u?u(d,a.settings.form_success_msg):P(a.settings.form_success_msg?n.createElement(j,null,a.settings.form_success_msg):"Success! Your form has been successfully sent. Thank you for reaching out, we will get back to you as soon as possible.","success"),a.settings.form_redirection&&setTimeout((()=>{window.location.href=a.settings.form_redirection}),3e3),r({...a,fields:Object.entries(a.fields).reduce(((e,[t,a])=>(e[t]=x.has(a.type)?{...a,value:""}:a,e)),{})})})),y&&y(d)})(e),noValidate:!0},w?n.createElement(me,{color:"#00b5ee"}):a.items.map($))},exports.GooglePlaces=q,exports.Icon=U,exports.Image=V,exports.Input=H,exports.Link=W,exports.LinkList=Z,exports.Markdown=j,exports.Modal=ce,exports.SVG=X,exports.SearchAvailability=async(t,a,n,r,o,s,i)=>{if(!i)throw new Error('"hotel_codes" must be defined within the page attributes!');return fetch(`${process.env.SABRE_PROTOCOL}://${process.env.SABRE_HOST}/availability`,{headers:{"Content-Type":"application/json"},method:"POST",body:JSON.stringify({check_in:e.format(t,"yyyy-MM-dd"),check_out:e.format(a,"yyyy-MM-dd"),hotel_codes:i,adult_count:n,child_count:r,area_codes:[],promo_codes:o,rate_codes:s,price_range:{min:0,max:0},is_mobile:"undefined"!=typeof window&&p(window.innerWidth),language:"en"})}).then((e=>e.json())).then((e=>(e=>e.success?(e.data.forEach((e=>{e.room_rates={},e.rates.forEach((t=>t.forEach((t=>{e.room_rates.hasOwnProperty(t.room_type_code)||(e.room_rates[t.room_type_code]=[]),e.room_rates[t.room_type_code].push(t)}))))})),e.data):{})(e)),(e=>{console.log(e)}))},exports.Select=Q,exports.Spinner=me,exports.Text=ee,exports.Textarea=te,exports.Title=ae,exports.Toast=O,exports.animateJSX=(e,t="presence")=>`jsx__${t} jsx__${t}__${["from","leave"].includes(e.stage)?"loading":"loaded"}`,exports.apiLink=(e="",t=null)=>`${B(`${process.env.API_PROTOCOL}://${process.env.API_HOST}`,e)}${t?`?${new URLSearchParams(t).toString()}`:""}`,exports.cacheSearchParams=e=>localStorage.setItem("search-params",JSON.stringify(e)),exports.cachedSearchParams=()=>{if("undefined"==typeof window)return null;let t=localStorage.getItem("search-params");return t&&(t=JSON.parse(t),t.rate_codes=[],t.promo_codes=[],t.check_in=t.check_in?new Date(t.check_in):new Date,t.check_out=t.check_out?new Date(t.check_out):e.addDays(new Date,1),t.check_in<new Date)?null:t},exports.classNames=(e,a=null)=>(a&&(e.hidden=f(a,""),e.hidden_mobile=f(a,"m"),e.hidden_tablet=f(a,"t"),e.hidden_desktop=f(a,"d")),t(e)),exports.countryPrefixes=S,exports.dealLink=e=>{if(!process.env.DEALS_ROOT_SLUG)throw new Error("The env variable DEALS_ROOT_SLUG is not defined!");return B(process.env.DEALS_ROOT_SLUG,e)},exports.decodeQuotePlus=e=>decodeURIComponent(e.replace(/\+/g,"%20")),exports.deleteUserSession=()=>{sessionStorage.removeItem("user")},exports.deviceId=e=>e>1023?"d":e>768?"t":"m",exports.getInputEventValue=v,exports.getInputHumanValue=k,exports.getThumb=e=>e.image||e.mobile_image?"undefined"!=typeof window&&p(window.innerWidth)?e.mobile_image?E(e.mobile_image):E(e.image):e.image?E(e.image):E(e.mobile_image):"",exports.getViewPort=()=>{if("undefined"==typeof window)throw new Error("getViewPort() requires browser window!");return p(window.innerWidth)?"m":h(window.innerWidth)?"t":"d"},exports.hotelOptionsByCity=e=>{let t={Sydney:[],Melbourne:[],Perth:[],Hobart:[],Canberra:[],Adelaide:[],"Gold Coast":[],Darwin:[],Singapore:[]};const a=Object.entries(e).reduce(((e,[a,n])=>(t[n.city]&&(t[n.city].push({label:n.name,value:a}),e[a]=n.sort),e)),{});return Object.entries(t).map((([e,t])=>({label:e,options:t.sort(((e,t)=>a[e.value]-a[t.value]))})))},exports.human_number=function(e,t=2){return e.toLocaleString("en-US",{useGrouping:!1,maximumFractionDigits:t})},exports.isDesktop=g,exports.isIOS=()=>/iPad|iPhone|iPod/.test(navigator.userAgent),exports.isMobile=p,exports.isTablet=h,exports.joinAddress=e=>e.reduce(((e,t)=>(t&&e.push(t),e)),[]).join(", "),exports.joinPaths=B,exports.json_request=_,exports.loadUserSession=()=>{const e=sessionStorage.getItem("user");return e?JSON.parse(e):null},exports.minimumSlides=(e,t)=>t.length>=e?t:[].concat(...new Array(Math.ceil(e/t.length)).fill(t)),exports.opentableLink=e=>`https://www.opentable.com.au/restref/client?rid=${e}&restref=${e}&lang=en-AU&r3uid=${T(9)}&ot_source=Restaurant+website&color=1`,exports.optimizedThumb=E,exports.parseQueryParams=function(e,t={}){return e?(t={rate_code:"rate_codes",promo_code:"promo_codes",...t},e.slice(1).split("&").reduce(((e,a)=>{let[n,r]=a.split("=");return n=decodeURIComponent(n),r=decodeURIComponent(r||""),t[n]&&(n=t[n]),e[n]=A.hasOwnProperty(n)?A[n](r):r,e}),{})):{}},exports.preloadImages=async e=>{e.forEach((e=>{if(e){(new Image).src=e}}))},exports.pricePerNight=(e,t)=>(parseFloat(e)/t).toFixed(2),exports.randomString=T,exports.saveUserSession=e=>{sessionStorage.setItem("user",JSON.stringify({loyaltyprofileId:e.loyaltyprofileId,profile_id:e.profile_id,title:e.title,first_name:e.first_name,last_name:e.last_name,email:e.email,zip:e.zip,country_code:e.country_code,MobilePhoneCountryCode:e.MobilePhoneCountryCode,mobile:e.mobile,date_of_birth:e.date_of_birth,language:e.language}))},exports.scrollToChild=b,exports.scrollToElement=async e=>{document.getElementById(e)?.scrollIntoView({behavior:"smooth"})},exports.siteUrl=(e="")=>`${process.env.PROTOCOL}://${process.env.HOST}${e}`,exports.sp_to_qs=(t,a,n,r,o,s)=>`?check_in=${e.format(t,"yyyy-MM-dd")}&check_out=${e.format(a,"yyyy-MM-dd")}&adult_count=${n}&child_count=${r}&promo_code=${s?.length?s[0]:""}&rate_code=${o?.length?o[0]:""}`,exports.ssoURL=e=>`${process.env.SABRE_SSO_PROTOCOL}://${process.env.SABRE_SSO_HOST}${e}`,exports.tagExists=(e,...t)=>{for(const a of Object.keys(e))if(t.includes(a))return!0;return!1},exports.toImageElement=(e,t={})=>Object.entries(e).reduce(((e,[a,n])=>(e[t[a]||a]=n,e)),{type:"image",title:"",loading:"eager",image:void 0,mobile_image:void 0,mobile_file:void 0}),exports.toastMsg=P,exports.tripadvisorRatingURL=e=>`https://www.tripadvisor.com/img/cdsi/img2/ratings/traveler/${parseFloat(e).toFixed(1)}-41022-5.svg`,exports.useViewport=function(){const[e,t]=n.useState("d");return n.useEffect((()=>{const a=()=>{const a=window.innerWidth;if("m"===e){if(p(a))return}else if("t"===e){if(h(a))return}else if("d"===e&&g(a))return;n.startTransition((()=>t(p(a)?"m":h(a)?"t":"d")))};return a(),window.addEventListener("resize",a),()=>{window.removeEventListener("resize",a)}}),[e]),e};
1
+ "use strict";var e=require("date-fns"),t=require("classnames"),a=require("react-hot-toast"),n=require("react"),r=require("goober"),o=require("marked"),s=require("html-react-parser"),i=require("@fortawesome/react-fontawesome"),l=require("react-google-autocomplete"),c=require("gatsby-plugin-image"),m=require("gatsby"),u=require("react-select"),d=require("react-google-recaptcha-v3");const p=e=>e<769,h=e=>e>=769&&e<1024,g=e=>e>=1024,b=(e,t)=>{const a=e.style.display;"block"!==a&&(e.style.display="block");const n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),o=r.top-n.top,s=n.bottom-r.bottom;o>=0&&s>=0||(Math.abs(o)<Math.abs(s)?e.scrollTop+=o:e.scrollTop-=s),e.style.display=a},f=(e,t)=>t?!!e.length&&!e.includes(t):!e.length;const _=async(e,t,a="post",n={})=>{e.includes(process.env.API_HOST)&&(n["project-id"]=process.env.PROJECT);let r={headers:{"Content-Type":"application/json",...n},method:a.toUpperCase()};"post"===a?r.body=JSON.stringify(t):e=`${e}?${new URLSearchParams(Object.entries(t).map((([e,t])=>[e,null===t?"":`${t}`])))}`;try{let t=await fetch(e,r);return{...await t.json(),status:t.status}}catch(e){return console.error(e),{success:!1,error:"Request failed",status:400}}},y={select:e=>e.value,input:e=>e.target.value,textarea:e=>e.target.value,"google-places":e=>e.target.value},v=(e,t)=>y.hasOwnProperty(e)?y[e](t):t,w={},k=(e,t)=>w.hasOwnProperty(e)?w[e](t):t,x=new Set(["input","select","textarea","checkbox","button","recaptcha2","google-places","country-prefix","hidden"]),E=e=>e.optimized?`${e.url}${e.name}-20w.webp`:e.url,S=[["af","93","Afghanistan"],["al","355","Albania"],["dz","213","Algeria"],["ad","376","Andorra"],["ao","244","Angola"],["ag","1268","Antigua and Barbuda"],["ar","54","Argentina"],["am","374","Armenia"],["aw","297","Aruba"],["au","61","Australia"],["at","43","Austria"],["az","994","Azerbaijan"],["bs","1242","Bahamas"],["bh","973","Bahrain"],["bd","880","Bangladesh"],["bb","1246","Barbados"],["by","375","Belarus"],["be","32","Belgium"],["bz","501","Belize"],["bj","229","Benin"],["bt","975","Bhutan"],["bo","591","Bolivia"],["ba","387","Bosnia and Herzegovina"],["bw","267","Botswana"],["br","55","Brazil"],["io","246","British Indian Ocean Territory"],["bn","673","Brunei"],["bg","359","Bulgaria"],["bf","226","Burkina Faso"],["bi","257","Burundi"],["kh","855","Cambodia"],["cm","237","Cameroon"],["ca","1","Canada"],["cv","238","Cape Verde"],["bq","599","Caribbean Netherlands"],["cf","236","Central African Republic"],["td","235","Chad"],["cl","56","Chile"],["cn","86","China"],["co","57","Colombia"],["km","269","Comoros"],["cd","243","Congo"],["cg","242","Congo"],["cr","506","Costa Rica"],["ci","225","Côte d'Ivoire"],["hr","385","Croatia"],["cu","53","Cuba"],["cw","599","Curaçao"],["cy","357","Cyprus"],["cz","420","Czech Republic"],["dk","45","Denmark"],["dj","253","Djibouti"],["dm","1767","Dominica"],["do","1","Dominican Republic"],["ec","593","Ecuador"],["eg","20","Egypt"],["sv","503","El Salvador"],["gq","240","Equatorial Guinea"],["er","291","Eritrea"],["ee","372","Estonia"],["et","251","Ethiopia"],["fj","679","Fiji"],["fi","358","Finland"],["fr","33","France"],["gf","594","French Guiana"],["pf","689","French Polynesia"],["ga","241","Gabon"],["gm","220","Gambia"],["ge","995","Georgia"],["de","49","Germany"],["gh","233","Ghana"],["gr","30","Greece"],["gd","1473","Grenada"],["gp","590","Guadeloupe"],["gu","1671","Guam"],["gt","502","Guatemala"],["gn","224","Guinea"],["gw","245","Guinea-Bissau"],["gy","592","Guyana"],["ht","509","Haiti"],["hn","504","Honduras"],["hk","852","Hong Kong"],["hu","36","Hungary"],["is","354","Iceland"],["in","91","India"],["id","62","Indonesia"],["ir","98","Iran"],["iq","964","Iraq"],["ie","353","Ireland"],["il","972","Israel"],["it","39","Italy"],["jm","1876","Jamaica"],["jp","81","Japan"],["jo","962","Jordan"],["kz","7","Kazakhstan"],["ke","254","Kenya"],["ki","686","Kiribati"],["xk","383","Kosovo"],["kw","965","Kuwait"],["kg","996","Kyrgyzstan"],["la","856","Laos"],["lv","371","Latvia"],["lb","961","Lebanon"],["ls","266","Lesotho"],["lr","231","Liberia"],["ly","218","Libya"],["li","423","Liechtenstein"],["lt","370","Lithuania"],["lu","352","Luxembourg"],["mo","853","Macau"],["mk","389","Macedonia"],["mg","261","Madagascar"],["mw","265","Malawi"],["my","60","Malaysia"],["mv","960","Maldives"],["ml","223","Mali"],["mt","356","Malta"],["mh","692","Marshall Islands"],["mq","596","Martinique"],["mr","222","Mauritania"],["mu","230","Mauritius"],["mx","52","Mexico"],["fm","691","Micronesia"],["md","373","Moldova"],["mc","377","Monaco"],["mn","976","Mongolia"],["me","382","Montenegro"],["ma","212","Morocco"],["mz","258","Mozambique"],["mm","95","Myanmar"],["na","264","Namibia"],["nr","674","Nauru"],["np","977","Nepal"],["nl","31","Netherlands"],["nc","687","New Caledonia"],["nz","64","New Zealand"],["ni","505","Nicaragua"],["ne","227","Niger"],["ng","234","Nigeria"],["kp","850","North Korea"],["no","47","Norway"],["om","968","Oman"],["pk","92","Pakistan"],["pw","680","Palau"],["ps","970","Palestine"],["pa","507","Panama"],["pg","675","Papua New Guinea"],["py","595","Paraguay"],["pe","51","Peru"],["ph","63","Philippines"],["pl","48","Poland"],["pt","351","Portugal"],["pr","1","Puerto Rico"],["qa","974","Qatar"],["re","262","Réunion"],["ro","40","Romania"],["ru","7","Russia"],["rw","250","Rwanda"],["kn","1869","Saint Kitts and Nevis"],["lc","1758","Saint Lucia"],["vc","1784","Saint Vincent and the Grenadines"],["ws","685","Samoa"],["sm","378","San Marino"],["st","239","São Tomé and Príncipe"],["sa","966","Saudi Arabia"],["sn","221","Senegal"],["rs","381","Serbia"],["sc","248","Seychelles"],["sl","232","Sierra Leone"],["sg","65","Singapore"],["sk","421","Slovakia"],["si","386","Slovenia"],["sb","677","Solomon Islands"],["so","252","Somalia"],["za","27","South Africa"],["kr","82","South Korea"],["ss","211","South Sudan"],["es","34","Spain"],["lk","94","Sri Lanka"],["sd","249","Sudan"],["sr","597","Suriname"],["sz","268","Swaziland"],["se","46","Sweden"],["ch","41","Switzerland"],["sy","963","Syria"],["tw","886","Taiwan"],["tj","992","Tajikistan"],["tz","255","Tanzania"],["th","66","Thailand"],["tl","670","Timor-Leste"],["tg","228","Togo"],["to","676","Tonga"],["tt","1868","Trinidad and Tobago"],["tn","216","Tunisia"],["tr","90","Turkey"],["tm","993","Turkmenistan"],["tv","688","Tuvalu"],["ug","256","Uganda"],["ua","380","Ukraine"],["ae","971","United Arab Emirates"],["gb","44","United Kingdom"],["us","1","United States"],["uy","598","Uruguay"],["uz","998","Uzbekistan"],["vu","678","Vanuatu"],["va","39","Vatican City"],["ve","58","Venezuela"],["vn","84","Vietnam"],["ye","967","Yemen"],["zm","260","Zambia"],["zw","263","Zimbabwe"]],C=e=>`\n0% {transform: translate3d(0,${-200*e}%,0) scale(.6); opacity:.5;}\n100% {transform: translate3d(0,0,0) scale(1); opacity:1;}\n`,$=e=>`\n0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;}\n100% {transform: translate3d(0,${-150*e}%,-1px) scale(.6); opacity:0;}\n`,N=(()=>{let e;return()=>{if(void 0===e&&"undefined"!=typeof window){const t=matchMedia("(prefers-reduced-motion: reduce)");e=!t||t.matches}return e}})(),O=({id:e,visible:t,message:o,height:s,position:i,variant:l})=>{const c=s?((e,t)=>{const a=e.includes("top")?1:-1,[n,o]=N()?["0%{opacity:0;} 100%{opacity:1;}","0%{opacity:1;} 100%{opacity:0;}"]:[C(a),$(a)];return{animation:t?`${r.keyframes(n)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards`:`${r.keyframes(o)} 0.4s forwards cubic-bezier(.06,.71,.55,1)`}})(i||"top-center",t):{opacity:0};return n.createElement("div",{className:`toast ${t?"animate-enter":"animate-leave"} ${l}`,style:{...c}},n.createElement("button",{className:"close",onClick:()=>a.toast.dismiss(e)},"X"),o)},P=(e,t="error",r=1e4)=>{a.custom((a=>n.createElement(O,{id:a.id,visible:a.visible,message:e,variant:t,height:a.height,position:a.position})),{duration:r})};function T(e=9){const t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";let a="";for(let n=0;n<e;n++)a+=t.charAt(Math.floor(62*Math.random()));return a}const M=t=>{try{return t?e.parseISO(t):void 0}catch(e){return}},L=e=>{try{return e?parseInt(e):void 0}catch(e){return}},A=e=>e?[e]:[],I={check_in:M,check_out:M,child_count:L,adult_count:L,rate_codes:A,promo_codes:A};const B=(e,t)=>`${e.replace(new RegExp("/$"),"")}/${t.replace(new RegExp("^/"),"")}`;function j({children:e,className:t,tagAttrs:a,onClick:r}){const i=new o.marked.Renderer;i.link=(e,t,n)=>{let r={href:e,title:t??"",target:"_blank"};return a?.a&&(r={...r,...a?.a}),`<a ${Object.entries(r).map((([e,t])=>`${e}="${t}"`)).join(" ")}>${n}</a>`},o.marked.setOptions({renderer:i});const l=()=>s(e?o.marked(e):"");return n.createElement(n.Fragment,null,t||r?n.createElement("div",{className:t,onClick:r},l()):n.createElement(n.Fragment,null,l()))}function R({className:e,label:t,description:a,...r}){return n.createElement("label",{className:`checkbox${r.value?" checked":""}${e?` ${e}`:""}`,onClick:r.onClick,onChange:r.onChange},!!t&&n.createElement("span",null,t),n.createElement("svg",{id:r.id,width:r.width?r.width:30,height:r.height?r.height:30,viewBox:"0 0 440 440"},n.createElement("path",{className:"box",d:"M 72 136 C 72 100.654 100.654 72 136 72 L 304 72 C 339.346 72 368 100.654 368 136 L 368 304 C 368 339.346 339.346 368 304 368 L 136 368 C 100.654 368 72 339.346 72 304 Z",fill:r.color?r.color:"#58595b"}),n.createElement("path",{className:"tick",d:"M 160 180 L 210 250 L 340 130",transform:"translate(40 65) rotate(-10 70.904 438.687)",fill:"transparent",strokeWidth:30,stroke:"white",strokeLinecap:"square",strokeLinejoin:"miter"})),!!a&&n.createElement("div",null,n.createElement(j,null,a)))}const z={FAB:"fab",FAS:"fas"},D=({icon:e,className:t,onClick:a,color:r})=>z.hasOwnProperty(e.group)?n.createElement(i.FontAwesomeIcon,{className:t,color:r,onClick:a,icon:[z[e.group],e.icon]}):n.createElement("img",{className:t,alt:e.icon,onClick:a,src:`/icons/${e.icon}.svg`});function G({className:e,label:t,description:a,input_name:r,onClick:o,onChange:s,value:i,...l}){const[c,m]=n.useState(!1),[u,d]=n.useState(0),[p,h]=n.useState(""),g=n.useRef(null),f=n.useCallback((e=>{s?.(S[e][1]),n.startTransition((()=>{m(!1),d(e)}))}),[s,S]),_=n.useCallback((()=>{if(!g.current)return;const e=g.current.querySelector(`#${l.name??"country-prefix"}__${S[u][0]}`);e&&b(g.current,e)}),[u,S]);return n.useEffect((()=>{if(!p)return;let e=S.findIndex((e=>e[2].toLowerCase().startsWith(p.toLowerCase())));e>=0?n.startTransition((()=>d(e))):n.startTransition((()=>h("")))}),[p]),n.useEffect((()=>{_()}),[u]),n.useEffect((()=>{g.current&&(c?g.current.focus():n.startTransition((()=>h(""))))}),[c]),n.createElement("label",{className:"country-prefix "+(e?` ${e}`:"")},!!t&&n.createElement("span",null,t),n.createElement("div",{className:"selected-prefix",onClick:()=>{n.startTransition((()=>m(!0))),g?.current?.focus()}},"+",i??S[0][1],n.createElement(D,{className:c?"opened":"",icon:{icon:"chevron-right",group:"FAS"}})),n.createElement("ul",{className:c?"show":"",ref:g,role:"listbox",tabIndex:-1,onKeyDown:e=>{e.stopPropagation(),e.preventDefault();const{key:t}=e;"ArrowDown"===t||"ArrowUp"===t?n.startTransition((()=>{d("ArrowDown"===t?Math.min(u+1,S.length-1):Math.max(u-1,0)),h("")})):"Escape"===t?n.startTransition((()=>m(!1))):"Enter"===t?f(u):"Backspace"===t?n.startTransition((()=>h(p.slice(0,-1)))):/^[ \p{L}]+$/u.test(t)&&n.startTransition((()=>h(p+t)))},"aria-activedescendant":`${l.name??"country-prefix"}__${S[u][0]}`},S.map((([e,t,a],r)=>n.createElement("li",{className:r===u?"selected":"",role:"option",onClick:()=>f(r),"aria-selected":r===u,"aria-label":`${a} +${t}`,id:`${l.name??"country-prefix"}__${e}`,key:`${l.name??"country-prefix"}__${e}`},a," +",t)))),n.createElement("input",{type:"hidden",name:r}),!!a&&n.createElement("div",null,n.createElement(j,null,a)))}function q(){return q=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},q.apply(this,arguments)}const F=e=>{if(e.address_components)for(const t of e.address_components)if("country"==t.types[0])return t.short_name;return null};var U=({label:e,name:t,input_name:a,value:r,defaultCountryCode:o,onChange:s,onClick:i,onFocus:c,onBlur:m,data:u,...d})=>{const[p,h]=n.useState();if(!process.env.GOOGLEMAPS_KEY)throw new Error("The environment variable GOOGLEMAPS_KEY is not defined!");const{ref:g}=l.usePlacesWidget({apiKey:process.env.GOOGLEMAPS_KEY,onPlaceSelected:e=>h({target:{value:e.formatted_address,data:{countryCode:F(e)}}}),...u});return n.useEffect((()=>{s&&p&&s(p)}),[p]),n.useEffect((()=>{if(!o||r||p)return;const e=S.find((e=>e[0]===o.toLowerCase()));e&&h({target:{value:e[2],data:{countryCode:o}}})}),[o]),n.createElement("label",{className:`google-places label-${t}`},!!e&&n.createElement("span",null,e),n.createElement("input",q({ref:g,name:a,autoComplete:"off",onChange:s,onClick:i,onFocus:c,onBlur:m,value:r,placeholder:d.placeholder??void 0},d)))};const K=e=>{if(!e)return;let t={src:e.url,sizes:"100vw",srcSet:""},a=[],n={fallback:e.url};const r=[e.width,360,769,1024,1216,1408].sort(((e,t)=>e-t));if(e.optimized){t.src=e.url+e.name+"-"+e.width+"w.jpg",n.fallback=e.url+e.name+"-20w.jpg",a.push({sizes:"100vw",srcSet:"",type:"image/avif"}),a.push({sizes:"100vw",srcSet:"",type:"image/webp"});for(let n in r){if(r[n]>e.width)break;let o=("0"===n?"":",")+e.url+e.name+"-"+r[n];t.srcSet+=o+"w.jpg "+r[n]+"w",a[0].srcSet+=o+"w.avif "+r[n]+"w",a[1].srcSet+=o+"w.webp "+r[n]+"w"}}return c.getImage({childImageSharp:{gatsbyImageData:{backgroundColor:"transparent",height:e.height/e.width,width:1,layout:"fullWidth",placeholder:n,images:{fallback:t,sources:a}}}})};var V=({imageData:e,...a})=>{let r=e??(()=>{const e=K(a.image),t=K(a.mobile_image);return e&&t?c.withArtDirection(e,[{media:"(max-width: 768px)",image:t}]):e})();return r?n.createElement(c.GatsbyImage,{className:t({"mobile-img":!!a.image&&!!a.mobile_image,[a.className]:!!a.className}),image:r,onLoad:a.onLoad,alt:a.image?.alt?a.image.alt:"",style:a.style}):n.createElement("span",null,"Missing image!")};var H=({label:e,type:t,input_type:a,description:r,name:o,input_name:s,icon:i,iconOnClick:l,read_only:c,...m})=>n.createElement("label",{className:`input label-${o}${"hidden"===a?" hidden":""}`},!!e&&n.createElement("span",null,e),!!i&&n.createElement(D,{icon:i,onClick:l}),n.createElement("input",q({type:a,name:s,readOnly:c},m)),!!r&&n.createElement("div",{className:"desc"},n.createElement("div",null,n.createElement(j,null,r))));const J=({animate:e=!0,...t})=>{const[a,r]=n.useState(1),o=t=>{e&&r(t)};return n.createElement("a",{className:t.className,onMouseDown:()=>o(.95),onMouseUp:()=>o(1),onTouchStart:()=>o(.95),onTouchEnd:()=>o(1),style:{transform:`scale(${a})`,transition:"color 0.2s ease, transform 0.2s ease"},title:t.title,href:t.to,target:t.target,onClick:t.onClick},t.children)};var W=e=>{const t=e.page_slug?m.Link:J;let a=e.page_slug?e.page_slug:e.external_link;return e.anchor&&(a=`${a}#${e.anchor}`),n.createElement(t,{className:e.className,to:a,title:e.title,target:e.target,onClick:e.onClick,animate:e.animate},!!e.icon&&n.createElement(D,{icon:e.icon}),e.children?e.children:e.text)};var Z=({pk:e,...t})=>n.createElement("ul",{className:t.className},t.links.map(((a,r)=>n.createElement("li",{key:`LinkList${e}-${r}`},n.createElement(W,a,t.children)))));const Y=(e,t)=>{for(let a of e){if(a.hasOwnProperty("options")){for(let e of a.options)if(t===e.value)return e;return a}if(t===a.value)return a}return null};var Q=({value:e,styles:t,options:a,label:r,...o})=>{const s=(e=>Array.isArray(e)?e:"string"==typeof e[Object.keys(e)[0]]?Object.entries(e).reduce(((e,[t,a])=>(e.push({label:a,value:t}),e)),[]):Object.entries(e).reduce(((e,[t,a])=>(e.push({label:t,options:Object.entries(a).reduce(((e,[t,a])=>[...e,{label:a,value:t}]),[])}),e)),[]))(a);return n.createElement("label",{className:"label-"+(o.className?o.className:o.name)},!!r&&n.createElement("span",null,r),n.createElement(u,q({options:s,value:"string"==typeof e?Y(s,e):e,styles:t},o)))};var X=e=>n.createElement("img",{className:e.className,src:e.file.url});var ee=({text:e,...t})=>n.createElement("div",{className:t.className},n.createElement(j,{tagAttrs:t.tagAttrs},e));var te=({label:e,...t})=>n.createElement("label",{className:`textarea label-${t.name}`},!!e&&n.createElement("span",null,e),n.createElement("textarea",t));var ae=e=>{const t=n.useMemo((()=>e.title&&"#"===e.title[0]?e.title:`### ${e.title}`),[e.title]);return n.createElement(j,{className:e.className,onClick:e.onClick},t)};var ne=({...e})=>n.createElement("button",{className:e.className,type:e.input_type??"button",onClick:e.onClick},e.value);const re=e=>{const{children:t,...a}=e;return n.createElement("button",q({className:"embla__button embla__button--prev",type:"button"},a),n.createElement("svg",{className:"embla__button__svg",viewBox:"0 0 532 532"},n.createElement("path",{fill:"currentColor",d:"M355.66 11.354c13.793-13.805 36.208-13.805 50.001 0 13.785 13.804 13.785 36.238 0 50.034L201.22 266l204.442 204.61c13.785 13.805 13.785 36.239 0 50.044-13.793 13.796-36.208 13.796-50.002 0a5994246.277 5994246.277 0 0 0-229.332-229.454 35.065 35.065 0 0 1-10.326-25.126c0-9.2 3.393-18.26 10.326-25.2C172.192 194.973 332.731 34.31 355.66 11.354Z"})),t)},oe=e=>{const{children:t,...a}=e;return n.createElement("button",q({className:"embla__button embla__button--next",type:"button"},a),n.createElement("svg",{className:"embla__button__svg",viewBox:"0 0 532 532"},n.createElement("path",{fill:"currentColor",d:"M176.34 520.646c-13.793 13.805-36.208 13.805-50.001 0-13.785-13.804-13.785-36.238 0-50.034L330.78 266 126.34 61.391c-13.785-13.805-13.785-36.239 0-50.044 13.793-13.796 36.208-13.796 50.002 0 22.928 22.947 206.395 206.507 229.332 229.454a35.065 35.065 0 0 1 10.326 25.126c0 9.2-3.393 18.26-10.326 25.2-45.865 45.901-206.404 206.564-229.332 229.52Z"})),t)},se=e=>{const{children:t,...a}=e;return n.createElement("button",q({type:"button"},a),t)},ie={mobile:"(max-width: 768px)",tablet:"(min-width: 769px) and (max-width: 1023px)",desktop:"(min-width: 1024px) and (max-width: 1215px)",wide:"(min-width: 1216px) and (max-width: 1407)",fullhd:"(min-width: 1408px)"};var le=({id:e,emblaRef:t,emblaApi:a,slidesPerView:r,slidesPerViewport:o,slides:s,gap:i,showButtons:l,showDots:c,showProgress:m,showScroll:u})=>{const[d,p]=n.useState(0),{selectedIndex:h,scrollSnaps:g,onDotButtonClick:b}=((e,t)=>{const[a,r]=n.useState(0),[o,s]=n.useState([]),i=n.useCallback((t=>{e&&e.scrollTo(t)}),[e]),l=n.useCallback((e=>{s(e.scrollSnapList())}),[]),c=n.useCallback((e=>{r(e.selectedScrollSnap())}),[]);return n.useEffect((()=>{e&&t&&(l(e),c(e),e.on("reInit",l),e.on("reInit",c),e.on("select",c))}),[e,l,c]),{selectedIndex:a,scrollSnaps:o,onDotButtonClick:i}})(a,c),f=n.useCallback((e=>{const t=Math.max(0,Math.min(1,e.scrollProgress()));p(100*t)}),[]),{prevBtnDisabled:_,nextBtnDisabled:y,onPrevButtonClick:v,onNextButtonClick:w}=((e,t)=>{const[a,r]=n.useState(!0),[o,s]=n.useState(!0),i=n.useCallback((()=>{e&&e.scrollPrev()}),[e]),l=n.useCallback((()=>{e&&e.scrollNext()}),[e]),c=n.useCallback((e=>{r(!e.canScrollPrev()),s(!e.canScrollNext())}),[]);return n.useEffect((()=>{e&&t&&(c(e),e.on("reInit",c),e.on("select",c))}),[e,c]),{prevBtnDisabled:a,nextBtnDisabled:o,onPrevButtonClick:i,onNextButtonClick:l}})(a,l);return n.useEffect((()=>{a&&(m||u)&&(f(a),a.on("reInit",f),a.on("scroll",f))}),[a,f]),n.createElement("div",{id:e,className:"embla"},n.createElement("div",{className:"embla__viewport",ref:t},n.createElement("div",{className:"embla__container"},s.map(((e,t)=>n.createElement("div",{className:"embla__slide",key:`embla-${t}`},e))))),l&&n.createElement(n.Fragment,null,n.createElement(re,{onClick:v,disabled:_}),n.createElement(oe,{onClick:w,disabled:y})),c&&n.createElement("div",{className:"embla__dots"},g.map(((e,t)=>n.createElement(se,{key:t,onClick:()=>b(t),className:"embla__dot".concat(t===h?" embla__dot--selected":"")})))),!!m&&n.createElement("div",{className:"embla__progress"},n.createElement("div",{className:"embla__progress__bar",style:{transform:`translate3d(${d}%,0px,0px)`}})),!!u&&n.createElement("div",{className:"embla__scroll"},n.createElement("div",{className:"embla__scroll__bar",style:{width:1===s.length?"100%":"50%",transform:`translate3d(${d}%,0px,0px)`}})),n.createElement("style",null,`\n #${e} .embla__container{\n margin-left: calc(${i||0}px * -1);\n }\n #${e} .embla__slide{\n flex: 0 0 ${(100/r).toFixed(2)}%;\n padding-left: ${i||0}px;\n }\n ${o?Object.entries(o).map((([t,a])=>{let n=null,r=a.slides;return a.gap&&(n=a.gap),`@media ${ie[t]} {\n ${null!==n?`#${e} .embla__container{margin-left: calc(${n}px * -1);}`:""} \n #${e} .embla__slide {\n flex: 0 0 ${(100/r).toFixed(2)}%;\n ${null!==n?`padding-left: ${n}px;`:""}\n }\n }`})).join("\n"):""}\n `))};var ce=({modalId:e,show:t,className:a,setShowModal:r,children:o})=>(n.useEffect((()=>{document.body.style.overflow=t?"hidden":"unset"}),[t]),n.createElement("div",{className:"modal-layout"+(t?" opened":""),onClick:t=>{t.target===t.currentTarget&&r(e,!1)}},n.createElement("div",{className:"modal"+(a?` ${a}`:"")},n.createElement("div",{className:"modal-body"},o),n.createElement("button",{className:"close",onClick:()=>r(e,!1)},n.createElement(D,{icon:{icon:"times",group:"FAS"}})))));function me({color:e,size:t,className:a}){return n.createElement("div",{className:"spinner-box"+(a?` ${a}`:"")},n.createElement("div",{className:"spinner",style:{border:`5px solid ${e||"white"}`,width:t||45,height:t||45}}))}const ue={link:W,title:ae,text:ee,input:H,textarea:te,checkbox:R,"country-prefix":G,select:Q,button:ne,"google-places":U,image:V,hidden:H},de=e=>{if(ue.hasOwnProperty(e.type)){const t=ue[e.type];return n.createElement(t,e)}return console.error(`Element "${e.type}" not supported by <Form />!`),n.createElement(n.Fragment,null)};exports.BookingUrl=(t,a,n,r,o=null,s=null)=>{let i=function(e,t){let a=e.split(/\$\{(?!\d)[\wæøåÆØÅ]*\}/),n=(e.match(/[^{}]+(?=})/g)||[]).map((e=>t[e]||(void 0===t[e]?"":t[e])));return String.raw({raw:a},...n)}(a.variables,{hotel_code:t,check_in:e.format(n.check_in,a.date_format.replace(/m/g,"M")),check_out:e.format(n.check_out,a.date_format.replace(/m/g,"M")),adult_count:n.adult_count,child_count:n.child_count,total_rooms:1,rate_code:!n.promo_codes.length&&o?o:"",promo_code:n.promo_codes.length?n.promo_codes[0]:""});s&&(i+="&room="+s);let l="undefined"!=typeof window&&p(window.innerWidth)?(r?a.mobile_url:a.mobile_url_no_availability)+"&"+i:(r?a.url:a.url_no_availability)+"&"+i;window.open(l,"_blank")},exports.Button=ne,exports.Carousel=le,exports.Checkbox=R,exports.CountryPrefix=G,exports.Form=function({className:e,form:a,setForm:r,errors:o,setErrors:s,beforeSubmit:i,formatParams:l,validate:c,validateResponse:m,onSuccess:u,onFocus:p,onBlur:h,onClick:g,onChange:b,onError:f,afterSubmit:y,loading:w}){const{executeRecaptcha:E}=d.useGoogleReCaptcha(),S=(e,t=!0)=>n.createElement("div",null,n.createElement("ul",{className:"error"},Object.entries(e).map((([e,a],r)=>n.createElement("li",{key:`error-form${r}`},n.createElement("span",null,t?n.createElement("strong",null,e,":"):""," ",a)))))),C=n.useCallback((async()=>{if(E)return await E(a.settings.recaptcha_action);console.log("Execute recaptcha not yet available")}),[E]);n.useEffect((()=>{a.settings.recaptcha_v3&&C()}),[a.settings.recaptcha_v3,C]);const $=e=>{if("string"==typeof e){const i=a.fields[e];return n.createElement("div",{className:`${i.type} ${i.type}-${i.name}`,key:`ff-${a.settings.pk}-${e}`},x.has(i.type)?n.createElement(de,q({className:t({[i.data.class]:Boolean(i.data.class),error:Boolean(o[e])}),onFocus:e=>{p&&p(e)},onBlur:e=>{h&&h(e)},onClick:t=>{if(["checkbox","radio"].includes(i.input_type)){let t={...a};"checkbox"===i.input_type?t.fields={...a.fields,[e]:{...i,value:!i.value}}:t.fields=Object.entries(a.fields).reduce(((e,[t,a])=>(e[t]=a,a.input_name===i.input_name&&(e[t].checked=i.value===e[t].value),e)),{}),n.startTransition((()=>{r(t),o[e]&&s({})}))}g&&g(t)},checked:"radio"===i.input_type?!!i.checked:void 0,onChange:t=>{["checkbox","radio"].includes(i.input_type)||n.startTransition((()=>{r({...a,fields:{...a.fields,[e]:{...i,value:v(i.type,t),data:t.target?.data?{...i.data,...t.target.data}:i.data}}}),o[e]&&s({})})),b&&b(t)}},i,{value:i.value?i.value:""})):n.createElement(de,i))}return n.createElement("div",{className:`form-section ${e.name}`,key:`ff-${a.settings.pk}-${e.name}`},e.children.map($))};return n.createElement("form",{className:e,action:a.settings.form_submit,method:a.settings.form_method,onSubmit:e=>(async e=>{e.preventDefault();let t={},o=Object.values(a.fields).reduce(((e,a)=>{if(x.has(a.type)){if(a.required&&!a.value)return t[a.input_name]=`${a.label?a.label:a.placeholder} is required`,e;if("radio"===a.input_type&&!a.checked)return e;e[a.input_name]=k(a.type,a.value)}return e}),{});if(a.settings.recaptcha_v3&&(o.recaptcha_token=await C(),o.recaptcha_token||(t.recaptcha="reCAPTCHA failed!")),a.fields.recaptcha&&!o.recaptcha&&(t.recaptcha="Recaptcha is mandatory"),c&&(t={...t,...c(a.fields,o)}),Object.keys(t).length)return void n.startTransition((()=>{s(t),P(S(t,!1))}));if(i&&i(a),l&&(o=l(o)),!a.settings.form_ajax_request)return e.target.submit();const d=await _(a.settings.form_submit,o,a.settings.form_method,a.settings.form_recipient?{"recipient-id":`${a.settings.form_recipient}`}:{});n.startTransition((()=>{if(200!==d.status||m&&!m(d))if(f)f(d);else if(d.errors){let e=Object.entries(d.errors).reduce(((e,[t,a])=>(e[t]=a.join(", "),e)),{});P(S(e)),s(e)}else d.error&&P(S({failed:d.error?n.createElement(j,null,d.error):"Oops. Something went wrong. Please try again later, or contact us at members@tfehotels.com"},!1));else u?u(d,a.settings.form_success_msg):P(a.settings.form_success_msg?n.createElement(j,null,a.settings.form_success_msg):"Success! Your form has been successfully sent. Thank you for reaching out, we will get back to you as soon as possible.","success"),a.settings.form_redirection&&setTimeout((()=>{window.location.href=a.settings.form_redirection}),3e3),r({...a,fields:Object.entries(a.fields).reduce(((e,[t,a])=>(e[t]=x.has(a.type)?{...a,value:""}:a,e)),{})})})),y&&y(d)})(e),noValidate:!0},w?n.createElement(me,{color:"#00b5ee"}):a.items.map($))},exports.GooglePlaces=U,exports.Icon=D,exports.Image=V,exports.Input=H,exports.Link=W,exports.LinkList=Z,exports.Markdown=j,exports.Modal=ce,exports.SVG=X,exports.SearchAvailability=async(t,a,n,r,o,s,i)=>{if(!i)throw new Error('"hotel_codes" must be defined within the page attributes!');return fetch(`${process.env.SABRE_PROTOCOL}://${process.env.SABRE_HOST}/availability`,{headers:{"Content-Type":"application/json"},method:"POST",body:JSON.stringify({check_in:e.format(t,"yyyy-MM-dd"),check_out:e.format(a,"yyyy-MM-dd"),hotel_codes:i,adult_count:n,child_count:r,area_codes:[],promo_codes:o,rate_codes:s,price_range:{min:0,max:0},is_mobile:"undefined"!=typeof window&&p(window.innerWidth),language:"en"})}).then((e=>e.json())).then((e=>(e=>e.success?(e.data.forEach((e=>{e.room_rates={},e.rates.forEach((t=>t.forEach((t=>{e.room_rates.hasOwnProperty(t.room_type_code)||(e.room_rates[t.room_type_code]=[]),e.room_rates[t.room_type_code].push(t)}))))})),e.data):{})(e)),(e=>{console.log(e)}))},exports.Select=Q,exports.Spinner=me,exports.Text=ee,exports.Textarea=te,exports.Title=ae,exports.Toast=O,exports.animateJSX=(e,t="presence")=>`jsx__${t} jsx__${t}__${["from","leave"].includes(e.stage)?"loading":"loaded"}`,exports.apiLink=(e="",t=null)=>`${B(`${process.env.API_PROTOCOL}://${process.env.API_HOST}`,e)}${t?`?${new URLSearchParams(t).toString()}`:""}`,exports.cacheSearchParams=e=>localStorage.setItem("search-params",JSON.stringify(e)),exports.cachedSearchParams=()=>{if("undefined"==typeof window)return null;let t=localStorage.getItem("search-params");return t&&(t=JSON.parse(t),t.rate_codes=[],t.promo_codes=[],t.check_in=t.check_in?new Date(t.check_in):new Date,t.check_out=t.check_out?new Date(t.check_out):e.addDays(new Date,1),t.check_in<new Date)?null:t},exports.classNames=(e,a=null)=>(a&&(e.hidden=f(a,""),e.hidden_mobile=f(a,"m"),e.hidden_tablet=f(a,"t"),e.hidden_desktop=f(a,"d")),t(e)),exports.countryPrefixes=S,exports.dealLink=e=>{if(!process.env.DEALS_ROOT_SLUG)throw new Error("The env variable DEALS_ROOT_SLUG is not defined!");return B(process.env.DEALS_ROOT_SLUG,e)},exports.decodeQuotePlus=e=>decodeURIComponent(e.replace(/\+/g,"%20")),exports.deleteUserSession=()=>{sessionStorage.removeItem("user")},exports.deviceId=e=>e>1023?"d":e>768?"t":"m",exports.getInputEventValue=v,exports.getInputHumanValue=k,exports.getThumb=e=>e.image||e.mobile_image?"undefined"!=typeof window&&p(window.innerWidth)?e.mobile_image?E(e.mobile_image):E(e.image):e.image?E(e.image):E(e.mobile_image):"",exports.getViewPort=()=>{if("undefined"==typeof window)throw new Error("getViewPort() requires browser window!");return p(window.innerWidth)?"m":h(window.innerWidth)?"t":"d"},exports.hotelOptionsByCity=e=>{let t={Sydney:[],Melbourne:[],Perth:[],Hobart:[],Canberra:[],Adelaide:[],"Gold Coast":[],Darwin:[],Singapore:[]};const a=Object.entries(e).reduce(((e,[a,n])=>(t[n.city]&&(t[n.city].push({label:n.name,value:a}),e[a]=n.sort),e)),{});return Object.entries(t).map((([e,t])=>({label:e,options:t.sort(((e,t)=>a[e.value]-a[t.value]))})))},exports.human_number=function(e,t=2){return e.toLocaleString("en-US",{useGrouping:!1,maximumFractionDigits:t})},exports.isDesktop=g,exports.isIOS=()=>/iPad|iPhone|iPod/.test(navigator.userAgent),exports.isMobile=p,exports.isTablet=h,exports.joinAddress=e=>e.reduce(((e,t)=>(t&&e.push(t),e)),[]).join(", "),exports.joinPaths=B,exports.json_request=_,exports.loadUserSession=()=>{const e=sessionStorage.getItem("user");return e?JSON.parse(e):null},exports.minimumSlides=(e,t)=>t.length>=e?t:[].concat(...new Array(Math.ceil(e/t.length)).fill(t)),exports.opentableLink=e=>`https://www.opentable.com.au/restref/client?rid=${e}&restref=${e}&lang=en-AU&r3uid=${T(9)}&ot_source=Restaurant+website&color=1`,exports.optimizedThumb=E,exports.parseQueryParams=function(e,t={}){return e?(t={rate_code:"rate_codes",promo_code:"promo_codes",...t},e.slice(1).split("&").reduce(((e,a)=>{let[n,r]=a.split("=");return n=decodeURIComponent(n),r=decodeURIComponent(r||""),t[n]&&(n=t[n]),e[n]=I.hasOwnProperty(n)?I[n](r):r,e}),{})):{}},exports.preloadImages=async e=>{e.forEach((e=>{if(e){(new Image).src=e}}))},exports.pricePerNight=(e,t)=>(parseFloat(e)/t).toFixed(2),exports.randomString=T,exports.saveUserSession=e=>{sessionStorage.setItem("user",JSON.stringify({loyaltyprofileId:e.loyaltyprofileId,profile_id:e.profile_id,title:e.title,first_name:e.first_name,last_name:e.last_name,email:e.email,zip:e.zip,country_code:e.country_code,MobilePhoneCountryCode:e.MobilePhoneCountryCode,mobile:e.mobile,date_of_birth:e.date_of_birth,language:e.language}))},exports.scrollToChild=b,exports.scrollToElement=async e=>{document.getElementById(e)?.scrollIntoView({behavior:"smooth"})},exports.siteUrl=(e="")=>`${process.env.PROTOCOL}://${process.env.HOST}${e}`,exports.sp_to_qs=(t,a,n,r,o,s)=>`?check_in=${e.format(t,"yyyy-MM-dd")}&check_out=${e.format(a,"yyyy-MM-dd")}&adult_count=${n}&child_count=${r}&promo_code=${s?.length?s[0]:""}&rate_code=${o?.length?o[0]:""}`,exports.ssoURL=e=>`${process.env.SABRE_SSO_PROTOCOL}://${process.env.SABRE_SSO_HOST}${e}`,exports.tagExists=(e,...t)=>{for(const a of Object.keys(e))if(t.includes(a))return!0;return!1},exports.toImageElement=(e,t={})=>Object.entries(e).reduce(((e,[a,n])=>(e[t[a]||a]=n,e)),{type:"image",title:"",loading:"eager",image:void 0,mobile_image:void 0,mobile_file:void 0}),exports.toastMsg=P,exports.tripadvisorRatingURL=e=>`https://www.tripadvisor.com/img/cdsi/img2/ratings/traveler/${parseFloat(e).toFixed(1)}-41022-5.svg`,exports.useViewport=function(){const[e,t]=n.useState("d");return n.useEffect((()=>{const a=()=>{const a=window.innerWidth;if("m"===e){if(p(a))return}else if("t"===e){if(h(a))return}else if("d"===e&&g(a))return;n.startTransition((()=>t(p(a)?"m":h(a)?"t":"d")))};return a(),window.addEventListener("resize",a),()=>{window.removeEventListener("resize",a)}}),[e]),e};
2
2
  //# sourceMappingURL=index.browser.cjs.map