{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/modular-ujs/modules/LiteAjax.js","webpack:///./node_modules/modular-ujs/modules/CSRF.js","webpack:///./node_modules/modular-ujs/modules/AjaxForm.js","webpack:///./node_modules/modular-ujs/modules/ClickConfirm.js","webpack:///./node_modules/modular-ujs/modules/ClickDisable.js","webpack:///./node_modules/modular-ujs/modules/ClickMethod.js","webpack:///./app/javascript/packs/contact_form.js","webpack:///./node_modules/modular-ujs/modular-ujs.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_typeof","obj","iterator","constructor","LiteAjax","options","method","url","window","location","href","ajax","undefined","accepts","data","target","document","xhr","XMLHttpRequest","addEventListener","responseType","getResponseHeader","eval","response","event","CustomEvent","detail","bubbles","dispatchEvent","success","status","error","open","setRequestHeader","json","JSON","stringify","beforeSend","send","token","querySelector","getAttribute","param","e","origin","a","form","matches","toUpperCase","action","createElement","split","join","indexOf","input","setAttribute","appendChild","FormData","CSRF","element","fieldType","elements","count","length","nodeName","hasAttribute","disabled","checked","formHasNoInputs","preventDefault","message","confirm","stopPropagation","stopImmediatePropagation","which","innerHTML","setTimeout","button","el","URL","searchParams","getMethod","style","display","body","submit"],"mappings":"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","file":"js/contact_form-acc175a62c397523e172.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 744);\n","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar LiteAjax = function () {\n var LiteAjax = {};\n LiteAjax.options = {\n method: 'GET',\n url: window.location.href\n };\n\n LiteAjax.ajax = function (url, options) {\n if (_typeof(url) == 'object') {\n options = url;\n url = undefined;\n }\n\n options = options || {};\n\n if (!options.accepts) {\n options.accepts = 'text/javascript, application/javascript, ' + 'application/ecmascript, application/x-ecmascript';\n }\n\n url = url || options.url || location.href || '';\n var data = options.data;\n var target = options.target || document;\n var xhr = new XMLHttpRequest();\n xhr.addEventListener('load', function () {\n var responseType = xhr.getResponseHeader('content-type');\n\n if (responseType === 'text/javascript; charset=utf-8') {\n eval(xhr.response);\n }\n\n var event = new CustomEvent('ajax:complete', {\n detail: xhr,\n bubbles: true\n });\n target.dispatchEvent(event);\n });\n if (typeof options.success == 'function') xhr.addEventListener('load', function (event) {\n if (xhr.status >= 200 && xhr.status < 300) options.success(xhr);\n });\n\n if (typeof options.error == 'function') {\n xhr.addEventListener('load', function (event) {\n if (xhr.status < 200 || xhr.status >= 300) options.error(xhr);\n });\n xhr.addEventListener('error', function (event) {\n options.error(xhr);\n });\n }\n\n xhr.open(options.method || 'GET', url);\n xhr.setRequestHeader('X-Requested-With', 'XmlHttpRequest');\n xhr.setRequestHeader('Accept', '*/*;q=0.5, ' + options.accepts);\n\n if (options.json) {\n xhr.setRequestHeader('Content-type', 'application/json');\n data = JSON.stringify(data);\n }\n\n var beforeSend = new CustomEvent('ajax:before', {\n detail: xhr,\n bubbles: true\n });\n target.dispatchEvent(beforeSend);\n xhr.send(data);\n return xhr;\n };\n\n return LiteAjax;\n}();\n\nexport default LiteAjax;","var CSRF = {\n token: function token() {\n var token = document.querySelector('meta[name=\"csrf-token\"]');\n return token && token.getAttribute('content');\n },\n param: function param() {\n var param = document.querySelector('meta[name=\"csrf-param\"]');\n return param && param.getAttribute('content');\n }\n};\n\nvar sameOrigin = function sameOrigin(url) {\n var a = document.createElement('a'),\n origin;\n a.href = url;\n origin = a.href.split('/', 3).join('/');\n return window.location.href.indexOf(origin) === 0;\n};\n\ndocument.addEventListener('ajax:before', function (e) {\n var token = CSRF.token(),\n xhr = e.detail;\n if (token) xhr.setRequestHeader('X-CSRF-Token', token);\n});\ndocument.addEventListener('submit', function (e) {\n var token = CSRF.token(),\n param = CSRF.param(),\n form = e.target;\n\n if (form.matches('form')) {\n if (form.matches('form[data-remote]')) return true;\n if (!form.method || form.method.toUpperCase() == 'GET') return true;\n if (!sameOrigin(form.action)) return true;\n\n if (param && token && !form.querySelector('input[name=' + param + ']')) {\n var input = document.createElement('input');\n input.setAttribute('type', 'hidden');\n input.setAttribute('name', param);\n input.setAttribute('value', token);\n form.appendChild(input);\n }\n\n return true;\n }\n});\nexport default CSRF;","function AjaxForm() {\n document.addEventListener('submit', function (event) {\n var form = event.target;\n\n if (form.matches('form[data-remote]')) {\n var url = form.action;\n var method = (form.method || form.getAttribute('data-method') || 'POST').toUpperCase();\n var data = new FormData(form);\n\n if (CSRF.param() && CSRF.token()) {\n data[CSRF.param()] = CSRF.token();\n } else if (formHasNoInputs(form)) {\n data = null;\n }\n\n if (LiteAjax.ajax({\n url: url,\n method: method,\n data: data,\n target: form\n })) {\n event.preventDefault();\n } else {\n return true;\n }\n }\n });\n}\n\nfunction formHasNoInputs(form) {\n var element, fieldType;\n\n for (var i = 0, elements = form.elements, count = elements.length; i < count; i++) {\n element = elements[i];\n fieldType = element.nodeName.toUpperCase();\n\n if (!element.hasAttribute('name') || element.disabled) {\n continue;\n }\n\n if ((fieldType == 'RADIO' || fieldType == 'CHECKBOX') && !element.checked) {\n continue;\n }\n\n return false;\n }\n\n return true;\n}\n\nexport default AjaxForm;","function ClickConfirm() {\n document.addEventListener('click', function (event) {\n var message, element;\n element = event.target;\n\n if (element.matches('a[data-confirm], button[data-confirm], input[data-confirm]')) {\n message = element.getAttribute('data-confirm');\n\n if (!confirm(message)) {\n event.stopPropagation();\n event.stopImmediatePropagation();\n event.preventDefault();\n return false;\n }\n\n return;\n }\n }, false);\n}\n\nexport default ClickConfirm;","function ClickDisable() {\n document.addEventListener('click', function (event) {\n var message, element; // do not disable on right click. Work on left and middle click\n\n if (event.which == 3) {\n return;\n }\n\n element = event.target; // do not disable if the element is a submit button and its form has invalid input elements.\n // since failed validations prevent the form from being submitted, we would lock the form permanently\n // by disabling the submit button even though the form was never submitted\n\n if (element.getAttribute(\"type\") === \"submit\" && element.form && element.form.querySelector(\":invalid\") !== null) {\n return;\n }\n\n if (element.matches('a[data-disable-with], button[data-disable-with], input[data-disable-with]')) {\n message = element.getAttribute('data-disable-with');\n\n if (!!element.value) {\n element.value = message;\n } else {\n element.innerHTML = message;\n } // timeout is needed because Safari stops the submit if the button is immediately disabled\n\n\n setTimeout(function () {\n element.setAttribute('disabled', 'disabled');\n }, 0);\n }\n }, false);\n}\n\nexport default ClickDisable;","function ClickMethod() {\n document.addEventListener('click', function (event) {\n var element, url, method, data, handler; // Only left click allowed. Firefox triggers click event on right click/contextmenu.\n\n if (event.button !== 0) {\n return;\n }\n\n element = event.target;\n url = element.getAttribute('href');\n\n if (!url) {\n return;\n }\n\n method = element.getAttribute('data-method') || getMethod(element);\n\n function getMethod(el) {\n var url = new URL(el);\n var method = url.searchParams.get(\"method\");\n return method;\n }\n\n if (method) {\n method = method.toUpperCase();\n data = {};\n\n if (CSRF.param() && CSRF.token()) {\n data[CSRF.param()] = CSRF.token();\n }\n\n if (element.matches('a[data-remote]')) {\n handler = xhr;\n } else {\n handler = submit;\n }\n\n if (handler({\n url: url,\n method: method,\n data: data,\n target: element\n })) {\n event.preventDefault();\n } else {\n return true;\n }\n }\n\n function submit(options) {\n var form, input, param;\n\n if (options.method == 'GET') {\n return false;\n }\n\n form = document.createElement('form');\n form.method = 'POST';\n form.action = options.url;\n form.style.display = 'none';\n\n for (param in options.data) {\n if (Object.prototype.hasOwnProperty.call(options.data, param)) {\n input = document.createElement('input');\n input.setAttribute('type', 'hidden');\n input.setAttribute('name', param);\n input.setAttribute('value', options.data[param]);\n form.appendChild(input);\n }\n }\n\n if (options.method != 'POST') {\n input = document.createElement('input');\n input.setAttribute('type', 'hidden');\n input.setAttribute('name', '_method');\n input.setAttribute('value', options.method);\n form.appendChild(input);\n }\n\n document.body.appendChild(form);\n form.submit();\n return true;\n }\n\n function xhr(options) {\n LiteAjax.ajax(options);\n return true;\n }\n }, false);\n}\n\nexport default ClickMethod;","import VanillaUJS from'modular-ujs';document.addEventListener('DOMContentLoaded',function(){VanillaUJS();});","//TODO: import all modules\n//TODO: expose all for export\nimport CSRF from './modules/CSRF.js';\nimport LiteAjax from './modules/LiteAjax.js';\nimport AjaxForm from './modules/AjaxForm.js';\nimport ClickConfirm from './modules/ClickConfirm.js';\nimport ClickDisable from './modules/ClickDisable.js';\nimport ClickMethod from './modules/ClickMethod.js';\nexport default function VanillaUJS() {\n window.CSRF = CSRF;\n window.LiteAjax = LiteAjax;\n AjaxForm();\n ClickConfirm();\n ClickDisable();\n ClickMethod();\n}"],"sourceRoot":""}