{"version":3,"file":"default/js/contactUs.js","mappings":";;;;;;;;;AAAA,oBAAoB,mBAAO,CAAC,+HAA+B;AAC3D,qBAAqB,mBAAO,CAAC,iIAAgC;;AAE7D;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;;;;;;;;;AC1Ea;;AAEb;AACA;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;AC1Ca;;AAEb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;;;;;;;;;;;ACVa;;AAEb;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;;;;;;UCZA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;;;;;ACtBA,qBAAqB,mBAAO,CAAC,uFAAW;;AAExC;AACA,mBAAmB,mBAAO,CAAC,sGAAuB;AAClD,CAAC","sources":["webpack://sfra-startup-kit/./cartridges/app_cwf/cartridge/client/default/js/contactUs/contactUs.js","webpack://sfra-startup-kit/./cartridges/app_storefront_base/cartridge/client/default/js/components/formValidation.js","webpack://sfra-startup-kit/./cartridges/app_storefront_base/cartridge/client/default/js/components/scrollAnimate.js","webpack://sfra-startup-kit/./cartridges/app_storefront_base/cartridge/client/default/js/util.js","webpack://sfra-startup-kit/webpack/bootstrap","webpack://sfra-startup-kit/./cartridges/app_cwf/cartridge/client/default/js/contactUs.js"],"sourcesContent":["var scrollAnimate = require(\"base/components/scrollAnimate\");\nvar formValidation = require(\"base/components/formValidation\");\n\n/**\n * Display the returned message.\n * @param {string} data - data returned from the server's ajax call\n * @param {Object} button - button that was clicked for contact us sign-up\n */\nfunction displayMessage(data, button) {\n $.spinner().stop();\n var status;\n if (data.success) {\n status = \"alert-success\";\n } else {\n status = \"alert-danger\";\n }\n\n if ($(\".contact-us-signup-message\").length === 0) {\n $(\"body\").append(\n \"
\"\n );\n }\n $(\".contact-us-signup-message\")\n .append(\"
\" + data.msg + \"
\");\n\n setTimeout(function () {\n $(\".contact-us-signup-message\").remove();\n button.removeAttr(\"disabled\");\n }, 3000);\n}\n\nmodule.exports = {\n subscribeContact: function () {\n $(\"form.contact-us\").submit(function (e) {\n e.preventDefault();\n var form = $(this);\n var button = $(\".subscribe-contact-us\");\n var url = form.attr(\"action\");\n\n scrollAnimate($(form));\n\n $.spinner().start();\n button.attr(\"disabled\", true);\n $.ajax({\n url: url,\n type: \"post\",\n dataType: \"json\",\n data: form.serialize(),\n success: function (data) {\n displayMessage(data, button);\n if (!data.success) {\n formValidation(form, data);\n scrollAnimate($(form));\n } else {\n $(\".contact-us\").trigger(\"reset\");\n $(\".is-invalid\").removeClass(\"is-invalid\");\n $(\".invalid-feedback\").fadeOut();\n }\n },\n error: function (err) {\n displayMessage(err, button);\n }\n });\n });\n\n const radioBtns = $(\"input[name=\\\"contactPrefix\\\"]\");\n for (let i = 0; i < radioBtns.length; i++) {\n const radioBtn = radioBtns[i];\n $(radioBtn).on(\"change\", function () {\n $(\".form-group-radio .is-invalid\").removeClass(\"is-invalid\");\n $(\".form-group-radio .invalid-feedback\").fadeOut();\n });\n }\n }\n};\n","'use strict';\n\n/**\n * Remove all validation. Should be called every time before revalidating form\n * @param {element} form - Form to be cleared\n * @returns {void}\n */\nfunction clearFormErrors(form) {\n $(form).find('.form-control.is-invalid').removeClass('is-invalid');\n}\n\nmodule.exports = function (formElement, payload) {\n // clear form validation first\n clearFormErrors(formElement);\n $('.alert', formElement).remove();\n\n if (typeof payload === 'object' && payload.fields) {\n Object.keys(payload.fields).forEach(function (key) {\n if (payload.fields[key]) {\n var feedbackElement = $(formElement).find('[name=\"' + key + '\"]')\n .parent()\n .children('.invalid-feedback');\n\n if (feedbackElement.length > 0) {\n if (Array.isArray(payload[key])) {\n feedbackElement.html(payload.fields[key].join('
'));\n } else {\n feedbackElement.html(payload.fields[key]);\n }\n feedbackElement.siblings('.form-control').addClass('is-invalid');\n }\n }\n });\n }\n if (payload && payload.error) {\n var form = $(formElement).prop('tagName') === 'FORM'\n ? $(formElement)\n : $(formElement).parents('form');\n\n form.prepend('
'\n + payload.error.join('
') + '
');\n }\n};\n","'use strict';\n\nmodule.exports = function (element) {\n var position = element && element.length ? element.offset().top : 0;\n $('html, body').animate({\n scrollTop: position\n }, 500);\n if (!element) {\n $('.logo-home').focus();\n }\n};\n","'use strict';\n\nmodule.exports = function (include) {\n if (typeof include === 'function') {\n include();\n } else if (typeof include === 'object') {\n Object.keys(include).forEach(function (key) {\n if (typeof include[key] === 'function') {\n include[key]();\n }\n });\n }\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","var processInclude = require(\"base/util\");\n\n$(document).ready(function () {\n processInclude(require(\"./contactUs/contactUs\"));\n});\n"],"names":[],"sourceRoot":""}