{"version":3,"file":"automatewoo-presubmit.min.js","mappings":"2BAAAA,QAAQ,SAAWC,GAElB,GAA6C,oBAAjCC,6BACX,OAAO,EAIR,MAAMC,EAASD,6BAEf,IAAIE,EAAUC,SAAUF,EAAOG,SAAU,IACrCC,EAAQ,GACZ,MAAMC,EAAgBP,EAAG,iBACnBQ,EAAcN,EAAOO,wBACrBC,EAAiBR,EAAOS,2BACxBC,EAAqB,CAAC,EACtBC,EAAWX,EAAOW,SACxB,IAAIC,EAoCJ,SAASC,IACR,MAAMC,EAAYhB,EAAGiB,MAAOC,KAAM,QAClC,IAAOF,IAAsD,IAAzCN,EAAeS,QAASH,GAC3C,OAGD,MAAMI,EAAapB,EAAGiB,MAAOI,MAEtBD,GAAcR,EAAoBI,KAAgBI,IAIzDR,EAAoBI,GAAcI,EAE7BjB,GACJH,EAAEsB,KACDpB,EAAOqB,SACLC,WACAC,QAAS,eAAgB,0BAC3B,CACCpB,SAAUF,EACVuB,WAAYV,EACZW,YAAaP,IAIjB,CAOA,SAASQ,IACR,MAAMC,EAAS,CAAC,EAQhB,OANA7B,EAAE8B,KAAMpB,GAAgB,SAAWqB,EAAGf,GACrCa,EAAQb,GAAchB,EACrB,oCAAsCgB,EAAY,MACjDK,KACH,IAEOQ,CACR,CA7EA7B,EAAE8B,KAAMpB,GAAgB,SAAWqB,EAAGf,GACrCJ,EAAoBI,GAAc,EACnC,IA6EAhB,EAAGgC,UAAWC,GAAI,cAAezB,EAAY0B,KAAM,OA3EnD,WACC,IAAOlC,EAAGiB,MAAOI,OAASf,IAAUN,EAAGiB,MAAOI,MAC7C,OAGDf,EAAQN,EAAGiB,MAAOI,MAElB,MAAMc,EAAO,CACZ7B,QACAO,WACAuB,gBAAiBR,KAGbd,GACJA,EAAgBuB,QAGjBvB,EAAkBd,EAAEsB,KACnBpB,EAAOqB,SACLC,WACAC,QAAS,eAAgB,iBAC3BU,GACA,SAAWG,GACLA,GAAYA,EAASC,UACzBpC,EAAUmC,EAASH,KAAK9B,SAE1B,GAEF,IAgDAE,EAAc0B,GAAI,SAAU,SAAUlB,GACtCR,EAAc0B,GAAI,cAAe,cAAelB,EACjD","sources":["webpack://automatewoo/./assets/js/automatewoo-presubmit.js"],"sourcesContent":["jQuery( function ( $ ) {\n\t// eslint-disable-next-line camelcase -- Legacy global.\n\tif ( typeof automatewoo_presubmit_params === 'undefined' ) {\n\t\treturn false;\n\t}\n\n\t// eslint-disable-next-line camelcase, no-undef -- Legacy global.\n\tconst params = automatewoo_presubmit_params;\n\n\tlet guestId = parseInt( params.guest_id, 10 );\n\tlet email = '';\n\tconst $checkoutForm = $( 'form.checkout' );\n\tconst emailFields = params.email_capture_selectors;\n\tconst checkoutFields = params.checkout_capture_selectors;\n\tconst checkoutFieldsData = {};\n\tconst language = params.language;\n\tlet captureEmailXhr;\n\n\t$.each( checkoutFields, function ( i, fieldName ) {\n\t\tcheckoutFieldsData[ fieldName ] = '';\n\t} );\n\n\tfunction captureEmail() {\n\t\tif ( ! $( this ).val() || email === $( this ).val() ) {\n\t\t\treturn;\n\t\t}\n\n\t\temail = $( this ).val();\n\n\t\tconst data = {\n\t\t\temail,\n\t\t\tlanguage,\n\t\t\tcheckout_fields: getCheckoutFieldValues(),\n\t\t};\n\n\t\tif ( captureEmailXhr ) {\n\t\t\tcaptureEmailXhr.abort();\n\t\t}\n\n\t\tcaptureEmailXhr = $.post(\n\t\t\tparams.ajax_url\n\t\t\t\t.toString()\n\t\t\t\t.replace( '%%endpoint%%', 'capture_email' ),\n\t\t\tdata,\n\t\t\tfunction ( response ) {\n\t\t\t\tif ( response && response.success ) {\n\t\t\t\t\tguestId = response.data.guest_id;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction captureCheckoutField() {\n\t\tconst fieldName = $( this ).attr( 'name' );\n\t\tif ( ! fieldName || checkoutFields.indexOf( fieldName ) === -1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldValue = $( this ).val();\n\t\t// Don't capture if the field is empty or hasn't changed\n\t\tif ( ! fieldValue || checkoutFieldsData[ fieldName ] === fieldValue ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcheckoutFieldsData[ fieldName ] = fieldValue;\n\n\t\tif ( guestId ) {\n\t\t\t$.post(\n\t\t\t\tparams.ajax_url\n\t\t\t\t\t.toString()\n\t\t\t\t\t.replace( '%%endpoint%%', 'capture_checkout_field' ),\n\t\t\t\t{\n\t\t\t\t\tguest_id: guestId,\n\t\t\t\t\tfield_name: fieldName,\n\t\t\t\t\tfield_value: fieldValue,\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Get the current values for checkout fields.\n\t *\n\t * @return {Object} Checkout fields.\n\t */\n\tfunction getCheckoutFieldValues() {\n\t\tconst fields = {};\n\n\t\t$.each( checkoutFields, function ( i, fieldName ) {\n\t\t\tfields[ fieldName ] = $(\n\t\t\t\t'form.woocommerce-checkout [name=\"' + fieldName + '\"]'\n\t\t\t).val();\n\t\t} );\n\n\t\treturn fields;\n\t}\n\n\t$( document ).on( 'blur change', emailFields.join( ', ' ), captureEmail );\n\t$checkoutForm.on( 'change', 'select', captureCheckoutField );\n\t$checkoutForm.on( 'blur change', '.input-text', captureCheckoutField );\n} );\n"],"names":["jQuery","$","automatewoo_presubmit_params","params","guestId","parseInt","guest_id","email","$checkoutForm","emailFields","email_capture_selectors","checkoutFields","checkout_capture_selectors","checkoutFieldsData","language","captureEmailXhr","captureCheckoutField","fieldName","this","attr","indexOf","fieldValue","val","post","ajax_url","toString","replace","field_name","field_value","getCheckoutFieldValues","fields","each","i","document","on","join","data","checkout_fields","abort","response","success"],"sourceRoot":""}