1import{c as o,o as a,n as l,w as r}from"./app-BZOzIUJT.js";import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";const b={name:"emButton",data:function(){return{text:this.defaultButtonLabel,buttonClass:this.$props.defaultButtonClass,disabled:!1,href:this.$props.overrides.buttonDefaultUrl}},props:{dataReady:{type:Boolean,default:!1},availability:{type:String},eligibility:{type:String},overrides:{type:Object},defaultButtonClass:{type:String,default:""},defaultButtonLabel:{type:String,default:t=>{var e;return(e=t.overrides)==null?void 0:e.buttonDefaultText}},returnHere:{type:Boolean,default:!1}},async mounted(){},methods:{setButtonAttributes(){const t=this;switch(t.eligibility=="public"?(t.availability=="available"&&(t.text=this.defaultButtonLabel,t.disabled=!1,t.href=t.$props.overrides.buttonDefaultUrl,t.buttonClass=t.buttonClass.replace(" o-button--disabled","")),t.availability=="lowAvailability"&&(t.text=this.defaultButtonLabel,t.disabled=!1,t.href=t.$props.overrides.buttonDefaultUrl,t.buttonClass=t.buttonClass.replace(" o-button--disabled","")),t.availability=="sellingFast"&&(t.text=this.defaultButtonLabel,t.disabled=!1,t.href=t.$props.overrides.buttonDefaultUrl,t.buttonClass=t.buttonClass.replace(" o-button--disabled",""))):t.eligibility=="priorityBooking"?(t.text="Priority booking",t.disabled=!1,t.href=t.$props.overrides.buttonDefaultUrl,t.buttonClass=t.buttonClass.replace(" o-button--disabled","")):t.eligibility=="comingSoon"&&(t.text="Coming soon",t.href="#",t.disabled=!0,t.buttonClass=t.buttonClass+" o-button--disabled"),t.availability=="soldOut"&&(t.text="Sold out",t.href="#",t.disabled=!0,t.buttonClass=t.buttonClass+" o-button--disabled"),t.availability=="accessAvailability"&&(t.text="Limited Availability"),t.availability=="cancelled"&&(t.text="Cancelled",t.href="#",t.disabled=!0,t.buttonClass=t.buttonClass+" o-button--disabled"),t.overrides.buttonPreset){case"hideButton":t.buttonClass="o-button--hidden";break;case"soldOut":t.text="Sold out",t.href="#",t.disabled=!0,t.buttonClass=t.buttonClass+" o-button--disabled";break;case"comingSoon":t.text="Coming soon",t.href="#",t.disabled=!0,t.buttonClass=t.buttonClass+" o-button--disabled";break;case"postponed":t.text="Postponed",t.href="#",t.disabled=!0,t.buttonClass=t.buttonClass+" o-button--disabled";break;case"cancelled":t.text="Cancelled",t.href="#",t.disabled=!0,t.buttonClass=t.buttonClass+" o-button--disabled";break;case"accessOnly":t.text="Access only",t.href=t.$props.overrides.buttonDefaultUrl,t.disabled=!1,t.buttonClass=t.buttonClass.replace(" o-button--disabled","");break;case"custom":t.text=t.overrides.buttonTextOverride?t.overrides.buttonTextOverride:t.text,t.href=t.overrides.buttonHrefOverride?t.overrides.buttonHrefOverride:t.href,t.overrides.buttonStateOverride=="disabled"||t.overrides.buttonStateOverride=="enabled"?(t.disabled=t.overrides.buttonStateOverride!="enabled",t.buttonClass=t.overrides.buttonStateOverride=="enabled"?t.buttonClass.replace("o-button--disabled",""):t.buttonClass+" o-button--disabled"):t.overrides.buttonStateOverride=="hidden"&&(t.buttonClass="o-button--hidden");break}},buttonClick(){const t=this;switch(this.returnHere?localStorage.setItem("spektrix-return-to",window.location.href):localStorage.removeItem("spektrix-return-to"),t.eligibility){case"comingSoon":break;case"priorityBooking":t.$emit("checkEligibility",t.href);break;default:window.location.href=t.href;break}}},watch:{dataReady(t){t&&this.setButtonAttributes()}}},d=["innerHTML"],u=["href","innerHTML"];function f(t,e,c,p,h,s){return t.disabled?(a(),o("span",{key:0,innerHTML:t.text,class:l([t.buttonClass,"o-button"])},null,10,d)):(a(),o("a",{key:1,href:t.href,innerHTML:t.text,class:l([t.buttonClass,"o-button"]),onClick:e[0]||(e[0]=r((...i)=>s.buttonClick&&s.buttonClick(...i),["prevent"]))},null,10,u))}const y=n(b,[["render",f]]);export{y as default}; 2//# sourceMappingURL=button-Dvy3X5rE.js.map
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.