{"version":3,"sources":["webpack://[name]/webpack/bootstrap","webpack://[name]/external \"React\"","webpack://[name]/./node_modules/tslib/tslib.es6.js","webpack://[name]/./node_modules/process/browser.js","webpack://[name]/./node_modules/react-motion/lib/presets.js","webpack://[name]/./ts/generic/components/ToolTip.tsx","webpack://[name]/./ts/constants/styles.ts","webpack://[name]/external \"ReactDOM\"","webpack://[name]/./ts/BusStopLookup.tsx","webpack://[name]/./ts/busStopLookup/components/App.tsx","webpack://[name]/./ts/api/BusStopLookupApi.ts","webpack://[name]/./ts/busStopLookup/components/LeftSide.tsx","webpack://[name]/./node_modules/react-motion/lib/react-motion.js","webpack://[name]/./node_modules/react-motion/lib/Motion.js","webpack://[name]/(webpack)/buildin/global.js","webpack://[name]/./node_modules/raf/node_modules/performance-now/src/performance-now.coffee","webpack://[name]/./node_modules/react-motion/lib/StaggeredMotion.js","webpack://[name]/./node_modules/react-motion/lib/TransitionMotion.js","webpack://[name]/./node_modules/react-motion/lib/mergeDiff.js","webpack://[name]/./node_modules/react-motion/lib/spring.js","webpack://[name]/./node_modules/react-motion/lib/reorderKeys.js","webpack://[name]/./ts/busStopLookup/components/realtime/StopMap.tsx","webpack://[name]/./ts/busStopLookup/components/RightSide.tsx","webpack://[name]/./ts/busStopLookup/components/realtime/Departures.tsx","webpack://[name]/./ts/busStopLookup/components/realtime/DepartureGroup.tsx","webpack://[name]/./ts/busStopLookup/components/realtime/Departure.tsx","webpack://[name]/./ts/busStopLookup/components/realtime/EmptyDeparture.tsx","webpack://[name]/./ts/busStopLookup/components/realtime/ErrorState.tsx","webpack://[name]/./ts/busStopLookup/components/routes-served-by/RoutesServedByApp.tsx","webpack://[name]/./ts/busStopLookup/components/routes-served-by/RoutesTable.tsx","webpack://[name]/./ts/busStopLookup/components/routes-served-by/RouteGroup.tsx","webpack://[name]/./ts/busStopLookup/components/Timeout.tsx","webpack://[name]/./ts/api/GenericApi.ts","webpack://[name]/./ts/generic/components/GoogleMap.tsx","webpack://[name]/./ts/generic/components/SvgUse.tsx","webpack://[name]/./ts/api/AccountApi.ts","webpack://[name]/./node_modules/prop-types/index.js","webpack://[name]/./ts/PlausibleHelpers.ts","webpack://[name]/./node_modules/react-motion/lib/stripStyle.js","webpack://[name]/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://[name]/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://[name]/./node_modules/react-motion/lib/mapToZero.js","webpack://[name]/./node_modules/react-motion/lib/stepper.js","webpack://[name]/./node_modules/performance-now/lib/performance-now.js","webpack://[name]/./node_modules/raf/index.js","webpack://[name]/./node_modules/react-motion/lib/shouldStopAnimation.js","webpack://[name]/./ts/api/ServedByApi.ts","webpack://[name]/./ts/generic/helpers/Debounce.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","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","title","browser","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","noWobble","stiffness","damping","gentle","wobbly","stiff","props","attributes","text","position","role","size","toolTipClass","createElement","element","children","StyleConstants","DefaultFontFamily","DefaultFontSize","CollapseBusStopInfoSize","MenuBreakPoint","SubMenuBreakPoint","SearchCollapse","Colors","IconFontWeight","IconFontColor","IconFontFamily","IconSize","Width","Height","Scale","Count","ReactDOM","domElement","document","getElementById","window","mtd","busStopLookup","reactElement","App","initialState","info","updateInterval","reactDom","render","getWindowWidth","innerWidth","isTimedOut","windowWidth","PureComponent","super","updateDepartures","newInfo","BusStopLookupApi","getInfoForStop","stop","id","setState","ex","trackError","stopId","console","startUpdateTimer","clearInterval","setInterval","updateTimerTick","startTimeoutTimer","timeoutTimerTick","TIMEOUT_UPDATE_CYCLES","stillThereClick","event","preventDefault","resizeEventHandler","toggleFavorite","stopIsFavorite","AccountApi","success","alert","resizeDebounce","debounce","addEventListener","removeEventListener","clickFunction","className","LeftSide","boardingPoints","showFavorite","userLoggedIn","isFavorite","favoriteCallback","departureGroups","errored","url","GenericApi","getRequest","renderStar","fromCharCode","renderIStop","iStop","href","useId","renderStopName","onKeyPress","stopPropagation","currentTarget","focus","onClick","tabIndex","renderHidable","IsMobile","renderHidableContent","springToHeight","open","hidableElement","clientHeight","style","height","spring","precision","Motion","defaultStyle","clip","springStyle","overflow","renderStopMap","minHeight","latitude","longitude","code","replace","padStart","ref","map","renderBoardingPoint","toLocaleLowerCase","bp","renderName","isParent","stopIdForUrl","svgId","letter","renderShowHideButton","width","showHideClick","sectionClasses","cityClasses","join","city","_interopRequire","obj","_Motion","_StaggeredMotion","StaggeredMotion","_TransitionMotion","TransitionMotion","_spring","_presets","presets","_stripStyle","stripStyle","_reorderKeys","reorderKeys","_extends","source","_createClass","defineProperties","Constructor","protoProps","staticProps","_interopRequireDefault","_mapToZero2","_stripStyle2","_stepper4","_performanceNow2","_raf2","_shouldStopAnimation2","_react2","_propTypes2","_React$Component","_this","instance","_classCallCheck","wasAnimating","animationID","prevTime","accumulatedTime","unreadPropStyle","clearUnreadPropStyle","destStyle","dirty","_state","currentStyle","currentVelocity","lastIdealStyle","lastIdealVelocity","styleValue","startAnimationIfNecessary","timestamp","propsStyle","onRest","currentTime","timeDelta","currentFrameCompletion","Math","floor","framesToCatchUp","newLastIdealStyle","newLastIdealVelocity","newCurrentStyle","newCurrentVelocity","newLastIdealStyleValue","newLastIdealVelocityValue","_stepper","val","_stepper2","nextIdealX","nextIdealV","defaultState","subClass","superClass","_inherits","objectOf","number","oneOfType","isRequired","func","_props","componentDidMount","componentWillReceiveProps","componentWillUnmount","cancel","renderedChildren","Children","only","Component","Function","performance","now","hrtime","getNanoSeconds","nodeLoadTime","moduleLoadTime","hr","upTime","uptime","Date","loadTime","getTime","unreadPropStyles","currentStyles","currentVelocities","lastIdealStyles","lastIdealVelocities","someDirty","destStyles","styles","shouldStopAnimationAll","newLastIdealStyles","newLastIdealVelocities","newCurrentStyles","newCurrentVelocities","defaultStyles","arrayOf","_mergeDiff2","rehydrateStyles","mergedPropsStyles","plainStyles","cUnreadPropStyles","mergedPropsStyle","data","mergeAndSync","willEnter","willLeave","didLeave","oldMergedPropsStyles","oldCurrentStyles","oldCurrentVelocities","oldLastIdealStyles","oldLastIdealVelocities","newMergedPropsStyles","oldIndex","oldMergedPropsStyle","leavingStyle","newMergedPropsStyleCell","foundOldIndex","plainStyle","velocity","unmounting","_mergeAndSync","propStyles","_mergeAndSync2","newMergedPropsStyle","shape","string","any","styleThatEntered","defaultStyleCell","_mergeAndSync3","hydratedStyles","prev","onRemove","prevKeyIndex","nextKeyIndex","ret","fill","sort","nextOrderA","nextOrderB","prevOrderA","prevOrderB","pivot","config","defaultConfig","_presets2","scaledWidth","scaledHeight","boardingPointToMarker","boardingPoint","index","anchorPoint","google","maps","Point","clickable","draggable","icon","origin","labelOrigin","scaledSize","Size","color","fontFamily","fontSize","fontWeight","LatLng","zIndex","options","center","zoom","markers","GoogleMap","sectionClass","RoutesServedByApp","cssClass","groups","departureGroup","filter","boardingPointLetter","boardingPointName","boardingPointSvgId","createDepartureGroupElement","scope","departures","departureElements","colspan","departure","uniqueId","createDepartureElements","letterClass","ele","setProperty","textColor","direction","renderHopper","isHopper","renderModifer","hasModifer","modifer","classes","hasModifier","modifier","minutesOut","display","isRealtime","clockTime","tooltip","Fragment","renderType","colSpan","routes","ServedByApi","getRoutesServedByForStop","routeGroup","combineNumbers","getKey","rsb","renderRoute","route","backgroundColor","friendlyDaypart","landmarks","elements","rowSpan","rg","activeRef","useRef","buttonRef","useEffect","current","activeElement","HTMLElement","type","onKeyDown","log","MergeDefaultGet","method","credentials","genericRequest","request","Request","response","fetch","status","json","fireAndForget","postRequest","JSON","stringify","postFormData","resizeMap","getCenter","trigger","setCenter","Map","Marker","polygons","polygon","Polygon","polylines","polyline","Polyline","kmls","kml","KmlLayer","fitBounds","bounds","LatLngBounds","extend","getPosition","paths","getPaths","getLength","path","getAt","getPath","responsive","debounceResizeMap","resizeListener","addDomListener","mapUpdate","dangerouslySetInnerHTML","__html","charAt","cleanId","BASE_ACCOUNT_URL","subscribe","unsubscribe","toggleEmailAlerts","toggleSecondaryEmailAlerts","toggleSmsAlerts","setPhone","phone","generateSmsConfirmationCode","verifyPhone","generateEmailConfirmationCode","verifySecondaryEmail","setSecondaryEmail","email","getFavorites","eventName","eventProps","plausible","warn","errorLevel","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","location","propFullName","secret","err","getShim","ReactPropTypes","bigint","bool","symbol","elementType","instanceOf","node","oneOf","exact","checkPropTypes","PropTypes","secondPerFrame","destX","newV","newX","abs","reusedTuple","root","global","vendors","suffix","raf","caf","last","callback","_now","max","cp","cancelled","round","handle","fn","polyfill","requestAnimationFrame","cancelAnimationFrame","cb","wait","h"],"mappings":"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","file":"busStopLookup.290f463b40e1cc709493.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 = 234);\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","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = {\n noWobble: { stiffness: 170, damping: 26 }, // the default, if nothing provided\n gentle: { stiffness: 120, damping: 14 },\n wobbly: { stiffness: 180, damping: 12 },\n stiff: { stiffness: 210, damping: 20 }\n};\nmodule.exports = exports[\"default\"];","import { FC, createElement, ReactElement } from 'react';\r\n\r\ntype Position = 'top' | 'top-right' | 'right' | 'bottom-right' | 'bottom' | 'bottom-left' | 'left' | 'top-left';\r\ntype Size = 'small' | 'medium' | 'large' | 'fit';\r\n\r\ninterface MicroTipAttributes {\r\n\t'aria-label': string;\r\n\t'data-microtip-position': Position;\r\n\trole: 'tooltip';\r\n\t'data-microtip-size'?: Size;\r\n\tclassName?: string;\r\n}\r\n\r\ninterface Props {\r\n\telement: 'span' | 'button' | 'div';\r\n\ttext: string;\r\n\tposition?: Position;\r\n\tsize?: Size;\r\n\tchildren: ReactElement | ReactElement[] | string;\r\n\ttoolTipClass?: string;\r\n}\r\n\r\nconst ToolTip: FC = (props: Props) => {\r\n\tconst attributes: MicroTipAttributes = {\r\n\t\t'aria-label': props.text,\r\n\t\t'data-microtip-position': props.position ?? 'top',\r\n\t\trole: 'tooltip'\r\n\t};\r\n\r\n\tif (props.size) {\r\n\t\tattributes['data-microtip-size'] = props.size;\r\n\t}\r\n\r\n\tif (props.toolTipClass) {\r\n\t\tattributes['className'] = props.toolTipClass;\r\n\t}\r\n\r\n\treturn createElement(props.element, attributes, props.children);\r\n};\r\n\r\nexport default ToolTip;\r\n","/** Constants for styling elements */\r\nexport module StyleConstants {\r\n\r\n/** The default font size for the applicaiton */\r\n\r\n\texport const DefaultFontFamily: string = 'Interstate, sans-serif';\r\n\texport const DefaultFontSize: number = 16;\r\n\r\n\t/** The size at which to collapse the bus stop info page into one column */\r\n\texport const CollapseBusStopInfoSize: number = 1104;\r\n\r\n\texport const MenuBreakPoint: number = 817;\r\n\texport const SubMenuBreakPoint: number = 992;\r\n\r\n\texport const SearchCollapse: number = 1560;\r\n\r\n\texport const Colors: string[] = [\r\n\t\t'e10027',\r\n\t\t'002f87',\r\n\t\t'318d3a',\r\n\t\t'cb3e17',\r\n\t\t'671973',\r\n\t\t'008891'\r\n\t];\r\n\r\n\texport const IconFontWeight: number = 900;\r\n\texport const IconFontColor: string = '#000';\r\n\texport const IconFontFamily: string = 'Interstate, sans-serif';\r\n\r\n\texport const IconSize: { [key: string]: number } = {\r\n\t\tWidth: 26,\r\n\t\tHeight: 32,\r\n\t\tScale: 1.5,\r\n\t\tCount: 6\r\n\t};\r\n\r\n}\r\n","module.exports = ReactDOM;","import * as React from 'react';\r\nimport * as reactDom from 'react-dom';\r\nimport { App } from './busStopLookup/components/App';\r\n\r\n(() => {\r\n\tconst domElement = document.getElementById('bus-stop-lookup');\r\n\tif (domElement && window.mtd && window.mtd.busStopLookup) {\r\n\t\tconst reactElement = \r\n\t\treactDom.render(reactElement, domElement);\r\n\t}\r\n})();\r\n","import * as React from 'react';\r\nimport { MouseEvent, PureComponent } from 'react';\r\nimport { AccountApi } from '../../api/AccountApi';\r\nimport { BusStopLookupApi } from '../../api/BusStopLookupApi';\r\nimport { Result } from '../../api/types/Account';\r\nimport { IBusStopInfoPayload } from '../../api/types/BusStopLookup';\r\nimport { debounce } from '../../generic/helpers/Debounce';\r\nimport { LeftSide } from './LeftSide';\r\nimport RightSide from './RightSide';\r\nimport Timeout from './Timeout';\r\nimport { trackError } from '../../PlausibleHelpers';\r\n\r\nconst getWindowWidth: () => number = () => window.innerWidth;\r\n\r\ninterface Props {\r\n\tinitialState: IBusStopInfoPayload;\r\n\tupdateInterval: number;\r\n}\r\n\r\ninterface propState extends IBusStopInfoPayload { }\r\nconst initialState: {\r\n\tisTimedOut: boolean;\r\n\twindowWidth: number;\r\n} = {\r\n\tisTimedOut: false,\r\n\twindowWidth: getWindowWidth()\r\n}\r\n\r\ntype State = Readonly;\r\n\r\nexport class App extends PureComponent {\r\n\tprivate static TIMEOUT_UPDATE_CYCLES: number = 240;\r\n\r\n\tprivate updateInterval: number;\r\n\tprivate timeout: number;\r\n\r\n\tconstructor(props: Props, context: any) {\r\n\t\tsuper(props, context);\r\n\t\tthis.state = {\r\n\t\t\t...initialState,\r\n\t\t\t...this.props.initialState\r\n\t\t};\r\n\t}\r\n\r\n\tpublic componentDidMount(): void {\r\n\t\tthis.startUpdateTimer();\r\n\t\tconst resizeDebounce: () => void = debounce(this.resizeEventHandler, 100);\r\n\t\twindow.addEventListener('resize', resizeDebounce);\r\n\t}\r\n\r\n\tpublic componentWillUnmount(): void {\r\n\t\twindow.removeEventListener('resize', this.resizeEventHandler);\r\n\t}\r\n\r\n\tpublic render(): JSX.Element {\r\n\t\tconst timeout: JSX.Element = this.state.isTimedOut ? : null;\r\n\t\treturn
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t{timeout}\r\n\t\t
;\r\n\t}\r\n\r\n\t/**\r\n\t * Fetch new departures and set state.\r\n\t * @returns { Promise }\r\n\t */\r\n\tprivate updateDepartures: () => Promise = async () => {\r\n\t\ttry {\r\n\t\t\tconst newInfo: IBusStopInfoPayload = await BusStopLookupApi.getInfoForStop(this.state.stop.id);\r\n\t\t\tthis.setState({ ...this.state, ...newInfo });\r\n\t\t} catch (ex) {\r\n\t\t\tthis.setState({ ...this.state, hasError: true });\r\n\t\t\ttrackError('DepartureUpdateError', 'departure', {\r\n\t\t\t\tstopId: this.state.stop.id\r\n\t\t\t});\r\n\t\t\tconsole.error('Error fetching departures', ex);\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Start the update timer using the defined update interval.\r\n\t * @returns { void }\r\n\t */\r\n\tprivate startUpdateTimer: () => void = () => {\r\n\t\twindow.clearInterval(this.updateInterval);\r\n\t\tthis.updateInterval = window.setInterval(this.updateTimerTick, this.props.updateInterval);\r\n\t\tthis.startTimeoutTimer();\r\n\t};\r\n\r\n\t/**\r\n\t * React to the update timer ticking.\r\n\t * @returns { Promise }\r\n\t */\r\n\tprivate updateTimerTick: () => Promise = async () => {\r\n\t\tawait this.updateDepartures();\r\n\t};\r\n\r\n\t/**\r\n\t * Start the timeout timer.\r\n\t * @returns { void }\r\n\t */\r\n\tprivate startTimeoutTimer: () => void = () => {\r\n\t\twindow.clearTimeout(this.timeout);\r\n\t\tthis.timeout = window.setTimeout(this.timeoutTimerTick, this.props.updateInterval * App.TIMEOUT_UPDATE_CYCLES);\r\n\t};\r\n\r\n\t/**\r\n\t * React to the timeout timer ticking.\r\n\t * @returns { void }\r\n\t */\r\n\tprivate timeoutTimerTick: () => void = () => {\r\n\t\tthis.setState({ ...this.state, isTimedOut: true });\r\n\t\twindow.clearInterval(this.updateInterval);\r\n\t};\r\n\r\n\t/**\r\n\t * Clear the timeout and start updating again.\r\n\t * @returns { void }\r\n\t */\r\n\tprivate clearTimeout: () => void = () => {\r\n\t\tthis.setState({ ...this.state, isTimedOut: false });\r\n\t\tthis.startUpdateTimer();\r\n\t\tthis.updateDepartures();\r\n\t};\r\n\r\n\tprivate stillThereClick: (event: MouseEvent) => void = (event: MouseEvent) => {\r\n\t\tevent.preventDefault();\r\n\t\tthis.clearTimeout();\r\n\t};\r\n\r\n\tprivate resizeEventHandler: () => void = () => this.setState({ ...this.state, windowWidth: this.getWindowWidth() });\r\n\r\n\tprivate getWindowWidth: () => number = getWindowWidth;\r\n\r\n\tprivate toggleFavorite: () => Promise = async () => {\r\n\t\tconst stopIsFavorite: boolean = !this.state.stopIsFavorite;\r\n\r\n\t\tthis.setState({ ...this.state, stopIsFavorite }, async () => {\r\n\t\t\tconst result: Result = await AccountApi\r\n\t\t\t\t.toggleFavorite(this.props.initialState.stop.id, stopIsFavorite);\r\n\t\t\tif (!result.success) {\r\n\t\t\t\talert('There was an error favoriting your stop. Please refresh the page and try again or call 217.384.8188.');\r\n\t\t\t\tthis.setState({ ...this.state, stopIsFavorite: !stopIsFavorite });\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n}\r\n","import { GenericApi } from './GenericApi';\r\nimport { IBusStopInfoPayload } from './types/BusStopLookup';\r\n\r\nexport module BusStopLookupApi {\r\n\tconst BASE_INFO_URL: string = '/umbraco/api/realtime/info/';\r\n\r\n\texport async function getInfoForStop(stopId: string): Promise {\r\n\t\tconst url: string = `${BASE_INFO_URL}?stopId=${stopId}`;\r\n\t\treturn await GenericApi.getRequest(url);\r\n\t}\r\n}\r\n","import * as React from 'react';\r\nimport { PureComponent, KeyboardEvent } from 'react';\r\nimport { Motion, spring, PlainStyle, Style } from 'react-motion';\r\nimport { IBoardingPoint, IStopInfo } from '../../api/types/BusStopLookup';\r\nimport { StyleConstants } from '../../constants/styles'\r\nimport SvgUse from '../../generic/components/SvgUse';\r\nimport StopMap from './realtime/StopMap';\r\nimport ToolTip from '../../generic/components/ToolTip';\r\n\r\ninterface Props {\r\n\tstop: IStopInfo;\r\n\tboardingPoints: IBoardingPoint[];\r\n\ttimeout: boolean;\r\n\twindowWidth: number;\r\n\tshowFavorite: boolean;\r\n\tisFavorite: boolean;\r\n\tfavoriteCallback: () => Promise;\r\n}\r\n\r\ninterface IState { open: boolean };\r\ntype State = Readonly;\r\n\r\nexport class LeftSide extends PureComponent {\r\n\r\n\tprivate hidableElement: HTMLDivElement;\r\n\r\n\tconstructor(props: Props, context: any) {\r\n\t\tsuper(props, context);\r\n\t\tthis.state = { open: LeftSide.IsMobile(this.props.windowWidth) };\r\n\t}\r\n\r\n\tpublic render(): JSX.Element {\r\n\t\tconst sectionClasses: string[] = ['left-side'];\r\n\t\tif (this.props.timeout) {\r\n\t\t\tsectionClasses.push('timeout');\r\n\t\t}\r\n\r\n\t\tconst cityClasses: string[] = ['city'];\r\n\t\tif (this.props.showFavorite) {\r\n\t\t\tcityClasses.push('offset');\r\n\t\t}\r\n\r\n\t\treturn
\r\n\t\t\t

Stop Information

\r\n\t\t\t
\r\n\t\t\t\t{this.renderStopName()}\r\n\t\t\t\t

{this.props.stop.city}

\r\n\t\t\t\t{this.renderShowHideButton(this.props.windowWidth)}\r\n\t\t\t
\r\n\t\t\t{this.renderHidable()}\r\n\t\t
;\r\n\t}\r\n\r\n\tprivate renderStar: () => JSX.Element = () => (\r\n\t\t\r\n\t\t\t{this.props.isFavorite ? String.fromCharCode(59448) : String.fromCharCode(59450)}\r\n\t\t\r\n\t);\r\n\r\n\tprivate renderIStop: () => JSX.Element = () => {\r\n\t\tif (!this.props.stop.iStop) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\tiStop\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\r\n\tprivate renderStopName: () => JSX.Element = () => {\r\n\r\n\t\tconst onKeyPress: (event: KeyboardEvent) => void = (event: KeyboardEvent) => {\r\n\t\t\tif (event.key === 'Enter') {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tevent.stopPropagation();\r\n\t\t\t\tthis\r\n\t\t\t\t\t.props\r\n\t\t\t\t\t.favoriteCallback()\r\n\t\t\t\t\t.then(() => event.currentTarget.focus());\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tif (this.props.showFavorite) {\r\n\t\t\treturn

\r\n\t\t\t\t\r\n\t\t\t\t{this.props.stop.name}\r\n\t\t\t\t{this.renderIStop()}\r\n\t\t\t

;\r\n\t\t}\r\n\t\treturn

{this.props.stop.name}{this.renderIStop()}

;\r\n\t}\r\n\r\n\tprivate renderHidable: () => JSX.Element = () => {\r\n\r\n\t\tif (LeftSide.IsMobile(this.props.windowWidth)) {\r\n\t\t\treturn this.renderHidableContent();\r\n\t\t}\r\n\r\n\t\tconst shouldHide: boolean = !this.state.open;\r\n\r\n\t\tconst defaultStyle: PlainStyle = {\r\n\t\t\theight: 0,\r\n\t\t\tclip: 0\r\n\t\t};\r\n\r\n\t\tconst springToHeight: number = shouldHide ? 0 : this.hidableElement.clientHeight;\r\n\t\tconst springHeightSettings: { [key: string]: number } = { stiffness: 170, damping: 26, precision: 1.0 }\r\n\t\tconst style: Style = {\r\n\t\t\theight: spring(springToHeight, springHeightSettings)\r\n\t\t};\r\n\r\n\t\treturn \r\n\t\t\t{({ height }) => {\r\n\t\t\t\tconst springStyle: { [key: string]: string | number } = {\r\n\t\t\t\t\toverflow: 'hidden',\r\n\t\t\t\t\theight: height\r\n\t\t\t\t};\r\n\t\t\t\treturn
\r\n\t\t\t\t\t{this.renderHidableContent()}\r\n\t\t\t\t
;\r\n\t\t\t}}\r\n\t\t
;\r\n\r\n\t}\r\n\r\n\tprivate renderStopMap: () => JSX.Element = () => {\r\n\t\tconst style: { [key: string]: string | number } = {\r\n\t\t\tminHeight: 426\r\n\t\t};\r\n\t\tif (this.state.open) {\r\n\t\t\treturn
\r\n\t\t\t\t\r\n\t\t\t
;\r\n\t\t} else {\r\n\t\t\treturn
;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate renderHidableContent: () => JSX.Element = () => {\r\n\t\tconst code = this.props.stop.code.replace('MTD', '').padStart(4, '0');\r\n\r\n\t\treturn (\r\n\t\t\t this.hidableElement = hidableElement}>\r\n\t\t\t\t
\r\n\t\t\t\t\t

Map

\r\n\t\t\t\t\t{this.renderStopMap()}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

Boarding Points

\r\n\t\t\t\t\t
    {this.props.boardingPoints.map(this.renderBoardingPoint)}
\r\n\t\t\t\t
\r\n\t\t\t\t

Other Info

\r\n\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tPlan a trip from here\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tPlan a trip to here\r\n\t\t\t\t\t

\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

Text {code} to 35890 to see buses arriving at this stop soon.

\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\tprivate renderBoardingPoint: (bp: IBoardingPoint) => JSX.Element = (bp: IBoardingPoint) => {\r\n\t\tconst renderName: JSX.Element = (() => {\r\n\t\t\tif (this.props.stop.isParent) {\r\n\t\t\t\tconst href: string = `/maps-and-schedules/bus-stops/info/${bp.stopIdForUrl}`;\r\n\t\t\t\treturn {bp.name};\r\n\t\t\t}\r\n\t\t\treturn {bp.name};\r\n\t\t})();\r\n\r\n\r\n\t\treturn
  • \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t{bp.letter}\r\n\t\t\t
    \r\n\r\n\t\t\t{renderName}\r\n\t\t
  • ;\r\n\t};\r\n\r\n\tprivate renderShowHideButton: (width: number) => JSX.Element = (width: number) => {\r\n\t\tif (LeftSide.IsMobile(width)) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn \r\n\t\t\t{String.fromCharCode(58828)}\r\n\t\t;\r\n\t};\r\n\r\n\tprivate showHideClick: () => void = () =>\r\n\t\tthis.setState({ ...this.state, open: !this.state.open });\r\n\r\n\tprivate static IsMobile: (width: number) => boolean = (width: number) => width > StyleConstants.CollapseBusStopInfoSize;\r\n\r\n}\r\n","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\nvar _Motion = require('./Motion');\n\nexports.Motion = _interopRequire(_Motion);\n\nvar _StaggeredMotion = require('./StaggeredMotion');\n\nexports.StaggeredMotion = _interopRequire(_StaggeredMotion);\n\nvar _TransitionMotion = require('./TransitionMotion');\n\nexports.TransitionMotion = _interopRequire(_TransitionMotion);\n\nvar _spring = require('./spring');\n\nexports.spring = _interopRequire(_spring);\n\nvar _presets = require('./presets');\n\nexports.presets = _interopRequire(_presets);\n\nvar _stripStyle = require('./stripStyle');\n\nexports.stripStyle = _interopRequire(_stripStyle);\n\n// deprecated, dummy warning function\n\nvar _reorderKeys = require('./reorderKeys');\n\nexports.reorderKeys = _interopRequire(_reorderKeys);","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _mapToZero = require('./mapToZero');\n\nvar _mapToZero2 = _interopRequireDefault(_mapToZero);\n\nvar _stripStyle = require('./stripStyle');\n\nvar _stripStyle2 = _interopRequireDefault(_stripStyle);\n\nvar _stepper3 = require('./stepper');\n\nvar _stepper4 = _interopRequireDefault(_stepper3);\n\nvar _performanceNow = require('performance-now');\n\nvar _performanceNow2 = _interopRequireDefault(_performanceNow);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldStopAnimation = require('./shouldStopAnimation');\n\nvar _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar msPerFrame = 1000 / 60;\n\nvar Motion = (function (_React$Component) {\n _inherits(Motion, _React$Component);\n\n _createClass(Motion, null, [{\n key: 'propTypes',\n value: {\n // TOOD: warn against putting a config in here\n defaultStyle: _propTypes2['default'].objectOf(_propTypes2['default'].number),\n style: _propTypes2['default'].objectOf(_propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].object])).isRequired,\n children: _propTypes2['default'].func.isRequired,\n onRest: _propTypes2['default'].func\n },\n enumerable: true\n }]);\n\n function Motion(props) {\n var _this = this;\n\n _classCallCheck(this, Motion);\n\n _React$Component.call(this, props);\n this.wasAnimating = false;\n this.animationID = null;\n this.prevTime = 0;\n this.accumulatedTime = 0;\n this.unreadPropStyle = null;\n\n this.clearUnreadPropStyle = function (destStyle) {\n var dirty = false;\n var _state = _this.state;\n var currentStyle = _state.currentStyle;\n var currentVelocity = _state.currentVelocity;\n var lastIdealStyle = _state.lastIdealStyle;\n var lastIdealVelocity = _state.lastIdealVelocity;\n\n for (var key in destStyle) {\n if (!Object.prototype.hasOwnProperty.call(destStyle, key)) {\n continue;\n }\n\n var styleValue = destStyle[key];\n if (typeof styleValue === 'number') {\n if (!dirty) {\n dirty = true;\n currentStyle = _extends({}, currentStyle);\n currentVelocity = _extends({}, currentVelocity);\n lastIdealStyle = _extends({}, lastIdealStyle);\n lastIdealVelocity = _extends({}, lastIdealVelocity);\n }\n\n currentStyle[key] = styleValue;\n currentVelocity[key] = 0;\n lastIdealStyle[key] = styleValue;\n lastIdealVelocity[key] = 0;\n }\n }\n\n if (dirty) {\n _this.setState({ currentStyle: currentStyle, currentVelocity: currentVelocity, lastIdealStyle: lastIdealStyle, lastIdealVelocity: lastIdealVelocity });\n }\n };\n\n this.startAnimationIfNecessary = function () {\n // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and\n // call cb? No, otherwise accidental parent rerender causes cb trigger\n _this.animationID = _raf2['default'](function (timestamp) {\n // check if we need to animate in the first place\n var propsStyle = _this.props.style;\n if (_shouldStopAnimation2['default'](_this.state.currentStyle, propsStyle, _this.state.currentVelocity)) {\n if (_this.wasAnimating && _this.props.onRest) {\n _this.props.onRest();\n }\n\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.wasAnimating = false;\n _this.accumulatedTime = 0;\n return;\n }\n\n _this.wasAnimating = true;\n\n var currentTime = timestamp || _performanceNow2['default']();\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta;\n // more than 10 frames? prolly switched browser tab. Restart\n if (_this.accumulatedTime > msPerFrame * 10) {\n _this.accumulatedTime = 0;\n }\n\n if (_this.accumulatedTime === 0) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.startAnimationIfNecessary();\n return;\n }\n\n var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;\n var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);\n\n var newLastIdealStyle = {};\n var newLastIdealVelocity = {};\n var newCurrentStyle = {};\n var newCurrentVelocity = {};\n\n for (var key in propsStyle) {\n if (!Object.prototype.hasOwnProperty.call(propsStyle, key)) {\n continue;\n }\n\n var styleValue = propsStyle[key];\n if (typeof styleValue === 'number') {\n newCurrentStyle[key] = styleValue;\n newCurrentVelocity[key] = 0;\n newLastIdealStyle[key] = styleValue;\n newLastIdealVelocity[key] = 0;\n } else {\n var newLastIdealStyleValue = _this.state.lastIdealStyle[key];\n var newLastIdealVelocityValue = _this.state.lastIdealVelocity[key];\n for (var i = 0; i < framesToCatchUp; i++) {\n var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n newLastIdealStyleValue = _stepper[0];\n newLastIdealVelocityValue = _stepper[1];\n }\n\n var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n var nextIdealX = _stepper2[0];\n var nextIdealV = _stepper2[1];\n\n newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;\n newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;\n newLastIdealStyle[key] = newLastIdealStyleValue;\n newLastIdealVelocity[key] = newLastIdealVelocityValue;\n }\n }\n\n _this.animationID = null;\n // the amount we're looped over above\n _this.accumulatedTime -= framesToCatchUp * msPerFrame;\n\n _this.setState({\n currentStyle: newCurrentStyle,\n currentVelocity: newCurrentVelocity,\n lastIdealStyle: newLastIdealStyle,\n lastIdealVelocity: newLastIdealVelocity\n });\n\n _this.unreadPropStyle = null;\n\n _this.startAnimationIfNecessary();\n });\n };\n\n this.state = this.defaultState();\n }\n\n Motion.prototype.defaultState = function defaultState() {\n var _props = this.props;\n var defaultStyle = _props.defaultStyle;\n var style = _props.style;\n\n var currentStyle = defaultStyle || _stripStyle2['default'](style);\n var currentVelocity = _mapToZero2['default'](currentStyle);\n return {\n currentStyle: currentStyle,\n currentVelocity: currentVelocity,\n lastIdealStyle: currentStyle,\n lastIdealVelocity: currentVelocity\n };\n };\n\n // it's possible that currentStyle's value is stale: if props is immediately\n // changed from 0 to 400 to spring(0) again, the async currentStyle is still\n // at 0 (didn't have time to tick and interpolate even once). If we naively\n // compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).\n // In reality currentStyle should be 400\n\n Motion.prototype.componentDidMount = function componentDidMount() {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n };\n\n Motion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {\n if (this.unreadPropStyle != null) {\n // previous props haven't had the chance to be set yet; set them here\n this.clearUnreadPropStyle(this.unreadPropStyle);\n }\n\n this.unreadPropStyle = props.style;\n if (this.animationID == null) {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n }\n };\n\n Motion.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n this.animationID = null;\n }\n };\n\n Motion.prototype.render = function render() {\n var renderedChildren = this.props.children(this.state.currentStyle);\n return renderedChildren && _react2['default'].Children.only(renderedChildren);\n };\n\n return Motion;\n})(_react2['default'].Component);\n\nexports['default'] = Motion;\nmodule.exports = exports['default'];\n\n// after checking for unreadPropStyle != null, we manually go set the\n// non-interpolating values (those that are a number, without a spring\n// config)","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","if performance? and performance.now\n module.exports = -> performance.now()\nelse if process? and process.hrtime\n module.exports = -> (getNanoSeconds() - nodeLoadTime) / 1e6\n hrtime = process.hrtime\n getNanoSeconds = ->\n hr = hrtime()\n hr[0] * 1e9 + hr[1]\n moduleLoadTime = getNanoSeconds()\n upTime = process.uptime() * 1e9\n nodeLoadTime = moduleLoadTime - upTime\nelse if Date.now\n module.exports = -> Date.now() - loadTime\n loadTime = Date.now()\nelse\n module.exports = -> new Date().getTime() - loadTime\n loadTime = new Date().getTime()\n","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _mapToZero = require('./mapToZero');\n\nvar _mapToZero2 = _interopRequireDefault(_mapToZero);\n\nvar _stripStyle = require('./stripStyle');\n\nvar _stripStyle2 = _interopRequireDefault(_stripStyle);\n\nvar _stepper3 = require('./stepper');\n\nvar _stepper4 = _interopRequireDefault(_stepper3);\n\nvar _performanceNow = require('performance-now');\n\nvar _performanceNow2 = _interopRequireDefault(_performanceNow);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldStopAnimation = require('./shouldStopAnimation');\n\nvar _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar msPerFrame = 1000 / 60;\n\nfunction shouldStopAnimationAll(currentStyles, styles, currentVelocities) {\n for (var i = 0; i < currentStyles.length; i++) {\n if (!_shouldStopAnimation2['default'](currentStyles[i], styles[i], currentVelocities[i])) {\n return false;\n }\n }\n return true;\n}\n\nvar StaggeredMotion = (function (_React$Component) {\n _inherits(StaggeredMotion, _React$Component);\n\n _createClass(StaggeredMotion, null, [{\n key: 'propTypes',\n value: {\n // TOOD: warn against putting a config in here\n defaultStyles: _propTypes2['default'].arrayOf(_propTypes2['default'].objectOf(_propTypes2['default'].number)),\n styles: _propTypes2['default'].func.isRequired,\n children: _propTypes2['default'].func.isRequired\n },\n enumerable: true\n }]);\n\n function StaggeredMotion(props) {\n var _this = this;\n\n _classCallCheck(this, StaggeredMotion);\n\n _React$Component.call(this, props);\n this.animationID = null;\n this.prevTime = 0;\n this.accumulatedTime = 0;\n this.unreadPropStyles = null;\n\n this.clearUnreadPropStyle = function (unreadPropStyles) {\n var _state = _this.state;\n var currentStyles = _state.currentStyles;\n var currentVelocities = _state.currentVelocities;\n var lastIdealStyles = _state.lastIdealStyles;\n var lastIdealVelocities = _state.lastIdealVelocities;\n\n var someDirty = false;\n for (var i = 0; i < unreadPropStyles.length; i++) {\n var unreadPropStyle = unreadPropStyles[i];\n var dirty = false;\n\n for (var key in unreadPropStyle) {\n if (!Object.prototype.hasOwnProperty.call(unreadPropStyle, key)) {\n continue;\n }\n\n var styleValue = unreadPropStyle[key];\n if (typeof styleValue === 'number') {\n if (!dirty) {\n dirty = true;\n someDirty = true;\n currentStyles[i] = _extends({}, currentStyles[i]);\n currentVelocities[i] = _extends({}, currentVelocities[i]);\n lastIdealStyles[i] = _extends({}, lastIdealStyles[i]);\n lastIdealVelocities[i] = _extends({}, lastIdealVelocities[i]);\n }\n currentStyles[i][key] = styleValue;\n currentVelocities[i][key] = 0;\n lastIdealStyles[i][key] = styleValue;\n lastIdealVelocities[i][key] = 0;\n }\n }\n }\n\n if (someDirty) {\n _this.setState({ currentStyles: currentStyles, currentVelocities: currentVelocities, lastIdealStyles: lastIdealStyles, lastIdealVelocities: lastIdealVelocities });\n }\n };\n\n this.startAnimationIfNecessary = function () {\n // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and\n // call cb? No, otherwise accidental parent rerender causes cb trigger\n _this.animationID = _raf2['default'](function (timestamp) {\n var destStyles = _this.props.styles(_this.state.lastIdealStyles);\n\n // check if we need to animate in the first place\n if (shouldStopAnimationAll(_this.state.currentStyles, destStyles, _this.state.currentVelocities)) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.accumulatedTime = 0;\n return;\n }\n\n var currentTime = timestamp || _performanceNow2['default']();\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta;\n // more than 10 frames? prolly switched browser tab. Restart\n if (_this.accumulatedTime > msPerFrame * 10) {\n _this.accumulatedTime = 0;\n }\n\n if (_this.accumulatedTime === 0) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.startAnimationIfNecessary();\n return;\n }\n\n var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;\n var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);\n\n var newLastIdealStyles = [];\n var newLastIdealVelocities = [];\n var newCurrentStyles = [];\n var newCurrentVelocities = [];\n\n for (var i = 0; i < destStyles.length; i++) {\n var destStyle = destStyles[i];\n var newCurrentStyle = {};\n var newCurrentVelocity = {};\n var newLastIdealStyle = {};\n var newLastIdealVelocity = {};\n\n for (var key in destStyle) {\n if (!Object.prototype.hasOwnProperty.call(destStyle, key)) {\n continue;\n }\n\n var styleValue = destStyle[key];\n if (typeof styleValue === 'number') {\n newCurrentStyle[key] = styleValue;\n newCurrentVelocity[key] = 0;\n newLastIdealStyle[key] = styleValue;\n newLastIdealVelocity[key] = 0;\n } else {\n var newLastIdealStyleValue = _this.state.lastIdealStyles[i][key];\n var newLastIdealVelocityValue = _this.state.lastIdealVelocities[i][key];\n for (var j = 0; j < framesToCatchUp; j++) {\n var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n newLastIdealStyleValue = _stepper[0];\n newLastIdealVelocityValue = _stepper[1];\n }\n\n var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n var nextIdealX = _stepper2[0];\n var nextIdealV = _stepper2[1];\n\n newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;\n newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;\n newLastIdealStyle[key] = newLastIdealStyleValue;\n newLastIdealVelocity[key] = newLastIdealVelocityValue;\n }\n }\n\n newCurrentStyles[i] = newCurrentStyle;\n newCurrentVelocities[i] = newCurrentVelocity;\n newLastIdealStyles[i] = newLastIdealStyle;\n newLastIdealVelocities[i] = newLastIdealVelocity;\n }\n\n _this.animationID = null;\n // the amount we're looped over above\n _this.accumulatedTime -= framesToCatchUp * msPerFrame;\n\n _this.setState({\n currentStyles: newCurrentStyles,\n currentVelocities: newCurrentVelocities,\n lastIdealStyles: newLastIdealStyles,\n lastIdealVelocities: newLastIdealVelocities\n });\n\n _this.unreadPropStyles = null;\n\n _this.startAnimationIfNecessary();\n });\n };\n\n this.state = this.defaultState();\n }\n\n StaggeredMotion.prototype.defaultState = function defaultState() {\n var _props = this.props;\n var defaultStyles = _props.defaultStyles;\n var styles = _props.styles;\n\n var currentStyles = defaultStyles || styles().map(_stripStyle2['default']);\n var currentVelocities = currentStyles.map(function (currentStyle) {\n return _mapToZero2['default'](currentStyle);\n });\n return {\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n lastIdealStyles: currentStyles,\n lastIdealVelocities: currentVelocities\n };\n };\n\n StaggeredMotion.prototype.componentDidMount = function componentDidMount() {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n };\n\n StaggeredMotion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {\n if (this.unreadPropStyles != null) {\n // previous props haven't had the chance to be set yet; set them here\n this.clearUnreadPropStyle(this.unreadPropStyles);\n }\n\n this.unreadPropStyles = props.styles(this.state.lastIdealStyles);\n if (this.animationID == null) {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n }\n };\n\n StaggeredMotion.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n this.animationID = null;\n }\n };\n\n StaggeredMotion.prototype.render = function render() {\n var renderedChildren = this.props.children(this.state.currentStyles);\n return renderedChildren && _react2['default'].Children.only(renderedChildren);\n };\n\n return StaggeredMotion;\n})(_react2['default'].Component);\n\nexports['default'] = StaggeredMotion;\nmodule.exports = exports['default'];\n\n// it's possible that currentStyle's value is stale: if props is immediately\n// changed from 0 to 400 to spring(0) again, the async currentStyle is still\n// at 0 (didn't have time to tick and interpolate even once). If we naively\n// compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).\n// In reality currentStyle should be 400\n\n// after checking for unreadPropStyles != null, we manually go set the\n// non-interpolating values (those that are a number, without a spring\n// config)","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _mapToZero = require('./mapToZero');\n\nvar _mapToZero2 = _interopRequireDefault(_mapToZero);\n\nvar _stripStyle = require('./stripStyle');\n\nvar _stripStyle2 = _interopRequireDefault(_stripStyle);\n\nvar _stepper3 = require('./stepper');\n\nvar _stepper4 = _interopRequireDefault(_stepper3);\n\nvar _mergeDiff = require('./mergeDiff');\n\nvar _mergeDiff2 = _interopRequireDefault(_mergeDiff);\n\nvar _performanceNow = require('performance-now');\n\nvar _performanceNow2 = _interopRequireDefault(_performanceNow);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldStopAnimation = require('./shouldStopAnimation');\n\nvar _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar msPerFrame = 1000 / 60;\n\n// the children function & (potential) styles function asks as param an\n// Array, where each TransitionPlainStyle is of the format\n// {key: string, data?: any, style: PlainStyle}. However, the way we keep\n// internal states doesn't contain such a data structure (check the state and\n// TransitionMotionState). So when children function and others ask for such\n// data we need to generate them on the fly by combining mergedPropsStyles and\n// currentStyles/lastIdealStyles\nfunction rehydrateStyles(mergedPropsStyles, unreadPropStyles, plainStyles) {\n // Copy the value to a `const` so that Flow understands that the const won't\n // change and will be non-nullable in the callback below.\n var cUnreadPropStyles = unreadPropStyles;\n if (cUnreadPropStyles == null) {\n return mergedPropsStyles.map(function (mergedPropsStyle, i) {\n return {\n key: mergedPropsStyle.key,\n data: mergedPropsStyle.data,\n style: plainStyles[i]\n };\n });\n }\n return mergedPropsStyles.map(function (mergedPropsStyle, i) {\n for (var j = 0; j < cUnreadPropStyles.length; j++) {\n if (cUnreadPropStyles[j].key === mergedPropsStyle.key) {\n return {\n key: cUnreadPropStyles[j].key,\n data: cUnreadPropStyles[j].data,\n style: plainStyles[i]\n };\n }\n }\n return { key: mergedPropsStyle.key, data: mergedPropsStyle.data, style: plainStyles[i] };\n });\n}\n\nfunction shouldStopAnimationAll(currentStyles, destStyles, currentVelocities, mergedPropsStyles) {\n if (mergedPropsStyles.length !== destStyles.length) {\n return false;\n }\n\n for (var i = 0; i < mergedPropsStyles.length; i++) {\n if (mergedPropsStyles[i].key !== destStyles[i].key) {\n return false;\n }\n }\n\n // we have the invariant that mergedPropsStyles and\n // currentStyles/currentVelocities/last* are synced in terms of cells, see\n // mergeAndSync comment for more info\n for (var i = 0; i < mergedPropsStyles.length; i++) {\n if (!_shouldStopAnimation2['default'](currentStyles[i], destStyles[i].style, currentVelocities[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n// core key merging logic\n\n// things to do: say previously merged style is {a, b}, dest style (prop) is {b,\n// c}, previous current (interpolating) style is {a, b}\n// **invariant**: current[i] corresponds to merged[i] in terms of key\n\n// steps:\n// turn merged style into {a?, b, c}\n// add c, value of c is destStyles.c\n// maybe remove a, aka call willLeave(a), then merged is either {b, c} or {a, b, c}\n// turn current (interpolating) style from {a, b} into {a?, b, c}\n// maybe remove a\n// certainly add c, value of c is willEnter(c)\n// loop over merged and construct new current\n// dest doesn't change, that's owner's\nfunction mergeAndSync(willEnter, willLeave, didLeave, oldMergedPropsStyles, destStyles, oldCurrentStyles, oldCurrentVelocities, oldLastIdealStyles, oldLastIdealVelocities) {\n var newMergedPropsStyles = _mergeDiff2['default'](oldMergedPropsStyles, destStyles, function (oldIndex, oldMergedPropsStyle) {\n var leavingStyle = willLeave(oldMergedPropsStyle);\n if (leavingStyle == null) {\n didLeave({ key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data });\n return null;\n }\n if (_shouldStopAnimation2['default'](oldCurrentStyles[oldIndex], leavingStyle, oldCurrentVelocities[oldIndex])) {\n didLeave({ key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data });\n return null;\n }\n return { key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data, style: leavingStyle };\n });\n\n var newCurrentStyles = [];\n var newCurrentVelocities = [];\n var newLastIdealStyles = [];\n var newLastIdealVelocities = [];\n for (var i = 0; i < newMergedPropsStyles.length; i++) {\n var newMergedPropsStyleCell = newMergedPropsStyles[i];\n var foundOldIndex = null;\n for (var j = 0; j < oldMergedPropsStyles.length; j++) {\n if (oldMergedPropsStyles[j].key === newMergedPropsStyleCell.key) {\n foundOldIndex = j;\n break;\n }\n }\n // TODO: key search code\n if (foundOldIndex == null) {\n var plainStyle = willEnter(newMergedPropsStyleCell);\n newCurrentStyles[i] = plainStyle;\n newLastIdealStyles[i] = plainStyle;\n\n var velocity = _mapToZero2['default'](newMergedPropsStyleCell.style);\n newCurrentVelocities[i] = velocity;\n newLastIdealVelocities[i] = velocity;\n } else {\n newCurrentStyles[i] = oldCurrentStyles[foundOldIndex];\n newLastIdealStyles[i] = oldLastIdealStyles[foundOldIndex];\n newCurrentVelocities[i] = oldCurrentVelocities[foundOldIndex];\n newLastIdealVelocities[i] = oldLastIdealVelocities[foundOldIndex];\n }\n }\n\n return [newMergedPropsStyles, newCurrentStyles, newCurrentVelocities, newLastIdealStyles, newLastIdealVelocities];\n}\n\nvar TransitionMotion = (function (_React$Component) {\n _inherits(TransitionMotion, _React$Component);\n\n _createClass(TransitionMotion, null, [{\n key: 'propTypes',\n value: {\n defaultStyles: _propTypes2['default'].arrayOf(_propTypes2['default'].shape({\n key: _propTypes2['default'].string.isRequired,\n data: _propTypes2['default'].any,\n style: _propTypes2['default'].objectOf(_propTypes2['default'].number).isRequired\n })),\n styles: _propTypes2['default'].oneOfType([_propTypes2['default'].func, _propTypes2['default'].arrayOf(_propTypes2['default'].shape({\n key: _propTypes2['default'].string.isRequired,\n data: _propTypes2['default'].any,\n style: _propTypes2['default'].objectOf(_propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].object])).isRequired\n }))]).isRequired,\n children: _propTypes2['default'].func.isRequired,\n willEnter: _propTypes2['default'].func,\n willLeave: _propTypes2['default'].func,\n didLeave: _propTypes2['default'].func\n },\n enumerable: true\n }, {\n key: 'defaultProps',\n value: {\n willEnter: function willEnter(styleThatEntered) {\n return _stripStyle2['default'](styleThatEntered.style);\n },\n // recall: returning null makes the current unmounting TransitionStyle\n // disappear immediately\n willLeave: function willLeave() {\n return null;\n },\n didLeave: function didLeave() {}\n },\n enumerable: true\n }]);\n\n function TransitionMotion(props) {\n var _this = this;\n\n _classCallCheck(this, TransitionMotion);\n\n _React$Component.call(this, props);\n this.unmounting = false;\n this.animationID = null;\n this.prevTime = 0;\n this.accumulatedTime = 0;\n this.unreadPropStyles = null;\n\n this.clearUnreadPropStyle = function (unreadPropStyles) {\n var _mergeAndSync = mergeAndSync(_this.props.willEnter, _this.props.willLeave, _this.props.didLeave, _this.state.mergedPropsStyles, unreadPropStyles, _this.state.currentStyles, _this.state.currentVelocities, _this.state.lastIdealStyles, _this.state.lastIdealVelocities);\n\n var mergedPropsStyles = _mergeAndSync[0];\n var currentStyles = _mergeAndSync[1];\n var currentVelocities = _mergeAndSync[2];\n var lastIdealStyles = _mergeAndSync[3];\n var lastIdealVelocities = _mergeAndSync[4];\n\n for (var i = 0; i < unreadPropStyles.length; i++) {\n var unreadPropStyle = unreadPropStyles[i].style;\n var dirty = false;\n\n for (var key in unreadPropStyle) {\n if (!Object.prototype.hasOwnProperty.call(unreadPropStyle, key)) {\n continue;\n }\n\n var styleValue = unreadPropStyle[key];\n if (typeof styleValue === 'number') {\n if (!dirty) {\n dirty = true;\n currentStyles[i] = _extends({}, currentStyles[i]);\n currentVelocities[i] = _extends({}, currentVelocities[i]);\n lastIdealStyles[i] = _extends({}, lastIdealStyles[i]);\n lastIdealVelocities[i] = _extends({}, lastIdealVelocities[i]);\n mergedPropsStyles[i] = {\n key: mergedPropsStyles[i].key,\n data: mergedPropsStyles[i].data,\n style: _extends({}, mergedPropsStyles[i].style)\n };\n }\n currentStyles[i][key] = styleValue;\n currentVelocities[i][key] = 0;\n lastIdealStyles[i][key] = styleValue;\n lastIdealVelocities[i][key] = 0;\n mergedPropsStyles[i].style[key] = styleValue;\n }\n }\n }\n\n // unlike the other 2 components, we can't detect staleness and optionally\n // opt out of setState here. each style object's data might contain new\n // stuff we're not/cannot compare\n _this.setState({\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n mergedPropsStyles: mergedPropsStyles,\n lastIdealStyles: lastIdealStyles,\n lastIdealVelocities: lastIdealVelocities\n });\n };\n\n this.startAnimationIfNecessary = function () {\n if (_this.unmounting) {\n return;\n }\n\n // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and\n // call cb? No, otherwise accidental parent rerender causes cb trigger\n _this.animationID = _raf2['default'](function (timestamp) {\n // https://github.com/chenglou/react-motion/pull/420\n // > if execution passes the conditional if (this.unmounting), then\n // executes async defaultRaf and after that component unmounts and after\n // that the callback of defaultRaf is called, then setState will be called\n // on unmounted component.\n if (_this.unmounting) {\n return;\n }\n\n var propStyles = _this.props.styles;\n var destStyles = typeof propStyles === 'function' ? propStyles(rehydrateStyles(_this.state.mergedPropsStyles, _this.unreadPropStyles, _this.state.lastIdealStyles)) : propStyles;\n\n // check if we need to animate in the first place\n if (shouldStopAnimationAll(_this.state.currentStyles, destStyles, _this.state.currentVelocities, _this.state.mergedPropsStyles)) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.accumulatedTime = 0;\n return;\n }\n\n var currentTime = timestamp || _performanceNow2['default']();\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta;\n // more than 10 frames? prolly switched browser tab. Restart\n if (_this.accumulatedTime > msPerFrame * 10) {\n _this.accumulatedTime = 0;\n }\n\n if (_this.accumulatedTime === 0) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.startAnimationIfNecessary();\n return;\n }\n\n var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;\n var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);\n\n var _mergeAndSync2 = mergeAndSync(_this.props.willEnter, _this.props.willLeave, _this.props.didLeave, _this.state.mergedPropsStyles, destStyles, _this.state.currentStyles, _this.state.currentVelocities, _this.state.lastIdealStyles, _this.state.lastIdealVelocities);\n\n var newMergedPropsStyles = _mergeAndSync2[0];\n var newCurrentStyles = _mergeAndSync2[1];\n var newCurrentVelocities = _mergeAndSync2[2];\n var newLastIdealStyles = _mergeAndSync2[3];\n var newLastIdealVelocities = _mergeAndSync2[4];\n\n for (var i = 0; i < newMergedPropsStyles.length; i++) {\n var newMergedPropsStyle = newMergedPropsStyles[i].style;\n var newCurrentStyle = {};\n var newCurrentVelocity = {};\n var newLastIdealStyle = {};\n var newLastIdealVelocity = {};\n\n for (var key in newMergedPropsStyle) {\n if (!Object.prototype.hasOwnProperty.call(newMergedPropsStyle, key)) {\n continue;\n }\n\n var styleValue = newMergedPropsStyle[key];\n if (typeof styleValue === 'number') {\n newCurrentStyle[key] = styleValue;\n newCurrentVelocity[key] = 0;\n newLastIdealStyle[key] = styleValue;\n newLastIdealVelocity[key] = 0;\n } else {\n var newLastIdealStyleValue = newLastIdealStyles[i][key];\n var newLastIdealVelocityValue = newLastIdealVelocities[i][key];\n for (var j = 0; j < framesToCatchUp; j++) {\n var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n newLastIdealStyleValue = _stepper[0];\n newLastIdealVelocityValue = _stepper[1];\n }\n\n var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n var nextIdealX = _stepper2[0];\n var nextIdealV = _stepper2[1];\n\n newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;\n newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;\n newLastIdealStyle[key] = newLastIdealStyleValue;\n newLastIdealVelocity[key] = newLastIdealVelocityValue;\n }\n }\n\n newLastIdealStyles[i] = newLastIdealStyle;\n newLastIdealVelocities[i] = newLastIdealVelocity;\n newCurrentStyles[i] = newCurrentStyle;\n newCurrentVelocities[i] = newCurrentVelocity;\n }\n\n _this.animationID = null;\n // the amount we're looped over above\n _this.accumulatedTime -= framesToCatchUp * msPerFrame;\n\n _this.setState({\n currentStyles: newCurrentStyles,\n currentVelocities: newCurrentVelocities,\n lastIdealStyles: newLastIdealStyles,\n lastIdealVelocities: newLastIdealVelocities,\n mergedPropsStyles: newMergedPropsStyles\n });\n\n _this.unreadPropStyles = null;\n\n _this.startAnimationIfNecessary();\n });\n };\n\n this.state = this.defaultState();\n }\n\n TransitionMotion.prototype.defaultState = function defaultState() {\n var _props = this.props;\n var defaultStyles = _props.defaultStyles;\n var styles = _props.styles;\n var willEnter = _props.willEnter;\n var willLeave = _props.willLeave;\n var didLeave = _props.didLeave;\n\n var destStyles = typeof styles === 'function' ? styles(defaultStyles) : styles;\n\n // this is special. for the first time around, we don't have a comparison\n // between last (no last) and current merged props. we'll compute last so:\n // say default is {a, b} and styles (dest style) is {b, c}, we'll\n // fabricate last as {a, b}\n var oldMergedPropsStyles = undefined;\n if (defaultStyles == null) {\n oldMergedPropsStyles = destStyles;\n } else {\n oldMergedPropsStyles = defaultStyles.map(function (defaultStyleCell) {\n // TODO: key search code\n for (var i = 0; i < destStyles.length; i++) {\n if (destStyles[i].key === defaultStyleCell.key) {\n return destStyles[i];\n }\n }\n return defaultStyleCell;\n });\n }\n var oldCurrentStyles = defaultStyles == null ? destStyles.map(function (s) {\n return _stripStyle2['default'](s.style);\n }) : defaultStyles.map(function (s) {\n return _stripStyle2['default'](s.style);\n });\n var oldCurrentVelocities = defaultStyles == null ? destStyles.map(function (s) {\n return _mapToZero2['default'](s.style);\n }) : defaultStyles.map(function (s) {\n return _mapToZero2['default'](s.style);\n });\n\n var _mergeAndSync3 = mergeAndSync(\n // Because this is an old-style createReactClass component, Flow doesn't\n // understand that the willEnter and willLeave props have default values\n // and will always be present.\n willEnter, willLeave, didLeave, oldMergedPropsStyles, destStyles, oldCurrentStyles, oldCurrentVelocities, oldCurrentStyles, // oldLastIdealStyles really\n oldCurrentVelocities);\n\n var mergedPropsStyles = _mergeAndSync3[0];\n var currentStyles = _mergeAndSync3[1];\n var currentVelocities = _mergeAndSync3[2];\n var lastIdealStyles = _mergeAndSync3[3];\n var lastIdealVelocities = _mergeAndSync3[4];\n // oldLastIdealVelocities really\n\n return {\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n lastIdealStyles: lastIdealStyles,\n lastIdealVelocities: lastIdealVelocities,\n mergedPropsStyles: mergedPropsStyles\n };\n };\n\n // after checking for unreadPropStyles != null, we manually go set the\n // non-interpolating values (those that are a number, without a spring\n // config)\n\n TransitionMotion.prototype.componentDidMount = function componentDidMount() {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n };\n\n TransitionMotion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {\n if (this.unreadPropStyles) {\n // previous props haven't had the chance to be set yet; set them here\n this.clearUnreadPropStyle(this.unreadPropStyles);\n }\n\n var styles = props.styles;\n if (typeof styles === 'function') {\n this.unreadPropStyles = styles(rehydrateStyles(this.state.mergedPropsStyles, this.unreadPropStyles, this.state.lastIdealStyles));\n } else {\n this.unreadPropStyles = styles;\n }\n\n if (this.animationID == null) {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n }\n };\n\n TransitionMotion.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unmounting = true;\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n this.animationID = null;\n }\n };\n\n TransitionMotion.prototype.render = function render() {\n var hydratedStyles = rehydrateStyles(this.state.mergedPropsStyles, this.unreadPropStyles, this.state.currentStyles);\n var renderedChildren = this.props.children(hydratedStyles);\n return renderedChildren && _react2['default'].Children.only(renderedChildren);\n };\n\n return TransitionMotion;\n})(_react2['default'].Component);\n\nexports['default'] = TransitionMotion;\nmodule.exports = exports['default'];\n\n// list of styles, each containing interpolating values. Part of what's passed\n// to children function. Notice that this is\n// Array, without the wrapper that is {key: ...,\n// data: ... style: ActualInterpolatingStyleObject}. Only mergedPropsStyles\n// contains the key & data info (so that we only have a single source of truth\n// for these, and to save space). Check the comment for `rehydrateStyles` to\n// see how we regenerate the entirety of what's passed to children function\n\n// the array that keeps track of currently rendered stuff! Including stuff\n// that you've unmounted but that's still animating. This is where it lives\n\n// it's possible that currentStyle's value is stale: if props is immediately\n// changed from 0 to 400 to spring(0) again, the async currentStyle is still\n// at 0 (didn't have time to tick and interpolate even once). If we naively\n// compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).\n// In reality currentStyle should be 400","\n\n// core keys merging algorithm. If previous render's keys are [a, b], and the\n// next render's [c, b, d], what's the final merged keys and ordering?\n\n// - c and a must both be before b\n// - b before d\n// - ordering between a and c ambiguous\n\n// this reduces to merging two partially ordered lists (e.g. lists where not\n// every item has a definite ordering, like comparing a and c above). For the\n// ambiguous ordering we deterministically choose to place the next render's\n// item after the previous'; so c after a\n\n// this is called a topological sorting. Except the existing algorithms don't\n// work well with js bc of the amount of allocation, and isn't optimized for our\n// current use-case bc the runtime is linear in terms of edges (see wiki for\n// meaning), which is huge when two lists have many common elements\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = mergeDiff;\n\nfunction mergeDiff(prev, next, onRemove) {\n // bookkeeping for easier access of a key's index below. This is 2 allocations +\n // potentially triggering chrome hash map mode for objs (so it might be faster\n\n var prevKeyIndex = {};\n for (var i = 0; i < prev.length; i++) {\n prevKeyIndex[prev[i].key] = i;\n }\n var nextKeyIndex = {};\n for (var i = 0; i < next.length; i++) {\n nextKeyIndex[next[i].key] = i;\n }\n\n // first, an overly elaborate way of merging prev and next, eliminating\n // duplicates (in terms of keys). If there's dupe, keep the item in next).\n // This way of writing it saves allocations\n var ret = [];\n for (var i = 0; i < next.length; i++) {\n ret[i] = next[i];\n }\n for (var i = 0; i < prev.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(nextKeyIndex, prev[i].key)) {\n // this is called my TM's `mergeAndSync`, which calls willLeave. We don't\n // merge in keys that the user desires to kill\n var fill = onRemove(i, prev[i]);\n if (fill != null) {\n ret.push(fill);\n }\n }\n }\n\n // now all the items all present. Core sorting logic to have the right order\n return ret.sort(function (a, b) {\n var nextOrderA = nextKeyIndex[a.key];\n var nextOrderB = nextKeyIndex[b.key];\n var prevOrderA = prevKeyIndex[a.key];\n var prevOrderB = prevKeyIndex[b.key];\n\n if (nextOrderA != null && nextOrderB != null) {\n // both keys in next\n return nextKeyIndex[a.key] - nextKeyIndex[b.key];\n } else if (prevOrderA != null && prevOrderB != null) {\n // both keys in prev\n return prevKeyIndex[a.key] - prevKeyIndex[b.key];\n } else if (nextOrderA != null) {\n // key a in next, key b in prev\n\n // how to determine the order between a and b? We find a \"pivot\" (term\n // abuse), a key present in both prev and next, that is sandwiched between\n // a and b. In the context of our above example, if we're comparing a and\n // d, b's (the only) pivot\n for (var i = 0; i < next.length; i++) {\n var pivot = next[i].key;\n if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {\n continue;\n }\n\n if (nextOrderA < nextKeyIndex[pivot] && prevOrderB > prevKeyIndex[pivot]) {\n return -1;\n } else if (nextOrderA > nextKeyIndex[pivot] && prevOrderB < prevKeyIndex[pivot]) {\n return 1;\n }\n }\n // pluggable. default to: next bigger than prev\n return 1;\n }\n // prevOrderA, nextOrderB\n for (var i = 0; i < next.length; i++) {\n var pivot = next[i].key;\n if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {\n continue;\n }\n if (nextOrderB < nextKeyIndex[pivot] && prevOrderA > prevKeyIndex[pivot]) {\n return 1;\n } else if (nextOrderB > nextKeyIndex[pivot] && prevOrderA < prevKeyIndex[pivot]) {\n return -1;\n }\n }\n // pluggable. default to: next bigger than prev\n return -1;\n });\n}\n\nmodule.exports = exports['default'];\n// to loop through and find a key's index each time), but I no longer care","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports['default'] = spring;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _presets = require('./presets');\n\nvar _presets2 = _interopRequireDefault(_presets);\n\nvar defaultConfig = _extends({}, _presets2['default'].noWobble, {\n precision: 0.01\n});\n\nfunction spring(val, config) {\n return _extends({}, defaultConfig, config, { val: val });\n}\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports['default'] = reorderKeys;\n\nvar hasWarned = false;\n\nfunction reorderKeys() {\n if (process.env.NODE_ENV === 'development') {\n if (!hasWarned) {\n hasWarned = true;\n console.error('`reorderKeys` has been removed, since it is no longer needed for TransitionMotion\\'s new styles array API.');\n }\n }\n}\n\nmodule.exports = exports['default'];","/// \r\n\r\nimport * as React from 'react';\r\nimport { SFC } from 'react';\r\n\r\nimport { StyleConstants } from '../../../constants/styles';\r\n\r\nimport { IBoardingPoint } from '../../../api/types/BusStopLookup';\r\nimport { GoogleMap } from '../../../generic/components/GoogleMap';\r\n\r\ninterface Props {\r\n\tlatitude: number;\r\n\tlongitude: number;\r\n\tboardingPoints: IBoardingPoint[];\r\n}\r\n\r\nconst scaledWidth: number = StyleConstants.IconSize.Width * StyleConstants.IconSize.Scale;\r\nconst scaledHeight: number = StyleConstants.IconSize.Height * StyleConstants.IconSize.Scale;\r\n\r\nconst boardingPointToMarker: (boardingPoint: IBoardingPoint, index: number) => google.maps.MarkerOptions = (boardingPoint: IBoardingPoint, index: number) => ({\r\n\tanchorPoint: new google.maps.Point(0, (StyleConstants.IconSize.Width * StyleConstants.IconSize.Scale) / 2),\r\n\tclickable: false,\r\n\tdraggable: false,\r\n\ticon: {\r\n\t\torigin: new google.maps.Point(0, (scaledHeight) * index),\r\n\t\tlabelOrigin: new google.maps.Point(scaledWidth / 2, (scaledHeight / 2) - 2),\r\n\t\tscaledSize: new google.maps.Size(scaledWidth, scaledHeight * StyleConstants.IconSize.Count),\r\n\t\tsize: new google.maps.Size(scaledWidth, scaledHeight),\r\n\t\turl: `/content/image/map-marker.svg`\r\n\t},\r\n\tlabel: {\r\n\t\ttext: boardingPoint.letter,\r\n\t\tcolor: `#${StyleConstants.Colors[index]}`,\r\n\t\tfontFamily: StyleConstants.IconFontFamily,\r\n\t\tfontSize: `${StyleConstants.DefaultFontSize * 1.25}px`,\r\n\t\tfontWeight: `${StyleConstants.IconFontWeight}`\r\n\t},\r\n\tposition: new google.maps.LatLng(boardingPoint.latitude, boardingPoint.longitude),\r\n\ttitle: boardingPoint.name,\r\n\tzIndex: 1100 - index\r\n});\r\n\r\nconst StopMap: SFC = (props: Props) => {\r\n\r\n\tconst options: google.maps.MapOptions = {\r\n\t\tcenter: new google.maps.LatLng(props.latitude, props.longitude),\r\n\t\tzoom: 18\r\n\t};\r\n\r\n\tconst markers: google.maps.MarkerOptions[] = props\r\n\t\t.boardingPoints\r\n\t\t.map(boardingPointToMarker);\r\n\treturn ;\r\n};\r\n\r\nexport default StopMap;\r\n","import * as React from 'react';\r\nimport { SFC } from 'react';\r\n\r\nimport { IStopInfo, IDepartureGroup, IBoardingPoint } from '../../api/types/BusStopLookup';\r\n\r\nimport Departures from './realtime/Departures';\r\nimport { RoutesServedByApp } from './routes-served-by/RoutesServedByApp';\r\n\r\ninterface Props {\r\n\tboardingPoints: IBoardingPoint[];\r\n\tdepartureGroups: IDepartureGroup[];\r\n\tstop: IStopInfo;\r\n\ttimeout: boolean;\r\n\terrored: boolean;\r\n}\r\n\r\nconst RightSide: SFC = (props: Props) => {\r\n\tconst sectionClass: string = props.timeout ? 'right-side departures timeout' : 'right-side departures';\r\n\treturn
    \r\n\t\t\r\n\t\t\r\n\t
    ;\r\n};\r\n\r\nexport default RightSide;\r\n","import * as React from 'react';\r\nimport { SFC } from 'react';\r\n\r\nimport { IBoardingPoint, IDepartureGroup } from '../../../api/types/BusStopLookup';\r\n\r\nimport DepartureGroup from './DepartureGroup';\r\nimport ErrorState from './ErrorState';\r\n\r\ninterface Props {\r\n\tboardingPoints: IBoardingPoint[];\r\n\tdepartureGroups: IDepartureGroup[];\r\n\terrored: boolean;\r\n}\r\n\r\nconst createDepartureGroupElement: (departureGroup: IDepartureGroup, boardingPoint: IBoardingPoint, index: number) => JSX.Element = (departureGroup: IDepartureGroup, boardingPoint: IBoardingPoint, index: number) =>\r\n\t;\r\n\r\nconst Departures: SFC = (props: Props) => {\r\n\r\n\tif (props.errored) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\tif (!props.departureGroups || props.departureGroups.length === 0) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\r\n\tconst groups: JSX.Element[] = props\r\n\t\t.departureGroups\r\n\t\t.map((departureGroup: IDepartureGroup, index: number) => {\r\n\t\t\tconst boardingPoint: IBoardingPoint = props.boardingPoints.filter(bp => bp.stopId === departureGroup.stopId)[0];\r\n\t\t\treturn createDepartureGroupElement(departureGroup, boardingPoint, index);\r\n\t\t});\r\n\r\n\treturn
    \r\n\t\t

    Realtime Departures

    \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\t\t\r\n\t\t\t\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\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{groups}\r\n\t\t\t\r\n\t\t
    RouteBoarding PointFirst DepartureSecond DepartureThird Departure
    \r\n\t\t

    \r\n\t\t\tDepartures are based on real-time GPS bus positions.\r\n\t\t\tDepartures update automatically every 30 seconds.\r\n\t\t

    \r\n\t
    ;\r\n};\r\n\r\nexport default Departures;\r\n","import * as React from 'react';\r\nimport { SFC } from 'react';\r\n\r\nimport { IDeparture, IDepartureGroup } from '../../../api/types/BusStopLookup';\r\n\r\nimport Departure from './Departure';\r\nimport EmptyDeparture from './EmptyDeparture';\r\n\r\nimport SvgUse from '../../../generic/components/SvgUse';\r\n\r\ninterface Props extends IDepartureGroup {\r\n\tboardingPointSvgId: string;\r\n\tboardingPointLetter: string;\r\n\tboardingPointName: string;\r\n}\r\n\r\nconst createDepartureElement: (departure: IDeparture) => JSX.Element = (departure: IDeparture) =>\r\n\t;\r\n\r\nconst createDepartureElements: (departures: IDeparture[]) => JSX.Element[] = (departures: IDeparture[]): JSX.Element[] => {\r\n\tconst departureElements: JSX.Element[] = [];\r\n\tfor (let i: number = 0; i < 3; i++) {\r\n\t\tif (departures.length <= i) {\r\n\t\t\tconst colspan: number = 3 - departures.length;\r\n\t\t\tdepartureElements.push();\r\n\t\t\treturn departureElements;\r\n\t\t} else {\r\n\t\t\tdepartureElements.push(createDepartureElement(departures[i]));\r\n\t\t}\r\n\t}\r\n\treturn departureElements;\r\n};\r\n\r\nconst DepartureGroup: SFC = (props: Props) => {\r\n\tconst departures: JSX.Element[] = createDepartureElements(props.departures);\r\n\tconst letterClass: string = `letter-${props.boardingPointLetter}`;\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\tif (ele) {\r\n\t\t\t\t\t\tele.style.setProperty('color', props.textColor, 'important');\r\n\t\t\t\t\t\tele.style.setProperty('background-color', props.color, 'important');\r\n\t\t\t\t\t}\r\n\t\t\t\t}}>{props.number}
    \r\n\t\t\t\t
    {props.name}
    \r\n\t\t\t\t
    {props.direction}
    \r\n\t\t\t
    \r\n\t\t\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t{props.boardingPointLetter}\r\n\t\t\t\t
    \r\n\t\t\t\t{props.boardingPointName}\r\n\t\t\t
    \r\n\t\t\r\n\t\t{departures}\r\n\t;\r\n}\r\n\r\nexport default DepartureGroup;\r\n","import * as React from 'react';\r\nimport { SFC, Fragment } from 'react';\r\nimport Tooltip from '../../../generic/components/ToolTip';\r\nimport { IDeparture } from '../../../api/types/BusStopLookup';\r\n\r\ninterface Props extends IDeparture { }\r\n\r\n\r\nconst renderModifers: (isHopper: boolean, hasModifer: boolean, modifer: string) => JSX.Element = (\r\n\tisHopper: boolean,\r\n\thasModifer: boolean,\r\n\tmodifer: string) => {\r\n\tif (!(isHopper || hasModifer)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn
    \r\n\t\t{renderHopper(isHopper)} {renderModifer(hasModifer, modifer)}\r\n\t
    ;\r\n\r\n}\r\n\r\nconst renderHopper: (isHopper: boolean) => JSX.Element = (isHopper: boolean) => isHopper ? Hopper : null;\r\n\r\nconst renderModifer: (hasModifer: boolean, modifer: string) => JSX.Element =\r\n\t(hasModifer: boolean, modifer: string) => {\r\n\t\tif (!hasModifer) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn to {modifer};\r\n\t}\r\n\r\nconst renderType: (isRealtime: boolean, clockTime: string) => JSX.Element = (isRealtime: boolean, clockTime: string) => {\r\n\tlet text: string;\r\n\tlet tooltip: string;\r\n\tif (isRealtime) {\r\n\t\ttext = 'Estimated';\r\n\t\ttooltip = `This trip is estimated to depart at ${clockTime}.`;\r\n\t} else {\r\n\t\ttext = 'Scheduled';\r\n\t\ttooltip = `There is currently no real-time information available for this trip. It is scheduled to depart at ${clockTime}.`;\r\n\t}\r\n\treturn \r\n\t\t\r\n\t\t\t{text}\r\n\t\t\r\n\t;\r\n};\r\n\r\nconst Departure: SFC = (props: Props) => {\r\n\tconst classes: string[] = [\r\n\t\t'departure'\r\n\t];\r\n\r\n\tif (props.isHopper) {\r\n\t\tclasses.push('hopper');\r\n\t}\r\n\r\n\treturn \r\n\t\t
    \r\n\t\t\t{renderModifers(props.isHopper, props.hasModifier, props.modifier)}\r\n\t\t\t
    \r\n\t\t\t\t{props.display}\r\n\t\t\t
    \r\n\t\t\t{renderType(props.isRealtime, props.clockTime)}\r\n\t\t
    \r\n\t;\r\n};\r\n\r\nexport default Departure;\r\n","import * as React from 'react';\r\nimport { SFC } from 'react';\r\n\r\ninterface Props {\r\n\tcolspan: number;\r\n}\r\n\r\nconst EmptyDeparture: SFC = (props: Props) =>\r\n\t\r\n\t\tNo more departures in the next 60 minutes.\r\n\t;\r\n\r\nexport default EmptyDeparture;\r\n","import * as React from 'react';\r\nimport { SFC } from 'react';\r\n\r\ninterface Props {\r\n\tcssClass: string;\r\n\tmessage: string;\r\n\ticon: string;\r\n}\r\n\r\nconst ErrorState: SFC = (props: Props) =>

    \r\n\t{props.icon}\r\n\t{props.message}\r\n

    ;\r\n\r\nexport default ErrorState;\r\n","import * as React from 'react';\r\nimport { PureComponent } from 'react';\r\n\r\nimport { IRoutesServedByPayload } from '../../../api/types/ServedBy';\r\nimport { ServedByApi } from '../../../api/ServedByApi';\r\n\r\nimport RoutesTable from './RoutesTable';\r\n\r\ninterface Props {\r\n\tstopId: string;\r\n}\r\n\r\nconst initialState: { routes: IRoutesServedByPayload[] } = { routes: [] };\r\ntype State = Readonly;\r\n\r\nexport class RoutesServedByApp extends PureComponent {\r\n\r\n\tconstructor(props: Props, context: any) {\r\n\t\tsuper(props, context);\r\n\t\tthis.state = { ...initialState };\r\n\t}\r\n\r\n\tpublic async componentDidMount(): Promise {\r\n\t\tconst routes: IRoutesServedByPayload[] = await ServedByApi.getRoutesServedByForStop(this.props.stopId);\r\n\t\tthis.setState({...this.state, routes });\r\n\t}\r\n\r\n\tpublic render(): JSX.Element {\r\n\t\tif (!this.state.routes || this.state.routes.length === 0) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn
    \r\n\t\t\t

    Routes that serve this stop

    \r\n\t\t\t\r\n\t\t
    ;\r\n\t}\r\n}\r\n","import * as React from 'react';\r\nimport { SFC } from 'react';\r\n\r\nimport { IRoutesServedByPayload } from '../../../api/types/ServedBy';\r\n\r\nimport RouteGroup from './RouteGroup';\r\n\r\ninterface Props {\r\n\troutes: IRoutesServedByPayload[];\r\n}\r\n\r\nconst RoutesTable: SFC = (props: Props) => {\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\r\n\t\t\r\n\t\t{props.routes.map((routeGroup: IRoutesServedByPayload) => )}\r\n\t
    GroupRouteAttractions
    ;\r\n};\r\n\r\nexport default RoutesTable;\r\n","import * as React from 'react';\r\nimport { SFC, Fragment } from 'react';\r\n\r\nimport { IRoutesServedByPayload, RouteServedBy } from '../../../api/types/ServedBy';\r\n\r\ninterface Props {\r\n\trouteGroup: IRoutesServedByPayload;\r\n}\r\n\r\nconst getKey: (rsb: RouteServedBy) => string = (rsb: RouteServedBy) =>\r\n\t`rsb-${rsb.id}`;\r\n\r\nconst RouteGroup: SFC = (props: Props) => {\r\n\r\n\tconst renderRoute: (route: RouteServedBy, color: string, backgroundColor: string) => JSX.Element = (route: RouteServedBy, color: string, backgroundColor: string) => {\r\n\t\treturn \r\n\t\t\t\r\n\t\t\t\t {\r\n\t\t\t\t\tif (ele) {\r\n\t\t\t\t\t\tele.style.setProperty('color', color, 'important');\r\n\t\t\t\t\t\tele.style.setProperty('background-color', backgroundColor, 'important');\r\n\t\t\t\t\t}\r\n\t\t\t\t}}>{route.number}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{route.friendlyDaypart}\r\n\t\t\t\r\n\t\t\t{route.landmarks}\r\n\t\t;\r\n\t};\r\n\r\n\tconst color: string = `#${props.routeGroup.color}`;\r\n\tconst textColor: string = `#${props.routeGroup.textColor}`;\r\n\r\n\tconst elements: JSX.Element[] = [];\r\n\r\n\tconst key: string = getKey(props.routeGroup.routes[0]);\r\n\telements.push(\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{props.routeGroup.name}\r\n\t\t\t\t{'\\u00A0'} { /* \\u00A0 === Non breaking space */}\r\n\t\t\t\r\n\t\t\t{props.routeGroup.direction}\r\n\t\t\r\n\t\t{renderRoute(props.routeGroup.routes[0], textColor, color)}\r\n\t);\r\n\r\n\tfor (let i: number = 1; i < props.routeGroup.routes.length; i++) {\r\n\t\tconst rg: RouteServedBy = props.routeGroup.routes[i];\r\n\t\telements.push({renderRoute(rg, textColor, color)});\r\n\t}\r\n\r\n\treturn {elements};\r\n};\r\n\r\nexport default RouteGroup;\r\n","import React, { SFC, MouseEvent, useRef, useEffect, KeyboardEvent } from 'react';\r\n\r\nconst BUTTON_TEXT: string = 'I\\'m Here!';\r\n\r\ninterface Props {\r\n\tclickFunction: (event: MouseEvent) => void;\r\n}\r\n\r\nconst Timeout: SFC = (props: Props) => {\r\n\tconst activeRef = useRef(null);\r\n\tconst buttonRef = useRef(null);\r\n\t// capture current focus and return it on destruction\r\n\tuseEffect(() => {\r\n\t\tif (!activeRef.current) {\r\n\t\t\tactiveRef.current = document.activeElement;\r\n\t\t}\r\n\t\treturn () => {\r\n\t\t\tif (activeRef.current && activeRef.current instanceof HTMLElement) {\r\n\t\t\t\tactiveRef.current.focus();\r\n\t\t\t}\r\n\t\t}\r\n\t}, [activeRef]);\r\n\r\n\t// focus on open\r\n\tuseEffect(() => {\r\n\t\tif (buttonRef.current) {\r\n\t\t\tbuttonRef.current.focus();\r\n\t\t}\r\n\t}, [buttonRef]);\r\n\r\n\r\n\tfunction onTab(event: KeyboardEvent) {\r\n\t\tconsole.log('event', event);\r\n\t\tif (event.key === 'Tab') {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tevent.stopPropagation();\r\n\t\t\tif (buttonRef.current) {\r\n\t\t\t\tbuttonRef.current.focus();\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\tAre you still there?\r\n\t\t\t\t{' '}\r\n\t\t\t\t\r\n\t\t\t\t\tClick {BUTTON_TEXT} to keep getting updates.\r\n\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\t{BUTTON_TEXT}\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\nexport default Timeout;\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","/// \r\n\r\nimport * as React from 'react';\r\nimport { PureComponent } from 'react';\r\n\r\nimport { debounce } from '../helpers/Debounce';\r\n\r\ninterface Props {\r\n\toptions: google.maps.MapOptions;\r\n\tmarkers?: google.maps.MarkerOptions[];\r\n\tpolygons?: google.maps.PolygonOptions[];\r\n\tpolylines?: google.maps.PolylineOptions[];\r\n\tkml?: google.maps.KmlLayerOptions[];\r\n\tfitBounds?: boolean;\r\n\tmapUpdate?: (map: google.maps.Map, markers: google.maps.Marker[]) => void;\r\n\tresponsive?: boolean;\r\n}\r\n\r\nexport class GoogleMap extends PureComponent {\r\n\r\n\tprivate map: google.maps.Map;\r\n\tprivate resizeListener: google.maps.MapsEventListener;\r\n\tprivate element: HTMLDivElement;\r\n\r\n\tconstructor(props: Props, context: any) {\r\n\t\tsuper(props, context);\r\n\t}\r\n\r\n\tpublic render() {\r\n\t\treturn (
    \r\n\t\t\t
    this.element = element}>\r\n\t\t\t
    \r\n\t\t
    );\r\n\t}\r\n\r\n\tpublic componentDidMount() {\r\n\t\tif (typeof google === 'undefined' || typeof google.maps === 'undefined') {\r\n\t\t\tconsole.error(\"Google Maps API is not loaded\");\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (this.element && this.props.options) {\r\n\t\t\tthis.map = new google.maps.Map(this.element, this.props.options);\r\n\t\t} else {\r\n\t\t\tconsole.error(\"Element or map options are not available\", { element: this.element, options: this.props.options });\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst markers: google.maps.Marker[] = [];\r\n\t\tif (this.props.markers != null) {\r\n\t\t\tfor (let marker of this.props.markers) {\r\n\t\t\t\tmarkers.push(new google.maps.Marker({ ...marker, map: this.map }));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst polygons: google.maps.Polygon[] = [];\r\n\t\tif (this.props.polygons != null) {\r\n\t\t\tfor (let polygon of this.props.polygons) {\r\n\t\t\t\tpolygons.push(new google.maps.Polygon({ ...polygon, map: this.map }));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst polylines: google.maps.Polyline[] = [];\r\n\t\tif (this.props.polylines != null) {\r\n\t\t\tfor (let polyline of this.props.polylines) {\r\n\t\t\t\tpolylines.push(new google.maps.Polyline({ ...polyline, map: this.map }));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst kmls: google.maps.KmlLayer[] = [];\r\n\t\tif (this.props.kml != null) {\r\n\t\t\tfor (let kml of this.props.kml) {\r\n\t\t\t\tkmls.push(new google.maps.KmlLayer({ ...kml, map: this.map }));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// make sure all markers fit on map\r\n\t\tif (this.props.fitBounds) {\r\n\r\n\t\t\t// where we will fit the map\r\n\t\t\tconst bounds: google.maps.LatLngBounds = new google.maps.LatLngBounds();\r\n\r\n\t\t\tif (markers && markers.length > 0) {\r\n\t\t\t\tfor (let i: number = 0; i < markers.length; i++) {\r\n\t\t\t\t\tbounds.extend(markers[i].getPosition());\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (polygons && polygons.length > 0) {\r\n\t\t\t\tfor (let i: number = 0; i < polygons.length; i++) {\r\n\t\t\t\t\tconst paths: google.maps.MVCArray> = polygons[i].getPaths();\r\n\t\t\t\t\tfor (let j: number = 0; j < paths.getLength(); j++) {\r\n\t\t\t\t\t\tconst path: google.maps.MVCArray = paths.getAt(j);\r\n\t\t\t\t\t\tfor (let k: number = 0; k < path.getLength(); k++) {\r\n\t\t\t\t\t\t\tbounds.extend(path.getAt(k));\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\tif (polylines && polylines.length > 0) {\r\n\t\t\t\tfor (let i: number = 0; i < polylines.length; i++) {\r\n\t\t\t\t\tconst path: google.maps.MVCArray = polylines[i].getPath();\r\n\t\t\t\t\tfor (let k: number = 0; k < path.getLength(); k++) {\r\n\t\t\t\t\t\tbounds.extend(path.getAt(k));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.map.fitBounds(bounds);\r\n\t\t}\r\n\r\n\t\t// default to true\r\n\t\tif (this.props.responsive == null || this.props.responsive) {\r\n\t\t\tconst debounceResizeMap: () => void =\r\n\t\t\t\tdebounce(this.resizeMap, 100);\r\n\t\t\tthis.resizeListener =\r\n\t\t\t\tgoogle.maps.event\r\n\t\t\t\t\t.addDomListener(window, 'resize', debounceResizeMap);\r\n\t\t}\r\n\r\n\t\tif (this.props.mapUpdate != null) {\r\n\t\t\tthis.props.mapUpdate(this.map, markers);\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tpublic componentWillUnmount(): void {\r\n\t\tif (this.resizeListener) {\r\n\t\t\tgoogle.maps.event.removeListener(this.resizeListener);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate resizeMap: () => void = () => {\r\n\t\tconst center: google.maps.LatLng = this.map.getCenter();\r\n\t\tgoogle.maps.event.trigger(this.map, 'resize');\r\n\t\tthis.map.setCenter(center);\r\n\t};\r\n\r\n}\r\n\r\n","import * as React from 'react';\r\nimport { SFC } from 'react';\r\n\r\ninterface Props {\r\n\tuseId: string;\r\n}\r\n\r\nconst cleanId: (id: string) => string = (id: string) => {\r\n\tif (id.charAt(0) === '#') {\r\n\t\treturn id;\r\n\t}\r\n\treturn `#${id}`;\r\n}\r\n\r\nconst getHtml: (id: string) => string = (id: string) => ``;\r\n\r\nconst SvgUse: SFC = (props: Props) => ;\r\n\r\nexport default SvgUse;\r\n","import { GenericApi } from './GenericApi';\r\nimport { Result, VerifyResult, SetPhoneResult } from './types/Account';\r\nimport {IFavoriteStop} from './types/Account';\r\n\r\nexport module AccountApi {\r\n\tconst BASE_ACCOUNT_URL: string = '/umbraco/api/account';\r\n\r\n\texport async function subscribe(id: string): Promise {\r\n\t\treturn await GenericApi.getRequest(`${BASE_ACCOUNT_URL}/subscribe?id=${id}`);\r\n\t}\r\n\r\n\texport async function unsubscribe(id: string): Promise {\r\n\t\treturn await GenericApi.getRequest(`${BASE_ACCOUNT_URL}/unsubscribe?id=${id}`);\r\n\t}\r\n\r\n\texport async function toggleEmailAlerts(value: boolean): Promise {\r\n\t\treturn await GenericApi.getRequest(`${BASE_ACCOUNT_URL}/toggleemailalerts?value=${value}`);\r\n\t}\r\n\r\n export async function toggleSecondaryEmailAlerts(value: boolean): Promise {\r\n\t return await GenericApi.getRequest(`${BASE_ACCOUNT_URL}/togglesecondaryemailalerts?value=${value}`);\r\n }\r\n\r\n\texport async function toggleSmsAlerts(value: boolean): Promise {\r\n\t\treturn await GenericApi.getRequest(`${BASE_ACCOUNT_URL}/togglesmsalerts?value=${value}`);\r\n\t}\r\n\r\n\texport async function setPhone(phone: string): Promise {\r\n\t\treturn await GenericApi.getRequest(`${BASE_ACCOUNT_URL}/updatephonenumber?number=${phone}`);\r\n\t}\r\n\r\n\texport async function generateSmsConfirmationCode(): Promise {\r\n\t\treturn await GenericApi.getRequest(`${BASE_ACCOUNT_URL}/generatesmsconfirmationcode`);\r\n\t}\r\n\r\n\texport async function verifyPhone(code: string): Promise {\r\n\t\treturn await GenericApi.getRequest(`${BASE_ACCOUNT_URL}/validatesmscode?code=${code}`);\r\n }\r\n\r\n export async function generateEmailConfirmationCode(): Promise {\r\n return await GenericApi.getRequest(`${BASE_ACCOUNT_URL}/generateemailconfirmationcode`);\r\n }\r\n\r\n export async function verifySecondaryEmail(code: string): Promise \r\n\t{\r\n return await GenericApi.getRequest(`${BASE_ACCOUNT_URL}/validateemailcode?code=${code}`);\r\n\t}\r\n\r\n export async function setSecondaryEmail(email: string): Promise {\r\n return await GenericApi.getRequest(`${BASE_ACCOUNT_URL}/updatesecondaryemail?email=${email}`);\r\n }\r\n\r\n\texport async function toggleFavorite(stopId: string, state: boolean): Promise {\r\n\t\tconst url: string = `${BASE_ACCOUNT_URL}/togglefavorite?stopId=${stopId}&state=${state}`;\r\n\t\treturn await GenericApi.getRequest(url);\r\n\t}\r\n\r\n\texport async function getFavorites(): Promise {\r\n\t\treturn await GenericApi.getRequest(`${BASE_ACCOUNT_URL}/getFavoriteStops/`);\r\n\t}\r\n\r\n}\r\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\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","\n// turn {x: {val: 1, stiffness: 1, damping: 2}, y: 2} generated by\n// `{x: spring(1, {stiffness: 1, damping: 2}), y: 2}` into {x: 1, y: 2}\n\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = stripStyle;\n\nfunction stripStyle(style) {\n var ret = {};\n for (var key in style) {\n if (!Object.prototype.hasOwnProperty.call(style, key)) {\n continue;\n }\n ret[key] = typeof style[key] === 'number' ? style[key] : style[key].val;\n }\n return ret;\n}\n\nmodule.exports = exports['default'];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\n\n// currently used to initiate the velocity style object to 0\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = mapToZero;\n\nfunction mapToZero(obj) {\n var ret = {};\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n ret[key] = 0;\n }\n }\n return ret;\n}\n\nmodule.exports = exports['default'];","\n\n// stepper is used a lot. Saves allocation to return the same array wrapper.\n// This is fine and danger-free against mutations because the callsite\n// immediately destructures it and gets the numbers inside without passing the\n\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = stepper;\n\nvar reusedTuple = [0, 0];\n\nfunction stepper(secondPerFrame, x, v, destX, k, b, precision) {\n // Spring stiffness, in kg / s^2\n\n // for animations, destX is really spring length (spring at rest). initial\n // position is considered as the stretched/compressed position of a spring\n var Fspring = -k * (x - destX);\n\n // Damping, in kg / s\n var Fdamper = -b * v;\n\n // usually we put mass here, but for animation purposes, specifying mass is a\n // bit redundant. you could simply adjust k and b accordingly\n // let a = (Fspring + Fdamper) / mass;\n var a = Fspring + Fdamper;\n\n var newV = v + a * secondPerFrame;\n var newX = x + newV * secondPerFrame;\n\n if (Math.abs(newV) < precision && Math.abs(newX - destX) < precision) {\n reusedTuple[0] = destX;\n reusedTuple[1] = 0;\n return reusedTuple;\n }\n\n reusedTuple[0] = newX;\n reusedTuple[1] = newV;\n return reusedTuple;\n}\n\nmodule.exports = exports[\"default\"];\n// array reference around.","// Generated by CoffeeScript 1.7.1\n(function() {\n var getNanoSeconds, hrtime, loadTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - loadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n loadTime = getNanoSeconds();\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","\n\n// usage assumption: currentStyle values have already been rendered but it says\n// nothing of whether currentStyle is stale (see unreadPropStyle)\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = shouldStopAnimation;\n\nfunction shouldStopAnimation(currentStyle, style, currentVelocity) {\n for (var key in style) {\n if (!Object.prototype.hasOwnProperty.call(style, key)) {\n continue;\n }\n\n if (currentVelocity[key] !== 0) {\n return false;\n }\n\n var styleValue = typeof style[key] === 'number' ? style[key] : style[key].val;\n // stepper will have already taken care of rounding precision errors, so\n // won't have such thing as 0.9999 !=== 1\n if (currentStyle[key] !== styleValue) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports['default'];","import { GenericApi } from './GenericApi';\r\nimport { IRoutesServedByPayload } from './types/ServedBy';\r\n\r\nexport module ServedByApi {\r\n\r\n\tconst BASE_SERVED_BY_URL: string = '/umbraco/api/servedby/stop/';\r\n\r\n\texport async function getRoutesServedByForStop(stopId: string): Promise {\r\n\t\tconst url: string = `${BASE_SERVED_BY_URL}?stopId=${stopId}`;\r\n\t\tconst result: IRoutesServedByPayload[] = await GenericApi.getRequest(url);\r\n\t\treturn result;\r\n\t}\r\n}\r\n","/**\r\n * Enforce that a function not be called until a certain amount of time has passed without it being called.\r\n */\r\nexport function debounce(cb: T, wait = 20) {\r\n\tlet h = 0;\r\n\tlet callable = (...args: any) => {\r\n\t\tclearTimeout(h);\r\n\t\th = window.setTimeout(() => cb(...args), wait);\r\n\t};\r\n\treturn (callable);\r\n}\r\n"],"sourceRoot":""}