{"version":3,"sources":["wwwroot/js/typed.js"],"names":["root","factory","exports","module","define","amd","this","modules","installedModules","__webpack_require__","moduleId","id","loaded","call","m","c","p","Object","defineProperty","value","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","key","Constructor","protoProps","staticProps","prototype","_initializerJs","_htmlParserJs","Typed","elementId","options","instance","TypeError","_classCallCheck","initializer","load","begin","pause","status","start","stop","typingComplete","toggleBlinking","onStop","arrayPos","typewrite","curString","curStrPos","backspace","onStart","reset","onDestroy","restart","arguments","undefined","clearInterval","timeout","replaceText","cursor","parentNode","removeChild","strPos","curLoop","insertCursor","onReset","_this","onBegin","shuffleStringsIfNeeded","bindInputFocusEvents","bindFocusEvents","setTimeout","currentElContent","strings","sequence","startDelay","_this2","fadeOut","el","classList","contains","fadeOutClass","remove","humanize","humanizer","typeSpeed","numChars","htmlParser","typeHtmlChars","pauseTime","substr","charAt","test","skip","exec","parseInt","temporaryPause","onTypingPaused","substring","stringBeforeSkip","stringSkipped","stringAfterSkip","doneTyping","keepTyping","onTypingResumed","setPauseStatus","preStringTyped","nextString","_this3","onStringTyped","complete","loop","loopCount","backDelay","_this4","initFadeOut","backSpeed","backSpaceHtmlChars","curStringAtPosition","smartBackspace","stopNum","onLastStringBackspaced","onComplete","isTyping","isBlinking","cursorBlinking","add","speed","Math","round","random","shuffle","sort","_this5","className","fadeOutDelay","str","attr","setAttribute","isInput","contentType","innerHTML","textContent","_this6","addEventListener","e","showCursor","document","createElement","cursorChar","insertBefore","nextSibling","_extends","assign","source","hasOwnProperty","obj","_defaultsJs","_defaultsJs2","__esModule","default","Initializer","self","querySelector","tagName","toLowerCase","elContent","getAttribute","isPaused","map","s","trim","stringsElement","style","display","Array","slice","apply","children","stringsLength","stringEl","push","getCurrentElContent","autoInsertCss","appendAnimationCss","cssDataName","css","type","innerCss","body","appendChild","defaults","Infinity","HTMLParser","curChar","endTag"],"mappings":"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","file":"features.min.js","sourcesContent":["/*!\r\n * \r\n * typed.js - A JavaScript Typing Animation Library\r\n * Author: Matt Boldt \r\n * Version: v2.0.11\r\n * Url: https://github.com/mattboldt/typed.js\r\n * License(s): MIT\r\n * \r\n */\r\n(function webpackUniversalModuleDefinition(root, factory) {\r\n\tif(typeof exports === 'object' && typeof module === 'object')\r\n\t\tmodule.exports = factory();\r\n\telse if(typeof define === 'function' && define.amd)\r\n\t\tdefine([], factory);\r\n\telse if(typeof exports === 'object')\r\n\t\texports[\"Typed\"] = factory();\r\n\telse\r\n\t\troot[\"Typed\"] = factory();\r\n})(this, function() {\r\nreturn /******/ (function(modules) { // webpackBootstrap\r\n/******/ \t// The module cache\r\n/******/ \tvar installedModules = {};\r\n/******/\r\n/******/ \t// The require function\r\n/******/ \tfunction __webpack_require__(moduleId) {\r\n/******/\r\n/******/ \t\t// Check if module is in cache\r\n/******/ \t\tif(installedModules[moduleId])\r\n/******/ \t\t\treturn installedModules[moduleId].exports;\r\n/******/\r\n/******/ \t\t// Create a new module (and put it into the cache)\r\n/******/ \t\tvar module = installedModules[moduleId] = {\r\n/******/ \t\t\texports: {},\r\n/******/ \t\t\tid: moduleId,\r\n/******/ \t\t\tloaded: false\r\n/******/ \t\t};\r\n/******/\r\n/******/ \t\t// Execute the module function\r\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\r\n/******/\r\n/******/ \t\t// Flag the module as loaded\r\n/******/ \t\tmodule.loaded = true;\r\n/******/\r\n/******/ \t\t// Return the exports of the module\r\n/******/ \t\treturn module.exports;\r\n/******/ \t}\r\n/******/\r\n/******/\r\n/******/ \t// expose the modules object (__webpack_modules__)\r\n/******/ \t__webpack_require__.m = modules;\r\n/******/\r\n/******/ \t// expose the module cache\r\n/******/ \t__webpack_require__.c = installedModules;\r\n/******/\r\n/******/ \t// __webpack_public_path__\r\n/******/ \t__webpack_require__.p = \"\";\r\n/******/\r\n/******/ \t// Load entry module and return exports\r\n/******/ \treturn __webpack_require__(0);\r\n/******/ })\r\n/************************************************************************/\r\n/******/ ([\r\n/* 0 */\r\n/***/ (function(module, exports, __webpack_require__) {\r\n\r\n\t'use strict';\r\n\t\r\n\tObject.defineProperty(exports, '__esModule', {\r\n\t value: true\r\n\t});\r\n\t\r\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\r\n\t\r\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\r\n\t\r\n\tvar _initializerJs = __webpack_require__(1);\r\n\t\r\n\tvar _htmlParserJs = __webpack_require__(3);\r\n\t\r\n\t/**\r\n\t * Welcome to Typed.js!\r\n\t * @param {string} elementId HTML element ID _OR_ HTML element\r\n\t * @param {object} options options object\r\n\t * @returns {object} a new Typed object\r\n\t */\r\n\t\r\n\tvar Typed = (function () {\r\n\t function Typed(elementId, options) {\r\n\t _classCallCheck(this, Typed);\r\n\t\r\n\t // Initialize it up\r\n\t _initializerJs.initializer.load(this, options, elementId);\r\n\t // All systems go!\r\n\t this.begin();\r\n\t }\r\n\t\r\n\t /**\r\n\t * Toggle start() and stop() of the Typed instance\r\n\t * @public\r\n\t */\r\n\t\r\n\t _createClass(Typed, [{\r\n\t key: 'toggle',\r\n\t value: function toggle() {\r\n\t this.pause.status ? this.start() : this.stop();\r\n\t }\r\n\t\r\n\t /**\r\n\t * Stop typing / backspacing and enable cursor blinking\r\n\t * @public\r\n\t */\r\n\t }, {\r\n\t key: 'stop',\r\n\t value: function stop() {\r\n\t if (this.typingComplete) return;\r\n\t if (this.pause.status) return;\r\n\t this.toggleBlinking(true);\r\n\t this.pause.status = true;\r\n\t this.options.onStop(this.arrayPos, this);\r\n\t }\r\n\t\r\n\t /**\r\n\t * Start typing / backspacing after being stopped\r\n\t * @public\r\n\t */\r\n\t }, {\r\n\t key: 'start',\r\n\t value: function start() {\r\n\t if (this.typingComplete) return;\r\n\t if (!this.pause.status) return;\r\n\t this.pause.status = false;\r\n\t if (this.pause.typewrite) {\r\n\t this.typewrite(this.pause.curString, this.pause.curStrPos);\r\n\t } else {\r\n\t this.backspace(this.pause.curString, this.pause.curStrPos);\r\n\t }\r\n\t this.options.onStart(this.arrayPos, this);\r\n\t }\r\n\t\r\n\t /**\r\n\t * Destroy this instance of Typed\r\n\t * @public\r\n\t */\r\n\t }, {\r\n\t key: 'destroy',\r\n\t value: function destroy() {\r\n\t this.reset(false);\r\n\t this.options.onDestroy(this);\r\n\t }\r\n\t\r\n\t /**\r\n\t * Reset Typed and optionally restarts\r\n\t * @param {boolean} restart\r\n\t * @public\r\n\t */\r\n\t }, {\r\n\t key: 'reset',\r\n\t value: function reset() {\r\n\t var restart = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\r\n\t\r\n\t clearInterval(this.timeout);\r\n\t this.replaceText('');\r\n\t if (this.cursor && this.cursor.parentNode) {\r\n\t this.cursor.parentNode.removeChild(this.cursor);\r\n\t this.cursor = null;\r\n\t }\r\n\t this.strPos = 0;\r\n\t this.arrayPos = 0;\r\n\t this.curLoop = 0;\r\n\t if (restart) {\r\n\t this.insertCursor();\r\n\t this.options.onReset(this);\r\n\t this.begin();\r\n\t }\r\n\t }\r\n\t\r\n\t /**\r\n\t * Begins the typing animation\r\n\t * @private\r\n\t */\r\n\t }, {\r\n\t key: 'begin',\r\n\t value: function begin() {\r\n\t var _this = this;\r\n\t\r\n\t this.options.onBegin(this);\r\n\t this.typingComplete = false;\r\n\t this.shuffleStringsIfNeeded(this);\r\n\t this.insertCursor();\r\n\t if (this.bindInputFocusEvents) this.bindFocusEvents();\r\n\t this.timeout = setTimeout(function () {\r\n\t // Check if there is some text in the element, if yes start by backspacing the default message\r\n\t if (!_this.currentElContent || _this.currentElContent.length === 0) {\r\n\t _this.typewrite(_this.strings[_this.sequence[_this.arrayPos]], _this.strPos);\r\n\t } else {\r\n\t // Start typing\r\n\t _this.backspace(_this.currentElContent, _this.currentElContent.length);\r\n\t }\r\n\t }, this.startDelay);\r\n\t }\r\n\t\r\n\t /**\r\n\t * Called for each character typed\r\n\t * @param {string} curString the current string in the strings array\r\n\t * @param {number} curStrPos the current position in the curString\r\n\t * @private\r\n\t */\r\n\t }, {\r\n\t key: 'typewrite',\r\n\t value: function typewrite(curString, curStrPos) {\r\n\t var _this2 = this;\r\n\t\r\n\t if (this.fadeOut && this.el.classList.contains(this.fadeOutClass)) {\r\n\t this.el.classList.remove(this.fadeOutClass);\r\n\t if (this.cursor) this.cursor.classList.remove(this.fadeOutClass);\r\n\t }\r\n\t\r\n\t var humanize = this.humanizer(this.typeSpeed);\r\n\t var numChars = 1;\r\n\t\r\n\t if (this.pause.status === true) {\r\n\t this.setPauseStatus(curString, curStrPos, true);\r\n\t return;\r\n\t }\r\n\t\r\n\t // contain typing function in a timeout humanize'd delay\r\n\t this.timeout = setTimeout(function () {\r\n\t // skip over any HTML chars\r\n\t curStrPos = _htmlParserJs.htmlParser.typeHtmlChars(curString, curStrPos, _this2);\r\n\t\r\n\t var pauseTime = 0;\r\n\t var substr = curString.substr(curStrPos);\r\n\t // check for an escape character before a pause value\r\n\t // format: \\^\\d+ .. eg: ^1000 .. should be able to print the ^ too using ^^\r\n\t // single ^ are removed from string\r\n\t if (substr.charAt(0) === '^') {\r\n\t if (/^\\^\\d+/.test(substr)) {\r\n\t var skip = 1; // skip at least 1\r\n\t substr = /\\d+/.exec(substr)[0];\r\n\t skip += substr.length;\r\n\t pauseTime = parseInt(substr);\r\n\t _this2.temporaryPause = true;\r\n\t _this2.options.onTypingPaused(_this2.arrayPos, _this2);\r\n\t // strip out the escape character and pause value so they're not printed\r\n\t curString = curString.substring(0, curStrPos) + curString.substring(curStrPos + skip);\r\n\t _this2.toggleBlinking(true);\r\n\t }\r\n\t }\r\n\t\r\n\t // check for skip characters formatted as\r\n\t // \"this is a `string to print NOW` ...\"\r\n\t if (substr.charAt(0) === '`') {\r\n\t while (curString.substr(curStrPos + numChars).charAt(0) !== '`') {\r\n\t numChars++;\r\n\t if (curStrPos + numChars > curString.length) break;\r\n\t }\r\n\t // strip out the escape characters and append all the string in between\r\n\t var stringBeforeSkip = curString.substring(0, curStrPos);\r\n\t var stringSkipped = curString.substring(stringBeforeSkip.length + 1, curStrPos + numChars);\r\n\t var stringAfterSkip = curString.substring(curStrPos + numChars + 1);\r\n\t curString = stringBeforeSkip + stringSkipped + stringAfterSkip;\r\n\t numChars--;\r\n\t }\r\n\t\r\n\t // timeout for any pause after a character\r\n\t _this2.timeout = setTimeout(function () {\r\n\t // Accounts for blinking while paused\r\n\t _this2.toggleBlinking(false);\r\n\t\r\n\t // We're done with this sentence!\r\n\t if (curStrPos >= curString.length) {\r\n\t _this2.doneTyping(curString, curStrPos);\r\n\t } else {\r\n\t _this2.keepTyping(curString, curStrPos, numChars);\r\n\t }\r\n\t // end of character pause\r\n\t if (_this2.temporaryPause) {\r\n\t _this2.temporaryPause = false;\r\n\t _this2.options.onTypingResumed(_this2.arrayPos, _this2);\r\n\t }\r\n\t }, pauseTime);\r\n\t\r\n\t // humanized value for typing\r\n\t }, humanize);\r\n\t }\r\n\t\r\n\t /**\r\n\t * Continue to the next string & begin typing\r\n\t * @param {string} curString the current string in the strings array\r\n\t * @param {number} curStrPos the current position in the curString\r\n\t * @private\r\n\t */\r\n\t }, {\r\n\t key: 'keepTyping',\r\n\t value: function keepTyping(curString, curStrPos, numChars) {\r\n\t // call before functions if applicable\r\n\t if (curStrPos === 0) {\r\n\t this.toggleBlinking(false);\r\n\t this.options.preStringTyped(this.arrayPos, this);\r\n\t }\r\n\t // start typing each new char into existing string\r\n\t // curString: arg, this.el.html: original text inside element\r\n\t curStrPos += numChars;\r\n\t var nextString = curString.substr(0, curStrPos);\r\n\t this.replaceText(nextString);\r\n\t // loop the function\r\n\t this.typewrite(curString, curStrPos);\r\n\t }\r\n\t\r\n\t /**\r\n\t * We're done typing the current string\r\n\t * @param {string} curString the current string in the strings array\r\n\t * @param {number} curStrPos the current position in the curString\r\n\t * @private\r\n\t */\r\n\t }, {\r\n\t key: 'doneTyping',\r\n\t value: function doneTyping(curString, curStrPos) {\r\n\t var _this3 = this;\r\n\t\r\n\t // fires callback function\r\n\t this.options.onStringTyped(this.arrayPos, this);\r\n\t this.toggleBlinking(true);\r\n\t // is this the final string\r\n\t if (this.arrayPos === this.strings.length - 1) {\r\n\t // callback that occurs on the last typed string\r\n\t this.complete();\r\n\t // quit if we wont loop back\r\n\t if (this.loop === false || this.curLoop === this.loopCount) {\r\n\t return;\r\n\t }\r\n\t }\r\n\t this.timeout = setTimeout(function () {\r\n\t _this3.backspace(curString, curStrPos);\r\n\t }, this.backDelay);\r\n\t }\r\n\t\r\n\t /**\r\n\t * Backspaces 1 character at a time\r\n\t * @param {string} curString the current string in the strings array\r\n\t * @param {number} curStrPos the current position in the curString\r\n\t * @private\r\n\t */\r\n\t }, {\r\n\t key: 'backspace',\r\n\t value: function backspace(curString, curStrPos) {\r\n\t var _this4 = this;\r\n\t\r\n\t if (this.pause.status === true) {\r\n\t this.setPauseStatus(curString, curStrPos, true);\r\n\t return;\r\n\t }\r\n\t if (this.fadeOut) return this.initFadeOut();\r\n\t\r\n\t this.toggleBlinking(false);\r\n\t var humanize = this.humanizer(this.backSpeed);\r\n\t\r\n\t this.timeout = setTimeout(function () {\r\n\t curStrPos = _htmlParserJs.htmlParser.backSpaceHtmlChars(curString, curStrPos, _this4);\r\n\t // replace text with base text + typed characters\r\n\t var curStringAtPosition = curString.substr(0, curStrPos);\r\n\t _this4.replaceText(curStringAtPosition);\r\n\t\r\n\t // if smartBack is enabled\r\n\t if (_this4.smartBackspace) {\r\n\t // the remaining part of the current string is equal of the same part of the new string\r\n\t var nextString = _this4.strings[_this4.arrayPos + 1];\r\n\t if (nextString && curStringAtPosition === nextString.substr(0, curStrPos)) {\r\n\t _this4.stopNum = curStrPos;\r\n\t } else {\r\n\t _this4.stopNum = 0;\r\n\t }\r\n\t }\r\n\t\r\n\t // if the number (id of character in current string) is\r\n\t // less than the stop number, keep going\r\n\t if (curStrPos > _this4.stopNum) {\r\n\t // subtract characters one by one\r\n\t curStrPos--;\r\n\t // loop the function\r\n\t _this4.backspace(curString, curStrPos);\r\n\t } else if (curStrPos <= _this4.stopNum) {\r\n\t // if the stop number has been reached, increase\r\n\t // array position to next string\r\n\t _this4.arrayPos++;\r\n\t // When looping, begin at the beginning after backspace complete\r\n\t if (_this4.arrayPos === _this4.strings.length) {\r\n\t _this4.arrayPos = 0;\r\n\t _this4.options.onLastStringBackspaced();\r\n\t _this4.shuffleStringsIfNeeded();\r\n\t _this4.begin();\r\n\t } else {\r\n\t _this4.typewrite(_this4.strings[_this4.sequence[_this4.arrayPos]], curStrPos);\r\n\t }\r\n\t }\r\n\t // humanized value for typing\r\n\t }, humanize);\r\n\t }\r\n\t\r\n\t /**\r\n\t * Full animation is complete\r\n\t * @private\r\n\t */\r\n\t }, {\r\n\t key: 'complete',\r\n\t value: function complete() {\r\n\t this.options.onComplete(this);\r\n\t if (this.loop) {\r\n\t this.curLoop++;\r\n\t } else {\r\n\t this.typingComplete = true;\r\n\t }\r\n\t }\r\n\t\r\n\t /**\r\n\t * Has the typing been stopped\r\n\t * @param {string} curString the current string in the strings array\r\n\t * @param {number} curStrPos the current position in the curString\r\n\t * @param {boolean} isTyping\r\n\t * @private\r\n\t */\r\n\t }, {\r\n\t key: 'setPauseStatus',\r\n\t value: function setPauseStatus(curString, curStrPos, isTyping) {\r\n\t this.pause.typewrite = isTyping;\r\n\t this.pause.curString = curString;\r\n\t this.pause.curStrPos = curStrPos;\r\n\t }\r\n\t\r\n\t /**\r\n\t * Toggle the blinking cursor\r\n\t * @param {boolean} isBlinking\r\n\t * @private\r\n\t */\r\n\t }, {\r\n\t key: 'toggleBlinking',\r\n\t value: function toggleBlinking(isBlinking) {\r\n\t if (!this.cursor) return;\r\n\t // if in paused state, don't toggle blinking a 2nd time\r\n\t if (this.pause.status) return;\r\n\t if (this.cursorBlinking === isBlinking) return;\r\n\t this.cursorBlinking = isBlinking;\r\n\t if (isBlinking) {\r\n\t this.cursor.classList.add('typed-cursor--blink');\r\n\t } else {\r\n\t this.cursor.classList.remove('typed-cursor--blink');\r\n\t }\r\n\t }\r\n\t\r\n\t /**\r\n\t * Speed in MS to type\r\n\t * @param {number} speed\r\n\t * @private\r\n\t */\r\n\t }, {\r\n\t key: 'humanizer',\r\n\t value: function humanizer(speed) {\r\n\t return Math.round(Math.random() * speed / 2) + speed;\r\n\t }\r\n\t\r\n\t /**\r\n\t * Shuffle the sequence of the strings array\r\n\t * @private\r\n\t */\r\n\t }, {\r\n\t key: 'shuffleStringsIfNeeded',\r\n\t value: function shuffleStringsIfNeeded() {\r\n\t if (!this.shuffle) return;\r\n\t this.sequence = this.sequence.sort(function () {\r\n\t return Math.random() - 0.5;\r\n\t });\r\n\t }\r\n\t\r\n\t /**\r\n\t * Adds a CSS class to fade out current string\r\n\t * @private\r\n\t */\r\n\t }, {\r\n\t key: 'initFadeOut',\r\n\t value: function initFadeOut() {\r\n\t var _this5 = this;\r\n\t\r\n\t this.el.className += ' ' + this.fadeOutClass;\r\n\t if (this.cursor) this.cursor.className += ' ' + this.fadeOutClass;\r\n\t return setTimeout(function () {\r\n\t _this5.arrayPos++;\r\n\t _this5.replaceText('');\r\n\t\r\n\t // Resets current string if end of loop reached\r\n\t if (_this5.strings.length > _this5.arrayPos) {\r\n\t _this5.typewrite(_this5.strings[_this5.sequence[_this5.arrayPos]], 0);\r\n\t } else {\r\n\t _this5.typewrite(_this5.strings[0], 0);\r\n\t _this5.arrayPos = 0;\r\n\t }\r\n\t }, this.fadeOutDelay);\r\n\t }\r\n\t\r\n\t /**\r\n\t * Replaces current text in the HTML element\r\n\t * depending on element type\r\n\t * @param {string} str\r\n\t * @private\r\n\t */\r\n\t }, {\r\n\t key: 'replaceText',\r\n\t value: function replaceText(str) {\r\n\t if (this.attr) {\r\n\t this.el.setAttribute(this.attr, str);\r\n\t } else {\r\n\t if (this.isInput) {\r\n\t this.el.value = str;\r\n\t } else if (this.contentType === 'html') {\r\n\t this.el.innerHTML = str;\r\n\t } else {\r\n\t this.el.textContent = str;\r\n\t }\r\n\t }\r\n\t }\r\n\t\r\n\t /**\r\n\t * If using input elements, bind focus in order to\r\n\t * start and stop the animation\r\n\t * @private\r\n\t */\r\n\t }, {\r\n\t key: 'bindFocusEvents',\r\n\t value: function bindFocusEvents() {\r\n\t var _this6 = this;\r\n\t\r\n\t if (!this.isInput) return;\r\n\t this.el.addEventListener('focus', function (e) {\r\n\t _this6.stop();\r\n\t });\r\n\t this.el.addEventListener('blur', function (e) {\r\n\t if (_this6.el.value && _this6.el.value.length !== 0) {\r\n\t return;\r\n\t }\r\n\t _this6.start();\r\n\t });\r\n\t }\r\n\t\r\n\t /**\r\n\t * On init, insert the cursor element\r\n\t * @private\r\n\t */\r\n\t }, {\r\n\t key: 'insertCursor',\r\n\t value: function insertCursor() {\r\n\t if (!this.showCursor) return;\r\n\t if (this.cursor) return;\r\n\t this.cursor = document.createElement('span');\r\n\t this.cursor.className = 'typed-cursor';\r\n\t this.cursor.innerHTML = this.cursorChar;\r\n\t this.el.parentNode && this.el.parentNode.insertBefore(this.cursor, this.el.nextSibling);\r\n\t }\r\n\t }]);\r\n\t\r\n\t return Typed;\r\n\t})();\r\n\t\r\n\texports['default'] = Typed;\r\n\tmodule.exports = exports['default'];\r\n\r\n/***/ }),\r\n/* 1 */\r\n/***/ (function(module, exports, __webpack_require__) {\r\n\r\n\t'use strict';\r\n\t\r\n\tObject.defineProperty(exports, '__esModule', {\r\n\t value: true\r\n\t});\r\n\t\r\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\r\n\t\r\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\r\n\t\r\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\r\n\t\r\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\r\n\t\r\n\tvar _defaultsJs = __webpack_require__(2);\r\n\t\r\n\tvar _defaultsJs2 = _interopRequireDefault(_defaultsJs);\r\n\t\r\n\t/**\r\n\t * Initialize the Typed object\r\n\t */\r\n\t\r\n\tvar Initializer = (function () {\r\n\t function Initializer() {\r\n\t _classCallCheck(this, Initializer);\r\n\t }\r\n\t\r\n\t _createClass(Initializer, [{\r\n\t key: 'load',\r\n\t\r\n\t /**\r\n\t * Load up defaults & options on the Typed instance\r\n\t * @param {Typed} self instance of Typed\r\n\t * @param {object} options options object\r\n\t * @param {string} elementId HTML element ID _OR_ instance of HTML element\r\n\t * @private\r\n\t */\r\n\t\r\n\t value: function load(self, options, elementId) {\r\n\t // chosen element to manipulate text\r\n\t if (typeof elementId === 'string') {\r\n\t self.el = document.querySelector(elementId);\r\n\t } else {\r\n\t self.el = elementId;\r\n\t }\r\n\t\r\n\t self.options = _extends({}, _defaultsJs2['default'], options);\r\n\t\r\n\t // attribute to type into\r\n\t self.isInput = self.el.tagName.toLowerCase() === 'input';\r\n\t self.attr = self.options.attr;\r\n\t self.bindInputFocusEvents = self.options.bindInputFocusEvents;\r\n\t\r\n\t // show cursor\r\n\t self.showCursor = self.isInput ? false : self.options.showCursor;\r\n\t\r\n\t // custom cursor\r\n\t self.cursorChar = self.options.cursorChar;\r\n\t\r\n\t // Is the cursor blinking\r\n\t self.cursorBlinking = true;\r\n\t\r\n\t // text content of element\r\n\t self.elContent = self.attr ? self.el.getAttribute(self.attr) : self.el.textContent;\r\n\t\r\n\t // html or plain text\r\n\t self.contentType = self.options.contentType;\r\n\t\r\n\t // typing speed\r\n\t self.typeSpeed = self.options.typeSpeed;\r\n\t\r\n\t // add a delay before typing starts\r\n\t self.startDelay = self.options.startDelay;\r\n\t\r\n\t // backspacing speed\r\n\t self.backSpeed = self.options.backSpeed;\r\n\t\r\n\t // only backspace what doesn't match the previous string\r\n\t self.smartBackspace = self.options.smartBackspace;\r\n\t\r\n\t // amount of time to wait before backspacing\r\n\t self.backDelay = self.options.backDelay;\r\n\t\r\n\t // Fade out instead of backspace\r\n\t self.fadeOut = self.options.fadeOut;\r\n\t self.fadeOutClass = self.options.fadeOutClass;\r\n\t self.fadeOutDelay = self.options.fadeOutDelay;\r\n\t\r\n\t // variable to check whether typing is currently paused\r\n\t self.isPaused = false;\r\n\t\r\n\t // input strings of text\r\n\t self.strings = self.options.strings.map(function (s) {\r\n\t return s.trim();\r\n\t });\r\n\t\r\n\t // div containing strings\r\n\t if (typeof self.options.stringsElement === 'string') {\r\n\t self.stringsElement = document.querySelector(self.options.stringsElement);\r\n\t } else {\r\n\t self.stringsElement = self.options.stringsElement;\r\n\t }\r\n\t\r\n\t if (self.stringsElement) {\r\n\t self.strings = [];\r\n\t self.stringsElement.style.display = 'none';\r\n\t var strings = Array.prototype.slice.apply(self.stringsElement.children);\r\n\t var stringsLength = strings.length;\r\n\t\r\n\t if (stringsLength) {\r\n\t for (var i = 0; i < stringsLength; i += 1) {\r\n\t var stringEl = strings[i];\r\n\t self.strings.push(stringEl.innerHTML.trim());\r\n\t }\r\n\t }\r\n\t }\r\n\t\r\n\t // character number position of current string\r\n\t self.strPos = 0;\r\n\t\r\n\t // current array position\r\n\t self.arrayPos = 0;\r\n\t\r\n\t // index of string to stop backspacing on\r\n\t self.stopNum = 0;\r\n\t\r\n\t // Looping logic\r\n\t self.loop = self.options.loop;\r\n\t self.loopCount = self.options.loopCount;\r\n\t self.curLoop = 0;\r\n\t\r\n\t // shuffle the strings\r\n\t self.shuffle = self.options.shuffle;\r\n\t // the order of strings\r\n\t self.sequence = [];\r\n\t\r\n\t self.pause = {\r\n\t status: false,\r\n\t typewrite: true,\r\n\t curString: '',\r\n\t curStrPos: 0\r\n\t };\r\n\t\r\n\t // When the typing is complete (when not looped)\r\n\t self.typingComplete = false;\r\n\t\r\n\t // Set the order in which the strings are typed\r\n\t for (var i in self.strings) {\r\n\t self.sequence[i] = i;\r\n\t }\r\n\t\r\n\t // If there is some text in the element\r\n\t self.currentElContent = this.getCurrentElContent(self);\r\n\t\r\n\t self.autoInsertCss = self.options.autoInsertCss;\r\n\t\r\n\t this.appendAnimationCss(self);\r\n\t }\r\n\t }, {\r\n\t key: 'getCurrentElContent',\r\n\t value: function getCurrentElContent(self) {\r\n\t var elContent = '';\r\n\t if (self.attr) {\r\n\t elContent = self.el.getAttribute(self.attr);\r\n\t } else if (self.isInput) {\r\n\t elContent = self.el.value;\r\n\t } else if (self.contentType === 'html') {\r\n\t elContent = self.el.innerHTML;\r\n\t } else {\r\n\t elContent = self.el.textContent;\r\n\t }\r\n\t return elContent;\r\n\t }\r\n\t }, {\r\n\t key: 'appendAnimationCss',\r\n\t value: function appendAnimationCss(self) {\r\n\t var cssDataName = 'data-typed-js-css';\r\n\t if (!self.autoInsertCss) {\r\n\t return;\r\n\t }\r\n\t if (!self.showCursor && !self.fadeOut) {\r\n\t return;\r\n\t }\r\n\t if (document.querySelector('[' + cssDataName + ']')) {\r\n\t return;\r\n\t }\r\n\t\r\n\t var css = document.createElement('style');\r\n\t css.type = 'text/css';\r\n\t css.setAttribute(cssDataName, true);\r\n\t\r\n\t var innerCss = '';\r\n\t if (self.showCursor) {\r\n\t innerCss += '\\n .typed-cursor{\\n opacity: 1;\\n }\\n .typed-cursor.typed-cursor--blink{\\n animation: typedjsBlink 0.7s infinite;\\n -webkit-animation: typedjsBlink 0.7s infinite;\\n animation: typedjsBlink 0.7s infinite;\\n }\\n @keyframes typedjsBlink{\\n 50% { opacity: 0.0; }\\n }\\n @-webkit-keyframes typedjsBlink{\\n 0% { opacity: 1; }\\n 50% { opacity: 0.0; }\\n 100% { opacity: 1; }\\n }\\n ';\r\n\t }\r\n\t if (self.fadeOut) {\r\n\t innerCss += '\\n .typed-fade-out{\\n opacity: 0;\\n transition: opacity .25s;\\n }\\n .typed-cursor.typed-cursor--blink.typed-fade-out{\\n -webkit-animation: 0;\\n animation: 0;\\n }\\n ';\r\n\t }\r\n\t if (css.length === 0) {\r\n\t return;\r\n\t }\r\n\t css.innerHTML = innerCss;\r\n\t document.body.appendChild(css);\r\n\t }\r\n\t }]);\r\n\t\r\n\t return Initializer;\r\n\t})();\r\n\t\r\n\texports['default'] = Initializer;\r\n\tvar initializer = new Initializer();\r\n\texports.initializer = initializer;\r\n\r\n/***/ }),\r\n/* 2 */\r\n/***/ (function(module, exports) {\r\n\r\n\t/**\r\n\t * Defaults & options\r\n\t * @returns {object} Typed defaults & options\r\n\t * @public\r\n\t */\r\n\t\r\n\t'use strict';\r\n\t\r\n\tObject.defineProperty(exports, '__esModule', {\r\n\t value: true\r\n\t});\r\n\tvar defaults = {\r\n\t /**\r\n\t * @property {array} strings strings to be typed\r\n\t * @property {string} stringsElement ID of element containing string children\r\n\t */\r\n\t strings: ['These are the default values...', 'You know what you should do?', 'Use your own!', 'Have a great day!'],\r\n\t stringsElement: null,\r\n\t\r\n\t /**\r\n\t * @property {number} typeSpeed type speed in milliseconds\r\n\t */\r\n\t typeSpeed: 0,\r\n\t\r\n\t /**\r\n\t * @property {number} startDelay time before typing starts in milliseconds\r\n\t */\r\n\t startDelay: 0,\r\n\t\r\n\t /**\r\n\t * @property {number} backSpeed backspacing speed in milliseconds\r\n\t */\r\n\t backSpeed: 0,\r\n\t\r\n\t /**\r\n\t * @property {boolean} smartBackspace only backspace what doesn't match the previous string\r\n\t */\r\n\t smartBackspace: true,\r\n\t\r\n\t /**\r\n\t * @property {boolean} shuffle shuffle the strings\r\n\t */\r\n\t shuffle: false,\r\n\t\r\n\t /**\r\n\t * @property {number} backDelay time before backspacing in milliseconds\r\n\t */\r\n\t backDelay: 700,\r\n\t\r\n\t /**\r\n\t * @property {boolean} fadeOut Fade out instead of backspace\r\n\t * @property {string} fadeOutClass css class for fade animation\r\n\t * @property {boolean} fadeOutDelay Fade out delay in milliseconds\r\n\t */\r\n\t fadeOut: false,\r\n\t fadeOutClass: 'typed-fade-out',\r\n\t fadeOutDelay: 500,\r\n\t\r\n\t /**\r\n\t * @property {boolean} loop loop strings\r\n\t * @property {number} loopCount amount of loops\r\n\t */\r\n\t loop: false,\r\n\t loopCount: Infinity,\r\n\t\r\n\t /**\r\n\t * @property {boolean} showCursor show cursor\r\n\t * @property {string} cursorChar character for cursor\r\n\t * @property {boolean} autoInsertCss insert CSS for cursor and fadeOut into HTML \r\n\t */\r\n\t showCursor: true,\r\n\t cursorChar: '|',\r\n\t autoInsertCss: true,\r\n\t\r\n\t /**\r\n\t * @property {string} attr attribute for typing\r\n\t * Ex: input placeholder, value, or just HTML text\r\n\t */\r\n\t attr: null,\r\n\t\r\n\t /**\r\n\t * @property {boolean} bindInputFocusEvents bind to focus and blur if el is text input\r\n\t */\r\n\t bindInputFocusEvents: false,\r\n\t\r\n\t /**\r\n\t * @property {string} contentType 'html' or 'null' for plaintext\r\n\t */\r\n\t contentType: 'html',\r\n\t\r\n\t /**\r\n\t * Before it begins typing\r\n\t * @param {Typed} self\r\n\t */\r\n\t onBegin: function onBegin(self) {},\r\n\t\r\n\t /**\r\n\t * All typing is complete\r\n\t * @param {Typed} self\r\n\t */\r\n\t onComplete: function onComplete(self) {},\r\n\t\r\n\t /**\r\n\t * Before each string is typed\r\n\t * @param {number} arrayPos\r\n\t * @param {Typed} self\r\n\t */\r\n\t preStringTyped: function preStringTyped(arrayPos, self) {},\r\n\t\r\n\t /**\r\n\t * After each string is typed\r\n\t * @param {number} arrayPos\r\n\t * @param {Typed} self\r\n\t */\r\n\t onStringTyped: function onStringTyped(arrayPos, self) {},\r\n\t\r\n\t /**\r\n\t * During looping, after last string is typed\r\n\t * @param {Typed} self\r\n\t */\r\n\t onLastStringBackspaced: function onLastStringBackspaced(self) {},\r\n\t\r\n\t /**\r\n\t * Typing has been stopped\r\n\t * @param {number} arrayPos\r\n\t * @param {Typed} self\r\n\t */\r\n\t onTypingPaused: function onTypingPaused(arrayPos, self) {},\r\n\t\r\n\t /**\r\n\t * Typing has been started after being stopped\r\n\t * @param {number} arrayPos\r\n\t * @param {Typed} self\r\n\t */\r\n\t onTypingResumed: function onTypingResumed(arrayPos, self) {},\r\n\t\r\n\t /**\r\n\t * After reset\r\n\t * @param {Typed} self\r\n\t */\r\n\t onReset: function onReset(self) {},\r\n\t\r\n\t /**\r\n\t * After stop\r\n\t * @param {number} arrayPos\r\n\t * @param {Typed} self\r\n\t */\r\n\t onStop: function onStop(arrayPos, self) {},\r\n\t\r\n\t /**\r\n\t * After start\r\n\t * @param {number} arrayPos\r\n\t * @param {Typed} self\r\n\t */\r\n\t onStart: function onStart(arrayPos, self) {},\r\n\t\r\n\t /**\r\n\t * After destroy\r\n\t * @param {Typed} self\r\n\t */\r\n\t onDestroy: function onDestroy(self) {}\r\n\t};\r\n\t\r\n\texports['default'] = defaults;\r\n\tmodule.exports = exports['default'];\r\n\r\n/***/ }),\r\n/* 3 */\r\n/***/ (function(module, exports) {\r\n\r\n\t/**\r\n\t * TODO: These methods can probably be combined somehow\r\n\t * Parse HTML tags & HTML Characters\r\n\t */\r\n\t\r\n\t'use strict';\r\n\t\r\n\tObject.defineProperty(exports, '__esModule', {\r\n\t value: true\r\n\t});\r\n\t\r\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\r\n\t\r\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\r\n\t\r\n\tvar HTMLParser = (function () {\r\n\t function HTMLParser() {\r\n\t _classCallCheck(this, HTMLParser);\r\n\t }\r\n\t\r\n\t _createClass(HTMLParser, [{\r\n\t key: 'typeHtmlChars',\r\n\t\r\n\t /**\r\n\t * Type HTML tags & HTML Characters\r\n\t * @param {string} curString Current string\r\n\t * @param {number} curStrPos Position in current string\r\n\t * @param {Typed} self instance of Typed\r\n\t * @returns {number} a new string position\r\n\t * @private\r\n\t */\r\n\t\r\n\t value: function typeHtmlChars(curString, curStrPos, self) {\r\n\t if (self.contentType !== 'html') return curStrPos;\r\n\t var curChar = curString.substr(curStrPos).charAt(0);\r\n\t if (curChar === '<' || curChar === '&') {\r\n\t var endTag = '';\r\n\t if (curChar === '<') {\r\n\t endTag = '>';\r\n\t } else {\r\n\t endTag = ';';\r\n\t }\r\n\t while (curString.substr(curStrPos + 1).charAt(0) !== endTag) {\r\n\t curStrPos++;\r\n\t if (curStrPos + 1 > curString.length) {\r\n\t break;\r\n\t }\r\n\t }\r\n\t curStrPos++;\r\n\t }\r\n\t return curStrPos;\r\n\t }\r\n\t\r\n\t /**\r\n\t * Backspace HTML tags and HTML Characters\r\n\t * @param {string} curString Current string\r\n\t * @param {number} curStrPos Position in current string\r\n\t * @param {Typed} self instance of Typed\r\n\t * @returns {number} a new string position\r\n\t * @private\r\n\t */\r\n\t }, {\r\n\t key: 'backSpaceHtmlChars',\r\n\t value: function backSpaceHtmlChars(curString, curStrPos, self) {\r\n\t if (self.contentType !== 'html') return curStrPos;\r\n\t var curChar = curString.substr(curStrPos).charAt(0);\r\n\t if (curChar === '>' || curChar === ';') {\r\n\t var endTag = '';\r\n\t if (curChar === '>') {\r\n\t endTag = '<';\r\n\t } else {\r\n\t endTag = '&';\r\n\t }\r\n\t while (curString.substr(curStrPos - 1).charAt(0) !== endTag) {\r\n\t curStrPos--;\r\n\t if (curStrPos < 0) {\r\n\t break;\r\n\t }\r\n\t }\r\n\t curStrPos--;\r\n\t }\r\n\t return curStrPos;\r\n\t }\r\n\t }]);\r\n\t\r\n\t return HTMLParser;\r\n\t})();\r\n\t\r\n\texports['default'] = HTMLParser;\r\n\tvar htmlParser = new HTMLParser();\r\n\texports.htmlParser = htmlParser;\r\n\r\n/***/ })\r\n/******/ ])\r\n});\r\n;"]}