{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/img/results/default-win.png","webpack:///./src/assets/img/harry-potter/sorting hat.png","webpack:///./src/assets/img/harry-potter/lego.png","webpack:///./src/assets/img/disney/goofy.png","webpack:///./src/assets/img/joker2.png","webpack:///./src/assets/img/harry-potter/platform.png","webpack:///./src/assets sync ^\\.\\/.*$","webpack:///./src/assets/fabric.png","webpack:///./src/components/Game/GameBoard.vue?1762","webpack:///./src/components/Game/Card.vue?a1d1","webpack:///./src/views/Home.vue?0215","webpack:///./src/assets/img/harlequin.png","webpack:///./src/App.vue?4a7f","webpack:///src/App.vue","webpack:///./src/App.vue?3359","webpack:///./src/App.vue?2667","webpack:///./src/views/Home.vue?35ca","webpack:///./src/components/Game/GameBoard.vue?68b3","webpack:///./src/components/Game/Card.vue?8911","webpack:///src/components/Game/Card.vue","webpack:///./src/components/Game/Card.vue?da8a","webpack:///./src/components/Game/Card.vue?42a9","webpack:///./src/components/Game/Winning.vue?8c55","webpack:///src/components/Game/Winning.vue","webpack:///./src/components/Game/Winning.vue?5c71","webpack:///./src/components/Game/Winning.vue?efc1","webpack:///./src/components/Basics/Selection.vue?f07f","webpack:///src/components/Basics/Selection.vue","webpack:///./src/components/Basics/Selection.vue?bee5","webpack:///./src/components/Basics/Selection.vue?e51a","webpack:///src/components/Game/GameBoard.vue","webpack:///./src/components/Game/GameBoard.vue?8ae9","webpack:///./src/components/Game/GameBoard.vue?1a04","webpack:///src/views/Home.vue","webpack:///./src/views/Home.vue?f458","webpack:///./src/views/Home.vue?1dce","webpack:///./src/router/index.js","webpack:///./src/api/templates.js","webpack:///./src/store/index.js","webpack:///./src/plugins/vuetify.js","webpack:///./src/main.js","webpack:///./src/assets/img/alphabet.png","webpack:///./src/App.vue?30f2","webpack:///./src/components/Basics/Selection.vue?2e43","webpack:///./src/assets/img/results/disney-win.png","webpack:///./src/assets/img/star-wars/death-star.png","webpack:///./src/assets/img/harry-potter/head.png","webpack:///./src/assets/diana-avatar.png","webpack:///./src/assets/img/star-wars/darth-vader.png","webpack:///./src/assets/img/results/full-deck.png","webpack:///./src/assets/img/disney/scrooge.png","webpack:///./src/assets/img/harry-potter/deathly hallows.png","webpack:///./src/assets/img/harry-potter/no-good.png","webpack:///./src/assets/img/star-wars/leia.png","webpack:///./src/assets/img/results/theme-selection.png","webpack:///./src/assets/img/results/alphabet-win.png","webpack:///./src/assets/img/star-wars/yoda.png","webpack:///./src/assets/img/disney/daisy duck.png","webpack:///./src/assets/myAvatar.svg","webpack:///./src/components/Game/Winning.vue?8bf0","webpack:///./src/assets/img/star-wars/c3po.png","webpack:///./src/assets/img/disney/mickey.png","webpack:///./src/assets/img/results/harry-potter-extended-win.png","webpack:///./src/assets/img/results/vehicles-win.png","webpack:///./src/assets/img/star-wars/r2d2.png","webpack:///./src/assets/img/results/harry-potter-win.png","webpack:///./src/assets/img/disney/pluto.png","webpack:///./src/assets/img/harry-potter/hogwarts.png","webpack:///./src/assets/img/disney/mickey-and-minnie.png","webpack:///./src/assets/img/harry-potter/flying harry.png","webpack:///./src/assets/img/disney/minnie.png","webpack:///./src/assets/img/star-wars/wookie.png","webpack:///./src/assets/img/disney/donald duck.png","webpack:///./src/assets/img/star-wars/droid.png","webpack:///./src/assets/img/results/star-wars-win.png"],"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","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","keys","_vm","this","_h","$createElement","_c","_self","attrs","scopedSlots","_u","fn","ref","on","_g","_b","staticClass","gotToMainMenu","_v","gotToInstructionMenu","goToAbout","staticRenderFns","methods","$router","component","VApp","VAppBar","VBtn","VContainer","VIcon","VMain","VSpacer","VTooltip","_s","routeAccessibilityMessage","gameAccessibilityMessage","_e","onPlayAgain","gameThemeItems","$event","changeTemplate","gameTheme","item","model","callback","$$v","expression","_l","deck","card","index","flipped","flipThisCard","class","cardClass","match","flipCard","icon","img","imageSource","style","winningMessage","stars","star","playAgain","image","iconColor","text","VCard","VSelect","components","GameBoard","computed","watch","$route","$refs","skipLink","focus","announceRoute","$nextTick","navLinks","querySelectorAll","forEach","current","removeAttribute","updateRouteAccessibilityMessage","Vue","use","VueRouter","routes","path","Home","meta","title","metaTags","content","router","base","process","getTemplateInformation","useIcons","useText","iconPrefix","images","folder","Vuex","Store","state","templateName","templateUseIcons","templateUseText","templateImages","win","cardsFlipped","amountCardsFlipped","amountMoves","cardsMatched","cards","getters","accessibilityMessage","gameUpdate","mutations","UPDATE_TEMPLATE","templatePayload","templateFolder","SHUFFLE_DECK","getImagePath","close","temporaryValue","randomIndex","shuffleCards","currentIndex","Math","floor","random","NEW_GAME","UPDATE_AMOUNT_CARDS_FLIPPED","payload","UPDATE_CARDS_MATCHED","RESET_CARDS_MATCHED","ADD_CARD_FLIPPED","UPDATE_AMOUNT_MOVES","FLIP_CARD","cardPayload","CLOSE_CARD","MARK_MATCHED_CARD","RESET_CARDS_FLIPPED","UPDATE_GAME_ACCESSIBILITY_MESSAGE","UPDATE_ROUTE_ACCESSIBILITY_MESSAGE","UPDATE_WIN","UPDATE_STARS","actions","getTemplate","commit","template","randomAlphabet","templateInformation","templates","resetCardsFlipped","flipCardPayload","shuffle","updateCardsFlipped","updateAmountMoves","moves","newGame","closeCard","closeCardPayload","markMatchedCards","cardName","setNewMatch","updateAccessibilityMessage","updateWin","updateStars","imageName","Vuetify","vuetify","theme","themes","dark","primary","colors","blue","lighten3","light","teal","secondary","grey","darken1","accent","shades","black","red","accent3","config","productionTip","store","render","h","App","$mount","directive","inserted","el"],"mappings":"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","file":"js/app.cfd37b5f.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 CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\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\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"about\":\"about\",\"instructions\":\"instructions\"}[chunkId]||chunkId) + \".\" + {\"about\":\"f6e5cdcc\",\"instructions\":\"95765489\"}[chunkId] + \".js\"\n \t}\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 \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"about\":1,\"instructions\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"about\":\"about\",\"instructions\":\"instructions\"}[chunkId]||chunkId) + \".\" + {\"about\":\"60e10869\",\"instructions\":\"b71d8256\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\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 \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\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([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = __webpack_public_path__ + \"img/default-win.38b6e4de.png\";","module.exports = __webpack_public_path__ + \"img/sorting hat.7af4a7db.png\";","module.exports = __webpack_public_path__ + \"img/lego.0ed4bdc0.png\";","module.exports = __webpack_public_path__ + \"img/goofy.e58caa71.png\";","module.exports = __webpack_public_path__ + \"img/joker2.076c3f91.png\";","module.exports = __webpack_public_path__ + \"img/platform.743ac0c9.png\";","var map = {\n\t\"./diana-avatar.png\": \"75b2\",\n\t\"./fabric.png\": \"1b42\",\n\t\"./img/alphabet.png\": \"59f5\",\n\t\"./img/disney/daisy duck.png\": \"a5a3\",\n\t\"./img/disney/donald duck.png\": \"ece7\",\n\t\"./img/disney/goofy.png\": \"06e3\",\n\t\"./img/disney/mickey-and-minnie.png\": \"deb3\",\n\t\"./img/disney/mickey.png\": \"c4df\",\n\t\"./img/disney/minnie.png\": \"e233\",\n\t\"./img/disney/pluto.png\": \"dbc9\",\n\t\"./img/disney/scrooge.png\": \"8b4f\",\n\t\"./img/harlequin.png\": \"5626\",\n\t\"./img/harry-potter/deathly hallows.png\": \"91ac\",\n\t\"./img/harry-potter/flying harry.png\": \"e00b\",\n\t\"./img/harry-potter/head.png\": \"6e46\",\n\t\"./img/harry-potter/hogwarts.png\": \"de9b\",\n\t\"./img/harry-potter/lego.png\": \"04a7\",\n\t\"./img/harry-potter/no-good.png\": \"925f\",\n\t\"./img/harry-potter/platform.png\": \"09b3\",\n\t\"./img/harry-potter/sorting hat.png\": \"01d0\",\n\t\"./img/joker2.png\": \"075f\",\n\t\"./img/results/alphabet-win.png\": \"9e3d\",\n\t\"./img/results/default-win.png\": \"0173\",\n\t\"./img/results/disney-win.png\": \"5e06\",\n\t\"./img/results/full-deck.png\": \"855c\",\n\t\"./img/results/harry-potter-extended-win.png\": \"cf2d\",\n\t\"./img/results/harry-potter-win.png\": \"d50f\",\n\t\"./img/results/star-wars-win.png\": \"ffa5\",\n\t\"./img/results/theme-selection.png\": \"9bcc\",\n\t\"./img/results/vehicles-win.png\": \"d2c1\",\n\t\"./img/star-wars/c3po.png\": \"c256\",\n\t\"./img/star-wars/darth-vader.png\": \"789b\",\n\t\"./img/star-wars/death-star.png\": \"656e\",\n\t\"./img/star-wars/droid.png\": \"f88b\",\n\t\"./img/star-wars/leia.png\": \"9a86\",\n\t\"./img/star-wars/r2d2.png\": \"d2d0\",\n\t\"./img/star-wars/wookie.png\": \"eb7a\",\n\t\"./img/star-wars/yoda.png\": \"9fe1\",\n\t\"./myAvatar.svg\": \"a5cc\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"1771\";","module.exports = __webpack_public_path__ + \"img/fabric.5959b418.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GameBoard.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Card.vue?vue&type=style&index=0&id=6bc0b9f6&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&id=64b7b717&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/harlequin.040ac940.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[_c('v-app-bar',{attrs:{\"app\":\"\",\"color\":\"primary\",\"dark\":\"\"}},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({staticClass:\"d-flex align-center\",on:{\"click\":_vm.gotToMainMenu}},'div',attrs,false),on),[_c('h3',[_vm._v(\"Memory Game\")])])]}}])},[_c('span',[_vm._v(\"Go to the Main Board page\")])]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"text\":\"\"},on:{\"click\":_vm.gotToInstructionMenu}},'v-btn',attrs,false),on),[_c('span',{staticClass:\"shrink hidden-sm-and-down mr-2\"},[_vm._v(\"Instructions\")])])]}}])},[_c('span',[_vm._v(\"Go to the Instructions page\")])]),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.goToAbout}},[_c('span',[_vm._v(\"About\")])]),_c('v-btn',{staticClass:\"text-small-devices\",attrs:{\"href\":\"https://github.com/diasor/memory-game-v2\",\"target\":\"_blank\",\"text\":\"\"}},[_c('span',[_vm._v(\"Latest Release\")]),_c('v-icon',{staticClass:\"release-icon\"},[_vm._v(\"mdi-open-in-new\")])],1)],1),_c('v-main',{staticClass:\"d-flex flex-wrap\"},[_c('v-container',[_c('router-view')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <v-app>\n    <v-app-bar app color=\"primary\" dark>\n       <v-tooltip bottom>\n          <template v-slot:activator=\"{ on, attrs }\">\n            <div\n              class=\"d-flex align-center\"\n              @click=\"gotToMainMenu\"\n              v-bind=\"attrs\"\n              v-on=\"on\"\n            >\n            <h3>Memory Game</h3>\n          </div>\n        </template>\n         <span>Go to the Main Board page</span>\n       </v-tooltip>\n      <v-spacer></v-spacer>\n\n      <v-tooltip bottom>\n        <template v-slot:activator=\"{ on, attrs }\">\n          <v-btn\n            @click=\"gotToInstructionMenu\"\n            text\n            v-bind=\"attrs\"\n            v-on=\"on\"\n          >\n            <span class=\"shrink hidden-sm-and-down mr-2\">Instructions</span>\n          </v-btn>\n        </template>\n         <span>Go to the Instructions page</span>\n      </v-tooltip>\n\n      <v-btn @click=\"goToAbout\" text>\n        <span>About</span>\n      </v-btn>\n\n      <v-btn\n        class=\"text-small-devices\"\n        href=\"https://github.com/diasor/memory-game-v2\"\n        target=\"_blank\"\n        text\n      >\n        <span>Latest Release</span>\n        <v-icon class=\"release-icon\">mdi-open-in-new</v-icon>\n      </v-btn>\n    </v-app-bar>\n\n    <v-main class=\"d-flex flex-wrap\">\n      <v-container>\n        <router-view></router-view>\n      </v-container>\n    </v-main>\n  </v-app>\n</template>\n\n<script>\nexport default {\n  name: \"App\",\n\n  methods: {\n    gotToMainMenu () {\n      this.$router.push({ path: \"/\" })\n    },\n\n    gotToInstructionMenu () {\n      this.$router.push({ path: \"/instructions\" })\n    },\n\n    goToAbout () {\n      this.$router.push({ path: \"/about\" })\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\">\n  .text-small-devices {\n    display: none !important;\n    width: 0 !important;\n\n    @media screen and (min-width: 450px) {\n      display: flex !important;\n      width: auto !important;\n    }\n  }\n\n  .release-icon {\n    padding-left: 5px;\n  }\n</style>\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=85cd71d4&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VApp,VAppBar,VBtn,VContainer,VIcon,VMain,VSpacer,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"memory-page\"}},[_c('header',[_c('ul',{staticClass:\"skip-links\"},[_c('li',[_c('a',{ref:\"skipLink\",attrs:{\"href\":\"#main\"}},[_vm._v(\"Skip to main content\")])])])]),_c('p',{attrs:{\"role\":\"status\"}},[_vm._v(_vm._s(_vm.routeAccessibilityMessage))]),_c('game-board')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"container\",attrs:{\"aria-label\":\"Memory Game Board\"}},[(_vm.gameAccessibilityMessage)?_c('p',{attrs:{\"role\":\"status\"}},[_c('b',[_vm._v(\"Accessibilty Text:\")]),_vm._v(\" \"+_vm._s(_vm.gameAccessibilityMessage)+\" \")]):_vm._e(),(_vm.win)?_c('winning',{on:{\"onPlayAgain\":_vm.onPlayAgain}}):_vm._e(),_c('main',{attrs:{\"id\":\"main\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"select-container\"},[_c('v-select',{staticClass:\"selection-container\",attrs:{\"id\":\"selection\",\"aria-label\":\"Theme selection\",\"name\":\"theme\",\"label\":\"Select Theme\",\"autofocus\":true,\"chips\":true,\"solo\":\"\",\"items\":_vm.gameThemeItems},on:{\"input\":function($event){return _vm.changeTemplate(_vm.gameTheme)}},scopedSlots:_vm._u([{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('selection',{attrs:{\"item\":item,\"isSelected\":true}})]}},{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('selection',{attrs:{\"item\":item,\"isSelected\":false}})]}}]),model:{value:(_vm.gameTheme),callback:function ($$v) {_vm.gameTheme=$$v},expression:\"gameTheme\"}})],1),_c('div',{staticClass:\"deck-layout\"},_vm._l((this.deck.cards),function(card,index){return _c('div',{key:index,staticClass:\"deck-cards\"},[_c('Card',{attrs:{\"aria-label\":[card.flipped ? card.name : ''],\"card\":card,\"index\":index},on:{\"onFlip\":function($event){return _vm.flipThisCard(card, index)}}})],1)}),0)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('button',{class:_vm.cardClass,attrs:{\"aria-describedby\":\"gameUpdate\",\"aria-label\":[ _vm.card.flipped ? _vm.card.name + ' flipped' : 'card ' + (_vm.index + 1)],\"disabled\":_vm.card.match},on:{\"click\":function($event){return _vm.flipCard()}}},[(!_vm.card.flipped)?_c('div',{staticClass:\"card\",style:(_vm.cssBackCard)}):(_vm.card.icon !== null)?_c('div',{class:_vm.card.icon}):(_vm.card.useText)?_c('div',{staticClass:\"card__text\"},[_vm._v(_vm._s(_vm.card.img))]):_c('div',{staticClass:\"card__svg\"},[(_vm.card.img)?_c('img',{attrs:{\"src\":_vm.imageSource}}):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <section>\n    <button\n      aria-describedby=\"gameUpdate\"\n      :aria-label=\"[ card.flipped ? card.name + ' flipped' : 'card ' + (index + 1)]\"\n      :class=\"cardClass\"\n      @click=\"flipCard()\"\n      :disabled=\"card.match\"\n    >\n      <div v-if=\"!card.flipped\" class=\"card\" :style=\"cssBackCard\" />\n      <div v-else-if=\"card.icon !== null\" :class=\"card.icon\"></div>\n      <div v-else-if=\"card.useText\" class=\"card__text\">{{ card.img }}</div>\n      <div v-else class=\"card__svg\">\n        <img v-if=\"card.img\" :src=\"imageSource\" />\n      </div>\n    </button>\n  </section>\n</template>\n\n<script>\nexport default {\n    name: \"Card\",\n\n    props: {\n        card: {\n            type: Object,\n            default: () => {}\n        },\n\n        index: {\n            type: Number,\n            required: true\n        }\n    },\n\n    data: () => ({\n        cssBackCard: {\n            backgroundBlendMode: \"overlay\",\n            backgroundImage: `url(${require(\"@/assets/img/joker2.png\")}), linear-gradient(to bottom, #424242, #B2DFDB)`,\n            backgroundPosition: \"center\",\n            backgroundSize: \"cover\"\n        }\n    }),\n\n    computed: {\n\t\timageSource () {\n            return this.card.img ? require(`../../assets/${this.card.img}`) : \"\"\n\t\t},\n\n\t\tcardClass () {\n\t\t\tif (this.card.match) {\n\t\t\t\treturn \"card match\"\n\t\t\t} else if (this.card.flipped) {\n\t\t\t\treturn \"card show\"\n\t\t\t} else if (this.card.close) {\n\t\t\t\treturn \"card close\"\n\t\t\t} else {\n\t\t\t\treturn \"card\"\n\t\t\t}\n\t\t}\n\t},\n\n\tmethods: {\n\t\tflipCard () {\n\t\t\tthis.$emit(\"onFlip\")\n\t\t}\n\t}\n}\n</script>\n\n<style lang=\"scss\" scoped>\n    $icon-size: 50px;\n    $card-small-size: 90px;\n    $card-image-medium-size: 112px;\n    $card-size: 125px;\n    $icon-background-color: #00695C;\n\n  .card {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    height: $card-small-size;\n    width: $card-small-size;\n    color: #ffffff;\n    border-radius: 8px;\n    cursor: pointer;\n    box-shadow: 5px 2px 20px 0 rgba(46, 61, 73, 0.5);\n    &:focus {\n      outline: none;\n    }\n\n    @media screen and (min-width: 450px) {\n      height: $card-size;\n      width: $card-size;\n    }\n\n    &__text {\n      font-family: 'Carter One', cursive;\n      font-size: 60px;\n      color: whitesmoke;\n    }\n\n    &__svg {\n      height: $card-small-size;\n      width: $card-small-size;\n      padding: 0;\n      border-radius: 0.5rem;\n      background-color: white !important;\n      margin: 0;\n      padding: 0;\n\n      @media screen and (min-width: 450px) {\n          height: $card-size;\n          width: $card-size;\n      }\n\n      > img {\n        height: $card-small-size;\n        width: $card-small-size;\n        padding: 0.3rem;\n        border-radius: 0.5rem;\n\n        @media screen and (min-width: 450px) {\n          height: $card-size;\n          width: $card-size;\n        }\n      }\n    }\n  }\n\n  .show {\n    font-size: $icon-size;\n    background-blend-mode: soft-light;\n    background:  $icon-background-color url(/img/fabric.5959b418.png);\n  }\n\n  .match {\n    font-size: $icon-size;\n    background-blend-mode: soft-light;\n    background:  $icon-background-color url(/img/fabric.5959b418.png);\n    animation-name: match-animation;\n    -webkit-animation-name: match-animation;\n    animation-duration: 1000ms;\n    -webkit-animation-duration: 1000ms;\n    transform-origin: 70% 70%;\n    animation-iteration-count: 1000ms;\n    animation-timing-function: linear;\n  }\n\n  .close {\n    cursor: default;\n    animation-name: close;\n    -webkit-animation-name: close;\n    animation-duration: 1000ms;\n    -webkit-animation-duration: 1000ms;\n    -webkit-animation-fill-mode: both;\n    animation-fill-mode: both;\n    &:hover,\n    &:focus {\n      background-blend-mode: hard-light;\n      color: $icon-background-color;\n      border: 2px solid $icon-background-color;\n    }\n  }\n\n  @keyframes match-animation {\n    0%,\n    100% {\n      transform: scale(1);\n    }\n    60% {\n      transform: scale(0.9);\n    }\n  }\n\n  @keyframes close {\n    0%,\n    100% {\n      transform: rotate(0deg);\n    }\n    50% {\n      transform: rotate(5deg);\n    }\n    80% {\n      transform: rotate(-5deg);\n    }\n  }\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Card.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Card.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Card.vue?vue&type=template&id=6bc0b9f6&scoped=true&\"\nimport script from \"./Card.vue?vue&type=script&lang=js&\"\nexport * from \"./Card.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Card.vue?vue&type=style&index=0&id=6bc0b9f6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6bc0b9f6\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"win-container\",attrs:{\"id\":\"congratulations\",\"aria-labelledby\":_vm.winningMessage,\"aria-label\":\"Congratulations! You have won!\"}},[_c('h2',{attrs:{\"tabindex\":\"-1\"}},[_vm._v(\"Congratulations!\")]),_c('ul',{staticClass:\"stars\",attrs:{\"aria-label\":_vm.stars + ' stars left'}},_vm._l((_vm.stars),function(star,index){return _c('li',{key:index},[_c('v-icon',{attrs:{\"center\":\"\",\"color\":\"#827717\"}},[_vm._v(\" fa-star \")])],1)}),0),_c('p',{attrs:{\"id\":\"winningMsg\",\"aria-label\":\"Congratulations! You have won!\"}},[_vm._v(_vm._s(_vm.winningMessage)+\" \")]),_c('v-btn',{attrs:{\"color\":\"#827717\"},on:{\"click\":_vm.playAgain}},[_c('span',{staticClass:\"button-class\"},[_vm._v(\"Play again!\")]),_c('v-icon',{attrs:{\"right\":\"\",\"dark\":\"\",\"color\":\"white\"}},[_vm._v(\" fa-play \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    id=\"congratulations\"\n    class=\"win-container\"\n    :aria-labelledby=\"winningMessage\"\n    aria-label=\"Congratulations! You have won!\"\n  >\n      <h2 tabindex=\"-1\">Congratulations!</h2>\n      <ul class=\"stars\" :aria-label=\"stars + ' stars left'\">\n        <li v-for=\"(star, index) in stars\" :key=\"index\">\n          <v-icon\n            center\n            color=\"#827717\"\n          >\n            fa-star\n          </v-icon>\n        </li>\n      </ul>\n      <p\n        id=\"winningMsg\"\n        aria-label=\"Congratulations! You have won!\"\n        >{{ winningMessage }}\n      </p>\n      <v-btn\n        color=\"#827717\"\n        @click=\"playAgain\"\n        >\n        <span class=\"button-class\">Play again!</span>\n        <v-icon\n          right\n          dark\n          color=\"white\"\n        >\n          fa-play\n        </v-icon>\n      </v-btn>\n    </div>\n</template>\n\n<script>\nimport Vue from \"vue\"\nimport { mapState, mapGetters } from \"vuex\"\nimport VueConfetti from \"vue-confetti\"\nVue.use(VueConfetti)\n\nexport default {\n\tname: \"Winning\",\n\n\tcomputed: {\n\t\t...mapState([\"stars\", \"templateName\"]),\n\t\t...mapGetters([\"winningMessage\"])\n\t},\n\n\tmethods: {\n\t\tstartConfetti () {\n\t\t\tthis.$confetti.start()\n\t\t},\n\n\t\tstopConfetti () {\n\t\t\tthis.$confetti.stop()\n\t\t},\n\n\t\tplayAgain () {\n\t\t\tthis.$emit(\"onPlayAgain\")\n\t\t}\n\t},\n\n\tmounted () {\n\t\tthis.startConfetti()\n\t},\n\n\tbeforeDestroy () {\n\t\tthis.stopConfetti()\n\t}\n}\n</script>\n\n<style lang=\"scss\">\n  /* if you win */\n  .win-container {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    align-items: center;\n    margin: 0 0 0.8rem 0;\n    padding: 0 0 0.5rem 0;\n\n    > h2 {\n      font-weight: bold;\n      font-size: 30px;\n      color: #827717 !important;\n      border: none !important;\n    }\n\n  // .win {\n  //   text-align: center;\n  //   padding: auto;\n  //   margin: auto;\n\n    .stars {\n      display: inline-block;\n      margin: 0.5rem 5px 0 0;\n      padding: 0;\n\n      > li {\n        list-style: none;\n        display: inline-block;\n      }\n    }\n\n    > p {\n      padding: 0.2em;\n    }\n\n    .button-class {\n      color: #ffffff;\n      cursor: pointer;\n    }\n  }\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Winning.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Winning.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Winning.vue?vue&type=template&id=1b8e1f98&\"\nimport script from \"./Winning.vue?vue&type=script&lang=js&\"\nexport * from \"./Winning.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Winning.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"select-container\"},[_c('div',{staticClass:\"select-image\"},[(_vm.item.icon==='')?_c('img',{staticClass:\"icon-image\",attrs:{\"max-width\":\"30px\",\"max-height\":\"30px\",\"src\":_vm.imageSource(_vm.item.image)}}):_c('v-icon',{attrs:{\"size\":\"20px\",\"color\":_vm.iconColor}},[_vm._v(_vm._s(_vm.item.icon))])],1),_c('div',{staticClass:\"select-information\"},[_c('span',[_vm._v(_vm._s(_vm.item.text))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n    <div class=\"select-container\">\n        <div class=\"select-image\">\n            <img\n                v-if=\"item.icon===''\"\n                max-width=\"30px\" max-height=\"30px\"\n                class=\"icon-image\"\n                :src=\"imageSource(item.image)\"\n            />\n            <v-icon v-else size=\"20px\" :color=\"iconColor\">{{item.icon}}</v-icon>\n        </div>\n        <div class=\"select-information\">\n            <span>{{ item.text }}</span>\n        </div>\n    </div>\n\n</template>\n\n<script>\nexport default {\n    name: \"Selection\",\n\n    props: {\n        item: {\n            type: Object,\n            required: true\n        },\n\n        isSelected: {\n            type: Boolean,\n            require: true\n        }\n    },\n\n    computed: {\n        iconColor () {\n            return (this.isSelected) ? \"#009688\" : \"#a9a9a9\"\n        }\n    },\n\n    methods: {\n        imageSource (imageName) {\n            return (imageName === \"\") ? \"\" : require(`../../assets/${imageName}`)\n        }\n    }\n}\n</script>\n<style lang=\"scss\" scoped>\n    .select-container {\n        display: flex;\n        flex-direction: row;\n        justify-content: flex-start;\n\n        .select-image {\n            display: flex;\n            width: 20%;\n        }\n\n        .select-information {\n            display: flex;\n            width: 80%;\n        }\n    }\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Selection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Selection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Selection.vue?vue&type=template&id=c3792d56&scoped=true&\"\nimport script from \"./Selection.vue?vue&type=script&lang=js&\"\nexport * from \"./Selection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Selection.vue?vue&type=style&index=0&id=c3792d56&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"c3792d56\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","<template>\n    <v-card\n      class=\"container\"\n      aria-label=\"Memory Game Board\"\n    >\n        <p role=\"status\" v-if=\"gameAccessibilityMessage\">\n            <b>Accessibilty Text:</b>\n            {{ gameAccessibilityMessage }}\n        </p>\n\n        <winning\n          v-if=\"win\"\n          @onPlayAgain=\"onPlayAgain\"\n        />\n\n        <main\n          id=\"main\"\n          tabindex=\"-1\"\n        >\n          <div class=\"select-container\">\n            <v-select\n                id=\"selection\"\n                v-model=\"gameTheme\"\n                aria-label=\"Theme selection\"\n                name=\"theme\"\n                label=\"Select Theme\"\n                :autofocus=\"true\"\n                :chips=\"true\"\n                solo\n                :items=\"gameThemeItems\"\n                @input=\"changeTemplate(gameTheme)\"\n\t\t\t\tclass=\"selection-container\"\n            >\n              <template v-slot:selection=\"{ item }\" >\n                <selection :item=\"item\" :isSelected=\"true\" />\n              </template>\n              <template v-slot:item=\"{ item }\" >\n                <selection :item=\"item\" :isSelected=\"false\" />\n              </template>\n            </v-select>\n          </div>\n\n          <div class=\"deck-layout\">\n            <div\n              v-for=\"(card, index) in this.deck.cards\"\n                :key=\"index\"\n              class=\"deck-cards\"\n            >\n              <Card\n                :aria-label=\"[card.flipped ? card.name : '']\"\n                :card=\"card\"\n                :index=\"index\"\n                @onFlip=\"flipThisCard(card, index)\"\n              />\n            </div>\n          </div>\n        </main>\n    </v-card>\n</template>\n\n<script>\nimport { mapState, mapGetters, mapActions } from \"vuex\"\nimport Card from \"./Card.vue\"\nimport Winning from \"./Winning.vue\"\nimport Selection from \"../Basics/Selection.vue\"\n\nexport default {\n\tname: \"Home\",\n\n\tcomponents: {\n\t\tCard,\n\t\tWinning,\n\t\tSelection\n\t},\n\n\tdata: () => ({\n\t\tgameTheme: \"\",\n\t\tcolumns: 0,\n\t\tgameThemeItems:\n\t\t[{\n\t\t\ttext: \"Default\",\n\t\t\ticon: \"fa fa-heart\",\n\t\t\timage: \"\"\n\t\t},\n\t\t{\n\t\t\ttext: \"Animals\",\n\t\t\ticon: \"fa fa-dog\",\n\t\t\timage: \"\"\n\t\t},\n\t\t{\n\t\t\ttext: \"House\",\n\t\t\ticon: \"fa fa-home\",\n\t\t\timage: \"\"\n\t\t},\n\t\t{\n\t\t\ttext: \"Vehicles\",\n\t\t\ticon: \"fa fa-helicopter\",\n\t\t\timage: \"\"\n\t\t},\n\t\t{\n\t\t\ttext: \"Disney\",\n\t\t\ticon: \"\",\n\t\t\timage: \"img/disney/mickey.png\"\n\t\t},\n\t\t{\n\t\t\ttext: \"Alphabet\",\n\t\t\ticon: \"\",\n\t\t\timage: \"img/alphabet.png\"\n\t\t},\n\t\t{\n\t\t\ttext: \"Harry Potter\",\n\t\t\ticon: \"\",\n\t\t\timage: \"img/harry-potter/head.png\"\n\t\t},\n\t\t{\n\t\t\ttext: \"Star Wars\",\n\t\t\ticon: \"\",\n\t\t\timage: \"img/star-wars/darth-vader.png\"\n\t\t}]\n\t}),\n\n\tcomputed: {\n\t\t...mapState([\n\t\t\t\"gameAccessibilityMessage\",\n\t\t\t\"win\",\n\t\t\t\"stars\",\n\t\t\t\"cardsFlipped\",\n\t\t\t\"amountCardsFlipped\",\n\t\t\t\"amountMoves\",\n\t\t\t\"cardsMatched\"\n\t\t]),\n\n\t\t...mapGetters([\"deck\", \"gameUpdate\"])\n  },\n\n\tmethods: {\n\t\t...mapActions([\n\t\t\t\"updateAmountMoves\",\n\t\t\t\"updateCardsFlipped\",\n\t\t\t\"resetCardsFlipped\",\n\t\t\t\"shuffle\",\n\t\t\t\"flipCard\",\n\t\t\t\"closeCard\",\n\t\t\t\"markMatchedCards\",\n\t\t\t\"newGame\",\n\t\t\t\"updateAccessibilityMessage\",\n\t\t\t\"updateWin\",\n\t\t\t\"updateStars\",\n\t\t\t\"getTemplate\"\n\t\t]),\n\n\t\tflipThisCard (card, index) {\n\t\t\tif (card.flipped) {\n\t\t\t\tthis.updateAccessibilityMessage({ message: \"Card already flipped.\" })\n\t\t\t\treturn\n\t\t\t} else {\n\t\t\t\tthis.updateAmountMoves({ moves: this.amountMoves + 1 })\n\t\t\t\tthis.updateStars()\n\t\t\t}\n\n\t\t\t// only allow flips if there are < or = 2 flipped cards\n\t\t\tif (this.amountCardsFlipped < 2) {\n\t\t\t\tif (this.amountCardsFlipped < 1) {\n\t\t\t\t\tthis.updateAccessibilityMessage({ message: `${card.name} flipped.` })\n\t\t\t\t}\n\t\t\t\tthis.flipCard({ index, flipped: true })\n\t\t\t\tthis.updateCardsFlipped({ cards: card })\n\t\t\t\t// was there a match?\n\t\t\t\tif (this.amountCardsFlipped === 2 && this.cardsFlipped[0].name === this.cardsFlipped[1].name) {\n\t\t\t\t\t// there is a match\n\t\t\t\t\tthis.markMatchedCards({ cardName: card.name })\n\t\t\t\t\tconst remaining = this.deck.cards.length / 2 - this.cardsMatched\n\t\t\t\t\tthis.updateAccessibilityMessage({\n\t\t\t\t\t\tmessage: `${card.name} flipped. Match found! ${remaining} matches left.`\n\t\t\t\t\t})\n\n\t\t\t\t\t// reset flipped cards\n\t\t\t\t\tthis.resetCardsFlipped({ cards: this.cardsFlipped })\n\n\t\t\t\t\tif (this.cardsMatched === this.deck.cards.length / 2) {\n\t\t\t\t\t\t// if number of cards matched = number or cards, then win the game\n\t\t\t\t\t\tthis.updateWin({ win: true })\n\t\t\t\t\t\tthis.updateAccessibilityMessage({ message: this.winningMessage })\n\t\t\t\t\t}\n\t\t\t\t} else if (this.amountCardsFlipped === 2 && this.cardsFlipped[0].name !== this.cardsFlipped[1].name) {\n\t\t\t\t\t// if there was not match, wait before closing mismatched card\n\t\t\t\t\tthis.updateAccessibilityMessage({\n\t\t\t\t\t\tmessage: `${card.name} flipped. No match. `\n\t\t\t\t\t})\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tfor (let i = 0; i < this.deck.cards.length; i++) {\n\t\t\t\t\t\t\tif (this.deck.cards[i].flipped && !this.deck.cards[i].match) {\n\t\t\t\t\t\t\t\tthis.closeCard({ index: i, flipped: false, close: true })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.resetCardsFlipped()\n\t\t\t\t\t\t}, 900)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t},\n\n\t\tchangeTemplate (newTheme) {\n\t\t\tthis.gameTheme = newTheme\n\t\t\t// get thee new theme information\n\t\t\tthis.getTemplate(newTheme)\n\t\t\t// reset values\n\t\t\tthis.newGame()\n\t\t\t// shuffle a new deck\n\t\t\tthis.shuffle()\n\t\t},\n\n\t\tonPlayAgain () {\n\t\t\tthis.changeTemplate(\"Default\")\n\t\t}\n\t},\n\n\tcreated () {\n\t\tthis.changeTemplate(\"Default\")\n\t}\n}\n</script>\n\n<style lang=\"scss\">\n\t.container {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 0;\n\t}\n\n\tmain {\n\t\tmax-width: 100vw;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.select-container {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: 300px;\n\t\tmargin: auto;\n\t}\n\n\t.deck-layout {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: 40% 40%;\n\t\tmax-width: 100% !important;\n\t\tpadding: 0;\n\t\toverflow:hidden !important;\n\n\t\t@media screen and (min-width: 450px) {\n\t\t\tmargin: auto;\n\t\t\tpadding: 0;\n\t\t\twidth: 75vw !important;\n\t\t}\n\n\t\t@media screen and (min-width: 600px) {\n\t\t\tgrid-template-columns: 30% 30% 30%;\n\t\t\tmargin: auto;\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t@media screen and (min-width: 900px) {\n\t\t\tgrid-template-columns: 25% 25% 25% 250%;\n\t\t\tmargin: auto ;\n\t\t\tpadding: 0 1rem;\n\t\t}\n\t}\n\n\t.deck-cards {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tjustify-content: center;\n\t\tmax-width: 150px;\n\t\tpadding: 0;\n\t\tmargin: 1rem;\n\n\t\t@media screen and (min-width: 720px) {\n\t\t\tmargin: 1rem 0;\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t@media screen and (min-width: 900px) {\n\t\t\tmargin: 0 1rem 2rem 1rem;\n\t\t}\n\t}\n\n\t[role='status'] {\n\t\theight: 0;\n\t\tmargin: 0;\n\t\toverflow: hidden;\n\t\tfont-weight: bold;\n\t}\n\n\t.icon-image {\n\t\theight: 20px;\n\t\twidth: 20px;\n\t\tborder-radius: 3px;\n\t\tmargin-right: 10px;\n\t}\n\n\t.v-menu__content  {\n\t\tmax-height: 4500px !important;\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GameBoard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GameBoard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GameBoard.vue?vue&type=template&id=0587b9f2&\"\nimport script from \"./GameBoard.vue?vue&type=script&lang=js&\"\nexport * from \"./GameBoard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GameBoard.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VCard,VSelect})\n","<template>\n  <div id=\"memory-page\">\n    <header>\n      <ul class=\"skip-links\">\n        <li>\n          <a href=\"#main\" ref=\"skipLink\">Skip to main content</a>\n        </li>\n      </ul>\n    </header>\n    <p role=\"status\">{{ routeAccessibilityMessage }}</p>\n    <game-board />\n  </div>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\"\nimport GameBoard from \"../components/Game/GameBoard.vue\"\n\nexport default {\n  name: \"Home\",\n\n  components: {\n    GameBoard\n  },\n\n  computed: {\n    ...mapState([\"routeAccessibilityMessage\"])\n  },\n\n  watch: {\n    // watching the route changes to provide proper accessibility message\n    $route: function () {\n      this.$refs.skipLink.focus()\n      this.announceRoute({ message: this.$route.name + \" page loaded\" })\n\n      this.$nextTick(function () {\n        const navLinks = this.$refs.nav\n        navLinks.querySelectorAll(\"[aria-current]\").forEach(current => {\n          current.removeAttribute(\"aria-current\")\n        })\n\n        navLinks\n          .querySelectorAll(\".router-link-exact-active\")\n          .forEach(current => {\n            current.setAttribute(\"aria-current\", \"page\")\n          })\n      })\n    }\n  },\n\n  methods: {\n    ...mapActions([\"updateRouteAccessibilityMessage\"]),\n\n    announceRoute (message) {\n      this.updateRouteAccessibilityMessage(message)\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  #memory-page {\n    max-width: 100vw;\n    overflow: hidden;\n  }\n\n  // Skip to Main\n  .skip-links {\n    margin: 0;\n    list-style: none;\n    padding: 0;\n    position: absolute;\n    white-space: nowrap;\n\n    a {\n      background-blend-mode: color-burn;\n      display: block;\n      opacity: 0;\n      font-size: 1em;\n      font-weight: bold;\n\n      &:focus {\n        opacity: 1;\n        padding: 1em;\n      }\n\n      &:visited {\n        color: white;\n      }\n    }\n  }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=64b7b717&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=64b7b717&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"64b7b717\",\n  null\n  \n)\n\nexport default component.exports","import Vue from \"vue\"\nimport VueRouter from \"vue-router\"\nimport Home from \"../views/Home.vue\"\n\nVue.use(VueRouter)\n\nconst routes = [\n  {\n    path: \"/\",\n    name: \"home\",\n    component: Home\n  },\n  {\n    path: \"/about\",\n    name: \"about\",\n    component: () =>\n      import(/* webpackChunkName: \"about\" */ \"../views/About.vue\")\n  },\n  {\n    path: \"/instructions\",\n    name: \"Instructions\",\n    meta: {\n      title: \"Memory Game - Instructions Page\",\n      metaTags: [\n        {\n          name: \"description\",\n          content:\n            \"This is the instructions page for the accessible Memory Game using Vue.js.\"\n        }\n      ]\n    },\n\n    component: () =>\n      import(/* webpackChunkName: \"instructions\" */ \"../views/Instructions.vue\")\n  }\n]\n\nconst router = new VueRouter({\n  // mode: \"history\",\n  base: process.env.BASE_URL,\n  routes\n})\n\nexport default router\n","export default {\n\tgetTemplateInformation (id) {\n\t\tswitch (id) {\n\t\t\tcase \"Default\":\n\t\t\t\treturn {\n\t\t\t\t\tname: \"default\",\n\t\t\t\t\tuseIcons: true,\n\t\t\t\t\tuseText: false,\n\t\t\t\t\ticonPrefix: \"fa fa-\",\n\t\t\t\t\timages: [\n\t\t\t\t\t\t\"car\",\n\t\t\t\t\t\t\"bug\",\n\t\t\t\t\t\t\"paw\",\n\t\t\t\t\t\t\"bomb\",\n\t\t\t\t\t\t\"gamepad\",\n\t\t\t\t\t\t\"diamond\",\n\t\t\t\t\t\t\"heart\",\n\t\t\t\t\t\t\"bell\"\n\t\t\t\t\t],\n\t\t\t\t\tfolder: \"\"\n\t\t\t\t}\n\t\t\tcase \"Animals\":\n\t\t\t\treturn {\n\t\t\t\t\tname: \"animals\",\n\t\t\t\t\tuseIcons: true,\n\t\t\t\t\tuseText: false,\n\t\t\t\t\ticonPrefix: \"fa fa-\",\n\t\t\t\t\timages: [\n\t\t\t\t\t\t\"dog\",\n\t\t\t\t\t\t\"cat\",\n\t\t\t\t\t\t\"fish\",\n\t\t\t\t\t\t\"dove\",\n\t\t\t\t\t\t\"horse\",\n\t\t\t\t\t\t\"hippo\",\n\t\t\t\t\t\t\"frog\",\n\t\t\t\t\t\t\"spider\"\n\t\t\t\t\t],\n\t\t\t\t\tfolder: \"\"\n\t\t\t\t}\n\t\t\tcase \"House\":\n\t\t\t\treturn {\n\t\t\t\t\tname: \"house\",\n\t\t\t\t\tuseIcons: true,\n\t\t\t\t\tuseText: false,\n\t\t\t\t\ticonPrefix: \"fa fa-\",\n\t\t\t\t\timages: [\n\t\t\t\t\t\t\"chair\",\n\t\t\t\t\t\t\"bed\",\n\t\t\t\t\t\t\"couch\",\n\t\t\t\t\t\t\"home\",\n\t\t\t\t\t\t\"building\",\n\t\t\t\t\t\t\"bath\",\n\t\t\t\t\t\t\"coffee\",\n\t\t\t\t\t\t\"door-open\"\n\t\t\t\t\t],\n\t\t\t\t\tfolder: \"\"\n\t\t\t\t}\n\t\t\tcase \"Vehicles\":\n\t\t\t\treturn {\n\t\t\t\t\tname: \"vehicles\",\n\t\t\t\t\tuseIcons: true,\n\t\t\t\t\tuseText: false,\n\t\t\t\t\ticonPrefix: \"fa fa-\",\n\t\t\t\t\timages: [\n\t\t\t\t\t\t\"car\",\n\t\t\t\t\t\t\"bicycle\",\n\t\t\t\t\t\t\"truck\",\n\t\t\t\t\t\t\"motorcycle\",\n\t\t\t\t\t\t\"subway\",\n\t\t\t\t\t\t\"ambulance\",\n\t\t\t\t\t\t\"helicopter\",\n\t\t\t\t\t\t\"plane\"\n\t\t\t\t\t],\n\t\t\t\t\tfolder: \"\"\n\t\t\t\t}\n\t\t\tcase \"Harry Potter\":\n\t\t\t\treturn {\n\t\t\t\t\tname: \"harry-potter\",\n\t\t\t\t\tuseIcons: false,\n\t\t\t\t\tuseText: false,\n\t\t\t\t\timages: [\n\t\t\t\t\t\t\"head\",\n\t\t\t\t\t\t\"deathly hallows\",\n\t\t\t\t\t\t\"no-good\",\n\t\t\t\t\t\t\"sorting hat\",\n\t\t\t\t\t\t\"platform\",\n\t\t\t\t\t\t\"lego\",\n\t\t\t\t\t\t\"flying harry\",\n\t\t\t\t\t\t\"hogwarts\"\n\t\t\t\t\t],\n\t\t\t\t\tfolder: \"harry-potter\"\n\t\t\t\t}\n\t\t\tcase \"Harry Potter Extended\":\n\t\t\t\treturn {\n\t\t\t\t\tname: \"harry-potter\",\n\t\t\t\t\tuseIcons: false,\n\t\t\t\t\tuseText: false,\n\t\t\t\t\timages: [\n\t\t\t\t\t\t\"head\",\n\t\t\t\t\t\t\"deathly hallows\",\n\t\t\t\t\t\t\"no-good\",\n\t\t\t\t\t\t\"sorting hat\",\n\t\t\t\t\t\t\"platform\",\n\t\t\t\t\t\t\"lego\",\n\t\t\t\t\t\t\"flying harry\",\n\t\t\t\t\t\t\"hogwarts\"\n\t\t\t\t\t\t// extended\n\t\t\t\t\t\t// \"hogwarts-emblem\",\n\t\t\t\t\t\t// \"no-good\",\n\t\t\t\t\t\t// \"platform\",\n\t\t\t\t\t\t// \"siluetes\",\n\t\t\t\t\t\t// \"lego\",\n\t\t\t\t\t\t// \"patronum\",\n\t\t\t\t\t\t// \"snitch\"\n\t\t\t\t],\n\t\t\t\tfolder: \"harry-potter\"\n\t\t\t}\n\t\t\tcase \"Disney\":\n\t\t\t\treturn {\n\t\t\t\t\tname: \"disney\",\n\t\t\t\t\tuseIcons: false,\n\t\t\t\t\tuseText: false,\n\t\t\t\t\timages: [\n\t\t\t\t\t\t\"daisy duck\",\n\t\t\t\t\t\t\"donald duck\",\n\t\t\t\t\t\t\"mickey-and-minnie\",\n\t\t\t\t\t\t\"goofy\",\n\t\t\t\t\t\t\"mickey\",\n\t\t\t\t\t\t\"minnie\",\n\t\t\t\t\t\t\"pluto\",\n\t\t\t\t\t\t\"scrooge\"\n\t\t\t\t\t],\n\t\t\t\t\tfolder: \"disney\"\n\t\t\t\t}\n\t\t\tcase \"Alphabet1\":\n\t\t\t\treturn {\n\t\t\t\t\tname: \"alphabet1\",\n\t\t\t\t\tuseIcons: false,\n\t\t\t\t\tuseText: true,\n\t\t\t\t\timages: [\n\t\t\t\t\t\t\"A\",\n\t\t\t\t\t\t\"B\",\n\t\t\t\t\t\t\"C\",\n\t\t\t\t\t\t\"D\",\n\t\t\t\t\t\t\"E\",\n\t\t\t\t\t\t\"F\",\n\t\t\t\t\t\t\"G\",\n\t\t\t\t\t\t\"H\"\n\t\t\t\t\t],\n\t\t\t\t\tfolder: \"\"\n\t\t\t\t}\n\t\t\tcase \"Alphabet2\":\n\t\t\t\treturn {\n\t\t\t\t\tname: \"alphabet2\",\n\t\t\t\t\tuseIcons: false,\n\t\t\t\t\tuseText: true,\n\t\t\t\t\timages: [\n\t\t\t\t\t\t\"I\",\n\t\t\t\t\t\t\"J\",\n\t\t\t\t\t\t\"K\",\n\t\t\t\t\t\t\"L\",\n\t\t\t\t\t\t\"M\",\n\t\t\t\t\t\t\"N\",\n\t\t\t\t\t\t\"O\",\n\t\t\t\t\t\t\"P\"\n\t\t\t\t\t],\n\t\t\t\tfolder: \"\"\n\t\t\t}\n\t\t\tcase \"Alphabet3\":\n\t\t\t\treturn {\n\t\t\t\t\tname: \"alphabet3\",\n\t\t\t\t\tuseIcons: false,\n\t\t\t\t\tuseText: true,\n\t\t\t\t\timages: [\n\t\t\t\t\t\t\"Q\",\n\t\t\t\t\t\t\"R\",\n\t\t\t\t\t\t\"S\",\n\t\t\t\t\t\t\"T\",\n\t\t\t\t\t\t\"U\",\n\t\t\t\t\t\t\"V\",\n\t\t\t\t\t\t\"W\",\n\t\t\t\t\t\t\"X\"\n\t\t\t\t\t],\n\t\t\t\tfolder: \"\"\n\t\t\t}\n\t\t\tcase \"Star Wars\":\n\t\t\t\treturn {\n\t\t\t\t\tname: \"star-wars\",\n\t\t\t\t\tuseIcons: false,\n\t\t\t\t\tuseText: false,\n\t\t\t\t\timages: [\n\t\t\t\t\t\t\"death-star\",\n\t\t\t\t\t\t\"c3po\",\n\t\t\t\t\t\t\"leia\",\n\t\t\t\t\t\t\"droid\",\n\t\t\t\t\t\t\"r2d2\",\n\t\t\t\t\t\t\"wookie\",\n\t\t\t\t\t\t\"darth-vader\",\n\t\t\t\t\t\t\"yoda\"\n\t\t\t\t\t],\n\t\t\t\t\tfolder: \"star-wars\"\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\treturn []\n\t\t}\n  }\n}\n","import Vue from \"vue\"\nimport Vuex from \"vuex\"\nimport templates from \"../api/templates\"\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n  state: {\n    // template\n    templateName: \"default\",\n    templateUseIcons: true,\n    iconPrefix: \"fa fa-\",\n    templateUseText: false,\n    templateImages: [],\n\n    // game\n    win: false,\n    stars: 3,\n    cardsFlipped: [],\n    amountCardsFlipped: 0,\n    amountMoves: 0,\n    cardsMatched: 0,\n    deck: {\n      cards: []\n    },\n\n    // accessibilitiy\n    gameAccessibilityMessage: \"\",\n    routeAccessibilityMessage: \"\"\n  },\n\n  getters: {\n    templateImages: state => state.templateImages,\n    deck: state => state.deck,\n    accessibilityMessage: state => state.gameAccessibilityMessage,\n    winningMessage: state =>\n      state.stars === 1\n        ? \"You won the game with 1 star left!\"\n        : `You won the game with ${state.stars} stars left!`,\n    gameUpdate: state =>\n      `You have ${state.amountMoves} total moves with ${state.stars} stars left.`\n  },\n\n  mutations: {\n    UPDATE_TEMPLATE (state, templatePayload) {\n      state.templateName = templatePayload.name\n      state.templateUseIcons = templatePayload.useIcons\n      state.templateUseText = templatePayload.useText\n      state.iconPrefix = templatePayload.iconPrefix\n      state.templateImages = templatePayload.images\n      state.templateFolder = templatePayload.folder\n    },\n\n    SHUFFLE_DECK (state) {\n      state.deck.cards = []\n      for (let index = 0; index < state.templateImages.length; index++) {\n        const card = {\n          name: state.templateImages[index],\n          icon: state.templateUseIcons\n            ? `${state.iconPrefix}${state.templateImages[index]}`\n            : null,\n          useText: state.templateUseText,\n          img: getImagePath(state.templateUseIcons, state.templateUseText, state.templateImages[index], state.templateFolder),\n          flipped: false,\n          match: false,\n          close: false\n        }\n        // there should be 2 of each card per deck, so the match can be found\n        state.deck.cards.push({ ...card })\n        state.deck.cards.push({ ...card })\n      }\n\n      // shuffle\n      const shuffleCards = state.deck.cards\n      let currentIndex = state.deck.cards.length\n      let temporaryValue\n      let randomIndex\n\n      while (currentIndex !== 0) {\n        // pick a remaining element...\n        randomIndex = Math.floor(Math.random() * currentIndex)\n        currentIndex -= 1\n        // and swap it with the current element.\n        temporaryValue = state.deck.cards[currentIndex]\n        shuffleCards[currentIndex] = state.deck.cards[randomIndex]\n        shuffleCards[randomIndex] = temporaryValue\n      }\n      state.deck.cards = shuffleCards\n    },\n\n    NEW_GAME (state) {\n      for (let i = 0; i < state.deck.cards.length; i++) {\n        state.deck.cards[i].flipped = false\n        state.deck.cards[i].close = false\n        state.deck.cards[i].match = false\n      }\n    },\n\n    UPDATE_AMOUNT_CARDS_FLIPPED (state, payload) {\n      state.amountCardsFlipped = payload\n    },\n\n    UPDATE_CARDS_MATCHED (state) {\n      state.cardsMatched = state.cardsMatched + 1\n    },\n\n    RESET_CARDS_MATCHED (state) {\n      state.cardsMatched = 0\n    },\n\n    ADD_CARD_FLIPPED (state, payload) {\n      state.cardsFlipped.push(payload)\n      state.amountCardsFlipped += 1\n    },\n\n    UPDATE_AMOUNT_MOVES (state, payload) {\n      state.amountMoves = payload\n    },\n\n    FLIP_CARD (state, cardPayload) {\n      const { index, flipped } = cardPayload\n      state.deck.cards[index].flipped = flipped\n    },\n\n    CLOSE_CARD (state, cardPayload) {\n      const { index, flipped, close } = cardPayload\n      state.deck.cards[index].flipped = flipped\n      state.deck.cards[index].close = close\n    },\n\n    MARK_MATCHED_CARD (state, index) {\n      state.deck.cards[index].match = true\n    },\n\n    RESET_CARDS_FLIPPED (state) {\n      state.amountCardsFlipped = 0\n      state.cardsFlipped = []\n    },\n\n    // accessibility message\n    UPDATE_GAME_ACCESSIBILITY_MESSAGE (state, message) {\n      state.gameAccessibilityMessage = message\n    },\n\n    UPDATE_ROUTE_ACCESSIBILITY_MESSAGE (state, payload) {\n      state.routeAccessibilityMessage = payload\n    },\n\n    // win\n    UPDATE_WIN (state, payload) {\n      state.win = payload\n    },\n\n    // stars\n    UPDATE_STARS (state, payload) {\n      state.stars = payload\n    }\n  },\n\n  actions: {\n    // manage template\n    getTemplate ({ commit }, templateName) {\n      let template = templateName\n      if (templateName === \"Alphabet\") {\n        // if the template is Alphabet, the system will generate a random number\n        // between 1 and 3 to generate one of three different alphabet sections\n        const randomAlphabet = Math.floor(Math.random() * 3) + 1\n        template = `${templateName}${randomAlphabet}`\n      }\n      const templateInformation = templates.getTemplateInformation(template)\n      commit(\"UPDATE_TEMPLATE\", {\n        name: templateInformation.name,\n        useIcons:\n          templateInformation.useIcons === undefined\n            ? false\n            : templateInformation.useIcons,\n        useText:\n          templateInformation.useText === undefined\n            ? false\n            : templateInformation.useText,\n        iconPrefix:\n          templateInformation.iconPrefix === undefined\n            ? false\n            : templateInformation.iconPrefix,\n        images:\n          templateInformation.images === undefined\n            ? []\n            : templateInformation.images,\n        folder:\n          templateInformation.folder === undefined\n            ? []\n            : templateInformation.folder\n      })\n    },\n\n    resetCardsFlipped ({ commit }) {\n      commit(\"RESET_CARDS_FLIPPED\")\n    },\n\n    flipCard ({ commit }, flipCardPayload) {\n      commit(\"FLIP_CARD\", flipCardPayload)\n    },\n\n    shuffle ({ commit }) {\n      commit(\"SHUFFLE_DECK\")\n    },\n\n    updateCardsFlipped ({ commit }, { cards }) {\n      commit(\"ADD_CARD_FLIPPED\", cards)\n    },\n\n    updateAmountMoves ({ commit }, { moves }) {\n      commit(\"UPDATE_AMOUNT_MOVES\", moves)\n    },\n\n    newGame ({ commit }) {\n      commit(\"UPDATE_WIN\", false)\n      commit(\"UPDATE_AMOUNT_MOVES\", 0)\n      commit(\"RESET_CARDS_MATCHED\")\n      commit(\"SHUFFLE_DECK\")\n      commit(\"NEW_GAME\")\n      commit(\"RESET_CARDS_FLIPPED\")\n    },\n\n    closeCard ({ commit }, closeCardPayload) {\n      commit(\"CLOSE_CARD\", closeCardPayload)\n    },\n\n    markMatchedCards ({ state, commit }, { cardName }) {\n      for (let index = 0; index < state.deck.cards.length; index++) {\n        if (state.deck.cards[index].name === cardName) {\n          commit(\"MARK_MATCHED_CARD\", index)\n        }\n      }\n      commit(\"UPDATE_CARDS_MATCHED\")\n    },\n\n    setNewMatch ({ commit }) {\n      commit(\"RESET_CARDS_FLIPPED\")\n    },\n\n    updateAccessibilityMessage ({ commit }, { message }) {\n      commit(\"UPDATE_GAME_ACCESSIBILITY_MESSAGE\", message)\n    },\n\n    updateRouteAccessibilityMessage ({ commit }, { message }) {\n      commit(\"UPDATE_ROUTE_ACCESSIBILITY_MESSAGE\", message)\n    },\n\n    updateWin ({ commit }, { win }) {\n      commit(\"UPDATE_WIN\", win)\n    },\n\n    updateStars ({ state, commit }) {\n      let stars = 0\n      if (state.amountMoves < 30) {\n        stars = 3\n      } else if (state.amountMoves < 40) {\n        stars = 2\n      } else if (state.amountMoves < 50) {\n        stars = 1\n      } else if (state.amountMoves > 50) {\n        stars = 0\n      }\n      commit(\"UPDATE_STARS\", stars)\n    }\n  },\n\n  modules: {}\n})\n\nfunction getImagePath (useIcons, useText, imageName, folder) {\n  if (useText) return imageName\n  else if (useIcons) return null\n  else return `img/${folder}/${imageName}.png`\n}\n","import Vue from \"vue\"\nimport Vuetify from \"vuetify/lib\"\nimport colors from \"vuetify/lib/util/colors\"\n\nVue.use(Vuetify)\n\nconst vuetify = new Vuetify({\n  theme: {\n    themes: {\n      dark: {\n        primary: colors.blue.lighten3\n      },\n      light: {\n        primary: colors.teal,\n        secondary: colors.grey.darken1,\n        accent: colors.shades.black,\n        error: colors.red.accent3\n      }\n    }\n  }\n})\n\nexport default vuetify\n","import Vue from \"vue\"\nimport App from \"./App.vue\"\nimport router from \"./router\"\nimport store from \"./store\"\nimport vuetify from \"./plugins/vuetify\"\n\nVue.config.productionTip = false\n\nnew Vue({\n  router,\n  store,\n  vuetify,\n  render: h => h(App)\n}).$mount(\"#app\")\n\nVue.directive(\"focus\", {\n  inserted: function (el) {\n    el.focus()\n  }\n})\n","module.exports = __webpack_public_path__ + \"img/alphabet.219e6e81.png\";","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Selection.vue?vue&type=style&index=0&id=c3792d56&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/disney-win.0c0e30e2.png\";","module.exports = __webpack_public_path__ + \"img/death-star.461ab59a.png\";","module.exports = __webpack_public_path__ + \"img/head.20a0cd99.png\";","module.exports = __webpack_public_path__ + \"img/diana-avatar.460cea7e.png\";","module.exports = __webpack_public_path__ + \"img/darth-vader.d676276b.png\";","module.exports = __webpack_public_path__ + \"img/full-deck.18634b84.png\";","module.exports = __webpack_public_path__ + \"img/scrooge.1172f0cb.png\";","module.exports = __webpack_public_path__ + \"img/deathly hallows.76935b92.png\";","module.exports = __webpack_public_path__ + \"img/no-good.c7aa47cf.png\";","module.exports = __webpack_public_path__ + \"img/leia.0ee83889.png\";","module.exports = __webpack_public_path__ + \"img/theme-selection.094ca85e.png\";","module.exports = __webpack_public_path__ + \"img/alphabet-win.dc32750d.png\";","module.exports = __webpack_public_path__ + \"img/yoda.570c9379.png\";","module.exports = __webpack_public_path__ + \"img/daisy duck.df496575.png\";","module.exports = __webpack_public_path__ + \"img/myAvatar.5dc81cf9.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Winning.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/c3po.7d503f71.png\";","module.exports = __webpack_public_path__ + \"img/mickey.3b3de94f.png\";","module.exports = __webpack_public_path__ + \"img/harry-potter-extended-win.7c581ab8.png\";","module.exports = __webpack_public_path__ + \"img/vehicles-win.f7e5887f.png\";","module.exports = __webpack_public_path__ + \"img/r2d2.fef22833.png\";","module.exports = __webpack_public_path__ + \"img/harry-potter-win.948a7603.png\";","module.exports = __webpack_public_path__ + \"img/pluto.8bcb08e5.png\";","module.exports = __webpack_public_path__ + \"img/hogwarts.0173d97d.png\";","module.exports = __webpack_public_path__ + \"img/mickey-and-minnie.fb90ab71.png\";","module.exports = __webpack_public_path__ + \"img/flying harry.ef140776.png\";","module.exports = __webpack_public_path__ + \"img/minnie.02e91467.png\";","module.exports = __webpack_public_path__ + \"img/wookie.ff159c39.png\";","module.exports = __webpack_public_path__ + \"img/donald duck.90c56a7a.png\";","module.exports = __webpack_public_path__ + \"img/droid.458c102a.png\";","module.exports = __webpack_public_path__ + \"img/star-wars-win.e208a60b.png\";"],"sourceRoot":""}