{"version":3,"sources":["0","../node_modules/title-capitalization/index.js","../node_modules/es6-docready/lib/doc-ready.js","script.js"],"names":["module","exports","capitalizeInput","el","undefined","oldLowerCaseVal","value","toLowerCase","cursorPos","isSelected","document","activeElement","selectionStart","setSelectionRange","querySelectorAll","forEach","timeout","addEventListener","setTimeout"],"mappings":"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","file":"script.map","sourceRoot":"../src","sourcesContent":[null,"/*\n * Title Caps\n *\n * Cleaned up and added to NPM - Matthew Mueller - 1 Sept 2014\n * Extended Jan 12 2013 to lowercase all prepositions.\n * Ported to JavaScript By John Resig - http://ejohn.org/ - 21 May 2008\n * Original by John Gruber - http://daringfireball.net/ - 10 May 2008\n * License: http://www.opensource.org/licenses/mit-license.php\n */\n\n\n/**\n * Module Dependencies\n */\n\nvar prepositions = require('./lib/prepositions.json');\nvar conjunctions = require('./lib/conjunctions.json');\nvar articles = require('./lib/articles.json');\n\n/**\n * Export `capitalize`\n */\n\nmodule.exports = capitalize;\n\n/**\n * Regexps\n */\n\nvar rpunct = \"([!\\\"#$%&'()*+,./:;<=>?@[\\\\\\\\\\\\]^_`{|}~-]*)\";\nvar rlowercase = '(' + (prepositions.concat(articles).concat(conjunctions)).join('|') + ')';\nvar rsplit = /[:.;?!] |(?: |^)[\"Ò]/g;\n\n/**\n * I have no idea what these do :-P\n */\n\nvar ra = /[\\u2018\\u2019]/g;\nvar rb = /[\\u201C\\u201D]/g;\nvar rc = /\\b([A-Za-z][a-z.'Õ]*)\\b/g;\nvar rd = /[A-Za-z]\\.[A-Za-z]/;\nvar re = RegExp(\"\\\\b\" + rlowercase + \"\\\\b\", \"ig\")\nvar rf = RegExp(\"^\" + rpunct + rlowercase + \"\\\\b\", \"ig\");\nvar rg = RegExp(\"\\\\b\" + rlowercase + rpunct + \"$\", \"ig\");\nvar rh = / V(s?)\\. /ig;\nvar ri = /(['Õ])S\\b/ig;\nvar rj = /\\b(AT&T|Q&A)\\b/ig;\n\n/**\n * Properly capitalize a title\n *\n * @param {String} title\n * @return {String} title\n * @api public\n */\n\nfunction capitalize(title) {\n  var parts = [];\n  var index = 0;\n\n  title = title\n    .replace(ra, \"'\")\n    .replace(rb, '\"');\n\n  while (1) {\n    var m = rsplit.exec(title);\n\n    parts.push(title.substring(index, m ? m.index : title.length)\n      .replace(rc, function(all){\n        return rd.test(all) ? all : upper(all);\n      })\n      .replace(re, lower)\n      .replace(rf, function(all, punct, word){\n        return punct + upper(word);\n      })\n      .replace(rg, upper));\n\n    index = rsplit.lastIndex;\n\n    if (m) parts.push( m[0] );\n    else break;\n  }\n\n  return parts.join(\"\").replace(rh, \" v$1. \")\n    .replace(ri, \"$1s\")\n    .replace(rj, function(all){\n      return all.toUpperCase();\n    });\n}\n\n/**\n * To lowercase\n *\n * @param {String} word\n * @return {String}\n * @api private\n */\n\nfunction lower(word) {\n  return word.toLowerCase();\n}\n\n/**\n * Capitalize\n *\n * @param {String} word\n * @return {String}\n * @api private\n */\n\nfunction upper(word) {\n  return word.substr(0,1).toUpperCase() + word.substr(1);\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\nexports[\"default\"] = docReady;\n\nfunction docReady(callback) {\n\n    function completed() {\n        document.removeEventListener(\"DOMContentLoaded\", completed, false);\n        window.removeEventListener(\"load\", completed, false);\n        callback();\n    }\n\n    //Events.on(document, 'DOMContentLoaded', completed)\n\n    if (document.readyState === \"complete\") {\n        // Handle it asynchronously to allow scripts the opportunity to delay ready\n        setTimeout(callback);\n    } else {\n\n        // Use the handy event callback\n        document.addEventListener(\"DOMContentLoaded\", completed, false);\n\n        // A fallback to window.onload, that will always work\n        window.addEventListener(\"load\", completed, false);\n    }\n}\n\nmodule.exports = exports[\"default\"];","import capitalize from 'title-capitalization'\nimport DocReady from 'es6-docready'\n\n\nconst capitalizeInput = el => {\n\n    // Remember old value so we can allow manual case edits.\n    if ( el.oldLowerCaseVal !== undefined ) {\n        if ( el.oldLowerCaseVal === el.value.toLowerCase() ) {\n            return\n        }\n    }\n\n    // Remember caret position, and bring it back later.\n    let cursorPos\n    const isSelected = document.activeElement === el\n    if ( isSelected ) {\n        cursorPos = el.selectionStart;\n    }\n    \n    // Capitalize!\n    el.value = capitalize( el.value )\n    el.oldLowerCaseVal = el.value.toLowerCase()\n\n    if ( isSelected ) {\n        el.setSelectionRange( cursorPos, cursorPos );\n    }\n}\n\nDocReady( () => {\n    const inputs = document.querySelectorAll( 'input[name=\"post_title\"' );\n    inputs.forEach( el => {\n        let timeout = null\n        el.addEventListener( 'keyup', () => {\n            clearTimeout( timeout );\n            timeout = setTimeout( () => {\n                capitalizeInput( el )\n            }, 1000 )\n        } )\n        el.addEventListener( 'keydown', () => {\n            clearTimeout( timeout );\n        } )\n        el.addEventListener( 'change', () => {\n            capitalizeInput( el )\n        } )\n        el.addEventListener( 'blur', () => {\n            capitalizeInput( el )\n        } )\n    } )\n} )"]}