function _classCallCheck(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}function _possibleConstructorReturn(n,t){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t&&(typeof t=="object"||typeof t=="function")?t:n}function _inherits(n,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof t);n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}});t&&(Object.setPrototypeOf?Object.setPrototypeOf(n,t):n.__proto__=t)}function Experience_Featured(n){return React.createElement("div",{className:"sessions-featured-experience"},n.featuredExperience)}function Experience_Item(n){return React.createElement("span",{className:n.attributeClass})}function SessionItem_Expired(n){var t=n.startTime.substr(0,5),i=n.startTime.substr(-2);return React.createElement("a",{className:"showtime-btn is-disabled",title:n.displayDate+" at "+n.startTime},React.createElement("span",{className:"showtime-btn__time"},t," ",React.createElement("span",{className:"showtime-btn__ordinal"},i)),React.createElement(Experience_List,{experiences:n.experiences}))}function SessionItem_NotBookable(n){var t=n.startTime.substr(0,5),i=n.startTime.substr(-2);return React.createElement("a",{className:"showtime-btn is-disabled",title:n.displayDate+" at "+n.startTime},React.createElement("span",{className:"showtime-btn__time"},t," ",React.createElement("span",{className:"showtime-btn__ordinal"},i)),React.createElement(Experience_List,{experiences:n.experiences}))}function SessionItem_SoldOut(n){var t=n.startTime.substr(0,5),i=n.startTime.substr(-2);return React.createElement("a",{className:"showtime-btn is-disabled",title:n.displayDate+" at "+n.startTime},React.createElement("span",{className:"showtime-btn__time"},t," ",React.createElement("span",{className:"showtime-btn__ordinal"},i)),React.createElement(Experience_List,{experiences:n.experiences}))}function Shared_DateButton(n){var t=n.selectedDate?dateObjFromString(n.selectedDate):null,i=dateObjFromString(n.date),r=(t&&t.getTime()===i.getTime()?"":"dnm")+" date-filter-button";return React.createElement("button",{className:t&&t.getTime()===i.getTime()?"active "+r:""+r,onClick:function(){return n.selectFunction(n.date)}},React.createElement("span",{className:"display-day"},n.day),React.createElement("span",{className:"display-date"},n.displayDate))}function Shared_DateFilterDateButtons(n){var s=new Date,a=pc.labels.monthShort[s.getMonth()]+" "+s.getDate(),h=[],e=0,v=n.selectedDate==="ComingSoon"?" active":"",c,t,l,r,o;typeof n.availableDates!="undefined"&&n.availableDates!==null&&(e=n.availableDates.length);var u=e>7?7:e,f=e,i=0;if(u>0)for(c=dateObjFromString(n.selectedDate),t=0;t<n.availableDates.length;t++)l=dateObjFromString(n.availableDates[t].Date),c.getTime()===l.getTime()&&t>3&&t<f&&(u=t+4,i=t-3,u>f&&(u=f,f>7&&(i=f-7)));if(n.availableDates&&n.availableDates.length>0)for(i;i<u;i++)r=dateObjFromString(n.availableDates[i].Date),o=("0"+(r.getMonth()+1)).slice(-2)+"/"+r.getDate(),h.push(React.createElement(Showtimes_DateButton,{date:r.getFullYear()+"-"+("0"+(r.getMonth()+1)).slice(-2)+"-"+r.getDate(),selectedDate:n.selectedDate!=="ComingSoon"?n.selectedDate:null,selectFunction:n.selectFunction,day:o===a?"Today":pc.labels.dayShort[r.getDay()],displayDate:o,key:i}));return React.createElement("div",{className:"gridRow"},React.createElement("div",{className:"gridCol-l-12 gridCol-m-12 gridCol-s-12"},typeof n.availableDates!="undefined"&&n.availableDates!==null&&n.availableDates.length>0?React.createElement("div",{className:"date-filter-wrapper"},h,React.createElement("button",{className:"date-filter-button "+v,onClick:function(){return n.handleComingSoon()}},React.createElement("span",{className:"display-day"},"COMING"),React.createElement("span",{className:"display-date"},"SOON")),React.createElement("button",{id:"datepicker-btn",className:"date-filter-button","data-datepicker-btn":"Select a date","data-date":n.selectedDate,onClick:n.handleClick},React.createElement("span",{className:"calendar-button-icon"}))):""))}var _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol?"symbol":typeof n},_extends=Object.assign||function(n){for(var i,r,t=1;t<arguments.length;t++){i=arguments[t];for(r in i)Object.prototype.hasOwnProperty.call(i,r)&&(n[r]=i[r])}return n},_createClass=function(){function n(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}return function(t,i,r){return i&&n(t.prototype,i),r&&n(t,r),t}}(),CinemaSelectorSelectedType=Object.freeze({NotSelected:0,CinemaGroup:1,Cinema:2}),CinemaSelectorItemEnum=Object.freeze({GroupHeader:0,CinemaGroupOption:1,CinemaOption:2}),CinemaSelectorAppendType=Object.freeze({NotUsed:0,StateCode:1,StateName:2,CinemaGroupName:3}),CinemaGroupUrlType=Object.freeze({GroupRoot:0,Cinema:1}),CinemaSelectorLabelType=Object.freeze({Standard:0,Pattern:1}),CinemaGroupUrl=PropTypes.shape({Url:PropTypes.string.isRequired,UrlType:PropTypes.oneOf([0,1]).isRequired}),ThirdPartyTicketingData=PropTypes.shape({ThirdPartyBookingUrl:PropTypes.string,ThirdPartyAffiliateId:PropTypes.string,ThirdPartyExhibitorId:PropTypes.string,ThirdPartyChainId:PropTypes.string}),SelectorCinema=PropTypes.shape({CinemaNodeId:PropTypes.number.isRequired,CinemaIntId:PropTypes.number.isRequired,CinemaName:PropTypes.string.isRequired,CinemaGroupName:PropTypes.string.isRequired,UrlFriendlyName:PropTypes.string.isRequired,StateCode:PropTypes.string.isRequired,StateName:PropTypes.string.isRequired,IsComingSoon:PropTypes.bool.isRequired,ComingSoonCinemaInfoPage:PropTypes.string,ThirdPartyData:ThirdPartyTicketingData}),CinemaProps=PropTypes.shape({CinemaNodeId:PropTypes.number.isRequired,CinemaIntId:PropTypes.number.isRequired,LoyaltyCinemaId:PropTypes.number.isRequired,CinemaName:PropTypes.string.isRequired,CinemaShortName:PropTypes.string.isRequired,UrlFriendlyName:PropTypes.string.isRequired,ComingSoon:PropTypes.bool.isRequired}),CinemaGroup=PropTypes.shape({CinemaIds:PropTypes.arrayOf(PropTypes.number).isRequired,Level:PropTypes.number.isRequired,Name:PropTypes.string.isRequired,NodeId:PropTypes.number.isRequired,Order:PropTypes.number.isRequired,ParentPathIds:PropTypes.string,Urls:PropTypes.arrayOf(CinemaGroupUrl).isRequired}),Experience_List=function(n){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return _inherits(t,n),_createClass(t,[{key:"render",value:function(){var n=[],t=["RECLINERS","MX4D","GS","TRAD_AUD","LEATHER","IDEVERYONE","DOLBY_7_1","40HIGH","STADIUM","DIGITAL","SCREENPLAY","DTSX","SCREEN_X","SCREEN-X","REALD_3D","AUDIO_DESC","CLOSED_CAP","MS","RETRO","LYRIC","TELUGA","VIP","KSS","HEAT","RESERVED","MAX_RELAX","NO_CT","3D_HFR","LASER","EVENT","DOLBY_3D"];return this.props.experiences&&this.props.experiences.length>0&&this.props.experiences.forEach(function(i,r){var u=i.ExternalId.toUpperCase().replace(/[^A-Z0-9]/ig,"_");t.includes(u)||n.push(React.createElement(Experience_Item,{attributeClass:"showtime-btn__attributes--"+u,key:r}))}),n.length>0?React.createElement("div",{className:"showtime-btn__attributes"},n):""}}]),t}(React.Component),SessionItem_Bookable=function(n){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return _inherits(t,n),_createClass(t,[{key:"render",value:function(){var n=this,t=getBoostBookingLink(this.props.externalCinemaId,this.props.externalScheduleId);this.props.switchToThirdPartyTicketing[0]&&(t=this.props.thirdPartyBookingURL[0]+"&irn="+this.props.ungroupedFilmExternalId+"&a="+this.props.thirdPartyAffiliateId[0]+"&csid="+this.props.thirdPartyExhibitorId[0]+"&ccode="+this.props.thirdPartyChainId[0]+"&date="+this.props.fullDate+"+"+convertTo24Hour(this.props.startTime));var u=this.props.experiences.filter(function(n){return n.AttributeType===1}).map(function(n){return n.Name})[0]||null,i=this.props.startTime.substr(0,5),r=this.props.startTime.substr(-2);return React.createElement("a",_extends({href:this.props.hasPopUp?null:t,className:"showtime-btn",title:this.props.displayDate+" at "+this.props.startTime,onClick:function(){return n.props.hasPopUp?n.props.showPopUp(n.props.popUpId,t):null}},this.props.customAttributes),React.createElement("span",{className:"showtime-btn__time"},i,React.createElement("span",{className:"showtime-btn__ordinal"},r)),React.createElement(Experience_List,{experiences:this.props.experiences}))}}]),t}(React.Component),SessionsAttributes_Wrapper=function(n){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return _inherits(t,n),_createClass(t,[{key:"render",value:function(){return React.createElement("div",{className:"sessionAttributesGroup"},React.createElement("div",{className:"sessionAttributesTitle"},this.props.title),React.createElement("div",null,this.props.sessionItems))}}]),t}(React.Component),SessionsDates_Wrapper=function(n){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return _inherits(t,n),_createClass(t,[{key:"render",value:function(){return React.createElement("div",{className:"session__dates"},this.props.displayDate&&React.createElement(React.Fragment,null,React.createElement("div",{className:"h3"},React.createElement("b",null,this.props.isToday&&"Today - ",this.props.displayDate)),this.props.isFilmInfo&&React.createElement("p",{className:"ta__center"},"All Feature Films Showtimes (excluding Drive In) have Closed Captions & Descriptive Audio")),React.createElement("div",null,this.props.sessionItems))}}]),t}(React.Component),Shared_CinemaSelectorPortal=function(n){function t(n){_classCallCheck(this,t);var i=_possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,n));return i.el=document.getElementById("sharedCinemaSelectorPortal"),i.closeCinemaSelector=i.closeCinemaSelector.bind(i),i}return _inherits(t,n),_createClass(t,[{key:"componentDidMount",value:function(){document.addEventListener("click",this.closeCinemaSelector)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("click",this.closeCinemaSelector)}},{key:"closeCinemaSelector",value:function(n){var t=document.getElementById("sharedCinemaSelectorPortal");t===null||t.contains(n.target)||this.props.toggleCinemaSelector(!1)}},{key:"render",value:function(){if(this.el){var t=parseInt(this.el.dataset.selectedCinemaId),i=parseInt(this.el.dataset.selectedCinemaGroupId),n=JSON.parse(this.el.dataset.config),r=this.el.dataset.label,u=this.el.dataset.labelPostFixDefault,f=JSON.parse(this.el.dataset.cinemaGroups),e=JSON.parse(this.el.dataset.selectorCinemas),o=JSON.parse(this.el.dataset.comingSoonSelectorCinemas),s=this.el.dataset.title,h=this.el.dataset.subTitle,c=this.el.dataset.theatreInfoBtn,l=this.el.dataset.showtimesBtn;if(n.IsHomePage)return ReactDOM.createPortal(React.createElement(Shared_CinemaSelectorHome,{appendType:n.AppendType,baseUrlSegment:n.BaseUrlSegment,cinemaGroups:f,comingSoonSelectorCinemas:o,handleCinemaSelectorSelect:this.props.handleCinemaSelectorSelect,isRedirect:n.IsRedirect,isFilter:n.IsFilter,isOpen:this.props.isOpen,label:r,labelPostFixDefault:u,movieUrlSegment:n.MovieUrlSegment,selectedCinemaGroupId:i,selectedCinemaId:t,selectorCinemas:e,selectSetsCookie:n.SelectSetsCookie,toggleCinemaSelector:this.props.toggleCinemaSelector,hasAllTheatres:this.props.hasAllTheatres,disabled:this.props.disabled,updatePrefixUrl:this.props.updatePrefixUrl}),this.el);if(!n.IsHomePage)return ReactDOM.createPortal(React.createElement(Shared_CinemaSelector,{appendType:n.AppendType,baseUrlSegment:n.BaseUrlSegment,cinemaGroups:f,comingSoonSelectorCinemas:o,handleCinemaSelectorSelect:this.props.handleCinemaSelectorSelect,isRedirect:n.IsRedirect,isFilter:n.IsFilter,isOpen:this.props.isOpen,label:r,labelPostFixDefault:u,movieUrlSegment:n.MovieUrlSegment,selectedCinemaGroupId:i,selectedCinemaId:t,selectorCinemas:e,selectSetsCookie:n.SelectSetsCookie,toggleCinemaSelector:this.props.toggleCinemaSelector,hasAllTheatres:this.props.hasAllTheatres,disabled:this.props.disabled,updatePrefixUrl:this.props.updatePrefixUrl}),this.el)}return null}}]),t}(React.Component),Shared_CinemaSelectorHome,Shared_CinemaSelector,Shared_CinemaSelectorHeader,Shared_CinemaSelectorItem,Shared_CinemaSelectorTitle;Shared_CinemaSelectorPortal.propTypes={handleCinemaSelectorSelect:PropTypes.func.isRequired,isOpen:PropTypes.bool.isRequired,toggleCinemaSelector:PropTypes.func.isRequired};Shared_CinemaSelectorHome=function(n){function t(n){_classCallCheck(this,t);var i=_possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,n));return i.dropdown=React.createRef(),i.state={hasStateFromProps:!1,label:"AT: <span>All Theatres<\/span>",selectedCinemaId:-1,selectedCinemaGroupId:-1,selectorItems:[],loading:!1},i.buildLabel=i.buildLabel.bind(i),i.handleOnSelect=i.handleOnSelect.bind(i),i.handleSetCookie=i.handleSetCookie.bind(i),i.updateSocialLinks=i.updateSocialLinks.bind(i),i.handleRedirect=i.handleRedirect.bind(i),i.toggleLoading=i.toggleLoading.bind(i),i}return _inherits(t,n),_createClass(t,null,[{key:"getDerivedStateFromProps",value:function(n,t){if(t.hasStateFromProps===!1){var i=function(){var t=[];return n.selectorCinemas&&n.selectorCinemas.length>0&&function(){var r=document.querySelector("[data-movie-cinemas]"),i=[];if(r!==null)try{i=JSON.parse(r.dataset.movieCinemas).NowShowing;i.forEach(function(t){var r=!0,f=!1,e=undefined,i,o,u;try{for(i=n.selectorCinemas[Symbol.iterator]();!(r=(o=i.next()).done);r=!0)if(u=o.value,u.CinemaIntId===t.CinemaId){t.CinemaNodeId=u.CinemaNodeId;break}}catch(s){f=!0;e=s}finally{try{!r&&i.return&&i.return()}finally{if(f)throw e;}}})}catch(u){}$.each(n.cinemaGroups,function(r,u){var f,e,a,v,s;if(i.length>0){for(f=u.CinemaIds.length-1;f>=0;f--){var h=!1,o=!0,c=!1,l=undefined;try{for(e=i[Symbol.iterator]();!(o=(a=e.next()).done);o=!0)if(v=a.value,v.CinemaNodeId===u.CinemaIds[f]){h=!0;break}}catch(y){c=!0;l=y}finally{try{!o&&e.return&&e.return()}finally{if(c)throw l;}}h===!1&&u.CinemaIds.splice(f,1)}if(u.CinemaIds.length===0)return!0}return u.Level===0&&t.push({cinemaId:-1,groupId:u.NodeId,itemType:CinemaSelectorItemEnum.GroupHeader,name:u.Name,url:u.Urls[0].Url}),s=!1,$.each(u.CinemaIds,function(i,r){var f=n.selectorCinemas.find(function(n){return n.CinemaNodeId===r}),e;if(f!==null&&typeof f!="undefined"&&s===!1&&(t.push({cinemaId:-1,groupId:u.NodeId,itemType:CinemaSelectorItemEnum.CinemaGroupOption,name:u.Name,url:u.Urls[0].Url}),s=!0),f!==null&&typeof f!="undefined"){e="";switch(n.appendType){case CinemaSelectorAppendType.StateCode:e=Shared_CinemaSelector.buildCinemaName(f.CinemaName,f.StateCode);break;case CinemaSelectorAppendType.StateName:e=Shared_CinemaSelector.buildCinemaName(f.CinemaName,f.StateName);break;case CinemaSelectorAppendType.CinemaGroupName:e=Shared_CinemaSelector.buildCinemaName(f.CinemaName,f.CinemaGroupName);break;case CinemaSelectorAppendType.NotUsed:default:e=Shared_CinemaSelector.buildCinemaName(f.CinemaName,"")}t.push({cinemaId:f.CinemaNodeId,groupId:u.NodeId,itemType:CinemaSelectorItemEnum.CinemaOption,name:e,url:f.UrlFriendlyName})}}),!0})}(),{v:{hasStateFromProps:!0,selectedCinemaId:n.selectedCinemaId,selectedCinemaGroupId:n.selectedCinemaGroupId,selectorItems:t}}}();if((typeof i=="undefined"?"undefined":_typeof(i))==="object")return i.v}return null}},{key:"buildCinemaName",value:function(n,t){var i=n;return t!==""&&(i+=", "+t),i}}]),_createClass(t,[{key:"componentDidMount",value:function(){var i=this,t,n;this.props.updatePrefixUrl&&(t="",this.props.selectedCinemaId>0&&(t="/"+this.props.selectorCinemas.filter(function(n){return n.CinemaNodeId===i.props.selectedCinemaId})[0].UrlFriendlyName),this.props.updatePrefixUrl(t));this.buildLabel();typeof this.dropdown.current!="undefined"&&this.dropdown.current!==null&&(n=jQuery(this.dropdown.current),typeof n.data("jsp")!="undefined"&&n.data("jsp")!==null?n.data("jsp").reinitialise():jQuery(this.dropdown.current).jScrollPane())}},{key:"buildLabel",value:function(){var i=this,t="",n;this.state.selectedCinemaId<=0?t="AT: <span>All Theatres<\/span>":(n=this.state.selectorItems.find(function(n){return i.state.selectedCinemaId>0?n.cinemaId===i.state.selectedCinemaId:null}),t=n!==null&&typeof n!="undefined"?"AT: <span>"+n.name+"<\/span>":this.props.label);this.setState({label:t})}},{key:"handleSetCookie",value:function(){var t=this,n;this.props.selectSetsCookie&&(n={SelectedCinemaGroupId:this.state.selectedCinemaGroupId,SelectedCinemaId:this.state.selectedCinemaId},fetch("/Umbraco/Api/ClientCinemaPickerApi/CinemaSelectorCookied",{method:"POST",body:JSON.stringify(n),headers:{"Content-Type":"application/json"}}).then(function(){EventEmitterClient.emit("UpdatedSelectedCinema",{selectedCinemaId:t.state.selectedCinemaId})}))}},{key:"updateSocialLinks",value:function(){var h=this,i=jQuery("[data-social-facebook"),r=jQuery("[data-social-twitter"),u=jQuery("[data-social-instagram"),f=jQuery("[data-social-youtube"),n="",e="",o="",s="",t=this.props.selectorCinemas.filter(function(n){return n.CinemaNodeId===h.state.selectedCinemaId});t.length>0&&(n=t[0].FacebookUrl,e=t[0].TwitterUrl,o=t[0].InstagramUrl,s=t[0].YoutubeUrl);i.addClass("dn");r.addClass("dn");u.addClass("dn");f.addClass("dn");n.length>0&&i.attr("href",n).removeClass("dn");n.length>0&&r.attr("href",e).removeClass("dn");n.length>0&&u.attr("href",o).removeClass("dn");n.length>0&&f.attr("href",s).removeClass("dn")}},{key:"handleRedirect",value:function(){var t=this,n;this.props.isRedirect?(this.toggleLoading(),n=""+(this.state.selectedCinemaId>0?"/"+this.state.selectorItems.filter(function(n){return n.cinemaId===t.state.selectedCinemaId})[0].url:"")+this.props.baseUrlSegment+(this.props.movieUrlSegment?this.props.movieUrlSegment:""),document.getElementById("showtimes-section")!==null&&(n+="#showtimes-section"),window.location.replace(n)):this.updateSocialLinks();return}},{key:"handleOnSelect",value:function(n,t,i){var r=this,o=CinemaSelectorSelectedType.NotSelected,f=-1,u=-1,e="",s="All Theatres";switch(i){case CinemaSelectorItemEnum.CinemaGroupOption:o=CinemaSelectorSelectedType.CinemaGroup;u=t;e="/"+this.state.selectorItems.filter(function(n){return n.groupId===t&&n.cinemaId===-1}).url;break;case CinemaSelectorItemEnum.CinemaOption:o=CinemaSelectorSelectedType.Cinema;f=n;u=t;e="/"+this.state.selectorItems.filter(function(t){return t.cinemaId===n})[0].url;s=this.state.selectorItems.filter(function(t){return t.cinemaId===n})[0].name}this.setState({selectedCinemaId:f,selectedCinemaGroupId:u,label:"AT: <span>"+s+"<\/span>"},function(){EventEmitterClient.emit("UpdatedSharedCinemaSelector",{selectedCinemaId:f,selectedCinemaGroupId:u});r.props.updatePrefixUrl&&r.props.updatePrefixUrl(e);r.props.handleCinemaSelectorSelect(f,u,o,r.props.isRedirect,e);r.handleSetCookie();r.handleRedirect()})}},{key:"toggleLoading",value:function(){this.setState(function(n){return{loading:!n.check}})}},{key:"render",value:function(){var n=this;return React.createElement("div",{className:"location-dropdown "+(this.props.disabled?"disabled":"")+" "+(this.state.loading?"loading":"")},React.createElement("button",{onClick:function(){return n.props.toggleCinemaSelector(n.props.isOpen?!1:!0)},className:"location-dropdown__trigger","aria-controls":"location","aria-expanded":this.props.isOpen},React.createElement("div",{className:"icon-text icon-text--lrg"},React.createElement("svg",null,React.createElement("use",{xlinkHref:"/css/libs/svg/icon-library.svg#location"})),React.createElement("div",{dangerouslySetInnerHTML:{__html:this.props.disabled?"All Theatres":this.state.label}}),React.createElement("svg",{className:"chevron"},React.createElement("use",{xlinkHref:"/css/libs/svg/icon-library.svg#chevron-down"})))),React.createElement("div",{id:"location",className:"location-dropdown__menu "+(this.props.isOpen?"is-open":"")},React.createElement("div",{className:"location-dropdown__container"},React.createElement("div",{className:"location-dropdown__title h4 tt__uc"},"Select your theatre"),React.createElement("div",{className:"location-dropdown__list",ref:this.dropdown},this.props.hasAllTheatres&&React.createElement(Shared_CinemaSelectorItem,{handleOnSelect:this.handleOnSelect,cinemaId:-1,isActive:-1===this.state.selectedCinemaId||this.props.disabled,groupId:-1,key:-1,itemType:CinemaSelectorItemEnum.NotSelected,name:"All Theatres"}),this.state.selectorItems.map(function(t,i){switch(t.itemType){case CinemaSelectorItemEnum.GroupHeader:return React.createElement(Shared_CinemaSelectorHeader,{key:i,name:t.name});case CinemaSelectorItemEnum.CinemaGroupOption:return React.createElement(Shared_CinemaSelectorItem,{handleOnSelect:n.handleOnSelect,cinemaId:t.cinemaId,groupId:t.groupId,key:i,itemType:CinemaSelectorItemEnum.CinemaGroupOption,name:t.name});case CinemaSelectorItemEnum.CinemaOption:return React.createElement(Shared_CinemaSelectorItem,{handleOnSelect:n.handleOnSelect,cinemaId:t.cinemaId,isActive:t.cinemaId===n.state.selectedCinemaId&&!n.props.disabled,groupId:t.groupId,key:i,itemType:CinemaSelectorItemEnum.CinemaOption,name:t.name});default:return null}})))))}}]),t}(React.Component);Shared_CinemaSelectorHome.propTypes={appendType:PropTypes.oneOf([0,1,2,3]).isRequired,baseUrlSegment:PropTypes.string.isRequired,cinemaGroups:PropTypes.arrayOf(CinemaGroup),comingSoonSelectorCinemas:PropTypes.arrayOf(SelectorCinema),handleCinemaSelectorSelect:PropTypes.func.isRequired,isFilter:PropTypes.bool.isRequired,isOpen:PropTypes.bool.isRequired,isRedirect:PropTypes.bool.isRequired,label:PropTypes.string.isRequired,movieUrlSegment:PropTypes.string,selectSetsCookie:PropTypes.bool.isRequired,selectedCinemaGroupId:PropTypes.number.isRequired,selectedCinemaId:PropTypes.number.isRequired,selectorCinemas:PropTypes.arrayOf(SelectorCinema),showtimesBtn:PropTypes.string,subTitle:PropTypes.string,theatreInfoBtn:PropTypes.string,toggleCinemaSelector:PropTypes.func.isRequired,title:PropTypes.string,updatePrefixUrl:PropTypes.func};Shared_CinemaSelector=function(n){function t(n){_classCallCheck(this,t);var i=_possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,n));return i.dropdown=React.createRef(),i.state={hasStateFromProps:!1,label:"AT: <span>All Theatres<\/span>",selectedCinemaId:-1,selectedCinemaGroupId:-1,selectorItems:[],loading:!1},i.buildLabel=i.buildLabel.bind(i),i.handleOnSelect=i.handleOnSelect.bind(i),i.handleSetCookie=i.handleSetCookie.bind(i),i.updateSocialLinks=i.updateSocialLinks.bind(i),i.handleRedirect=i.handleRedirect.bind(i),i.toggleLoading=i.toggleLoading.bind(i),i}return _inherits(t,n),_createClass(t,null,[{key:"getDerivedStateFromProps",value:function(n,i){if(i.hasStateFromProps===!1){var r=function(){var i=[];return n.selectorCinemas&&n.selectorCinemas.length>0&&function(){var u=document.querySelector("[data-movie-cinemas]"),r=[];if(u!==null)try{r=JSON.parse(u.dataset.movieCinemas).NowShowing;r.forEach(function(t){var r=!0,f=!1,e=undefined,i,o,u;try{for(i=n.selectorCinemas[Symbol.iterator]();!(r=(o=i.next()).done);r=!0)if(u=o.value,u.CinemaIntId===t.CinemaId){t.CinemaNodeId=u.CinemaNodeId;break}}catch(s){f=!0;e=s}finally{try{!r&&i.return&&i.return()}finally{if(f)throw e;}}})}catch(f){}$.each(n.cinemaGroups,function(u,f){var e,o,v,y,h;if(r.length>0){for(e=f.CinemaIds.length-1;e>=0;e--){var c=!1,s=!0,l=!1,a=undefined;try{for(o=r[Symbol.iterator]();!(s=(v=o.next()).done);s=!0)if(y=v.value,y.CinemaNodeId===f.CinemaIds[e]){c=!0;break}}catch(p){l=!0;a=p}finally{try{!s&&o.return&&o.return()}finally{if(l)throw a;}}c===!1&&f.CinemaIds.splice(e,1)}if(f.CinemaIds.length===0)return!0}return f.Level===0&&i.push({cinemaId:-1,groupId:f.NodeId,itemType:CinemaSelectorItemEnum.GroupHeader,name:f.Name,url:f.Urls[0].Url}),h=!1,$.each(f.CinemaIds,function(r,u){var e=n.selectorCinemas.find(function(n){return n.CinemaNodeId===u}),o;if(e!==null&&typeof e!="undefined"&&h===!1&&(i.push({cinemaId:-1,groupId:f.NodeId,itemType:CinemaSelectorItemEnum.CinemaGroupOption,name:f.Name,url:f.Urls[0].Url}),h=!0),e!==null&&typeof e!="undefined"){o="";switch(n.appendType){case CinemaSelectorAppendType.StateCode:o=t.buildCinemaName(e.CinemaName,e.StateCode);break;case CinemaSelectorAppendType.StateName:o=t.buildCinemaName(e.CinemaName,e.StateName);break;case CinemaSelectorAppendType.CinemaGroupName:o=t.buildCinemaName(e.CinemaName,e.CinemaGroupName);break;case CinemaSelectorAppendType.NotUsed:default:o=t.buildCinemaName(e.CinemaName,"")}i.push({cinemaId:e.CinemaNodeId,groupId:f.NodeId,itemType:CinemaSelectorItemEnum.CinemaOption,name:o,url:e.UrlFriendlyName})}}),!0})}(),{v:{hasStateFromProps:!0,selectedCinemaId:n.selectedCinemaId,selectedCinemaGroupId:n.selectedCinemaGroupId,selectorItems:i}}}();if((typeof r=="undefined"?"undefined":_typeof(r))==="object")return r.v}return null}},{key:"buildCinemaName",value:function(n,t){var i=n;return t!==""&&(i+=", "+t),i}}]),_createClass(t,[{key:"componentDidMount",value:function(){var i=this,t,n;this.props.updatePrefixUrl&&(t="",this.props.selectedCinemaId>0&&(t="/"+this.props.selectorCinemas.filter(function(n){return n.CinemaNodeId===i.props.selectedCinemaId})[0].UrlFriendlyName),this.props.updatePrefixUrl(t));this.buildLabel();typeof this.dropdown.current!="undefined"&&this.dropdown.current!==null&&(n=jQuery(this.dropdown.current),typeof n.data("jsp")!="undefined"&&n.data("jsp")!==null?n.data("jsp").reinitialise():jQuery(this.dropdown.current).jScrollPane())}},{key:"buildLabel",value:function(){var i=this,t="",n;this.state.selectedCinemaId<=0?t="AT: <span>All Theatres<\/span>":(n=this.state.selectorItems.find(function(n){return i.state.selectedCinemaId>0?n.cinemaId===i.state.selectedCinemaId:null}),t=n!==null&&typeof n!="undefined"?"AT: <span>"+n.name+"<\/span>":this.props.label);this.setState({label:t})}},{key:"handleSetCookie",value:function(){var t=this,n;this.props.selectSetsCookie&&(n={SelectedCinemaGroupId:this.state.selectedCinemaGroupId,SelectedCinemaId:this.state.selectedCinemaId},fetch("/Umbraco/Api/ClientCinemaPickerApi/CinemaSelectorCookied",{method:"POST",body:JSON.stringify(n),headers:{"Content-Type":"application/json"}}).then(function(){EventEmitterClient.emit("UpdatedSelectedCinema",{selectedCinemaId:t.state.selectedCinemaId})}))}},{key:"updateSocialLinks",value:function(){var h=this,i=jQuery("[data-social-facebook"),r=jQuery("[data-social-twitter"),u=jQuery("[data-social-instagram"),f=jQuery("[data-social-youtube"),n="",e="",o="",s="",t=this.props.selectorCinemas.filter(function(n){return n.CinemaNodeId===h.state.selectedCinemaId});t.length>0&&(n=t[0].FacebookUrl,e=t[0].TwitterUrl,o=t[0].InstagramUrl,s=t[0].YoutubeUrl);i.addClass("dn");r.addClass("dn");u.addClass("dn");f.addClass("dn");n.length>0&&i.attr("href",n).removeClass("dn");n.length>0&&r.attr("href",e).removeClass("dn");n.length>0&&u.attr("href",o).removeClass("dn");n.length>0&&f.attr("href",s).removeClass("dn")}},{key:"handleRedirect",value:function(){var t=this,n;this.props.isRedirect?(this.toggleLoading(),n=""+(this.state.selectedCinemaId>0?"/"+this.state.selectorItems.filter(function(n){return n.cinemaId===t.state.selectedCinemaId})[0].url:"")+this.props.baseUrlSegment+(this.props.movieUrlSegment?this.props.movieUrlSegment:""),document.getElementById("showtimes-section")!==null&&(n+="#showtimes-section"),window.location.replace(n)):this.updateSocialLinks();return}},{key:"handleOnSelect",value:function(n,t,i){var r=this,o=CinemaSelectorSelectedType.NotSelected,f=-1,u=-1,e="",s="All Theatres";switch(i){case CinemaSelectorItemEnum.CinemaGroupOption:o=CinemaSelectorSelectedType.CinemaGroup;u=t;e="/"+this.state.selectorItems.filter(function(n){return n.groupId===t&&n.cinemaId===-1}).url;break;case CinemaSelectorItemEnum.CinemaOption:o=CinemaSelectorSelectedType.Cinema;f=n;u=t;e="/"+this.state.selectorItems.filter(function(t){return t.cinemaId===n})[0].url;s=this.state.selectorItems.filter(function(t){return t.cinemaId===n})[0].name}this.setState({selectedCinemaId:f,selectedCinemaGroupId:u,label:"AT: <span>"+s+"<\/span>"},function(){EventEmitterClient.emit("UpdatedSharedCinemaSelector",{selectedCinemaId:f,selectedCinemaGroupId:u});r.props.updatePrefixUrl&&r.props.updatePrefixUrl(e);r.props.handleCinemaSelectorSelect(f,u,o,r.props.isRedirect,e);r.handleSetCookie();r.handleRedirect()})}},{key:"toggleLoading",value:function(){this.setState(function(n){return{loading:!n.check}})}},{key:"render",value:function(){var n=this;return React.createElement("div",{className:"location-dropdown "+(this.props.disabled?"disabled":"")+" "+(this.state.loading?"loading":"")},React.createElement("button",{onClick:function(){return n.props.toggleCinemaSelector(n.props.isOpen?!1:!0)},className:"location-dropdown__trigger","aria-controls":"location","aria-expanded":this.props.isOpen},React.createElement("div",{className:"icon-text icon-text--lrg"},React.createElement("svg",null,React.createElement("use",{xlinkHref:"/css/libs/svg/icon-library.svg#location"})),React.createElement("div",{dangerouslySetInnerHTML:{__html:this.props.disabled?"All Theatres":this.state.label}}),React.createElement("svg",{className:"chevron"},React.createElement("use",{xlinkHref:"/css/libs/svg/icon-library.svg#chevron-down"})))),React.createElement("div",{id:"location",className:"location-dropdown__menu "+(this.props.isOpen?"is-open":"")},React.createElement("div",{className:"location-dropdown__container"},React.createElement("div",{className:"location-dropdown__title h4 tt__uc"},"Select your theatre"),React.createElement("div",{className:"location-dropdown__list",ref:this.dropdown},this.props.hasAllTheatres&&React.createElement(Shared_CinemaSelectorItem,{handleOnSelect:this.handleOnSelect,cinemaId:-1,isActive:-1===this.state.selectedCinemaId||this.props.disabled,groupId:-1,key:-1,itemType:CinemaSelectorItemEnum.NotSelected,name:"All Theatres"}),this.state.selectorItems.map(function(t,i){switch(t.itemType){case CinemaSelectorItemEnum.GroupHeader:return React.createElement(Shared_CinemaSelectorHeader,{key:i,name:t.name});case CinemaSelectorItemEnum.CinemaGroupOption:return React.createElement(Shared_CinemaSelectorItem,{handleOnSelect:n.handleOnSelect,cinemaId:t.cinemaId,groupId:t.groupId,key:i,itemType:CinemaSelectorItemEnum.CinemaGroupOption,name:t.name});case CinemaSelectorItemEnum.CinemaOption:return React.createElement(Shared_CinemaSelectorItem,{handleOnSelect:n.handleOnSelect,cinemaId:t.cinemaId,isActive:t.cinemaId===n.state.selectedCinemaId&&!n.props.disabled,groupId:t.groupId,key:i,itemType:CinemaSelectorItemEnum.CinemaOption,name:t.name});default:return null}})))))}}]),t}(React.Component);Shared_CinemaSelector.propTypes={appendType:PropTypes.oneOf([0,1,2,3]).isRequired,baseUrlSegment:PropTypes.string.isRequired,cinemaGroups:PropTypes.arrayOf(CinemaGroup),comingSoonSelectorCinemas:PropTypes.arrayOf(SelectorCinema),handleCinemaSelectorSelect:PropTypes.func.isRequired,isFilter:PropTypes.bool.isRequired,isOpen:PropTypes.bool.isRequired,isRedirect:PropTypes.bool.isRequired,label:PropTypes.string.isRequired,movieUrlSegment:PropTypes.string,selectSetsCookie:PropTypes.bool.isRequired,selectedCinemaGroupId:PropTypes.number.isRequired,selectedCinemaId:PropTypes.number.isRequired,selectorCinemas:PropTypes.arrayOf(SelectorCinema),showtimesBtn:PropTypes.string,subTitle:PropTypes.string,theatreInfoBtn:PropTypes.string,toggleCinemaSelector:PropTypes.func.isRequired,title:PropTypes.string,updatePrefixUrl:PropTypes.func};Shared_CinemaSelectorHeader=function(){return React.createElement("div",{className:"location-dropdown__header"})};Shared_CinemaSelectorHeader.propTypes={name:PropTypes.string.isRequired};Shared_CinemaSelectorItem=function(n){function t(n){return _classCallCheck(this,t),_possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,n))}return _inherits(t,n),_createClass(t,[{key:"render",value:function(){var n=this;switch(this.props.itemType){case CinemaSelectorItemEnum.CinemaGroupOption:return React.createElement("div",null,React.createElement("div",{className:"icon-text"},React.createElement("svg",null,React.createElement("use",{xlinkHref:"/css/libs/svg/icon-library.svg#location"})),React.createElement("strong",null,this.props.name)));case CinemaSelectorItemEnum.CinemaOption:return React.createElement("div",{className:"location-dropdown__cinema "+(this.props.isActive?"isActive":"")},React.createElement("button",_extends({className:"icon-text",onClick:function(){return n.props.handleOnSelect(n.props.cinemaId,n.props.groupId,CinemaSelectorItemEnum.CinemaOption)}},this.props.customAttributes),React.createElement("svg",null,React.createElement("use",{xlinkHref:"/css/libs/svg/icon-library.svg#location"})),React.createElement("span",null,this.props.name)));case CinemaSelectorItemEnum.StateOption:return React.createElement("div",{className:"location-dropdown__state "+(this.props.isActive?"isActive":"")},React.createElement("button",{className:"icon-text",onClick:function(){return n.props.handleOnSelect(n.props.stateId)}},React.createElement("svg",null,React.createElement("use",{xlinkHref:"/css/libs/svg/icon-library.svg#location"})),React.createElement("span",null,React.createElement("strong",null,this.props.name))));case CinemaSelectorItemEnum.NotSelected:return React.createElement("div",{className:"location-dropdown__cinema "+(this.props.isActive?"isActive":"")},React.createElement("button",{className:"icon-text",onClick:function(){return n.props.handleOnSelect(n.props.cinemaId,n.props.groupId,CinemaSelectorItemEnum.NotSelected)}},React.createElement("svg",null,React.createElement("use",{xlinkHref:"/css/libs/svg/icon-library.svg#location"})),React.createElement("span",null,this.props.name)));default:return null}}}]),t}(React.Component);Shared_CinemaSelectorItem.propTypes={handleOnSelect:PropTypes.func.isRequired,cinemaId:PropTypes.number,groupId:PropTypes.number,stateId:PropTypes.number,itemType:PropTypes.oneOf([0,1,2]),name:PropTypes.string.isRequired};Shared_CinemaSelectorTitle=function(n){return React.createElement("h2",{className:"mt-0"},n.title.replace(/-/g," ").replace(/_/g,""))};Shared_CinemaSelectorTitle.propTypes={title:PropTypes.string.isRequired};var Shared_DateFilter=function(n){function t(n){_classCallCheck(this,t);var i=_possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,n));return i.onRadioSelect=function(n){var t=n.target.name;i.props.handleSelectedPickerDate?i.props.handleSelectedPickerDate(t):"";i.setState({filterBy:t},function(){var n;switch(t){case"nowShowing":i.props.handleNowShowing();return;case"allDates":i.props.handleNowShowing();return;case"eventMovies":i.props.handleEventMovies();return;case"comingSoon":i.props.handleComingSoon();return;case"advancedBooking":i.props.handleAdvancedBooking();return;case"today":n=i.state.todaysDate.getFullYear()+"-"+("00"+(i.state.todaysDate.getMonth()+1)).slice(-2)+"-"+("00"+i.state.todaysDate.getDate()).slice(-2);i.props.handleNowShowing(n);return;case"tomorrow":n=i.state.todaysDate.getFullYear()+"-"+("00"+(i.state.todaysDate.getMonth()+1)).slice(-2)+"-"+("00"+(i.state.todaysDate.getDate()+1)).slice(-2);i.props.handleNowShowing(n);return;case"todayqb":n=i.state.todaysDate.getFullYear()+"-"+("00"+(i.state.todaysDate.getMonth()+1)).slice(-2)+"-"+("00"+i.state.todaysDate.getDate()).slice(-2);i.props.handleNowShowing(n);return;case"tomorrowqb":n=i.state.todaysDate.getFullYear()+"-"+("00"+(i.state.todaysDate.getMonth()+1)).slice(-2)+"-"+("00"+(i.state.todaysDate.getDate()+1)).slice(-2);i.props.handleNowShowing(n);return;default:return}})},i.state={todaysDate:new Date,dateButtons:[],availableDatesLength:0,comingSoonClass:i.props.selectedDate==="ComingSoon"?" active":"",filterBy:i.props.isHome?"nowShowing":"today"},i.onRadioSelect=i.onRadioSelect.bind(i),i}return _inherits(t,n),_createClass(t,[{key:"componentDidMount",value:function(){typeof this.props.availableDates!="undefined"&&this.props.availableDates!==null&&this.setState({availableDatesLength:this.props.availableDates.length})}},{key:"render",value:function(){return React.createElement("div",{id:this.props.isQuickbook?"QBDatePicker":"",className:"filter-bar f-item "+(this.props.isFilmInfo?"film-info-picker":"")+" "+(this.props.isQuickbook&&this.props.disabled?"disabled-clicks":"")},React.createElement("div",{className:"datepicker__close"}),this.props.isQuickbook&&!this.props.isHome&&React.createElement("div",{className:"container filter-bar__container f-container--end"},React.createElement("label",{className:"filter-bar__item hidden-mobile"},React.createElement("input",{type:"radio",name:"todayqb",onChange:this.onRadioSelect,checked:this.state.filterBy==="today"||this.state.filterBy==="todayqb"}),React.createElement("span",{className:"filter-bar__label","data-active-label":"On: "},"Today")),React.createElement("label",{className:"filter-bar__item hidden-mobile"},React.createElement("input",{type:"radio",name:"tomorrowqb",onChange:this.onRadioSelect,checked:this.state.filterBy==="tomorrowqb"}),React.createElement("span",{className:"filter-bar__label","data-active-label":"On: "},"Tomorrow")),React.createElement("label",{className:"filter-bar__item filter-bar__item--datepicker"},React.createElement("input",{type:"radio",name:"datepickerqb",onChange:this.onRadioSelect,checked:this.state.filterBy==="datepickerqb"}),React.createElement("span",{id:"qb-datepicker-btn",className:"filter-bar__label"},this.state.filterBy==="datepickerqb"?this.props.filterDateDisplay:"Pick a Date"))),!this.props.isHome&&!this.props.isQuickbook&&!this.props.isFilmInfo&&React.createElement("div",{className:"container container--narrow f-container f-container--center"},React.createElement("label",{className:"filter-bar__item"},React.createElement("input",{type:"radio",name:"today",onChange:this.onRadioSelect,checked:this.state.filterBy==="today"}),React.createElement("span",{className:"filter-bar__label"},"Showing Today")),React.createElement("label",{className:"filter-bar__item"},React.createElement("input",{type:"radio",name:"tomorrow",onChange:this.onRadioSelect,checked:this.state.filterBy==="tomorrow"}),React.createElement("span",{className:"filter-bar__label"},"On Tomorrow")),React.createElement("label",{className:"filter-bar__item"},React.createElement("input",{type:"radio",name:"datepicker",onChange:this.onRadioSelect,checked:this.state.filterBy==="datepicker"}),React.createElement("span",{id:"datepicker-btn",className:"filter-bar__label"},this.state.filterBy==="datepicker"?this.props.filterDateDisplay:"Pick a Date"))),this.props.isHome&&React.createElement("div",{className:"ta__center--div"},React.createElement("div",{className:"container container--narrow f-container f-container--center"},React.createElement("label",{className:"filter-bar__item"},React.createElement("input",{type:"radio",name:"nowShowing",onChange:this.onRadioSelect,checked:this.state.filterBy==="nowShowing"}),React.createElement("span",{className:"filter-bar__label"},"Now Showing")),React.createElement("label",{className:"filter-bar__item"},React.createElement("input",{type:"radio",name:"advancedBooking",onChange:this.onRadioSelect,checked:this.state.filterBy==="advancedBooking"}),React.createElement("span",{className:"filter-bar__label"},"Advanced Tickets")),React.createElement("label",{className:"filter-bar__item"},React.createElement("input",{type:"radio",name:"comingSoon",onChange:this.onRadioSelect,checked:this.state.filterBy==="comingSoon"}),React.createElement("span",{className:"filter-bar__label"},"Coming Soon"))),React.createElement("div",{className:"ta__center"},"To see full showtime listings for a movie at your selected location, just hit the button below a poster.")),this.props.isFilmInfo&&React.createElement("div",{className:"container container--narrow f-container f-container--center"},React.createElement("label",{className:"filter-bar__item"},React.createElement("input",{type:"radio",name:"allDates",onChange:this.onRadioSelect,checked:this.state.filterBy==="allDates"||this.state.filterBy==="today"}),React.createElement("span",{className:"filter-bar__label"},"All Dates")),React.createElement("label",{className:"filter-bar__item"},React.createElement("input",{type:"radio",name:"datepicker",onChange:this.onRadioSelect,checked:this.state.filterBy==="datepicker"}),React.createElement("span",{id:"datepicker-btn",className:"filter-bar__label"},this.state.filterBy==="datepicker"?this.props.filterDateDisplay:"Pick a Date"))))}}]),t}(React.Component),PromoCarousel_App=function(n){function t(n){_classCallCheck(this,t);var i=_possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,n));if(i.state={carouselItems:i.props.carouselItems,groupCells:getTotalFilmsThatFit(450,300,jQuery(".promo-block__carousel").width()),promoItems:[]},i.props.carouselItems&&i.props.carouselItems.length>0)while(i.state.promoItems.length<=i.state.groupCells)i.props.carouselItems.forEach(function(n){i.state.promoItems.push(React.createElement(PromoCarousel_Item,{key:i.state.promoItems.length,item:n}))});return i.sizeCarousel=i.sizeCarousel.bind(i),i}return _inherits(t,n),_createClass(t,[{key:"componentDidMount",value:function(){this.sizeCarousel(this.state.groupCells)}},{key:"sizeCarousel",value:function(){jQuery(".promo-block__carousel").flickity({cellAlign:"center",pageDots:!1,prevNextButtons:!1,freeScroll:!0,wrapAround:!0,groupCells:!0})}},{key:"render",value:function(){return React.createElement("div",{className:"promo-block__carousel"},this.state.promoItems)}}]),t}(React.Component),PromoCarousel_Item=function(n){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return _inherits(t,n),_createClass(t,[{key:"render",value:function(){return React.createElement("div",{className:"promo-banner"},React.createElement("div",{className:"promo-banner__container"},React.createElement("div",{className:"promo-banner__image"},this.props.item.BackgroundImage!=null&&React.createElement("img",{src:this.props.item.BackgroundImage.Src+"?preset=promocarousel",alt:this.props.item.BackgroundImage.AltText,title:this.props.item.BackgroundImage.Title})),React.createElement("div",{className:"promo-banner__content"},this.props.item.PrimaryButton!=null&&this.props.item.PrimaryButton.Url!=null&&this.props.item.PrimaryButton.Url.length>0&&this.props.item.PrimaryButton.Name!=null&&this.props.item.PrimaryButton.Name.length>0&&React.createElement("div",{className:"promo-banner__cta"},React.createElement("a",{href:this.props.item.PrimaryButton.Url,target:this.props.item.PrimaryButton.Target,className:"btn btn--red"},this.props.item.PrimaryButton.Name)),this.props.item.Title.length>0&&React.createElement("div",{className:"h3 mt-2"},this.props.item.Title),this.props.item.Subtitle.length>0&&React.createElement("p",{className:"mt-0 mb-2"},this.props.item.Subtitle))))}}]),t}(React.Component),Logger=function(n,t,i){var u=new Date,r=u.toLocaleString("en-GB");r+=i!==undefined?" => Component: "+n+" || Function: "+t+" || Message: "+i:" => Component: "+n+" || Function: "+t;console.log(r)};Logger.propTypes={compName:PropTypes.string.isRequired,fnName:PropTypes.string.isRequired,message:PropTypes.string};var Compose=function(){for(var t=arguments.length,i=Array(t),n=0;n<t;n++)i[n]=arguments[n];return i.reduceRight(function(n,t){return function(){return t(n.apply(undefined,arguments))}},function(n){return n})},dateObjFromString=function(n){var t,i;return n.indexOf("T")&&(n=n.split("T")[0]),t=n.split("-"),i=new Date,t.length!==3&&(t=[i.getFullYear(),i.getMonth()+1,i.getDate()]),new Date(parseInt(t[0]),parseInt(t[1])-1,parseInt(t[2]))},getSessionItemsByDate=function(n,t,i,r,u,f,e,o,s){var h=[],c=pc.cinemas.filter(function(n){return n.CinemaNodeId==r}).map(function(n){return n.SwitchToThirdPartyTicketing})||!1,l=pc.cinemas.filter(function(n){return n.CinemaNodeId==r}).map(function(n){return n.ThirdPartyAffiliateId})||null,a=pc.cinemas.filter(function(n){return n.CinemaNodeId==r}).map(function(n){return n.ThirdPartyBookingURL})||null,v=pc.cinemas.filter(function(n){return n.CinemaNodeId==r}).map(function(n){return n.ThirdPartyChainId})||null,y=pc.cinemas.filter(function(n){return n.CinemaNodeId==r}).map(function(n){return n.ThirdPartyExhibitorId})||null;return n&&n.length>0&&n.forEach(function(n){n.NotBookable?h.push(React.createElement(SessionItem_NotBookable,{title:t,displayDate:i,startTime:n.StartTime,experiences:n.Experience,key:n.Scheduleid})):n.SessionExpired?h.push(React.createElement(SessionItem_Expired,{title:t,displayDate:i,startTime:n.StartTime,experiences:n.Experience,key:n.Scheduleid})):n.SoldOut?h.push(React.createElement(SessionItem_SoldOut,{title:t,displayDate:i,startTime:n.StartTime,experiences:n.Experience,key:n.Scheduleid})):h.push(React.createElement(SessionItem_Bookable,{hasPopUp:f,showPopUp:o,popUpId:e,title:t,displayDate:i,startTime:n.StartTime,fullDate:u,experiences:n.Experience,scheduleid:n.Scheduleid,ungroupedFilmExternalId:n.UngroupedFilmExternalId,switchToThirdPartyTicketing:c,thirdPartyAffiliateId:l,thirdPartyBookingURL:a,thirdPartyChainId:v,thirdPartyExhibitorId:y,key:n.Scheduleid,customAttributes:s,externalScheduleId:n.ExternalScheduleId,externalCinemaId:n.ExternalCinemaId}))}),h},getSessionItemsByAttribute=function(n,t,i,r,u){var o=arguments.length<=5||arguments[5]===undefined?!1:arguments[5],e=arguments[6],s=arguments[7],h=arguments.length<=8||arguments[8]===undefined?!1:arguments[8],c=arguments[9],f=[];return n&&n.length>0&&n.forEach(function(n){var t=!1,l=null;n.ExperienceAttributes&&(t=e.filter(function(t){return n.ExperienceAttributes.filter(function(n){return n.Id===t.ExternalId})[0]}).length>0,t&&(l=e.filter(function(t){return n.ExperienceAttributes.filter(function(n){return n.Id===t.ExternalId})[0]})[0].ExternalId));var v=getSessionItemsByDate(n.Times,y,i,r,u,t,l,s,c),y=n.ExperienceAttributes.map(function(n){return n.Name}).join(" | "),a=[];n.ExperienceAttributes&&n.ExperienceAttributes.length>0&&n.ExperienceAttributes.forEach(function(n,t){a.push(React.createElement(Experience_Item,{attributeClass:"session-group__attributes session-group__attributes--"+n.Id.toUpperCase().replace(/[^A-Z0-9]/ig,"_")+(h?"--DARK":""),key:t}))});f.push(React.createElement(SessionAttributes,{experiencesList:a,isFilmInfo:o,sessionItems:v,key:f.length}))}),f},getParameterByName=function(n,t){t||(t=window.location.href);n=n.replace(/[\[\]]/g,"\\$&");var r=new RegExp("[?&]"+n+"(=([^&#]*)|&|#|$)"),i=r.exec(t);return i?i[2]?decodeURIComponent(i[2].replace(/\+/g," ")):"":null},linkUpdate=function(n){var t=document.querySelectorAll("a");t.forEach(function(t){if(/showtimes/.test(t.href))t.href=n+"/showtimes/";else if(/movie-info/.test(t.href)){var i=t.href.split("/").pop();t.href=n+"/movie-info/"+i}else/theatre-info/.test(t.href)?t.href=n+"/theatre-info/":/movies/.test(t.href)?t.href=n+"/movies/":/events/.test(t.href)&&(t.href=n+"/events/")})},getTotalFilmsThatFit=function(n,t,i){var r=5;return n&&n&&i&&(r=i>=768?(i/n).toFixed(0):(i/t).toFixed(0)),r},equalHeight=function(n){var t=[];(function(i){i(n).each(function(){t.push(i(this).outerHeight())});var r=Math.max.apply(Math,t);i(n).each(function(){i(this).css("height",r+"px")})})(jQuery)},EventEmitterWrapper=function(){function n(){_classCallCheck(this,n);this.eventEmitter=new EventEmitter}return _createClass(n,[{key:"on",value:function(n,t){this.eventEmitter.on(n,t)}},{key:"removeEventListener",value:function(n,t){this.eventEmitter.removeListener(n,t)}},{key:"emit",value:function(n,t){var i=arguments.length<=2||arguments[2]===undefined?!1:arguments[2];this.eventEmitter.emit(n,t,i)}}]),n}(),EventEmitterClient=new EventEmitterWrapper