{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/images/icons/login.svg","webpack:///./src/images/icons/password.svg","webpack:///./src/scss/react/login/login.scss","webpack:///./src/ts/react/login/index.tsx","webpack:///./src/ts/react/login/login-form.tsx","webpack:///./src/ts/react/login/login.tsx"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","13","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","oldJsonpFunction","jsonpArray","window","slice","symbol","add","Login","document","addEventListener","ReactDOM","render","getElementById","Form","errors","formIsValid","userConfirmed","awaitingConfirmation","awaitingLogin","loginWarning","actionButton","className","ButtonSpinner","version","type","onClick","this","checkUser","xlinkHref","onSubmit","handleSubmit","Input","label","ref","usernameInput","username","onChange","handleChange","handleWhiteSpace","onBlur","handleBlur","handleUsernameClick","undefined","error","autoFocus","inputIcon","readOnly","passwordInput","password","hidden","href","target","dangerouslySetInnerHTML","__html","disabled","focusUsernameInput","current","focus","focusPasswordInput","props","schema","Yup","string","email","required","e","preventDefault","setState","validate","postJsonDataNoSession","location","state","then","response","headers","redirectUrl","replace","validateProperty","errorMessage","postData","localAccount","returnTo","escape","getParameterByName","catch","returnUrl","React","createRef","LoginForm","Component","id","BrowserSupportBanner"],"mappings":"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","file":"js/login.ca8d929a77387f61423b.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t13: 0\n \t};\n\n \tvar deferredModules = [];\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 = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"./src/ts/react/login/index.tsx\",0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"login\",\n \"use\": \"login-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"password\",\n \"use\": \"password-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","// extracted by mini-css-extract-plugin\nexport {};","declare function require(moduleName: string): any;\r\n\r\nimport * as React from 'react';\r\nimport * as ReactDOM from 'react-dom';\r\n\r\nimport { Login as Root } from './login';\r\n\r\nlet Login: typeof Root = require('./login').Login;\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n ReactDOM.render(, document.getElementById('content-wrapper'));\r\n});\r\n\r\nif (module.hot) {\r\n module.hot.accept(['./login'], () => {\r\n Login = require('./login').Login;\r\n });\r\n}\r\n","import '../../../scss/react/shared-components/form-elements.scss';\r\n\r\nimport '../../../images/icons/login.svg';\r\nimport '../../../images/icons/password.svg';\r\nimport '../../../images/icons/user.svg';\r\n\r\nimport * as React from 'react';\r\nimport * as Yup from 'yup';\r\n\r\nimport { getParameterByName, postData, postJsonDataNoSession } from '../../shared';\r\nimport { ButtonSpinner } from '../shared-components/button-spinner';\r\nimport { BaseFormState, Form } from '../shared-components/form/form';\r\nimport { Input } from '../shared-components/form/input';\r\n\r\ninterface LoginFormState extends BaseFormState {\r\n userConfirmed: boolean;\r\n awaitingConfirmation: boolean;\r\n awaitingLogin: boolean;\r\n loginWarning: string;\r\n}\r\n\r\nexport class LoginForm extends Form<{}, LoginFormState> {\r\n\r\n protected schema = Yup.object({\r\n username: Yup.string()\r\n .email()\r\n .required()\r\n .label('Username'),\r\n password: Yup.string()\r\n .required()\r\n .label('Password'),\r\n });\r\n\r\n private usernameInput: string | React.RefObject<{}> | any;\r\n private passwordInput: string | React.RefObject<{}> | any;\r\n\r\n public constructor(props: {}) {\r\n super(props);\r\n\r\n this.state = {\r\n userConfirmed: false,\r\n awaitingConfirmation: false,\r\n awaitingLogin: false,\r\n loginWarning: null,\r\n data: { username: '', password: '', returnUrl: getParameterByName('returnUrl') },\r\n errors: {},\r\n formIsValid: false,\r\n };\r\n\r\n this.usernameInput = React.createRef();\r\n this.passwordInput = React.createRef();\r\n this.focusUsernameInput = this.focusUsernameInput.bind(this);\r\n this.focusPasswordInput = this.focusPasswordInput.bind(this);\r\n }\r\n\r\n public render() {\r\n const { data, errors, formIsValid, userConfirmed, awaitingConfirmation, awaitingLogin, loginWarning } = this.state;\r\n let actionButton;\r\n if (!userConfirmed && !awaitingConfirmation) {\r\n actionButton = (\r\n \r\n );\r\n } else if (awaitingConfirmation) {\r\n actionButton = (\r\n
\r\n \r\n
\r\n );\r\n } else {\r\n actionButton = null;\r\n }\r\n return (\r\n
\r\n \r\n {actionButton}\r\n \r\n