PageSourceSearch

https://canoetribe.com/wp-content/plugins/tbx-plugin/js/frontend-scripts.bundle.js?ver=1790633312

js canoetribe.com collected 2026-09-29 00:54:29 UTC 12,596 bytes, 1 lines download raw bytes

1"use strict";(()=>{var y=".tb-details",T="is-desktop-width";function L(e=document.body){let t=e.closest(`.${T}`)!==null;e.querySelectorAll(y).forEach(n=>{n.dataset.tbAccordion!=="always"&&(n.open=t||n.hasAttribute("data-open-on-mobile"))})}function S(){tb.onRootElementReady(e=>{if(!e.querySelector(y))return;let t=e.classList.contains(T);L(e),tb.onElementResized(e,()=>{let n=e.classList.contains(T);n!==t&&(t=n,L(e))})})}function M(){let e=document.querySelectorAll(".average-reviews-wrapper");e.length&&e.forEach(t=>{var r,s;let n={action:"load_average_embed_social_reviews",reviews_redirect_url:(r=t.getAttribute("data-reviews-redirect-url"))!=null?r:"",embed_social_id:(s=t.getAttribute("data-embed-social-id"))!=null?s:""},o=Object.keys(n).map(a=>encodeURIComponent(a)+"="+encodeURIComponent(n[a])).join("&"),i=new XMLHttpRequest;i.open("POST",tb.AJAX_URL,!0),i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.onreadystatechange=function(){if(i.readyState===4&&i.status===200){let a=JSON.parse(i.responseText);t.innerHTML=a.data.html}},i.send(o)})}var U="tb-breadcrumbs__toggle";function D(){let e=document.createElement("li");return e.className=U,e.innerHTML='<button type="button" aria-label="Show the full path">&hellip;</button>',e}function I(e){let t=e[0],n=e[e.length-1];return!!t&&!!n&&n.offsetTop>t.offsetTop}function N(e){let t=e.querySelector("ol");if(!t)return;let n=Array.from(t.children).filter(s=>s instanceof HTMLElement);if(n.length<3)return;let o=null,i=()=>{o==null||o.remove(),o=null,e.classList.remove("is-collapsed")},r=()=>{i(),I(n)&&(o=D(),o.addEventListener("click",()=>{i(),window.removeEventListener("resize",r)},{once:!0}),t.prepend(o),e.classList.add("is-collapsed"))};r(),window.addEventListener("resize",r)}function A(){document.querySelectorAll(".tb-breadcrumbs").forEach(N)}function B(e,t){e.href=`tel:${t}`;let n=Array.from(e.childNodes).find(o=>{var i;return o.nodeType===Node.TEXT_NODE&&((i=o.textContent)!=null?i:"").trim()!==""});n&&(n.textContent=t)}function F(){document.querySelectorAll(".call-button[data-basecamp]").forEach(t=>{var i,r;let n=(i=t.dataset.basecamp)!=null?i:"",o=(r=t.dataset.lang)!=null?r:"";!n||!o||fetch(tb.AJAX_URL,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({action:"tb_resolve_phone_number",basecamp:n,lang:o})}).then(s=>s.json()).then(s=>{var l;let a=(l=s==null?void 0:s.data)==null?void 0:l.phone_number;s!=null&&s.success&&typeof a=="string"&&a!==""&&B(t,a)}).catch(()=>{})})}var X=/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/,V=/^\+[1-9]\d{6,14}$/,W=["hidden","submit","button","reset","image"];function $(e){return Array.from(e.querySelectorAll("input, select, textarea")).filter(t=>t.disabled?!1:!(t instanceof HTMLInputElement&&W.includes(t.type)))}function w(e){return e instanceof HTMLInputElement&&(e.type==="checkbox"||e.type==="radio")}function G(e){if(w(e))return e.required?e.type==="radio"&&e.form&&e.name?e.form.querySelector(`input[type="radio"][name="${CSS.escape(e.name)}"]:checked`)?null:"required":e.checked?null:"required":null;let t=e.value.trim();return t===""?e.required?"required":null:e instanceof HTMLInputElement&&e.type==="email"?X.test(t)&&e.checkValidity()?null:"email":e instanceof HTMLInputElement&&e.type==="tel"?e.pattern?e.checkValidity()?null:"phone":V.test(t)?null:"phone":e.checkValidity()?null:"invalid"}function J(e){var t;return(t=e.closest(".tb-input-container, label"))!=null?t:e.parentElement}function K(e,t){let n=e.form,o=n?{required:n.dataset.errorRequired,email:n.dataset.errorEmail,phone:n.dataset.errorPhone,invalid:n.dataset.errorInvalid}[t]:void 0;return e.dataset.errorMessage||o||e.validationMessage||""}function H(e,t){let n=J(e),o=t===null;if(e.classList.toggle("invalid",!o),n==null||n.classList.toggle("invalid",!o),o){e.removeAttribute("aria-invalid"),n==null||delete n.dataset.tbError;return}e.setAttribute("aria-invalid","true"),n&&!w(e)&&(n.dataset.tbError=K(e,t))}function j(e){H(e,null)}function z(e){return e.querySelector('input[type="submit"], button[type="submit"], button:not([type])')}var Y=800,v=new WeakMap;function m(e,t={}){t.touchAll&&(e.dataset.tbSubmitAttempted="1");let n=e.dataset.tbSubmitAttempted==="1",o=!0;$(e).forEach(r=>{let s=G(r);s!==null&&(o=!1),!(r===t.typingIn&&s!==null)&&(n||r.dataset.tbTouched==="1"?H(r,s):j(r))});let i=z(e);return i&&(i.classList.toggle("disabled",!o),i.setAttribute("aria-disabled",o?"false":"true")),o}function E(e){if(e.dataset.tbValidationBound==="1"){m(e);return}e.dataset.tbValidationBound="1",e.noValidate=!0;let t=i=>{let r=i.target;return r instanceof HTMLInputElement||r instanceof HTMLSelectElement||r instanceof HTMLTextAreaElement?r:null},n=i=>{let r=v.get(i);r!==void 0&&(window.clearTimeout(r),v.delete(i))};e.addEventListener("input",i=>{let r=t(i);r&&(n(r),m(e,{typingIn:r}),v.set(r,window.setTimeout(()=>{v.delete(r),r.dataset.tbTouched="1",m(e)},Y)))});let o=i=>{let r=t(i);r&&(n(r),r.dataset.tbTouched="1",m(e))};e.addEventListener("change",o),e.addEventListener("focusout",o),m(e)}function _(e=document){e.querySelectorAll('form.tb-form:not([data-tb-validate="off"])').forEach(t=>{E(t)})}var f=class{constructor(t={}){this.keepUpdatedXhr=new XMLHttpRequest,t.skipButtons||this.initButtons()}initButtons(){document.querySelectorAll(".button-general-keep-me-updated").forEach(n=>
1{n.addEventListener("click",o=>this.handleButtonClick(o))})}handleButtonClick(t){t.preventDefault();let n={action:"open_keep_me_updated_popup"};this.keepUpdatedXhr&&this.keepUpdatedXhr.readyState!==4&&this.keepUpdatedXhr.abort(),this.keepUpdatedXhr.open("POST",tb.AJAX_URL,!0),this.keepUpdatedXhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),this.keepUpdatedXhr.onreadystatechange=()=>{if(this.keepUpdatedXhr.readyState===4)if(this.keepUpdatedXhr.status===200)try{let o=JSON.parse(this.keepUpdatedXhr.responseText);o.success&&this.showPopup(o.data.html)}catch(o){console.error("Error parsing response:",o)}else console.error(`Error: ${this.keepUpdatedXhr.status} - ${this.keepUpdatedXhr.statusText}`)},this.keepUpdatedXhr.send(new URLSearchParams(n).toString())}showPopup(t){var s,a;let n=document.createElement("div");n.innerHTML=t;let o=n.querySelector(".tb-popup--keep-updated-wrapper");if(!o)return;document.body.appendChild(o);let i=(s=o.querySelector(".tb-popup__content"))==null?void 0:s.cloneNode(!0);o.innerHTML='<div class="tb-popup-inner tb-block"><div class="tb-popup"></div><div class="tb-popup-close"><i class="fa-solid fa-xmark fa-fw" aria-hidden="true"></i></div></div>';let r=o.querySelector(".tb-popup");r&&i&&r.appendChild(i),o.showModal(),this.initForms(),(a=o.querySelector(".tb-popup-close"))==null||a.addEventListener("click",()=>{o.close(),o.remove()})}initForms(){document.querySelectorAll(".tb-popup--keep-updated-wrapper form").forEach(n=>{var i;let o=(i=n.getAttribute("data-recaptcha-key"))!=null?i:"";this.setHiddenInputs(n),n.dataset.tbLeadBound||(n.dataset.tbLeadBound="1",n.addEventListener("submit",r=>{r.preventDefault(),this.submitForm(n,o)})),E(n)})}submitForm(t,n){if(t.dataset.tbSubmitting||!m(t,{touchAll:!0}))return;t.dataset.tbSubmitting="1";let o=t.closest(".tb-form-container");o==null||o.classList.add("is-submitting"),o==null||o.querySelectorAll(".tb-form-message").forEach(r=>{r.hidden=!0});let i=r=>{let s=[];t.querySelectorAll("input").forEach(a=>{if(a.type==="checkbox"){a.checked&&s.push({name:a.name,value:"1"});return}s.push({name:a.name,value:a.value})}),this.postLeadData(t,s,r)};if(typeof grecaptcha=="undefined"||!n){i("");return}grecaptcha.enterprise.ready(async()=>{let r=await grecaptcha.enterprise.execute(n,{action:"LOGIN"});i(r)})}postLeadData(t,n,o){let i=new XMLHttpRequest,r={action:"post_lead_data",formData:JSON.stringify(n),grecaptchaResponse:o};i.open("POST",tb.AJAX_URL,!0),i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.onreadystatechange=()=>{var c,p,d;if(i.readyState!==4)return;delete t.dataset.tbSubmitting;let s=t.closest(".tb-form-container");s==null||s.classList.remove("is-submitting");let a=(u,h)=>{let b=s==null?void 0:s.querySelector(u?".tb-form-message--success":".tb-form-message--error");if(!b)return;let g=b.querySelector("p");g&&(g.innerHTML=h),b.hidden=!1};if(i.status!==200){console.error("Error:",i.statusText),a(!1,(c=t.dataset.errorInvalid)!=null?c:"");return}let l=JSON.parse(i.responseText);a(l.data.formSuccess,l.data.message),l.data.formSuccess&&((d=(p=t.closest(".tb-popup"))==null?void 0:p.querySelector(".remove-me-on-result"))==null||d.remove(),t.hidden=!0)},i.send(new URLSearchParams(r).toString())}setHiddenInputs(t){if(tb.TB_BRAND_ID===void 0||tb.TB_BRAND_ID===null)return;let n=[{type:"brands",id:tb.TB_BRAND_ID}];t.querySelectorAll('input[type="hidden"]').forEach(o=>{o.name.includes("brands")&&(o.value=JSON.stringify(n))})}};function R(e){let t=new URLSearchParams({action:e});return fetch(tb.AJAX_URL,{method:"POST",body:t}).then(n=>n.json()).then(n=>n.success?n.data.html:null).catch(()=>null)}function k(){new f,tb.openWaitingListPopup=e=>{R("open_waiting_list_popup").then(t=>{if(t!==null&&(new f().showPopup(t),e)){let n=document.querySelector('.tb-popup--keep-updated-wrapper input[name="departure"]');n&&(n.value=e)}})},tb.openKeepMeUpdatedPopup=()=>{R("open_keep_me_updated_popup").then(e=>{e!==null&&new f().showPopup(e)})},document.addEventListener("click",e=>{var o;let t=e.target;t!=null&&t.closest('a[href="#tb-interest-form"]')&&(e.preventDefault(),(o=tb.openKeepMeUpdatedPopup)==null||o.call(tb))})}var Q=".tb-header__subnav",x="tb-header__subnav-control";var Z={prev:"M7 1 1 7l6 6",next:"M1 1l6 6-6 6"},ee={prev:"Scroll to previous categories",next:"Scroll to more categories"};function O(e){let t=document.createElement("button");return t.type="button",t.className=`${x} ${x}--${e}`,t.setAttribute("aria-label",ee[e]),t.innerHTML=`<svg viewBox="0 0 8 14" aria-hidden="true" focusable="false">
1<path d="${Z[e]}" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>`,t}function te(e){let t=[];return e.querySelectorAll("li > a:not(.tb-button)").forEach(n=>{var s,a;let o=(a=(s=n.getAttribute("href"))==null?void 0:s.slice(1))!=null?a:"",i=o?document.getElementById(decodeURIComponent(o)):null,r=n.parentElement;i&&r&&t.push({item:r,link:n,target:i})}),t}function ne(e,t){let n=te(t),o=0,i=()=>{o=Date.now()+2e3};if(!n.length)return i;let r=-1,s=0,a=p=>{let d=t.scrollWidth-t.clientWidth;if(d<=2||Date.now()<o)return;let u=p.getBoundingClientRect().left-t.getBoundingClientRect().left,h=t.scrollLeft+u-(t.clientWidth-p.offsetWidth)/2;t.scrollTo({left:Math.min(Math.max(h,0),d),behavior:"smooth"})},l=()=>{let p=getComputedStyle(e).position==="fixed"?e.getBoundingClientRect().bottom:0,d=-1;n.forEach((u,h)=>{!u.item.hidden&&u.target.getBoundingClientRect().top-8<=p&&(d=h)}),d!==r&&(r=d,n.forEach((u,h)=>{let b=h===d;u.item.classList.toggle("active",b),b?u.link.setAttribute("aria-current","true"):u.link.removeAttribute("aria-current")}),d>=0&&a(n[d].item))},c=()=>{s||(s=requestAnimationFrame(()=>{s=0,l()}))};return window.addEventListener("scroll",c,{passive:!0}),window.addEventListener("resize",c),["pointerdown","wheel","touchstart","keydown"].forEach(p=>{t.addEventListener(p,i,{passive:!0})}),l(),i}function oe(e){var a;let t=e.querySelector("ul");if(!t)return;let n=O("prev"),o=O("next");t.before(n),t.after(o);let i=ne(e,t),r=()=>{let l=t.scrollWidth-t.clientWidth,c=l>2;n.disabled=!c||t.scrollLeft<=2,o.disabled=!c||t.scrollLeft>=l-2,e.classList.toggle("is-scrollable",c),e.classList.toggle("can-scroll-prev",!n.disabled),e.classList.toggle("can-scroll-next",!o.disabled)},s=l=>{let c=Math.max(t.clientWidth*.8,120);i(),t.scrollBy({left:l==="next"?c:-c,behavior:"smooth"})};n.addEventListener("click",()=>s("prev")),o.addEventListener("click",()=>s("next")),t.addEventListener("scroll",r,{passive:!0}),new ResizeObserver(r).observe(t),(a=document.fonts)==null||a.ready.then(r),r()}function q(){document.querySelectorAll(Q).forEach(oe)}var re=".tb-trip-bar",ie=".site-footer";function C(e,t,n){new IntersectionObserver(([o])=>{t.classList.toggle(n,o.isIntersecting)},{threshold:0}).observe(e)}function P(){let e=document.querySelector(re);if(!e)return;let t=document.querySelector(ie);t&&C(t,e,"is-at-footer");let n=e.querySelector("a");if(!(n!=null&&n.hash))return;let o=null;try{o=document.querySelector(n.hash)}catch{return}o&&C(o,e,"is-at-target")}window.tbSyncAccordions=L;window.KeepMeUpdated=f;window.tbFormValidation={init:E,validate:m};tb.onRootElementReady(()=>{S(),M(),A(),F(),_(),k(),q(),P()});})();

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.