vue-giveworks-form
Version:
This plugin provides Vue.js component for the open [http://giveworks.net](Giveworks Platform).
4 lines • 27.9 kB
JavaScript
(("undefined"!==typeof self?self:this)["webpackJsonpGiveworksForm"]=("undefined"!==typeof self?self:this)["webpackJsonpGiveworksForm"]||[]).push([[4],{"0809":function(t,e,s){"use strict";(function(t){s.d(e,"a",(function(){return n}));var i=s("2953"),a=s("cfc3");class n extends i["a"]{api(){return"App\\SiteApis\\Gateways\\PayPal"}buttons(){return[{icon:["fab","paypal"],label:"PayPal",component:"paypal-payment-button"}]}paypal(){return this._paypal||(this._paypal=window.paypal),this._paypal}button(e,s){if(this.paypal())return this.paypal().Button.render({env:"production"===t.ENV?"production":"sandbox",locale:"en_US",client:{sandbox:this.options.client_id},style:{shape:"rect",size:"responsive"},commit:!1,payment:function(t,e){return e.payment.create({payment:{transactions:[{amount:{total:s.form.amount,currency:"USD"}}]},experience:{input_fields:{no_shipping:1}}})},validate:s.onPaypalValidate,onRender:s.onPaypalRender,onClick:s.onPaypalClick,onCancel:s.onPaypalCancel,onError:s.onPaypalError,onAuthorize:s.onPaypalAuthorize},e)}script(t,e){Object(a["a"])("https://www.paypalobjects.com/api/checkout.js").then(t,e)}}}).call(this,s("4362"))},2953:function(t,e,s){"use strict";s.d(e,"a",(function(){return i}));class i{constructor(t){if(this.options=t,!this.options)throw new Error("A gateway must have some options passed to it!")}}},"9ceb":function(t,e,s){"use strict";s.r(e);var i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("select-donation-fieldset",{attrs:{form:t.form,errors:t.errors,page:t.page}}),s("contact-info-fieldset",{attrs:{form:t.form,errors:t.errors,page:t.page,address:""}}),s("hr"),t.shouldShowEmployment?[s("employment-info-fieldset",{attrs:{form:t.form,errors:t.errors,page:t.page}}),s("hr")]:t._e(),t.$refs.submit?s("payment-gateways",{attrs:{"page-type":this,form:t.form,errors:t.errors,page:t.page}}):t._e(),t.page.options.add_comment?s("textarea-field",{directives:[{name:"autogrow",rawName:"v-autogrow"}],attrs:{id:"comment",label:t.commentMessage},model:{value:t.form.comment,callback:function(e){t.$set(t.form,"comment",e)},expression:"form.comment"}}):t._e(),s("btn-activity",{ref:"submit",attrs:{type:"submit",size:"lg",activity:t.submitting,label:t.buttonLabel||t.page.site.config.giveworks.button.donate,block:""}}),t.page.options.add_optin?s("div",[s("label",{staticClass:"custom-control custom-checkbox"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.form.optin,expression:"form.optin"}],staticClass:"custom-control-input",attrs:{type:"checkbox",checked:""},domProps:{checked:Array.isArray(t.form.optin)?t._i(t.form.optin,null)>-1:t.form.optin},on:{change:function(e){var s=t.form.optin,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=null,r=t._i(s,n);i.checked?r<0&&t.$set(t.form,"optin",s.concat([n])):r>-1&&t.$set(t.form,"optin",s.slice(0,r).concat(s.slice(r+1)))}else t.$set(t.form,"optin",a)}}}),s("span",{staticClass:"custom-control-indicator"}),s("small",{staticClass:"custom-control-label text-muted form-text",domProps:{innerHTML:t._s(t.optinMessage)}})])]):t._e(),t.page.site.disclaimer?s("div",{staticClass:"mt-3"},[s("small",{staticClass:"text-muted",domProps:{innerHTML:t._s(t.page.site.disclaimer)}})]):t._e()],2)},a=[],n=s("b791"),r=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[t.buttons.length>1?s("div",{staticClass:"payment-gateway-buttons"},t._l(t.buttons,(function(e,i){return s("btn",{key:i,class:{"btn-success":e.active,"btn-secondary":!e.active},attrs:{type:"button"},on:{click:function(s){return t.activate(e)}}},[s("icon",{class:{"mt-2 mb-1":!e.label},attrs:{icon:"string"===typeof e.icon?["far",e.icon]:e.icon,size:e.size||"lg"}}),e.label?s("div",{staticClass:"small",domProps:{innerHTML:t._s(e.label)}}):t._e()],1)})),1):t._e(),t.buttons&&t.buttons.length?t._e():s("alert",{staticClass:"d-flex align-items-center",attrs:{variant:"danger"}},[s("icon",{staticClass:"mr-2",attrs:{icon:"exclamation-triangle",size:"2x"}}),s("div",[t._v("There are not payment gateways configured for this site!")])],1),t.activeButton?s(t.activeButton.component,{tag:"component",attrs:{form:t.form,page:t.page,errors:t.errors,"page-type":t.pageType,gateway:t.activeButton.gateway}}):t._e()],1)},o=[],c=s("2953"),l=s("cfc3"),u=s("ca14");class m extends c["a"]{api(){return"App\\SiteApis\\Gateways\\Stripe"}buttons(){return[{icon:["far","credit-card"],label:"Credit Card",size:"2x",component:"stripe-credit-card"}]}paymentRequest(t,e){return this.stripe().paymentRequest({country:"US",currency:"usd",total:{label:e,amount:t}})}createToken(t,e){return this.stripe().createToken(t,e)}paymentRequestButton(t){return this.elements().create("paymentRequestButton",{paymentRequest:t,style:{paymentRequestButton:{type:"donate",theme:"dark",height:"51.60px"}}})}card(t){const e={base:{color:"#32325d",lineHeight:"20px",fontSmoothing:"antialiased",fontSize:"16px","::placeholder":{color:"#aab7c4"}},invalid:{color:"#b41327",iconColor:"#b41327"}};return this.elements().create("card",Object(u["e"])({style:e},t))}elements(){return this.stripe().elements()}stripe(){if(!this.options.publishable_key)throw new Error("This site API was authenticated using an older version of Giveworks. To use new version of Giveworks you must setup your Stripe account again.");return this._stripe||(this._stripe=new window.Stripe(this.options.publishable_key))}script(t,e){Object(l["a"])("https://js.stripe.com/v3/").then(t,e)}}var p=s("0809"),d={debug:!1};class h extends c["a"]{api(){return"App\\SiteApis\\Gateways\\AuthorizeNet"}buttons(){return[{icon:["far","credit-card"],label:"Credit Card",component:"authorize-net-credit-card"}]}createToken(t,e){return this.accept().dispatchData({cardData:t,authData:{apiLoginID:this.options.login_id,clientKey:this.options.public_key}},e)}accept(){return this._accept||(this._accept=window.Accept),this._accept}script(t,e){const s=d.debug?"https://jstest.authorize.net/v1/Accept.js":"https://js.authorize.net/v1/Accept.js";Object(l["a"])(s).then(t,e)}}const b={PayPal:p["a"],Stripe:m,"Authorize.Net":h},y={};var g=function(t,e){if("object"===typeof t&&(e=t.options,t=t.name),!y[t]){const s=b[t];if(!s)throw new Error('"'+t+'" is not in the list of supported gateways. Open /Gateways/Gateway.vue and add it to the list.');y[t]=new s(e)}return y[t]},f=s("bb4b"),v=s("ad3d"),_=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"form-group",class:{"was-validated":!!t.error||!!t.errors.token}},[t.loaded?s("label",{staticClass:"d-block mt-3",class:{"has-activity":t.activity}},[s("div",{staticClass:"stripe-field"},[s("div",{staticClass:"form-control",class:{"is-invalid":!!t.error||!!t.errors.token}},[s("div",{ref:"input",staticClass:"stripe-field-input"})]),t.error||t.errors.token?s("div",{staticClass:"invalid-feedback",domProps:{innerHTML:t._s(t.error||t.errors.token.join("<br>"))}}):t._e()]),s("div",{staticClass:"stripe-field-activity"},[s("activity-indicator",{attrs:{size:"xs"}})],1)]):s("div",{staticClass:"row my-5 py-1"},[s("div",{staticClass:"col-xs-12"},[s("activity-indicator",{attrs:{size:"sm",center:"",width:"100%"}})],1)])])},C=[],w=(s("7a4d"),s("611e"),s("6123"),s("eb94")),k=s("886b"),x=s("1698"),S=s("859b"),$=s("ecee");$["c"].add(w["faPaypal"],k["faApplePay"],x["faCheckCircle"],S["faGoogleWallet"]);var P={components:{Icon:v["a"],Btn:()=>Promise.all([s.e(0),s.e(1),s.e(12)]).then(s.bind(null,"9719")),Alert:()=>Promise.all([s.e(0),s.e(1),s.e(12)]).then(s.bind(null,"3259")),ActivityIndicator:()=>Promise.all([s.e(0),s.e(1),s.e(12)]).then(s.bind(null,"a633"))},props:{page:{type:Object,required:!0},pageType:{type:Object,required:!0},form:{type:Object,required:!0},errors:{type:Object,required:!0},gateway:{type:Object,required:!0}}},T={name:"StripeCreditCard",mixins:[P],data(){return{error:null,loaded:!1,activity:!1}},mounted(){const t=g(this.gateway);this.pageType.disableSubmitButton(),t.script(e=>{try{this.$card=t.card({hidePostalCode:this.hidePostalCode,value:{postalCode:this.form.zip}})}catch(s){this.pageType.$emit("error",s)}this.$card.addEventListener("change",e=>{this.errors.token=e.error?[e.error.message]:null,e.complete&&t.createToken(this.$card,{name:`${this.form.first} ${this.form.last}`.trim(),address_line1:this.form.street,address_line2:this.form.addr2,address_city:this.form.city,address_state:this.form.state,address_zip:this.form.zip,address_country:"US",currency:"usd"}).then(t=>{t.error?this.error=t.error.message:(this.form.token=t.token.id,this.pageType.enableSubmitButton())})}),this.loaded=!0,this.$nextTick(()=>this.$card.mount(this.$refs.input))})}},B=T,j=s("2877"),I=Object(j["a"])(B,_,C,!1,null,null,null),A=I.exports,O=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[!t.loaded||t.submitting?s("div",{staticClass:"row my-5 py-1"},[s("div",{staticClass:"col-xs-12"},[s("activity-indicator",{attrs:{size:"sm",center:!0}})],1)]):s("div",[t.error?s("alert",{staticClass:"d-flex align-items-center",attrs:{variant:"danger"}},[s("icon",{staticClass:"mr-2",attrs:{icon:"exclamation-triangle",size:"2x"}}),s("div",{domProps:{innerHTML:t._s(t.error)}})],1):t.form.payerId&&t.form.paymentId?s("alert",{staticClass:"d-flex align-items-center",attrs:{variant:"success"}},[s("icon",{staticClass:"mr-2",attrs:{icon:["far","check-circle"],size:"2x"}}),s("div",[t._v("Your PayPal payment information has been collected and is ready to be processed. "),s("a",{attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.removePaymentInfo(e)}}},[t._v("Cancel Payment")])])],1):t._e()],1),s("div",{staticClass:"paypal-payment-button mt-2 mb-4",class:{disabled:t.disabled,"d-none":t.submitting}})])},q=[];function E(t){this.actions&&t?this.actions.disable():this.actions&&!t&&this.actions.enable()}var z={name:"PaypalPaymentButton",mixins:[P],data(){return{button:null,actions:null,loaded:!1,submitting:!1,disabled:!this.form.amount}},computed:{error:function(){const t=[];return this.errors.payerId&&t.push(this.errors.payerId.join("<b>")),this.errors.paymentId&&t.push(this.errors.paymentId.join("<b>")),!!t.length&&t.join("<br>")}},watch:{"form.recurring":function(t){this.disabled=
/*! !value || */
!this.form.amount},"form.amount":function(t){this.disabled=!(this.button.amount=t)},"form.paymentId":function(t){E.call(this,this.hasPaymentInfo())},"form.payerId":function(t){E.call(this,this.hasPaymentInfo())},disabled:function(t){E.call(this,!!t||this.hasPaymentInfo())}},updated(){this.shouldMountButton()&&(this.button=g(this.gateway).button(".paypal-payment-button",this))},beforeCreate(){},mounted(){this.pageType.hideSubmitButton(),g(this.gateway).script(t=>{this.loaded=!0})},methods:{hasError(){return this.errors.payerId||this.errors.paymentId},hasPaymentInfo(){return!!this.form.amount&&(1===this.form.recurring||!(!this.form.payerId||!this.form.paymentId))},removePaymentInfo(t){this.enable(),this.$set(this.form,"payerId",null),this.$set(this.form,"paymentId",null),this.$set(this.errors,"payerId",null),this.$set(this.errors,"paymentId",null)},shouldMountButton(){return this.$el.querySelector(".paypal-payment-button")&&!this.$el.querySelector(".paypal-payment-button iframe")},onSubmitError(){this.disabled=!this.form.amount},onSubmitSuccess(t){t.get("recur")&&(window.location=t.get("meta").redirect_url)},onPaypalValidate(t){return this.actions=t,this.enable=t.enable,this.disable=t.disable,this.form.amount?t.enable():t.disable(),!!this.form.amount},onPaypalClick(){this.hasPaymentInfo()&&(this.disabled=!0,this.pageType.submit().then(this.pageType.onSubmitSuccess,this.pageType.onSubmitError).then(this.onSubmitSuccess,this.onSubmitError))},onPaypalAuthorize(t){this.hasPaymentInfo()||(this.$set(this.form,"payerId",t.payerID),this.$set(this.form,"paymentId",t.paymentID),this.pageType.submit().then(this.pageType.onSubmitSuccess,this.pageType.onSubmitError).then(this.onSubmitSuccess,this.onSubmitError))}}},M=z,D=(s("ed48"),Object(j["a"])(M,O,q,!1,null,null,null)),R=D.exports,L=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[t.error?s("alert",{staticClass:"d-flex align-items-center",attrs:{variant:"danger"}},[s("icon",{staticClass:"mr-3",attrs:{icon:"exclamation-triangle",size:"2x"}}),s("div",{domProps:{innerHTML:t._s(t.error.message)}})],1):s("div",[t.card?s("div",{staticClass:"my-3"},[s("div",{staticClass:"row"},[s("div",{staticClass:"col-xs-2"},[s("div",{staticClass:"mr-6"},["Visa"===t.card.brand?s("icon",{attrs:{icon:["fab","cc-visa"],scale:"3.5"}}):"MasterCard"===t.card.brand?s("icon",{attrs:{icon:["fab","cc-mastercard"],scale:"3.5"}}):"American Express"===t.card.brand?s("icon",{attrs:{icon:["fab","cc-amex"],scale:"3.5"}}):"Discover"===t.card.brand?s("icon",{attrs:{icon:["fab","cc-discover"],scale:"3.5"}}):"JCB"===t.card.brand?s("icon",{attrs:{icon:["fab","cc-jcb"],scale:"3.5"}}):"Diners Club"===t.card.brand?s("icon",{attrs:{icon:["fab","cc-diners-club"],scale:"3.5"}}):s("icon",{attrs:{icon:["far","credit-card"],scale:"3.5"}})],1)]),s("div",{staticClass:"col-xs-10"},[s("div",{staticClass:"pl-2"},[s("btn",{staticClass:"float-right",attrs:{type:"button",variant:"warning",disabled:t.submitting},on:{click:function(e){return t.changeCard(e)}}},[t._v(" Change Card ")]),t.card.name?s("span",[t._v(t._s(t.card.name)),s("br")]):t._e(),s("small",[t._v("****"+t._s(t.card.last4)+" "),s("span",{staticClass:"pl-2"},[t._v(t._s(t.card.exp_month)+"/"+t._s(t.card.exp_year))])])],1)])])]):t._e(),!t.loaded||t.submitting?s("div",{staticClass:"row my-5 py-1"},[s("div",{staticClass:"col-xs-12"})]):s("div",[s("div",{staticClass:"stripe-payment-button mt-2 mb-4"})])])],1)},F=[],G={name:"StripePaymentButton",mixins:[P],data(){return{card:!1,error:!1,loaded:!1,submitting:!1,changingCard:!1}},updated(){if(this.loaded&&!this.submitting&&!this.error)try{this.$paymentRequestButton.mount(this.$el.querySelector(".stripe-payment-button"))}catch(t){this.card=!1,this.error=t,this.form.token=null}},beforeCreate(){this.pageType.$on("submit",this.onSubmit),this.pageType.$on("submit-complete",this.onSubmitComplete)},beforeDestroy(){this.pageType.$off("submit",this.onSubmit),this.pageType.$off("submit-complete",this.onSubmitComplete)},mounted(){const t=g(this.gateway);this.pageType.hideSubmitButton(),t.script(e=>{this.$paymentRequest=t.paymentRequest(this.form.amount,this.getPaymentLabel()),this.$paymentRequestButton=t.paymentRequestButton(this.$paymentRequest),this.$paymentRequestButton.on("click",t=>{this.form.token&&this.pageType.submit(this.pageType.onSubmitSuccess,this.pageType.onSubmitError)}),this.$paymentRequest.on("cancel",t=>{this.changingCard?this.changingCard=!1:(this.card=!1,this.form.token=null)}),this.$paymentRequest.on("token",t=>{t.complete("success"),this.card=t.token.card,this.form.token=t.token.id,this.changingCard?this.changingCard=!1:this.pageType.submit(this.pageType.onSubmitSuccess,this.pageType.onSubmitError)}),this.$paymentRequest.canMakePayment().then(t=>{this.loaded=!0})})},methods:{changeCard:function(t){this.changingCard=!0,this.$paymentRequest.show()},getPaymentLabel:function(){return"Donation to "+this.page.site.name},onSubmit(){this.submitting=!0},onSubmitComplete(){this.submitting=!1}}},H=G,N=Object(j["a"])(H,L,F,!1,null,null,null),V=N.exports,Y=function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.loaded?s("div",{staticClass:"form-group"},[t.gateway.options.login_id&&t.gateway.options.public_key?s("credit-card-field",{attrs:{activity:t.activity,error:t.error||t.errors.token},on:{change:t.onChange,valid:t.onValid}}):s("alert",{staticClass:"d-flex align-items-center",attrs:{variant:"danger"}},[s("icon",{staticClass:"mr-2",attrs:{icon:"exclamation-triangle",size:"2x"}}),s("h6",{staticClass:"font-weight-light my-0"},[t._v(" This account has NOT been configured for the new Giveworks Forms."),s("br"),s("b",[t._v("Reason:")]),t._v(" "),t.gateway.options.login_id?t._e():[t._v(" The "),s("em",[t._v("login_id")]),t._v(" is missing. ")],t._v(" "),t.gateway.options.public_key?t._e():[t._v(" The "),s("em",[t._v("public_key")]),t._v(" is missing. ")]],2)],1)],1):s("div",{staticClass:"row my-5 py-1"},[s("div",{staticClass:"col-xs-12"},[s("activity-indicator",{attrs:{size:"sm",center:!0}})],1)])},U=[];const J=Object(u["p"])(t=>{t()},1e3);var K={name:"AuthorizeNetCreditCard",components:{Alert:()=>Promise.all([s.e(0),s.e(1),s.e(12)]).then(s.bind(null,"3259")),CreditCardField:()=>Promise.all([s.e(1),s.e(11)]).then(s.bind(null,"6468"))},mixins:[P],data(){return{error:!1,loaded:!1,activity:!1}},mounted(){this.pageType.disableSubmitButton(),g(this.gateway).script(t=>{this.loaded=!0})},methods:{onChange:function(t){t&&t.complete||this.pageType.disableSubmitButton()},onValid:function(t){J(()=>{this.activity=!0,g(this.gateway).createToken({cardNumber:t.card.number,month:t.card.expMonth,year:t.card.expYear,cardCode:t.card.cvc},t=>{J(()=>{this.activity=!1,"Ok"===t.messages.resultCode?(this.$set(this.form,"token",t.opaqueData.dataValue),this.$set(this.form,"tokenDescriptor",t.opaqueData.dataDescriptor),this.pageType.enableSubmitButton()):"Error"===t.messages.resultCode&&(this.error=t.messages.message[0].text,this.pageType.disableSubmitButton())})})})}}},W=K,Q=Object(j["a"])(W,Y,U,!1,null,null,null),X=Q.exports,Z={name:"PaymentGateways",components:{Icon:v["a"],StripeCreditCard:A,StripePaymentButton:V,PaypalPaymentButton:R,AuthorizeNetCreditCard:X,Btn:()=>Promise.all([s.e(0),s.e(1),s.e(12)]).then(s.bind(null,"9719")),Alert:()=>Promise.all([s.e(0),s.e(1),s.e(12)]).then(s.bind(null,"3259"))},mixins:[f["a"]],props:{pageType:{type:Object,required:!0}},data(){return{width:null,gateway:null,buttons:this.getButtons()}},computed:{activeButton(){return this.buttons.filter(t=>t.active).pop()},classes(){return{"col-sm-6":this.width<310,"col-sm-6 col-lg-4":this.width>=310}}},mounted(){this.buttons&&this.buttons[0]&&this.activate(this.buttons[0]),window.addEventListener("resize",this.onResize())},destroyed(){window.removeEventListener("resize",this.onResize)},methods:{activate(t){this.deactivate(),t.active=!0,this.$set(this.form,"gateway",g(t.gateway).api())},deactivate(){this.buttons.forEach(t=>{t.active=!1})},getButtons:function(){const t=[];return this.page.site.gateways.forEach(e=>{if(!g(e).buttons)throw new Error(g(e).api()+" doesn't have a required buttons() method.");g(e).buttons().forEach(s=>{s.active=!1,s.gateway=e,t.push(s)})}),t},onResize(t){return this.width=this.$el.offsetWidth,this.onResize}}},tt=Z,et=Object(j["a"])(tt,r,o,!1,null,null,null),st=et.exports,it=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("fieldset",[t.legends?s("h3",{class:{"mb-0":t.hasMinimumAmount}},[t._v(" Donation amount ")]):t._e(),t.hasMinimumAmount?s("div",{staticClass:"mb-2"},[s("small",{staticClass:"text-muted"},[t._v("Minimum accepted amount is $"+t._s(t.page.options.min_amount))])]):t._e(),s("payment-buttons",{directives:[{name:"query",rawName:"v-query"}],attrs:{name:"amount",value:t.form.amount,amounts:t.amounts,errors:t.errors,page:t.page},model:{value:t.form.amount,callback:function(e){t.$set(t.form,"amount",e)},expression:"form.amount"}}),t.page.site.recurring&&!t.page.options.recurring_only?s("div",{staticClass:"form-group mt-3"},[s("label",{domProps:{innerHTML:t._s(t.recurringMessage)}}),s("toggle-button",{attrs:{size:"lg"},model:{value:t.form.recurring,callback:function(e){t.$set(t.form,"recurring",t._n(e))},expression:"form.recurring"}}),t.form.recurring?s("small",{staticClass:"text-muted form-text"},[t._v("This amount will be charged automatically once each month, on or about the "+t._s(t.chargeDate)+". You may cancel your donation at any time by contacting us.")]):s("small",{staticClass:"text-muted form-text"},[t._v("You are making a single donation of the amount entered above. Click the 'monthly' button to make your gift go further as an automatic monthly donation.")])],1):t.page.site.recurring&&t.page.options.recurring_only?s("alert",{staticClass:"mt-3",attrs:{variant:"warning"}},[s("alert-heading",{staticClass:"h3 d-flex align-items-center"},[s("icon",{staticClass:"mr-3",attrs:{icon:"exclamation-triangle"}}),t._v(" Monthly Donation ")],1),t.page.options.recur_message?s("p",{staticClass:"font-weight-light",domProps:{innerHTML:t._s(t.page.options.recur_message)}}):s("p",[t._v(" Please note that this will be a monthly recurring donation. The amount you select will be charged automatically once each month on or about "),s("em",[t._v(t._s(t.chargeDate))]),t._v(". You may cancel your donation at any time by contacting us. ")])],1):t._e()],1)},at=[],nt=s("b4ea"),rt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("btn-group",{staticClass:"toggle-button",attrs:{size:t.size}},[t._l(t.buttons,(function(e,i){return s("btn",{key:i,ref:"buttons",refInFor:!0,attrs:{outline:i!==t.value.toString(),variant:i===t.value.toString()?"success":"secondary",type:"button"},domProps:{innerHTML:t._s(e)},on:{click:function(e){return t.$emit("input",i)}}})})),t._t("default")],2)},ot=[],ct=s("0ab3"),lt={name:"ToggleButton",components:{Btn:()=>Promise.all([s.e(0),s.e(1),s.e(12)]).then(s.bind(null,"9719")),BtnGroup:()=>Promise.all([s.e(0),s.e(1),s.e(12)]).then(s.bind(null,"25bb"))},mixins:[ct["a"]],inheritAttrs:!1,props:{value:{type:[String,Number],default:0},buttons:{type:Object,default(){return{0:"One-Time",1:"Monthly Gift"}}}},mounted(){this.$refs.buttons&&this.$refs.buttons.map((t,e)=>{t.$el.classList.contains("btn-success")&&this.$emit("input",Object.keys(this.buttons).find(e=>this.buttons[e]===t.$el.innerHTML))})}},ut=lt,mt=Object(j["a"])(ut,rt,ot,!1,null,null,null),pt=mt.exports,dt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"payment-buttons",class:{"was-validated":!!t.errors.amount}},[s("div",{staticClass:"payment-buttons-grid mb-2"},t._l(t.amounts,(function(e){return s("btn",{key:e,attrs:{type:"button",outline:"",variant:"success",active:!!t.value&&t.value.toString()===e.toString()},domProps:{innerHTML:t._s("$"+e)},on:{click:function(s){return t.onClickButton(e)}}})})),1),s("input-group",{class:{"is-invalid":!!t.errors.amount,"mb-3":!t.page.site.recurring},attrs:{prepend:"$"}},[s("input-field",{ref:"custom",attrs:{custom:"",label:"Other Amount",placeholder:"Other Amount",group:!1},on:{input:t.onInput}})],1),t.errors.amount?s("form-feedback",{staticClass:"d-block",attrs:{invalid:""},domProps:{innerHTML:t._s(t.errors.amount.join("<br>"))}}):t._e()],1)},ht=[],bt={name:"PaymentButtons",components:{Btn:()=>Promise.all([s.e(0),s.e(1),s.e(12)]).then(s.bind(null,"9719")),InputField:()=>Promise.all([s.e(0),s.e(1),s.e(12)]).then(s.bind(null,"46d8")),InputGroup:()=>Promise.all([s.e(0),s.e(1),s.e(12)]).then(s.bind(null,"3588")),FormFeedback:()=>Promise.all([s.e(0),s.e(1),s.e(12)]).then(s.bind(null,"a892"))},mixins:[ct["a"]],props:{page:{type:Object,required:!0},amounts:{type:Array,required:!0}},methods:{onInput(t){this.$emit("input",parseInt(t))},onClickButton(t){this.$emit("input",parseFloat(this.value)!==(t=parseFloat(t))?t:null)},onKeyDown(t){(t.keyCode<48||t.keyCode>57&&190!==t.keyCode)&&!t.metaKey&&1===t.key.length&&t.preventDefault()}}},yt=bt,gt=Object(j["a"])(yt,dt,ht,!1,null,null,null),ft=gt.exports,vt={name:"SelectDonationFieldset",components:{Icon:v["a"],ToggleButton:pt,PaymentButtons:ft,Alert:()=>Promise.all([s.e(0),s.e(1),s.e(12)]).then(s.bind(null,"3259")),AlertHeading:()=>Promise.all([s.e(0),s.e(1),s.e(12)]).then(s.bind(null,"426a"))},directives:{Query:nt["a"]},mixins:[f["a"]],props:{legends:{type:Boolean,default:!0}},computed:{recurringMessage(){return this.page.options.recur_mess||this.page.site.config.giveworks.recur_mess},chargeDate(){const t=new Date;return[t.getMonth()+1,t.getDate(),t.getFullYear()].join("/")},hasMinimumAmount(){return this.page.options.min_amount&&(parseFloat(this.page.options.min_amount)||0)>0},amounts(){const t=this.page.options.amounts?this.page.options.amounts.split(","):this.page.site.config.giveworks.ask_amounts;return t.filter(t=>t>=(parseFloat(this.page.options.min_amount)||0))}}},_t=vt,Ct=Object(j["a"])(_t,it,at,!1,null,null,null),wt=Ct.exports,kt={name:"PageTypeDonation",components:{PaymentGateways:st,SelectDonationFieldset:wt,BtnActivity:()=>Promise.all([s.e(0),s.e(1),s.e(12)]).then(s.bind(null,"9863")),TextareaField:()=>Promise.all([s.e(0),s.e(1),s.e(12)]).then(s.bind(null,"31e0")),ContactInfoFieldset:()=>s.e(3).then(s.bind(null,"e3c2")),EmploymentInfoFieldset:()=>s.e(5).then(s.bind(null,"33e3"))},extends:n["a"]},xt=kt,St=Object(j["a"])(xt,i,a,!1,null,null,null);e["default"]=St.exports},b236:function(t,e,s){"use strict";var i=s("ca14");const a=["submit","redirect","submit-enable","submit-disable","submit-show","submit-hide"];e["a"]={directives:{bindEvents:{bind(t,e,s){const n=s.context,r=s.child||s.context;for(const o in a)r.$on(a[o],(...t)=>{const e=Object(i["a"])("on-"+a[o]);r!==n&&n.$emit(a[o],...t),n[e]&&n[e](...t)})}}}}},b4ea:function(t,e,s){"use strict";function i(t){return-1!==["input","textarea","select"].indexOf(t.tagName)?t:Array.from(t.querySelectorAll("input, textarea, select")).reverse().pop()}e["a"]={inserted(t,e,s){const a=i(t),n=new URLSearchParams(location.search),r=e.value||a&&a.getAttribute("name"),o=n.get(r);a&&!a.value&&o&&(s.componentInstance?s.componentInstance.$emit("input",o):s.elm.value=o)}}},b791:function(t,e,s){"use strict";var i=s("850f"),a=s("b236"),n=s("ca14");e["a"]={props:{source:[String,Number],trackingId:[String,Number],redirect:{type:[Boolean,String],default:void 0},httpOptions:Object,page:{type:Object,required:!0}},mixins:[a["a"]],computed:{buttonLabel(){return this.page.options.button},shouldShowEmployment(){return"donation"===this.page.special&&("PAC"===this.page.site.type||"Campaign"===this.page.site.type)}},methods:{submitButton(){return this.$refs.submit?this.$refs.submit.$el:this.$el.querySelector("[type=submit]")},hideSubmitButton(){this.submitButton().style.display="none"},showSubmitButton(){this.submitButton().style.display="block"},disableSubmitButton(){this.submitButton().disabled=!0},enableSubmitButton(){this.submitButton().disabled=!1},handleRedirect(t,e){setTimeout(()=>{!t&&this.page.next_page&&(t=this.page.next_page.url.replace(/\/$/,"")+(this.form.source?"/"+this.form.source:"")),t&&(window.location=t+(e&&(t.match(/\?/)?"&":"?")+"sessionid="+e))})},submit(t,e){return this.$el.querySelector(":focus")&&this.$el.querySelector(":focus").blur(),new Promise((s,i)=>{this.submitting?i(new Error("The form is already submitting")):(this.errors={},this.submitting=!0,this.$emit("submit"),this.model.save(this.form,Object.assign({method:"post"},this.httpOptions)).then(e=>{this.submitting=!1,this.$emit("submit-complete",!0,e),this.$emit("submit-success",e),Object(n["i"])(t)&&t(e),s(e)},t=>{this.submitting=!1,this.errors=t.data.errors,this.$emit("submit-complete",!1,t),this.$emit("submit-failed",t),Object(n["i"])(e)&&e(t),i(t)}))})},onSubmitSuccess(t){const e=this.redirect||this.page.external_reply||this.page.next_page&&this.page.next_page.url;!1!==this.redirect&&e&&this.handleRedirect(e,t.get("sessionid"))},onSubmitError(t){throw t}},mounted(){this.loaded=!0,this.$nextTick(()=>this.$emit("init"))},data(){const t=this.page.site.recurring&&this.page.options.recurring_only?1:0;return{form:{recurring:t,source:this.source,tracking_id:this.trackingId},errors:{},loaded:!1,submitting:!1,model:new i["a"]({id:this.page.id})}}}},bb4b:function(t,e,s){"use strict";var i=s("b236");e["a"]={props:{page:{type:Object,required:!0},form:{type:Object},errors:{type:[Boolean,Object],required:!0}},mixins:[i["a"]],computed:{commentMessage(){return this.page.options.comment_message||this.page.site.config.giveworks.comment_mess},optinMessage(){return this.page.options.optin_message||this.page.site.config.giveworks.optin_mess},buttonLabel(){return this.page.options.button}}}},bc63:function(t,e,s){},ed48:function(t,e,s){"use strict";s("bc63")}}]);
//# sourceMappingURL=GiveworksForm.umd.min.donation-type.js.map