{"version":3,"sources":["webpack://[name]/webpack/bootstrap","webpack://[name]/external \"React\"","webpack://[name]/./node_modules/tslib/tslib.es6.js","webpack://[name]/./ts/interactiveMap/components/app.tsx","webpack://[name]/external \"ReactDOM\"","webpack://[name]/./ts/InteractiveMap.tsx","webpack://[name]/./ts/interactiveMap/data.ts","webpack://[name]/./ts/interactiveMap/searcher.ts","webpack://[name]/./node_modules/levenshtein-edit-distance/index.js","webpack://[name]/./ts/interactiveMap/components/layout.tsx","webpack://[name]/./ts/interactiveMap/components/map/map.tsx","webpack://[name]/./ts/interactiveMap/components/map/labels.tsx","webpack://[name]/./ts/interactiveMap/components/map/landmarks.tsx","webpack://[name]/./ts/interactiveMap/components/map/poi.tsx","webpack://[name]/./ts/interactiveMap/components/map/routes.tsx","webpack://[name]/./ts/interactiveMap/components/map/route.tsx","webpack://[name]/./ts/interactiveMap/components/map/streets.tsx","webpack://[name]/./ts/interactiveMap/components/map/street.tsx","webpack://[name]/./ts/interactiveMap/components/map/label.tsx","webpack://[name]/./ts/interactiveMap/components/picker/picker.tsx","webpack://[name]/./ts/interactiveMap/components/picker/search.tsx","webpack://[name]/./ts/interactiveMap/components/picker/clearButton.tsx","webpack://[name]/./ts/interactiveMap/components/picker/toggle.tsx","webpack://[name]/./ts/interactiveMap/components/picker/zoom.tsx","webpack://[name]/./ts/interactiveMap/components/picker/content.tsx","webpack://[name]/./ts/interactiveMap/components/picker/searchResults.tsx","webpack://[name]/./ts/interactiveMap/components/picker/searchResult.tsx","webpack://[name]/./ts/interactiveMap/components/picker/activeRoutes.tsx","webpack://[name]/./ts/interactiveMap/components/picker/activeRoute.tsx","webpack://[name]/./ts/interactiveMap/components/picker/stopwatchLink.tsx","webpack://[name]/./ts/interactiveMap/reducer.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","React","extendStatics","b","setPrototypeOf","__proto__","Array","__extends","TypeError","String","__","this","constructor","__assign","assign","arguments","length","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","desc","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__esDecorate","ctor","descriptorIn","contextIn","initializers","extraInitializers","accept","f","_","kind","descriptor","done","context","access","addInitializer","push","result","set","init","unshift","__runInitializers","thisArg","useValue","__propKey","x","concat","__setFunctionName","prefix","description","configurable","__metadata","metadataKey","metadataValue","metadata","__awaiter","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","then","__generator","body","y","g","label","sent","trys","ops","verb","iterator","v","op","pop","__createBinding","k","k2","undefined","writable","__exportStar","__values","__read","ar","error","__spread","__spreadArrays","il","a","j","jl","__spreadArray","to","from","pack","slice","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__setModuleDefault","__importStar","mod","__importDefault","default","__classPrivateFieldGet","receiver","state","has","__classPrivateFieldSet","__classPrivateFieldIn","__addDisposableResource","env","async","dispose","asyncDispose","stack","_SuppressedError","SuppressedError","suppressed","message","Error","__disposeResources","fail","hasError","rec","AppContext","createContext","dispatch","StateDefaults","useReducer","reducer","Provider","ReactDOM","mapDomElement","document","getElementById","mapReactApp","StrictMode","reactDom","render","Routes","number","id","color","text","background","PointsOfInterest","routeNumbers","stopId","compare","distance","searchWord","word","splits","minDistance","term","trimmed","searchPoi","poi","totalDistance","replace","split","pois","maxResults","maxDistance","minLength","map","filter","sort","searched","other","insensitive","lengthOther","code","distanceOther","index","indexOther","toLowerCase","codes","charCodeAt","cache","className","useContext","isZoomed","zoomLevel","overflow","containerStyle","fullScreen","position","top","right","bottom","left","svgStyle","transform","transformOrigin","fillRule","clipRule","strokeLinecap","strokeMiterlimit","style","xmlns","viewBox","preserveAspectRatio","display","showLabels","textStyle","fill","fontFamily","fontWeight","fontSize","circleStyle","stroke","strokeWidth","bgStyle","cx","cy","quadStyle","strokeOpacity","ref","useRef","search","selectedPointOfInterest","useEffect","current","scrollIntoView","behavior","block","inline","Fragment","opacity","GetRoute","active","offColor","arrows","activeRoutes","inactiveRoutes","route","props","strokeLinejoin","zIndex","arrowStyle","cloneElement","children","showStreets","rotate","textTransform","textAnchor","checked","changeCallback","type","Actions","SetShowStreets","SetShowLabels","htmlFor","onChange","event","UpdateSearchTerm","autoComplete","autoFocus","placeholder","onClick","Clear","disabled","tabIndex","onKeyDown","preventDefault","valueMap","1","2","3","4","5","6","zoomMap","1.5","8","16","parseInt","SetZoomLevel","min","max","content","hasSelected","hasResults","results","console","warn","pointsOfInterest","SelectPointOfInterest","role","rn","routes","bubble","href","sortByName","action","SearchStateDefaults","SetFullScreen","data"],"mappings":"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","file":"interactiveMap.e76a19e17fa112c70e5e.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 276);\n","module.exports = React;","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","import * as React from 'react';\r\nimport { Context, createContext, Dispatch, useReducer } from 'react';\r\nimport { Action, reducer, State, StateDefaults } from '../reducer';\r\nimport Layout from './layout';\r\n\r\nexport interface AppContextType {\r\n\tdispatch: Dispatch;\r\n\tstate: State;\r\n}\r\n\r\nexport const AppContext: Context = createContext({\r\n\tdispatch: () => { },\r\n\tstate: { ...StateDefaults }\r\n});\r\n\r\nfunction App() {\r\n\tconst [state, dispatch] = useReducer(reducer, { ...StateDefaults });\r\n\tconst context = { state, dispatch };\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default App;\r\n","module.exports = ReactDOM;","import * as React from 'react';\r\nimport { StrictMode } from 'react';\r\nimport * as reactDom from 'react-dom';\r\nimport Map from './interactiveMap/components/app';\r\n\r\n(() => {\r\n\tconst mapDomElement = document.getElementById('map-app');\r\n\tif (mapDomElement) {\r\n\t\tconst mapReactApp = (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t\treactDom.render(mapReactApp, mapDomElement);\r\n\t}\r\n})();\r\n","import { PointOfInterest } from \"./types/pointOfInterest\";\r\nimport { Route } from \"./types/route\";\r\n\r\nexport const Routes: Route[] = [\r\n\t{\r\n\t\tnumber: 1,\r\n\t\tname: 'Yellow',\r\n\t\tid: 'ac3fc3d037af468f8b24d061de7bea93',\r\n\t\tcolor: {\r\n\t\t\ttext: '000000',\r\n\t\t\tbackground: 'fcee1f'\r\n\t\t}\r\n\t},\r\n\t{\r\n\t\tnumber: 2,\r\n\t\tname: 'Red',\r\n\t\tid: 'dac5f56a9c544a6aa4ab389d2eee31a3',\r\n\t\tcolor: {\r\n\t\t\ttext: 'ffffff',\r\n\t\t\tbackground: 'e7131a'\r\n\t\t}\r\n\t},\r\n\t{\r\n\t\tnumber: 5,\r\n\t\tname: 'Green',\r\n\t\tid: '294fb25d538f466db90ea34317dceea1',\r\n\t\tcolor: {\r\n\t\t\ttext: 'ffffff',\r\n\t\t\tbackground: '008063'\r\n\t\t}\r\n\t},\r\n\t{\r\n\t\tnumber: 10,\r\n\t\tname: 'Gold',\r\n\t\tid: 'c2a177c6a139461b834e3169745952c8',\r\n\t\tcolor: {\r\n\t\t\ttext: '000000',\r\n\t\t\tbackground: 'c7994a'\r\n\t\t}\r\n\t},\r\n\t{\r\n\t\tnumber: 12,\r\n\t\tname: 'Teal',\r\n\t\tid: '1cf2244ccdfd4e7f8a5589b5a60b2767',\r\n\t\tcolor: {\r\n\t\t\ttext: 'ffffff',\r\n\t\t\tbackground: '006991'\r\n\t\t}\r\n\t},\r\n\t{\r\n\t\tnumber: 13,\r\n\t\tname: 'Silver',\r\n\t\tid: '5c18a57009c04ff891a2c13442593cf7',\r\n\t\tcolor: {\r\n\t\t\ttext: '000000',\r\n\t\t\tbackground: 'cccccc'\r\n\t\t}\r\n\t},\r\n\t{\r\n\t\tnumber: 21,\r\n\t\tname: 'Raven',\r\n\t\tid: '3abfed952ccb4d2589a82c0ffb792b27',\r\n\t\tcolor: {\r\n\t\t\ttext: 'ffffff',\r\n\t\t\tbackground: '000000'\r\n\t\t}\r\n\t},\r\n\t{\r\n\t\tnumber: 22,\r\n\t\tname: 'Illini',\r\n\t\tid: '9b6203fbd56f4d2ab532e1a214a1b7c8',\r\n\t\tcolor: {\r\n\t\t\ttext: 'ffffff',\r\n\t\t\tbackground: '5a1d5a'\r\n\t\t}\r\n\t},\r\n\t{\r\n\t\tnumber: 24,\r\n\t\tname: 'Link',\r\n\t\tid: '9e4839a6838c40e4bf3509cca0eabc7a',\r\n\t\tcolor: {\r\n\t\t\ttext: '000000',\r\n\t\t\tbackground: '6fccdd'\r\n\t\t}\r\n\t}\r\n];\r\n\r\nexport const PointsOfInterest: PointOfInterest[] = [\r\n\t{\r\n\t\tname: 'Allen Hall',\r\n\t\tx: 435,\r\n\t\ty: 311,\r\n\t\trouteNumbers: [10, 12, 13, 21],\r\n\t\tstopId: 'grgdnr'\r\n\t},\r\n\t{\r\n\t\tname: 'Busey Evans Hall',\r\n\t\tx: 410,\r\n\t\ty: 280,\r\n\t\trouteNumbers: [2, 10, 12, 21, 22],\r\n\t\tstopId: 'gwnnv'\r\n\t},\r\n\t{\r\n\t\tname: 'Daniels Hall',\r\n\t\tx: 440,\r\n\t\ty: 175,\r\n\t\trouteNumbers: [5, 24],\r\n\t\tstopId: 'grngrgst'\r\n\t},\r\n\t{\r\n\t\tname: 'Florida Avenue Residence Hall (FAR)',\r\n\t\tx: 435,\r\n\t\ty: 440,\r\n\t\trouteNumbers: [12, 13, 21, 22],\r\n\t\tstopId: 'far'\r\n\t},\r\n\t{\r\n\t\tname: 'Hendrick House',\r\n\t\tx: 475,\r\n\t\ty: 175,\r\n\t\trouteNumbers: [5, 24],\r\n\t\tstopId: 'grngrgst'\r\n\t},\r\n\t{\r\n\t\tname: 'Ikenberry Commons',\r\n\t\tx: 165,\r\n\t\ty: 350,\r\n\t\trouteNumbers: [1, 10, 22, 24],\r\n\t\tstopId: 'grgike'\r\n\t},\r\n\t{\r\n\t\tname: 'Illini Tower',\r\n\t\tx: 215,\r\n\t\ty: 270,\r\n\t\trouteNumbers: [22],\r\n\t\tstopId: '5thchal'\r\n\t},\r\n\t{\r\n\t\tname: 'Illinois Street Residence Hall (ISR)',\r\n\t\tx: 435,\r\n\t\ty: 190,\r\n\t\trouteNumbers: [5, 22, 24],\r\n\t\tstopId: 'isr'\r\n\t},\r\n\t{\r\n\t\tname: 'Lincoln Avenue Residence Hall (LAR)',\r\n\t\tx: 460,\r\n\t\ty: 311,\r\n\t\trouteNumbers: [2, 22],\r\n\t\tstopId: 'lar'\r\n\t},\r\n\t{\r\n\t\tname: 'Newman Hall',\r\n\t\tx: 270,\r\n\t\ty: 260,\r\n\t\trouteNumbers: [1, 13, 21, 22, 24],\r\n\t\tstopId: '6thary'\r\n\t},\r\n\t{\r\n\t\tname: 'Orchard Downs',\r\n\t\tx: 564,\r\n\t\ty: 482.5,\r\n\t\trouteNumbers: [12],\r\n\t\tstopId: 'odns'\r\n\t},\r\n\t{\r\n\t\tname: 'Pennsylvania Avenue Residence Hall (PAR)',\r\n\t\tx: 450,\r\n\t\ty: 415,\r\n\t\trouteNumbers: [12, 13, 21, 22],\r\n\t\tstopId: 'par'\r\n\t},\r\n\t{\r\n\t\tname: 'Stratford House',\r\n\t\tx: 210,\r\n\t\ty: 225,\r\n\t\trouteNumbers: [22],\r\n\t\tstopId: '4thjohn'\r\n\t},\r\n\t{\r\n\t\tname: 'Activities and Recreation Center (ARC)',\r\n\t\tx: 165,\r\n\t\ty: 382,\r\n\t\trouteNumbers: [22],\r\n\t\tstopId: 'arc'\r\n\t},\r\n\t{\r\n\t\tname: 'Altgeld Hall',\r\n\t\tx: 313,\r\n\t\ty: 195,\r\n\t\trouteNumbers: [1, 2, 5, 12, 13, 21, 22, 24],\r\n\t\tstopId: 'plaza'\r\n\t},\r\n\t{\r\n\t\tname: 'Armory',\r\n\t\tx: 245,\r\n\t\ty: 305,\r\n\t\trouteNumbers: [1, 13, 21, 22, 24],\r\n\t\tstopId: '5thary'\r\n\t},\r\n\t{\r\n\t\tname: 'Bevier Hall',\r\n\t\tx: 378,\r\n\t\ty: 300,\r\n\t\trouteNumbers: [10, 12, 13, 21, 22],\r\n\t\tstopId: 'gwngrg'\r\n\t},\r\n\t{\r\n\t\tname: 'Business Instructional Facility (BIF)',\r\n\t\tx: 262,\r\n\t\ty: 335,\r\n\t\trouteNumbers: [10, 21, 22, 24],\r\n\t\tstopId: '6thgrg'\r\n\t},\r\n\t{\r\n\t\tname: 'Campus Recreation Center East (CRCE)',\r\n\t\tx: 434,\r\n\t\ty: 303,\r\n\t\trouteNumbers: [10, 12, 13, 21, 22],\r\n\t\tstopId: 'grgdnr'\r\n\t},\r\n\t{\r\n\t\tname: 'Ceramics Building',\r\n\t\tx: 378,\r\n\t\ty: 131,\r\n\t\trouteNumbers: [10, 13, 22],\r\n\t\tstopId: 'gdwncb'\r\n\t},\r\n\t{\r\n\t\tname: 'Chemical and Life Sciences',\r\n\t\tx: 378,\r\n\t\ty: 222,\r\n\t\trouteNumbers: [2, 10, 12, 21, 22],\r\n\t\tstopId: 'chemls'\r\n\t},\r\n\t{\r\n\t\tname: 'College of Veterinary Medicine (Vet-Med)',\r\n\t\tx: 455.3,\r\n\t\ty: 580.3,\r\n\t\trouteNumbers: [21],\r\n\t\tstopId: 'vetmed'\r\n\t},\r\n\t{\r\n\t\tname: 'David Kinley Hall (DKH)',\r\n\t\tx: 320,\r\n\t\ty: 332,\r\n\t\trouteNumbers: [10, 13, 22],\r\n\t\tstopId: 'grglib'\r\n\t},\r\n\t{\r\n\t\tname: 'Electrical and Computer Engineering (ECE)',\r\n\t\tx: 310,\r\n\t\ty: 65,\r\n\t\trouteNumbers: [1, 2, 12, 24],\r\n\t\tstopId: 'whtwrt'\r\n\t},\r\n\t{\r\n\t\tname: 'Education Building',\r\n\t\tx: 275,\r\n\t\ty: 350,\r\n\t\trouteNumbers: [21],\r\n\t\tstopId: '6thpdy'\r\n\t},\r\n\t{\r\n\t\tname: 'English Building',\r\n\t\tx: 310,\r\n\t\ty: 230,\r\n\t\trouteNumbers: [1, 13, 21, 22, 24],\r\n\t\tstopId: 'plaza'\r\n\t},\r\n\t{\r\n\t\tname: 'Everitt Laboratory',\r\n\t\tx: 310,\r\n\t\ty: 150,\r\n\t\trouteNumbers: [1, 2, 12,24],\r\n\t\tstopId: 'iu'\r\n\t},\r\n\t{\r\n\t\tname: 'Foellinger Auditorium',\r\n\t\tx: 340,\r\n\t\ty: 297,\r\n\t\trouteNumbers: [10, 13, 22, 24],\r\n\t\tstopId: 'arywrt'\r\n\t},\r\n\t{\r\n\t\tname: 'Grainger Engineering Library',\r\n\t\tx: 330,\r\n\t\ty: 90,\r\n\t\trouteNumbers: [1, 2, 12],\r\n\t\tstopId: 'spfldmat'\r\n\t},\r\n\t{\r\n\t\tname: 'Gregory Hall',\r\n\t\tx: 310,\r\n\t\ty: 275,\r\n\t\trouteNumbers: [1, 13, 21, 22, 24],\r\n\t\tstopId: 'arywrt'\r\n\t},\r\n\t{\r\n\t\tname: 'Henry Administration Building',\r\n\t\tx: 310,\r\n\t\ty: 205,\r\n\t\trouteNumbers: [1, 13, 21, 22, 24],\r\n\t\tstopId: 'plaza'\r\n\t},\r\n\t{\r\n\t\tname: 'Japan House',\r\n\t\tx: 500,\r\n\t\ty: 545,\r\n\t\trouteNumbers: [21],\r\n\t\tstopId: 'jpn'\r\n\t},\r\n\t{\r\n\t\tname: 'Kenny Gym',\r\n\t\tx: 310,\r\n\t\ty: 108,\r\n\t\trouteNumbers: [1, 2, 12, 24],\r\n\t\tstopId: 'wrtspfld'\r\n\t},\r\n\t{\r\n\t\tname: 'Krannert Center for the Performing Arts',\r\n\t\tx: 410,\r\n\t\ty: 210,\r\n\t\trouteNumbers: [2, 10, 12, 21, 22],\r\n\t\tstopId: 'krannert'\r\n\t},\r\n\t{\r\n\t\tname: 'Law Building',\r\n\t\tx: 245,\r\n\t\ty: 380,\r\n\t\trouteNumbers: [21, 22],\r\n\t\tstopId: 'palaw'\r\n\t},\r\n\t{\r\n\t\tname: 'Lincoln Hall',\r\n\t\tx: 310,\r\n\t\ty: 255,\r\n\t\trouteNumbers: [1, 13, 21, 22, 24],\r\n\t\tstopId: 'wrtchal'\r\n\t},\r\n\t{\r\n\t\tname: 'Loomis Laboratory',\r\n\t\tx: 412,\r\n\t\ty: 160,\r\n\t\trouteNumbers: [5, 10, 13, 21, 22, 24],\r\n\t\tstopId: 'grngwn'\r\n\t},\r\n\t{\r\n\t\tname: 'Main Library',\r\n\t\tx: 290,\r\n\t\ty: 295,\r\n\t\trouteNumbers: [1, 10, 13, 21, 22, 24],\r\n\t\tstopId: 'grglib'\r\n\t},\r\n\t{\r\n\t\tname: 'McKinley Health Center',\r\n\t\tx: 465,\r\n\t\ty: 350,\r\n\t\trouteNumbers: [2, 22],\r\n\t\tstopId: 'lar'\r\n\t},\r\n\t{\r\n\t\tname: 'Memorial Stadium',\r\n\t\tx: 140,\r\n\t\ty: 475,\r\n\t\trouteNumbers: [1, 10, 24],\r\n\t\tstopId: '4thkby'\r\n\t},\r\n\t{\r\n\t\tname: 'Mumford Hall',\r\n\t\tx: 360,\r\n\t\ty: 335,\r\n\t\trouteNumbers: [10, 13, 22],\r\n\t\tstopId: 'grgmum'\r\n\t},\r\n\t{\r\n\t\tname: 'Noyes Laboratory',\r\n\t\tx: 368,\r\n\t\ty: 235,\r\n\t\trouteNumbers: [2, 10, 12, 21, 22],\r\n\t\tstopId: 'krannert'\r\n\t},\r\n\t{\r\n\t\tname: 'Plant Science Laboratory',\r\n\t\tx: 420,\r\n\t\ty: 255,\r\n\t\trouteNumbers: [12, 13, 21],\r\n\t\tstopId: 'psl'\r\n\t},\r\n\t{\r\n\t\tname: 'Siebel Center for Computer Science',\r\n\t\tx: 375,\r\n\t\ty: 100,\r\n\t\trouteNumbers: [22],\r\n\t\tstopId: 'gwnmn'\r\n\t},\r\n\t{\r\n\t\tname: 'State Farm Center',\r\n\t\tx: 140,\r\n\t\ty: 505,\r\n\t\trouteNumbers: [1, 10, 24],\r\n\t\tstopId: '1stsmr'\r\n\t},\r\n\t{\r\n\t\tname: 'Wohlers Hall',\r\n\t\tx: 275,\r\n\t\ty: 335,\r\n\t\trouteNumbers: [10, 21, 22],\r\n\t\tstopId: '6thgrg'\r\n\t},\r\n\t//{\r\n\t//\tname: \"Siebel Center for Design\",\r\n\t//\tx: 1,\r\n\t//\ty: 1,\r\n\t//\trouteNumbers: [10],\r\n\t//\tstopId: '4THPDY'\r\n\t//},\r\n\t{\r\n\t\tname: \"Enterprise Works\",\r\n\t\tx: 75,\r\n\t\ty: 600,\r\n\t\trouteNumbers: [1, 24],\r\n\t\tstopId: 'HZLWDOAK'\r\n\t}\r\n];\r\n","import levenshtein from 'levenshtein-edit-distance';\r\nimport { PointOfInterest } from './types/pointOfInterest';\r\n\r\ninterface SearchedPoi {\r\n\tpoi: PointOfInterest;\r\n\tdistance: number;\r\n}\r\n\r\nfunction compare(a: SearchedPoi, b: SearchedPoi): number {\r\n\treturn a.distance - b.distance;\r\n}\r\n\r\nfunction searchWord(word: string, splits: string[]): number {\r\n\tlet minDistance = 1000;\r\n\r\n\tfor (let term of splits) {\r\n\t\tconst trimmed = term.slice(0, word.length);\r\n\r\n\t\tconst distance = levenshtein(word, trimmed, true);\r\n\t\tif (distance < minDistance) {\r\n\t\t\tminDistance = distance;\r\n\t\t}\r\n\t}\r\n\treturn minDistance;\r\n}\r\n\r\nfunction searchPoi(term: string, poi: PointOfInterest): number {\r\n\tlet totalDistance = 0;\r\n\r\n\tconst splits = poi\r\n\t\t.name\r\n\t\t.replace('(', '')\r\n\t\t.replace(')', '')\r\n\t\t.split(' ');\r\n\r\n\tfor (let word of term.split(' ')) {\r\n\t\ttotalDistance += searchWord(word, splits);\r\n\t}\r\n\r\n\treturn totalDistance;\r\n}\r\n\r\nexport function search(term: string, pois: PointOfInterest[], maxResults: number = 4, maxDistance: number = 1, minLength: number = 3): PointOfInterest[] {\r\n\r\n\tif (!pois || pois.length === 0 || term.length < minLength) {\r\n\t\treturn [];\r\n\t}\r\n\r\n\treturn pois\r\n\t\t.map(poi => ({ distance: searchPoi(term, poi), poi }))\r\n\t\t.filter(poi => poi.distance <= maxDistance)\r\n\t\t.sort(compare)\r\n\t\t.slice(0, maxResults)\r\n\t\t.map(searched => searched.poi);\r\n\r\n}\r\n","'use strict'\n\nmodule.exports = levenshtein\n\nvar cache = []\nvar codes = []\n\nfunction levenshtein(value, other, insensitive) {\n var length\n var lengthOther\n var code\n var result\n var distance\n var distanceOther\n var index\n var indexOther\n\n if (value === other) {\n return 0\n }\n\n length = value.length\n lengthOther = other.length\n\n if (length === 0) {\n return lengthOther\n }\n\n if (lengthOther === 0) {\n return length\n }\n\n if (insensitive) {\n value = value.toLowerCase()\n other = other.toLowerCase()\n }\n\n index = 0\n\n while (index < length) {\n codes[index] = value.charCodeAt(index)\n cache[index] = ++index\n }\n\n indexOther = 0\n\n while (indexOther < lengthOther) {\n code = other.charCodeAt(indexOther)\n result = distance = indexOther++\n index = -1\n\n while (++index < length) {\n distanceOther = code === codes[index] ? distance : distance + 1\n distance = cache[index]\n cache[index] = result =\n distance > result\n ? distanceOther > result\n ? result + 1\n : distanceOther\n : distanceOther > distance\n ? distance + 1\n : distanceOther\n }\n }\n\n return result\n}\n","import * as React from 'react';\r\nimport { FC } from 'react';\r\nimport Map from './map/map';\r\nimport Picker from './picker/picker';\r\n\r\nconst Layout: FC = () => (\r\n\t
\r\n\t\t\r\n\t\t\r\n\t
\r\n);\r\nexport default Layout;\r\n","import * as React from 'react';\r\nimport { CSSProperties, FC, useContext } from 'react';\r\nimport { AppContext } from '../app';\r\nimport FullScreenButton from './fullScreenButton';\r\nimport Labels from './labels';\r\nimport Landmarks from './landmarks';\r\nimport Poi from './poi';\r\nimport Routes from './routes';\r\nimport Streets from './streets';\r\nimport Label from './label';\r\n\r\nconst Map: FC = () => {\r\n\tconst context = useContext(AppContext);\r\n\r\n\tconst isZoomed = context.state.zoomLevel > 1;\r\n\tconst overflow = isZoomed ? 'auto' : 'hidden';\r\n\r\n\tconst containerStyle: CSSProperties = context.state.fullScreen ? {\r\n\t\tposition: 'fixed',\r\n\t\ttop: 0,\r\n\t\tright: 0,\r\n\t\tbottom: 0,\r\n\t\tleft: 0,\r\n\t\toverflow\r\n\t} : { overflow };\r\n\r\n\tconst svgStyle: CSSProperties = {\r\n\t\ttransform: isZoomed ? `scale(${context.state.zoomLevel})` : 'none',\r\n\t\ttransformOrigin: 'top left',\r\n\t\tfillRule: 'evenodd',\r\n\t\tclipRule: 'evenodd',\r\n\t\tstrokeLinecap: 'round',\r\n\t\tstrokeMiterlimit: 1.5\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t);\r\n};\r\n\r\nexport default Map;\r\n","import * as React from 'react';\r\nimport { CSSProperties, FC, useContext } from 'react';\r\nimport { AppContext } from '../app';\r\n\r\nconst Labels: FC = () => {\r\n\r\n\tconst context = useContext(AppContext);\r\n\tconst display = context.state.showLabels ? 'block' : 'none';\r\n\r\n\tconst textStyle: CSSProperties = {\r\n\t\tfill: '#fff',\r\n\t\tfontFamily: 'interstate, sans-serif',\r\n\t\tfontWeight: 700,\r\n\t\tfontSize: 12,\r\n\t\tdisplay\r\n\t};\r\n\r\n\tconst circleStyle: CSSProperties = {\r\n\t\tfill: '#fff',\r\n\t\tstroke: '#222',\r\n\t\tstrokeWidth: 1.5\r\n\t};\r\n\r\n\tconst bgStyle: CSSProperties = {\r\n\t\tfill: '#A5238D',\r\n\t\tdisplay\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tLot\r\n\t\t\t\t\tE-14\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tResearch\r\n\t\t\t\t\tPark\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tFAR\r\n\t\t\t\t\tPAR\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tIllinois\r\n\t\t\t\t\tTerminal\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tLincoln\r\n\t\t\t\t\tSquare\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tIllini\r\n\t\t\t\t\tUnion\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tTransit\r\n\t\t\t\t\tPlaza\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Labels;\r\n","import * as React from 'react';\r\nimport{ CSSProperties, FC } from 'react';\r\n\r\nconst Landmarks: FC = () => {\r\n\r\n\tconst quadStyle: CSSProperties = {\r\n\t\tfill: 'none',\r\n\t\tstroke: '#ccc',\r\n\t\tstrokeWidth: 2\r\n\t};\r\n\r\n\tconst boneyardStyle: CSSProperties = {\r\n\t\tstroke: '#0d79f2',\r\n\t\tstrokeOpacity: 0.2,\r\n\t\tstrokeWidth: 4,\r\n\t\tfill: 'none'\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\nexport default Landmarks;\r\n","import * as React from 'react';\r\nimport{ FC, Fragment, useContext, useEffect, useRef } from 'react';\r\nimport { AppContext } from '../app';\r\n\r\nconst Poi: FC = () => {\r\n\tconst context = useContext(AppContext);\r\n\r\n\tconst ref = useRef(null);\r\n\r\n\tconst x = context.state.search.selectedPointOfInterest?.x || -1;\r\n\tconst y = context.state.search.selectedPointOfInterest?.y || -1;\r\n\r\n\tuseEffect(() => {\r\n\t\tif (ref.current && context.state.zoomLevel > 1) {\r\n\t\t\tref.current.scrollIntoView({\r\n\t\t\t\tbehavior: 'smooth',\r\n\t\t\t\tblock: 'center',\r\n\t\t\t\tinline: 'center'\r\n\t\t\t});\r\n\t\t}\r\n\t}, [context.state.zoomLevel, context.state.fullScreen, x, y]);\r\n\r\n\tif (context.state.search.selectedPointOfInterest) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\treturn null;\r\n};\r\n\r\nexport default Poi;\r\n","import * as React from 'react';\r\nimport { FC, useContext } from 'react';\r\nimport { AppContext } from '../app';\r\nimport Route from './route';\r\n\r\nfunction GetRoute(number: number, active: boolean): JSX.Element {\r\n\r\n\tswitch (number) {\r\n\t\tcase 1:\r\n\t\t\treturn (\r\n\t\t\t\t,\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t}>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\tcase 2:\r\n\t\t\treturn (\r\n\t\t\t\t,\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t}\r\n\t\t\t\t>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\tcase 5:\r\n\t\t\treturn (\r\n\t\t\t\t,\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t}\r\n\t\t\t\t>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\tcase 10:\r\n\t\t\treturn (\r\n\t\t\t\t,\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t}\r\n\t\t\t\t>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\tcase 12:\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\tcase 13:\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\tcase 21:\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\tcase 22:\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t}\r\n\t\t\t\t>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\tcase 24:\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t);\r\n\r\n\t}\r\n\tthrow new Error('Unknown route');\r\n}\r\n\r\nconst Routes: FC = () => {\r\n\tconst context = useContext(AppContext);\r\n\r\n\tconst activeRoutes: JSX.Element[] = [];\r\n\tconst inactiveRoutes: JSX.Element[] = [];\r\n\r\n\tfor (let number of [24, 22, 21, 13, 12, 10, 5, 2, 1]) {\r\n\t\tconst active = !context.state.search.selectedPointOfInterest ||\r\n\t\t\t(context.state.search.selectedPointOfInterest && context.state.search.selectedPointOfInterest.routeNumbers.filter(r => r === number).length > 0);\r\n\r\n\t\tconst route = GetRoute(number, active);\r\n\t\tif (active) {\r\n\t\t\tactiveRoutes.push(route);\r\n\t\t} else {\r\n\t\t\tinactiveRoutes.push(route);\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{inactiveRoutes}\r\n\t\t\t{activeRoutes}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Routes;\r\n","import * as React from 'react';\r\nimport{ CSSProperties, FC, Fragment, ReactElement } from 'react';\r\n\r\ninterface Props {\r\n\tnumber: number;\r\n\tcolor: string;\r\n\toffColor: string;\r\n\tchildren: ReactElement;\r\n\tactive: boolean;\r\n\tarrows?: JSX.Element[];\r\n}\r\n\r\nconst Route: FC = (props: Props) => {\r\n\tconst color = props.active ? props.color : props.offColor;\r\n\tconst style: CSSProperties = {\r\n\t\tstroke: color,\r\n\t\tstrokeMiterlimit: 10,\r\n\t\tfill: 'none',\r\n\t\tstrokeWidth: 5,\r\n\t\tstrokeLinejoin: 'round',\r\n\t\tstrokeLinecap: 'round',\r\n\t\tzIndex: (props.active ? 100 : 10) + props.number\r\n\t};\r\n\r\n\tconst arrowStyle: CSSProperties = {\r\n\t\t...style,\r\n\t\tfill: color\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{React.cloneElement(props.children, { style, key: 'line' })}\r\n\t\t\t{props.arrows?.map((a, i) => React.cloneElement(a, { style: arrowStyle, key: i }))}\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default Route;\r\n","import * as React from 'react';\r\nimport { FC, Fragment, useContext } from 'react';\r\nimport { AppContext } from '../app';\r\nimport Street from './street';\r\n\r\nconst Streets: FC = () => {\r\n\tconst context = useContext(AppContext);\r\n\r\n\tif (!context.state.showStreets) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\tGoodwin\r\n\t\t\tLincoln\r\n\t\t\tFirst\r\n\r\n\t\t\tWhite\r\n\t\t\tSpringfield\r\n\t\t\tGreen\r\n\t\t\tGregory\r\n\t\t\tUniversity\r\n\t\t\tKirby\r\n\t\t\r\n\t);\r\n}\r\nexport default Streets;\r\n","import * as React from 'react';\r\nimport { CSSProperties, FC } from 'react';\r\n\r\ninterface Props {\r\n\tchildren: string;\r\n\tx: number;\r\n\ty: number;\r\n\trotate?: boolean;\r\n}\r\n\r\nconst Street: FC = (props: Props) => {\r\n\tconst style: CSSProperties = {\r\n\t\tfontFamily: 'interstate, sans-serif',\r\n\t\tfontWeight: 700,\r\n\t\tfontSize: 12,\r\n\t\ttextTransform: 'uppercase',\r\n\t\tfill: '#838689'\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{props.children}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Street;\r\n","import React, { FC, useContext, CSSProperties } from 'react';\r\nimport { AppContext } from '../app';\r\n\r\nconst Label: FC = () => {\r\n\tconst context = useContext(AppContext);\r\n\r\n\tif (!context.state.search.selectedPointOfInterest) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tconst style: CSSProperties = {\r\n\t\tfontFamily: 'interstate, sans-serif',\r\n\t\tfontWeight: 700,\r\n\t\tfontSize: 24,\r\n\t\tfill: '#222',\r\n\t\ttextAnchor: 'middle'\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{context.state.search.selectedPointOfInterest.name}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Label;\r\n","import * as React from 'react';\r\nimport { FC, useContext } from 'react';\r\nimport { Actions } from '../../reducer';\r\nimport { AppContext } from '../app';\r\nimport Search from './search';\r\nimport Toggle from './toggle';\r\nimport Zoom from './zoom';\r\nimport Content from './content';\r\n\r\nconst Picker: FC = () => {\r\n\tconst context = useContext(AppContext);\r\n\r\n\tfunction streetChange(showStreets: boolean): void {\r\n\t\tcontext.dispatch({ type: Actions.SetShowStreets, showStreets });\r\n\t}\r\n\r\n\tfunction labelChange(showLabels: boolean): void {\r\n\t\tcontext.dispatch({ type: Actions.SetShowLabels, showLabels });\r\n\t}\r\n\r\n\treturn
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\tShow Streets\r\n\t\t\t\tShow Labels\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n}\r\n\r\nexport default Picker;\r\n","import React, { FC, useContext, Fragment, ChangeEvent, MouseEvent, useEffect } from 'react';\r\nimport { AppContext } from '../app';\r\nimport SearchResults from './searchResults';\r\nimport { Actions } from '../../reducer';\r\nimport ClearButton from './clearButton';\r\n\r\nconst Search: FC = () => {\r\n\tconst context = useContext(AppContext);\r\n\r\n\r\n\tfunction onChange(event: ChangeEvent): void {\r\n\t\tcontext.dispatch({ type: Actions.UpdateSearchTerm, term: event.target.value });\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default Search;\r\n","import * as React from 'react';\r\nimport { FC, useContext } from 'react';\r\nimport { Actions } from '../../reducer';\r\nimport { AppContext } from '../app';\r\n\r\nconst ClearButton: FC = () => {\r\n\tconst context = useContext(AppContext);\r\n\r\n\tfunction onClick(): void {\r\n\t\tcontext.dispatch({ type: Actions.Clear });\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default ClearButton;\r\n","import * as React from 'react';\r\nimport { ChangeEvent, FC, KeyboardEvent } from 'react';\r\n\r\ninterface Props {\r\n\tchecked: boolean;\r\n\tchangeCallback: (checked: boolean) => void;\r\n\tchildren: string;\r\n}\r\n\r\nconst Toggle: FC = (props: Props) => {\r\n\r\n\tfunction onChange(event: ChangeEvent): void {\r\n\t\tprops.changeCallback(event.target.checked);\r\n\t}\r\n\r\n\tfunction onKeyDown(event: KeyboardEvent): void {\r\n\t\tif (event.key === ' ' || event.key === 'Enter') {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tprops.changeCallback(!props.checked);\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Toggle;\r\n","import * as React from 'react';\r\nimport { ChangeEvent, FC, useContext } from 'react';\r\nimport { Actions } from '../../reducer';\r\nimport { ZoomLevel } from '../../types/zoomLevel';\r\nimport { AppContext } from '../app';\r\n\r\ntype Range = 1 | 2 | 3 | 4 | 5 | 6;\r\n\r\nconst valueMap: { [key in Range]: ZoomLevel } = {\r\n\t1: 1,\r\n\t2: 1.5,\r\n\t3: 2,\r\n\t4: 4,\r\n\t5: 8,\r\n\t6: 16\r\n};\r\n\r\nconst zoomMap: { [key in ZoomLevel]: Range } = {\r\n\t1: 1,\r\n\t1.5: 2,\r\n\t2: 3,\r\n\t4: 4,\r\n\t8: 5,\r\n\t16: 6\r\n};\r\n\r\nconst Zoom: FC = () => {\r\n\tconst context = useContext(AppContext);\r\n\r\n\tfunction onChange(event: ChangeEvent): void {\r\n\t\tconst zoomLevel = valueMap[parseInt(event.target.value) as Range];\r\n\t\tcontext.dispatch({ type: Actions.SetZoomLevel, zoomLevel })\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t

\r\n\t\t\t\t{context.state.zoomLevel}x\r\n\t\t\t

\r\n\t\t
\r\n\t);\r\n}\r\n\r\nexport default Zoom;\r\n","import React, { FC, useContext } from 'react';\r\nimport { AppContext } from '../app';\r\nimport SearchResults from './searchResults';\r\nimport ActiveRoutes from './activeRoutes';\r\n\r\nconst Content: FC = () => {\r\n\tconst context = useContext(AppContext);\r\n\r\n\tlet content: JSX.Element = null;\r\n\tconst hasSelected = context.state.search.selectedPointOfInterest !== null;\r\n\tconst hasResults = context.state.search.results.length > 0;\r\n\r\n\t// no search or selected\r\n\tif (!(hasSelected || hasResults)) {\r\n\t\tcontent = (\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\telse if (hasResults) {\r\n\t\tcontent = (\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\telse if (hasSelected) {\r\n\t\tcontent = (\r\n\t\t\t\r\n\t\t);\r\n\t} else {\r\n\t\tconsole.warn('nothing in sisebar. This shouldn\\'t happen', context.state);\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{content}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default Content;\r\n","import React, { FC } from 'react';\r\nimport SearchResult from './searchResult';\r\nimport { PointOfInterest } from '../../types/pointOfInterest';\r\n\r\ninterface Props {\r\n\tlabel?: string;\r\n\tresults: PointOfInterest[];\r\n}\r\n\r\nconst SearchResults: FC = (props: Props) => (\r\n\t
    \r\n\t\t{props.results.map(SearchResult)}\r\n\t
\r\n);\r\n\r\nexport default SearchResults;\r\n","import React, { FC, useContext } from 'react';\r\nimport { PointOfInterest } from '../../types/pointOfInterest';\r\nimport { AppContext } from '../app';\r\nimport { Actions } from '../../reducer';\r\n\r\nconst SearchResult: FC = (poi: PointOfInterest) => {\r\n\tconst context = useContext(AppContext);\r\n\tfunction onClick(): void {\r\n\t\tcontext.dispatch({ type: Actions.SelectPointOfInterest, poi });\r\n\t}\r\n\r\n\treturn (\r\n\t\t
  • \r\n\t\t\t\r\n\t\t
  • \r\n\t);\r\n}\r\n\r\nexport default SearchResult;\r\n","import React, { FC, useContext, Fragment } from 'react';\r\nimport { AppContext } from '../app';\r\nimport ActiveRoute from './activeRoute';\r\nimport StopwatchLink from './stopwatchLink';\r\n\r\nconst ActiveRoutes: FC = () => {\r\n\tconst context = useContext(AppContext);\r\n\r\n\tif (!context.state.search.selectedPointOfInterest || context.state.search.results.length > 0) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t

    {context.state.search.selectedPointOfInterest.name} is served by:

    \r\n\t\t\t
    \r\n\t\t\t\t{context.state.search.selectedPointOfInterest.routeNumbers.map(rn => )}\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ActiveRoutes;\r\n","import React, { FC, useContext, CSSProperties } from 'react';\r\nimport { AppContext } from '../app';\r\n\r\ninterface Props {\r\n\tnumber: number;\r\n}\r\n\r\nconst ActiveRoute: FC = (props: Props) => {\r\n\tconst context = useContext(AppContext);\r\n\tconst route = context.state.routes.filter(r => r.number === props.number)[0];\r\n\tconst bubble: CSSProperties = {\r\n\t\tcolor: `#${route.color.text}`,\r\n\t\tbackground: `#${route.color.background}`\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ActiveRoute;\r\n","import React, { FC } from 'react';\r\n\r\ninterface Props {\r\n\tstopId: string;\r\n}\r\n\r\nconst StopwatchLink: FC = (props: Props) => {\r\n\tif (!props.stopId || props.stopId.length === 0) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\tView Departures\r\n\t\t\r\n\t\t
    \r\n\t);\r\n}\r\n\r\nexport default StopwatchLink;\r\n","import * as data from './data';\r\nimport { PointOfInterest } from './types/pointOfInterest';\r\nimport { Route } from './types/route';\r\nimport { ZoomLevel } from './types/zoomLevel';\r\nimport { search } from './searcher';\r\n\r\ninterface HasName{\r\n\tname: string;\r\n}\r\n\r\nfunction sortByName(a: HasName, b: HasName): number {\r\n\tif (a.name < b.name) {\r\n\t\treturn -1;\r\n\t} else if (a.name > b.name) {\r\n\t\treturn 1;\r\n\t}\r\n\treturn 0;\r\n}\r\n\r\ninterface SearchState {\r\n\tterm: string;\r\n\tresults: PointOfInterest[];\r\n\tselectedPointOfInterest: PointOfInterest | null;\r\n\tpointsOfInterest: PointOfInterest[];\r\n}\r\n\r\ninterface DefaultableState {\r\n\troutes: Route[];\r\n\tfullScreen: boolean;\r\n\tshowStreets: boolean;\r\n\tshowLabels: boolean;\r\n\tzoomLevel: ZoomLevel;\r\n\tsearch: SearchState;\r\n}\r\n\r\nexport type State = Readonly;\r\n\r\nexport enum Actions {\r\n\tSelectPointOfInterest,\r\n\tClear,\r\n\tSetFullScreen,\r\n\tSetShowStreets,\r\n\tSetShowLabels,\r\n\tSetZoomLevel,\r\n\tUpdateSearchTerm\r\n}\r\n\r\ninterface BaseAction {\r\n\ttype: T;\r\n}\r\ninterface SelectPointOfInterest extends BaseAction {\r\n\tpoi: PointOfInterest | null;\r\n}\r\n\r\ninterface Clear extends BaseAction {\r\n}\r\n\r\ninterface SetFullScreen extends BaseAction {\r\n\tfullScreen: boolean;\r\n}\r\n\r\ninterface SetShowStreets extends BaseAction {\r\n\tshowStreets: boolean;\r\n}\r\n\r\ninterface SetShowLabels extends BaseAction {\r\n\tshowLabels: boolean;\r\n}\r\n\r\ninterface SetZoomLevel extends BaseAction {\r\n\tzoomLevel: ZoomLevel;\r\n}\r\n\r\ninterface UpdateSearchTerm extends BaseAction {\r\n\tterm: string;\r\n}\r\n\r\nexport type Action =\r\n\tSelectPointOfInterest |\r\n\tClear |\r\n\tSetFullScreen |\r\n\tSetShowStreets |\r\n\tSetShowLabels |\r\n\tSetZoomLevel |\r\n\tUpdateSearchTerm;\r\n\r\nexport function reducer(state: State, action: Action): State {\r\n\tswitch (action.type) {\r\n\t\tcase Actions.SelectPointOfInterest:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tsearch: { ...state.search, selectedPointOfInterest: action.poi, term: action.poi.name, results: [] }\r\n\t\t\t};\r\n\t\tcase Actions.Clear:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tsearch: { ...SearchStateDefaults }\r\n\t\t\t};\r\n\t\tcase Actions.SetFullScreen:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tfullScreen: action.fullScreen\r\n\t\t\t};\r\n\t\tcase Actions.SetShowStreets:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tshowStreets: action.showStreets\r\n\t\t\t};\r\n\t\tcase Actions.SetShowLabels:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tshowLabels: action.showLabels\r\n\t\t\t};\r\n\t\tcase Actions.SetZoomLevel:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tzoomLevel: action.zoomLevel\r\n\t\t\t}\r\n\t\tcase Actions.UpdateSearchTerm:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tsearch: {\r\n\t\t\t\t\t...state.search,\r\n\t\t\t\t\tterm: action.term,\r\n\t\t\t\t\tresults: search(action.term, state.search.pointsOfInterest, 4, 2)\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\nconst SearchStateDefaults: SearchState = {\r\n\tterm: '',\r\n\tresults: [],\r\n\tpointsOfInterest: data.PointsOfInterest.sort(sortByName),\r\n\tselectedPointOfInterest: null\r\n};\r\n\r\nexport const StateDefaults: DefaultableState = ({\r\n\troutes: data.Routes.sort(sortByName),\r\n\tfullScreen: false,\r\n\tshowStreets: true,\r\n\tshowLabels: true,\r\n\tzoomLevel: 1,\r\n\tsearch: SearchStateDefaults\r\n});\r\n"],"sourceRoot":""}