1import{m as d}from"../module.esm-Cm4okMZt.js";import{F as Tt}from"./features-CErOKrHh.js";import{a as et}from"../index-DwVWqlvO.js";import"../interpolate-DxsRGowJ.js";const Dt=["top","right","bottom","left"],nt=["start","end"],it=Dt.reduce((t,e)=>t.concat(e,e+"-"+nt[0],e+"-"+nt[1]),[]),st=Math.min,F=Math.max,V=Math.round,O=t=>({x:t,y:t}),Rt={left:"right",right:"left",bottom:"top",top:"bottom"},Ot={start:"end",end:"start"};function K(t,e){return typeof t=="function"?t(e):t}function M(t){return t.split("-")[0]}function B(t){return t.split("-")[1]}function St(t){return t==="x"?"y":"x"}function ft(t){return t==="y"?"height":"width"}const Lt=new Set(["top","bottom"]);function z(t){return Lt.has(M(t))?"y":"x"}function ht(t){return St(z(t))}function Bt(t,e,s){s===void 0&&(s=!1);const n=B(t),i=ht(t),r=ft(i);let o=i==="x"?n===(s?"end":"start")?"right":"left":n==="start"?"bottom":"top";return e.reference[r]>e.floating[r]&&(o=ot(o)),[o,ot(o)]}function At(t){return t.replace(/start|end/g,e=>Ot[e])}function ot(t){return t.replace(/left|right|bottom|top/g,e=>Rt[e])}function $t(t){return{top:0,right:0,bottom:0,left:0,...t}}function Et(t){return typeof t!="number"?$t(t):{top:t,right:t,bottom:t,left:t}}function W(t){const{x:e,y:s,width:n,height:i}=t;return{width:n,height:i,top:s,left:e,right:e+n,bottom:s+i,x:e,y:s}}function rt(t,e,s){let{reference:n,floating:i}=t;const r=z(e),o=ht(e),a=ft(o),c=M(e),l=r==="y",u=n.x+n.width/2-i.width/2,f=n.y+n.height/2-i.height/2,m=n[a]/2-i[a]/2;let h;switch(c){case"top":h={x:u,y:n.y-i.height};break;case"bottom":h={x:u,y:n.y+n.height};break;case"right":h={x:n.x+n.width,y:f};break;case"left":h={x:n.x-i.width,y:f};break;default:h={x:n.x,y:n.y}}switch(B(e)){case"start":h[o]-=m*(s&&l?-1:1);break;case"end":h[o]+=m*(s&&l?-1:1);break}return h}const It=async(t,e,s)=>{const{placement:n="bottom",strategy:i="absolute",middleware:r=[],platform:o}=s,a=r.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(e));let l=await o.getElementRects({reference:t,floating:e,strategy:i}),{x:u,y:f}=rt(l,n,c),m=n,h={},g=0;for(let p=0;p<a.length;p++){const{name:w,fn:x}=a[p],{x:b,y:C,data:D,reset:y}=await x({x:u,y:f,initialPlacement:n,placement:m,strategy:i,middlewareData:h,rects:l,platform:o,elements:{reference:t,floating:e}});u=b??u,f=C??f,h={...h,[w]:{...h[w],...D}},y&&g<=50&&(g++,typeof y=="object"&&(y.placement&&(m=y.placement),y.rects&&(l=y.rects===!0?await o.getElementRects({reference:t,floating:e,strategy:i}):y.rects),{x:u,y:f}=rt(l,m,c)),p=-1)}return{x:u,y:f,placement:m,strategy:i,middlewareData:h}};async function Ut(t,e){var s;e===void 0&&(e={});const{x:n,y:i,platform:r,rects:o,elements:a,strategy:c}=t,{boundary:l="clippingAncestors",rootBoundary:u="viewport",elementContext:f="floating",altBoundary:m=!1,padding:h=0}=K(e,t),g=Et(h),w=a[m?f==="floating"?"reference":"floating":f],x=W(await r.getClippingRect({element:(s=await(r.isElement==null?void 0:r.isElement(w)))==null||s?w:w.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(a.floating)),boundary:l,rootBoundary:u,strategy:c})),b=f==="floating"?{x:n,y:i,width:o.floating.width,height:o.floating.height}:o.reference,C=await(r.getOffsetParent==null?void 0:r.getOffsetParent(a.floating)),D=await(r.isElement==null?void 0:r.isElement(C))?await(r.getScale==null?void 0:r.getScale(C))||{x:1,y:1}:{x:1,y:1},y=W(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:b,offsetParent:C,strategy:c}):b);return{top:(x.top-y.top+g.top)/D.y,bottom:(y.bottom-x.bottom+g.bottom)/D.y,left:(x.left-y.left+g.left)/D.x,right:(y.right-x.right+g.right)/D.x}}function Ft(t,e,s){return(t?[...s.filter(i=>B(i)===t),...s.filter(i=>B(i)!==t)]:s.filter(i=>M(i)===i)).filter(i=>t?B(i)===t||(e?At(i)!==i:!1):!0)}const kt=function(t){return t===void 0&&(t={}),{name:"autoPlacement",options:t,async fn(e){var s,n,i;const{rects:r,middlewareData:o,placement:a,platform:c,elements:l}=e,{crossAxis:u=!1,alignment:f,allowedPlacements:m=it,autoAlignment:h=!0,...g}=K(t,e),p=f!==void 0||m===it?Ft(f||null,h,m):m,w=await Ut(e,g),x=((s=o.autoPlacement)==null?void 0:s.index)||0,b=p[x];if(b==null)return{};const C=Bt(b,r,await(c.isRTL==null?void 0:c.isRTL(l.floating)));if(a!==b)return{reset:{placement:p[0]}};const D=[w[M(b)],w[C[0]],w[C[1]]],y=[...((n=o.autoPlacement)==null?void 0:n.overflows)||[],{placement:b,overflows:D}],Q=p[x+1];if(Q)return{data:{index:x+1,overflows:y},reset:{placement:Q}};const Z=y.map(R=>{const U=B(R.placement);return[R.placement,U&&u?R.overflows.slice(0,2).reduce((Ct,vt)=>Ct+vt,0):R.overflows[0],R.overflows]}).sort((R,U)=>R[1]-U[1]),tt=((i=Z.filter(R=>R[2].slice(0,B(R[0])?2:3).every(U=>U<=0))[0])==null?void 0:i[0])||Z[0][0];return tt!==a?{data:{index:x+1,overflows:y},reset:{placement:tt}}:{}}}},Mt=new Set(["left","top"]);async function Nt(t,e){const{placement:s,platform:n,elements:i}=t,r=await(n.isRTL==null?void 0:n.isRTL(i.floating)),o=M(s),a=B(s),c=z(s)==="y",l=Mt.has(o)?-1:1,u=r&&c?-1:1,f=K(e,t);let{mainAxis:m,crossAxis:h,alignmentAxis:g}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}
1:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return a&&typeof g=="number"&&(h=a==="end"?g*-1:g),c?{x:h*u,y:m*l}:{x:m*l,y:h*u}}const Vt=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var s,n;const{x:i,y:r,placement:o,middlewareData:a}=e,c=await Nt(e,t);return o===((s=a.offset)==null?void 0:s.placement)&&(n=a.arrow)!=null&&n.alignmentOffset?{}:{x:i+c.x,y:r+c.y,data:{...c,placement:o}}}}};function _(){return typeof window<"u"}function I(t){return dt(t)?(t.nodeName||"").toLowerCase():"#document"}function P(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function L(t){var e;return(e=(dt(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function dt(t){return _()?t instanceof Node||t instanceof P(t).Node:!1}function v(t){return _()?t instanceof Element||t instanceof P(t).Element:!1}function S(t){return _()?t instanceof HTMLElement||t instanceof P(t).HTMLElement:!1}function ct(t){return!_()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof P(t).ShadowRoot}const Wt=new Set(["inline","contents"]);function N(t){const{overflow:e,overflowX:s,overflowY:n,display:i}=T(t);return/auto|scroll|overlay|hidden|clip/.test(e+n+s)&&!Wt.has(i)}const _t=new Set(["table","td","th"]);function Ht(t){return _t.has(I(t))}const Yt=[":popover-open",":modal"];function H(t){return Yt.some(e=>{try{return t.matches(e)}catch{return!1}})}const jt=["transform","translate","scale","rotate","perspective"],Xt=["transform","translate","scale","rotate","perspective","filter"],qt=["paint","layout","strict","content"];function G(t){const e=J(),s=v(t)?T(t):t;return jt.some(n=>s[n]?s[n]!=="none":!1)||(s.containerType?s.containerType!=="normal":!1)||!e&&(s.backdropFilter?s.backdropFilter!=="none":!1)||!e&&(s.filter?s.filter!=="none":!1)||Xt.some(n=>(s.willChange||"").includes(n))||qt.some(n=>(s.contain||"").includes(n))}function Kt(t){let e=A(t);for(;S(e)&&!E(e);){if(G(e))return e;if(H(e))return null;e=A(e)}return null}function J(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const zt=new Set(["html","body","#document"]);function E(t){return zt.has(I(t))}function T(t){return P(t).getComputedStyle(t)}function Y(t){return v(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function A(t){if(I(t)==="html")return t;const e=t.assignedSlot||t.parentNode||ct(t)&&t.host||L(t);return ct(e)?e.host:e}function mt(t){const e=A(t);return E(e)?t.ownerDocument?t.ownerDocument.body:t.body:S(e)&&N(e)?e:mt(e)}function gt(t,e,s){var n;e===void 0&&(e=[]);const i=mt(t),r=i===((n=t.ownerDocument)==null?void 0:n.body),o=P(i);return r?(q(o),e.concat(o,o.visualViewport||[],N(i)?i:[],[])):e.concat(i,gt(i,[]))}function q(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function pt(t){const e=T(t);let s=parseFloat(e.width)||0,n=parseFloat(e.height)||0;const i=S(t),r=i?t.offsetWidth:s,o=i?t.offsetHeight:n,a=V(s)!==r||V(n)!==o;return a&&(s=r,n=o),{width:s,height:n,$:a}}function wt(t){return v(t)?t:t.contextElement}function $(t){const e=wt(t);if(!S(e))return O(1);const s=e.getBoundingClientRect(),{width:n,height:i,$:r}=pt(e);let o=(r?V(s.width):s.width)/n,a=(r?V(s.height):s.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!a||!Number.isFinite(a))&&(a=1),{x:o,y:a}}const Gt=O(0);function yt(t){const e=P(t);
1return!J()||!e.visualViewport?Gt:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function Jt(t,e,s){return e===void 0&&(e=!1),!s||e&&s!==P(t)?!1:e}function k(t,e,s,n){e===void 0&&(e=!1),s===void 0&&(s=!1);const i=t.getBoundingClientRect(),r=wt(t);let o=O(1);e&&(n?v(n)&&(o=$(n)):o=$(t));const a=Jt(r,s,n)?yt(r):O(0);let c=(i.left+a.x)/o.x,l=(i.top+a.y)/o.y,u=i.width/o.x,f=i.height/o.y;if(r){const m=P(r),h=n&&v(n)?P(n):n;let g=m,p=q(g);for(;p&&n&&h!==g;){const w=$(p),x=p.getBoundingClientRect(),b=T(p),C=x.left+(p.clientLeft+parseFloat(b.paddingLeft))*w.x,D=x.top+(p.clientTop+parseFloat(b.paddingTop))*w.y;c*=w.x,l*=w.y,u*=w.x,f*=w.y,c+=C,l+=D,g=P(p),p=q(g)}}return W({width:u,height:f,x:c,y:l})}function j(t,e){const s=Y(t).scrollLeft;return e?e.left+s:k(L(t)).left+s}function xt(t,e){const s=t.getBoundingClientRect(),n=s.left+e.scrollLeft-j(t,s),i=s.top+e.scrollTop;return{x:n,y:i}}function Qt(t){let{elements:e,rect:s,offsetParent:n,strategy:i}=t;const r=i==="fixed",o=L(n),a=e?H(e.floating):!1;if(n===o||a&&r)return s;let c={scrollLeft:0,scrollTop:0},l=O(1);const u=O(0),f=S(n);if((f||!f&&!r)&&((I(n)!=="body"||N(o))&&(c=Y(n)),S(n))){const h=k(n);l=$(n),u.x=h.x+n.clientLeft,u.y=h.y+n.clientTop}const m=o&&!f&&!r?xt(o,c):O(0);return{width:s.width*l.x,height:s.height*l.y,x:s.x*l.x-c.scrollLeft*l.x+u.x+m.x,y:s.y*l.y-c.scrollTop*l.y+u.y+m.y}}function Zt(t){return Array.from(t.getClientRects())}function te(t){const e=L(t),s=Y(t),n=t.ownerDocument.body,i=F(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),r=F(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight);let o=-s.scrollLeft+j(t);const a=-s.scrollTop;return T(n).direction==="rtl"&&(o+=F(e.clientWidth,n.clientWidth)-i),{width:i,height:r,x:o,y:a}}const at=25;function ee(t,e){const s=P(t),n=L(t),i=s.visualViewport;let r=n.clientWidth,o=n.clientHeight,a=0,c=0;if(i){r=i.width,o=i.height;const u=J();(!u||u&&e==="fixed")&&(a=i.offsetLeft,c=i.offsetTop)}const l=j(n);if(l<=0){const u=n.ownerDocument,f=u.body,m=getComputedStyle(f),h=u.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,g=Math.abs(n.clientWidth-f.clientWidth-h);g<=at&&(r-=g)}else l<=at&&(r+=l);return{width:r,height:o,x:a,y:c}}const ne=new Set(["absolute","fixed"]);function ie(t,e){const s=k(t,!0,e==="fixed"),n=s.top+t.clientTop,i=s.left+t.clientLeft,r=S(t)?$(t):O(1),o=t.clientWidth*r.x,a=t.clientHeight*r.y,c=i*r.x,l=n*r.y;return{width:o,height:a,x:c,y:l}}function lt(t,e,s){let n;if(e==="viewport")n=ee(t,s);else if(e==="document")n=te(L(t));else if(v(e))n=ie(e,s);else{const i=yt(t);n={x:e.x-i.x,y:e.y-i.y,width:e.width,height:e.height}}return W(n)}function bt(t,e){const s=A(t);return s===e||!v(s)||E(s)?!1:T(s).position==="fixed"||bt(s,e)}function se(t,e){const s=e.get(t);if(s)return s;let n=gt(t,[]).filter(a=>v(a)&&I(a)!=="body"),i=null;const r=T(t).position==="fixed";let o=r?A(t):t;for(;v(o)&&!E(o);){const a=T(o),c=G(o);!c&&a.position==="fixed"&&(i=null),(r?!c&&!i:!c&&a.position==="static"&&!!i&&ne.has(i.position)||N(o)&&!c&&bt(t,o))?n=n.filter(u=>u!==o):i=a,o=A(o)}return e.set(t,n),n}function oe(t){let{element:e,boundary:s,rootBoundary:n,strategy:i}=t;const o=[...s==="clippingAncestors"?H(e)?[]:se(e,this._c):[].concat(s),n],a=o[0],c=o.reduce((l,u)=>{const f=lt(e,u,i);return l.top=F(f.top,l.top),l.right=st(f.right,l.right),l.bottom=st(f.bottom,l.bottom),l.left=F(f.left,l.left),l},lt(e,a,i));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function re(t){const{width:e,height:s}=pt(t);return{width:e,height:s}}function ce(t,e,s){const n=S(e),i=L(e),r=s==="fixed",o=k(t,!0,r,e);let a={scrollLeft:0,scrollTop:0};const c=O(0);function l(){c.x=j(i)}if(n||!n&&!r)if((I(e)!=="body"||N(i))&&(a=Y(e)),n){const h=k(e,!0,r,e);c.x=h.x+e.clientLeft,c.y=h.y+e.clientTop}else i&&l();r&&!n&&i&&l();const u=i&&!n&&!r?xt(i,a):O(0),f=o.left+a.scrollLeft-c.x-u.x,m=o.top+a.scrollTop-c.y-u.y;return{x:f,y:m,width:o.width,height:o.height}}function X(t){return T(t).position==="static"}function ut(t,e){if(!S(t)||T(t).position==="fixed")return null;if(e)return e(t);let s=t.offsetParent;return L(t)===s&&(s=s.ownerDocument.body),s}function Pt(t,e){const s=P(t);if(H(t))return s;if(!S(t)){let i=A(t);for(;i&&!E(i);){if(v(i)&&!X(i))return i;i=A(i)}return s}let n=ut(t,e);for(;n&&Ht(n)&&X(n);)n=ut(n,e);return n&&E(n)&&X(n)&&!G(n)?s:n||Kt(t)||s}const ae=async function(t){const e=this.getOffsetParent||Pt,s=this.getDimensions,n=await s(t.floating);return{reference:ce(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function le(t){return T(t).direction==="rtl"}const ue={convertOffsetParentRelativeRectToViewportRelativeRect:Qt,getDocumentElement:L,getClippingRect:oe,getOffsetParent:Pt,getElementRects:ae,getClientRects:Zt,getDimensions:re,getScale:$,isElement:v,isRTL:le},fe=Vt,he=kt,de=(t,e,s)=>{const n=new Map,i={platform:ue,...s},r={...i.platform,_c:n};return It(t,e,{...i,platform:r})};document.addEventListener("alpine:init",()=>{window.compareTable=Tt,window.Alpine||(window.Alpine=d),d.store("selectedBilling","month"),d.store("hasToggledBilling",!1),d.store("billing",()=>({selectedBilling:"year",hasToggledBilling:!1})),window.tooltip=()=>({button:null,tooltip:null,tooltipOpen:!1,animation:null,init(){},async close(){this.animation.cancel(),this.animation=et(this.tooltip,{y:[0,5],opacity:[1,0]},{duration:.25,easing:"ease-in-out"}),await this.animation,this.tooltipOpen=!1},async open(){this.tooltipOpen=!0,this.$nextTick(async()=>{this.button=this.$refs.trigger,this.tooltip=this.$refs.tooltip,await new Promise(t=>
1setTimeout(t,20)),de(this.button,this.tooltip,{placement:"right",middleware:[he(),fe(10)]}).then(({x:t,y:e})=>{Object.assign(this.tooltip.style,{top:`${e}px`,left:`${t}px`})}),this.animation=et(this.tooltip,{y:[5,0],opacity:[0,1]},{duration:.25,easing:"ease-in-out"})})}}),window.billingToggle=()=>({toggle(){d.store("hasToggledBilling",!0),d.store("selectedBilling")==="year"?d.store("selectedBilling","month"):d.store("selectedBilling","year"),dataLayer.push({event:"click",attributes:{section:"Pricing",action:"Click Billing Toggle",event_label:`${d.store("selectedBilling")==="year"?"Annually":"Monthly"}`}})}}),window.pricingCard=(t,e,s,n)=>({plan:window.plans[t],coupons:n,users:s,contacts:e,contactPrice:0,baseUsers:s,baseContacts:e,contactsInputFocused:!1,maxContactText:"",usersInputFocused:!1,maxContacts:5e4,maxFormatContacts:1e4,currentContactTier:0,outOfRange:!1,planPrice:0,discountedPrice:0,yearlyPrice:0,tmpYearlyPrice:0,tmpMonthlyPrice:0,contactPlans:{discount:{},included:{},year:{},month:{}},userPlans:{discount:{month:0,year:0},included:{},year:{},month:{}},mouseUserDownIncrement:!1,mouseContactDownIncrement:!1,mouseUserDownDecrement:!1,mouseContactDownDecrement:!1,isLooping:!1,updatePricing(){var a,c;let i=this.planPrice,r=this.userPlans[d.store("selectedBilling")][this.plan.id].unitPrice/100;((a=this.userPlans.discount[d.store("selectedBilling")])==null?void 0:a.type)==="percentage"?r=r-r*(this.userPlans.discount[d.store("selectedBilling")].amount/100/100):((c=this.userPlans.discount[d.store("selectedBilling")])==null?void 0:c.type)==="fixed_amount"&&(r=r-this.userPlans.discount[d.store("selectedBilling")].amount);let o=r*(this.users-this.userPlans.included[this.plan.id]);i=d.store("selectedBilling")==="year"?parseInt(this.$el.dataset.priceYear)/12+this.contactPrice/100/12+o/12:parseInt(this.$el.dataset.priceMonth)+this.contactPrice/100+o,i%1!==0&&(i=i.toFixed(2)),this.yearlyPrice=parseInt(parseInt(this.$el.dataset.priceYear)+this.contactPrice/100+o),this.planPrice=i,d.store("selectedBilling")==="year"&&(this.planPrice=Math.round(this.planPrice)),this.discountedPrice=i},validateUsers(){this.users<=this.baseUsers&&(this.users=this.baseUsers)},animateButton(){return d.store("selectedBilling")==="month"?"billing-toggle--right":d.store("selectedBilling")==="year"&&d.store("hasToggledBilling")?"billing-toggle--left":""},findContactPlan(){var i,r;for(const[o,a]of Object.entries(this.contactPlans[d.store("selectedBilling")])){let c=this.contacts;this.isContactsInRange()==="over"&&(c=this.maxContacts);let l=a.find(u=>{const f=c-this.contactPlans.included[o];return f>0?f>=u.minUnits&&f<=u.maxUnits:!1});this.contactPrice=l?l==null?void 0:l.unitPrice:0,this.contactPrice>0&&(((i=this.contactPlans.discount[d.store("selectedBilling")])==null?void 0:i.type)==="percentage"?this.contactPrice=l.unitPrice-l.unitPrice*(this.contactPlans.discount[d.store("selectedBilling")].amount/100/100):((r=this.contactPlans.discount[d.store("selectedBilling")])==null?void 0:r.type)==="fixed_amount"&&(this.contactPrice=l.unitPrice-this.contactPlans.discount[d.store("selectedBilling")].amount)),this.updatePricing()}},incrementContacts(){this.canIncrementContacts()&&(this.currentContactTier++,this.contacts=this.contactPlans[d.store("selectedBilling")][t][this.currentContactTier-1].maxUnits+this.baseContacts,this.contacts>this.maxContacts&&(this.maxContactText="test"))},decrementContacts(){this.canDecrementContacts()&&(this.currentContactTier--,this.currentContactTier<=0?(this.currentContactTier=0,this.contacts=this.baseContacts):this.contacts=this.contactPlans[d.store("selectedBilling")][t][this.currentContactTier-1].maxUnits+this.baseContacts)},incrementUsers(i=1){this.users+=i},decrementUsers(i=1){this.canDecrementUsers()&&(this.users-i<=this.baseUsers?this.users=this.baseUsers:this.users-=i)},canDecrementContacts(){return this.contacts>this.baseContacts},canIncrementContacts(){return this.contacts<this.maxContacts},canDecrementUsers(){return this.users>this.baseUsers},calcContactsDisplay(){return this.contacts<=this.baseContacts?this.baseContacts:this.contacts>=this.maxFormatContacts&&this.contacts<=this.maxContacts?parseInt(this.contacts).toLocaleStr
1ing("en-US"):this.contacts>=this.maxContacts?this.maxContacts.toLocaleString("en-US"):this.contacts},trackUsers(){dataLayer.push({event:"click",attributes:{section:"Pricing",action:"Updated users",event_label:`${this.plan.name} total users ${this.users}`}})},trackContacts(){const i=[{min:0,max:499},{min:500,max:1499},{min:1500,max:2499},{min:2500,max:4999},{min:5e3,max:9999},{min:1e4}];let r;i.forEach(o=>{if(typeof r!="string"){if(o.max===void 0){r=`${this.plan.name} total contacts ${o.min}+`;return}o.min<=this.contacts&&o.max>=this.contacts&&(r=`${this.plan.name} total contacts ${o.min}-${o.max}`)}}),dataLayer.push({event:"click",attributes:{section:"Pricing",action:"Updated contacts",event_label:r}})},isContactsInRange(){return this.contacts<=this.baseContacts?(this.outOfRange=!0,"under"):this.contacts>this.maxContacts?(this.outOfRange=!0,"over"):(this.outOfRange=!1,!0)},init(){let i=parseInt(this.$el.dataset.priceMonth);i%1!=0&&(i=i.toFixed(2)),this.planPrice=i,d.store("selectedBilling")==="year"&&(this.planPrice=Math.round(this.planPrice)),this.discountedPrice=i,this.yearlyPrice=parseInt(this.$el.dataset.priceYear);for(let c of this.plan.addons){if(c.itemId.includes("additional-user"))for(let l of c.pricing){const u=this.coupons.find(f=>f.id===l.coupons[0]);l.billingPeriodUnit==="year"?(this.userPlans.year[this.plan.id]=l.tiers[0],this.userPlans.discount.year={amount:(u==null?void 0:u.amount)||0,type:(u==null?void 0:u.type)||null}):l.billingPeriodUnit==="month"&&(this.userPlans.month[this.plan.id]=l.tiers[0],this.userPlans.discount.month={amount:(u==null?void 0:u.amount)||0,type:(u==null?void 0:u.type)||null})}if(c.itemId.includes("additional-contact"))for(let l of c.pricing){const u=this.coupons.find(f=>f.id===l.coupons[0]);l.billingPeriodUnit==="year"?(this.contactPlans.year[this.plan.id]=l.tiers,this.contactPlans.discount.year={amount:(u==null?void 0:u.amount)||0,type:(u==null?void 0:u.type)||null}):l.billingPeriodUnit==="month"&&(this.contactPlans.month[this.plan.id]=l.tiers,this.contactPlans.discount.month={amount:(u==null?void 0:u.amount)||0,type:(u==null?void 0:u.type)||null})}c.itemId.includes("included-contact")&&(this.contactPlans.included[this.plan.id]=c.quantity),c.itemId.includes("included-user")&&(this.userPlans.included[this.plan.id]=c.quantity)}this.$watch("$store.selectedBilling",()=>{this.findContactPlan(),this.updatePricing()}),this.$refs.contactsInput.addEventListener("blur",c=>{this.trackContacts(),this.contactsInputFocused=!1,c.target.value==""&&(this.$refs.contactsInput.value=this.baseContacts)});let r=this.$refs.priceDisplay.offsetHeight;this.$refs.overMaxContactsDisplay.style.height=r+"px",this.$watch("contacts",()=>{this.isContactsInRange(),this.findContactPlan()}),this.$watch("users",()=>{this.users>=this.baseUsers&&this.updatePricing()});let o,a;this.$watch("mouseContactDownIncrement",async()=>{if(clearTimeout(o),clearTimeout(a),this.mouseContactDownIncrement)do this.incrementContacts(),await new Promise(c=>{o=setTimeout(c,250)});while(this.mouseContactDownIncrement&&this.canIncrementContacts())}),this.$watch("mouseContactDownDecrement",async()=>{if(clearTimeout(o),clearTimeout(a),this.mouseContactDownDecrement)do this.decrementContacts(),await new Promise(c=>{a=setTimeout(c,250)});while(this.mouseContactDownDecrement&&this.canDecrementContacts())}),this.$watch("mouseUserDownIncrement",async()=>{if(clearTimeout(o),clearTimeout(a),this.mouseUserDownIncrement)do this.incrementUsers(),await new Promise(c=>{o=setTimeout(c,250)});while(this.mouseUserDownIncrement)}),this.$watch("mouseUserDownDecrement",async()=>{if(clearTimeout(o),clearTimeout(a),this.mouseUserDownDecrement)do this.decrementUsers(),await new Promise(c=>{a=setTimeout(c,250)});while(this.mouseUserDownDecrement&&this.canDecrementUsers())}),document.addEventListener("mouseup",()=>{clearTimeout(o),clearTimeout(a),this.mouseContactDownIncrement=!1,this.mouseContactDownDecrement=!1,this.mouseUserDownIncrement=!1,this.mouseUserDownDecrement=!1}),document.addEventListener("keyup",c=>{c.key===" "&&(clearTimeout(o),clearTimeout(a),this.mouseContactDownIncrement=!1,this.mouseContactDownDecrement=!1)})}})});d.start();
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.