1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[364],{2806:e=>{e.exports={video:"vibe_video__hr6Mr",videoSec:"vibe_videoSec__9omjZ",exp:"vibe_exp__7oChH",expCon:"vibe_expCon__lR0dq",expImg:"vibe_expImg__gG6XU",expVid:"vibe_expVid__WPGed",expDesc:"vibe_expDesc__6MxfR"}},6006:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});var i=s(7876),a=s(4232),r=s(9086);class n extends a.Component{componentDidMount(){}componentDidUpdate(e,t){if(this.props.trigger!==e.trigger&&this.props.trigger){let e=parseFloat(this.props.value),t=e%1!=0?.2:e>1e3?100:1,s=setInterval(()=>{this.state.value<e?this.setState({value:parseFloat((this.state.value+t).toFixed(2))}):(this.setState({value:e}),clearInterval(s))},3e3/e*t)}}componentWillUnmount(){}render(){return(0,i.jsx)(r.HG,{value:this.state.value,displayType:"text",thousandSeparator:",",decimalSeparator:".",renderText:e=>e})}constructor(){super(),this.state={value:0}}}},7017:(e,t,s)=>{"use strict";s.d(t,{A:()=>d});var i=s(7876),a=s(4232),r=s(8230),n=s.n(r),l=s(731),o=s(9848),c=s(6356),h=s(733);class d extends a.Component{componentDidMount(){this.scroll(),window.addEventListener("scroll",this.scroll,{passive:!0})}componentDidUpdate(e,t){this.state.email!==t.email&&(this.state.emailInit||this.setState({emailInit:!0}),""!==this.state.email?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(this.state.email)?this.setState({emailValid:!0}):this.setState({emailValid:"Please enter a valid email address."}):this.setState({emailValid:"Email cannot be empty."}))}componentWillUnmount(){window.removeEventListener("scroll",this.scroll),this.cancellablePipedriveOrg&&this.cancellablePipedriveOrg.cancel(),this.cancellablePipedrivePerson&&this.cancellablePipedrivePerson.cancel(),this.cancellablePipedriveLead&&this.cancellablePipedriveLead.cancel()}scroll(){let e=window.scrollY||document.documentElement.scrollTop,t=this.secHero.current.getBoundingClientRect(),s=e+t.height,i=e+t.height/2;if(s>0&&e<t.height){let s=(i-0)/(t.height-0),a=1-Math.abs(2*(s=Math.max(0,Math.min(1,s)))-1);this.setState({heroCome:a,heroScale:1+e/t.height/10})}}inputChange(e){this.setState({[e.target.name]:e.target.value})}formSubmit(e){e.preventDefault(),!0===this.state.emailValid?(this.setState({formLoading:!0}),this.cancellablePipedriveOrg=(0,l.A)(fetch("".concat("https://tabsquarepteltd.pipedrive.com/","api/v2/organizations?api_token=").concat("fe09cc7ba1b04ca754bfa7ef02b9cb1c33d7f25e"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"".concat(this.state.email)})})),this.cancellablePipedriveOrg.promise.then(e=>e.json()).then(e=>{!0===e.success?(this.cancellablePipedrivePerson=(0,l.A)(fetch("".concat("https://tabsquarepteltd.pipedrive.com/","api/v2/persons?api_token=").concat("fe09cc7ba1b04ca754bfa7ef02b9cb1c33d7f25e"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"".concat(this.state.email),org_id:e.data.id,emails:[{value:this.state.email,label:"work",primary:!0}],phones:[]})})),this.cancellablePipedrivePerson.promise.then(e=>e.json()).then(t=>{!0===t.success?(this.cancellablePipedriveLead=(0,l.A)(fetch("".concat("https://tabsquarepteltd.pipedrive.com/","api/v1/leads?api_token=").concat("fe09cc7ba1b04ca754bfa7ef02b9cb1c33d7f25e"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:"".concat(this.state.email," lead"),person_id:t.data.id,organization_id:e.data.id,label_ids:["47d354d0-5e9b-11f1-97bf-e7ab3c1811f7"],"7216962232207f947f98fb9039509bc449551ab9":this.props.pipedriveCountry,cb341c06aaf891c52fa819a45bad2cd9df2f1b9b:"",c97d533d09ebffda56ab0e6c4c317289f892fd30:""})})),this.cancellablePipedriveLead.promise.then(e=>e.json()).then(e=>{!0===e.success?(this.setState({email:"",formLoading:!1}),setTimeout(()=>{this.setState({emailInit:!1})},1),o.oR.success(()=>(0,i.jsxs)(i.Fragment,{children:["Welcome aboard \uD83D\uDE80",(0,i.jsx)("span",{children:"Youâll be the first to hear about new features, updates and announcements."})]}))):this.setState({formLoading:!1})}).catch(e=>{console.error(e),o.oR.error(()=>(0,i.jsxs)(i.Fragment,{children:[e.code,(0,i.jsx)("span",{children:e.message})]})),this.setState({formLoading:!1})}
1)):this.setState({formLoading:!1})}).catch(e=>{console.error(e),o.oR.error(()=>(0,i.jsxs)(i.Fragment,{children:[e.code,(0,i.jsx)("span",{children:e.message})]})),this.setState({formLoading:!1})})):this.setState({formLoading:!1})}).catch(e=>{console.error(e),o.oR.error(()=>(0,i.jsxs)(i.Fragment,{children:[e.code,(0,i.jsx)("span",{children:e.message})]})),this.setState({formLoading:!1})})):this.setState({emailInit:!0})}render(){return(0,i.jsxs)("section",{className:"hero",children:[(0,i.jsx)("div",{className:"hero-img",style:{background:"url(".concat(this.props.img,") center center no-repeat"),backgroundSize:"cover",transform:"scale(".concat(this.state.heroScale,", ").concat(this.state.heroScale,")")}}),(0,i.jsx)("div",{className:"container max-width ".concat(this.props.threeHeight?"three-height":this.props.halfHeight?"half-height":"full-height"),ref:this.secHero,style:{opacity:this.state.heroCome},children:(0,i.jsxs)("div",{className:"hero-sec",style:{maxWidth:this.props.titleMax},children:[void 0!==this.props.breadcrumb&&this.props.breadcrumb.length?(0,i.jsx)("ul",{className:"floating lite inline bread",children:this.props.breadcrumb.map((e,t)=>(0,i.jsxs)(a.Fragment,{children:[0!==t?(0,i.jsx)("li",{className:"lay-auto slash",children:"/"}):"",(0,i.jsx)("li",{className:"lay-auto",children:this.props.breadcrumb.length===t+1?e.name:(0,i.jsx)(n(),{href:e.url,children:e.name})})]},e.url))}):"",this.props.vibe?(0,i.jsxs)("div",{className:"hero-vibe",children:["VIBE",(0,i.jsx)("span",{children:"By invite only"})]}):"",(0,i.jsx)("h1",{children:this.props.title}),(0,i.jsx)("div",{className:"hero-desc",style:{maxWidth:this.props.descMax},children:this.props.desc}),this.props.button?(0,i.jsxs)("button",{type:"button",className:"btn has-icon",onClick:this.props.onClick,children:[this.props.button,(0,i.jsx)("div",{children:(0,i.jsx)(h.A,{})})]}):"",this.props.email?(0,i.jsx)("form",{onSubmit:this.formSubmit,children:(0,i.jsx)("ul",{className:"floating forming",children:(0,i.jsxs)("li",{children:[(0,i.jsx)("input",{type:"email",placeholder:"Enter your email",name:"email",value:this.state.email,onChange:this.inputChange,disabled:this.state.formLoading,autoFocus:!0}),(0,i.jsx)("div",{className:"error-msg ".concat(this.state.emailInit&&!0!==this.state.emailValid?"show":""),children:this.state.emailValid}),(0,i.jsxs)("button",{type:"submit",className:"btn has-icon btn-lite btn-glass-orange",disabled:this.state.formLoading,children:[this.state.formLoading?"Sending...":"Stay ahead",(0,i.jsx)("div",{children:(0,i.jsx)(c.j1S,{})})]})]})})}):""]})})]})}constructor(){super(),this.state={heroCome:100,heroScale:1,email:"",emailValid:"Email cannot be empty.",emailInit:!1,formLoading:!1},this.secHero=(0,a.createRef)(),this.cancellablePipedriveOrg="",this.cancellablePipedrivePerson="",this.cancellablePipedriveLead="",this.scroll=this.scroll.bind(this),this.inputChange=this.inputChange.bind(this),this.formSubmit=this.formSubmit.bind(this)}}},7724:(e,t,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/vibe",function(){return s(8492)}])},8492:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>p});var i=s(7876),a=s(4232),r=s(6006),n=s(3123),l=s(7017),o=s(2930),c=s(9967),h=s(2806),d=s.n(h);class p extends a.Component{componentDidMount(){this.scroll(),window.addEventListener("scroll",this.scroll,{passive:!0}),this.props.setBgWhite(!1)}componentDidUpdate(e,t){}componentWillUnmount(){window.removeEventListener("scroll",this.scroll)}scroll(){let e=window.innerHeight,t=this.secWork.current.getBoundingClientRect();t.top-e<0&&Math.abs(t.top)<t.height&&(this.setState({workCome:Math.abs(t.top/10),workScale:1.3-t.bottom/t.height/2}),t.top-e+100<0&&!this.state.workStart&&setTimeout(()=>{this.setState({workStart:!0})},1e3));let s=this.vibeExp.current.getBoundingClientRect();s.top-40<0&&Math.abs(s.top)<s.height?this.props.setBgWhite(!0):this.props.setBgWhite(!1)}goToLead(){document.getElementById("lead").scrollIntoView({behavior:"smooth",block:"start"})}render(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.A,{title:"TabSquare.ai ⢠".concat(this.page.name),desc:this.page.seo.desc,img:this.page.seo.img}),(0,i.jsx)(l.A,{title:this.page.title,titleMax:550,desc:this.page.desc,descMax:550,button:"Join the guestlist",onClick:this.goToLead,img:this.props.mobile||this.props.tablet&&this.props.portrait?this.page.imgMobile:this.page.img,vibe:!0},this.props.mobile||this.props.tablet&&this.props.portrait),(0,i.jsx)("section",{className:d().video,children:(0,i.jsx)("div",{className:"container max-width bottom-less top-less",children:(0,i.jsx)("div",{className:d().videoSec,children:(0,i.jsxs)("video",{loop:!0,muted:!0,controls:!0,playsInl
1ine:!0,children:[(0,i.jsx)("source",{src:"/vid/vibe/video-hero.mp4",type:"video/mp4"}),"Your browser does not support the video tag."]})})})}),(0,i.jsxs)("section",{className:"section-grad-invert ".concat(d().exp),ref:this.vibeExp,children:[(0,i.jsx)("div",{className:"orange-circle"}),(0,i.jsx)("div",{className:"container full-height",children:(0,i.jsxs)("div",{children:[(0,i.jsxs)("h2",{children:["The ",(0,i.jsx)("span",{children:"Vibe"})," experience"]}),(0,i.jsxs)("ul",{className:"floating ".concat(d().expCon),children:[(0,i.jsx)("li",{children:(0,i.jsxs)("ul",{className:"floating mid inline",children:[(0,i.jsxs)("li",{className:"lay-50",children:[(0,i.jsx)("div",{className:d().expImg,children:(0,i.jsx)(o.A,{src:"/img/vibe/exp-1.webp",alt:"The Vibe experience 1",fill:!0,sizes:"50vw"})}),(0,i.jsx)("div",{className:d().expVid,children:(0,i.jsxs)("video",{loop:!0,muted:!0,autoPlay:!0,playsInline:!0,children:[(0,i.jsx)("source",{src:"/vid/vibe/video-1.mp4?v=2",type:"video/mp4"}),"Your browser does not support the video tag."]})})]}),(0,i.jsxs)("li",{className:"lay-50",children:[(0,i.jsx)("h3",{className:"lite",children:"Every great restaurant has a story."}),(0,i.jsx)("div",{className:d().expDesc,children:"Vibe brings that story to life in every moment your guests experience."})]})]})}),(0,i.jsx)("li",{children:(0,i.jsxs)("ul",{className:"floating mid inline",children:[(0,i.jsxs)("li",{className:"lay-50",children:[(0,i.jsx)("div",{className:d().expImg,children:(0,i.jsx)(o.A,{src:"/img/vibe/exp-2.webp",alt:"The Vibe experience 2",fill:!0,sizes:"50vw"})}),(0,i.jsx)("div",{className:d().expVid,children:(0,i.jsxs)("video",{loop:!0,muted:!0,autoPlay:!0,children:[(0,i.jsx)("source",{src:"/vid/vibe/video-2.mp4?v=2",type:"video/mp4"}),"Your browser does not support the video tag."]})})]}),(0,i.jsxs)("li",{className:"lay-50",children:[(0,i.jsx)("h3",{className:"lite",children:"Guests arrive with choice, but not always with clarity."}),(0,i.jsx)("div",{className:d().expDesc,children:"Vibe guides them through an intuitive, personal journey of discovery, the way they are used to exploring everywhere else. It reduces decision fatigue and removes the need to ask, making the experience feel natural, engaging and enjoyable."})]})]})}),(0,i.jsx)("li",{children:(0,i.jsxs)("ul",{className:"floating mid inline",children:[(0,i.jsx)("li",{className:"lay-50",children:(0,i.jsx)("div",{className:d().expImg,children:(0,i.jsx)(o.A,{src:"/img/vibe/exp-3.webp",alt:"The Vibe experience 3",fill:!0,sizes:"50vw"})})}),(0,i.jsxs)("li",{className:"lay-50",children:[(0,i.jsx)("h3",{className:"lite",children:"Great experiences should not end at the table."}),(0,i.jsx)("div",{className:d().expDesc,children:"Vibe ensures they stay with your guests, shaping what they remember, and why they return."})]})]})})]})]})})]}),(0,i.jsxs)("section",{className:"work on-vibe",children:[(0,i.jsx)("div",{className:"work-bg",style:{transform:"translate(0, -".concat(this.state.workCome,"%) scale(").concat(this.state.workScale,", ").concat(this.state.workScale,")")}}),(0,i.jsx)("div",{className:"container max-width full-height",ref:this.secWork,children:(0,i.jsxs)("div",{className:"work-sec",children:[(0,i.jsxs)("h2",{children:["Beautiful experiences.",(0,i.jsx)("br",{}),(0,i.jsx)("span",{children:"Real results."})]}),(0,i.jsx)("div",{children:"Restaurants that elevate the guest experience with Vibe see stronger engagement, higher spend and measurable commercial growth"}),(0,i.jsx)("ul",{className:"floating",children:this.workContent.map((e,t)=>(0,i.jsx)("li",{className:"lay-50",children:(0,i.jsxs)("div",{children:[(0,i.jsxs)("strong",{children:[e.plus?"+":"",(0,i.jsx)(r.A,{value:e.value,trigger:this.state.workStart}),(0,i.jsx)("span",{children:"%"})]}),(0,i.jsx)("span",{children:e.name}),(0,i.jsx)("div",{children:e.desc})]})},"work-".concat(e.id)))})]})})]}),(0,i.jsx)(c.A,{country:this.props.country,fnbFilter:this.props.fnbFilter,noTop:!0,title:(0,i.jsxs)(i.Fragment,{children:["Experience ",(0,i.jsx)("span",{children:"Vibe"})," privately"]}),desc:(0,i.jsx)(i.Fragment,{children:"We provide tailored walkthroughs for restaurants obsessed with creating unforgettable guest experiences."}),button:"Speak to a Vibe consultant",noObjective:!0,pipedriveCountry:this.props.pipedriveCountry})]})}constructor(){super(),this.state={workCome:0,workScale:1,workStart:!1},this.page={name:"Vibe by TabSquare",title:(0,i.jsx)(i.Fragment,{children:"Elevate your guest experience"}),titleString:"Elevate your guest experience",desc:(0,i.jsx)(i.Fragment,{children:"Vibe brings your brand to life through immer
1sive moments that captivates diners and inspire them to return."}),descString:"Vibe brings your brand to life through immersive moments that captivates diners and inspire them to return.",img:"/img/vibe/hero.webp?v=1",imgMobile:"/img/vibe/hero-mobile.webp?v=1",seo:{img:"/img/vibe/seo.webp",desc:"Vibe brings your brand to life through immersive moments that captivate diners and inspire them to return."}},this.workContent=[{id:"1",plus:!1,name:"Click-through rate on stories",desc:"Guests engage more deeply with your branded assets",value:10},{id:"2",plus:!0,name:"Average Bill Value",desc:"Guests choose more confidently and spend more when they are inspired",value:15},{id:"3",plus:!0,name:"Upsell through guided discovery",desc:"Relevant suggestions at the right moments create higher-value choices",value:7},{id:"4",plus:!0,name:"Hero item sales",desc:"Signature dishes and high-margin items get the attention they deserve",value:10}],this.secHero=(0,a.createRef)(),this.vibeExp=(0,a.createRef)(),this.secWork=(0,a.createRef)(),this.scroll=this.scroll.bind(this),this.goToLead=this.goToLead.bind(this)}}}},e=>{e.O(0,[753,594,144,89,330,967,636,593,792],()=>e(e.s=7724)),_N_E=e.O()}]);
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.