-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathticketbase.js
2 lines (2 loc) · 40.4 KB
/
ticketbase.js
1
2
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.TB=t()}}(function(){return function t(e,n,r){function o(a,s){if(!n[a]){if(!e[a]){var c="function"==typeof require&&require;if(!s&&c)return c(a,!0);if(i)return i(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[a]={exports:{}};e[a][0].call(l.exports,function(t){var n=e[a][1][t];return o(n?n:t)},l,l.exports,t,e,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[function(t,e,n){"use strict";function r(t,e){var n,r={};e||(e="data-");for(var a=0,s=t.attributes.length;s>a;a++){var c=t.attributes[a];n=c.name,n.substr(0,e.length)===e&&(n=n.substr(e.length),n=o(n),r[n]=i(c.value))}return r}function o(t){return t.replace(/[\s_\-]+([a-zA-Z])/g,function(t,e){return e.toUpperCase()})}function i(t){return(+t).toString()===t?+t:"true"===t?!0:"false"===t?!1:t}n.__esModule=!0,n["default"]=r,e.exports=n["default"]},{}],2:[function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t){var e=a["default"]('meta[property="'+t+'"]')||a["default"]('meta[name="'+t+'"]');return e?e.getAttribute("content"):void 0}n.__esModule=!0,n["default"]=o;var i=t("dom101/query-selector"),a=r(i);e.exports=n["default"]},{"dom101/query-selector":34}],3:[function(t,e,n){"use strict";function r(t,e){if(!document.getElementById(e)){var n=document.createElement("style");n.id=e,n.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(n)}}n.__esModule=!0,n["default"]=r,e.exports=n["default"]},{}],4:[function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}n.__esModule=!0,t("./polyfill/function-bind");var o,i=t("./helpers/get_data"),a=r(i),s=t("./helpers/get_meta"),c=r(s),u=t("ajaxapi"),l=r(u),d=t("dom101/extend"),f=r(d),p=t("dom101/ready"),b=r(p),h=t("dom101/each"),m=r(h),g=t("dom101/query-selector-all"),y=r(g);o={apihost:"https://api.ticketbase.com",url:"https://www.ticketbase.com",powered_by_img:"https://cdn.ticketbase.com/widgets/v0.1/assets/powered-by.png",site_name:"Ticketbase"};var v;n["default"]=v={version:"0.1.13",getBase:function(){return c["default"]("ticketbase:apihost")||o.apihost},getSiteURL:function(){return c["default"]("ticketbase:url")||o.url},config:function(){return f["default"]({},o,{apihost:this.getBase(),meta:this.getSiteURL()})},go:function(){m["default"](y["default"]("[data-tb]"),function(t){try{v.widget(t)}catch(e){console.error(e)}})},widget:function(e){if(e.tbInstance)return e.tbInstance;var n=a["default"](e);switch(n.tb){case"ticket-form":var r=t("./widgets/ticket_form");return new r(e,n);case"donation-form":var o=t("./widgets/donation_form");return new o(e,n);default:throw new Error("Ticketbase: unknown widget type '"+n.tb+"'")}},injectCss:function(){var e;try{e=t("./templates/style.styl")}catch(n){e="/*...*/"}t("./helpers/inject_css")(e,"ticketbase-css")}},v.api=l["default"](v.getBase()),setTimeout(function(){v.injectCss(),v.go(),b["default"](v.go)}),e.exports=n["default"]},{"./helpers/get_data":1,"./helpers/get_meta":2,"./helpers/inject_css":3,"./polyfill/function-bind":5,"./templates/style.styl":7,"./widgets/donation_form":9,"./widgets/ticket_form":10,ajaxapi:11,"dom101/each":29,"dom101/extend":30,"dom101/query-selector-all":33,"dom101/ready":35}],5:[function(){"use strict";Function.prototype.bind||(Function.prototype.bind=function(t){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var e=Array.prototype.slice.call(arguments,1),n=this,r=function(){},o=function(){return n.apply(this instanceof r?this:t,e.concat(Array.prototype.slice.call(arguments)))};return r.prototype=this.prototype,o.prototype=new r,o})},{}],6:[function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){var n=l["default"].getSiteURL();return t.order_action_url=n+"/orders/remote",t.input_promocode_name="order[promo_code_text]",t.is_closed="live"!==t.status,"ticket"===e&&t.ticket_types&&(0===t.ticket_types.length&&(t.is_closed=!0),t.tickets=a(t.ticket_types,t,"ticket"),t.form_hidden=i(t,e)),"donation"===e&&t.donation_types&&(0===t.donation_types.length&&(t.is_closed=!0),t.donations=a(t.donation_types,t,"donation"),t.form_hidden=i(t,e),s(t)),t.is_live="live"===t.status&&!t.is_closed,t}function i(t,e){var n=[];n.push("<input type='hidden' name='event_id' value='"+t.id+"'>");var r,o,i=0,a=t.tickets;if("ticket"===e&&a)for(r=0,o=a.length;o>r;r++){var s=a[r];n.push("<input type='hidden' name='order[order_items_attributes]["+i+"][item_id]' value='"+s.id+"'>"),n.push("<input type='hidden' name='order[order_items_attributes]["+i+"][item_type]' value='TicketType'>"),i++}if(a=t.donations,"donation"===e&&a)for(r=0,o=a.length;o>r;r++){var c=a[r];n.push("<input type='hidden' name='order[order_items_attributes]["+i+"][item_id]' value='"+c.id+"'>"),n.push("<input type='hidden' name='order[order_items_attributes]["+i+"][item_type]' value='DonationType'>"),n.push("<input type='hidden' name='order[order_items_attributes]["+i+"][quantity]' value='0'>"),i++}return n.join("\n")}function a(t,e,n){for(var r=[],o=1===t.length,i=0,a=t.length;a>i;i++){var s=t[i];"live"===s.status&&s.visibility!==!1&&("ticket"===n?(s.is_paid="paid"===s.ticket_type,s.is_free="free"===s.ticket_type,s.input_quantity_name="order[order_items_attributes]["+i+"][quantity]",s.quantity_options_html=c({min:s.min_purchase||1,max:s.max_purchase||10,selected:o?s.min_purchase||1:null})):"donation"===n&&(s.is_fixed="fixed"===s.donation_type,s.is_open="open"===s.donation_type,s.input_amount_name="order[order_items_attributes]["+i+"][amount]"),s.has_fees=s.prices&&s.prices.fee>0,e.fee_payer&&"owner"===e.fee_payer&&(s.has_fees=!1),r.push(s))}return r}function s(t){if(t.campaign_goal&&t.campaign_goal>0){var e=t.campaign_goal_raised/t.campaign_goal;t.has_goal=!0,t.campaign_goal_percent=Math.max(0,Math.min(1,e))}}function c(t){function e(t){return o===t?'<option value="'+t+'" selected>'+t+"</option>":'<option value="'+t+'">'+t+"</option>"}var n=t.min,r=t.max,o=t.selected,i=[];i.push(e(0));for(var a=n;r>=a;a++)0!==a&&i.push(e(a));return i.join("")}n.__esModule=!0,n["default"]=o;var u=t(".."),l=r(u);e.exports=n["default"]},{"..":4}],7:[function(t,e){e.exports=".tb-container div,.tb-container span,.tb-container strong,.tb-container h1,.tb-container label,.tb-container button,.tb-container a,.tb-container i{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tb-container a img{border:0}.tb-header,.tb-headline,.tb-subheadline,.tb-action,.tb-submit,.tb-powered-by,.tb-text,.tb-ticket-items,.tb-ticket,.tb-ticket-info,.tb-ticket-description,.tb-donation,.tb-donation-items,.tb-donation-info,.tb-donation-amount,.tb-promocode,.tb-price,.tb-prefix,.tb-amount,.tb-fees,.tb-goalmeter,.tb-goalmeter-description,.tb-goalmeter-raised,.tb-goalmeter-text,.tb-goalmeter-total,.tb-inlinelink,.tb-progressbar,.tb-progressbar-fill{margin:0;padding:0;border:0;font-size:1em}.tb-spinner{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin:0 auto;width:108px;height:108px;border:0;-webkit-animation:tb-rotate 400ms linear infinite;-moz-animation:tb-rotate 400ms linear infinite;-o-animation:tb-rotate 400ms linear infinite;-ms-animation:tb-rotate 400ms linear infinite;animation:tb-rotate 400ms linear infinite;position:relative}.tb-spinner:before{position:absolute;top:40px;left:40px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;content:'';width:28px;height:28px;margin:0;padding:0;border:solid 2px transparent;border-left-color:#1e90ff;border-top-color:#1e90ff;-webkit-border-radius:50%;border-radius:50%}.tb-ticket-form{background:#fff;color:#333;-webkit-border-radius:3px;border-radius:3px;}.tb-ticket-form-error,.tb-ticket-form-closed{padding:40px;text-align:center}.tb-header{margin:0;padding:30px}.tb-headline{font-size:1.5em;line-height:1.4}.tb-headline a{color:#1a1a1a;font-weight:normal;text-decoration:none}.tb-subheadline{font-size:1.2em;font-weight:normal;color:rgba(51,51,51,0.7);margin-top:.3em}.tb-donation,.tb-ticket{border-bottom:solid 1px rgba(0,0,0,0.1);padding:15px 30px;overflow:hidden}.tb-donation-items,.tb-ticket-items{border-top:solid 1px rgba(0,0,0,0.1)}.tb-info{display:inline}.tb-donation,.tb-ticket{display:table;table-layout:fixed;width:100%}.tb-donation-radio{width:10%;display:table-cell;vertical-align:middle}.tb-donation-info,.tb-ticket-info{display:table-cell;vertical-align:middle;width:65%}.tb-price{display:table-cell;vertical-align:middle;width:35%;min-width:150px;text-align:right;font-weight:normal;line-height:1.3;padding-left:20px}.tb-amount{display:block;font-size:1.5em;color:rgba(51,51,51,0.7)}.tb-fees{display:block;white-space:nowrap;color:rgba(51,51,51,0.4);font-size:.9em}.tb-quantity{display:table-cell;vertical-align:middle;width:15%;text-align:right;padding-left:20px}.tb-quantity input{width:50px;height:26px;text-align:center}.tb-promocode{clear:both;float:left;margin-top:10px}.tb-inlinelink,.tb-text{padding:7px 8px;font-size:.9em;height:30px;line-height:1em;vertical-align:middle;display:inline-block;white-space:nowrap;border:solid 1px transparent}.tb-text{border:solid 1px rgba(0,0,0,0.1);-webkit-border-radius:2px;border-radius:2px;padding:5px 7px;}.tb-text:focus{border-color:#1e90ff}.tb-inlinelink{background:transparent;cursor:pointer;text-decoration:none;margin-left:-12px;color:rgba(51,51,51,0.4);}.tb-inlinelink:hover{color:#1e90ff}.tb-action{padding:30px;overflow:hidden}.tb-submit{width:120px;height:40px;float:left;background:#1e90ff;-webkit-border-radius:3px;border-radius:3px;color:#fff;font-size:1.2em;font-weight:bold;margin:0;padding:0;border:0;cursor:pointer}.tb-submit:hover,.tb-submit:focus{background-color:#2996ff}.tb-submit:active{background-color:#1089ff}.tb-powered-by{display:block;margin-top:5px;float:right;margin-left:20px}.tb-powered-by img{height:30px}.tb-donation-amount{white-space:nowrap}.tb-goalmeter{text-align:right;overflow:hidden;padding:0 30px 15px 30px;margin-top:-15px}.tb-progressbar,.tb-progressbar-fill{-webkit-border-radius:4px;border-radius:4px}.tb-progressbar{float:left;width:200px;height:10px;background:rgba(51,51,51,0.08);-webkit-box-shadow:inset 1px 1px 0 rgba(0,0,0,0.05);box-shadow:inset 1px 1px 0 rgba(0,0,0,0.05);padding:2px;margin-top:5px}.tb-progressbar-fill{height:6px;background:#1e90ff;min-width:4px}.tb-goalmeter-description{float:right;margin-left:20px;font-weight:normal;display:inline-block;line-height:20px;white-space:nowrap}.tb-goalmeter-raised{font-weight:bold;color:#1a1a1a}.tb-goalmeter-total{font-weight:normal}.tb-goalmeter-text{color:rgba(51,51,51,0.7)}.tb-prefixed-input,.tb-prefix,.tb-input{margin:0;padding:0;border:0;outline:0;height:36px;line-height:36px;display:inline-block}.tb-prefix,.tb-input{vertical-align:top}.tb-prefixed-input{width:120px;background:#fff;border:solid 1px #ddd;-webkit-border-radius:4px;border-radius:4px;height:38px}.tb-prefix{padding:0 10px;background:rgba(0,0,0,0.05)}.tb-input,.tb-input:focus{background:transparent;padding:3px 6px;border-top-left-radius:0;border-bottom-left-radius:0;font-size:1.2em}@-moz-keyframes tb-rotate{0%{-webkit-transform:rotate(0);-moz-transform:rotate(0);-o-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes tb-rotate{0%{-webkit-transform:rotate(0);-moz-transform:rotate(0);-o-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes tb-rotate{0%{-webkit-transform:rotate(0);-moz-transform:rotate(0);-o-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes tb-rotate{0%{-webkit-transform:rotate(0);-moz-transform:rotate(0);-o-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}"},{}],8:[function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var i=t("dom101/remove-class"),a=r(i),s=t("dom101/add-class"),c=r(s),u=t("dom101/extend"),l=r(u),d=t(".."),f=r(d),p=function(){function t(e,n){o(this,t),e.tbInstance=this,l["default"](this,n,{el:e}),this.setDefaults({poweredBy:!0}),this.setDefaults(this.defaults()),this.el=e}return t.prototype.setDefaults=function(t){if(t)for(var e in t)t.hasOwnProperty(e)&&"undefined"==typeof this[e]&&(this[e]=t[e])},t.prototype.defaults=function(){},t.prototype.setLoadState=function(t){"loading"===t?(this.el.innerHTML='<div class="tb-spinner"></div>',c["default"](this.el,"tb-loading")):"success"===t?(a["default"](this.el,"tb-loading"),c["default"](this.el,"tb-loaded")):"error"===t&&(a["default"](this.el,"tb-loading"),c["default"](this.el,"tb-error"))},t.prototype.find=function(t){return this.el.querySelector(t)},t.prototype.baseTemplateData=function(t){return{tb:this.prefix||"tb",widget:this,site_url:f["default"].getSiteURL(),config:f["default"].config(),error:t}},t}();n["default"]=p,e.exports=n["default"]},{"..":4,"dom101/add-class":27,"dom101/extend":30,"dom101/remove-class":36}],9:[function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){for(var n=Object.getOwnPropertyNames(e),r=0;r<n.length;r++){var o=n[r],i=Object.getOwnPropertyDescriptor(e,o);i&&i.configurable&&void 0===t[o]&&Object.defineProperty(t,o,i)}return t}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):o(t,e))}function s(t){for(var e=0,n=t.length;n>e;e++){var r=t[e];if(r.checked)return t[e].value}}n.__esModule=!0;var c=t("../presenters/event"),u=r(c),l=t("./ticket_form"),d=r(l),f=t("dom101/closest"),p=r(f),b=t("dom101/each"),h=r(b),m=t("dom101/on"),g=r(m),y=function(t){function e(){i(this,e),t.apply(this,arguments)}return a(e,t),e.prototype.bindEvents=function(){var t=this;h["default"](this.$radios(),function(e){g["default"](e,"change",t.updateQuantities.bind(t)),g["default"](e,"focus",function(){var e=p["default"](t,"label").querySelector(".tb-input");e&&e.focus()})}),this.el.querySelector("form").onsubmit=function(e){return t.validate()?void 0:(e.preventDefault(),!1)}},e.prototype.defaults=function(){return{headline:!0,goalmeter:!0}},e.prototype.validate=function(){var t=s(this.$radios());return t?(h["default"](this.el.querySelectorAll('[name$="[amount]"]'),function(t){return t.value&&""!==t.value||(t.value="0"),t.value.match(/^\s*-?\d+(\.\d+)?\s*$/)?void 0:(t.focus(),window.alert("Please enter a number."),!1)}),!0):(window.alert("Please select one."),!1)},e.prototype.templateData=function(t){var e=this.baseTemplateData(t);return e.event=t?{}:u["default"](this.event,"donation"),e},e.prototype.$radios=function(){return this.el.querySelectorAll('[type="radio"]')},e.prototype.updateQuantities=function(){for(var t=this.$radios(),e=0,n=t.length;n>e;e++){var r=t[e],o="order[order_items_attributes]["+e+"][quantity]",i=this.el.querySelector('[type="hidden"][name="'+o+'"]');i&&i.setAttribute("value",r.checked?"1":"0")}},e}(d["default"]);n["default"]=y,y.prototype.template="<div class='{{tb}}-container'>\n{{#event}}\n {{#error}}\n <div class='{{tb}}-ticket-form {{tb}}-ticket-form-error'>\n <i class='{{tb}}-icon'></i>\n Sorry, donations cannot be loaded at this time.\n </div>\n {{/error}}\n\n {{#is_closed}}\n <div class='{{tb}}-ticket-form {{tb}}-ticket-form-closed'>\n <i class='{{tb}}-icon'></i>\n Donations are not available at this time.\n </div>\n {{/is_closed}}\n\n {{#is_live}}\n <form method=\"post\" action=\"{{event.order_action_url}}\" class='{{tb}}-ticket-form {{tb}}-ticket-form-live'>\n {{{form_hidden}}}\n\n {{#widget.headline}}\n <div class='{{tb}}-header'>\n <h1 class='{{tb}}-headline'>\n <a href='{{event.url}}'>\n {{event.title}}\n </a>\n </h1>\n {{#campaign_recepient}}\n <h5 class='{{tb}}-subheadline'>{{campaign_recepient}}</h5>\n {{/campaign_recepient}}\n </div>\n {{/widget.headline}}\n\n {{#widget.goalmeter}}\n {{#has_goal}}\n <div class='{{tb}}-goalmeter'>\n <div class='{{tb}}-progressbar'>\n <div class='{{tb}}-progressbar-fill' style='width: {{campaign_goal_percent * 100}}%'>\n </div>\n </div>\n <div class='{{tb}}-goalmeter-description'>\n <strong class='{{tb}}-goalmeter-raised'>{{campaign_goal_raised}}</strong>\n <span class='{{tb}}-goalmeter-text'>raised of</span>\n <span class='{{tb}}-goalmeter-total'>{{campaign_goal}}</span>\n </div>\n </div>\n {{/has_goal}}\n {{/widget.goalmeter}}\n\n <div class='{{tb}}-donation-items'>\n {{#donations}}\n <label class='{{tb}}-donation'>\n <div class='{{tb}}-donation-radio'>\n <input type='radio' name='donation_id' value='{{id}}'>\n </div>\n <div class='{{tb}}-donation-info'>\n <strong class='{{tb}}-title'>\n {{title}}\n </strong>\n {{#description}}\n <div class='{{tb}}-donation-description'>\n {{{description}}}\n </div>\n {{/description}}\n </div>\n\n {{#is_open}}\n <span class='{{tb}}-price {{tb}}-price-open'>\n <span class='{{tb}}-donation-amount tb-prefixed-input'>\n <span class='{{tb}}-prefix'>$</span>\n <input class='tb-input' type='text' name='{{input_amount_name}}'></input>\n </span>\n </span>\n {{/is_open}}\n\n {{#is_fixed}}\n <span class='{{tb}}-price {{tb}}-price-fixed'>\n <span class='{{tb}}-amount'>\n {{prices.formatted_amount}}\n </span>\n {{#has_fees}}\n <span class='{{tb}}-fees'>\n + {{prices.formatted_fee}} fees\n </span>\n {{/has_fees}}\n </span>\n {{/is_fixed}}\n </label>\n {{/donations}}\n </div>\n\n <div class='{{tb}}-action'>\n <button type='submit' class='{{tb}}-submit'>Order</button>\n <a class='{{tb}}-powered-by' href='{{site_url}}'>\n {{#config}}\n <a class='{{tb}}-powered-by' href='{{url}}'>\n <img src='{{powered_by_img}}' alt='Powered by {{site_name}}' />\n </a>\n {{/config}}\n </a>\n </div>\n\n </form>\n {{/is_live}}\n{{/event}}\n</div>\n",e.exports=n["default"]},{"../presenters/event":6,"./ticket_form":10,"dom101/closest":28,"dom101/each":29,"dom101/on":32}],10:[function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){for(var n=Object.getOwnPropertyNames(e),r=0;r<n.length;r++){var o=n[r],i=Object.getOwnPropertyDescriptor(e,o);i&&i.configurable&&void 0===t[o]&&Object.defineProperty(t,o,i)}return t}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):o(t,e))}function s(e){return t("ministache")(e)}n.__esModule=!0;var c=t("../presenters/event"),u=r(c),l=t("./base"),d=r(l),f=t(".."),p=r(f),b=t("dom101/on"),h=r(b),m=function(t){function e(n,r){if(i(this,e),t.call(this,n,r),!r.event)throw new Error("Ticketbase: no event ID found");this.promise=void 0,this.eventId=r.event,this.load()}return a(e,t),e.prototype.defaults=function(){return{headline:!0}},e.prototype.load=function(){var t=this,e=this;this.setLoadState("loading"),this.promise=this.fetch().then(function(e){t.event=e,t.render()})["catch"](e.onerror.bind(this))},e.prototype.fetch=function(){return p["default"].api.get("/v1/events/"+this.eventId)},e.prototype.render=function(){this.setLoadState("success");var t=s(this.template),e=t(this.templateData());this.el.innerHTML=e,this.bindEvents()},e.prototype.templateData=function(t){var e=this.baseTemplateData(t);return e.event=t?{}:u["default"](this.event,"ticket"),e},e.prototype.bindEvents=function(){var t=this.el.querySelector("[role='tb-usepromo']"),e=this.el.querySelector("[role='tb-promoinput']");t&&h["default"](t,"click",function(n){n.preventDefault(),t.style.display="none",e.style.display="",setTimeout(function(){e.focus()})})},e.prototype.onerror=function(t){this.setLoadState("error");var e=s(this.template),n=e(this.templateData(t));this.el.innerHTML=n,p["default"].quiet||console.error(t)},e}(d["default"]);n["default"]=m,m.prototype.template="<div class='{{tb}}-container'>\n{{#event}}\n {{#error}}\n <div class='{{tb}}-ticket-form {{tb}}-ticket-form-error'>\n <i class='{{tb}}-icon'></i>\n Sorry, tickets cannot be loaded at this time.\n </div>\n {{/error}}\n\n {{#is_closed}}\n <div class='{{tb}}-ticket-form {{tb}}-ticket-form-closed'>\n <i class='{{tb}}-icon'></i>\n Tickets are not available at this time.\n </div>\n {{/is_closed}}\n\n {{#is_live}}\n <form method=\"post\" action=\"{{event.order_action_url}}\" class='{{tb}}-ticket-form {{tb}}-ticket-form-live'>\n {{{form_hidden}}}\n\n {{#widget.headline}}\n <div class='{{tb}}-header'>\n <h1 class='{{tb}}-headline'>\n <a href='{{event.url}}'>\n {{event.title}}\n </a>\n </h1>\n </div>\n {{/widget.headline}}\n\n <div class='{{tb}}-ticket-items'>\n {{#tickets}}\n <div class='{{tb}}-ticket'>\n <div class='{{tb}}-ticket-info'>\n <strong class='{{tb}}-title'>\n {{title}}\n </strong>\n {{#description}}\n <div class='{{tb}}-ticket-description'>\n {{{description}}}\n </div>\n {{/description}}\n </div>\n\n {{#is_free}}\n <span class='{{tb}}-price {{tb}}-price-free'>\n <span class='{{tb}}-amount'>\n Free\n </span>\n </span>\n {{/is_free}}\n\n {{#is_paid}}\n <span class='{{tb}}-price {{tb}}-price-paid'>\n <span class='{{tb}}-amount'>\n {{prices.formatted_amount}}\n </span>\n {{#has_fees}}\n <span class='{{tb}}-fees'>\n + {{prices.formatted_fee}} fees\n </span>\n {{/has_fees}}\n </span>\n {{/is_paid}}\n\n <div class='{{tb}}-quantity'>\n <select name='{{input_quantity_name}}'>\n {{{quantity_options_html}}}\n </select>\n </div>\n </div>\n {{/tickets}}\n </div>\n\n <div class='{{tb}}-action'>\n <button type='submit' class='{{tb}}-submit'>Order</button>\n {{#widget.poweredBy}}\n {{#config}}\n <a class='{{tb}}-powered-by' href='{{url}}'>\n <img src='{{powered_by_img}}' alt='Powered by {{site_name}}' />\n </a>\n {{/config}}\n {{/widget.poweredBy}}\n\n <div class='{{tb}}-promocode'>\n <button class='{{tb}}-inlinelink' role='tb-usepromo'>Use a promo code...</button>\n <input style='display:none' role='tb-promoinput' class='{{tb}}-text' type='text' name='{{input_promocode_name}}' placeholder='Promo code'>\n </div>\n </div>\n\n </form>\n {{/is_live}}\n{{/event}}\n</div>\n",e.exports=n["default"]},{"..":4,"../presenters/event":6,"./base":8,"dom101/on":32,ministache:37}],11:[function(t,e){function n(t){return this instanceof n?("string"==typeof t?t={base:t}:t||(t={}),this.base=t.base,this._after=[],this._before=[],void(this.response=null)):new n(t)}function r(t){return function(){return n.prototype.request.apply(this,[t].concat([].slice.call(arguments)))}}n.request=t("then-request"),n.prototype.request=function(t,e,r){function o(t){return t?t.bind(this):null}var i={headers:{},qs:{},json:r||{}},a={method:t,url:this.prefix(e),data:r,headers:i.headers,options:i};this._before.forEach(function(t){t.call(this,a)});var s=n.request(a.method,a.url,a.options);return s=s.then(this.catchCorsError.bind(this)).then(this.saveResponse.bind(this)).then(this.parseBody.bind(this)),this._after.forEach(function(t){s=s.then(o(t[0]),o(t[1]))}),s},n.prototype.get=r("GET"),n.prototype.put=r("PUT"),n.prototype.del=r("DELETE"),n.prototype.post=r("POST"),n.prototype.patch=r("PATCH"),n.prototype.before=function(t){return this._before.push(t),this},n.prototype.after=function(t,e){return this._after.push([t,e]),this},n.prototype.parseBody=function(t){var e=t.getBody(),n=t.headers["content-type"];return n&&n.match(/^application\/json/)?JSON.parse(e):e},n.prototype.prefix=function(t){return"/"===t[0]?(this.base||"")+t:t},n.prototype.saveResponse=function(t){return this.response=this.res=t,t},n.prototype.catchCorsError=function(t){if(t&&0===t.statusCode)throw new Error("API failed due to cross-origin error");return t},e.exports=n},{"then-request":12}],12:[function(t,e){"use strict";function n(t,e,n,a){var s=new r(function(r){var s=new window.XMLHttpRequest;if("string"!=typeof t)throw new TypeError("The method must be a string.");if("string"!=typeof e)throw new TypeError("The URL/path must be a string.");if("function"==typeof n&&(a=n,n={}),(null===n||void 0===n)&&(n={}),"object"!=typeof n)throw new TypeError("Options must be an object (or null).");"function"!=typeof a&&(a=void 0),t=t.toUpperCase(),n.headers=n.headers||{};var c,u=!(!(c=/^([\w-]+:)?\/\/([^\/]+)/.exec(n.uri))||c[2]==window.location.host);u||(n.headers["X-Requested-With"]="XMLHttpRequest"),n.qs&&(e=i(e,n.qs)),n.json&&(n.body=JSON.stringify(n.json),n.headers["content-type"]="application/json"),s.onreadystatechange=function(){if(4===s.readyState){var t={};s.getAllResponseHeaders().split("\r\n").forEach(function(e){var n=e.split(":");n.length>1&&(t[n[0].toLowerCase()]=n.slice(1).join(":").trim())}),r(new o(s.status,t,s.responseText))}},s.open(t,e,!0);for(var l in n.headers)s.setRequestHeader(l.toLowerCase(),n.headers[l]);s.send(n.body?n.body:null)});return s.getBody=function(){return s.then(function(t){return t.getBody()})},s.nodeify(a)}var r=t("promise"),o=t("http-response-object"),i=t("./lib/handle-qs.js");e.exports=n},{"./lib/handle-qs.js":13,"http-response-object":14,promise:15}],13:[function(t,e){"use strict";function n(t,e){t=t.split("?");var n=t[0],i=(t[1]||"").split("#")[0],a=t[1]&&t[1].split("#").length>1?"#"+t[1].split("#")[1]:"",s=r(i);for(var c in e)s[c]=e[c];return i=o(s),""!==i&&(i="?"+i),n+i+a}var r=t("qs").parse,o=t("qs").stringify;e.exports=n},{qs:21}],14:[function(t,e){"use strict";function n(t,e,n){if("number"!=typeof t)throw new TypeError("statusCode must be a number but was "+typeof t);if(null===e)throw new TypeError("headers cannot be null");if("object"!=typeof e)throw new TypeError("headers must be an object but was "+typeof e);this.statusCode=t,this.headers={};for(var r in e)this.headers[r.toLowerCase()]=e[r];this.body=n}e.exports=n,n.prototype.getBody=function(t){if(this.statusCode>=300){var e=new Error("Server responded with status code "+this.statusCode+":\n"+this.body.toString());throw e.statusCode=this.statusCode,e.headers=this.headers,e.body=this.body,e}return t?this.body.toString(t):this.body}},{}],15:[function(t,e){"use strict";e.exports=t("./lib/core.js"),t("./lib/done.js"),t("./lib/es6-extensions.js"),t("./lib/node-extensions.js")},{"./lib/core.js":16,"./lib/done.js":17,"./lib/es6-extensions.js":18,"./lib/node-extensions.js":19}],16:[function(t,e){"use strict";function n(t){function e(t){return null===c?void l.push(t):void i(function(){var e=c?t.onFulfilled:t.onRejected;if(null===e)return void(c?t.resolve:t.reject)(u);var n;try{n=e(u)}catch(r){return void t.reject(r)}t.resolve(n)})}function n(t){try{if(t===d)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var e=t.then;if("function"==typeof e)return void o(e.bind(t),n,a)}c=!0,u=t,s()}catch(r){a(r)}}function a(t){c=!1,u=t,s()}function s(){for(var t=0,n=l.length;n>t;t++)e(l[t]);l=null}if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof t)throw new TypeError("not a function");var c=null,u=null,l=[],d=this;this.then=function(t,n){return new d.constructor(function(o,i){e(new r(t,n,o,i))})},o(t,n,a)}function r(t,e,n,r){this.onFulfilled="function"==typeof t?t:null,this.onRejected="function"==typeof e?e:null,this.resolve=n,this.reject=r}function o(t,e,n){var r=!1;try{t(function(t){r||(r=!0,e(t))},function(t){r||(r=!0,n(t))})}catch(o){if(r)return;r=!0,n(o)}}var i=t("asap");e.exports=n},{asap:20}],17:[function(t,e){"use strict";var n=t("./core.js"),r=t("asap");e.exports=n,n.prototype.done=function(){var t=arguments.length?this.then.apply(this,arguments):this;t.then(null,function(t){r(function(){throw t})})}},{"./core.js":16,asap:20}],18:[function(t,e){"use strict";function n(t){this.then=function(e){return"function"!=typeof e?this:new r(function(n,r){o(function(){try{n(e(t))}catch(o){r(o)}})})}}var r=t("./core.js"),o=t("asap");e.exports=r,n.prototype=r.prototype;var i=new n(!0),a=new n(!1),s=new n(null),c=new n(void 0),u=new n(0),l=new n("");r.resolve=function(t){if(t instanceof r)return t;if(null===t)return s;if(void 0===t)return c;if(t===!0)return i;if(t===!1)return a;if(0===t)return u;if(""===t)return l;if("object"==typeof t||"function"==typeof t)try{var e=t.then;if("function"==typeof e)return new r(e.bind(t))}catch(o){return new r(function(t,e){e(o)})}return new n(t)},r.all=function(t){var e=Array.prototype.slice.call(t);return new r(function(t,n){function r(i,a){try{if(a&&("object"==typeof a||"function"==typeof a)){var s=a.then;if("function"==typeof s)return void s.call(a,function(t){r(i,t)},n)}e[i]=a,0===--o&&t(e)}catch(c){n(c)}}if(0===e.length)return t([]);for(var o=e.length,i=0;i<e.length;i++)r(i,e[i])})},r.reject=function(t){return new r(function(e,n){n(t)})},r.race=function(t){return new r(function(e,n){t.forEach(function(t){r.resolve(t).then(e,n)})})},r.prototype["catch"]=function(t){return this.then(null,t)}},{"./core.js":16,asap:20}],19:[function(t,e){"use strict";var n=t("./core.js"),r=t("asap");e.exports=n,n.denodeify=function(t,e){return e=e||1/0,function(){var r=this,o=Array.prototype.slice.call(arguments);return new n(function(n,i){for(;o.length&&o.length>e;)o.pop();o.push(function(t,e){t?i(t):n(e)});var a=t.apply(r,o);!a||"object"!=typeof a&&"function"!=typeof a||"function"!=typeof a.then||n(a)})}},n.nodeify=function(t){return function(){var e=Array.prototype.slice.call(arguments),o="function"==typeof e[e.length-1]?e.pop():null,i=this;
try{return t.apply(this,arguments).nodeify(o,i)}catch(a){if(null===o||"undefined"==typeof o)return new n(function(t,e){e(a)});r(function(){o.call(i,a)})}}},n.prototype.nodeify=function(t,e){return"function"!=typeof t?this:void this.then(function(n){r(function(){t.call(e,null,n)})},function(n){r(function(){t.call(e,n)})})}},{"./core.js":16,asap:20}],20:[function(t,e){(function(t){function n(){for(;o.next;){o=o.next;var t=o.task;o.task=void 0;var e=o.domain;e&&(o.domain=void 0,e.enter());try{t()}catch(r){if(c)throw e&&e.exit(),setTimeout(n,0),e&&e.enter(),r;setTimeout(function(){throw r},0)}e&&e.exit()}a=!1}function r(e){i=i.next={task:e,domain:c&&t.domain,next:null},a||(a=!0,s())}var o={task:void 0,next:null},i=o,a=!1,s=void 0,c=!1;if("undefined"!=typeof t&&t.nextTick)c=!0,s=function(){t.nextTick(n)};else if("function"==typeof setImmediate)s="undefined"!=typeof window?setImmediate.bind(window,n):function(){setImmediate(n)};else if("undefined"!=typeof MessageChannel){var u=new MessageChannel;u.port1.onmessage=n,s=function(){u.port2.postMessage(0)}}else s=function(){setTimeout(n,0)};e.exports=r}).call(this,t("_process"))},{_process:26}],21:[function(t,e){e.exports=t("./lib/")},{"./lib/":22}],22:[function(t,e){var n=t("./stringify"),r=t("./parse");e.exports={stringify:n,parse:r}},{"./parse":23,"./stringify":24}],23:[function(t,e){var n=t("./utils"),r={delimiter:"&",depth:5,arrayLimit:20,parameterLimit:1e3};r.parseValues=function(t,e){for(var r={},o=t.split(e.delimiter,1/0===e.parameterLimit?void 0:e.parameterLimit),i=0,a=o.length;a>i;++i){var s=o[i],c=-1===s.indexOf("]=")?s.indexOf("="):s.indexOf("]=")+1;if(-1===c)r[n.decode(s)]="";else{var u=n.decode(s.slice(0,c)),l=n.decode(s.slice(c+1));r[u]=Object.prototype.hasOwnProperty.call(r,u)?[].concat(r[u]).concat(l):l}}return r},r.parseObject=function(t,e,n){if(!t.length)return e;var o=t.shift(),i={};if("[]"===o)i=[],i=i.concat(r.parseObject(t,e,n));else{var a="["===o[0]&&"]"===o[o.length-1]?o.slice(1,o.length-1):o,s=parseInt(a,10),c=""+s;!isNaN(s)&&o!==a&&c===a&&s>=0&&s<=n.arrayLimit?(i=[],i[s]=r.parseObject(t,e,n)):i[a]=r.parseObject(t,e,n)}return i},r.parseKeys=function(t,e,n){if(t){var o=/^([^\[\]]*)/,i=/(\[[^\[\]]*\])/g,a=o.exec(t);if(!Object.prototype.hasOwnProperty(a[1])){var s=[];a[1]&&s.push(a[1]);for(var c=0;null!==(a=i.exec(t))&&c<n.depth;)++c,Object.prototype.hasOwnProperty(a[1].replace(/\[|\]/g,""))||s.push(a[1]);return a&&s.push("["+t.slice(a.index)+"]"),r.parseObject(s,e,n)}}},e.exports=function(t,e){if(""===t||null===t||"undefined"==typeof t)return{};e=e||{},e.delimiter="string"==typeof e.delimiter||n.isRegExp(e.delimiter)?e.delimiter:r.delimiter,e.depth="number"==typeof e.depth?e.depth:r.depth,e.arrayLimit="number"==typeof e.arrayLimit?e.arrayLimit:r.arrayLimit,e.parameterLimit="number"==typeof e.parameterLimit?e.parameterLimit:r.parameterLimit;for(var o="string"==typeof t?r.parseValues(t,e):t,i={},a=Object.keys(o),s=0,c=a.length;c>s;++s){var u=a[s],l=r.parseKeys(u,o[u],e);i=n.merge(i,l)}return n.compact(i)}},{"./utils":25}],24:[function(t,e){var n=t("./utils"),r={delimiter:"&",arrayPrefixGenerators:{brackets:function(t){return t+"[]"},indices:function(t,e){return t+"["+e+"]"},repeat:function(t){return t}}};r.stringify=function(t,e,o){if(n.isBuffer(t)?t=t.toString():t instanceof Date?t=t.toISOString():null===t&&(t=""),"string"==typeof t||"number"==typeof t||"boolean"==typeof t)return[encodeURIComponent(e)+"="+encodeURIComponent(t)];var i=[];if("undefined"==typeof t)return i;for(var a=Object.keys(t),s=0,c=a.length;c>s;++s){var u=a[s];i=i.concat(Array.isArray(t)?r.stringify(t[u],o(e,u),o):r.stringify(t[u],e+"["+u+"]",o))}return i},e.exports=function(t,e){e=e||{};var n="undefined"==typeof e.delimiter?r.delimiter:e.delimiter,o=[];if("object"!=typeof t||null===t)return"";var i;i=e.arrayFormat in r.arrayPrefixGenerators?e.arrayFormat:"indices"in e?e.indices?"indices":"repeat":"indices";for(var a=r.arrayPrefixGenerators[i],s=Object.keys(t),c=0,u=s.length;u>c;++c){var l=s[c];o=o.concat(r.stringify(t[l],l,a))}return o.join(n)}},{"./utils":25}],25:[function(t,e,n){n.arrayToObject=function(t){for(var e={},n=0,r=t.length;r>n;++n)"undefined"!=typeof t[n]&&(e[n]=t[n]);return e},n.merge=function(t,e){if(!e)return t;if("object"!=typeof e)return Array.isArray(t)?t.push(e):t[e]=!0,t;if("object"!=typeof t)return t=[t].concat(e);Array.isArray(t)&&!Array.isArray(e)&&(t=n.arrayToObject(t));for(var r=Object.keys(e),o=0,i=r.length;i>o;++o){var a=r[o],s=e[a];t[a]=t[a]?n.merge(t[a],s):s}return t},n.decode=function(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch(e){return t}},n.compact=function(t,e){if("object"!=typeof t||null===t)return t;e=e||[];var r=e.indexOf(t);if(-1!==r)return e[r];if(e.push(t),Array.isArray(t)){for(var o=[],i=0,a=t.length;a>i;++i)"undefined"!=typeof t[i]&&o.push(t[i]);return o}var s=Object.keys(t);for(i=0,a=s.length;a>i;++i){var c=s[i];t[c]=n.compact(t[c],e)}return t},n.isRegExp=function(t){return"[object RegExp]"===Object.prototype.toString.call(t)},n.isBuffer=function(t){return null===t||"undefined"==typeof t?!1:!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))}},{}],26:[function(t,e){function n(){u=!1,a.length?c=a.concat(c):l=-1,c.length&&r()}function r(){if(!u){var t=setTimeout(n);u=!0;for(var e=c.length;e;){for(a=c,c=[];++l<e;)a&&a[l].run();l=-1,e=c.length}a=null,u=!1,clearTimeout(t)}}function o(t,e){this.fun=t,this.array=e}function i(){}var a,s=e.exports={},c=[],u=!1,l=-1;s.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];c.push(new o(t,e)),1!==c.length||u||setTimeout(r,0)},o.prototype.run=function(){this.fun.apply(null,this.array)},s.title="browser",s.browser=!0,s.env={},s.argv=[],s.version="",s.versions={},s.on=i,s.addListener=i,s.once=i,s.off=i,s.removeListener=i,s.removeAllListeners=i,s.emit=i,s.binding=function(){throw new Error("process.binding is not supported")},s.cwd=function(){return"/"},s.chdir=function(){throw new Error("process.chdir is not supported")},s.umask=function(){return 0}},{}],27:[function(t,e){function n(t,e){t.classList?t.classList.add(e):t.className+=" "+e}e.exports=n},{}],28:[function(t,e){function n(t,e){return t?r(t,e)?t:n(t.parentNode,e):void 0}var r=t("./matches");e.exports=n},{"./matches":31}],29:[function(t,e){function n(t,e){var n,r,o=t.length;if("number"==typeof o)for(n=0;o>n;n++)e(t[n],n);else{r=0;for(n in t)t.hasOwnProperty(n)&&e(t[n],n,r++)}return t}e.exports=n},{}],30:[function(t,e){function n(t){t=t||{};for(var e=1;e<arguments.length;e++)if(arguments[e])for(var n in arguments[e])arguments[e].hasOwnProperty(n)&&(t[n]=arguments[e][n]);return t}e.exports=n},{}],31:[function(t,e){function n(t,e){var n=t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector;if(n)return n.call(t,e);if(t.parentNode){for(var r=t.parentNode.querySelectorAll(e),o=r.length;o--;0)if(r[o]===t)return!0;return!1}}e.exports=n},{}],32:[function(t,e){function n(t,e,n){t.addEventListener?t.addEventListener(e,n):t.attachEvent("on"+e,function(){n.call(t)})}e.exports=n},{}],33:[function(t,e){function n(t){return document.querySelectorAll(t)}e.exports=n},{}],34:[function(t,e){function n(t){return document.querySelector(t)}e.exports=n},{}],35:[function(t,e){function n(t){document.addEventListener?document.addEventListener("DOMContentLoaded",t):document.attachEvent("onreadystatechange",function(){"interactive"===document.readyState&&t()})}e.exports=n},{}],36:[function(t,e){function n(t,e){if(t.classList)t.classList.remove(e);else{var n=new RegExp("(^|\\b)"+e.split(" ").join("|")+"(\\b|$)","gi");t.className=t.className.replace(n," ")}}e.exports=n},{}],37:[function(t,e){e.exports=function(t){function e(t){return"try{__val="+t+"}catch(e){__val=void 0;if (!(e instanceof ReferenceError)&&!(e instanceof TypeError))throw e}"}function o(t){return(p=t.match(/^([\s\S]+?)(\{\{|$)/))?(b+="__out+="+JSON.stringify(p[1])+";",t.substr(p[1].length)||1):void 0}function i(t){return(p=f(t))?(b+=e(p[1])+'__out+=__esc(__val||"");',t.substr(p[0].length)||1):void 0}function a(t){return(p=f(t,null,!0)||f(t,"&"))?(b+=e(p[1])+'__out+=__val||"";',t.substr(p[0].length)||1):void 0}function s(t){return(p=f(t,"#"))?(b+=e(p[1])+"if(__val){__each(__val,function(__val){with(__val){",h.push("}})}"),t.substr(p[0].length)||1):void 0}function c(t){return(p=f(t,"\\^"))?(b+=e(p[1])+"if (!__val||__val.length===0){",h.push("}"),t.substr(p[0].length)||1):void 0}function u(t){return(p=f(t,"/"))?(b+=h.pop(),t.substr(p[0].length)||1):void 0}function l(t){return(p=f(t,"(?:!|>)"))?t.substr(p[0].length)||1:void 0}function d(t){return(p=t.match(/^\{\{\s*\.\s*\}\}/))?(b+='__out+=__val||"";',t.substr(p[0].length)||1):void 0}function f(t,e,n){var r=(e||"")+"([\\s\\S]*?)";return r=n?"^\\{\\{\\{"+r+"\\}\\}\\}":"^\\{\\{"+r+"\\}\\}",t.match(new RegExp(r))}for(var p,b="",h=[];"string"==typeof t;)t=d(t)||l(t)||s(t)||c(t)||u(t)||a(t)||i(t)||o(t);return b='with(data||{}){var __val,__out="";'+b+"return __out;}"+n+r,new Function("data",b)};var n='function __esc(s){if (!s)return "";return (""+s).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}',r="function __each(o,fn){o.forEach?o.forEach(fn):fn(o)}"},{}]},{},[4])(4)});