{"version":3,"sources":["webpack://[name]/webpack/bootstrap","webpack://[name]/external \"React\"","webpack://[name]/./node_modules/tslib/tslib.es6.js","webpack://[name]/./ts/generic/helpers/unreachable.ts","webpack://[name]/./ts/whereTo/components/tripTerminus/reducer.ts","webpack://[name]/./ts/constants/autocomplete.ts","webpack://[name]/external \"ReactDOM\"","webpack://[name]/./ts/whereTo/types/When.ts","webpack://[name]/./ts/whereTo/components/tripTerminus/terminusAppContext.ts","webpack://[name]/./ts/whereTo/types/TripOption.ts","webpack://[name]/./ts/whereTo/components/tripOptions/tripOptionsContext.ts","webpack://[name]/./ts/whereTo/components/tripOptions/reducer.ts","webpack://[name]/./ts/api/GenericApi.ts","webpack://[name]/./ts/generic/components/RadioOrCheckbox.tsx","webpack://[name]/./ts/WhereTo.tsx","webpack://[name]/./ts/whereTo/components/App.tsx","webpack://[name]/./ts/whereTo/components/layout.tsx","webpack://[name]/./ts/whereTo/components/form.tsx","webpack://[name]/./ts/whereTo/components/options.tsx","webpack://[name]/./ts/whereTo/components/submitButton.tsx","webpack://[name]/./ts/whereTo/components/terminus.tsx","webpack://[name]/./ts/api/AutocompleteApi.ts","webpack://[name]/./ts/generic/components/QueryHighlight.tsx","webpack://[name]/./ts/whereTo/types/IPlanTrip.ts","webpack://[name]/./ts/whereTo/appContext.ts","webpack://[name]/./ts/PlausibleHelpers.ts","webpack://[name]/./ts/whereTo/reducer.ts","webpack://[name]/./ts/whereTo/components/tripTerminus/app.tsx","webpack://[name]/./ts/whereTo/components/tripTerminus/layout.tsx","webpack://[name]/./ts/whereTo/components/tripTerminus/querySubscriber.tsx","webpack://[name]/./ts/whereTo/components/tripTerminus/results.tsx","webpack://[name]/./ts/whereTo/components/tripTerminus/result.tsx","webpack://[name]/./ts/whereTo/components/tripTerminus/searchBox.tsx","webpack://[name]/./ts/whereTo/components/tripOptions/app.tsx","webpack://[name]/./ts/whereTo/components/tripOptions/layout.tsx","webpack://[name]/./ts/whereTo/components/tripOptions/tripOptionsPicker.tsx","webpack://[name]/./ts/whereTo/components/tripOptions/whenPicker.tsx"],"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","Actions","action","type","ClearSelection","point","query","queryIndex","results","defaultResults","showResults","UpdateQuery","AutocompleteConstants","MinQueryLength","SetPoint","UpdateResults","stopError","stopResults","placeError","placeResults","DefaultState","ReactDOM","PartOfDay","TripType","Time","date","Date","isValid","validHour","hour","validMinutes","minute","format","hours","getHours","getMinutes","convertHour","daypart","convertPartOfDay","PM","AM","hh","h","hStr","toString","mStr","When","when","time","isNaN","parse","formatDate","LeaveAfter","dd","getDate","mm","getMonth","getFullYear","encode","ArriveBy","typeToString","TerminusAppContext","createContext","dispatch","displayName","page","TripOption","TripOptionsContext","hideFieldset","ChangeWhenType","tripType","ChangeTime","ChangeDate","ChangeTripType","LessTime","GenericApi","MergeDefaultGet","options","method","credentials","genericRequest","url","request","Request","response","fetch","status","json","fireAndForget","getRequest","postRequest","JSON","stringify","postFormData","props","className","id","inputId","inputName","onChange","checked","htmlFor","onKeyPress","event","preventDefault","stopPropagation","currentTarget","click","focus","element","document","getElementById","reactApp","origin","window","mtd","whereTo","destination","reactDom","render","useReducer","reducer","StateDefaults","Provider","children","formAction","setFormAction","useState","tripOption","useContext","valid","useEffect","encodeResult","PlanTripTerminusPointType","Stop","Place","option","LessWalking","LessXfers","getFormAction","onSubmit","location","href","updateWhen","newWhen","UpdateWhen","updateType","newTripOption","UpdateTripOption","disabled","assertUnreachable","updateCallback","currentPoint","UpdatePoint","terminusType","AutocompleteApi","buildUrl","baseUrl","sessionId","count","replaced","replace","trim","encodeURIComponent","suggestQuery","wrapperClass","highlights","map","highlight","index","elements","highlightPart","noHighlightPart","AppContext","eventName","eventProps","plausible","console","warn","errorLevel","searchSessionId","autocomplete","StopResults","Result","city","interior","role","PlaceResults","display","secondary","resultsCount","toLocaleString","fromCharCode","clickCallback","lineTwo","resultType","radioGroupName","callClickCallback","queryHighlight","reduce","strVal","qh","field","onKeyDown","keyCode","onClick","hasCleared","setHasCleared","buttonRef","useRef","inputRef","clearSelection","updateQuery","newQuery","current","autoComplete","ref","App","defaultProps","fieldsetClass","parseInt","padMinutes","minutes","minuteString","changeType","updateTime","changePartOfDay","newTime","now","min","max","required","ele","style","setProperty"],"mappings":"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","file":"whereTo.df8e17a25bf57a616187.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 = 359);\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","export function assertUnreachable(x: never): never {\r\n\tthrow new Error(\"Didn't expect to get here\");\r\n}\r\n","import { ISuggestResults } from \"../../../api/types/Autocomplete\";\r\nimport { ISearchResult } from \"../../../api/types/GoogleCustomSearchTypes\";\r\nimport { IPlanTripTerminusPoint } from \"../../types/IPlanTrip\";\r\nimport { AutocompleteConstants } from '../../../constants/autocomplete';\r\n\r\ninterface DefaultableState {\r\n\tqueryIndex: number;\r\n\tresults: ISuggestResults;\r\n\tshowResults: boolean;\r\n}\r\n\r\ninterface PropState {\r\n\tpoint: IPlanTripTerminusPoint | null;\r\n\tquery: string;\r\n}\r\n\r\nexport type State = Readonly;\r\n\r\nexport enum Actions {\r\n\tClearSelection,\r\n\tUpdateQuery,\r\n\tSetPoint,\r\n\tUpdateResults\r\n}\r\n\r\ninterface BaseAction {\r\n\ttype: Actions;\r\n}\r\n\r\ninterface ClearSelection extends BaseAction {\r\n\ttype: Actions.ClearSelection;\r\n}\r\n\r\ninterface UpdateQuery extends BaseAction {\r\n\ttype: Actions.UpdateQuery;\r\n\tquery: string;\r\n}\r\n\r\ninterface SetPoint extends BaseAction {\r\n\ttype: Actions.SetPoint;\r\n\tpoint: IPlanTripTerminusPoint | null;\r\n}\r\n\r\ninterface UpdateResults extends BaseAction {\r\n\ttype: Actions.UpdateResults;\r\n\tresults: ISuggestResults;\r\n}\r\n\r\nexport type Action = ClearSelection | UpdateQuery | SetPoint | UpdateResults;\r\n\r\nexport function reducer(state: State, action: Action): State {\r\n\tswitch (action.type) {\r\n\t\tcase Actions.ClearSelection:\r\n\t\t\treturn {\r\n\t\t\t\t...state, point: null, query: '', queryIndex: 0, results: { ...defaultResults }, showResults: false };\r\n\t\tcase Actions.UpdateQuery:\r\n\t\t\treturn { ...state, query: action.query, queryIndex: state.queryIndex + 1, showResults: action.query.length >= AutocompleteConstants.MinQueryLength };\r\n\t\tcase Actions.SetPoint:\r\n\t\t\treturn { ...state, point: action.point, query: action.point ? action.point.name : state.query, queryIndex: 0, showResults: false };\r\n\t\tcase Actions.UpdateResults:\r\n\t\t\tif (state.queryIndex <= action.results.queryIndex) {\r\n\t\t\t\treturn { ...state, results: action.results };\r\n\t\t\t}\r\n\t\t\treturn state;\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\nconst defaultResults: ISuggestResults = {\r\n\tstopError: false,\r\n\tstopResults: [],\r\n\tplaceError: false,\r\n\tplaceResults: [],\r\n\tqueryIndex: 0,\r\n}\r\n\r\nexport const DefaultState: DefaultableState = {\r\n\tqueryIndex: 0,\r\n\tresults: {\r\n\t\t...defaultResults\r\n\t},\r\n\tshowResults: false\r\n};\r\n","/** Constants that should be shared across all autocomplete functionality. */\r\nexport module AutocompleteConstants {\r\n\r\n\t/** The minimum query length before getting autocomplete results. */\r\n\texport const MinQueryLength: number = 3;\r\n}\r\n","module.exports = ReactDOM;","export enum PartOfDay{\r\n\tAM,\r\n\tPM\r\n}\r\n\r\nexport enum TripType {\r\n\tLeaveAfter,\r\n\tArriveBy\r\n}\r\n\r\nexport interface ITime {\r\n\thour: number;\r\n\tminute: number;\r\n\tdaypart: PartOfDay;\r\n\tisValid: () => boolean;\r\n\tformat: () => string;\r\n}\r\n\r\nexport class Time implements ITime {\r\n\r\n\tpublic hour: number;\r\n\tpublic minute: number;\r\n\tpublic daypart: PartOfDay;\r\n\r\n\tconstructor(date: Date = new Date()) {\r\n\t\tconst hours: number = date.getHours();\r\n\t\tthis.minute = date.getMinutes();\r\n\t\tthis.hour = Time.convertHour(hours);\r\n\t\tthis.daypart = Time.convertPartOfDay(hours);\r\n\t}\r\n\r\n\tpublic isValid: () => boolean = () => {\r\n\t\tconst validHour: boolean = this.hour >= 1 && this.hour <= 12;\r\n\t\tconst validMinutes: boolean = this.minute >= 0 && this.minute < 60;\r\n\t\treturn validHour && validMinutes;\r\n\t};\r\n\r\n\tprivate static convertHour(hour: number): number {\r\n\t\tif (hour === 0) {\r\n\t\t\treturn 12;\r\n\t\t}\r\n\t\treturn hour > 12 ? hour - 12 : hour;\r\n\t}\r\n\r\n\tprivate static convertPartOfDay(hour: number): PartOfDay {\r\n\t\treturn hour >= 12 ? PartOfDay.PM : PartOfDay.AM;\r\n\t}\r\n\r\n\tpublic format: () => string = () => {\r\n\t\treturn Time.format(this);\r\n\t}\r\n\r\n\tpublic static format: (t: ITime) => string = (t: ITime) => {\r\n\r\n\t\tconst toString: (h: number, m: number) => string = (h: number, m: number) => {\r\n\r\n\t\t\tlet hStr: string = h.toString();\r\n\t\t\tlet mStr: string = m.toString();\r\n\r\n\t\t\tif (h < 10) {\r\n\t\t\t\thStr = `0${hStr}`;\r\n\t\t\t}\r\n\r\n\t\t\tif (m < 10) {\r\n\t\t\t\tmStr = `0${mStr}`;\r\n\t\t\t}\r\n\r\n\t\t\treturn `${hStr}${mStr}`;\r\n\t\t};\r\n\r\n\t\tlet hh: number = t.hour;\r\n\r\n\t\tif (t.daypart === PartOfDay.PM && hh !== 12) {\r\n\t\t\thh += 12;\r\n\t\t}\r\n\r\n\t\tif (t.daypart === PartOfDay.AM && hh === 12) {\r\n\t\t\thh = 0;\r\n\t\t}\r\n\r\n\t\treturn toString(hh, t.minute);\r\n\t}\r\n\r\n}\r\n\r\nexport interface IWhen {\r\n\ttime: ITime;\r\n\tdate: string;\r\n\ttype: TripType;\r\n\tisValid: () => boolean;\r\n\tformat: () => string;\r\n}\r\n\r\nexport class When implements IWhen {\r\n\tpublic time: ITime;\r\n\tpublic date: string;\r\n\tpublic type: TripType;\r\n\r\n\tconstructor(when: IWhen = null) {\r\n\t\tif (when === null) {\r\n\t\t\tconst date: Date = new Date();\r\n\t\t\tthis.time = new Time(date);\r\n\t\t\tthis.date = When.formatDate(date);\r\n\t\t\tthis.type = TripType.LeaveAfter;\r\n\t\t} else {\r\n\t\t\tthis.time = when.time;\r\n\t\t\tthis.date = when.date;\r\n\t\t\tthis.type = when.type;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic isValid: () => boolean = () => {\r\n\t\tif (this.time == null || !this.time.isValid()) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn !isNaN(Date.parse(this.date));\r\n\t}\r\n\r\n\tpublic static formatDate(date: Date): string {\r\n\t\tlet dd: number | string = date.getDate();\r\n\t\tlet mm: number | string = date.getMonth() + 1; //January is 0!\r\n\t\tconst yyyy: number = date.getFullYear();\r\n\r\n\t\tif (dd < 10) {\r\n\t\t\tdd = `0${dd}`;\r\n\t\t}\r\n\r\n\t\tif (mm < 10) {\r\n\t\t\tmm = `0${mm}`;\r\n\t\t}\r\n\t\treturn `${yyyy}-${mm}-${dd}`;\r\n\t}\r\n\r\n\tpublic format: () => string = () =>\r\n\t\t`${this.date}T${this.time.format()}`;\r\n\r\n\tpublic static encode: (when: IWhen) => string = (when: IWhen) => {\r\n\t\tconst typeToString: (type: TripType) => string = (type: TripType) => {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase TripType.ArriveBy:\r\n\t\t\t\t\treturn 'arrive-by';\r\n\t\t\t\tcase TripType.LeaveAfter:\r\n\t\t\t\t\treturn 'leave-after';\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn 'unknown';\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn `${typeToString(when.type)}/${when.date}/${Time.format(when.time)}`;\r\n\t}\r\n\r\n}\r\n","import { Context, createContext, Dispatch } from \"react\";\r\nimport { State, Action, DefaultState } from \"./reducer\";\r\n\r\nexport interface TerminusAppContextType {\r\n\tdispatch: Dispatch;\r\n\tstate: State;\r\n\tdisplayName: string;\r\n\ttype: 'origin' | 'destination';\r\n\tpage: 'school' | 'where-to';\r\n}\r\n\r\nconst TerminusAppContext: Context = createContext({\r\n\tdispatch: () => { },\r\n\tstate: { ...DefaultState, query: '', point: null },\r\n\tdisplayName: '',\r\n\ttype: 'origin',\r\n\tpage: 'where-to'\r\n});\r\n\r\nexport default TerminusAppContext;\r\n","export enum TripOption {\r\n\tLessTime,\r\n\tLessWalking,\r\n\tLessXfers\r\n}\r\n","import { Context, createContext, Dispatch } from \"react\";\r\nimport { State, Action, DefaultState } from \"./reducer\";\r\n\r\nexport interface TripOptionsContextType {\r\n\tdispatch: Dispatch;\r\n\tstate: State;\r\n\thideFieldset: boolean;\r\n}\r\n\r\nconst TripOptionsContext: Context = createContext({\r\n\tdispatch: () => { },\r\n\tstate: { ...DefaultState },\r\n\thideFieldset: false\r\n });\r\n\r\nexport default TripOptionsContext;\r\n","import { ITime, IWhen, TripType, When } from \"../../types/When\";\r\nimport { TripOption } from \"../../types/TripOption\";\r\n\r\ninterface DefaultableState {\r\n\twhen: IWhen;\r\n\ttype: TripOption;\r\n}\r\n\r\nexport type PropState = Partial;\r\n\r\nexport type State = Readonly;\r\n\r\nexport enum Actions {\r\n\tChangeWhenType,\r\n\tChangeTime,\r\n\tChangeDate,\r\n\tChangeTripType\r\n}\r\n\r\ninterface BaseAction {\r\n\ttype: Actions;\r\n}\r\n\r\ninterface ChangeWhenType extends BaseAction {\r\n\ttype: Actions.ChangeWhenType;\r\n\ttripType: TripType;\r\n}\r\n\r\ninterface ChangeTime extends BaseAction {\r\n\ttype: Actions.ChangeTime;\r\n\ttime: ITime;\r\n}\r\n\r\ninterface ChangeDate extends BaseAction {\r\n\ttype: Actions.ChangeDate;\r\n\tdate: string;\r\n}\r\n\r\ninterface ChangeTripType extends BaseAction {\r\n\ttype: Actions.ChangeTripType;\r\n\ttripType: TripOption;\r\n}\r\n\r\nexport type Action = ChangeWhenType | ChangeTime | ChangeDate | ChangeTripType;\r\n\r\nexport function reducer(state: State, action: Action): State {\r\n\tswitch (action.type) {\r\n\t\tcase Actions.ChangeWhenType:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\twhen: {\r\n\t\t\t\t\t...state.when,\r\n\t\t\t\t\ttype: action.tripType\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\tcase Actions.ChangeTime:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\twhen: {\r\n\t\t\t\t\t...state.when,\r\n\t\t\t\t\ttime: { ...action.time }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\tcase Actions.ChangeDate:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\twhen: {\r\n\t\t\t\t\t...state.when,\r\n\t\t\t\t\tdate: action.date\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\tcase Actions.ChangeTripType:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttype: action.tripType\r\n\t\t\t}\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\nexport const DefaultState: DefaultableState = {\r\n\twhen: new When(),\r\n\ttype: TripOption.LessTime\r\n};\r\n","export module GenericApi {\r\n\r\n\tconst MergeDefaultGet: (options: RequestInit) => RequestInit = (options: RequestInit) => ({\r\n\t\tmethod: 'GET',\r\n\t\tcredentials: 'same-origin',\r\n\t\t...options\r\n\t});\r\n\r\n\texport async function fireAndForget(url: string, options: RequestInit = {}): Promise {\r\n\t\tconst init: RequestInit = MergeDefaultGet(options);\r\n\t\tconst request: Request = new Request(url, init);\r\n\t\tconst response: Response = await fetch(request);\r\n\t\tif (response.status === 200) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\texport async function getRequest(url: string, options: RequestInit = {}): Promise {\r\n\t\tconst init: RequestInit = MergeDefaultGet(options);\r\n\r\n\t\treturn await genericRequest(url, init);\r\n\t}\r\n\r\n\texport async function postRequest(url: string, body: TBody, options: RequestInit = {}): Promise {\r\n\t\tconst init: RequestInit = {\r\n\t\t\tmethod: 'POST',\r\n\t\t\tcredentials: 'same-origin',\r\n\t\t\tbody: JSON.stringify(body),\r\n\t\t\t...options\r\n\t\t};\r\n\r\n\t\treturn await genericRequest(url, init);\r\n\t}\r\n\r\n\texport async function postFormData(url: string, body: FormData, options: RequestInit = {}): Promise {\r\n\t\tconst init: RequestInit = {\r\n\t\t\tmethod: 'POST',\r\n\t\t\tcredentials: 'same-origin',\r\n\t\t\tbody,\r\n\t\t\t...options\r\n\t\t};\r\n\r\n\t\treturn await genericRequest(url, init);\r\n\t}\r\n\r\n\tasync function genericRequest(url: string, init: RequestInit): Promise {\r\n\t\tconst request: Request = new Request(url, init);\r\n\t\tconst response: Response = await fetch(request);\r\n\t\tif (response.status === 200) {\r\n\t\t\treturn await response.json() as T;\r\n\t\t}\r\n\t\tthrow `Status ${response.status}: when fetching '${url}'`;\r\n\t}\r\n\r\n}\r\n","import * as React from 'react';\r\nimport { ChangeEvent, FC, KeyboardEvent } from 'react';\r\n\r\ninterface Props {\r\n\tvalue: string | number | string[];\r\n\tonChange: (event: ChangeEvent) => void;\r\n\tchecked: boolean;\r\n\tlabel: string;\r\n\tinputId: string;\r\n\tinputName: string;\r\n\ttype: 'radio' | 'checkbox';\r\n}\r\n\r\nconst RadioOrCheckbox: FC = (props: Props) => {\r\n\r\n\tfunction labelKeyPress(event: KeyboardEvent): void {\r\n\t\tif (event.key === ' ' || event.key === 'Enter') {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tevent.stopPropagation();\r\n\t\t\tevent.currentTarget.click();\r\n\t\t\tevent.currentTarget.focus();\r\n\t\t}\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{props.label}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default RadioOrCheckbox;\r\n","import * as React from 'react';\r\nimport * as reactDom from 'react-dom';\r\nimport App from './whereTo/components/App';\r\n\r\n(() => {\r\n\tconst element = document.getElementById('where-to-app');\r\n\tif (element) {\r\n\t\tconst reactApp = (\r\n\t\t\t\r\n\t\t);\r\n\t\treactDom.render(reactApp, element);\r\n\t}\r\n})();\r\n","import React, { Context, FC, useReducer } from 'react';\r\nimport { reducer, State, StateDefaults } from '../reducer';\r\nimport { IPlanTripTerminusPoint } from '../types/IPlanTrip';\r\nimport AppContext, { AppContextType } from '../appContext';\r\nimport Layout from './layout';\r\n\r\ninterface Props {\r\n\torigin: IPlanTripTerminusPoint;\r\n\tdestination: IPlanTripTerminusPoint;\r\n}\r\n\r\nconst App: FC = ({ origin, destination }: Props) => {\r\n\tconst [state, dispatch] = useReducer(reducer, { ...StateDefaults(), origin, destination });\r\n\tconst context: AppContextType = { 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\n\r\nexport default App;\r\n","import React, { FC } from 'react';\r\nimport Form from './form';\r\nimport Options from './options';\r\nimport SubmitButton from './submitButton';\r\nimport Terminus from './terminus';\r\n\r\nconst Layout = () => (\r\n\t
\r\n\t\t
\r\n\t\t\tTrip Terminus Points\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\t\t\r\n\t\r\n);\r\n\r\nexport default Layout;\r\n","import React, { FC, FormEvent, ReactElement, useContext, useEffect, useState } from 'react';\r\nimport AppContext from '../appContext';\r\nimport { IPlanTripTerminusPoint, PlanTripTerminusPointType } from '../types/IPlanTrip';\r\nimport { TripOption } from '../types/TripOption';\r\nimport { When } from '../types/When';\r\n\r\ninterface Props {\r\n\tchildren: ReactElement | ReactElement[];\r\n}\r\n\r\nconst Form: FC = ({ children }: Props) => {\r\n\tconst [formAction, setFormAction] = useState('');\r\n\tconst { state: { tripOption, origin, destination, when } } = useContext(AppContext);\r\n\tconst valid = origin && destination && when.isValid() === true;\r\n\r\n\tuseEffect(() => {\r\n\t\tfunction getFormAction(): string {\r\n\t\t\tfunction encodeResult(point: IPlanTripTerminusPoint): string {\r\n\t\t\t\tconst typeToString: (type: PlanTripTerminusPointType) => string = (type: PlanTripTerminusPointType) => {\r\n\t\t\t\t\tswitch (type) {\r\n\t\t\t\t\t\tcase PlanTripTerminusPointType.Stop:\r\n\t\t\t\t\t\t\treturn 's';\r\n\t\t\t\t\t\tcase PlanTripTerminusPointType.Place:\r\n\t\t\t\t\t\t\treturn 'p';\r\n\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\treturn 'e';\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\treturn `${typeToString(point.type)}-${point.id}`;\r\n\t\t\t};\r\n\r\n\t\t\tif (valid) {\r\n\t\t\t\tlet option: string;\r\n\t\t\t\tswitch (tripOption) {\r\n\t\t\t\t\tcase TripOption.LessWalking:\r\n\t\t\t\t\t\toption = 'less-walking/';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase TripOption.LessXfers:\r\n\t\t\t\t\t\toption = 'fewer-transfers/';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\toption = '';\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst formAction: string = `/maps-and-schedules/plan-trip/from/${encodeResult(origin)}/to/${encodeResult(destination)}/${When.encode(when)}/${option}`;\r\n\t\t\t\treturn formAction;\r\n\t\t\t}\r\n\t\t\treturn '';\r\n\t\t};\r\n\r\n\t\tsetFormAction(getFormAction());\r\n\t}, [ valid, origin, destination, when.date, when.time.hour, when.time.minute, when.time.daypart, when.type ]);\r\n\r\n\r\n\tfunction formSubmit(event: FormEvent): void {\r\n\t\tevent.preventDefault();\r\n\t\tif (formAction.length > 0) {\r\n\t\t\tdocument.location.href = formAction;\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{children}\r\n\t\t
\r\n\t);\r\n\r\n};\r\n\r\nexport default Form;\r\n","import React, { FC, useContext } from 'react';\r\nimport AppContext from '../appContext';\r\nimport { TripOption } from '../types/TripOption';\r\nimport { IWhen, Time } from '../types/When';\r\nimport TripOptions from './tripOptions/app';\r\nimport { Actions } from '../reducer';\r\nconst Options: FC = () => {\r\n\r\n\tconst {\r\n\t\tdispatch,\r\n\t\tstate: {\r\n\t\t\twhen,\r\n\t\t\ttripOption\r\n\t\t}\r\n\t} = useContext(AppContext);\r\n\r\n\tfunction updateWhen(newWhen: IWhen): void {\r\n\t\tif (\r\n\t\t\twhen.date !== newWhen.date ||\r\n\t\t\tTime.format(when.time) !== Time.format(newWhen.time) ||\r\n\t\t\twhen.time.daypart !== newWhen.time.daypart ||\r\n\t\t\twhen.type !== newWhen.type\r\n\t\t) {\r\n\t\t\tdispatch({ type: Actions.UpdateWhen, when: newWhen });\r\n\t\t}\r\n\t}\r\n\r\n\tfunction updateType(newTripOption: TripOption): void {\r\n\t\tif (tripOption !== newTripOption) {\r\n\t\t\tdispatch({ type: Actions.UpdateTripOption, tripOption: newTripOption });\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 Options;\r\n","import React, { FC, useContext, } from 'react';\r\nimport AppContext from '../appContext';\r\n\r\nconst SubmitButton: FC = () => {\r\n\tconst { state: { origin, destination, when } } = useContext(AppContext);\r\n\r\n\tconst valid = origin != null && destination != null && when.isValid() === true;\r\n\r\n\treturn (\r\n\t\t\r\n\t);\r\n\r\n};\r\n\r\nexport default SubmitButton;\r\n","import React, { FC, useContext } from 'react';\r\nimport AppContext from '../appContext';\r\nimport { IPlanTripTerminusPoint, PlanTripTerminusPointType } from '../types/IPlanTrip';\r\nimport TerminusApp from './tripTerminus/app';\r\nimport { Actions } from '../reducer';\r\nimport { assertUnreachable } from '../../generic/helpers/unreachable';\r\n\r\ninterface Props {\r\n\ttype: 'origin' | 'destination';\r\n}\r\n\r\nconst Terminus: FC = ({ type }: Props) => {\r\n\r\n\tconst displayName = (() => {\r\n\t\tswitch (type) {\r\n\t\t\tcase 'origin':\r\n\t\t\t\treturn 'From';\r\n\t\t\tcase 'destination':\r\n\t\t\t\treturn 'To';\r\n\t\t\tdefault:\r\n\t\t\t\tassertUnreachable(type);\r\n\t\t}\r\n\t})();\r\n\r\n\tconst {\r\n\t\tdispatch,\r\n\t\tstate: {\r\n\t\t\torigin,\r\n\t\t\tdestination\r\n\t\t}\r\n\t} = useContext(AppContext);\r\n\r\n\tfunction updateCallback(point: IPlanTripTerminusPoint): void {\r\n\t\tconst currentPoint = type === 'origin' ? origin : destination;\r\n\t\tif (point?.id !== currentPoint?.id) {\r\n\t\t\tdispatch({ type: Actions.UpdatePoint, terminusType: type, point });\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t);\r\n\r\n};\r\n\r\nexport default Terminus;\r\n","import { GenericApi } from './GenericApi';\r\nimport { ISuggestResults } from './types/Autocomplete';\r\n\r\nexport module AutocompleteApi {\r\n\tconst SEARCH_API_VERSION: string = 'v1.0.2';\r\n\tconst SEARCH_BASE_URL: string = `https://search.mtd.org/${SEARCH_API_VERSION}`;\r\n\tconst SUGGEST_BASE_URL: string = `${SEARCH_BASE_URL}/website/suggest`;\r\n\tconst PLACE_DETAILS_BASE_URL: string = `${SEARCH_BASE_URL}/google/places/details`;\r\n\r\n\tfunction encode(url: string): string {\r\n\t\tconst replaced: string = url\r\n\t\t\t.replace(/[\\/]+/g, ' ')\r\n\t\t\t.replace(/[&]+/g, 'and')\r\n\t\t\t.trim();\r\n\r\n\t\treturn encodeURIComponent(replaced);\r\n\t}\r\n\r\n\tfunction buildUrl(baseUrl: string, sessionId: string, count: number, query: string): string {\r\n\t\treturn `${baseUrl}/${sessionId}/${count}/${encode(query)}`;\r\n\t}\r\n\r\n\texport async function suggestQuery(sessionId: string, queryIndex: number,query: string): Promise {\r\n\t\treturn await GenericApi.getRequest(buildUrl(SUGGEST_BASE_URL, sessionId, queryIndex, query));\r\n\t}\r\n\r\n}\r\n","import * as React from 'react';\r\nimport { SFC } from 'react';\r\n\r\nimport {IQueryHighlight} from '../../api/types/Autocomplete';\r\n\r\ninterface Props {\r\n\twrapperClass: string;\r\n\thighlights: IQueryHighlight[];\r\n}\r\n\r\nconst QueryHighlight: SFC = (props: Props) => {\r\n\tconst renderHighlight: (highlight: IQueryHighlight, index: number) => JSX.Element = (highlight: IQueryHighlight, index: number) => {\r\n\t\tconst elements: JSX.Element[] = [];\r\n\t\tif (highlight.highlightPart) {\r\n\t\t\tconst key: string = `wordpart-hl-${index}-${highlight.highlightPart}`;\r\n\t\t\telements.push({highlight.highlightPart});\r\n\t\t}\r\n\t\tif (highlight.noHighlightPart) {\r\n\t\t\tconst key: string = `wordpart-nhl-${index}-${highlight.noHighlightPart}`;\r\n\t\t\telements.push({highlight.noHighlightPart});\r\n\t\t}\r\n\t\tif (elements.length > 0) {\r\n\t\t\tconst key: string = `word-${index}-${highlight.highlightPart}-${highlight.noHighlightPart}`;\r\n\t\t\treturn {elements};\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\r\n\treturn
{props.highlights.map(renderHighlight)}
;\r\n\r\n};\r\n\r\nexport default QueryHighlight;\r\n","export enum PlanTripTerminusPointType {\r\n\tStop = 1,\r\n\tPlace = 2,\r\n\tGps = 3\r\n}\r\n\r\nexport interface IPlanTripTerminusPoint {\r\n\tid: string;\r\n\tname: string;\r\n\ttype: PlanTripTerminusPointType;\r\n}\r\n\r\nexport interface IPlanTrip {\r\n\torigin: IPlanTripTerminusPoint;\r\n\tdestination: IPlanTripTerminusPoint;\r\n}\r\n","import { Context, createContext, Dispatch } from \"react\";\r\nimport { State, Action, StateDefaults } from \"./reducer\";\r\n\r\nexport interface AppContextType {\r\n\tdispatch: Dispatch;\r\n\tstate: State;\r\n}\r\n\r\n const AppContext: Context = createContext({\r\n\tdispatch: () => { },\r\n\tstate: { ...StateDefaults(), origin: null, destination: null }\r\n });\r\n\r\nexport default AppContext;\r\n","/**\r\n * Tracks an event using Plausible Analytics.\r\n *\r\n * @param eventName - The name of the event to track.\r\n * @param eventProps - Optional properties associated with the event.\r\n */\r\nexport default function trackEvent(eventName: string, eventProps: Record = {}): void {\r\n\tif (window.plausible) {\r\n\t\twindow.plausible(eventName, {\r\n\t\t\tprops: eventProps,\r\n\t\t});\r\n\t} else {\r\n\t\tconsole.warn('Plausible Analytics is not loaded. Failed to track event:', eventName, eventProps);\r\n\t}\r\n}\r\n\r\nexport function trackError(eventName: string, module: string, eventProps: Record = {}, errorLevel: 'debug' | 'info' | 'warning' | 'error' = 'error'): void {\r\n\tif (window.plausible) {\r\n\t\tvar props = {\r\n\t\t\t...eventProps,\r\n\t\t\terror: true,\r\n\t\t\tmodule,\r\n\t\t\terrorLevel\r\n\t\t};\r\n\r\n\t\twindow.plausible(eventName, {\r\n\t\t\tprops\r\n\t\t});\r\n\t} else {\r\n\t\tconsole.warn('Plausible Analytics is not loaded. Failed to track event:', eventName, eventProps);\r\n\t}\r\n}\r\n","import { IPlanTripTerminusPoint, PlanTripTerminusPointType } from \"./types/IPlanTrip\";\r\nimport { TripOption } from \"./types/TripOption\";\r\nimport { IWhen, When } from \"./types/When\";\r\ninterface DefaultableState {\r\n\twhen: IWhen;\r\n\ttripOption: TripOption;\r\n}\r\n\r\ninterface PropState {\r\n\torigin: IPlanTripTerminusPoint | null;\r\n\tdestination: IPlanTripTerminusPoint | null;\r\n}\r\n\r\nexport type State = Readonly;\r\n\r\nexport enum Actions {\r\n\tUpdatePoint,\r\n\tUpdateWhen,\r\n\tUpdateTripOption\r\n}\r\n\r\ninterface BaseAction {\r\n\ttype: Actions;\r\n}\r\n\r\ninterface UpdatePoint extends BaseAction {\r\n\ttype: Actions.UpdatePoint;\r\n\tterminusType: 'origin' | 'destination';\r\n\tpoint: IPlanTripTerminusPoint;\r\n}\r\n\r\ninterface UpdateWhen extends BaseAction {\r\n\ttype: Actions.UpdateWhen;\r\n\twhen: IWhen;\r\n}\r\n\r\ninterface UpdateTripOption extends BaseAction {\r\n\ttype: Actions.UpdateTripOption;\r\n\ttripOption: TripOption;\r\n}\r\n\r\nexport type Action = UpdatePoint | UpdateWhen | UpdateTripOption;\r\n\r\nexport function reducer(state: State, action: Action): State {\r\n\tswitch (action.type) {\r\n\t\tcase Actions.UpdatePoint:\r\n\t\t\tif (action.terminusType === 'origin') {\r\n\t\t\t\treturn { ...state, origin: action.point };\r\n\t\t\t} else if (action.terminusType === 'destination') {\r\n\t\t\t\treturn { ...state, destination: action.point };\r\n\t\t\t}\r\n\t\t\treturn state;\r\n\t\tcase Actions.UpdateWhen:\r\n\t\t\treturn { ...state, when: action.when };\r\n\t\tcase Actions.UpdateTripOption:\r\n\t\t\treturn { ...state, tripOption: action.tripOption };\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\nexport const StateDefaults: () => DefaultableState = () => ({\r\n\twhen: new When(),\r\n\ttripOption: TripOption.LessTime\r\n});\r\n","import React, { FC, useEffect, useReducer } from 'react';\r\nimport { DefaultState, reducer } from './reducer';\r\nimport AppContext, { TerminusAppContextType } from './terminusAppContext';\r\nimport Layout from './layout';\r\nimport { IPlanTripTerminusPoint, PlanTripTerminusPointType } from '../../types/IPlanTrip';\r\nimport { generateGuid } from '../../../generic/helpers/Guid';\r\n\r\ninterface Props {\r\n\tdisplayName: string;\r\n\tpoint: IPlanTripTerminusPoint | null;\r\n\ttype: 'origin' | 'destination';\r\n\tpage: 'where-to' | 'school';\r\n\tupdateCallback: (point : IPlanTripTerminusPoint | null) => void;\r\n}\r\n\r\nconst App: FC = ({ displayName, point, type, page, updateCallback }: Props) => {\r\n\tconst [state, dispatch] = useReducer(reducer, { ...DefaultState, point, query: point === null ? '' : point.name});\r\n\tconst context: TerminusAppContextType = {\r\n\t\tstate,\r\n\t\tdisplayName,\r\n\t\tdispatch,\r\n\t\ttype,\r\n\t\tpage\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tupdateCallback(state.point);\r\n\t}, [state.point, updateCallback]);\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\n\r\nexport default App;\r\n","import React, { FC } from 'react';\r\nimport QuerySubscriber from './querySubscriber';\r\nimport Results from './results';\r\nimport SearchBox from './searchBox';\r\n\r\nconst Layout: FC = () => (\r\n\t<>\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n);\r\n\r\nexport default Layout;\r\n","import React, { FC, useContext, useEffect } from 'react';\r\nimport TerminusAppContext from './terminusAppContext';\r\nimport { AutocompleteApi } from '../../../api/AutocompleteApi';\r\nimport { Actions } from './reducer';\r\nimport { AutocompleteConstants } from '../../../constants/autocomplete';\r\nconst QuerySubscriber: FC = () => {\r\n\tconst {\r\n\t\tdispatch,\r\n\t\tstate: {\r\n\t\t\tquery,\r\n\t\t\tqueryIndex,\r\n\t\t\tpoint,\r\n\t\t},\r\n\t\ttype\r\n\t} = useContext(TerminusAppContext);\r\n\tconst sessionId = `${window.mtd.searchSessionId}-${type}`;\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!point) {\r\n\t\t\tasync function autocomplete(q: string): Promise {\r\n\t\t\t\tif (q && q.length >= AutocompleteConstants.MinQueryLength) {\r\n\r\n\t\t\t\t\tconst results = await AutocompleteApi.suggestQuery(sessionId, queryIndex, q);\r\n\t\t\t\t\tdispatch({ type: Actions.UpdateResults, results });\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdispatch({\r\n\t\t\t\t\t\ttype: Actions.UpdateResults, results: {\r\n\t\t\t\t\t\t\tstopError: false,\r\n\t\t\t\t\t\t\tstopResults: [],\r\n\t\t\t\t\t\t\tplaceError: false,\r\n\t\t\t\t\t\t\tplaceResults: [],\r\n\t\t\t\t\t\t\tqueryIndex: 0\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\t\tautocomplete(query);\r\n\t\t}\r\n\t}, [query, point, queryIndex, dispatch]);\r\n\r\n\treturn null;\r\n};\r\n\r\nexport default QuerySubscriber;\r\n","import React, { FC, useContext } from 'react';\r\nimport { IPlaceSearchResult, IStopSearchResult } from '../../../api/types/Autocomplete';\r\nimport TerminusAppContext from './terminusAppContext';\r\nimport CreateResult from './result';\r\nimport { IPlanTripTerminusPoint, PlanTripTerminusPointType } from '../../types/IPlanTrip';\r\nimport { Actions } from './reducer';\r\n\r\nconst StopResults: FC<{ stopError: boolean, stopResults: IStopSearchResult[], page: 'where-to' | 'school', type: 'origin' | 'destination' }> = ({ stopError, stopResults, type, page }) => {\r\n\tconst { dispatch } = useContext(TerminusAppContext);\r\n\r\n\tfunction callback(result: IStopSearchResult): void {\r\n\t\tconst point: IPlanTripTerminusPoint = {\r\n\t\t\tid: result.result.id,\r\n\t\t\tname: result.result.name,\r\n\t\t\ttype: PlanTripTerminusPointType.Stop\r\n\t\t};\r\n\t\tdispatch({ type: Actions.SetPoint, point });\r\n\t}\r\n\r\n\tconst Result = CreateResult(callback, (r) => r.result.city, type, page, 'stop');\r\n\r\n\tlet interior: JSX.Element;\r\n\tif (stopError) {\r\n\t\tinterior =
\r\n\t\t\t

An error occoured loading search results.

\r\n\t\t
;\r\n\t} else if (stopResults == null || stopResults.length === 0) {\r\n\t\tinterior =
\r\n\t\t\t

No bus stops found.

\r\n\t\t\t

We were unable to find any bus stops that match your search, but we were able to find some Google Places.

\r\n\t\t
;\r\n\t} else {\r\n\t\tinterior =
\r\n\t\t\t{stopResults.map((r: IStopSearchResult) => )}\r\n\t\t
;\r\n\t}\r\n\treturn
\r\n\t\t

Bus Stops

\r\n\t\t{interior}\r\n\t
;\r\n}\r\n\r\nconst PlaceResults: FC<{ placeError: boolean, placeResults: IPlaceSearchResult[], page: 'where-to' | 'school', type: 'origin' | 'destination' }> = ({ placeError, placeResults, type, page }) => {\r\n\tconst { dispatch } = useContext(TerminusAppContext);\r\n\r\n\tfunction callback(result: IPlaceSearchResult): void {\r\n\t\tconst point: IPlanTripTerminusPoint = {\r\n\t\t\tid: result.result.id,\r\n\t\t\tname: result.result.display,\r\n\t\t\ttype: PlanTripTerminusPointType.Place\r\n\t\t};\r\n\t\tdispatch({ type: Actions.SetPoint, point });\r\n\t}\r\n\r\n\tconst Result = CreateResult(callback, (r) => r.result.secondary, type, page, 'stop');\r\n\r\n\tlet interior: JSX.Element;\r\n\tif (placeError) {\r\n\t\tinterior =
\r\n\t\t\t

An error occoured loading search results.

\r\n\t\t
;\r\n\t} else if (placeResults == null || placeResults.length === 0) {\r\n\t\tinterior =
\r\n\t\t\t

No Google Places found.

\r\n\t\t\t

We were unable to find any Google Places that match your search, but we were able to find bus stops.

\r\n\t\t
;\r\n\t} else {\r\n\t\tinterior =
\r\n\t\t\t{placeResults.map((r: IPlaceSearchResult) => )}\r\n\t\t
;\r\n\t}\r\n\treturn
\r\n\t\t

Places

\r\n\t\t{interior}\r\n\t
;\r\n}\r\n\r\nconst Results: FC = () => {\r\n\tconst {\r\n\t\ttype,\r\n\t\tdisplayName,\r\n\t\tpage,\r\n\t\tstate: {\r\n\t\t\tshowResults,\r\n\t\t\tresults: {\r\n\t\t\t\tstopError,\r\n\t\t\t\tplaceError,\r\n\t\t\t\tstopResults,\r\n\t\t\t\tplaceResults\r\n\t\t\t}\r\n\t\t}\r\n\t} = useContext(TerminusAppContext);\r\n\r\n\tconst resultsCount = (stopResults?.length ?? 0) + (placeResults?.length ?? 0);\r\n\tconst status = resultsCount > 0 ? `${resultsCount.toLocaleString()} results available.` : 'No results found.'\r\n\r\n\tif (!showResults) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tif ((!stopResults || stopResults.length === 0) && (!placeResults || placeResults.length === 0)) {\r\n\t\treturn (\r\n\t\t\t

\r\n\t\t\t\t{String.fromCharCode(57346)}\r\n\t\t\t\t\r\n\t\t\t\t\tNo bus stops or Google Places found.\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\tPlease try your query again or call us at 217.384.8188.\r\n\t\t\t\t\r\n\t\t\t

\r\n\t\t);\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
{status}
\r\n\t\t
\r\n\t);\r\n\r\n};\r\n\r\nexport default Results;\r\n","import React, { FC, KeyboardEvent, FocusEvent } from 'react';\r\nimport { SearchResult } from '../../../api/types/Autocomplete';\r\nimport QueryHighlight from '../../../generic/components/QueryHighlight';\r\nimport trackEvent from '../../../PlausibleHelpers';\r\n\r\n\r\ninterface Props {\r\n\tresult: T;\r\n}\r\n\r\nfunction CreateResult(\r\n\tclickCallback: (result: T) => void,\r\n\tlineTwo: (result: T) => string,\r\n\ttype: 'origin' | 'destination',\r\n\tpage: 'where-to' | 'homepage' | 'school',\r\n\tresultType: 'place' | 'stop'\r\n): FC> {\r\n\r\n\treturn ({ result }) => {\r\n\r\n\t\tconst radioGroupName = `input-${type}`;\r\n\r\n\t\tfunction callClickCallback(): void {\r\n\t\t\ttrackEvent('SearchResultClick', {\r\n\t\t\t\tvalue: result.queryHighlight.reduce((strVal, qh) => `${strVal}${qh.highlightPart}${qh.noHighlightPart}`, ''),\r\n\t\t\t\tfield: type,\r\n\t\t\t\tpage,\r\n\t\t\t\taction: 'plan-trip-select',\r\n\t\t\t\tresultType\r\n\t\t\t});\r\n\t\t\tclickCallback(result);\r\n\t\t}\r\n\r\n\t\tfunction resultKeyPress(event: KeyboardEvent): void {\r\n\t\t\tif (event.key === ' ' || event.key === 'Enter' || event.keyCode === 9) { // enter, space or tab\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tevent.stopPropagation();\r\n\t\t\t\tcallClickCallback();\r\n\t\t\t}\r\n\t\t}\r\n\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\t\t{String.fromCharCode(58826)}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
{lineTwo(result)}
\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n}\r\nexport default CreateResult;\r\n","import React, { ChangeEvent, FC, useState, useContext, useEffect, useRef } from 'react';\r\nimport { Actions } from './reducer';\r\nimport TerminusAppContext from './terminusAppContext';\r\nimport { AutocompleteConstants } from '../../../constants/autocomplete';\r\nconst SearchBox: FC = () => {\r\n\tconst [hasCleared, setHasCleared] = useState(false);\r\n\tconst buttonRef = useRef(null);\r\n\tconst inputRef = useRef(null);\r\n\tconst {\r\n\t\tdispatch,\r\n\t\tdisplayName,\r\n\t\tstate: {\r\n\t\t\tpoint,\r\n\t\t\tquery\r\n\t\t}\r\n\t} = useContext(TerminusAppContext);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (buttonRef.current && point) {\r\n\t\t\tbuttonRef.current.focus();\r\n\t\t}\r\n\t}, [buttonRef, point]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (inputRef.current && point === null && hasCleared) {\r\n\t\t\tinputRef.current.focus();\r\n\t\t}\r\n\t}, [inputRef, point, hasCleared]);\r\n\r\n\tfunction clearSelection(): void {\r\n\t\tdispatch({ type: Actions.ClearSelection });\r\n\t\tsetHasCleared(true);\r\n\t}\r\n\r\n\tfunction updateQuery(event: ChangeEvent): void {\r\n\t\tconst newQuery = event.target.value;\r\n\t\tdispatch({ type: Actions.UpdateQuery, query: newQuery });\r\n\t}\r\n\r\n\r\n\tconst interior = (() => {\r\n\r\n\t\tif (point === null) {\r\n\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
\r\n\t\t\t\t
\r\n\t\t\t);\r\n\r\n\t\t} else {\r\n\t\t\tconst {\r\n\t\t\t\tname\r\n\t\t\t} = point;\r\n\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\t}\r\n\t})();\r\n\r\n\treturn (\r\n\t\t
= AutocompleteConstants.MinQueryLength && point === null} aria-owns={`auto-complete-${displayName}`}>\r\n\t\t\t{interior}\r\n\t\t
\r\n\t);\r\n\r\n};\r\n\r\nexport default SearchBox;\r\n","import React, { FC, useEffect, useReducer } from 'react';\r\nimport { TripOption } from '../../types/TripOption';\r\nimport { IWhen } from '../../types/When';\r\nimport Layout from './layout';\r\nimport { DefaultState, PropState, reducer } from './reducer';\r\nimport AppContext, { TripOptionsContextType } from './tripOptionsContext';\r\n\r\ninterface Props extends PropState {\r\n\tupdateWhen: (when: IWhen) => void;\r\n\tupdateType: (type: TripOption) => void;\r\n\thideFieldset?: boolean;\r\n}\r\n\r\nconst App: FC = (props: Props) => {\r\n\tconst { updateWhen, updateType, hideFieldset } = props;\r\n\tconst [state, dispatch] = useReducer(reducer, { ...DefaultState, ...props });\r\n\tconst context: TripOptionsContextType = {\r\n\t\tstate,\r\n\t\tdispatch,\r\n\t\thideFieldset\r\n\t};\r\n\tconst { when, type } = state;\r\n\r\n\tuseEffect(() => {\r\n\t\tupdateWhen({ ...when, time: { ...when.time } });\r\n\t}, [when.date, when.type, when.time.daypart, when.time.hour, when.time.minute, updateWhen]);\r\n\r\n\tuseEffect(() => {\r\n\t\tupdateType(type);\r\n\t}, [type, updateType]);\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\n\r\nApp.defaultProps = {\r\n\thideFieldset: false\r\n};\r\n\r\nexport default App;\r\n","import React, { FC, useContext } from 'react';\r\nimport TripOptionsContext from './tripOptionsContext';\r\nimport TripOptionsPicker from './tripOptionsPicker';\r\nimport WhenPicker from './whenPicker';\r\n\r\nconst Layout: FC = () => {\r\n\r\n\tconst { hideFieldset } = useContext(TripOptionsContext);\r\n\r\n\tconst fieldsetClass = hideFieldset ? 'hide-fieldset' : 'show-fieldset';\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t
\r\n\t\t\t\tWhen\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\tTrip Options\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\nexport default Layout;\r\n","import React, { ChangeEvent, FC, useContext } from 'react';\r\nimport RadioOrCheckbox from '../../../generic/components/RadioOrCheckbox';\r\nimport { TripOption } from '../../types/TripOption';\r\nimport { Actions } from './reducer';\r\nimport TripOptionsContext from './tripOptionsContext';\r\n\r\nconst TripOptionsPicker: FC = () => {\r\n\tconst {\r\n\t\tstate: {\r\n\t\t\ttype\r\n\t\t},\r\n\t\tdispatch\r\n\t} = useContext(TripOptionsContext);\r\n\r\n\tfunction onChange(event: ChangeEvent): void {\r\n\t\tconst tripType: TripOption = parseInt(event.target.value) as TripOption;\r\n\t\tdispatch({ type: Actions.ChangeTripType, tripType });\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\n\r\nexport default TripOptionsPicker;\r\n","import React, { ChangeEvent, FC, useContext } from 'react';\r\nimport RadioOrCheckbox from '../../../generic/components/RadioOrCheckbox';\r\nimport { ITime, IWhen, PartOfDay, TripType, When } from '../../types/When';\r\nimport { Actions } from './reducer';\r\nimport TripOptionsContext from './tripOptionsContext';\r\n\r\nfunction padMinutes(minutes: number): string {\r\n\tconst minuteString: string = minutes.toString();\r\n\tif (minuteString.length === 1) {\r\n\t\treturn `0${minuteString}`;\r\n\t}\r\n\treturn minuteString;\r\n}\r\n\r\nconst WhenPicker: FC = () => {\r\n\tconst {\r\n\t\tstate: {\r\n\t\t\twhen\r\n\t\t},\r\n\t\tdispatch\r\n\t} = useContext(TripOptionsContext);\r\n\r\n\tfunction changeType(event: ChangeEvent): void {\r\n\t\tconst tripType: TripType = parseInt(event.target.value) as TripType;\r\n\t\tdispatch({ type: Actions.ChangeWhenType, tripType });\r\n\t}\r\n\r\n\tfunction updateDate(date: string): void {\r\n\t\tdispatch({ type: Actions.ChangeDate, date });\r\n\t}\r\n\r\n\tfunction updateTime(time: ITime): void {\r\n\t\tdispatch({ type: Actions.ChangeTime, time });\r\n\t}\r\n\r\n\tfunction changeMinute(event: ChangeEvent): void {\r\n\t\tconst newTime = { ...when.time };\r\n\t\tnewTime.minute = parseInt(event.target.value);\r\n\t\tupdateTime(newTime);\r\n\t}\r\n\r\n\tfunction changeHour(event: ChangeEvent): void {\r\n\t\tconst newTime = { ...when.time };\r\n\t\tnewTime.hour = parseInt(event.target.value);\r\n\t\tupdateTime(newTime);\r\n\t}\r\n\r\n\tfunction changePartOfDay(event: ChangeEvent): void {\r\n\t\tconst newTime = { ...when.time };\r\n\t\tnewTime.daypart = parseInt(event.target.value) as PartOfDay;\r\n\t\tupdateTime(newTime);\r\n\t}\r\n\r\n\tfunction changeDate(event: ChangeEvent): void {\r\n\t\tupdateDate(event.target.value as string);\r\n\t}\r\n\r\n\tconst now: Date = new Date();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\tArrive/Depart\r\n\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\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\tTime\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\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\t
:
\r\n\t\t\t\t\t\t
\r\n\t\t\t\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\t
\r\n\t\t\t\t\t\t\tAM or PM\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\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
On
\r\n\t\t\t\t
\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tif (ele) {\r\n\t\t\t\t\t\t\t\tele.style.setProperty('-webkit-min-logical-width', 'calc(100% - 1rem)', 'important');\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
\r\n\t\t
\r\n\t);\r\n\r\n\r\n};\r\n\r\nexport default WhenPicker;\r\n"],"sourceRoot":""}