"use strict";function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,r){for(var t=0;t0&&arguments[0]!==undefined?arguments[0]:true;var considerTrial=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var that=this;var customer={};isAsync=!!isAsync;$.ajax({url:"lookup/",dataType:"json",async:isAsync,error:function error(jqXHR,textStatus,errorThrown){console.log("getPackages error",textStatus,errorThrown)},success:function success(data){if(!data.isError){customer.contracted_download=data.download;customer.contracted_upload=data.upload;customer.contracted_region=data.region;customer.log_data=data.logData||"";that.setState({customer:customer});if(considerTrial&&data.trialData!==""){that.setState({userDevices:data.trialData,surveyVisible:true})}}}})}},{key:"componentDidMount",value:function componentDidMount(){var iFrameStartTime=Date.now();var flashContainer=document.getElementById("flashContainer");var iframe=flashContainer.getElementsByTagName("iframe")[0];$(iframe).on("load",function(){Utils.set_cookie("iframe_load",Date.now()-iFrameStartTime)});if(!this.state.customer.contracted_download&&!this.props.overrides.upsell){this.custLookup(true,true)}this.getPackages();this.getTestHistory();this.props.eventHandler.trigger("component:mount","App")}},{key:"render",value:function render(){var _this2=this;this.props.eventHandler.trigger("component:render","App");return React.createElement("div",null,React.createElement("div",{id:"navigation"},React.createElement(Navigation,{toggleHelpNav:function toggleHelpNav(){_this2.setState({helpNavOpen:!_this2.state.helpNavOpen})},eventHandler:this.props.eventHandler,helpNavOpen:this.state.helpNavOpen})),React.createElement("div",{id:"content"},React.createElement("div",{id:"page"},React.createElement(Home,{customer:this.state.customer,overrides:this.props.overrides,eventHandler:this.props.eventHandler,helpNavOpen:this.state.helpNavOpen,setTestResults:function setTestResults(results){_this2.setState({testResults:results})},custLookupFn:this.custLookup,userDevices:this.state.userDevices,surveyVisible:this.state.surveyVisible,hideSurveyFn:function hideSurveyFn(){_this2.setState({surveyVisible:false})},testHistory:this.state.testHistory,setTestHistory:function setTestHistory(testHistory){_this2.setState({testHistory:testHistory})},testScreenshotVisible:this.state.testScreenshotVisible,setTestScreenshotVisible:function setTestScreenshotVisible(testVisible){_this2.setState({testScreenshotVisible:testVisible})},testScreenshot:this.state.testScreenshot,setTestScreenshot:function setTestScreenshot(testId){_this2.setState({testScreenshot:testId})},setLoadScreenshots:function setLoadScreenshots(load){_this2.setState({loadScreenshots:load})}})),React.createElement("div",{className:"darkBlueBg"},React.createElement("div",{id:"testHistoryScreenshot"},React.createElement(TestHistoryScreenshot,{visible:this.state.testScreenshotVisible,setVisible:function setVisible(testVisible){_this2.setState({testScreenshotVisible:testVisible})},testScreenshot:this.state.testScreenshot,eventHandler:this.props.eventHandler,testHistory:this.state.testHistory,loadScreenshots:this.state.loadScreenshots}))),React.createElement("div",{id:"package",style:{display:"block"}},React.createElement(Package,{eventHandler:this.props.eventHandler,testResults:this.state.testResults,customer:this.state.customer,visible:this.state.upsellVisible,packageList:this.state.packageList}))),React.createElement("div",{id:"footer"},React.createElement("div",{className:"container"},React.createElement(ContactFooter,{eventHandler:this.props.eventHandler}))))}}])}(React.Component);App.propTypes={debug:window.PropTypes.bool,eventHandler:window.PropTypes.shape({on:window.PropTypes.func.isRequired,trigger:window.PropTypes.func.isRequired}),overrides:window.PropTypes.shape({download:window.PropTypes.number,upsell:window.PropTypes.string,contracted_download:window.PropTypes.number,contracted_upload:window.PropTypes.number,error:window.PropTypes.string})};App.defaultProps={debug:false,eventHandler:{on:function on(){},trigger:function trigger(){}},overrides:{}};"use strict";function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,r){for(var t=0;tr.length)&&(a=r.length);for(var e=0,n=Array(a);er.length)&&(a=r.length);for(var e=0,n=Array(a);e=maxRecords){history.shift()}this.props.setTestHistory([].concat(_toConsumableArray(history),[testResult]));this.props.setTestScreenshotVisible(false);if(!this.props.postTestCardsVisible&&togglePostTestCards){this.props.toggleCards()}Utils.appendLocalStorage("testHistory",testResult)};_this.queryEmbed=function(){var that=this;$.ajax({method:"HEAD",url:"speedtest_embed",error:function error(jqXHR){console.error("Error loading speedtestcustom");var NOT_FOUND=404;if(jqXHR.status===NOT_FOUND){that.setState({test404:true})}},success:function success(){that.setState({test404:false})}})};_this.completed_test=function(results){var download_override=this.props.overrides.download;if(download_override){console.log("Speedtest:: Download Override");download_override=Utils.convert.mbps_to_kbps(download_override)}var speeds={actual:{down:Utils.convert.kbps_to_bps(download_override||results.download),up:Utils.convert.kbps_to_bps(results.upload)},contract:{},acceptable:{}};var tolerance=.8;if(this.props.customer&&this.props.customer.contracted_download&&this.props.customer.contracted_upload){speeds.contract={down:this.props.customer.contracted_download,up:this.props.customer.contracted_upload};speeds.acceptable={down:speeds.contract.down*tolerance,up:speeds.contract.up*tolerance};if(speeds.actual.down")));var card2=React.createElement("p",null,React.createElement("h2",null,"Understanding Your Results"),React.createElement("p",{className:"above_list"},"Here are the terms you may need to know to understand what your Speedtest result means:"),React.createElement("ul",null,React.createElement("li",null,React.createElement("p",null,React.createElement("b",null,"Ping: "),"Travel time of data from your machine to the server – the higher the ping, the longer it takes to transmit data")),React.createElement("li",null,React.createElement("p",null,React.createElement("b",null,"Download Speed: "),"How fast your device can receive data from the Internet, such as receiving an email, downloading files and games, or streaming a movie")),React.createElement("li",null,React.createElement("p",null,React.createElement("b",null,"Upload Speed: "),"How fast your device can transmit data to the Internet, such as posting pictures to social media or sending an email"))),React.createElement("p",null,React.createElement("a",{href:"https://www.rogers.com/support/internet/shaw-troubleshooting/how-to-run-an-internet-speed-test"},"Get more speedtest tips >")));var card3=React.createElement("p",null,React.createElement("h2",null,"Device Limitations"),React.createElement("p",null,"Depending on when a device was manufactured, it may not be able to reach the top speeds offered by your internet plan. This is true, regardless of whether the device is wired directly to the modem or operating in an ideal WiFi environment."),React.createElement("p",null,"Many wireless devices made prior to 2015 are incapable of reaching speeds over ",React.createElement("b",null,"100 Mbps"),"."),React.createElement("p",null,React.createElement("a",{href:"https://www.rogers.com/support/internet/shaw-troubleshooting/how-to-run-an-internet-speed-test"},"Learn more >")));var card4=React.createElement("p",null,React.createElement("h2",null,"Fibre+ Gig 1.5 Speedtest"),React.createElement("p",null,"Given the high bandwidth that comes with Fibre+ Gig 1.5 you will need to measure total bandwidth rather than individual device bandwidth."),React.createElement("p",null,"This means running a speed test on two devices at the same time, also known as a ",React.createElement("b",null,"Concurrent Speed Test"),"."),React.createElement("p",null,"Instructions on running a ",React.createElement("b",null,"Concurrent Speed Test")," can be found",React.createElement("a",{href:"https://www.rogers.com/support/internet/shaw-troubleshooting/how-to-run-an-internet-speed-test"}," here.")));var cards=[card1,card2,card3,card4];return React.createElement(InfoCards,{eventHandler:this.props.eventHandler,visible:this.props.visible},cards)}}])}(React.Component);SpeedtestInfo.propTypes={eventHandler:window.PropTypes.shape({on:window.PropTypes.func.isRequired,trigger:window.PropTypes.func.isRequired}),visible:window.PropTypes.bool,setPostTestCardsVisible:window.PropTypes.func.isRequired};SpeedtestInfo.defaultProps={eventHandler:{on:function on(){},trigger:function trigger(){}}};var InfoCards=function(_React$Component2){function InfoCards(props){var _this3;_classCallCheck(this,InfoCards);_this3=_callSuper(this,InfoCards,[props]);_this3.state={};return _this3}_inherits(InfoCards,_React$Component2);return _createClass(InfoCards,[{key:"componentDidMount",value:function componentDidMount(){this.props.eventHandler.trigger("component:mount","InfoCards")}},{key:"render",value:function render(){this.props.eventHandler.trigger("component:render","InfoCards");return React.createElement("div",{className:"infocards"},React.createElement(InfoCard,{eventHandler:this.props.eventHandler},this.props.children))}}])}(React.Component);InfoCards.propTypes={eventHandler:window.PropTypes.shape({on:window.PropTypes.func.isRequired,trigger:window.PropTypes.func.isRequired}),children:window.PropTypes.arrayOf(window.PropTypes.node),visible:window.PropTypes.bool};InfoCards.defaultProps={eventHandler:{on:function on(){},trigger:function trigger(){}},children:[]};var InfoCard=function(_React$Component3){function InfoCard(props){var _this4;_classCallCheck(this,InfoCard);_this4=_callSuper(this,InfoCard,[props]);_this4.state={currentCard:0,arrowHovered:"",autoscrolling:_this4.props.autoscrolling,interval_id:0};_this4.changeCard=function(dir){var max=this.props.children.length;var nextCard=(this.state.currentCard+dir+max)%max;this.setState({currentCard:nextCard,autoscrolling:false})};_this4.autoscroll=function(){if(!this.state.autoscrolling){clearInterval(this.state.interval);this.setState({interval_id:0});return}var max=this.props.children.length;var nextCard=(this.state.currentCard+1)%max;this.setState({currentCard:nextCard})};_this4.flashArrowHighlight=function(arrowHovered){var _this5=this;this.setState({arrowHovered:arrowHovered});var FLASH_TIMING=250;setTimeout(function(){_this5.setState({arrowHovered:""})},FLASH_TIMING)};if(_this4.state.autoscrolling){var interval_id=setInterval(_this4.autoscroll.bind(_this4),_this4.props.scroll_interval);_this4.state.interval_id=interval_id}return _this4}_inherits(InfoCard,_React$Component3);return _createClass(InfoCard,[{key:"componentDidMount",value:function componentDidMount(){this.props.eventHandler.trigger("component:mount","InfoCard")}},{key:"render",value:function render(){var _this6=this;this.props.eventHandler.trigger("component:render","InfoCard");var cardBody=this.props.children.map(function(body,i){return React.createElement(InfoCardBody,{key:"card-"+i,current:_this6.state.currentCard,index:i,max:_this6.props.children.length-1},body)});var footer="";if(cardBody.length>1){footer=this.state.currentCard+1+"/"+cardBody.length;footer=[];for(var i=0;iDate.now()){this.setState({prev:undefined,last_scroll:Date.now()});return}this.setState({prev:prev,last_scroll:Date.now()})}};return _this7}_inherits(InfoCardBody,_React$Component4);return _createClass(InfoCardBody,[{key:"componentDidUpdate",value:function componentDidUpdate(prevProps){this.setPrev(prevProps.current)}},{key:"render",value:function render(){var pos={current:this.props.current,index:this.props.index,max:this.props.max};var active=pos.current===pos.index;var left=(pos.index+1)%(pos.max+1)===pos.current;var right=(pos.index+pos.max)%(pos.max+1)===pos.current;var prev=pos.index===this.state.prev;var transform="";if(active){transform="translateX(0%)"}else if(left){transform="translateX(-101%)"}else if(right){transform="translateX(101%)"}var style={visibility:active||prev?"":"hidden",transition:active||left||right?"transform ".concat(this.state.scroll_duration,"s"):"",transform:transform};return React.createElement("div",{className:"infocardbodyinner",style:style},this.props.children)}}])}(React.Component);InfoCardBody.propTypes={current:window.PropTypes.number,index:window.PropTypes.number,max:window.PropTypes.number,children:window.PropTypes.node};"use strict";function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r ",greetings:greetingMsg,name:"test",height:"190px",color:"#5fba3d",onClear:function onClear(term){term.echo(greetingMsg)}})}});var cssId="oldCss";if(!document.getElementById(cssId)){var head=document.getElementsByTagName("head")[0];var link=document.createElement("link");link.id=cssId;link.rel="stylesheet";link.type="text/css";link.href="/css/jquery.terminal.css";link.media="all";head.appendChild(link)}}},{key:"render",value:function render(){this.props.eventHandler.trigger("component:render","Terminal");return React.createElement("div",{id:"easterEggTerminal"})}}])}(React.Component);Terminal.propTypes={eventHandler:window.PropTypes.shape({on:window.PropTypes.func.isRequired,trigger:window.PropTypes.func.isRequired}),customer:window.PropTypes.shape({contracted_download:window.PropTypes.number.isRequired,contracted_upload:window.PropTypes.number.isRequired,contracted_region:window.PropTypes.string,log_data:window.PropTypes.object})};Terminal.defaultProps={eventHandler:{on:function on(){},trigger:function trigger(){}}};"use strict";function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,r){for(var t=0;tdown_speed});var sortedFilteredPackages=filteredPackages.sort(function(a,b){return a.downSpeed-b.downSpeed});if(sortedFilteredPackages.length>0){fasterPackage=sortedFilteredPackages[0]}return fasterPackage};_this.animateOpen=function(){$("#package").slideDown("fast",function(){$("html,body").animate({scrollTop:$("#package").offset().top},"slow")})};_this.animateClose=function(){$("#package").slideUp("fast")};return _this}_inherits(Package,_React$Component);return _createClass(Package,[{key:"componentDidUpdate",value:function componentDidUpdate(prevProps){if(prevProps.visible&&!this.props.visible){this.animateClose();this.props.eventHandler.trigger("package:hide")}else if(!prevProps.visible&&this.props.visible){this.animateOpen();this.props.eventHandler.trigger("package:show","")}}},{key:"componentDidMount",value:function componentDidMount(){if(this.props.visible){this.animateOpen()}else{this.animateClose()}this.props.eventHandler.trigger("component:mount","Package")}},{key:"render",value:function render(){this.props.eventHandler.trigger("component:render","Package");var customer=this.props.customer;var testResults=this.props.testResults;var taglineMessage;var displayPackage;if(customer.contracted_download&&customer.contracted_upload){this.isCustomer=true;this.selector={};this.selector.user="customer";this.selector.initialTime="year1";var contracted_download_mbps=Utils.convert.bps_to_mbps(customer.contracted_download);var contracted_upload_mbps=Utils.convert.bps_to_mbps(customer.contracted_upload);displayPackage=this.findFasterPackage(contracted_upload_mbps,contracted_download_mbps);taglineMessage="Thinking of upgrading?"}else{this.isCustomer=false;this.selector={};this.selector.user="promo";this.selector.initialTime="intro";var actual_download_mbps=testResults.dummy?Utils.convert.bps_to_mbps(testResults.download):Utils.convert.kbps_to_mbps(testResults.download);var actual_upload_mbps=testResults.dummy?Utils.convert.bps_to_mbps(testResults.upload):Utils.convert.kbps_to_mbps(testResults.upload);displayPackage=this.findFasterPackage(actual_upload_mbps,actual_download_mbps);taglineMessage="Ready to make the switch?"}if(!displayPackage){return React.createElement("div",{style:{display:"none"}})}var promoYearTwo="";try{if(displayPackage[this.selector.user].year2.price.dollar){promoYearTwo=React.createElement("p",{className:"smaller",style:{marginTop:"3px"}},"$",displayPackage[this.selector.user].year2.price.dollar,".",displayPackage[this.selector.user].year2.price.cents,"/MO* for 13-24 months")}}catch(e){}if(displayPackage.transfer.amount==="∞"){displayPackage.transfer.amount=React.createElement("span",null,"∞")}return React.createElement("div",null,React.createElement("div",{className:"bluecaret"}),React.createElement("div",{className:"container package clearfix"},React.createElement("div",null,React.createElement("h3",null,taglineMessage)),React.createElement("div",null,React.createElement("div",{className:"package-photo"}),React.createElement("div",{className:"package-desc"},React.createElement("div",null,React.createElement("h4",null,displayPackage.packageName)),React.createElement("p",{className:"package-phrase"},React.createElement("strong",null,displayPackage.headline)),React.createElement("p",{className:"package-desc-full"},displayPackage.description," "),React.createElement("div",{className:"package-stats"},React.createElement("div",{className:"down"},React.createElement("span",{className:"upto small clearfix"},"Up to"),React.createElement("span",{className:"big"},displayPackage.down.speed),React.createElement("span",{className:"arrow-down"}),React.createElement("span",{className:"small"},displayPackage.down.unit)),React.createElement("div",{className:"up"},React.createElement("span",{className:"upto small clearfix"},"Up to"),React.createElement("span",{className:"big"},displayPackage.up.speed),React.createElement("span",{className:"arrow-up"}),React.createElement("span",{className:"small"},displayPackage.up.unit)),React.createElement("div",{className:"transfer"},React.createElement("span",{className:"big"}),React.createElement("span",{className:"transfer-amount"},displayPackage.transfer.amount),React.createElement("span",{className:"small"},displayPackage.transfer.unit)),React.createElement(CompareButton,{disabled:false,classes:"submit compareSubmit",idPrefix:"compare",id:"packages",label:"Compare package speeds",eventHandler:this.props.eventHandler}))),React.createElement("div",{className:"package-promo-price"},React.createElement("div",{className:"top_banner"},displayPackage[this.selector.user].top_banner),displayPackage[this.selector.user].top_banner2,!this.isCustomer?React.createElement("div",{className:"intro"}):null,React.createElement("div",{className:"price"},React.createElement("span",{className:"sign"},"$"),React.createElement("span",{className:"dollar"},displayPackage[this.selector.user][this.selector.initialTime].price.dollar),React.createElement("span",{className:"cents"},displayPackage[this.selector.user][this.selector.initialTime].price.cents),React.createElement("span",{className:"month"},"/MO*"),React.createElement("div",{className:"clearfix"})),React.createElement("div",{className:"year2"},React.createElement("p",{className:"bold"},"on a 2-year ValuePlan^"),promoYearTwo),React.createElement("div",{className:"regular-price"},React.createElement("p",{className:"smaller"},"Regular price $",displayPackage.price.dollar,".",displayPackage.price.cents,"/MO")),React.createElement("div",{className:"orderPromoButton"},React.createElement("a",{href:displayPackage.links.order},displayPackage[this.selector.user].cta))))))}}])}(React.Component);Package.propTypes={eventHandler:window.PropTypes.shape({on:window.PropTypes.func.isRequired,trigger:window.PropTypes.func.isRequired}),customer:window.PropTypes.shape({contracted_download:window.PropTypes.number,contracted_upload:window.PropTypes.number,contracted_region:window.PropTypes.string,log_data:window.PropTypes.object}),visible:window.PropTypes.bool,packageList:window.PropTypes.arrayOf(window.PropTypes.shape({packageName:window.PropTypes.string.isRequired,headline:window.PropTypes.string.isRequired,description:window.PropTypes.string.isRequired,down:window.PropTypes.shape({speed:window.PropTypes.string.isRequired,unit:window.PropTypes.string.isRequired}).isRequired,up:window.PropTypes.shape({speed:window.PropTypes.string.isRequired,unit:window.PropTypes.string.isRequired}).isRequired,transfer:window.PropTypes.shape({amount:window.PropTypes.string.isRequired,unit:window.PropTypes.string.isRequired}).isRequired,downSpeed:window.PropTypes.number.isRequired,links:window.PropTypes.shape({order:window.PropTypes.string.isRequired}).isRequired,price:window.PropTypes.shape({dollar:window.PropTypes.string.isRequired,cents:window.PropTypes.string.isRequired}).isRequired,promo:window.PropTypes.shape({top_banner:window.PropTypes.string.isRequired,top_banner2:window.PropTypes.string.isRequired,intro:window.PropTypes.shape({price:window.PropTypes.shape({dollar:window.PropTypes.string.isRequired,cents:window.PropTypes.string.isRequired}).isRequired}).isRequired,cta:window.PropTypes.string.isRequired}).isRequired,customer:window.PropTypes.shape({top_banner:window.PropTypes.string.isRequired,top_banner2:window.PropTypes.string.isRequired,year1:window.PropTypes.shape({price:window.PropTypes.shape({dollar:window.PropTypes.string.isRequired,cents:window.PropTypes.string.isRequired}).isRequired}).isRequired,year2:window.PropTypes.shape({price:window.PropTypes.shape({dollar:window.PropTypes.string.isRequired,cents:window.PropTypes.string.isRequired}).isRequired}).isRequired,cta:window.PropTypes.string.isRequired})})),testResults:window.PropTypes.shape({dummy:window.PropTypes.bool,download:window.PropTypes.number.isRequired,upload:window.PropTypes.number.isRequired})};Package.defaultProps={eventHandler:{on:function on(){},trigger:function trigger(){}},visible:false,packageList:[]};var CompareButton=function(_React$Component2){function CompareButton(props){var _this2;_classCallCheck(this,CompareButton);_this2=_callSuper(this,CompareButton,[props]);_this2.state={};_this2.onClick=function(){_this2.props.eventHandler.trigger("package:button","compare");if(_this2.props.url){window.open(_this2.props.url)}else{window.open("http://www.shaw.ca/internet/plans/")}};return _this2}_inherits(CompareButton,_React$Component2);return _createClass(CompareButton,[{key:"componentDidMount",value:function componentDidMount(){this.props.eventHandler.trigger("component:mount","CompareButton")}},{key:"render",value:function render(){this.props.eventHandler.trigger("component:render","CompareButton");return React.createElement("button",{className:"button ".concat(this.props.classes),id:"".concat(this.props.idPrefix,"_").concat(this.props.id),"aria-label":this.props.label,name:"".concat(this.props.idPrefix,"_").concat(this.props.id),"data-tabenabled":true,disabled:this.props.disabled,onClick:this.onClick},React.createElement("span",{className:"buttonBGWhite"},React.createElement("span",{className:"label"},this.props.label)))}}])}(React.Component);CompareButton.propTypes={eventHandler:window.PropTypes.shape({on:window.PropTypes.func.isRequired,trigger:window.PropTypes.func.isRequired}),label:window.PropTypes.string.isRequired,id:window.PropTypes.string.isRequired,idPrefix:window.PropTypes.string.isRequired,classes:window.PropTypes.string,disabled:window.PropTypes.bool,url:window.PropTypes.string};CompareButton.defaultProps={eventHandler:{on:function on(){},trigger:function trigger(){}},classes:"",disabled:false};