{"version":3,"file":"ctct-plugin-frontend.min.js","mappings":"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","sources":["webpack://constant-contact-forms/./assets/js/ctct-plugin-frontend/util.js","webpack://constant-contact-forms/./assets/js/ctct-plugin-frontend/validation.js","webpack://constant-contact-forms/webpack/bootstrap","webpack://constant-contact-forms/webpack/runtime/compat get default export","webpack://constant-contact-forms/webpack/runtime/define property getters","webpack://constant-contact-forms/webpack/runtime/hasOwnProperty shorthand"],"sourcesContent":["/**\n * General-purpose utility stuff for CC plugin.\n */\n( function( global, $ ) {\n\n\t/**\n\t * Temporarily prevent the submit button from being clicked.\n\t */\n\t$( document ).ready( () => {\n\n\t\t$( '.ctct-submitted' ).on( 'click', () => {\n\t\t\tsetTimeout( () => {\n\t\t\t\tdisableSendButton();\n\t\t\t\tsetTimeout( enableSendButton, 3000 );\n\t\t\t}, 100 );\n\t\t} );\n\t} );\n\n\t/**\n\t * Disable form submit button.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @return {mixed} jQuery if attribute is set, undefined if not.\n\t */\n\tfunction disableSendButton() {\n\t\treturn $( '.ctct-submitted' ).attr( 'disabled', 'disabled' );\n\t}\n\n\t/**\n\t * Re-enable form submit buttons.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @return {mixed} jQuery if attribute is set, undefined if not.\n\t */\n\tfunction enableSendButton() {\n\t\treturn $( '.ctct-submitted' ).attr( 'disabled', null );\n\t}\n\n} ( window, jQuery ) );\n","/**\n * Front-end form validation.\n *\n * @since 1.0.0\n */\n\n window.CTCTSupport = {};\n\n( function( window, $, app ) {\n\n\t/**\n\t * @constructor\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.init = () => {\n\t\tapp.cache();\n\t\tapp.bindEvents();\n\t\tapp.removePlaceholder();\n\t};\n\n\t/**\n\t * Remove placeholder text values.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.removePlaceholder = () => {\n\t\t$( '.ctct-form-field input, textarea' ).focus( () => {\n\t\t\t$( this ).data( 'placeholder', $( this ).attr( 'placeholder' ) ).attr( 'placeholder', '' );\n\t\t} ).blur( () => {\n\t\t\t$( this ).attr( 'placeholder', $( this ).data( 'placeholder' ) );\n\t\t} );\n\t};\n\n\t/**\n\t * Cache DOM elements.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.cache = () => {\n\n\t\tapp.$c = {\n\t\t\t$forms: []\n\t\t};\n\n\t\t// Cache each form on the page.\n\t\t$( '.ctct-form-wrapper' ).each( function( i, formWrapper ) {\n\t\t\tapp.$c.$forms.push( $( formWrapper ).find( 'form' ) );\n\t\t} );\n\n\t\t// For each form, cache its common elements.\n\t\t$.each( app.$c.$forms, function( i, form ) {\n\n\t\t\tvar $form = $( form );\n\n\t\t\tapp.$c.$forms[ i ].$honeypot = $form.find( '.ctct_usage_field' );\n\t\t\tapp.$c.$forms[ i ].$submitButton = $form.find( 'input[type=submit]' );\n\t\t\tapp.$c.$forms[ i ].$recaptcha = $form.find( '.g-recaptcha' );\n\t\t} );\n\n\t\tapp.timeout = null;\n\t};\n\n\t/**\n\t * Remove the ctct-invalid class from elements that have it.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.setAllInputsValid = () => {\n\t\t$( app.$c.$form + ' .ctct-invalid' ).removeClass( 'ctct-invalid' );\n\t};\n\n\t/**\n\t * Adds .ctct-invalid HTML class to inputs whose values are invalid.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @param {object} error AJAX response error object.\n\t */\n\tapp.processError = ( error ) => {\n\n\t\t// If we have an id property set.\n\t\tif ( 'undefined' !== typeof( error.id ) ) {\n\t\t\t$( '#' + error.id ).addClass( 'ctct-invalid' );\n\t\t}\n\t};\n\n\t/**\n\t * Check the value of the hidden honeypot field; disable form submission button if anything in it.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @param {object} e The change or keyup event triggering this callback.\n\t * @param {object} $honeyPot The jQuery object for the actual input field being checked.\n\t * @param {object} $submitButton The jQuery object for the submit button in the same form as the honeypot field.\n\t */\n\tapp.checkHoneypot = ( e, $honeyPot, $submitButton ) => {\n\n\t\t// If there is text in the honeypot, disable the submit button\n\t\tif ( 0 < $honeyPot.val().length ) {\n\t\t\t$submitButton.attr( 'disabled', 'disabled' );\n\t\t} else {\n\t\t\t$submitButton.attr( 'disabled', false );\n\t\t}\n\t};\n\n\t/**\n\t * Ensures that we should use AJAX to process the specified form, and that all required fields are not empty.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @param {object} $form jQuery object for the form being validated.\n\t * @return {boolean} False if AJAX processing is disabled for this form or if a required field is empty.\n\t */\n\tapp.validateSubmission = ( $form ) => {\n\n\t\tif ( 'on' !== $form.attr( 'data-doajax' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Ensure all required fields in this form are valid.\n\t\t$.each( $form.find( '[required]' ), function( i, field ) {\n\n\t\t\tif ( false === field.checkValidity() ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\n\t\treturn true;\n\t};\n\n\t/**\n\t * Prepends form with a message that fades out in 5 seconds.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @param {object} $form jQuery object for the form a message is being displayed for.\n\t * @param {string} message The message content.\n\t * @param {string} classes Optional. HTML classes to add to the message wrapper.\n\t */\n\tapp.showMessage = ( $form, message, classes = '', role = 'log' ) => {\n\n\t\tconst $wrapper = $form.parents( '.ctct-form-wrapper' );\n\n\t\t$wrapper.find( 'p.ctct-message' ).remove();\n\n\t\tvar $p = $( '

', {\n\t\t\t'class': 'ctct-message ' + classes,\n\t\t\t'text': message,\n\t\t\t'role': role\n\t\t} ).prepend( $( '