{"version":3,"sources":["assets/js/automatewoo-presubmit.js"],"names":["jQuery","$","automatewoo_presubmit_params","capture_email_xhr","params","guest_id","parseInt","email","$checkout_form","email_fields","email_capture_selectors","checkout_fields","checkout_capture_selectors","checkout_fields_data","language","captureCheckoutField","field_name","this","attr","field_value","val","indexOf","post","ajax_url","toString","replace","getCheckoutFieldValues","fields","each","i","document","on","join","data","abort","response","success"],"mappings":"AAAAA,QAAO,SAASC,GAEZ,GAA6C,oBAAjCC,6BACR,OAAO,EAGX,IASIC,EATAC,EAASF,6BAETG,EAAWC,SAAUF,EAAOC,UAC5BE,EAAQ,GACRC,EAAiBP,EAAG,iBACpBQ,EAAeL,EAAOM,wBACtBC,EAAkBP,EAAOQ,2BACzBC,EAAuB,GACvBC,EAAWV,EAAOU,SA+BtB,SAASC,IACL,IAAIC,EAAaf,EAAEgB,MAAMC,KAAM,QAC3BC,EAAclB,EAAEgB,MAAMG,MAEnBJ,IAAyD,IAA3CL,EAAgBU,QAASL,IAKvCG,GAAeN,EAAqBG,KAAgBG,IAI3DN,EAAqBG,GAAcG,EAE9Bd,GACDJ,EAAEqB,KAAMlB,EAAOmB,SAASC,WAAWC,QAAS,eAAgB,0BAA4B,CACpFpB,SAAUA,EACVW,WAAYA,EACZG,YAAaA,KAUzB,SAASO,IACL,IAAIC,EAAS,GAMb,OAJA1B,EAAE2B,KAAMjB,GAAiB,SAAUkB,EAAGb,GAClCW,EAAOX,GAAcf,EAAE,oCAAoCe,EAAW,MAAMI,SAGzEO,EAhEX1B,EAAE2B,KAAMjB,GAAiB,SAAUkB,EAAGb,GAClCH,EAAqBG,GAAc,MAmEvCf,EAAE6B,UAAUC,GAAI,cAAetB,EAAauB,KAAK,OAhEjD,WACI,GAAO/B,EAAEgB,MAAMG,OAASb,IAAUN,EAAEgB,MAAMG,MAA1C,CAMA,IAAIa,EAAO,CACP1B,MAHJA,EAAQN,EAAEgB,MAAMG,MAIZN,SAAUA,EACVH,gBAAiBe,KAGhBvB,GACDA,EAAkB+B,QAGtB/B,EAAoBF,EAAEqB,KAAMlB,EAAOmB,SAASC,WAAWC,QAAS,eAAgB,iBAAmBQ,GAAM,SAAUE,GAC1GA,GAAYA,EAASC,UACtB/B,EAAW8B,EAASF,KAAK5B,iBA8CrCG,EAAeuB,GAAI,SAAU,SAAUhB,GACvCP,EAAeuB,GAAI,cAAe,cAAehB","file":"automatewoo-presubmit.min.js","sourcesContent":["jQuery(function($) {\n\n if ( typeof automatewoo_presubmit_params === 'undefined' ) {\n return false;\n }\n\n var params = automatewoo_presubmit_params;\n\n var guest_id = parseInt( params.guest_id );\n var email = '';\n var $checkout_form = $( 'form.checkout' );\n var email_fields = params.email_capture_selectors;\n var checkout_fields = params.checkout_capture_selectors;\n var checkout_fields_data = {};\n var language = params.language;\n var capture_email_xhr;\n\n $.each( checkout_fields, function( i, field_name ) {\n checkout_fields_data[field_name] = '';\n });\n\n function captureEmail() {\n if ( ! $(this).val() || email === $(this).val() ) {\n return;\n }\n\n email = $(this).val();\n\n var data = {\n email: email,\n language: language,\n checkout_fields: getCheckoutFieldValues()\n };\n\n if ( capture_email_xhr ) {\n capture_email_xhr.abort();\n }\n\n capture_email_xhr = $.post( params.ajax_url.toString().replace( '%%endpoint%%', 'capture_email' ), data, function( response ) {\n if ( response && response.success ) {\n guest_id = response.data.guest_id;\n }\n });\n }\n\n function captureCheckoutField() {\n var field_name = $(this).attr( 'name' );\n var field_value = $(this).val();\n\n if ( ! field_name || checkout_fields.indexOf( field_name ) === -1 ) {\n return;\n }\n\n // Don't capture if the field is empty or hasn't changed\n if ( ! field_value || checkout_fields_data[field_name] === field_value ) {\n return;\n }\n\n checkout_fields_data[field_name] = field_value;\n\n if ( guest_id ) {\n $.post( params.ajax_url.toString().replace( '%%endpoint%%', 'capture_checkout_field' ), {\n guest_id: guest_id,\n field_name: field_name,\n field_value: field_value\n });\n }\n }\n\n /**\n * Get the current values for checkout fields.\n *\n * @return object\n */\n function getCheckoutFieldValues() {\n var fields = {};\n\n $.each( checkout_fields, function( i, field_name ) {\n fields[field_name] = $('form.woocommerce-checkout [name=\"'+field_name+'\"]').val();\n });\n\n return fields;\n }\n\n\n $(document).on( 'blur change', email_fields.join(', '), captureEmail );\n $checkout_form.on( 'change', 'select', captureCheckoutField );\n $checkout_form.on( 'blur change', '.input-text', captureCheckoutField );\n\n});\n"]}