{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./App/global/actions/filter-actions.ts","webpack:///./App/global/actions/results-count.ts","webpack:///./App/global/components/errors/popup-warning.tsx","webpack:///./App/global/components/inputs/filters/dropdown-facet.tsx","webpack:///./App/global/components/inputs/sort/sort.tsx","webpack:///./App/global/components/results/results-count-msg.tsx","webpack:///./App/global/constants/constants.ts","webpack:///./App/global/functions/query-string.ts","webpack:///./App/global/functions/validation.ts","webpack:///./App/global/functions/with-router-wrapper.tsx","webpack:///./App/global/models/search-context.ts","webpack:///./App/global/state-helpers/filters.ts","webpack:///./App/search-page/actions/autocomplete-results.ts","webpack:///./App/search-page/actions/filters.ts","webpack:///./App/search-page/actions/index.ts","webpack:///./App/search-page/actions/props.ts","webpack:///./App/search-page/actions/results.ts","webpack:///./App/search-page/actions/track-click.ts","webpack:///./App/search-page/components/facets/facet-section.tsx","webpack:///./App/search-page/components/facets/facet-term.tsx","webpack:///./App/search-page/components/facets/facets.tsx","webpack:///./App/search-page/components/facets/multiselect-dropdown-facet-section.tsx","webpack:///./App/search-page/components/facets/multiselect-dropdown-facet-term.tsx","webpack:///./App/search-page/components/facets/toggle-facet-term.tsx","webpack:///./App/search-page/components/pagination/page-button.tsx","webpack:///./App/search-page/components/pagination/pagination.tsx","webpack:///./App/search-page/components/pagination/paging-arrows.tsx","webpack:///./App/search-page/components/pagination/paging-select.tsx","webpack:///./App/search-page/components/pagination/paging.tsx","webpack:///./App/search-page/components/search-bar/advanced-search-menu.tsx","webpack:///./App/search-page/components/search-bar/autocomplete-result.tsx","webpack:///./App/search-page/components/search-bar/autocomplete.tsx","webpack:///./App/search-page/components/search-bar/contexts.tsx","webpack:///./App/search-page/components/search-bar/search-bar.tsx","webpack:///./App/search-page/components/search-bar/sorts.tsx","webpack:///./App/search-page/components/search-bar/suggestion.tsx","webpack:///./App/search-page/components/search-page-app.tsx","webpack:///./App/search-page/components/search-results/domain-logo.tsx","webpack:///./App/search-page/components/search-results/empty.tsx","webpack:///./App/search-page/components/search-results/error.tsx","webpack:///./App/search-page/components/search-results/lock.tsx","webpack:///./App/search-page/components/search-results/media-icon.tsx","webpack:///./App/search-page/components/search-results/no-autocomplete-results.tsx","webpack:///./App/search-page/components/search-results/no-results.tsx","webpack:///./App/search-page/components/search-results/search-result-best-bet.tsx","webpack:///./App/search-page/components/search-results/search-result-general.tsx","webpack:///./App/search-page/components/search-results/search-result-member.tsx","webpack:///./App/search-page/components/search-results/search-result-shop.tsx","webpack:///./App/search-page/components/search-results/search-result.tsx","webpack:///./App/search-page/components/search-results/shared/results-helpers.ts","webpack:///./App/search-page/components/search-results/shared/search-result-labels.tsx","webpack:///./App/search-page/index.tsx","webpack:///./App/search-page/reducers/autocomplete-results-model.ts","webpack:///./App/search-page/reducers/browser-navigated.ts","webpack:///./App/search-page/reducers/contexts-model.ts","webpack:///./App/search-page/reducers/epi-props-model.ts","webpack:///./App/search-page/reducers/facets-model.ts","webpack:///./App/search-page/reducers/index.ts","webpack:///./App/search-page/reducers/page-model.ts","webpack:///./App/search-page/reducers/results-model.ts","webpack:///./App/search-page/reducers/search-term-model.ts","webpack:///./App/search-page/reducers/selected-search-context.ts","webpack:///./App/search-page/reducers/sorts-model.ts","webpack:///./App/search-page/reducers/ui.ts","webpack:///./App/search-page/state-helpers/facets.ts","webpack:///./App/search-page/state-helpers/history.ts","webpack:///./App/search-page/state-helpers/page.ts","webpack:///./App/search-page/state-helpers/search-results.ts","webpack:///./App/search-page/state-helpers/sorts.ts","webpack:///./Static/javascript/modules/shop-google-analytics.ts","webpack:///./node_modules/history/esm/history.js","webpack:///./node_modules/isomorphic-fetch/fetch-npm-browserify.js","webpack:///./node_modules/path-to-regexp/index.js","webpack:///./node_modules/path-to-regexp/node_modules/isarray/index.js","webpack:///../modules/BrowserRouter.js","webpack:///../modules/HashRouter.js","webpack:///../modules/utils/locationUtils.js","webpack:///../modules/Link.js","webpack:///../modules/NavLink.js","webpack:///../modules/createNamedContext.js","webpack:///../modules/HistoryContext.js","webpack:///../modules/RouterContext.js","webpack:///../modules/Router.js","webpack:///../modules/MemoryRouter.js","webpack:///../modules/Lifecycle.js","webpack:///../modules/Prompt.js","webpack:///../modules/generatePath.js","webpack:///../modules/Redirect.js","webpack:///../modules/matchPath.js","webpack:///../modules/Route.js","webpack:///../modules/StaticRouter.js","webpack:///../modules/Switch.js","webpack:///../modules/withRouter.js","webpack:///../modules/hooks.js","webpack:///../modules/index.js","webpack:///./node_modules/react-router-dom/node_modules/react-router/node_modules/mini-create-react-context/dist/esm/index.js","webpack:///./node_modules/redux-thunk/lib/index.js","webpack:///./node_modules/resolve-pathname/esm/resolve-pathname.js","webpack:///./node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///./node_modules/tiny-warning/dist/tiny-warning.esm.js","webpack:///./node_modules/value-equal/esm/value-equal.js","webpack:///./node_modules/whatwg-fetch/fetch.js"],"names":["addLeadingSlash","path","charAt","stripLeadingSlash","substr","hasBasename","prefix","toLowerCase","indexOf","length","stripBasename","stripTrailingSlash","slice","parsePath","pathname","search","hash","hashIndex","searchIndex","createPath","location","createLocation","state","key","currentLocation","_extends","undefined","decodeURI","e","URIError","resolvePathname","locationsAreEqual","a","b","valueEqual","createTransitionManager","prompt","setPrompt","nextPrompt","process","warning","confirmTransitionTo","action","getUserConfirmation","callback","result","listeners","appendListener","fn","isActive","listener","apply","arguments","push","filter","item","notifyListeners","_len","args","Array","_key","forEach","canUseDOM","window","document","createElement","getConfirmation","message","confirm","supportsHistory","ua","navigator","userAgent","history","supportsPopStateOnHashChange","supportsGoWithoutReloadUsingHash","isExtraneousPopstateEvent","event","PopStateEvent","HashChangeEvent","getHistoryState","createBrowserHistory","props","invariant","globalHistory","canUseHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_ref","_window$location","createKey","Math","random","toString","transitionManager","setState","nextState","handlePopState","handlePop","handleHashChange","forceNextPop","ok","revertPop","fromLocation","toLocation","toIndex","allKeys","fromIndex","delta","go","initialLocation","createHref","href","pushState","prevIndex","nextKeys","replace","replaceState","n","goBack","goForward","listenerCount","checkDOMListeners","addEventListener","removeEventListener","isBlocked","block","unblock","listen","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","url","getHashPath","substring","pushHashPath","replaceHashPath","createHashHistory","canGoWithoutReload","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","locationsAreEqual$$1","encodedPath","prevLocation","allPaths","lastIndexOf","baseTag","querySelector","getAttribute","hashChanged","nextPaths","clamp","lowerBound","upperBound","min","max","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entries","index","map","entry","nextIndex","nextEntries","splice","canGo","require","module","exports","self","fetch","bind","isarray","pathToRegexp","parse","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","RegExp","join","str","options","tokens","defaultDelimiter","delimiter","res","exec","m","escaped","offset","next","name","capture","group","modifier","asterisk","partial","repeat","optional","pattern","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","c","charCodeAt","toUpperCase","encodeAsterisk","matches","i","flags","obj","opts","data","encode","pretty","encodeURIComponent","token","value","segment","TypeError","JSON","stringify","j","test","attachKeys","re","keys","sensitive","regexpToRegexp","groups","source","match","arrayToRegexp","parts","regexp","stringToRegexp","strict","end","route","endsWithDelimiter","isArray","arr","Object","prototype","call","BrowserRouter","createHistory","_this","render","React","Router","children","Component","propTypes","PropTypes","string","node","bool","func","number","componentDidMount","HashRouter","oneOf","resolveToLocation","to","normalizeToLocation","forwardRefShim","C","forwardRef","isModifiedEvent","metaKey","altKey","ctrlKey","shiftKey","LinkAnchor","forwardedRef","innerRef","navigate","onClick","rest","target","ex","preventDefault","defaultPrevented","button","ref","displayName","Link","component","RouterContext","Consumer","context","isDuplicateNavigation","method","toType","oneOfType","object","refType","shape","current","any","isRequired","joinClassnames","classnames","NavLink","ariaCurrent","activeClassName","activeStyle","classNameProp","className","exact","isActiveProp","locationProp","styleProp","style","escapedPath","matchPath","ariaCurrentType","createNamedContext","createContext","historyContext","computeRootMatch","params","isExact","_isMounted","_pendingLocation","staticContext","_this2","componentWillUnmount","Provider","HistoryContext","componentDidUpdate","prevProps","MemoryRouter","array","Lifecycle","onMount","onUpdate","onUnmount","Prompt","when","release","messageType","cache","cacheLimit","cacheCount","compilePath","generator","generatePath","Redirect","computedMatch","from","cacheKey","pathCache","paths","concat","reduce","matched","values","memo","isEmptyChildren","Children","count","evalChildrenDev","Route","propName","isValidElementType","Error","arrayOf","addBasename","base","createURL","staticHandler","methodName","noop","StaticRouter","handlePush","navigateTo","handleReplace","handleListen","handleBlock","Switch","element","isValidElement","child","cloneElement","withRouter","wrappedComponentRef","remainingProps","WrappedComponent","hoistStatics","useContext","useHistory","useLocation","useParams","useRouteMatch","global","buildNames","cjs","esm","umd","initialBuildName","secondaryBuildName","MAX_SIGNED_31_BIT_INT","commonjsGlobal","globalThis","getUniqueId","objectIs","x","y","createEventEmitter","handlers","on","handler","off","h","get","set","newValue","changedBits","onlyChild","createReactContext","defaultValue","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","_Component","_inheritsLoose","emitter","_proto","getChildContext","componentWillReceiveProps","nextProps","oldValue","childContextTypes","_Component2","getValue","observedBits","_proto2","contextTypes","__esModule","createThunkMiddleware","extraArgument","dispatch","getState","thunk","withExtraArgument","isAbsolute","spliceOne","list","k","pop","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","hasTrailingSlash","last","up","part","unshift","isProduction","condition","provided","text","console","warn","valueOf","every","aValue","bValue","assign","support","searchParams","iterable","Symbol","blob","Blob","formData","arrayBuffer","isDataView","DataView","isPrototypeOf","viewClasses","isArrayBufferView","ArrayBuffer","isView","normalizeName","String","normalizeValue","iteratorFor","items","iterator","shift","done","Headers","headers","append","header","getOwnPropertyNames","has","hasOwnProperty","thisArg","consumed","body","bodyUsed","Promise","reject","fileReaderReady","reader","resolve","onload","onerror","error","readBlobAsArrayBuffer","FileReader","promise","readAsArrayBuffer","readBlobAsText","readAsText","readArrayBufferAsText","buf","view","Uint8Array","chars","fromCharCode","bufferClone","byteLength","buffer","Body","_initBody","_bodyInit","_bodyText","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","type","rejected","isConsumed","byteOffset","then","decode","json","methods","normalizeMethod","upcased","Request","input","credentials","mode","signal","referrer","reParamSearch","Date","getTime","reQueryString","clone","form","trim","bytes","decodeURIComponent","parseHeaders","rawHeaders","preProcessedHeaders","line","Response","bodyInit","status","statusText","response","redirectStatuses","redirect","RangeError","DOMException","err","stack","create","constructor","init","request","aborted","xhr","XMLHttpRequest","abortXhr","abort","getAllResponseHeaders","responseURL","responseText","setTimeout","ontimeout","onabort","fixUrl","open","withCredentials","responseType","setRequestHeader","onreadystatechange","readyState","send","polyfill"],"mappings":"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","file":"search-page-bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"search-page\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([8,\"common\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import * as _ from 'lodash';\r\nimport { IDateFilter, IFilter, Filter, IFilterTextMap, IFilterOption } from '../state-helpers/filters';\r\nimport { IOrderHistoryState } from '../../order-history/reducers/index';\r\nimport { IOrderHistoryResultItem } from '../../order-history/state-helpers/order-history-results';\r\nimport { IFacetResult } from '../../search-page/state-helpers/facets';\r\nimport { pushInUrlQuery, multiPushInUrlQuery } from 'react-url-query';\r\n\r\nexport function updateFilters(filters: IFilter[], newFilter: IFilter) {\r\n return filters.map((filter) =>\r\n filter.id === newFilter.id\r\n ? newFilter\r\n : filter\r\n );\r\n}\r\n\r\nexport function updateRadioSelection(filter: IFilter, selection: string): IFilter {\r\n let newFilter = _.cloneDeep(filter);\r\n newFilter.options = filter.options.map((option) => Object.freeze(\r\n {\r\n id: option.id,\r\n display: option.display,\r\n rule: option.rule,\r\n selected: option.id === selection,\r\n count: option.count,\r\n }\r\n ));\r\n\r\n return newFilter;\r\n}\r\n\r\n// Update filters model in state based on URL\r\nexport function updateUrlFilters(urlFilterList: string[], filters: IFilter[]): IFilter[] {\r\n let newFilters = _.clone(filters);\r\n\r\n for (var filterIndex = 0; filterIndex < filters.length; filterIndex++) {\r\n var filter = newFilters[filterIndex];\r\n for (var optionIndex = 0; optionIndex < filter.options.length; optionIndex++) {\r\n var option = filter.options[optionIndex];\r\n if (urlFilterList.indexOf(option.id) !== -1) {\r\n option.selected = true;\r\n }\r\n else {\r\n option.selected = false;\r\n }\r\n }\r\n\r\n }\r\n\r\n return newFilters;\r\n}\r\n\r\nexport function readFacetsFromUrl(urlFilterList: string[], filters: IFacetResult[]): IFacetResult[] {\r\n let newFilters = _.clone(filters);\r\n\r\n for (var currentFacet = 0; currentFacet < filters.length; currentFacet++) {\r\n var facet = newFilters[currentFacet];\r\n for (var currentOption = 0; currentOption < facet.terms.length; currentOption++) {\r\n var option = facet.terms[currentOption]\r\n if (urlFilterList.indexOf(option.displayTerm) != -1) {\r\n option.selected = true;\r\n }\r\n else {\r\n option.selected = false;\r\n }\r\n }\r\n\r\n }\r\n\r\n return newFilters;\r\n}\r\n\r\nexport function updateUrlDateFilters(urlFilterList: string[], filters: IDateFilter[]): IDateFilter[] {\r\n let newFilters = _.clone(filters);\r\n\r\n for (var filterIndex = 0; filterIndex < filters.length; filterIndex++) {\r\n var filter = newFilters[filterIndex];\r\n\r\n if (urlFilterList.indexOf(filter.id) != -1) {\r\n filter.selected = true;\r\n } else {\r\n filter.selected = false;\r\n }\r\n }\r\n\r\n return newFilters;\r\n}\r\n\r\nexport function setUrlFilters(filters: IFilter[]) {\r\n var filterList = filters;\r\n var selectedFilters: string[] = [];\r\n\r\n for (var currentFacet = 0; currentFacet < filters.length; currentFacet++) {\r\n var facet = filterList[currentFacet];\r\n for (var currentOption = 0; currentOption < facet.options.length; currentOption++) {\r\n var option = facet.options[currentOption]\r\n if (option.selected === true) {\r\n selectedFilters.push(option.id);\r\n }\r\n }\r\n }\r\n\r\n var urlFilters = JSON.stringify(selectedFilters);\r\n multiPushInUrlQuery({ filters: urlFilters });\r\n}\r\n\r\nexport function setUrlFacets(filters: IFacetResult[]) {\r\n var filterList = filters;\r\n var selectedFilters: string[] = [];\r\n var shortenedFacets = filters.filter(facetResult => facetResult.terms.some(term => term.selected))\r\n .map(facetResult => (\r\n {\r\n fieldName: facetResult.fieldName,\r\n name: facetResult.name,\r\n terms: facetResult.terms.filter(term => term.selected).map(term => ({ term: term.term }))\r\n }));\r\n\r\n var urlFacets = JSON.stringify(shortenedFacets);\r\n multiPushInUrlQuery({ facets: urlFacets });\r\n}\r\n\r\nexport function setUrlPage(pageNumber: number) {\r\n pushInUrlQuery('page', pageNumber);\r\n}\r\n\r\nexport function setUrlDateFilters(dateFilters: IDateFilter[]) {\r\n var dateFacet = dateFilters;\r\n var selectedFilters: string[] = [];\r\n\r\n for (var currentFacet = 0; currentFacet < dateFacet.length; currentFacet++) {\r\n var facet = dateFilters[currentFacet];\r\n if (facet.selected === true) {\r\n selectedFilters.push(facet.id);\r\n }\r\n\r\n }\r\n var urlFilters = JSON.stringify(selectedFilters);\r\n multiPushInUrlQuery({ dateFilters: urlFilters });\r\n}\r\n\r\nexport function updateCheckboxSelection(filter: IFilter, selection: string): IFilter {\r\n let newFilter = _.cloneDeep(filter);\r\n newFilter.options = filter.options.map((option) => Object.freeze(\r\n {\r\n id: option.id,\r\n display: option.display,\r\n rule: option.rule,\r\n selected: option.id === selection ? !option.selected : option.selected,\r\n count: option.count\r\n }\r\n ));\r\n\r\n return newFilter;\r\n}\r\n\r\n/**\r\n * Serializes the current state of the filters/search text. Used to persist the filter state in the URL bar.\r\n */\r\nexport function serializeFilters(filters: { id: string, selectedOptionIds: string[] }[]): string {\r\n return filters.reduce((acc, f) => {\r\n const selectedOptions = encodeURIComponent(f.selectedOptionIds.join(','));\r\n\r\n if (selectedOptions.length > 0) {\r\n acc += `&${f.id}=${selectedOptions}`;\r\n }\r\n\r\n return acc;\r\n }, '').slice(1);\r\n}\r\n\r\nexport function updateDateSelection(dateFilters: IDateFilter[], value: string) {\r\n var updatedFilters: IDateFilter[] = dateFilters.map(dateFilter => {\r\n return {\r\n id: dateFilter.id,\r\n display: dateFilter.display,\r\n startDate: dateFilter.startDate,\r\n endDate: dateFilter.endDate,\r\n selected: value === dateFilter.id\r\n }\r\n });\r\n\r\n setUrlDateFilters(updatedFilters);\r\n return updatedFilters;\r\n}\r\n\r\n\r\n/// Text mapping for epi props on filters\r\nexport function getIdFromMappedValue(textMap: IFilterTextMap[], filter: IFilter, value: string) {\r\n if (textMap.length === 0) return value;\r\n\r\n for (var i = 0; i < textMap.length; i++) {\r\n if (textMap[i].options.some(option => option.display === value)) {\r\n let optionId = textMap[i].options.filter(option => option.display === value)[0].optionId;\r\n if (filter.options.some(option => option.id === optionId))\r\n return filter.options.filter(option => option.id === optionId)[0].id;\r\n }\r\n }\r\n\r\n return value;\r\n}\r\n\r\nexport function getMappedSelectedValue(textMap: IFilterTextMap[], filter: IFilter) {\r\n let currentSelectedFilters = filter.options.filter((item) => item.selected);\r\n return typeof (currentSelectedFilters) != 'undefined' && currentSelectedFilters != null && currentSelectedFilters.length > 0\r\n ? getMappedOptionDisplayText(textMap, filter, currentSelectedFilters[0])\r\n : '';\r\n}\r\n\r\nexport function getMappedSelectedValues(textMap: IFilterTextMap[], filter: IFilter) {\r\n let currentSelectedFilters = filter.options.filter((item) => item.selected);\r\n return (typeof (currentSelectedFilters) != 'undefined' && currentSelectedFilters != null && currentSelectedFilters.length > 0)\r\n ? currentSelectedFilters.map((item) => getMappedOptionDisplayText(textMap, filter, item))\r\n : [];\r\n}\r\n\r\nexport function getMappedFilterDisplayText(textMap: IFilterTextMap[], filter: IFilter) {\r\n if (textMap.length === 0) return filter.display;\r\n\r\n let displayText = textMap.filter(text => text.filterId === filter.id);\r\n\r\n return typeof (displayText) != 'undefined' && displayText != null && displayText.length > 0\r\n ? displayText[0].display\r\n : filter.display;\r\n}\r\n\r\nexport function getMappedOptionDisplayText(textMap: IFilterTextMap[], filter: IFilter, option: IFilterOption) {\r\n if (textMap.length === 0) return option.display;\r\n\r\n let mappedText = '';\r\n\r\n for (var i = 0; i < textMap.length; i++) {\r\n if (textMap[i].options.some(textOption => textOption.optionId === option.id)) {\r\n let mappedOption = textMap[i].options.filter(textOption => textOption.optionId === option.id)[0];\r\n\r\n mappedText = mappedOption.display;\r\n }\r\n }\r\n\r\n return mappedText && mappedText.length > 0 ? mappedText : option.display;\r\n}\r\n/////////////////\r\n\r\n// Filter out any filter that doesnt match any of the current results\r\nexport function getFilteredFilterResults(filters: IFilter[], results: T[]) {\r\n let filteredFilters: IFilter[] = [];\r\n filteredFilters = filters.map(filter => Object.freeze({\r\n display: filter.display,\r\n id: filter.id,\r\n rule: filter.rule,\r\n template: filter.template,\r\n options: filter.options.filter(option => results && results.some(activity => option.rule(activity)))\r\n }) as IFilter)\r\n .filter(filteredFilter => filteredFilter.options && filteredFilter.options.length > 0);\r\n return filteredFilters;\r\n}","import { ResultsCountMessage } from '../components/results/results-count-msg';\r\nimport { ResultsProps } from '../state-helpers/site-settings-props';\r\n\r\nexport function getResultsText(totalResults: number,\r\n pageResults: number,\r\n pageSize: number,\r\n currentPage: number,\r\n isLoading: boolean,\r\n resultsProps: ResultsProps)\r\n{\r\n let resultsText: string;\r\n\r\n if (isLoading) {\r\n resultsText = resultsProps.loadingResultsText;\r\n } else if (totalResults == 0 || (totalResults <= pageSize * (currentPage - 1))) {\r\n // Show Zero Results message if no results or out of range\r\n resultsText = resultsProps.zeroResultsText;\r\n } else {\r\n let rangeFirst = ((currentPage - 1) * pageSize) + 1;\r\n let rangeLast = totalResults < pageSize ? totalResults : rangeFirst + pageResults - 1;\r\n let rangeStr = (rangeFirst == rangeLast) ? rangeFirst.toString() : `${rangeFirst.toString()} - ${rangeLast.toString()}`;\r\n resultsText = resultsProps.amountOfResultsText.replace(\"##TOTAL##\", totalResults.toString()).replace(\"##PAGE##\", rangeStr);\r\n }\r\n return resultsText;\r\n}","import * as React from 'react';\r\nimport * as Redux from 'redux';\r\nimport { ErrorTypes, IPopupErrorModel } from '../../state-helpers/popup-error';\r\nimport { setPopupErrorText, setPopupErrorType } from '../../actions/index';\r\n\r\nexport interface IProps {\r\n warningHtml: string,\r\n dismissLabel: string,\r\n\r\n onDismiss: () => void\r\n}\r\n\r\n/// \r\n/// This is the popup for the api errors. Relies on the global fetch action to set errors correct errors in state. Must add popup model to current app state,\r\n/// add component to app, and set the epi props model to inherit from the global site settings props model\r\n/// \r\nexport class PopupWarning extends React.Component {\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

{this.props.dismissLabel}

\r\n
\r\n
\r\n );\r\n }\r\n}","import * as React from 'react';\r\nimport { IFilterableListFacet, IFilterableListFacetTerm } from '../../../../global/dtos/filterable-list-results-dto';\r\nimport { IFacetResult, FieldNames, ITerm } from '../../../../search-page/state-helpers/facets';\r\nimport { IDropdownOption, defaultDivider } from '../../../../global/state-helpers/filters';\r\nimport { DropdownSelect } from '../selects/dropdown-select';\r\n\r\ninterface IProps {\r\n facet: IFacetResult;\r\n facets: IFacetResult[];\r\n index: number;\r\n pinnedCountryNames?: string[];\r\n pinnedSubspecialties?: string[];\r\n onUpdateSearchFacet: (facets: IFacetResult[]) => void;\r\n removeSelectText?: boolean;\r\n}\r\n\r\ninterface IState {\r\n\r\n}\r\n\r\nexport class DropdownFacet extends React.Component {\r\n\r\n render() {\r\n const { onUpdateSearchFacet, facet, removeSelectText } = this.props;\r\n\r\n let items = facet.terms.map(t => Object.freeze({\r\n id: t.id.toString(),\r\n display: t.displayTerm,\r\n selected: t.selected,\r\n isDisabled: false\r\n })) as IDropdownOption[];\r\n\r\n // Add pinned items to the top of the dropdown\r\n let pinnedItems = this.getPinnedItems(items);\r\n\r\n // Add the empty placeholder\r\n let empty = {\r\n display: `${removeSelectText ? '' : 'Select'} ${facet.name}`,\r\n id: \"\",\r\n selected: facet.terms.some(x => x.selected)[0] ? facet.terms.filter(x => x.selected)[0] : false,\r\n isDisabled: false,\r\n } as IDropdownOption;\r\n pinnedItems.unshift(empty);\r\n\r\n let dropdownOptions = [].concat(pinnedItems, items);\r\n\r\n return onUpdateSearchFacet(this.mapDropdownFacets(id, facet))} />\r\n }\r\n\r\n getPinnedItems = (items: IDropdownOption[]) => {\r\n const { pinnedCountryNames, pinnedSubspecialties, facet } = this.props;\r\n\r\n var pinnedItems = [];\r\n var toPin = [];\r\n if (pinnedCountryNames && facet.fieldName.toLowerCase() === FieldNames.Countries) {\r\n toPin = pinnedCountryNames;\r\n }\r\n else if (pinnedSubspecialties && facet.fieldName.toLowerCase() === FieldNames.Subspecialties) {\r\n toPin = pinnedSubspecialties\r\n }\r\n\r\n if (toPin && toPin.length > 0) {\r\n [].forEach.call(toPin, (pin) => {\r\n var value = pin.toLowerCase();\r\n if (items.some(x => x.display.toLowerCase() === value)) {\r\n // Make sure we mark pinned items with isPinned: true\r\n pinnedItems.push({ ...items.filter(x => x.display.toLowerCase() === value)[0], isPinned: true });\r\n }\r\n });\r\n\r\n // Add the disabled divider\r\n if (pinnedItems.length > 0) {\r\n pinnedItems.push(defaultDivider);\r\n }\r\n }\r\n\r\n return pinnedItems;\r\n }\r\n\r\n getDisabled = (currentFacet: IFacetResult) => {\r\n if (currentFacet.fieldName.toLowerCase() === FieldNames.States) {\r\n let countries = this.props.facets.filter(f => f.fieldName.toLowerCase() === FieldNames.Countries)[0];\r\n return countries && countries.terms.some(t => t.selected) ? false : true;\r\n }\r\n return false;\r\n }\r\n\r\n getDropdownSelected = (id: string, facet: IFacetResult, f: IFacetResult, t: ITerm) => {\r\n // If this is the current term, toggle it\r\n if (t.id === parseInt(id)) {\r\n return !t.selected;\r\n }\r\n // if countries is set to placeholder, unselect states \r\n if ((f.fieldName.toLowerCase() === FieldNames.States && facet.fieldName.toLowerCase() === FieldNames.Countries && !id)\r\n //or if this is a term in the current facet, set it to off\r\n || f.fieldName === facet.fieldName) {\r\n return false;\r\n }\r\n // Otherwise leave as is\r\n return t.selected;\r\n }\r\n\r\n getDropdownTerms = (id: string, facet: IFacetResult, f: IFacetResult) => {\r\n if (id === '' && f.fieldName === facet.fieldName) {\r\n return [];\r\n }\r\n\r\n return f.terms.map(t => ({\r\n ...t,\r\n selected: this.getDropdownSelected(id, facet, f, t)\r\n }))\r\n }\r\n\r\n mapDropdownFacets = (id: string, facet: IFacetResult) => {\r\n return this.props.facets.map(f => ({\r\n ...f,\r\n // Reset the terms for this facet when the placeholder is chosen\r\n terms: this.getDropdownTerms(id, facet, f)\r\n }));\r\n }\r\n}\r\n\r\n","import * as React from 'react';\r\nimport * as Redux from 'redux';\r\nimport * as _ from 'lodash';\r\nimport { IGlobalSort } from '../../../state-helpers/sort';\r\nimport { isNullOrUndefined } from 'util';\r\n\r\nexport interface ISortProps {\r\n sort: IGlobalSort;\r\n sortGroupName: string;\r\n activeSortDirection?: number;\r\n}\r\n\r\nexport interface ISortGroupProps {\r\n sortGroupName: string;\r\n sorts: IGlobalSort[];\r\n onSort?: (sort: IGlobalSort) => void;\r\n customClasses?: string;\r\n twoDimensional?: boolean;\r\n activeSortDirection?: number;\r\n}\r\n\r\n/// \r\n/// This component creates a sort group\r\n/// T is the item type that will be sorted\r\n/// \r\n/// A unique identifier for the sort group\r\n/// Array of IGlobalSort objects corresponding to sorts\r\n/// The callback function for when the user selects a new sort (optional)\r\nexport class SortGroup extends React.Component, any> {\r\n static defaultProps = {\r\n onSort: (sort) => { },\r\n customClasses: ''\r\n }\r\n\r\n OnChange(newId: string) {\r\n let sort = _.find(this.props.sorts, (s) => s.sortId === newId);\r\n this.props.onSort(sort);\r\n }\r\n\r\n OnClick(element: HTMLElement) {\r\n if (element.tagName.toLowerCase() === 'input') {\r\n let sort = _.find(this.props.sorts, (s) => s.sortId === element.id);\r\n this.props.onSort(sort);\r\n }\r\n }\r\n\r\n render() {\r\n const { sorts, sortGroupName, customClasses, twoDimensional, activeSortDirection } = this.props;\r\n //let boundOnChange = this.OnChange.bind(this);\r\n return (\r\n
\r\n {sorts &&\r\n
!twoDimensional && this.OnChange((ev.target as any).id)} onClick={(ev) => twoDimensional && this.OnClick(ev.target as HTMLElement)}\r\n ref=\"fieldset\">\r\n
\r\n {this.props.sorts.map((s, i) =>\r\n )}\r\n
\r\n
}\r\n
\r\n );\r\n }\r\n}\r\n\r\n/// \r\n/// This component represents a single sort in a sort group\r\n/// T is the item type that will be sorted\r\n/// \r\n/// The ISort object corresponding to this sort\r\n/// Boolean, indicates whether sort is selected\r\n/// The unique identifier for the sort group\r\nexport class Sort extends React.Component, any> {\r\n render() {\r\n const { sort, sortGroupName, activeSortDirection } = this.props;\r\n \r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}","import * as React from 'react';\r\nimport { ResultsProps } from '../../state-helpers/site-settings-props';\r\nimport { getResultsText } from '../../actions/results-count';\r\n\r\ninterface IProps {\r\n totalResults: number;\r\n pageResults: number;\r\n pageSize: number;\r\n currentPage: number;\r\n isLoading: boolean;\r\n resultsProps: ResultsProps;\r\n customClasses?: string;\r\n testID?: string;\r\n}\r\n\r\ninterface IState {\r\n\r\n}\r\n\r\nexport class ResultsCountMessage extends React.PureComponent {\r\n\r\n get resultsText() {\r\n const { totalResults, pageResults, pageSize, currentPage, isLoading, resultsProps } = this.props;\r\n\r\n return getResultsText(totalResults, pageResults, pageSize, currentPage, isLoading, resultsProps);\r\n }\r\n\r\n render() {\r\n const cssClasses = \"paragraph-caption \" + this.props.customClasses;\r\n return (\r\n

\r\n {this.resultsText}\r\n

\r\n );\r\n }\r\n}","export class ErrorConstants {\r\n public static readonly UnauthorizedErrorMessage: string = \"Unauthorized\";\r\n public static readonly FailedToFetchMessage: string = \"Failed to fetch\";\r\n public static readonly BadReponseMessage: string = \"Bad reponse\";\r\n}\r\n\r\nexport class AAPErrorConstants {\r\n public static readonly InvalidTokenError: string = \"InvalidToken\";\r\n}\r\n","export function getParameterByName(name, url = null) {\r\n if (!url) url = window.location.href;\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\r\n results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}","export const isValidEmail = (email: string): boolean => {\r\n // Serious validation\r\n const regex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return regex.test(email);\r\n}\r\n\r\nexport const isStrongPassword = (password: string): boolean => {\r\n // At least 1 uppercase letter, 1 lowercase letter, at least 1 digit, at least 1 special character, minimum eight in length\r\n const regex = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/;\r\n return regex.test(password);\r\n}\r\n\r\nconst hasRequiredLength = (value: string, length: number): boolean => {\r\n // at least length characters\r\n return value.length >= length;\r\n}\r\n\r\nconst hasRequiredNonLetterOrDigit = (value: string, requiredNonLetterOrDigit: boolean): boolean => {\r\n if (!requiredNonLetterOrDigit) {\r\n return true;\r\n }\r\n\r\n // contains character other than letter or digit\r\n const regex = /[^\\w]/g;\r\n return regex.test(value);\r\n}\r\n\r\nconst hasRequiredDigit = (value: string, requiredDigit: boolean): boolean => {\r\n if (!requiredDigit) {\r\n return true;\r\n }\r\n\r\n // contains at least 1 digit\r\n const regex = /\\d/;\r\n return regex.test(value);\r\n}\r\n\r\nconst hasRequiredUpperCase = (value: string, requiredUpperCase: boolean): boolean => {\r\n if (!requiredUpperCase) {\r\n return true;\r\n }\r\n\r\n // contains at least 1 uppercase letter\r\n return value.toLowerCase() !== value;\r\n}\r\n\r\nconst hasRequiredLowerCase = (value: string, requiredLowerCase: boolean): boolean => {\r\n if (!requiredLowerCase) {\r\n return true;\r\n }\r\n\r\n // contains at least 1 lowercase letter\r\n return value.toUpperCase() !== value;\r\n\r\n}\r\n\r\nexport const isValidPassword = (password: string) => {\r\n return hasRequiredLength(password, (window as any).passwordValidation.passwordRequiredLength)\r\n && hasRequiredNonLetterOrDigit(password, (window as any).passwordValidation.passwordRequireNonLetterOrDigit)\r\n && hasRequiredDigit(password, (window as any).passwordValidation.passwordRequireDigit)\r\n && hasRequiredUpperCase(password, (window as any).passwordValidation.passwordRequireUpperCase)\r\n && hasRequiredLowerCase(password, (window as any).passwordValidation.passwordRequireLowerCase);\r\n}\r\n\r\nexport const hasNonAsciiCharacters = (value: string): boolean => {\r\n // matches any character within the ASCII range (including extended ascii) (space (char code 32) to ÿ ( char code 255)))\r\n const asciiRegex = /^[ -ÿ]*$/; \r\n return !asciiRegex.test(value);\r\n}","import { useLocation } from 'react-router-dom';\r\nimport React from 'react';\r\n\r\nexport function WithRouterWrapper(WrappedComponent) {\r\n \r\n return (props) => {\r\n const location = useLocation();\r\n const newProps = {\r\n ...props,\r\n location: location\r\n }\r\n return \r\n };\r\n}","export interface ISearchContext {\r\n id: string;\r\n display: string;\r\n filters: ISearchFilter[]\r\n}\r\n\r\nexport interface ISearchFilter {\r\n id: number;\r\n display: string;\r\n lexeme: string;\r\n parameterType: IFilterParameterType\r\n}\r\n\r\nexport interface IFilterParameterType {\r\n display: string;\r\n typeString: FilterParameterTypeString;\r\n regex: string;\r\n};\r\n\r\nexport enum FilterParameterTypeString {\r\n String = 'System.String',\r\n Date = 'System.DateTime',\r\n Number = 'System.Int32'\r\n}\r\n\r\nexport const ContextIds = Object.freeze({\r\n all: 'all',\r\n policy: 'Policy',\r\n publication: 'Publication',\r\n poc: 'Point-of-Care',\r\n shop: 'Shop',\r\n healthyChildren: 'Healthy Children',\r\n newsReleases: 'News Releases',\r\n advocacy: 'Advocacy',\r\n members: 'Members',\r\n grants: 'Grants',\r\n guidelines: 'Guidelines',\r\n education: 'Education',\r\n groups: 'Groups',\r\n resources: 'Resources',\r\n initiatives: 'Initiatives',\r\n programs: 'Programs',\r\n nicu: 'NICU',\r\n redBookOnline: 'Red Book Online'\r\n});","import * as _ from 'lodash';\r\nimport moment from 'moment';\r\n\r\nexport interface IFilter {\r\n id: string;\r\n display: string;\r\n template: FilterTemplate;\r\n options: IFilterOption[];\r\n rule: (T) => boolean;\r\n count?: (T) => number;\r\n}\r\n\r\nexport interface IUrlFilter {\r\n filterId: string,\r\n selectedOptions: string[]\r\n}\r\n\r\nexport interface IFilterOption {\r\n id: string;\r\n rule: (T) => boolean;\r\n display: string;\r\n selected: boolean;\r\n count?: (T) => number;\r\n}\r\n\r\nexport interface IDateFilter {\r\n display: string;\r\n startDate: moment.Moment;\r\n endDate: moment.Moment;\r\n id: string;\r\n selected: boolean;\r\n}\r\n\r\nexport interface IToggleFilter {\r\n id: string;\r\n isSelected: boolean;\r\n rule: (T) => boolean;\r\n}\r\n\r\nexport enum FilterTemplate {\r\n CHECKBOX,\r\n RADIO\r\n}\r\n\r\nexport class Filter implements IFilter {\r\n id: string;\r\n display: string;\r\n options: IFilterOption[];\r\n template: FilterTemplate;\r\n \r\n constructor(options: { options: IFilterOption[], template: FilterTemplate, id: string, display: string }) {\r\n _.extend(this, options);\r\n\r\n // Create a new options array\r\n this.options = Array.prototype.slice.call(options.options);\r\n };\r\n\r\n rule = function (item: T) {\r\n let selectedOptions = this.options && this.options.some(o => o.selected)\r\n ? this.options.filter(o => o.selected)\r\n : [] as IFilterOption[];\r\n\r\n if (selectedOptions.length === 0) {\r\n return true;\r\n }\r\n\r\n return selectedOptions.some(o => o.rule(item));\r\n }\r\n}\r\n\r\nexport interface IFilterTextMap {\r\n filterId: string;\r\n display: string;\r\n options: IOptionTextMap[];\r\n}\r\n\r\nexport interface IOptionTextMap {\r\n optionId: string;\r\n display: string;\r\n count: number;\r\n}\r\n\r\nexport interface IDropdownOption {\r\n id: string;\r\n display: string;\r\n selected: boolean;\r\n isDisabled?: boolean;\r\n isPinned?: boolean;\r\n}\r\n\r\nexport interface ISuperSelectSource {\r\n id: string;\r\n name: string;\r\n size: string;\r\n selected: boolean;\r\n}\r\n\r\nexport const defaultDivider = { display: '---', id: 'divider', isDisabled: true, selected: false };\r\n\r\nexport function getDisabledDropdownItems(pinnedNames: string[], items: IDropdownOption[]): IDropdownOption[] {\r\n var pinnedItems = [];\r\n if (pinnedNames) {\r\n [].forEach.call(pinnedNames, (item) => {\r\n var value = item.toLowerCase();\r\n if (items.some(x => x.display.toLowerCase() === value)) {\r\n pinnedItems.push({ ...items.filter(x => x.display.toLowerCase() === value)[0], isPinned: true });\r\n }\r\n });\r\n\r\n // Add the disabled divider\r\n if (pinnedItems.length > 0) {\r\n pinnedItems.push(defaultDivider);\r\n }\r\n }\r\n return pinnedItems;\r\n}","import 'es6-promise';\r\nimport 'isomorphic-fetch';\r\nimport * as _ from 'lodash';\r\nimport * as actions from './index';\r\nimport { ISearchCriteria } from '../state-helpers/search-criteria'\r\nimport { ISort } from '../state-helpers/sorts'\r\nimport { ISearchAppState } from '../reducers/index'\r\nimport { IAutocompleteResults, IHit } from '../state-helpers/autocomplete-results';\r\n\r\nconst AUTOCOMPLETE_URL = (window as any).searchBox && (window as any).searchBox.findIndexUrl + '_autocomplete';\r\nconst AUTOCOMPLETE_SIZE = 5;\r\n\r\nconst fetch = (searchTerm: string) => {\r\n let url = getAutoCompleteUrl(searchTerm);\r\n return window.fetch(url)\r\n .then(function (response) {\r\n if (response.status === 504) {\r\n const errorMsg = new Error(\"Failed to fetch\");\r\n errorMsg.message = \"Failed to fetch\";\r\n throw errorMsg;\r\n }\r\n // Catch the bad response\r\n else if (response.status >= 400) {\r\n const errorMsg = new Error(\"Bad response\");\r\n errorMsg.message = \"Bad response\";\r\n throw errorMsg;\r\n }\r\n return response.json();\r\n });\r\n};\r\n\r\nlet autocompleteCache = _.memoize(fetch);\r\n\r\nfunction removeAutoCompleteDuplicates(data: IAutocompleteResults) {\r\n var resultItems = [];\r\n var resultDups = [];\r\n\r\n for (var i = 0; i < data.hits.length; i++) {\r\n if (resultDups.indexOf(data.hits[i].query.trim()) === -1) {\r\n resultItems.push({ query: data.hits[i].query.trim() } as IHit);\r\n resultDups.push(data.hits[i].query.trim());\r\n }\r\n }\r\n\r\n data.hits = resultItems\r\n return data;\r\n}\r\n\r\nfunction getAutoCompleteUrl(searchTerm) {\r\n var prefix = encodeURIComponent(searchTerm);\r\n return AUTOCOMPLETE_URL + '?prefix=' + prefix + '&size=' + AUTOCOMPLETE_SIZE;\r\n}\r\n\r\nexport function fetchAutocompleteResults(searchTerm: string) {\r\n return (dispatch, getState) => {\r\n if (searchTerm.length > 2) {\r\n autocompleteCache(searchTerm)\r\n .then(data => dispatch(actions.getAutocompleteResults(removeAutoCompleteDuplicates(data))));\r\n }\r\n else dispatch(actions.getAutocompleteResults(null));\r\n }\r\n}\r\n\r\nexport function getAutocompleteResults(term: string, onDataLoaded: (data: IAutocompleteResults) => void) {\r\n autocompleteCache(term).then(data => onDataLoaded(removeAutoCompleteDuplicates(data)));\r\n}","import { ISearchContext } from \"../../global/models/search-context\";\r\n\r\nconst filterRegex = /[a-zA-z]+\\(/g;\r\n\r\nexport const checkFilters = (context: ISearchContext, search: string) => {\r\n const filters = search.match(filterRegex) || [];\r\n const lexemes = context.filters.map(f => f.lexeme);\r\n\r\n // Find the bad filters and trim off the (\r\n return filters.filter(f => lexemes.indexOf(f) === -1).map(f => f.slice(0, -1));\r\n}","import { ISearchResult, IResults, IErrorType } from '../state-helpers/search-results';\r\nimport { IFacetResult } from '../state-helpers/facets';\r\nimport { urlReplaceInAction, urlPushAction, UrlQueryParamTypes, encode } from 'react-url-query';\r\nimport { IEpiProps } from '../state-helpers/epi-props';\r\nimport { fetchResults, FetchResultsFlags } from './results';\r\nimport { IAutocompleteResults, IHit } from '../state-helpers/autocomplete-results';\r\nimport { GlobalActionType } from '../../global/actions/index';\r\nimport * as Rx from 'rx';\r\nimport * as _ from 'lodash';\r\nimport { ISearchContext } from '../../global/models/search-context';\r\nimport { ISort } from '../state-helpers/sorts'\r\nimport { ErrorConstants } from '../../global/constants/constants';\r\nexport const CHANGE_QUERY = 'CHANGE_QUERY';\r\n\r\nexport const changeSearchTerm = urlReplaceInAction(CHANGE_QUERY, 'q', UrlQueryParamTypes.string);\r\n\r\n// Enums\r\nexport class ActionType extends GlobalActionType {\r\n static SET_PAGE: string = \"SET_PAGE\";\r\n static SET_PAGE_TITLE: string = \"SET_PAGE_TITLE\";\r\n static AUTOCOMPLETE_RESULTS_LOADED: string = \"AUTOCOMPLETE_RESULTS_LOADED\";\r\n static AUTOCOMPLETE_ACTIVE_HIT_CHANGE: string = \"AUTOCOMPLETE_ACTIVE_HIT_CHANGE\";\r\n static AUTOCOMPLETE_ACTIVE_CHANGED: string = \"AUTOCOMPLETE_ACTIVE_CHANGED\";\r\n static SET_SELECTED_FACET_COUNT: string = \"SET_SELECTED_FACET_COUNT\";\r\n static RESULTS_LOADED: string = \"RESULTS_LOADED\";\r\n static RESULTS_LOADING: string = \"RESULTS_LOADING\";\r\n static RESULTS_LOAD_FAILURE: string = \"RESULTS_LOAD_FAILURE\";\r\n static SHOW_RESULTS: string = \"SHOW_RESULTS\";\r\n static SET_SORT: string = \"SET_SORT\";\r\n static SET_SORT_MODEL: string = \"SET_SORT_MODEL\";\r\n static SET_CONTEXT: string = \"SET_CONTEXT\";\r\n static SET_SEARCH_TERM: string = \"SET_SEARCH_TERM\";\r\n static SET_MOBILE_FACETS_VISIBILITY: string = \"SET_MOBILE_FACETS_VISIBILITY\";\r\n static SET_FACET_DROPDOWN_VISIBILITY: string = \"SET_FACET_DROPDOWN_VISIBILITY\";\r\n static UPDATE_FACETS: string = \"UPDATE_FACETS\";\r\n static TOGGLE_MOBILE_NAV: string = \"TOGGLE_MOBILE_NAV\";\r\n static SET_EPI_PROPS: string = \"SET_EPI_PROPS\";\r\n static EPI_PROPS_LOADED: string = \"EPI_PROPS_LOADED\";\r\n static BROWSER_NAVIGATION: string = \"BROWSER_NAVIGATION\";\r\n static UPDATE_QUERY: string = \"UPDATE_QUERY\";\r\n static CLEAR_ERROR_TEXT: string = \"CLEAR_ERROR_TEXT\";\r\n}\r\n\r\nexport enum ActionOrigin {\r\n BROWSER_NAVIGATION\r\n}\r\n\r\n\r\n// Interfaces\r\nexport interface IAction {\r\n type: ActionType;\r\n origin?: ActionOrigin;\r\n}\r\n\r\nexport interface IResultsLoadedAction extends IAction {\r\n results: ISearchResult[];\r\n facets: IFacetResult[];\r\n page: number;\r\n errorMessage: string;\r\n errorType: IErrorType;\r\n totalNumber: number;\r\n totalPages: number;\r\n trackingId: string;\r\n showResults?: boolean;\r\n isLoading?: boolean;\r\n suggestion: string;\r\n fromAutocomplete: boolean; // If the search term was from an autocomplete suggestion\r\n}\r\n\r\nexport interface IAutocompleteResultsLoadedAction extends IAction {\r\n hits: IHit[];\r\n activeHit: number;\r\n\tisActive: boolean;\r\n}\r\n\r\nexport interface IAutocompleteSetActive extends IAction {\r\n\tisActive: boolean;\r\n}\r\n\r\nexport interface ISetSelectedFacetCount extends IAction {\r\n selectedFacetCount: number;\r\n}\r\n\r\nexport interface IAutocompleteActiveHitChange extends IAction {\r\n activeHit: number;\r\n}\r\n\r\nexport interface IEpiPropsLoadedAction extends IAction {\r\n results: IEpiProps;\r\n}\r\n\r\nexport function getEpiProps(results: IEpiProps): IEpiPropsLoadedAction {\r\n return {\r\n type: ActionType.EPI_PROPS_LOADED,\r\n results: results\r\n }\r\n}\r\n\r\nexport interface ISearchIsLoading extends IAction {\r\n isLoading: boolean;\r\n}\r\n\r\nexport interface IShowResults extends IAction {\r\n showResults: boolean;\r\n}\r\n\r\nexport interface ISetSortAction extends IAction {\r\n sortId: string;\r\n sortModel: ISort[];\r\n}\r\n\r\nexport interface IUpdateSearchFacet extends IAction {\r\n facets: IFacetResult[]\r\n}\r\n\r\nexport interface ISetPageAction extends IAction {\r\n page: number;\r\n}\r\n\r\nexport interface ISetSearchTermAction extends IAction {\r\n searchTerm: string;\r\n}\r\n\r\nexport interface ISetContextAction extends IAction {\r\n context: ISearchContext;\r\n}\r\n\r\nexport interface ISetMobileFacetsVisibility extends IAction {\r\n visible: boolean;\r\n}\r\n\r\nexport interface ISetFacetDropdownVisibility extends IAction {\r\n visible: boolean;\r\n}\r\n\r\n// Actions\r\nexport function itemsAreLoading(isLoading: boolean): ISearchIsLoading {\r\n return {\r\n type: ActionType.RESULTS_LOADING,\r\n isLoading: isLoading\r\n }\r\n}\r\n\r\nexport function showResults(showResults: boolean): IShowResults {\r\n return {\r\n type: ActionType.SHOW_RESULTS,\r\n showResults: showResults\r\n }\r\n}\r\n\r\nexport function noResults(): IResultsLoadedAction {\r\n return {\r\n type: ActionType.SET_PAGE,\r\n facets: [],\r\n results: [],\r\n page: 1,\r\n errorMessage: '',\r\n totalNumber: 0,\r\n totalPages: 0,\r\n trackingId: '',\r\n suggestion: '',\r\n errorType: IErrorType.NONE,\r\n fromAutocomplete: false\r\n }\r\n}\r\n\r\nexport function getResults(results: IResults, fromAutocomplete: boolean = false): IResultsLoadedAction {\r\n return {\r\n type: ActionType.RESULTS_LOADED,\r\n results: results.searchItemList,\r\n facets: results.facets,\r\n page: results.currentPage,\r\n errorMessage: '',\r\n totalNumber: results.totalNumber,\r\n totalPages: results.totalPages,\r\n trackingId: results.trackingId,\r\n suggestion: results.suggestion,\r\n errorType: IErrorType.NONE,\r\n fromAutocomplete: fromAutocomplete\r\n }\r\n}\r\n\r\nexport function setAutocompleteActive(isActive: boolean): IAutocompleteSetActive {\r\n return {\r\n type: ActionType.AUTOCOMPLETE_ACTIVE_CHANGED,\r\n\t\tisActive\r\n }\r\n}\r\n\r\nexport function getAutocompleteResults(results: IAutocompleteResults): IAutocompleteResultsLoadedAction {\r\n return {\r\n type: ActionType.AUTOCOMPLETE_RESULTS_LOADED,\r\n hits: results != null ? results.hits : [] as IHit[],\r\n activeHit: 0,\r\n\t\tisActive: true\r\n }\r\n}\r\n\r\nexport function activeHitChange(activeHit: number): IAutocompleteActiveHitChange {\r\n return {\r\n type: ActionType.AUTOCOMPLETE_ACTIVE_HIT_CHANGE,\r\n activeHit\r\n }\r\n}\r\nexport function clearErrorText(results: IResults): IResultsLoadedAction {\r\n return {\r\n type: ActionType.CLEAR_ERROR_TEXT,\r\n results: results.searchItemList,\r\n facets: results.facets,\r\n page: results.currentPage,\r\n errorMessage: '',\r\n totalNumber: results.totalNumber,\r\n totalPages: results.totalPages,\r\n errorType: IErrorType.NONE,\r\n trackingId: results.trackingId,\r\n suggestion: results.suggestion,\r\n fromAutocomplete: false\r\n }\r\n}\r\n\r\n\r\nexport function updateResultsFailure(errorMessage: string): IResultsLoadedAction {\r\n var errorType;\r\n switch (errorMessage) {\r\n case ErrorConstants.BadReponseMessage:\r\n errorType = IErrorType.GENERAL;\r\n break;\r\n case ErrorConstants.FailedToFetchMessage:\r\n errorType = IErrorType.TIME_OUT;\r\n break;\r\n default:\r\n errorType = IErrorType.NONE;\r\n break;\r\n }\r\n\r\n return {\r\n type: ActionType.RESULTS_LOAD_FAILURE,\r\n errorMessage: errorMessage,\r\n results: [],\r\n facets: [],\r\n page: 1,\r\n totalNumber: 0,\r\n totalPages: 0,\r\n errorType: errorType,\r\n trackingId: '',\r\n suggestion: '',\r\n fromAutocomplete: false\r\n }\r\n}\r\n\r\nexport function setSort(sortId: string): ISetSortAction {\r\n return {\r\n type: ActionType.SET_SORT,\r\n sortId,\r\n sortModel: null\r\n };\r\n}\r\n\r\nexport function setSortModel(sortModel: ISort[]): ISetSortAction {\r\n return {\r\n type: ActionType.SET_SORT_MODEL,\r\n sortId: null,\r\n sortModel: sortModel\r\n };\r\n}\r\n\r\nexport function setPage(page: number): ISetPageAction {\r\n return {\r\n type: ActionType.SET_PAGE,\r\n page\r\n };\r\n}\r\n\r\nexport interface ISearchTextUpdatedAction extends IAction {\r\n searchText: string;\r\n}\r\n\r\nexport interface ISetFiltersAction extends IAction {\r\n filters: { id: string, selectedOptionIds: string[] }[];\r\n}\r\n\r\nexport interface IBrowserAction extends IAction, ISearchTextUpdatedAction, ISetSearchTermAction, ISetSortAction, /*ISetFiltersAction,*/ ISetPageAction, ISetMobileFacetsVisibility, ISetFacetDropdownVisibility { }\r\n\r\nexport function setSearchTerm(searchTerm: string): ISetSearchTermAction {\r\n return {\r\n type: ActionType.SET_SEARCH_TERM,\r\n searchTerm\r\n };\r\n}\r\n\r\nexport function setMobileFacetsVisibility(visible: boolean): ISetMobileFacetsVisibility {\r\n return {\r\n type: ActionType.SET_MOBILE_FACETS_VISIBILITY,\r\n visible\r\n };\r\n}\r\n\r\nexport function setFacetDropdownVisibility(visible: boolean): ISetFacetDropdownVisibility {\r\n return {\r\n type: ActionType.SET_FACET_DROPDOWN_VISIBILITY,\r\n visible\r\n };\r\n}\r\n\r\nexport function setSelectedFacetCount(selectedFacetCount: number): ISetSelectedFacetCount {\r\n return {\r\n type: ActionType.SET_SELECTED_FACET_COUNT,\r\n selectedFacetCount\r\n };\r\n}\r\n\r\nexport function setActiveHit(activeHit: number): IAutocompleteActiveHitChange {\r\n return {\r\n type: ActionType.AUTOCOMPLETE_ACTIVE_HIT_CHANGE,\r\n activeHit\r\n };\r\n}\r\n\r\n\r\nexport function setContext(context: ISearchContext): ISetContextAction {\r\n return {\r\n type: ActionType.SET_CONTEXT,\r\n context\r\n };\r\n}\r\n\r\nexport function setPageTitle(searchTerm: string, contextId: string) : IAction {\r\n return {\r\n type: ActionType.SET_PAGE_TITLE\r\n };\r\n}\r\n\r\nexport function browser(action: IAction) {\r\n return _.assign(action, { origin: ActionOrigin.BROWSER_NAVIGATION }) as IAction;\r\n}\r\n\r\nexport function updateResults(results: IResults, page = 1): IResultsLoadedAction {\r\n return {\r\n type: ActionType.RESULTS_LOADED,\r\n results: results.searchItemList,\r\n facets: results.facets,\r\n page: results.currentPage,\r\n errorMessage: results.errorMessage,\r\n errorType: results.errorType,\r\n totalNumber: results.totalNumber,\r\n totalPages: results.totalPages,\r\n isLoading: results.loading,\r\n trackingId: results.trackingId,\r\n suggestion: results.suggestion,\r\n fromAutocomplete: false\r\n };\r\n}\r\n\r\nexport function updateSearchFacet(facets: IFacetResult[]): IUpdateSearchFacet {\r\n return {\r\n type: ActionType.UPDATE_FACETS,\r\n\t\tfacets\r\n }\r\n\r\n}","import 'es6-promise';\r\nimport 'isomorphic-fetch';\r\nimport * as _ from 'lodash';\r\nimport * as actions from './index';\r\nimport { IEpiProps } from '../state-helpers/epi-props'\r\nimport { ISearchAppState } from '../reducers/index'\r\n\r\nconst fetch = (contentId: any) => {\r\n return window.fetch('/api/v1/epi/properties?contentId=' + contentId)\r\n .then(resp => resp.json());\r\n};\r\n\r\nlet epiCache = _.memoize(fetch);\r\n\r\nexport function fetchEpiProps() {\r\n return (dispatch, getState) => {\r\n let state = getState() as ISearchAppState;\r\n const contentId = (window as any).bootstrap.contentId;\r\n epiCache(contentId)\r\n .then(data => dispatch(actions.getEpiProps(data.data)))\r\n .catch(err => dispatch(actions.updateResultsFailure(err)));\r\n }\r\n}","import 'es6-promise';\r\nimport 'isomorphic-fetch';\r\nimport * as Redux from 'redux';\r\nimport * as _ from 'lodash';\r\nimport * as actions from './index';\r\nimport { ISearchCriteria } from '../state-helpers/search-criteria'\r\nimport { ISort } from '../state-helpers/sorts'\r\nimport { ISearchAppState } from '../reducers/index'\r\nimport { IFacetResult } from '../state-helpers/facets';\r\nimport { pushInUrlQuery } from 'react-url-query';\r\nimport { updateSearchFacet, setSelectedFacetCount } from './index';\r\nimport { getParameterByName } from '../../global/functions/query-string';\r\nimport { IAnalytics } from '../../global/functions/analytics';\r\nimport { IResults, ISearchResult } from '../state-helpers/search-results';\r\nimport { isNullOrUndefined } from 'util';\r\nimport { ErrorConstants } from '../../global/constants/constants';\r\n\r\nconst fetch = (criteria: string) => {\r\n const { loginPageUrl } = (window as any).bootstrap;\r\n\r\n const init: RequestInit = {\r\n method: 'POST',\r\n body: criteria,\r\n headers: new Headers({ 'Content-Type': 'application/json; charset=utf-8' }),\r\n };\r\n\r\n return window.fetch('/api/v1/search/searchWithCriteria/', init)\r\n .then(function (response) {\r\n // Catch the timeout\r\n if (response.status === 504) {\r\n const errorMsg = new Error(ErrorConstants.FailedToFetchMessage);\r\n errorMsg.message = ErrorConstants.FailedToFetchMessage;\r\n throw errorMsg;\r\n }\r\n else if (response.status === 401) {\r\n const errorMsg = new Error(ErrorConstants.UnauthorizedErrorMessage);\r\n errorMsg.message = ErrorConstants.UnauthorizedErrorMessage;\r\n window.location.replace(loginPageUrl + '?returnUrl=' + window.location.href);\r\n throw errorMsg;\r\n }\r\n // Catch the bad response\r\n else if (response.status >= 400) {\r\n const errorMsg = new Error(ErrorConstants.BadReponseMessage);\r\n errorMsg.message = ErrorConstants.BadReponseMessage;\r\n throw errorMsg;\r\n }\r\n return response.json();\r\n })\r\n};\r\n\r\n// What is this doing???\r\nlet searchResultsCache = _.memoize(fetch, (criteria: string) => criteria);\r\n\r\nexport enum FetchResultsFlags {\r\n None = 0,\r\n IsPop = 1 << 0,\r\n OnlyGetFacets = 1 << 1,\r\n WithSuggestion = 1 << 2,\r\n FromAutocomplete = 1 << 3\r\n}\r\n\r\n// Function currying!\r\n// This allows for functional dependency injection\r\n// i.e. analytics is bound in mapDispatchToProps, then the component can call the function with flags\r\nexport const fetchResults = (analytics: IAnalytics) => (flags: FetchResultsFlags) => {\r\n\r\n const isPop = !!(flags & FetchResultsFlags.IsPop);\r\n const onlyGetFacets = !!(flags & FetchResultsFlags.OnlyGetFacets);\r\n const withSuggestion = !!(flags & FetchResultsFlags.WithSuggestion);\r\n const fromAutocomplete = !!(flags & FetchResultsFlags.FromAutocomplete);\r\n\r\n return (dispatch, getState) => {\r\n let state = getState() as ISearchAppState;\r\n var selectedSort = state.sortsModel.filter(s => s.selected)[0];\r\n var selectedContext = state.selectedSearchContext;\r\n\r\n var tags = getTags();\r\n var sortUrls = getSortUrls();\r\n\r\n var searchCriteria = JSON.stringify({\r\n SearchTerm: state.searchTermModel.trim(),\r\n Page: state.pageModel.page,\r\n PageSize: state.pageModel.pageSize,\r\n SortDirection: selectedSort.direction,\r\n SortField: selectedSort.sortField,\r\n Context: selectedContext.id,\r\n Facets: state.facetsModel.facets,\r\n IncludeSuggestion: withSuggestion,\r\n Tags: tags,\r\n SortUrls: sortUrls\r\n })\r\n\r\n dispatch(actions.itemsAreLoading(true));\r\n searchResultsCache(searchCriteria)\r\n .then(function (data) {\r\n let facetsData = data.data.facets as IFacetResult[];\r\n setFacetsAndCount(dispatch, facetsData);\r\n\r\n // On page load of a new page we want to display facets but no results\r\n if (onlyGetFacets) {\r\n dispatch(actions.showResults(false));\r\n dispatch(actions.itemsAreLoading(false));\r\n }\r\n else {\r\n dispatch(actions.showResults(true));\r\n dispatch(actions.getResults(data.data, fromAutocomplete));\r\n\r\n // Build title\r\n const termSpacer = state.searchTermModel == '' ? '' : ' | ';\r\n const searchSource = getParameterByName(\"source\") === null ? \" | AAP\" : \" | \" + getParameterByName(\"source\")\r\n\r\n // A string that's sometimes the search term, but othertimes\r\n // a JSON object encoding the term :/\r\n let searchTerm = state.searchTermModel;\r\n try {\r\n const json = JSON.parse(searchTerm);\r\n searchTerm = json[0].terms[0].term\r\n } catch (err) {\r\n // We good\r\n }\r\n\r\n const title = searchTerm + termSpacer + selectedContext.display + searchSource\r\n\r\n // Limit length\r\n document.title = title.substr(0, 59);\r\n\r\n const results = data.data as IResults;\r\n const noResults = results.searchItemList == null || results.searchItemList.length == 0;\r\n\r\n if (fromAutocomplete && noResults) {\r\n analytics.onZeroAutocompleteResults(selectedContext.display, state.searchTermModel.trim());\r\n }\r\n }\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n if (err.message === ErrorConstants.UnauthorizedErrorMessage) {\r\n return;\r\n }\r\n dispatch(actions.updateResultsFailure(err.message))\r\n });\r\n }\r\n}\r\n\r\ninterface ITag {\r\n Value: string;\r\n}\r\n\r\nfunction getTags(): string[] {\r\n var tags: ITag[] = (window as any).bootstrap.tags;\r\n if (tags != undefined && tags.length > 0) {\r\n return (window as any).bootstrap.tags;\r\n } else {\r\n return [];\r\n }\r\n}\r\n\r\ninterface ISortUrl {\r\n Value: string;\r\n}\r\n\r\nfunction getSortUrls(): string[] {\r\n var sortUrls: ISortUrl[] = (window as any).bootstrap.sortUrls;\r\n if (sortUrls != undefined && sortUrls.length > 0) {\r\n return (window as any).bootstrap.sortUrls;\r\n } else {\r\n return [];\r\n }\r\n}\r\n\r\nexport function getSelectedFacetCount(facets: IFacetResult[]) {\r\n var currentFacets = _.clone(facets);\r\n var selectedCount = 0;\r\n\r\n for (var facet = 0; facet < currentFacets.length; facet++) {\r\n var currentFilter = currentFacets[facet];\r\n\r\n for (var filter = 0; filter < currentFilter.terms.length; filter++) {\r\n var currentTerm = currentFilter.terms[filter];\r\n\r\n if (currentTerm.selected === true) {\r\n selectedCount++;\r\n }\r\n }\r\n }\r\n\r\n return selectedCount;\r\n}\r\n\r\nexport function setFacetsAndCount(dispatch: Redux.Dispatch, facets: IFacetResult[]) {\r\n\r\n dispatch(updateSearchFacet(facets));\r\n dispatch(setSelectedFacetCount(getSelectedFacetCount(facets)));\r\n}","import 'es6-promise';\r\nimport 'isomorphic-fetch';\r\nimport * as _ from 'lodash';\r\nimport * as actions from './index';\r\nimport { ISearchCriteria } from '../state-helpers/search-criteria'\r\nimport { ISort } from '../state-helpers/sorts'\r\nimport { ISearchAppState } from '../reducers/index'\r\n\r\nconst memoizedFetch = (searchTerm: string, trackingId: string, hitId: string, dispatch: any) => {\r\n var url = '/api/v1/search/trackClick?searchTerm='\r\n const init: RequestInit = {\r\n method: 'POST',\r\n body: JSON.stringify({\r\n searchTerm: searchTerm,\r\n trackingId: trackingId,\r\n hitId: hitId\r\n }),\r\n headers: new Headers({ 'Content-Type': 'application/json; charset=utf-8' }),\r\n };\r\n return window.fetch(url, init)\r\n .then(function (response) {\r\n if (response.status === 504) {\r\n const errorMsg = new Error(\"Failed to fetch\");\r\n errorMsg.message = \"Failed to fetch\";\r\n throw errorMsg;\r\n }\r\n // Catch the bad response\r\n else if (response.status >= 400) {\r\n const errorMsg = new Error(\"Bad response\");\r\n errorMsg.message = \"Bad response\";\r\n throw errorMsg;\r\n }\r\n return response.json();\r\n })\r\n .then(m => console.log(m));\r\n};\r\n\r\nexport function trackClick(hitId: string) {\r\n return (dispatch, getState) => {\r\n let state = getState() as ISearchAppState;\r\n var searchTerm = state.searchTermModel;\r\n var trackingId = state.resultsModel.trackingId;\r\n memoizedFetch(searchTerm, trackingId, hitId, dispatch);\r\n }\r\n}","import * as React from 'react';\r\n\r\nimport { ITerm, IFacetResult } from '../../state-helpers/facets';\r\nimport { FacetTerm } from './facet-term';\r\n\r\ninterface IProps {\r\n facet: IFacetResult;\r\n onToggleTerm: (term: ITerm) => void;\r\n}\r\n\r\ninterface IState {\r\n\r\n}\r\n\r\nexport class FacetSection extends React.Component {\r\n\r\n render() {\r\n const { facet } = this.props;\r\n\r\n if (facet.terms.length == 0 || !facet.terms.some(t => t.hits > 0)) {\r\n return null;\r\n }\r\n\r\n const divId = 'search-facet-' + (facet.fieldName && facet.fieldName.replace(/\\s+/g, '-')).toLowerCase();\r\n \r\n return (\r\n
\r\n
\r\n
{this.props.facet.name}
\r\n
\r\n\r\n
\r\n
\r\n {facet.terms.map(this.renderFacetTerm)}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n renderFacetTerm = (term: ITerm, index: number) => {\r\n const { facet, onToggleTerm } = this.props;\r\n\r\n return (\r\n onToggleTerm(term)} />\r\n )\r\n }\r\n}","import * as React from 'react';\r\nimport { IFacetResult, ITerm } from '../../state-helpers/facets';\r\n\r\nexport interface IProps {\r\n term: ITerm;\r\n onTermClick: () => void;\r\n}\r\n\r\nexport const FacetTerm = ({ term, onTermClick } : IProps) => {\r\n \r\n //Don't show hits with 0 results or no text. If facet is Policy Types, show them all anyway\r\n if (!term.alwaysShow && (term.hits === 0 || term.term === '')) {\r\n return null;\r\n }\r\n\r\n const filterValue = term.term.replace(/\\s+/g, '-').toLowerCase();\r\n\r\n //Apply disabled styling to hits with alwaysShow === true and 0 hits\r\n const disabled = term.alwaysShow && term.hits === 0;\r\n const divClass = 'form-element-checkbox' + (disabled ? ' form-element-checkbox-disabled' : '');\r\n\r\n const onKeyPress = (e: any) => {\r\n if (e.charCode == 13 || e.charCode == 32) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n onTermClick();\r\n }\r\n }\r\n\r\n return (\r\n
{ onKeyPress(e) }}>\r\n\r\n \r\n\r\n \r\n\r\n
\r\n

{ term.displayTerm }

\r\n

({term.hits})

\r\n
\r\n
\r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { bindActionCreators } from 'redux';\r\nimport { connect } from 'react-redux';\r\nimport { ISearchAppState } from '../../reducers/index'\r\nimport { FacetTerm } from './facet-term'\r\nimport { IFacetResult, ITerm, IFacets } from '../../state-helpers/facets';\r\nimport { IEpiProps } from '../../state-helpers/epi-props';\r\nimport * as _ from 'lodash';\r\nimport { addUrlProps, UrlQueryParamTypes, subquery } from 'react-url-query';\r\nimport { resultsModel } from '../../reducers/results-model';\r\nimport { pushInUrlQuery } from 'react-url-query';\r\nimport { updatedSelectedFacetCount } from '../../reducers/facets-model';\r\nimport { setSort, setMobileFacetsVisibility, setFacetDropdownVisibility } from '../../actions/index';\r\nimport { ToggleFacetTerm } from './toggle-facet-term';\r\nimport { MultiselectDropdownFacetSection } from './multiselect-dropdown-facet-section';\r\nimport { FacetSection } from './facet-section';\r\nimport { IAnalytics } from '../../../global/functions/analytics';\r\nimport { DropdownSelect } from '../../../global/components/inputs/selects/dropdown-select'\r\nimport { IDropdownOption, defaultDivider } from '../../../global/state-helpers/filters';\r\nimport { Dropdown } from '../../../my-account/components/input-edits/security-question-edit';\r\nimport { FieldNames } from '../../state-helpers/facets';\r\nimport { DropdownFacet } from '../../../global/components/inputs/filters/dropdown-facet';\r\nimport { forEach } from 'lodash';\r\n\r\ninterface StatesModel {\r\n id: string;\r\n display: string;\r\n selected: boolean;\r\n}\r\n\r\n//Determines how to render Facets\r\nexport enum RenderTemplate {\r\n DEFAULT,\r\n ONLINE_ONLY,\r\n STATES,\r\n IS_RETIRED,\r\n NONE,\r\n DROPDOWN\r\n}\r\n\r\nconst USA_OPTION_ID = 'USA';\r\nconst INTL_OPTION_ID = 'International';\r\nconst IS_RETIRED_ID = 'IsRetired';\r\nconst ONLINE_ONLY_ID = 'Online Only';\r\n\r\ninterface IStateProps {\r\n facetsHeaderText: string;\r\n facetsResetLinkText: string;\r\n noFacetsText: string;\r\n\r\n facets: IFacetResult[];\r\n\r\n selectedFacetCount: number;\r\n\r\n isLoading: boolean;\r\n dropdownVisibility: boolean;\r\n mobileFacetsVisibility: boolean;\r\n\r\n epiProps: IEpiProps;\r\n}\r\n\r\ninterface IDispatchProps {\r\n setSort: (sortId: string) => void;\r\n setFacetDropdownVisibility: (visible: boolean) => void;\r\n setMobileFacetsVisibility: (visible: boolean) => void;\r\n}\r\n\r\ninterface IOwnProps {\r\n analytics: IAnalytics;\r\n onUpdateSearchFacet: (facets: IFacetResult[]) => void;\r\n}\r\n\r\ntype IProps = IStateProps & IDispatchProps & IOwnProps;\r\n\r\ninterface IState {\r\n\r\n}\r\n\r\nexport class Facets extends React.Component {\r\n // Properties\r\n get hasVisibleFacets() {\r\n return this.props.facets.some(f => f.terms.some(t => t.hits > 0 && t.term.length > 0));\r\n }\r\n\r\n // Render methods\r\n render() {\r\n const { facets, selectedFacetCount, isLoading, facetsHeaderText, facetsResetLinkText, noFacetsText } = this.props;\r\n\r\n return (\r\n
\r\n\r\n {isLoading &&
}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

{facetsHeaderText}

\r\n {selectedFacetCount}\r\n
{facetsResetLinkText}
\r\n
\r\n\r\n
\r\n {/*Map props to object and check template on facet*/}\r\n {facets && this.orderFacets(facets).map((facet, index) =>\r\n {this.renderFacet(facet, index)}\r\n )}\r\n {/*If no visible facets, display a message*/}\r\n {(!this.props.isLoading && !this.hasVisibleFacets)\r\n ?
{noFacetsText}
\r\n : null\r\n }\r\n
\r\n\r\n
\r\n );\r\n }\r\n\r\n renderFacet = (facet: IFacetResult, index: number) => {\r\n if (!facet.terms.some(t => t.hits > 0 && t.term.length > 0)) {\r\n return;\r\n }\r\n\r\n if ((window as any).bootstrap.hideLanguageFilter && facet.name == \"Language\") {\r\n return;\r\n }\r\n\r\n switch (facet.renderTemplate) {\r\n case RenderTemplate.ONLINE_ONLY:\r\n return this.renderToggleFacetSection(facet, index);\r\n case RenderTemplate.IS_RETIRED:\r\n return this.renderToggleFacetSection(facet, index);\r\n case RenderTemplate.STATES:\r\n return this.renderMultiselectDropdownFacetSection(facet, index);\r\n case RenderTemplate.NONE:\r\n return;\r\n case RenderTemplate.DROPDOWN:\r\n return this.renderDropdownFacetSection(facet, index);\r\n default:\r\n return this.renderFacetSection(facet, index);\r\n }\r\n }\r\n orderFacets = (facets: IFacetResult[]) => {\r\n const { epiProps } = this.props;\r\n if (epiProps.facetOrder == null || epiProps.facetOrder.length == 0 ) {\r\n return facets\r\n }\r\n let sortFacetArray = [...epiProps.facetOrder]\r\n let facetsToSort = [...facets]\r\n let result = []\r\n for (let i = 0; i < sortFacetArray.length; i++) {\r\n for (var j = 0; j < facetsToSort.length; j++) {\r\n if (sortFacetArray[i].toLowerCase() == facetsToSort[j].name.toLowerCase()) {\r\n result.push(facetsToSort[j]);\r\n facetsToSort.splice(facetsToSort.indexOf(facetsToSort[j]), 1)\r\n break;\r\n }\r\n }\r\n }\r\n return result.concat(facetsToSort);\r\n }\r\n renderDropdownFacetSection = (facet: IFacetResult, index: number) => {\r\n const { onUpdateSearchFacet, epiProps } = this.props;\r\n\r\n return \r\n }\r\n\r\n getDisabled = (currentFacet: IFacetResult) => {\r\n if (currentFacet.fieldName.toLowerCase() === FieldNames.States) {\r\n let countries = this.props.facets.filter(f => f.fieldName.toLowerCase() === FieldNames.Countries)[0];\r\n return countries && countries.terms.some(t => t.selected) ? false : true;\r\n }\r\n return false;\r\n }\r\n\r\n getDropdownSelected = (id: string, facet: IFacetResult, f: IFacetResult, t: ITerm) => {\r\n // If this is the current term, toggle it\r\n if (t.id === parseInt(id)) {\r\n return !t.selected;\r\n }\r\n // if countries is set to placeholder, unselect states \r\n if ((f.fieldName.toLowerCase() === FieldNames.States && facet.fieldName.toLowerCase() === FieldNames.Countries && !id)\r\n //or if this is a term in the current facet, set it to off\r\n || f.fieldName === facet.fieldName) {\r\n return false;\r\n }\r\n // Otherwise leave as is\r\n return t.selected;\r\n }\r\n\r\n getDropdownTerms = (id: string, facet: IFacetResult, f: IFacetResult) => {\r\n if (id === '' && f.fieldName === facet.fieldName) {\r\n return [];\r\n }\r\n\r\n return f.terms.map(t => ({\r\n ...t,\r\n selected: this.getDropdownSelected(id, facet, f, t)\r\n }))\r\n }\r\n\r\n mapDropdownFacets = (id: string, facet: IFacetResult) => {\r\n return this.props.facets.map(f => ({\r\n ...f,\r\n // Reset the terms for this facet when the placeholder is chosen\r\n terms: this.getDropdownTerms(id, facet, f)\r\n }));\r\n }\r\n\r\n renderToggleFacetSection = (facet: IFacetResult, index: number) => {\r\n const { facets, onUpdateSearchFacet } = this.props;\r\n\r\n const toggleTerm = facet.terms.filter(t => t.term == ONLINE_ONLY_ID || t.term == IS_RETIRED_ID)[0];\r\n return (\r\n <>{toggleTerm &&\r\n this.onToggleTerm(toggleTerm)}\r\n showHits={toggleTerm == null || toggleTerm.term != IS_RETIRED_ID} />\r\n }\r\n \r\n )\r\n }\r\n\r\n renderMultiselectDropdownFacetSection = (facet: IFacetResult, index: number) => {\r\n const { facets, dropdownVisibility, onUpdateSearchFacet } = this.props;\r\n\r\n // Do this different\r\n const states = (window as any).bootstrap.states as StatesModel[];\r\n\r\n const dropdownTerms = facet.terms.map(t => ({\r\n id: t.id,\r\n to: t.to,\r\n from: t.from,\r\n hits: t.hits,\r\n selected: t.selected,\r\n alwaysShow: t.alwaysShow,\r\n term: (states.filter(s => s.id === t.term)[0] || { display: '' }).display\r\n }) as ITerm)\r\n\r\n const checkboxOptions = facets.filter(f => f.name == USA_OPTION_ID || f.name === INTL_OPTION_ID);\r\n const selectedItems = dropdownTerms.filter(d => d.selected).length\r\n const summary = selectedItems > 0 ? selectedItems + ' states(s) selected' : 'Select States';\r\n\r\n return (\r\n \r\n )\r\n }\r\n\r\n renderFacetSection = (facet: IFacetResult, index: number) => {\r\n const { facets, onUpdateSearchFacet } = this.props;\r\n\r\n return (\r\n \r\n )\r\n }\r\n\r\n // Event handlers\r\n onToggleTerm = (term: ITerm) => {\r\n\r\n this.props.analytics.onFacetToggle(term.term, !term.selected);\r\n\r\n const facets = this.props.facets.map(f => ({\r\n ...f,\r\n terms: f.terms.map(t => ({\r\n ...t,\r\n selected: t.id === term.id ? !t.selected : t.selected\r\n }))\r\n }))\r\n this.props.onUpdateSearchFacet(facets);\r\n }\r\n\r\n onSelectAllFacetTerms = (facet: IFacetResult) => {\r\n\r\n this.props.analytics.onFacetToggle(`All ${facet.name}`, true);\r\n\r\n const facets = this.props.facets.map(f => ({\r\n ...f,\r\n terms: f.terms.map(t => ({\r\n ...t,\r\n selected: t.selected || f.name === facet.name\r\n }))\r\n }))\r\n this.props.onUpdateSearchFacet(facets);\r\n }\r\n\r\n onClearAllFacetTerms = (facet: IFacetResult) => {\r\n\r\n this.props.analytics.onFacetToggle(`All ${facet.name}`, false);\r\n\r\n const facets = this.props.facets.map(f => ({\r\n ...f,\r\n terms: f.terms.map(t => ({\r\n ...t,\r\n selected: f.name === facet.name ? false : t.selected\r\n }))\r\n }))\r\n this.props.onUpdateSearchFacet(facets);\r\n }\r\n\r\n onToggleMobileFacets = () => {\r\n const { setMobileFacetsVisibility, mobileFacetsVisibility } = this.props;\r\n setMobileFacetsVisibility(!mobileFacetsVisibility);\r\n }\r\n\r\n onToggleDropdownMenu = () => {\r\n const { setFacetDropdownVisibility, dropdownVisibility } = this.props;\r\n setFacetDropdownVisibility(!dropdownVisibility);\r\n }\r\n\r\n onResetFacets = () => {\r\n const { facets, onUpdateSearchFacet } = this.props;\r\n\r\n const newFacets = facets.map(f => ({\r\n ...f,\r\n terms: f.terms.map(t => ({\r\n ...t,\r\n selected: false\r\n }))\r\n }))\r\n\r\n onUpdateSearchFacet(newFacets);\r\n }\r\n}\r\n\r\n// Mappings\r\nconst mapStateToProps = (state: ISearchAppState): IStateProps => ({\r\n facetsHeaderText: state.epiPropsModel.facetsHeaderText,\r\n facetsResetLinkText: state.epiPropsModel.facetsResetLinkText,\r\n noFacetsText: state.epiPropsModel.noFacetsText,\r\n facets: state.facetsModel.facets,\r\n isLoading: state.resultsModel.loading,\r\n selectedFacetCount: state.facetsModel.selectedFacetCount,\r\n dropdownVisibility: state.facetsModel.dropdownVisible,\r\n mobileFacetsVisibility: state.facetsModel.mobileFacetsVisible,\r\n epiProps: state.epiPropsModel\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch): IDispatchProps => {\r\n return bindActionCreators({\r\n setSort,\r\n setFacetDropdownVisibility,\r\n setMobileFacetsVisibility\r\n }, dispatch);\r\n}\r\n\r\nexport const ConnectedFacets = connect(mapStateToProps, mapDispatchToProps)(Facets);","import * as React from 'react';\r\nimport * as _ from 'lodash';\r\n\r\nimport { IFacetResult, ITerm } from '../../state-helpers/facets';\r\nimport { FacetTerm } from './facet-term';\r\nimport { MultiselectDropdownFacetTerm } from './multiselect-dropdown-facet-term';\r\n\r\ninterface IProps {\r\n //Text shown on the dropdown\r\n summaryText: string;\r\n facet: IFacetResult;\r\n\r\n //Renders the terms on the facets as regular checkbox term facets.\r\n checkboxFacets: IFacetResult[];\r\n //Renders a collection of terms as a dropdown list of clickable facets\r\n dropdownTerms: ITerm[];\r\n dropdownVisible: boolean;\r\n\r\n // Callbacks\r\n onToggleMenu: () => void\r\n onToggleTerm: (term: ITerm) => void;\r\n onSelectAllFacetTerms: (facet: IFacetResult) => void;\r\n onClearAllFacetTerms: (facet: IFacetResult) => void;\r\n}\r\n\r\ninterface IState {\r\n\r\n}\r\n\r\n//Displays a list of checkbox terms followed by a dropdown list of checkbox terms\r\nexport class MultiselectDropdownFacetSection extends React.Component {\r\n\r\n render() {\r\n const {\r\n summaryText,\r\n checkboxFacets,\r\n dropdownTerms,\r\n dropdownVisible,\r\n facet,\r\n } = this.props;\r\n\r\n if (dropdownTerms.length === 0) {\r\n return null;\r\n }\r\n\r\n const activeClass = dropdownVisible ? ' active' : '';\r\n const dropDownIcon = '3';\r\n const divId = 'search-facet-' + (facet.fieldName && facet.fieldName.replace(/\\s+/g, '-')).toLowerCase();\r\n\r\n return (\r\n
\r\n\r\n
\r\n
{facet.name}
\r\n
\r\n\r\n {/*Render checkbox facets as term facets*/}\r\n
\r\n {checkboxFacets.map(this.renderFacetTerm)}\r\n
\r\n\r\n {/*Render dropdown facets as multiselect dropdown*/} \r\n
  • \r\n
    \r\n\r\n
    \r\n {summaryText}\r\n \r\n
    \r\n\r\n \r\n
    \r\n
  • \r\n
    \r\n );\r\n }\r\n\r\n renderFacetTerm = (facet: IFacetResult, index: number) => {\r\n return (\r\n this.props.onToggleTerm(facet.terms[0])} />\r\n )\r\n }\r\n\r\n renderDropdownTerm = (term: ITerm, index: number) => {\r\n return (\r\n this.props.onToggleTerm(term)} />\r\n )\r\n }\r\n\r\n // These could all be cleaned up a bit\r\n onDropDownClick = (ev) => {\r\n ev.nativeEvent.stopImmediatePropagation();\r\n }\r\n}","import * as React from 'react';\r\nimport { ITerm } from '../../state-helpers/facets';\r\n\r\ninterface IProps {\r\n term: ITerm,\r\n onTermClick: () => void;\r\n}\r\n\r\nexport const MultiselectDropdownFacetTerm = ({ term, onTermClick }: IProps) => {\r\n return (\r\n
  • \r\n
    \r\n \r\n\r\n \r\n\r\n
    \r\n

    {term.displayTerm}

    \r\n

    \r\n ({term.hits})\r\n

    \r\n
    \r\n
    \r\n
  • \r\n );\r\n}","import * as React from 'react';\r\nimport * as _ from 'lodash';\r\n\r\nimport { ITerm, IFacetResult } from '../../state-helpers/facets';\r\n\r\ninterface IProps {\r\n term: ITerm;\r\n onTermClick: () => void;\r\n showHits: boolean;\r\n}\r\n\r\n//This component takes a specific term and renders it as a toggle facet\r\nexport const ToggleFacetTerm = ({ term, onTermClick, showHits }: IProps) => {\r\n if (!term || term.hits === 0) {\r\n return null;\r\n }\r\n const divId = 'search-facet-' + (term.fieldName && term.fieldName.replace(/\\s+/g, '-')).toLowerCase();\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    {term.displayTerm} {showHits ? `(${term.hits})` : ''}
    \r\n

    {term.description}

    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react'\r\n\r\nexport interface IPageNumber {\r\n number: number;\r\n active: boolean;\r\n}\r\n\r\nexport interface IPageButton extends IPageNumber {\r\n isLeftMost: boolean;\r\n isRightMost: boolean;\r\n isEllipsis: boolean;\r\n numberOfPages: number;\r\n}\r\n\r\ninterface IProps {\r\n page: IPageButton;\r\n onPageSelect(page: number): void;\r\n}\r\n\r\ninterface IState {\r\n\r\n}\r\n\r\n/// \r\n/// Individual page buttons\r\n/// \r\nexport class PageButton extends React.Component {\r\n\r\n render() {\r\n const { active, isEllipsis, isLeftMost, isRightMost, number, numberOfPages } = this.props.page;\r\n\r\n // Is this an ellipsis?\r\n const content = isEllipsis\r\n ? '...'\r\n // What about the left most button?\r\n : isLeftMost\r\n ? 1\r\n // Right most button?\r\n : isRightMost\r\n ? numberOfPages\r\n // No just show the number\r\n : number;\r\n\r\n // Is this button active?\r\n const divClass = active\r\n ? 'selected'\r\n // Or an ellipsis\r\n : isEllipsis\r\n ? 'ellipsis'\r\n // Nah\r\n : '';\r\n\r\n const onClick = () => isEllipsis ? false : this.props.onPageSelect(number);\r\n\r\n return (\r\n \r\n \r\n
    \r\n );\r\n }\r\n\r\n\r\n}","import * as React from 'react';\r\nimport { Paging } from './paging';\r\nimport { PagingArrows } from './paging-arrows';\r\nimport { PagingSelect } from './paging-select';\r\n\r\ninterface IPaginationProps {\r\n pagination: IPaginationOptions;\r\n onPageSelect(page: number): void;\r\n}\r\n\r\nexport interface IPaginationOptions {\r\n items: number;\r\n pageSize: number;\r\n currentPage: number;\r\n totalPages: number;\r\n}\r\n\r\n\r\n/// \r\n/// Renders pagination arrows and buttons\r\n/// \r\nexport class Pagination extends React.Component {\r\n render() {\r\n return (\r\n
    \r\n
    \r\n \r\n\r\n {/* Separate components for mobile and desktop pagination due to differing numbers of page buttons on each view*/}\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport { IPaginationOptions } from './pagination';\r\n\r\nexport interface IPagingArrowsProps {\r\n paging: IPaginationOptions;\r\n isLeftArrows: boolean;\r\n onPageSelect(page: number): void;\r\n}\r\n\r\n/// \r\n/// Renders left or right page arrow content\r\n/// \r\n/// Content text\r\nexport class PagingArrows extends React.Component {\r\n\r\n render() {\r\n if (this.props.paging.items === 0) {\r\n return null;\r\n }\r\n\r\n return this.props.isLeftArrows\r\n ? this.renderLeftArrows()\r\n : this.renderRightArrows()\r\n }\r\n\r\n renderLeftArrows = () => {\r\n const isDisabled = this.props.paging.currentPage === 1;\r\n const classNames = \"search-pagination-arrows search-pagination-arrows-left\" + (isDisabled ? \" search-pagination-arrows-disabled\" : \"\");\r\n return (\r\n
    \r\n
    isDisabled ? false : this.props.onPageSelect(1)}>\r\n \r\n \r\n \r\n

    First

    \r\n
    \r\n
    isDisabled ? false : this.props.onPageSelect(this.props.paging.currentPage - 1)}>\r\n \r\n \r\n \r\n

    Previous

    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n renderRightArrows = (disabledClass?: string) => {\r\n const numberOfPages = this.props.paging.totalPages;\r\n const isDisabled = this.props.paging.currentPage === numberOfPages;\r\n const classNames = \"search-pagination-arrows search-pagination-arrows-right\" + (isDisabled ? \" search-pagination-arrows-disabled\" : \"\");\r\n\r\n return (\r\n
    \r\n
    isDisabled ? false : this.props.onPageSelect(this.props.paging.currentPage + 1)}>\r\n

    Next

    \r\n \r\n \r\n \r\n
    \r\n
    isDisabled ? false : this.props.onPageSelect(numberOfPages)}>\r\n

    Last

    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}","import * as React from 'react';\r\nimport { IPaginationOptions } from './pagination';\r\n\r\nexport interface IPagingSelectProps {\r\n paging: IPaginationOptions;\r\n onPageSelect(page: number): void;\r\n onInput?: (e: React.FormEvent) => void;\r\n onKeyPress?: (e: React.FormEvent) => void;\r\n onKeyDown?: (e: React.FormEvent) => void;\r\n value: number;\r\n id: string;\r\n labelText?: string;\r\n pagingButtonText?: string;\r\n}\r\n\r\n\r\n\r\n/// \r\n/// Renders left or right page arrow content\r\n/// \r\n/// Content text\r\nexport class PagingSelect extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n value: 1,\r\n error: false,\r\n errorText: `Page does not exist`\r\n };\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n }\r\n\r\n handleChange(event) {\r\n this.setState({ error: false });\r\n let targetNumber = parseInt(event.target.value);\r\n if (targetNumber <= this.props.paging.totalPages && targetNumber != null && targetNumber != NaN && targetNumber >= 1) {\r\n this.setState({ value: targetNumber });\r\n }\r\n else {\r\n this.setState({ value: event.target.value });\r\n this.setState({ error: true });\r\n }\r\n }\r\n\r\n handleSubmit(event) {\r\n if (this.state.value != null && this.state.value <= this.props.paging.totalPages && this.state.value >= 1){\r\n this.props.onPageSelect(this.state.value);\r\n }\r\n event.preventDefault();\r\n }\r\n /// \r\n /// Input for page selection specific to the search pagination\r\n /// \r\n /// input and button for page selection\r\n GetPageSelection() {\r\n \r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n {this.state.error &&\r\n
    \r\n \r\n {this.state.errorText}
    \r\n } \r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n return this.GetPageSelection();\r\n }\r\n}","import * as React from 'react';\r\nimport { ISearchResult } from '../../state-helpers/search-results';\r\nimport { IPage } from '../../state-helpers/page';\r\nimport { getRangeCenteredAt } from '../../../global/functions/math';\r\nimport * as _ from 'lodash';\r\nimport { IPaginationOptions } from './pagination';\r\nimport { addUrlProps, UrlQueryParamTypes } from 'react-url-query';\r\nimport { setPage } from '../../actions/index';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { PageButton, IPageButton, IPageNumber } from './page-button'\r\n\r\nexport interface IProps {\r\n numberOfButtonsToShow: number;\r\n paging: IPaginationOptions;\r\n onPageSelect(page: number): void;\r\n}\r\n\r\nexport interface IState {\r\n\r\n}\r\n\r\n/// \r\n/// Creates and renders collection of page buttons\r\n/// \r\nexport class Paging extends React.Component {\r\n\r\n /// \r\n /// Creates collection of page buttons to render\r\n /// \r\n /// Page buttons\r\n get pages() {\r\n const numberOfPages = this.props.paging.totalPages;\r\n const pagesMiddle = Math.ceil(this.props.numberOfButtonsToShow / 2);\r\n\r\n //Create list of page number objects\r\n var pageNumbers = [];\r\n for (var i = 0; i < (numberOfPages); i++) {\r\n pageNumbers[i] = { number: i + 1, active: (i + 1) === this.props.paging.currentPage } as IPageNumber;\r\n }\r\n\r\n //Filter list to only the numbers we will display\r\n const centered = getRangeCenteredAt(this.props.paging.currentPage, this.props.numberOfButtonsToShow, pageNumbers);\r\n\r\n return centered.map((page, i) => {\r\n //Calculate page-specific attributes\r\n const isLeftMost = i === 0 && page.number !== 1;\r\n const isRightMost = page.number !== numberOfPages && page.number !== (numberOfPages - 1) && (i === centered.length - 1);\r\n\r\n const isLeftEllipsis = ((numberOfPages > this.props.numberOfButtonsToShow) && (this.props.paging.currentPage > pagesMiddle)) && i === 1;\r\n const isRightEllipsis = ((numberOfPages > this.props.numberOfButtonsToShow) && ((numberOfPages - this.props.paging.currentPage) > pagesMiddle)) && i === centered.length - 2;\r\n const isEllipsis = isLeftEllipsis || isRightEllipsis;\r\n\r\n const number = isLeftMost ? 1\r\n : isRightMost ? numberOfPages\r\n : page.number;\r\n\r\n return _.assign(page, {\r\n isLeftMost,\r\n isRightMost,\r\n number,\r\n numberOfPages,\r\n isEllipsis\r\n }) as IPageButton;\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.pages.map(this.renderPageButton)}\r\n
    \r\n );\r\n }\r\n\r\n renderPageButton = (page: IPageButton, index: number) => {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\n","import * as React from 'react';\r\nimport { find } from 'lodash';\r\nimport { setSort } from '../../actions/index';\r\nimport { ISort } from '../../state-helpers/sorts';\r\nimport { IAnalytics } from '../../../global/functions/analytics';\r\nimport { IEpiProps } from '../../state-helpers/epi-props';\r\nimport { addUrlProps, UrlQueryParamTypes } from 'react-url-query';\r\nimport { connect } from 'react-redux';\r\nimport { findDOMNode } from 'react-dom';\r\n\r\nexport interface IAdvancedSearchMenuProps {\r\n epiProps: IEpiProps;\r\n onCloseClick: () => void;\r\n analytics: IAnalytics;\r\n}\r\n\r\nexport class AdvancedSearchMenu extends React.Component {\r\n \r\n componentWillMount() {\r\n document.addEventListener('click', this.handleOutsideClick, false);\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener('click', this.handleOutsideClick, false);\r\n }\r\n\r\n handleOutsideClick = (e) => {\r\n if (e.target.id === 'advanced-search-menu-wrapper') {\r\n this.props.onCloseClick();\r\n }\r\n }\r\n\r\n onAdvancedSearchClick = () => {\r\n this.props.analytics.onLinkClick();\r\n window.location.href = this.props.epiProps.advancedMenuLinkUrl;\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n

    \r\n
      \r\n
    • \r\n
    • \r\n
    • \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n Got It\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n\r\n};\r\n","import * as React from 'react';\r\n\r\nexport interface IAutocompleteResultProps{\r\n id: number;\r\n query: string;\r\n searchTerm: string;\r\n isActive: boolean;\r\n\r\n onResultActive: () => void;\r\n onResultClick: () => void;\r\n}\r\n\r\n// XXX: why is this class duplicated?\r\n/// \r\n/// Renders individual autocomplete items\r\n/// \r\nexport class AutocompleteResult extends React.Component {\r\n\r\n get classes() {\r\n return this.props.isActive ? 'highlighted' : '';\r\n }\r\n\r\n get highlightedAutoComplete() {\r\n // Want to escape all '\\' characters for the Regex. Also what to trim spaces and make it lower case for consistency\r\n var highlightedTerm = this.props.searchTerm\r\n .replace('\\\\', '\\\\\\\\')\r\n .replace('(', '\\\\(')\r\n .replace(')', '\\\\)')\r\n .trim()\r\n .toLowerCase();\r\n return this.props.query.replace(new RegExp('(' + highlightedTerm + ')'), '$1');\r\n }\r\n\r\n /* XXX move this to a connected component\r\n OnClickEventHandler() {\r\n this.props.onSearchTermChanged(this.props.query);\r\n this.props.dispatch(setActiveHit(-1));\r\n this.props.dispatch(setAutocompleteActive(false));\r\n this.props.dispatch(fetchResults(false, false, false, true));\r\n (document.getElementById('txt_search') as HTMLInputElement).value = this.props.query;\r\n //(document.getElementById('txt_search') as HTMLInputElement).focus();\r\n multiPushInUrlQuery({ k: this.props.query, page: '1', context: ContextIds.all });\r\n }\r\n */\r\n\r\n render() {\r\n return (\r\n
  • \r\n\r\n \r\n
  • \r\n );\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport * as Redux from 'redux';\r\nimport { ISearchAppState } from '../../reducers/index';\r\nimport { fetchResults } from '../../actions/results';\r\nimport { IAutocompleteResults, IHit } from '../../state-helpers/autocomplete-results';\r\nimport { IEpiProps } from '../../state-helpers/epi-props';\r\nimport { setAutocompleteActive, setActiveHit } from '../../actions/index';\r\nimport { addUrlProps, UrlQueryParamTypes, subquery, multiPushInUrlQuery, pushInUrlQuery } from 'react-url-query';\r\nimport { ContextIds } from '../../../global/models/search-context';\r\nimport { AutocompleteResult } from './autocomplete-result';\r\n\r\ninterface IProps {\r\n searchTerm: string;\r\n autocompleteResults: IAutocompleteResults;\r\n\r\n onResultActive: (index: number) => void;\r\n onResultClick: (query: string, fromAutocomplete: boolean) => void;\r\n setSearchTerm: (searchTerm: string) => void;\r\n}\r\n\r\n/// \r\n/// Creates and renders collection autocomplete items\r\n/// \r\nexport class Autocomplete extends React.Component {\r\n\r\n render() {\r\n\t\treturn (\r\n\t\t\t
    \r\n
      \r\n {this.props.autocompleteResults.hits.map(this.renderAutocompleteHit)}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n }\r\n\r\n renderAutocompleteHit = (hit: IHit, index: number) => {\r\n const onResultActive = () => this.props.onResultActive(index);\r\n const onResultClick = () => {\r\n this.props.setSearchTerm(hit.query);\r\n this.props.onResultClick(hit.query, true);\r\n };\r\n\r\n return (\r\n \r\n );\r\n }\r\n}","import * as React from 'react';\r\nimport * as Redux from 'redux';\r\nimport { IEpiProps } from '../../state-helpers/epi-props';\r\nimport { setContext } from '../../actions/index'\r\nimport { connect } from 'react-redux';\r\nimport * as ReactCreateClass from 'create-react-class';\r\nimport { ContextIds, ISearchContext } from '../../../global/models/search-context';\r\nimport { Context } from './context';\r\nimport { DropdownSelect } from '../../../global/components/inputs/selects/dropdown-select';\r\nimport { IDropdownOption } from '../../../global/state-helpers/filters';\r\n\r\nexport interface IProps {\r\n epiProps: IEpiProps;\r\n searchContexts: ISearchContext[];\r\n selectedContext: ISearchContext;\r\n onContextSelect: (contextId: string) => void;\r\n}\r\n\r\nexport interface IState {\r\n}\r\n\r\nexport class Contexts extends React.Component {\r\n getDisplayName(id: string) {\r\n switch (id) {\r\n case ContextIds.all:\r\n return this.props.epiProps.defaultContextText;\r\n case ContextIds.policy:\r\n return this.props.epiProps.policyContextText;\r\n case ContextIds.advocacy:\r\n return this.props.epiProps.advocacyContextText;\r\n case ContextIds.publication:\r\n return this.props.epiProps.publicationsContextText;\r\n case ContextIds.members:\r\n return this.props.epiProps.membersContextText;\r\n case ContextIds.poc:\r\n return this.props.epiProps.patientCareContextText;\r\n case ContextIds.grants:\r\n return this.props.epiProps.grantsContextText;\r\n case ContextIds.guidelines:\r\n return this.props.epiProps.guidelinesContextText;\r\n case ContextIds.education:\r\n return this.props.epiProps.educationContextText;\r\n case ContextIds.groups:\r\n return this.props.epiProps.groupsContextText;\r\n case ContextIds.shop:\r\n return this.props.epiProps.shopContextText;\r\n case ContextIds.resources:\r\n return this.props.epiProps.resourcesContextText;\r\n case ContextIds.initiatives:\r\n return this.props.epiProps.initiativesContextText;\r\n case ContextIds.programs:\r\n return this.props.epiProps.programsContextText;\r\n case ContextIds.nicu:\r\n return this.props.epiProps.nicuContextText;\r\n case ContextIds.healthyChildren:\r\n return this.props.epiProps.healthyChildrenContextText;\r\n case ContextIds.newsReleases:\r\n return this.props.epiProps.newsReleasesContextText;\r\n case ContextIds.redBookOnline:\r\n return this.props.epiProps.redBookOnlineContextText;\r\n default: return this.props.epiProps.defaultContextText;\r\n }\r\n }\r\n\r\n render() {\r\n var dropdownOptions = this.props.searchContexts.map(c => Object.freeze({\r\n id: c.id,\r\n display: this.getDisplayName(c.id),\r\n selected: this.props.selectedContext.id === c.id\r\n })) as IDropdownOption[];\r\n \r\n return \r\n }\r\n\r\n onChange = (value: string) => {\r\n this.props.onContextSelect(value);\r\n }\r\n}","import * as React from 'react';\r\nimport * as Redux from 'redux';\r\nimport * as _ from 'lodash';\r\nimport { Contexts } from './contexts';\r\nimport { fetchResults, FetchResultsFlags } from '../../actions/results'\r\nimport { setSort, setSearchTerm, setPage, setAutocompleteActive, setActiveHit, updateSearchFacet, setMobileFacetsVisibility, setContext } from '../../actions/index';\r\nimport { ISearchAppState } from '../../reducers/index'\r\nimport { ISearchResult, IResults } from '../../state-helpers/search-results';\r\nimport { ISort } from '../../state-helpers/sorts';\r\nimport { ISearchCriteria } from '../../state-helpers/search-criteria';\r\nimport { IEpiProps } from '../../state-helpers/epi-props';\r\nimport { IPage } from '../../state-helpers/page';\r\nimport { Autocomplete } from './autocomplete';\r\nimport { IAutocompleteResults, IHit } from '../../state-helpers/autocomplete-results';\r\nimport { ResultsCountMessage } from '../../../global/components/results/results-count-msg';\r\nimport { addUrlProps, UrlQueryParamTypes, subquery, multiPushInUrlQuery, pushInUrlQuery } from 'react-url-query';\r\nimport { connect } from 'react-redux';\r\nimport { ContextIds, ISearchContext } from '../../../global/models/search-context';\r\nimport { bindActionCreators } from 'redux';\r\nimport { fetchAutocompleteResults } from '../../actions/autocomplete-results';\r\nimport { IFacetResult } from '../../state-helpers/facets';\r\nimport { Suggestion } from './suggestion';\r\nimport { AdvancedSearchMenu } from './advanced-search-menu';\r\nimport { IAnalytics } from '../../../global/functions/analytics';\r\nimport { hasNonAsciiCharacters } from '../../../global/functions/validation';\r\n\r\ninterface IStateProps {\r\n loading: boolean;\r\n suggestion: string;\r\n searchTerm: string;\r\n totalResults: number;\r\n pageModel: IPage;\r\n visibleResults: ISearchResult[];\r\n selectedContext: ISearchContext;\r\n autocompleteResults: IAutocompleteResults\r\n epiProps: IEpiProps;\r\n}\r\n\r\ninterface IDispatchProps {\r\n setActiveHit: (index: number) => void;\r\n setSearchTerm: (term: string) => void;\r\n setPage: (page: number) => void;\r\n fetchResults: (flags: FetchResultsFlags) => void;\r\n setAutocompleteActive: (active: boolean) => void;\r\n fetchAutocompleteResults: (searchTerm: string) => void;\r\n updateSearchFacet: (facets: IFacetResult[]) => void;\r\n setMobileFacetsVisibility: (visible: boolean) => void;\r\n}\r\n\r\ninterface IOwnProps {\r\n searchContexts: ISearchContext[],\r\n onContextSelect: (contextId: string) => void;\r\n analytics: IAnalytics\r\n}\r\n\r\ntype IProps = IStateProps & IDispatchProps & IOwnProps\r\n\r\ninterface IState {\r\n searchTerm: string;\r\n advancedMenuVisible: boolean\r\n}\r\n\r\nconst MAX_CHARACTERS = 243; // BestBets triggers an error if term length exceeds this\r\n\r\nexport class SearchBar extends React.Component {\r\n\r\n state: IState = {\r\n searchTerm: '',\r\n advancedMenuVisible: false\r\n }\r\n\r\n componentWillMount() {\r\n this.setSearchTerm(this.defaultValue);\r\n }\r\n\r\n /**\r\n * Function to read search term from URL without reading state props\r\n */\r\n get defaultValue() {\r\n var query = window.location.search;\r\n var vars = query.split(/[\\&\\?/]/);\r\n\r\n for (var i = 0; i < vars.length; i++) {\r\n\r\n var pair = vars[i];\r\n\r\n if (_.startsWith(pair, \"k=\")) {\r\n return decodeURIComponent(pair.split('=')[1]);\r\n }\r\n }\r\n\r\n return this.state.searchTerm;\r\n }\r\n\r\n get placeHolderText(): string {\r\n const { selectedContext } = this.props; \r\n if (typeof (selectedContext) != 'undefined' && selectedContext != null) {\r\n switch (selectedContext.id) {\r\n case ContextIds.all:\r\n return this.props.epiProps.defaultPlaceholderText;\r\n case ContextIds.policy:\r\n return this.props.epiProps.policyPlaceholderText;\r\n case ContextIds.advocacy:\r\n return this.props.epiProps.advocacyPlaceholderText;\r\n case ContextIds.publication:\r\n return this.props.epiProps.publicationsPlaceholderText;\r\n case ContextIds.members:\r\n return this.props.epiProps.membersPlaceholderText;\r\n case ContextIds.poc:\r\n return this.props.epiProps.patientCarePlaceholderText;\r\n case ContextIds.grants:\r\n return this.props.epiProps.grantsPlaceholderText;\r\n case ContextIds.guidelines:\r\n return this.props.epiProps.guidelinesPlaceholderText;\r\n case ContextIds.education:\r\n return this.props.epiProps.educationPlaceholderText;\r\n case ContextIds.groups:\r\n return this.props.epiProps.groupsPlaceholderText;\r\n case ContextIds.shop:\r\n return this.props.epiProps.shopPlaceholderText;\r\n case ContextIds.resources:\r\n return this.props.epiProps.resourcePlaceholderText;\r\n case ContextIds.initiatives:\r\n return this.props.epiProps.initativesPlaceholderText;\r\n case ContextIds.programs:\r\n return this.props.epiProps.programsPlaceholderText;\r\n case ContextIds.nicu:\r\n return this.props.epiProps.nicuPlaceholderText;\r\n case ContextIds.healthyChildren:\r\n return this.props.epiProps.healthyChildrenPlaceholderText;\r\n case ContextIds.newsReleases:\r\n return this.props.epiProps.newsReleasesPlaceholderText;\r\n case ContextIds.redBookOnline:\r\n return this.props.epiProps.redBookOnlinePlaceholderText;\r\n default: return this.props.epiProps.defaultPlaceholderText;\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n\r\n {this.renderAdvancedMenu()}\r\n\r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n\r\n { this.renderClearInput() }\r\n { this.renderAutocomplete() }\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n Advanced Search Tips\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n setSearchTerm = (searchTerm: string) => {\r\n this.setState({searchTerm});\r\n }\r\n\r\n renderAdvancedMenu = () => {\r\n if (!this.state.advancedMenuVisible) {\r\n return;\r\n }\r\n\r\n return \r\n }\r\n\r\n renderClearInput = () => {\r\n if (this.state.searchTerm.length === 0) {\r\n return;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n renderAutocomplete = () => {\r\n const { autocompleteResults } = this.props;\r\n\r\n if (!autocompleteResults.isActive || this.state.searchTerm.length < 3 || autocompleteResults.hits.length === 0) {\r\n return;\r\n }\r\n\r\n return (\r\n \r\n\r\n )\r\n }\r\n\r\n onSearch = (term = null, fromAutocomplete = false) => {\r\n term = term || this.state.searchTerm;\r\n this.props.setSearchTerm(term);\r\n\r\n // Clear facets and set to first page on new search\r\n this.props.setPage(1);\r\n this.props.updateSearchFacet([]);\r\n this.props.setMobileFacetsVisibility(false);\r\n\r\n let fetchFlags = FetchResultsFlags.WithSuggestion;\r\n if (fromAutocomplete) {\r\n this.props.fetchAutocompleteResults(term);\r\n this.props.setActiveHit(-1);\r\n multiPushInUrlQuery({ context: ContextIds.all });\r\n\r\n fetchFlags |= FetchResultsFlags.FromAutocomplete;\r\n }\r\n this.props.fetchResults(fetchFlags);\r\n\r\n this.props.setAutocompleteActive(false);\r\n multiPushInUrlQuery({ k: term, page: '1' });\r\n }\r\n\r\n onInputChange = (e) => {\r\n // check if any characters are non-ascii\r\n // if so, don't allow them\r\n if (hasNonAsciiCharacters(e.target.value)) {\r\n return;\r\n }\r\n this.setSearchTerm(e.target.value);\r\n //TODO: Add autocomplete back in once CORS is working\r\n //this.props.fetchAutocompleteResults(e.target.value);\r\n //this.props.setAutocompleteActive(true);\r\n }\r\n\r\n onBlur = (e) => {\r\n if (this.props.autocompleteResults.activeHit == -1) {\r\n this.props.setAutocompleteActive(false);\r\n }\r\n }\r\n\r\n onFocus = (e) => {\r\n this.props.setAutocompleteActive(true);\r\n }\r\n\r\n onInputClear = (e) => {\r\n this.setSearchTerm('');\r\n }\r\n\r\n /// \r\n /// Intercepts special keys that handle autocomplete scrolling and selection\r\n /// \r\n onInputKeyDown = (e) => {\r\n const { autocompleteResults, setActiveHit } = this.props;\r\n\r\n switch (e.keyCode) {\r\n //Up arrow\r\n //Move selected autocomplete result up one\r\n case 38: {\r\n e.preventDefault();\r\n if (autocompleteResults.activeHit == -1) {\r\n setActiveHit(autocompleteResults.hits.length - 1);\r\n } else {\r\n setActiveHit(autocompleteResults.activeHit - 1);\r\n }\r\n break;\r\n }\r\n\r\n //Down arrow\r\n //Move selected autocomplete result down one\r\n case 40: {\r\n e.preventDefault();\r\n if (autocompleteResults.activeHit == autocompleteResults.hits.length - 1)\r\n setActiveHit(-1);\r\n else\r\n setActiveHit(autocompleteResults.activeHit + 1);\r\n break;\r\n }\r\n\r\n //Enter key\r\n //If an autocomplete option is selected, change the search text to that, otherwise submit\r\n case 13: {\r\n let term = this.state.searchTerm;\r\n\r\n if (autocompleteResults.activeHit > -1) {\r\n term = this.props.autocompleteResults.hits[this.props.autocompleteResults.activeHit].query;\r\n this.setSearchTerm(term);\r\n }\r\n\r\n this.props.setAutocompleteActive(false);\r\n this.onSearch(term, this.props.autocompleteResults.activeHit > -1);\r\n }\r\n }\r\n }\r\n\r\n onSuggestionClick = () => {\r\n const { suggestion, setPage, fetchResults, setAutocompleteActive } = this.props;\r\n\r\n this.setSearchTerm(suggestion);\r\n setPage(1);\r\n fetchResults(FetchResultsFlags.None);\r\n setAutocompleteActive(false);\r\n\r\n multiPushInUrlQuery({ k: suggestion, page: '1' })\r\n }\r\n\r\n onAutocompleteHover = (index: number) => {\r\n this.props.setActiveHit(index);\r\n }\r\n\r\n onShowAdvancedMenu = () => {\r\n this.setState({ advancedMenuVisible: true })\r\n }\r\n\r\n onHideAdvancedMenu = () => {\r\n this.setState({ advancedMenuVisible: false })\r\n }\r\n\r\n};\r\n\r\nconst mapStateToProps = (state: ISearchAppState): IStateProps => ({\r\n epiProps: state.epiPropsModel,\r\n loading: state.resultsModel.loading,\r\n totalResults: state.resultsModel.totalNumber,\r\n visibleResults: state.resultsModel.searchItemList,\r\n pageModel: state.pageModel,\r\n suggestion: state.resultsModel.suggestion,\r\n searchTerm: state.searchTermModel,\r\n selectedContext: state.selectedSearchContext,\r\n autocompleteResults: state.autocompleteResultsModel\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps: IOwnProps): IDispatchProps => {\r\n return bindActionCreators({\r\n setSearchTerm,\r\n setPage,\r\n fetchResults: fetchResults(ownProps.analytics),\r\n setAutocompleteActive,\r\n fetchAutocompleteResults,\r\n updateSearchFacet,\r\n setMobileFacetsVisibility,\r\n setActiveHit\r\n }, dispatch);\r\n}\r\n\r\nexport const ConnectedSearchBar = connect(mapStateToProps, mapDispatchToProps)(SearchBar);","import * as React from 'react';\r\nimport { find } from 'lodash';\r\nimport { setSort } from '../../actions/index';\r\nimport { ISort } from '../../state-helpers/sorts';\r\nimport { IEpiProps } from '../../state-helpers/epi-props';\r\nimport { addUrlProps, UrlQueryParamTypes } from 'react-url-query';\r\nimport { connect } from 'react-redux';\r\nimport * as ReactCreateClass from 'create-react-class';\r\n\r\nimport { SortGroup } from '../../../../App/global/components/inputs/sort/sort';\r\nimport { IGlobalSort } from '../../../../App/global/state-helpers/sort';\r\nimport { IResults } from '../../state-helpers/search-results';\r\n\r\n\r\nexport interface ISortsProps {\r\n sorts: ISort[];\r\n onSortSelect: (sortId: string) => void;\r\n epiProps: IEpiProps;\r\n}\r\n\r\n\r\nexport interface ISortProps {\r\n sort: ISort;\r\n key: any;\r\n epiProps: IEpiProps;\r\n groupName: any;\r\n}\r\n\r\nconst urlPropsQueryConfig = {\r\n queryCurrentSort: { type: UrlQueryParamTypes.string, queryParam: \"sort\" },\r\n}\r\n\r\nfunction mapStateToProps(state, props) {\r\n return {\r\n currentPage: state.sortsModel.sortId,\r\n };\r\n}\r\n\r\n/**\r\n * Standard react-redux mapDispatchToProps\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n sortSelectProp: (sortId) => dispatch(setSort(sortId)),\r\n };\r\n}\r\n\r\n\r\nexport function GetSorts(sortsModel: ISort[], epiProps: IEpiProps): IGlobalSort[] {\r\n return sortsModel.map((sort, i, arr) => {\r\n let newSort: IGlobalSort = {\r\n display: getDisplayName(sort.id, epiProps),\r\n sortId: sort.id,\r\n selected: sort.selected\r\n };\r\n return newSort;\r\n });\r\n}\r\n\r\n//export const Sort = ReactCreateClass({\r\n// render: function () {\r\n// let uniqueId = this.props.sort.id + '-' + this.props.groupName;\r\n// return (\r\n//
    \r\n// \r\n// \r\n//
    \r\n// );\r\n// },\r\n//});\r\n\r\nfunction getDisplayName(id: string, epiProps: IEpiProps) {\r\n switch (id) {\r\n case 'relevance':\r\n return epiProps.relevantSortText;\r\n case 'title':\r\n return epiProps.alphabeticalSortText;\r\n case 'rTitle':\r\n return epiProps.reverseAlphabeticalSortText;\r\n case 'newest':\r\n return epiProps.newestToOldestSortText;\r\n case 'oldest':\r\n return epiProps.oldestToNewestSortText;\r\n }\r\n}\r\n\r\n\r\n//export class Sorts extends React.Component {\r\n\r\n// constructor(props) {\r\n// super(props);\r\n\r\n// if (props.queryCurrentSort) {\r\n// props.sortSelectProp(props.queryCurrentSort);\r\n// }\r\n// }\r\n\r\n// render() {\r\n// let groupInputName = 'sort-desktop';\r\n// return (\r\n//
    \r\n//
    this.props.onSortSelect((ev.target as any).value)}\r\n// ref=\"fieldset\">\r\n//
    \r\n// {this.props.sorts.map((s, index) => )}\r\n//
    \r\n\r\n//
    \r\n//
    \r\n// );\r\n// }\r\n\r\n// componentWillReceiveProps(newProps: ISortsProps) {\r\n// const select = this.refs['fieldset'] as any;\r\n// select.value = find(newProps.sorts, s => s.selected).id;\r\n// }\r\n//}\r\n\r\n//export var ConnectedSorts = addUrlProps({ urlPropsQueryConfig })(connect(mapStateToProps, mapDispatchToProps)(Sorts));","import * as React from 'react';\r\nimport { IEpiProps } from '../../state-helpers/epi-props';\r\nimport * as Redux from 'redux';\r\nimport { addUrlProps, UrlQueryParamTypes, subquery, multiPushInUrlQuery, pushInUrlQuery } from 'react-url-query';\r\nimport { fetchResults } from '../../actions/results';\r\nimport { ISearchAppState } from '../../reducers/index';\r\nimport { connect } from 'react-redux';\r\n\r\nexport interface ISuggestionProps {\r\n suggestion: string;\r\n epiProps: IEpiProps;\r\n loading: boolean;\r\n\r\n onSuggestionClick: () => void;\r\n}\r\n\r\n//End routing \r\n\r\nexport class Suggestion extends React.Component {\r\n\r\n /* XXX: move to connected component\r\n suggestionClick(e) {\r\n this.props.dispatch(setSearchTerm(this.props.suggestion));\r\n this.props.dispatch(setPage(1));\r\n this.props.dispatch(fetchResults());\r\n this.props.dispatch(setAutocompleteActive(false));\r\n multiPushInUrlQuery({ k: this.props.suggestion, page: '1' });\r\n (document.getElementById('txt_search') as HTMLInputElement).value = this.props.suggestion;\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return false;\r\n }\r\n */\r\n\r\n render() {\r\n if (this.props.suggestion === null || this.props.suggestion.length <= 0 || this.props.loading === true) {\r\n return null;\r\n }\r\n\r\n return (\r\n

    \r\n {this.props.epiProps.suggestionText} {this.props.suggestion}?\r\n

    \r\n );\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport * as _ from 'lodash';\r\nimport * as qs from 'query-string';\r\nimport { ISearchAppState } from '../reducers/index'\r\nimport { connect } from 'react-redux';\r\nimport { IResults } from '../state-helpers/search-results';\r\nimport { IFacetResult, updateFacetSelected, englishFacets, spanishFacets } from '../state-helpers/facets';\r\nimport { ConnectedSearchBar } from '../components/search-bar/search-bar'\r\nimport { LoadingSpinner } from '../../global/components/loading-spinner'\r\nimport { SearchResult } from '../components/search-results/search-result'\r\nimport { Error } from '../components/search-results/error'\r\nimport { NoResults } from '../components/search-results/no-results'\r\nimport { NoAutocompleteResults } from '../components/search-results/no-autocomplete-results'\r\nimport { EmptyResults } from '../components/search-results/empty'\r\nimport { GetSorts } from '../components/search-bar/sorts'\r\nimport { SortGroup } from '../../../App/global/components/inputs/sort/sort';\r\nimport { ConnectedFacets } from '../components/facets/facets'\r\nimport { ITerm } from '../state-helpers/facets';\r\nimport { ISort, ISortField, memberSortModel, initialSortModel } from '../state-helpers/sorts';\r\nimport { setSort, setPage, setSortModel, setSearchTerm, setContext, updateSearchFacet, setMobileFacetsVisibility, setSelectedFacetCount } from '../actions/index';\r\nimport { fetchResults, getSelectedFacetCount, setFacetsAndCount, FetchResultsFlags } from '../actions/results'\r\nimport { fetchAutocompleteResults } from '../actions/autocomplete-results'\r\nimport { setUrlFacets } from '../../global/actions/filter-actions';\r\nimport { fetchEpiProps } from '../actions/props'\r\nimport { Pagination, IPaginationOptions } from '../components/pagination/pagination';\r\nimport { pushInUrlQuery, multiPushInUrlQuery } from 'react-url-query';\r\nimport { checkFilters } from '../actions/filters';\r\nimport { trackClick } from '../actions/track-click'\r\nimport { ISearchContext, ContextIds } from '../../global/models/search-context';\r\nimport { PopupWarning } from '../../global/components/errors/popup-warning';\r\nimport { bindActionCreators } from 'redux';\r\nimport { IEpiProps } from '../state-helpers/epi-props';\r\nimport { clearErrorText } from '../actions'\r\nimport { IPage } from '../state-helpers/page';\r\nimport { IAnalytics } from '../../global/functions/analytics';\r\nimport { IGlobalSort } from '../../global/state-helpers/sort';\r\nimport { WithRouterWrapper } from '../../global/functions/with-router-wrapper';\r\nimport { sendShopSearchResultListScriptToGTM } from '../../../Static/javascript/modules/shop-google-analytics';\r\n\r\n\r\ninterface IStateProps {\r\n epiProps: IEpiProps;\r\n searchResults: IResults;\r\n searchTerm: string;\r\n selectedSearchContext: ISearchContext;\r\n pageModel: IPage;\r\n sortsModel: ISort[]\r\n}\r\n\r\ninterface IDispatchProps {\r\n fetchEpiProps: () => void;\r\n fetchResults: (flags: FetchResultsFlags) => void;\r\n setContext: (context: ISearchContext) => void;\r\n setPage: (page: number) => void;\r\n trackClick: (id: string) => void;\r\n fetchAutocompleteResults: (searchTerm: string) => void;\r\n setSearchTerm: (term: string) => void;\r\n setSort: (sortId: string) => void;\r\n setSortModel: (sortModel: ISort[]) => void;\r\n updateSearchFacet: (facets: IFacetResult[]) => void;\r\n setMobileFacetsVisibility: (visible: boolean) => void;\r\n clearErrorText: (results: IResults) => void;\r\n setSelectedFacetCount: (count: number) => void;\r\n}\r\n\r\ninterface IOwnProps {\r\n isLandingPage: boolean,\r\n analytics: IAnalytics,\r\n location: any,\r\n searchDefaultSort: string,\r\n searchMembershipSort: string,\r\n searchPolicySort: string,\r\n searchPublicationsSort: string,\r\n searchPointofCareSort: string,\r\n searchShopSort: string,\r\n searchHealthyChildrenSort: string,\r\n searchNewsSort: string,\r\n searchRedBookSort: string\r\n}\r\n\r\ntype IOwnRouteProps = IOwnProps \r\n\r\ntype IProps = IStateProps & IDispatchProps & IOwnRouteProps\r\n\r\ninterface IQueryProps {\r\n k?: string;\r\n page?: string;\r\n sort?: string;\r\n context?: string;\r\n facets?: string;\r\n lang?: string;\r\n}\r\n\r\ninterface IState {\r\n loadingState: boolean,\r\n\r\n searchContexts: ISearchContext[],\r\n\r\n filterWarning: string,\r\n showFilterWarning: boolean,\r\n locationState:any,\r\n}\r\n\r\nclass SearchApp extends React.Component {\r\n\r\n state: IState = {\r\n loadingState: true,\r\n searchContexts: [],\r\n\r\n filterWarning: '',\r\n showFilterWarning: false,\r\n locationState: this.props.location\r\n }\r\n get queryProps(): IQueryProps {\r\n \r\n\r\n return qs.parse(this.state?.locationState?.search)\r\n }\r\n\r\n componentWillMount() {\r\n this.props.fetchEpiProps();\r\n this.parseQuery();\r\n\r\n // Load everything we need\r\n this.loadContexts().then(() => {\r\n // Indicate we're done loading in state\r\n this.setState({ loadingState: false })\r\n\r\n // If there are no query parameters then the default state should be to load facets and not show results\r\n // If there are query parameters the router will handle initialization\r\n\r\n // Now that everything is loaded, execute a search if there is a query or context,\r\n // or just get facets for nothing\r\n if (this.queryProps.k || this.queryProps.context || this.props.isLandingPage) {\r\n this.props.fetchResults(FetchResultsFlags.None)\r\n } else {\r\n this.props.fetchResults(FetchResultsFlags.OnlyGetFacets)\r\n }\r\n })\r\n }\r\n\r\n componentDidUpdate() {\r\n sendShopSearchResultListScriptToGTM();\r\n }\r\n\r\n parseQuery = () => {\r\n const { queryProps } = this;\r\n let sortVar = \"relevance\";\r\n if (queryProps.k) {\r\n this.props.setSearchTerm(queryProps.k);\r\n }\r\n if (queryProps.page) {\r\n this.props.setPage(parseInt(queryProps.page))\r\n }\r\n if (queryProps.sort) {\r\n sortVar = queryProps.sort;\r\n }\r\n //If the sort is not set in the query props set the default sort according to the context as long as the string is available or it will be relevance\r\n if (!queryProps.sort) {\r\n sortVar = this.getDefaultSortValue(queryProps.context);\r\n }\r\n this.props.setSort(sortVar);\r\n\r\n // A little excessive\r\n // Refactoring idea - ONLY selected terms are present in state\r\n let facets: IFacetResult[] = [];\r\n if (queryProps.facets) {\r\n facets = JSON.parse(queryProps.facets).map(facet => ({\r\n fieldName: facet.fieldName,\r\n name: facet.name,\r\n terms: facet.terms.map(term => ({\r\n term: term.term,\r\n selected: true\r\n }))\r\n }));\r\n }\r\n\r\n if (queryProps.lang) {\r\n if (queryProps.lang.toLowerCase() === 'english') {\r\n facets = facets.length\r\n ? updateFacetSelected('language', queryProps.lang, facets)\r\n : englishFacets;\r\n }\r\n if (queryProps.lang.toLowerCase() === 'spanish') {\r\n facets = facets.length\r\n ? updateFacetSelected('language', queryProps.lang, facets)\r\n : spanishFacets;\r\n }\r\n }\r\n this.props.updateSearchFacet(facets);\r\n }\r\n\r\n loadContexts = (): Promise => {\r\n return new Promise((resolve, reject) => {\r\n // Fetch the contexts from the API\r\n fetch('/api/v1/search/advanced/contexts')\r\n // Grab the JSON data\r\n .then(res => res.json())\r\n // Put it in the state, upon completion resolve the promise\r\n .then(json => this.setState({ searchContexts: json }, () => {\r\n const context = json.filter(c => c.id === this.queryProps.context)[0] || json[0];\r\n\r\n this.props.setContext(context);\r\n this.setSortsModel(context.id);\r\n if (context.id == 'Members') {\r\n let sortVar = this.getDefaultSortValue(context.id);\r\n if (this.queryProps.sort) {\r\n sortVar = this.queryProps.sort;\r\n }\r\n //If the sort is not set in the query props set the default sort according to the context as long as the string is available or it will be relevance\r\n this.props.setSort(sortVar);\r\n }\r\n resolve();\r\n }))\r\n // Reject the promise on error\r\n .catch(reject);\r\n });\r\n }\r\n\r\n render() {\r\n\r\n if ((window as any).bootstrap.tags != null && (window as any).bootstrap.tags.length > 0 && this.props.searchResults.totalNumber === 0) {\r\n return null;\r\n }\r\n\r\n let width = window.innerWidth;\r\n const pagination = {\r\n items: this.props.searchResults.totalNumber,\r\n currentPage: this.props.pageModel.page,\r\n pageSize: this.props.pageModel.pageSize,\r\n totalPages: this.props.searchResults.totalPages\r\n } as IPaginationOptions;\r\n\r\n if (this.state.loadingState || !this.props.selectedSearchContext) {\r\n return

    \r\n }\r\n const MemberDirectoryDisclaimer = this.props.epiProps.memberDirectoryDisclaimer;\r\n return (\r\n\r\n
    \r\n\r\n {\r\n this.props.searchResults.errorMessage != '' &&\r\n this.props.clearErrorText(this.props.searchResults)} />\r\n }\r\n {\r\n this.state.showFilterWarning &&\r\n this.setState({ showFilterWarning: false })} />\r\n }\r\n\r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n \r\n {!this.props.searchResults.loading && this.props.selectedSearchContext.display == \"Members\" && MemberDirectoryDisclaimer ?\r\n
    \r\n : null\r\n }\r\n\r\n \r\n\r\n
    \r\n \r\n
    \r\n\r\n {/* this.onSortSelect(sortId)} epiProps={this.props.epiProps} />*/}\r\n\r\n {) => this.onSortSelect(sort.sortId)}\r\n />}\r\n\r\n {!this.props.searchResults.loading && this.props.searchResults.searchItemList.some(r => r.isBestBet) ?\r\n
    \r\n \r\n \r\n \r\n
    Top Results
    \r\n
    \r\n : null\r\n }\r\n\r\n \r\n\r\n {this.renderNoResults()}\r\n {this.renderEmptyResults()}\r\n {this.renderSearchResults()}\r\n {this.renderPagination(pagination)}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n renderNoResults = () => {\r\n const { searchTerm, searchResults, epiProps, selectedSearchContext } = this.props;\r\n\r\n // If we have a seach term & are supposed to show results, no longer loading but there were no results\r\n if (searchTerm.length > 0 && searchResults.showResults && searchResults.searchItemList && searchResults.searchItemList.length === 0 && !searchResults.loading) {\r\n // Show a certain message if autocomplete led to no results\r\n return searchResults.fromAutocomplete\r\n ? \r\n : \r\n }\r\n }\r\n\r\n renderEmptyResults = () => {\r\n const { searchTerm, searchResults, epiProps } = this.props;\r\n\r\n // Nothing was searched, and we're not loading\r\n if (searchTerm.length === 0 && searchResults.searchItemList.length === 0 && !searchResults.loading && window.location.search.length === 0) {\r\n return \r\n }\r\n }\r\n\r\n renderSearchResults = () => {\r\n const { searchResults, epiProps, trackClick } = this.props;\r\n\r\n // We're not loading and got some results\r\n if (!searchResults.loading && searchResults.searchItemList.length > 0) {\r\n return searchResults.searchItemList.map((result, index) => (\r\n \r\n ));\r\n }\r\n }\r\n\r\n renderPagination = (pagination: IPaginationOptions) => {\r\n const { searchResults } = this.props;\r\n\r\n // We're not loading and got multiple pages of results\r\n if (!searchResults.loading && searchResults.searchItemList.length > 0) {\r\n return this.onPageSelect(page)} />\r\n }\r\n }\r\n\r\n scrollToTop = () => {\r\n // Scroll to top of page if search page\r\n // Scroll to top of body for landing page\r\n\r\n var landingPageContainerElements = document.getElementsByClassName(\"automatic-landing-page\");\r\n if (landingPageContainerElements.length == 0) {\r\n window.scroll(0, 0);\r\n } else {\r\n document.getElementById(\"search-page-app\").scrollIntoView();\r\n window.scrollBy(0, -5);\r\n\r\n // Adjust for sticky header\r\n var stickyHeaderElements = document.getElementsByClassName(\"header-inner\");\r\n if (stickyHeaderElements.length > 0) {\r\n window.scrollBy(0, stickyHeaderElements[0].clientHeight * -1);\r\n }\r\n }\r\n }\r\n\r\n getDefaultSortValue = (id) => {\r\n switch (id) {\r\n case 'all':\r\n return this.props.searchDefaultSort ? this.props.searchDefaultSort : 'relevance';\r\n break;\r\n case 'Members':\r\n return this.props.searchMembershipSort ? this.props.searchMembershipSort : 'relevance';\r\n break;\r\n case 'Policy':\r\n return this.props.searchPolicySort ? this.props.searchPolicySort : 'relevance';\r\n break;\r\n case 'Publication':\r\n return this.props.searchPublicationsSort ? this.props.searchPublicationsSort : 'relevance';\r\n break;\r\n case 'Point-of-Care':\r\n return this.props.searchPointofCareSort ? this.props.searchPointofCareSort : 'relevance';\r\n break;\r\n case 'Shop':\r\n return this.props.searchShopSort ? this.props.searchShopSort : 'relevance';\r\n break;\r\n case 'Healthy Children':\r\n return this.props.searchHealthyChildrenSort ? this.props.searchHealthyChildrenSort : 'relevance';\r\n break;\r\n case 'News Releases':\r\n return this.props.searchNewsSort ? this.props.searchNewsSort : 'relevance';\r\n break;\r\n case 'Red Book Online':\r\n return this.props.searchRedBookSort ? this.props.searchRedBookSort : 'relevance';\r\n break;\r\n default:\r\n return this.props.searchDefaultSort ? this.props.searchDefaultSort : 'relevance';\r\n }\r\n }\r\n\r\n onSortSelect = (sortId: string) => {\r\n this.props.setPage(1);\r\n\r\n const oldSort = this.props.sortsModel\r\n .filter(s => s.selected)\r\n .map(s => s.id)\r\n .reduce((prev, id) => id);\r\n this.props.analytics.onSortChanged(oldSort, sortId);\r\n\r\n this.props.setSort(sortId);\r\n this.props.fetchResults(FetchResultsFlags.None);\r\n multiPushInUrlQuery({ sort: sortId, page: '1' });\r\n this.scrollToTop();\r\n }\r\n\r\n onRefinementSelect = (sortId: string) => {\r\n this.props.setSort(sortId);\r\n this.props.fetchResults(FetchResultsFlags.None);\r\n pushInUrlQuery('page', '1');\r\n }\r\n\r\n onPageSelect = (page: number) => {\r\n\r\n const oldPage = this.props.pageModel.page;\r\n this.props.analytics.onPageChanged(oldPage, page);\r\n\r\n this.props.setPage(page);\r\n this.props.fetchResults(FetchResultsFlags.None);\r\n pushInUrlQuery('page', page);\r\n this.scrollToTop();\r\n }\r\n\r\n\r\n setSortsModel = (contextId: string) => {\r\n if (contextId === ContextIds.members) {\r\n this.props.setSortModel(memberSortModel);\r\n }\r\n else {\r\n this.props.setSortModel(initialSortModel);\r\n }\r\n }\r\n\r\n onContextSelect = (contextId: string) => {\r\n const oldContext = this.props.selectedSearchContext;\r\n const newContext = this.state.searchContexts.filter(c => c.id === contextId)[0];\r\n\r\n const defaultSort = this.getDefaultSortValue(contextId);\r\n // Notify google tag manager\r\n this.props.analytics.onContextChanged(oldContext.display, newContext.display);\r\n\r\n this.setSortsModel(contextId);\r\n\r\n this.props.setPage(1);\r\n this.props.setSort(defaultSort);\r\n //Reset facets when switching contexts\r\n multiPushInUrlQuery({ context: contextId, page: '1', facets: null, sort: defaultSort, k: this.props.searchTerm });\r\n this.props.updateSearchFacet([]);\r\n this.props.setMobileFacetsVisibility(false);\r\n this.props.setContext(newContext);\r\n this.props.fetchResults(FetchResultsFlags.None);\r\n\r\n // Check the search filters\r\n const { searchTerm } = this.props;\r\n const badFilters = checkFilters(newContext, searchTerm);\r\n\r\n if (badFilters.length > 0) {\r\n const warning = this.props.epiProps.filterWarningText\r\n .replace('{{context}}', newContext.display)\r\n .replace('{{filters}}', badFilters.join(', '));\r\n \r\n this.setState({\r\n filterWarning: warning,\r\n showFilterWarning: true\r\n })\r\n }\r\n\r\n this.scrollToTop();\r\n }\r\n\r\n onUpdateSearchFacet = (facets: IFacetResult[]) => {\r\n this.props.setPage(1);\r\n this.props.updateSearchFacet(facets);\r\n this.props.setSelectedFacetCount(getSelectedFacetCount(facets));\r\n\r\n this.props.fetchResults(FetchResultsFlags.None);\r\n var selectedFacets = facets\r\n .map((item, i) => {\r\n return item.terms.some(f => f.selected === true)\r\n ? { name: item.name, fieldName: item.fieldName, terms: item.terms.filter(t => t.selected === true) } : null\r\n })\r\n .filter(f => f != null);\r\n var facetList = JSON.stringify(selectedFacets);\r\n setUrlFacets(facets);\r\n \r\n multiPushInUrlQuery({\r\n context: this.props.selectedSearchContext.id\r\n });\r\n \r\n this.scrollToTop();\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state: ISearchAppState): IStateProps => ({\r\n epiProps: state.epiPropsModel,\r\n searchResults: state.resultsModel,\r\n searchTerm: state.searchTermModel,\r\n selectedSearchContext: state.selectedSearchContext,\r\n pageModel: state.pageModel,\r\n sortsModel: state.sortsModel\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps: IOwnProps): IDispatchProps => {\r\n return bindActionCreators({\r\n fetchEpiProps,\r\n fetchResults: fetchResults(ownProps.analytics),\r\n setContext,\r\n setPage,\r\n trackClick,\r\n fetchAutocompleteResults,\r\n setSearchTerm,\r\n setSort,\r\n setSortModel,\r\n updateSearchFacet,\r\n setMobileFacetsVisibility,\r\n clearErrorText,\r\n setSelectedFacetCount\r\n }, dispatch);\r\n}\r\n\r\nexport const SearchPageApp = WithRouterWrapper(connect(mapStateToProps, mapDispatchToProps)(SearchApp));\r\n\r\n","import * as React from 'react';\r\nimport { getSourceDomainSVG } from '../../reducers/contexts-model';\r\n\r\ninterface IProps {\r\n url: string\r\n}\r\n\r\nexport const DomainLogo: React.FC = (props) => {\r\n const logoName = getSourceDomainSVG(props.url);\r\n const domainLogo = '';\r\n if (logoName.length <= 0) {\r\n return null;\r\n }\r\n return (\r\n
    \r\n );\r\n}","import * as React from 'react';\r\nimport { IEpiProps } from '../../state-helpers/epi-props';\r\n\r\nexport interface IEmptyResultsProps {\r\n epiProps: IEpiProps;\r\n}\r\n\r\nexport class EmptyResults extends React.Component {\r\n\r\n render() {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}","import * as React from 'react';\r\nimport * as Redux from 'redux';\r\nimport { IErrorType, IResults } from '../../state-helpers/search-results';\r\nimport { IEpiProps } from '../../state-helpers/epi-props';\r\nimport { clearErrorText } from '../../actions/index';\r\nimport { ISearchAppState } from '../../reducers/index'\r\n\r\n\r\nexport interface IErrorProps {\r\n epiProps: IEpiProps;\r\n results: IResults;\r\n\r\n onDismiss: () => void;\r\n}\r\n\r\n\r\nexport class Error extends React.Component {\r\n\r\n render() {\r\n const errorText = this.props.results.errorType === IErrorType.TIME_OUT\r\n ? this.props.epiProps.connectionErrorText\r\n : this.props.epiProps.generalErrorText;\r\n\r\n return (\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\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Dismiss

    \r\n
    \r\n
    \r\n );\r\n }\r\n}","import * as React from 'react';\r\n\r\ninterface ILockProps {\r\n url: string;\r\n}\r\n\r\nexport function hasLock(url: string): boolean {\r\n if (url == null) return false;\r\n\r\n if (url.indexOf(\"/myaap\") > -1)\r\n return true;\r\n else if (url.indexOf(\".aappublications\") > -1)\r\n return true;\r\n else if (url.indexOf(\".solutions\") > -1)\r\n return true;\r\n else if (url.indexOf(\"publications.aap\") > -1)\r\n return true;\r\n else\r\n return false;\r\n}\r\n\r\nexport class Lock extends React.Component {\r\n\t\r\n\r\n isLoggedIn(): boolean {\r\n return (window as any).bootstrap.isLoggedIn;\r\n }\r\n\r\n render() {\r\n if (!hasLock(this.props.url))\r\n return null;\r\n return (\r\n\t\t\t
    \r\n {hasLock(this.props.url) && this.isLoggedIn() &&\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n }\r\n\r\n {hasLock(this.props.url) && !this.isLoggedIn() &&\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n }\r\n
    \r\n )}\r\n}\r\n","import * as React from 'react';\r\nimport { getIconType } from '../../reducers/results-model';\r\n\r\ninterface IProps {\r\n type: string\r\n}\r\n\r\nexport const MediaIcon: React.FC = (props) => {\r\n const iconName = getIconType(props.type);\r\n const mediaLogo = '';\r\n\r\n if (iconName.length <= 0) {\r\n return null;\r\n }\r\n return (\r\n
    \r\n );\r\n}","import * as React from 'react';\r\nimport { IEpiProps } from '../../state-helpers/epi-props';\r\nimport { ISearchContext, ContextIds } from '../../../global/models/search-context';\r\n\r\nexport interface INoAutocompleteResultsProps {\r\n epiProps: IEpiProps;\r\n selectedContext: ISearchContext;\r\n}\r\n\r\nexport class NoAutocompleteResults extends React.Component {\r\n render() {\r\n\r\n const contextString = this.props.selectedContext.display;\r\n\r\n const urlRegex = /context=.+?(&|$)/;\r\n const javascriptLink = window.location.href.replace(urlRegex, `context=${ContextIds.all}&`)\r\n\r\n const htmlString = this.props.epiProps.noAutocompleteResultsErrorText\r\n .replace('{{context}}', contextString)\r\n .replace('http://{{allAAP}}', javascriptLink);\r\n\r\n return (\r\n
    \r\n );\r\n }\r\n}","import * as React from 'react';\r\nimport { IEpiProps } from '../../state-helpers/epi-props';\r\n\r\n\r\nexport interface INoResultsProps {\r\n epiProps: IEpiProps;\r\n}\r\n\r\nexport class NoResults extends React.Component {\r\n render() {\r\n return (\r\n
    \r\n );\r\n }\r\n}","import * as React from 'react';\r\nimport { DomainLogo } from './domain-logo';\r\nimport { ISearchResult } from '../../state-helpers/search-results';\r\nimport { IEpiProps } from '../../state-helpers/epi-props';\r\nimport { Lock } from './lock';\r\nimport { MediaIcon } from './media-icon';\r\nimport { showIssueNumber, showPublicationName, showPublishDate, showShortDescription, showVolumeNumber } from './shared/results-helpers';\r\nimport { SearchResultLabels } from './shared/search-result-labels';\r\n\r\ninterface IProps {\r\n result: ISearchResult;\r\n epiProps: IEpiProps;\r\n\r\n onClick: () => void;\r\n}\r\n\r\nexport class SearchResultBestBet extends React.Component {\r\n render() {\r\n let { result, epiProps } = this.props;\r\n return (\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n {(showPublicationName(result) || showVolumeNumber(result) || showIssueNumber(result)) &&\r\n
    \r\n {(showPublicationName(result)) && {result.publicationName}}\r\n\r\n {(showPublicationName(result) && showVolumeNumber(result)) && ·}\r\n\r\n {(showVolumeNumber(result)) && Volume {result.volumeNumber}}\r\n\r\n {(showVolumeNumber(result) && showIssueNumber(result)) && ·}\r\n\r\n {(showIssueNumber(result)) && Number {result.issueNumber}}\r\n
    \r\n }\r\n\r\n {(showPublishDate(result) || showShortDescription(result)) &&\r\n
    \r\n {showPublishDate(result) &&\r\n \r\n {result.publishDate.toString()}\r\n {showShortDescription(result) &&\r\n ·\r\n }\r\n \r\n }\r\n {showShortDescription(result) &&\r\n \r\n }\r\n
    \r\n }\r\n\r\n \r\n\r\n
    \r\n {result.iconType &&\r\n \r\n }\r\n \r\n {result.friendlyUrl}\r\n
    \r\n\r\n
    \r\n
    \r\n )\r\n }\r\n}","import * as React from 'react';\r\nimport { IEpiProps } from '../../state-helpers/epi-props';\r\nimport { ISearchResult } from '../../state-helpers/search-results';\r\nimport { Lock } from './lock';\r\nimport { DomainLogo } from './domain-logo';\r\nimport { MediaIcon } from './media-icon';\r\nimport { showIssueNumber, showPublicationName, showPublishDate, showSections, showShortDescription, showVolumeNumber, showArticleImage, showArticleUrl } from './shared/results-helpers';\r\nimport { SearchResultLabels } from './shared/search-result-labels';\r\n\r\ninterface IProps {\r\n result: ISearchResult;\r\n epiProps: IEpiProps;\r\n\r\n onClick: () => void;\r\n}\r\n\r\ninterface IState {\r\n\r\n}\r\n\r\nexport class SearchResultGeneral extends React.Component{\r\n GetBookSectionText() {\r\n let result = this.props.result;\r\n let text = \"\";\r\n if (result.bookSections != null && result.bookSections.length > 0) {\r\n for (let i = 0; i < result.bookSections.length; i++) {\r\n text = text + \" > \" + result.bookSections[i];\r\n }\r\n }\r\n\r\n if (result.pageNumbers != null && result.pageNumbers.length > 0)\r\n text = text + \" > \" + result.pageNumbers;\r\n\r\n return text;\r\n }\r\n\r\n render() {\r\n let { result, epiProps } = this.props\r\n return (\r\n
    \r\n\r\n \r\n\r\n {(showArticleImage(result)) &&\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n {(showPublicationName(result) || showVolumeNumber(result) || showIssueNumber(result) || showSections(result)) &&\r\n
    \r\n {(showPublicationName) && {result.publicationName} {(showSections(result)) && this.GetBookSectionText()} }\r\n\r\n {(showPublicationName && showVolumeNumber(result)) && ·}\r\n\r\n {(showVolumeNumber(result)) && Volume {result.volumeNumber}}\r\n\r\n {(showVolumeNumber(result) && showIssueNumber(result)) && ·}\r\n\r\n {(showIssueNumber(result)) && Number {result.issueNumber}}\r\n
    \r\n }\r\n {(showPublishDate(result) || showShortDescription(result)) &&\r\n
    \r\n {showPublishDate(result) &&\r\n
    \r\n \r\n {result.publishDate.toString()}\r\n \r\n
    \r\n }\r\n { showShortDescription(result) &&\r\n < span className=\"search-result-content\" dangerouslySetInnerHTML={{ __html: result.shortDescription }}>\r\n }\r\n
    \r\n }\r\n\r\n \r\n\r\n { showArticleUrl() &&\r\n
    \r\n {this.props.result.iconType &&\r\n \r\n }\r\n \r\n {this.props.result.friendlyUrl}\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport { ISearchResult } from '../../state-helpers/search-results';\r\nimport { IEpiProps } from '../../state-helpers/epi-props';\r\nimport { Lock } from './lock';\r\n\r\ninterface IProps {\r\n result: ISearchResult;\r\n epiProps: IEpiProps;\r\n\r\n onClick: () => void;\r\n}\r\n\r\nexport class SearchResultMember extends React.Component {\r\n\r\n placeholderImg(e) {\r\n e.target.src = '../../../Static/imgs/aap-img-placeholder.png';\r\n };\r\n\r\n render() {\r\n var result = this.props.result;\r\n return (\r\n \r\n )\r\n }\r\n\r\n get boardCertifications() {\r\n return this.props.result.boardCertificationNames && this.props.result.boardCertificationNames.join(', ');\r\n }\r\n\r\n get subSpecialties() {\r\n return this.props.result.subSpecialties && this.props.result.subSpecialties.map(x => `${x} (ABP)`);\r\n }\r\n\r\n get medicalSpecialties() {\r\n if (this.props.result.medicalSpecialties) {\r\n return this.props.result.medicalSpecialties.map(x => `${x} (ABMS)`);\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n\r\n get allSpecialties() {\r\n return [...this.subSpecialties || [], ...this.medicalSpecialties || []].join(', ');\r\n }\r\n\r\n get faapBadgeText() {\r\n const faapText = \"FAAP\";\r\n return this.props.epiProps.faapText ? this.props.epiProps.faapText.toUpperCase() : faapText;\r\n }\r\n\r\n}","import * as React from 'react';\r\nimport { ISearchResult } from '../../state-helpers/search-results';\r\nimport { IEpiProps } from '../../state-helpers/epi-props';\r\nimport { Lock } from './lock';\r\nimport { showPublishDate, showShortDescription } from './shared/results-helpers';\r\nimport { SearchResultLabels } from './shared/search-result-labels';\r\n\r\ninterface IProps {\r\n result: ISearchResult;\r\n epiProps: IEpiProps;\r\n\r\n onClick: () => void;\r\n}\r\n\r\nexport class SearchResultShop extends React.Component {\r\n\r\n placeholderImg(e) {\r\n e.target.src = '../../../Static/imgs/aap-img-placeholder.png';\r\n };\r\n\r\n onShopClick = () => {\r\n this.pushViewItemInListToGoogleAnalytics();\r\n this.props.onClick();\r\n }\r\n\r\n pushViewItemInListToGoogleAnalytics = () => {\r\n const { result } = this.props;\r\n var categories = \"\";\r\n if (result.categories && result.categories.length > 0) {\r\n categories = result.categories.join(\" \");\r\n }\r\n\r\n (window as any).dataLayer = (window as any).dataLayer || [];\r\n (window as any).dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.\r\n\r\n var tag = {\r\n 'event': 'select_item',\r\n 'ecommerce':\r\n {\r\n 'item_list_id': 'Search Page',\r\n 'item_list_name': 'Search Page',\r\n 'items': [\r\n {\r\n 'item_id': result.itemNumber,\r\n 'item_name': result.title,\r\n 'price': result.itemRetailPrice,\r\n 'item_category': categories\r\n }\r\n ]\r\n }\r\n };\r\n\r\n console.log(`Sending tag to data layer: ${JSON.stringify(tag)}`);\r\n (window as any).dataLayer.push(tag);\r\n }\r\n\r\n render() {\r\n const { result, onClick } = this.props;\r\n\r\n const divClass = 'search-result-wrapper' + (result.isBestBet ? ' search-result-wrapper-best-bet' : '');\r\n var categories = \"\";\r\n if (result.categories && result.categories.length > 0) {\r\n categories = result.categories.join(\" \");\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n {(showPublishDate(result) || showShortDescription(result)) &&\r\n
    \r\n {showPublishDate(result) &&\r\n \r\n {result.publishDate.toString()}\r\n {showShortDescription(result) &&\r\n ·\r\n }\r\n \r\n }\r\n {showShortDescription(result) &&\r\n \r\n }\r\n
    \r\n }\r\n\r\n {(!!result.itemRetailPrice || !!result.itemMemberPrice) &&\r\n
    \r\n {result.itemRetailPrice != null &&\r\n Retail Price: ${parseFloat(result.itemRetailPrice).toFixed(2)}\r\n }\r\n {(result.itemRetailPrice != null) && (result.itemMemberPrice != null)\r\n && ·\r\n }\r\n {result.itemMemberPrice != null &&\r\n Member Price: ${parseFloat(result.itemMemberPrice).toFixed(2)}\r\n }\r\n
    \r\n }\r\n\r\n \r\n
    \r\n {/*Product type 4 is Online Course*/}\r\n

    {result.productType === 4 ? 'Course Id:' : 'Product Number:'} {result.productCode}

    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {result.friendlyUrl}\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}","import { ISearchResult } from '../../state-helpers/search-results';\r\nimport * as React from 'react';\r\nimport moment from 'moment';\r\nimport { trackClick } from '../../actions/track-click';\r\nimport * as Redux from 'redux';\r\nimport { ISearchAppState } from '../../reducers/index';\r\nimport { Lock, hasLock } from './lock'\r\nimport { getSourceDomainSVG } from '../../reducers/contexts-model';\r\nimport { getIconType } from '../../reducers/results-model';\r\nimport { IEpiProps } from '../../state-helpers/epi-props';\r\nimport { SearchResultGeneral } from './search-result-general';\r\nimport { SearchResultShop } from './search-result-shop';\r\nimport { SearchResultBestBet } from './search-result-best-bet';\r\nimport { SearchResultMember } from './search-result-member';\r\n\r\nexport interface IProps {\r\n result: ISearchResult;\r\n epiProps: IEpiProps;\r\n\r\n onClick: (hitId) => void;\r\n}\r\n\r\nexport class SearchResult extends React.Component {\r\n\r\n render() {\r\n const { epiProps, result, onClick } = this.props;\r\n\r\n const hitOnClick = () => onClick(result.hitId);\r\n\r\n var searchResultTemplate;\r\n if (result.resultType === 'Product') {\r\n searchResultTemplate = ;\r\n } else if (result.isBestBet) {\r\n searchResultTemplate = ;\r\n } else if (result.resultType === 'Member') {\r\n searchResultTemplate = ;\r\n } else {\r\n searchResultTemplate = ;\r\n }\r\n\r\n return (\r\n
    \r\n {searchResultTemplate}\r\n
    \r\n )\r\n }\r\n}","import { ISearchResult } from \"../../../state-helpers/search-results\";\r\n\r\nexport function showPublicationName(result: ISearchResult): boolean { return (result.publicationName != null); }\r\nexport function showVolumeNumber(result: ISearchResult): boolean { return (result.resultType === 'Policy' && result.volumeNumber != null); }\r\nexport function isRedBookOnline(result: ISearchResult): boolean { return result.resultType === 'RedBookOnline'; };\r\nexport function showPageNumbers(result: ISearchResult): boolean { return (isRedBookOnline(result) && result.pageNumbers != null); }\r\nexport function showSections(result: ISearchResult): boolean { return (isRedBookOnline(result) && result.bookSections != null); }\r\nexport function showChapter(result: ISearchResult): boolean { return (isRedBookOnline(result) && result.bookChapter != null); }\r\nexport function showIssueNumber(result: ISearchResult): boolean { return (result.resultType === 'Policy' && result.issueNumber != null); }\r\nexport function showPublishDate(result: ISearchResult): boolean { return result.publishDate != null && !(window as any).bootstrap.hideArticleDate; }\r\nexport function showShortDescription(result: ISearchResult): string { return result.shortDescription; }\r\nexport function showPolicyLabel(result: ISearchResult): boolean { return result.resultType === 'Policy'; }\r\nexport function showJournalsLabel(result: ISearchResult): boolean { return result.contexts != null && result.contexts.every(c => c === 'Publication'); }\r\nexport function showTagLabels(result: ISearchResult): boolean { return result.policyTopics != null && result.policyTopics.length > 0; }\r\nexport function showPocTags(result: ISearchResult): boolean { return result.pocTags != null && result.pocTags.length > 0; }\r\nexport function showShopTags(result: ISearchResult): boolean { return result.tags != null && result.tags.length > 0; }\r\nexport function showLabels(result: ISearchResult): boolean { return showPolicyLabel(result) || showJournalsLabel(result) || showTagLabels(result) || showPocTags(result) || showShopTags(result); }\r\nexport function showArticleImage(result: ISearchResult): boolean { return result.automaticLandingPageImage != null && (window as any).bootstrap.showArticleImage; }\r\nexport function showArticleUrl(): boolean { return !(window as any).bootstrap.hideArticleUrl; }\r\n","import { ISearchResult } from '../../../state-helpers/search-results';\r\nimport * as React from 'react';\r\nimport { IEpiProps } from '../../../state-helpers/epi-props';\r\nimport { showJournalsLabel, showLabels, showPocTags, showPolicyLabel, showShopTags, showTagLabels } from './results-helpers';\r\n\r\ninterface IProps {\r\n result: ISearchResult;\r\n epiProps: IEpiProps;\r\n}\r\n\r\nexport class SearchResultLabels extends React.Component {\r\n render() {\r\n let { result, epiProps } = this.props;\r\n\r\n return (\r\n \r\n\r\n {showLabels(result) &&\r\n
    \r\n {showPolicyLabel(result) &&\r\n \r\n {epiProps.policyContextText}\r\n \r\n }\r\n {showJournalsLabel(result) &&\r\n \r\n {epiProps.publicationsContextText}\r\n \r\n }\r\n {showTagLabels(result) &&\r\n result.policyTopics.map(function (labelValue) {\r\n return {labelValue};\r\n })\r\n }\r\n {showPocTags(result) &&\r\n result.pocTags.map(function (labelValue) {\r\n return {labelValue};\r\n })\r\n }\r\n {showShopTags(result) &&\r\n result.tags.map(function (labelValue) {\r\n return {labelValue};\r\n })\r\n }\r\n
    \r\n }\r\n
    \r\n \r\n )\r\n }\r\n}","import * as React from 'react';\r\nimport * as ReactDOM from 'react-dom';\r\nimport { createStore, applyMiddleware } from 'redux';\r\nimport { createRoot } from 'react-dom/client'\r\nimport { Provider } from 'react-redux';\r\nimport { SearchPageApp } from './components/search-page-app';\r\nimport { rootReducer } from './reducers/index';\r\nimport thunk from 'redux-thunk';\r\nimport { BrowserRouter, Route } from 'react-router-dom';\r\nimport { RouterToUrlQuery, addUrlProps, UrlQueryParamTypes, subquery, configureUrlQuery, urlQueryMiddleware } from 'react-url-query';\r\nimport { history } from './state-helpers/history';\r\nimport { GoogleAnalytics } from '../global/functions/analytics';\r\nimport { compose } from 'redux';\r\n\r\nconst composeEnhancers = (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\r\nconst store = createStore(rootReducer, composeEnhancers(\r\n applyMiddleware(\r\n thunk,\r\n urlQueryMiddleware()\r\n )\r\n));\r\nconfigureUrlQuery({ history, addChangeHandlers: false });\r\n\r\n//Render the search application by attaching it to the placeholder element search-page-app\r\nconst searchPageMount = document.getElementById('search-page-app');\r\nconst RouterContext = React.createContext({});\r\n\r\nif (searchPageMount) {\r\n\r\n const root = createRoot(searchPageMount);\r\n //If there are tags, this is a landing page (I guess?)\r\n const tags = (window as any).bootstrap.tags;\r\n const isLandingPage = tags && tags.length;\r\n const searchDefaultSort = (window as any).bootstrap.searchDefaultSort;\r\n const searchMembershipSort = (window as any).bootstrap.searchMembershipSort;\r\n const searchPolicySort = (window as any).bootstrap.searchPolicySort;\r\n const searchPublicationsSort = (window as any).bootstrap.searchPublicationsSort;\r\n const searchPointofCareSort = (window as any).bootstrap.searchPointofCareSort;\r\n const searchShopSort = (window as any).bootstrap.searchShopSort;\r\n const searchHealthyChildrenSort = (window as any).bootstrap.searchHealthyChildrenSort;\r\n const searchNewsSort = (window as any).bootstrap.searchNewsSort;\r\n const searchRedBookSort = (window as any).bootstrap.searchRedBookSort;\r\n const analytics = new GoogleAnalytics();\r\n \r\n\r\n root.render(\r\n \r\n \r\n \r\n {routeProps => (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}","import { IAutocompleteResults, IHit } from '../state-helpers/autocomplete-results';\r\nimport * as actions from '../actions/index';\r\nimport * as _ from 'lodash';\r\n\r\nconst defaultAutocompleteResultsModel = Object.freeze({\r\n hits: [] as IHit[],\r\n //Using -1 to indicate none selected\r\n activeHit: -1,\r\n\tisActive: false\r\n});\r\n\r\n\r\nexport function autocompleteResultsModel(state: IAutocompleteResults, action: actions.IAutocompleteResultsLoadedAction) {\r\n if (typeof state === 'undefined') {\r\n state = defaultAutocompleteResultsModel\r\n }\r\n\r\n switch (action.type) {\r\n case actions.ActionType.AUTOCOMPLETE_RESULTS_LOADED:\r\n return _.assign({}, state, { hits: action.hits});\r\n case actions.ActionType.AUTOCOMPLETE_ACTIVE_CHANGED:\r\n return _.assign({}, state, { isActive: action.isActive });\r\n case actions.ActionType.AUTOCOMPLETE_ACTIVE_HIT_CHANGE:\r\n return _.assign({}, state, { activeHit: action.activeHit });\r\n default:\r\n return state;\r\n }\r\n}","import { IAction, ActionOrigin, ActionType } from '../actions/index';\r\n\r\n\r\nexport function browserNavigated(state: boolean, action: IAction) {\r\n // If origin is specified, use that\r\n if (typeof action.origin !== 'undefined') {\r\n return action.origin === ActionOrigin.BROWSER_NAVIGATION;\r\n }\r\n\r\n // Otherwise check if action was a browser navigation\r\n return action.type === ActionType.BROWSER_NAVIGATION;\r\n}\r\n","import { IAction, ActionType, ISetContextAction } from '../actions/index';\r\nimport * as _ from 'lodash';\r\n\r\n\r\n\r\n\r\nvar healthyChildrenDomain: string = 'healthychildren.org';\r\nvar pointofCareDomain: string = 'solutions.aap.org';\r\nvar pediatricCareOnlineDomain: string = 'pediatriccare.solutions.aap.org';\r\nvar redBookOnlineDomain: string = 'redbook.solutions.aap.org';\r\nvar pediatricPatientEducationDomain: string = 'patiented.solutions.aap.org';\r\nvar pediatricCodingNewsletterDomain: string = 'coding.solutions.aap.org';\r\n// new Silverchair ulrs\r\nvar SCpediatricCareOnlineDomain: string = 'publications.aap.org/pediatriccare';\r\nvar SCredBookOnlineDomain: string = 'publications.aap.org/redbook';\r\nvar SCpediatricPatientEducationDomain: string = 'publications.aap.org/patiented';\r\nvar SCpediatricCodingNewsletterDomain: string = 'publications.aap.org/codingnews';\r\n\r\n\r\nexport function getSourceDomainSVG(friendlyUrl: string) {\r\n\r\n var logoName: string = '';\r\n\r\n if (_.includes(friendlyUrl, pointofCareDomain)) {\r\n logoName = 'icon-Solutions';\r\n }\r\n if (_.includes(friendlyUrl, pediatricCareOnlineDomain) || _.includes(friendlyUrl, SCpediatricCareOnlineDomain)) {\r\n logoName = 'icon-PCO-(1)';\r\n }\r\n if (_.includes(friendlyUrl, healthyChildrenDomain)) {\r\n logoName = 'icon-HC';\r\n }\r\n if (_.includes(friendlyUrl, redBookOnlineDomain) || _.includes(friendlyUrl, SCredBookOnlineDomain)) {\r\n logoName = 'icon-Red-Book';\r\n }\r\n if (_.includes(friendlyUrl, pediatricPatientEducationDomain) || _.includes(friendlyUrl, SCpediatricPatientEducationDomain)) {\r\n logoName = 'icon-Patient-Education';\r\n }\r\n if (_.includes(friendlyUrl, pediatricCodingNewsletterDomain) || _.includes(friendlyUrl, SCpediatricCodingNewsletterDomain)) {\r\n logoName = 'icon-Coding';\r\n }\r\n\r\n return logoName;\r\n}","import { IEpiProps } from '../state-helpers/epi-props';\r\nimport * as actions from '../actions/index';\r\nimport * as _ from 'lodash';\r\n\r\nconst defaultEpiPropsModel = Object.freeze({\r\n cancelLabel: '',\r\n editLabel: '',\r\n noResultsErrorText: '',\r\n noAutocompleteResultsErrorText: '',\r\n emptyResultsText: '',\r\n amountOfResultsText: '',\r\n zeroResultsText: '',\r\n loadingResultsText: '',\r\n pageHeader: '',\r\n DefaultPageSize: 10,\r\n connectionErrorText: '',\r\n relevantSortText: '',\r\n alphabeticalSortText: '',\r\n reverseAlphabeticalSortText: '',\r\n newestToOldestSortText: '',\r\n oldestToNewestSortText: '',\r\n autocompleteTruncateLength: 14,\r\n defaultContextText: '',\r\n policyContextText: '',\r\n advocacyContextText: '',\r\n publicationsContextText: '',\r\n membersContextText: '',\r\n patientCareContextText: '',\r\n grantsContextText: '',\r\n guidelinesContextText: '',\r\n educationContextText: '',\r\n groupsContextText: '',\r\n shopContextText: '',\r\n resourcesContextText: '',\r\n initiativesContextText: '',\r\n programsContextText: '',\r\n nicuContextText: '',\r\n healthyChildrenContextText: '',\r\n newsReleasesContextText: '',\r\n\tfacetsHeaderText: '',\r\n\tfacetsResetLinkText: '',\r\n\tfacetsLanguageTitle: '',\r\n facetsPriceTitle: '',\r\n facetsPolicyTypeTitle: '',\r\n facetsPolicyCategoryTitle: '',\r\n facetsTimeTitle: '',\r\n facetOrder: [],\r\n noFacetsText: '',\r\n defaultPlaceholderText: '',\r\n policyPlaceholderText: '',\r\n advocacyPlaceholderText: '',\r\n publicationsPlaceholderText: '',\r\n membersPlaceholderText: '',\r\n patientCarePlaceholderText: '',\r\n guidelinesPlaceholderText: '',\r\n educationPlaceholderText: '',\r\n groupsPlaceholderText: '',\r\n shopPlaceholderText: '',\r\n initativesPlaceholderText: '',\r\n programsPlaceholderText: '',\r\n nicuPlaceholderText: '',\r\n healthyChildrenPlaceholderText: '',\r\n grantsPlaceholderText: '',\r\n resourcePlaceholderText: '',\r\n newsReleasesPlaceholderText: '',\r\n suggestionText: '',\r\n narrowYourSeachText: '',\r\n generalErrorText: '',\r\n timeoutErrorText: '',\r\n redBookOnlineContextText: '',\r\n redBookOnlinePlaceholderText: '',\r\n filterWarningText: '',\r\n advancedMenuANDText: '',\r\n advancedMenuORText: '',\r\n advancedMenuNOTText: '',\r\n advancedMenuQuotesText: '',\r\n advancedMenuTitleText: '',\r\n advancedMenuPromptQueryBuilderText: '',\r\n advancedMenuPromptText: '',\r\n advancedMenuLinkText: '',\r\n advancedMenuLinkUrl: '',\r\n requiredLabelText: '',\r\n saveLabel: '',\r\n removeLabel: '',\r\n selectLabel: '',\r\n pinnedCountryNames: [],\r\n faapText: '',\r\n requiredText: '',\r\n optionalText: '',\r\n pinnedSubspecialties: [],\r\n personalInformationPage: '',\r\n professionalInformationPage: '',\r\n emailEditPage: '',\r\n phoneNumberEditPage: '',\r\n addressEditPage: '',\r\n memberDirectoryDisclaimer: '',\r\n searchDefaultSort: '',\r\n searchMembershipSort: '',\r\n searchPolicySort: '',\r\n searchPublicationsSort: '',\r\n searchPointofCareSort: '',\r\n searchShopSort: '',\r\n searchHealthyChildrenSort: '',\r\n searchNewsSort: '',\r\n searchRedBookSort: ''\r\n});\r\n\r\nexport function epiPropsModel(state: IEpiProps, action: actions.IEpiPropsLoadedAction) {\r\n if (typeof state === 'undefined') {\r\n state = defaultEpiPropsModel\r\n }\r\n\r\n switch (action.type) {\r\n case actions.ActionType.EPI_PROPS_LOADED:\r\n return _.assign({}, state, action.results);\r\n default:\r\n return state;\r\n }\r\n}","import * as _ from 'lodash';\r\nimport { combineReducers, Reducer } from 'redux';\r\nimport { IFacets, IFacetResult } from '../state-helpers/facets';\r\nimport {\r\n IAction,\r\n ActionType,\r\n IUpdateSearchFacet,\r\n ISetMobileFacetsVisibility,\r\n ISetSelectedFacetCount,\r\n ISetFacetDropdownVisibility,\r\n setMobileFacetsVisibility,\r\n setSelectedFacetCount,\r\n setFacetDropdownVisibility\r\n} from '../actions/index';\r\n\r\nexport const facetsModel: Reducer = combineReducers({\r\n facets: updateFacetsModel,\r\n mobileFacetsVisible: mobileFacetsVisibilityModel,\r\n dropdownVisible: facetDropdownVisibilityModel,\r\n selectedFacetCount: updatedSelectedFacetCount\r\n});\r\n\r\n\r\nexport function updateFacetsModel(state: IFacetResult[], action: IUpdateSearchFacet) {\r\n if (typeof state === 'undefined') {\r\n state = [] as IFacetResult[];\r\n }\r\n\r\n switch (action.type) {\r\n case ActionType.UPDATE_FACETS:\r\n return action.facets;\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport function mobileFacetsVisibilityModel(state: boolean, action: ISetMobileFacetsVisibility) {\r\n if (typeof state === 'undefined') {\r\n state = false;\r\n return state;\r\n }\r\n\r\n switch (action.type) {\r\n case ActionType.SET_MOBILE_FACETS_VISIBILITY:\r\n return setMobileFacetsVisibility(action.visible).visible;\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport function updatedSelectedFacetCount(state: number, action: ISetSelectedFacetCount) {\r\n\r\n if (typeof state === 'undefined') {\r\n state = 0;\r\n }\r\n\r\n switch (action.type) {\r\n case ActionType.SET_SELECTED_FACET_COUNT:\r\n return setSelectedFacetCount(action.selectedFacetCount).selectedFacetCount;\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport function facetDropdownVisibilityModel(state: boolean, action: ISetFacetDropdownVisibility) {\r\n if (typeof state === 'undefined') {\r\n state = false;\r\n return state;\r\n }\r\n\r\n switch (action.type) {\r\n case ActionType.SET_FACET_DROPDOWN_VISIBILITY:\r\n return setFacetDropdownVisibility(action.visible).visible;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as Redux from 'redux';\r\nimport { resultsModel } from './results-model';\r\nimport { sortsModel } from './sorts-model';\r\nimport { pageModel } from './page-model';\r\nimport { searchTermModel } from './search-term-model';\r\nimport { epiPropsModel } from './epi-props-model';\r\nimport { facetsModel } from './facets-model';\r\nimport { ISearchResult, IResults } from '../state-helpers/search-results';\r\nimport { IFacets } from '../state-helpers/facets';\r\nimport { ISort } from '../state-helpers/sorts';\r\nimport { ISearchCriteria } from '../state-helpers/search-criteria';\r\nimport { IPage } from '../state-helpers/page';\r\nimport { IEpiProps } from '../state-helpers/epi-props';\r\nimport { IAutocompleteResults } from '../state-helpers/autocomplete-results';\r\nimport { autocompleteResultsModel } from './autocomplete-results-model';\r\nimport { browserNavigated } from './browser-navigated';\r\nimport { ui } from './ui';\r\n\r\nimport { selectedSearchContext } from './selected-search-context'\r\nimport { ISearchContext } from '../../global/models/search-context';\r\n\r\n// The goal is to get rid of this, try to refain from adding to it\r\nexport interface ISearchAppState {\r\n resultsModel: IResults;\r\n sortsModel: ISort[];\r\n\tfacetsModel: IFacets;\r\n pageModel: IPage;\r\n autocompleteResultsModel: IAutocompleteResults;\r\n searchTermModel: string;\r\n browserNavigated: boolean;\r\n epiPropsModel: IEpiProps;\r\n\r\n selectedSearchContext: ISearchContext\r\n} \r\n\r\n\r\nexport const rootReducer = Redux.combineReducers({\r\n resultsModel,\r\n sortsModel,\r\n searchTermModel,\r\n epiPropsModel,\r\n pageModel,\r\n autocompleteResultsModel,\r\n browserNavigated,\r\n ui,\r\n facetsModel,\r\n\r\n selectedSearchContext\r\n});","import { IAction, ActionType, ISetPageAction, setPage } from '../actions/index';\r\nimport { IPage, initialPageModel } from '../state-helpers/page';\r\nimport * as _ from 'lodash';\r\n\r\nexport function pageModel(state: IPage, action: ISetPageAction) {\r\n if (typeof state === 'undefined') {\r\n state = initialPageModel;\r\n }\r\n\r\n switch (action.type) {\r\n case ActionType.SET_PAGE:\r\n return _.assign({}, state, { page: action.page });//{ pageModel: { page: action.page, pageSize: 10 }});//state;//setPage(action.page).page;//\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n//function getPage(pageNumber: number): IPage {\r\n// if (pageNumber == 0) {\r\n// pageNumber = 1;\r\n// }\r\n\r\n// page.page = pageNumber;\r\n// return page;\r\n//}","import { IResults, IErrorType, } from '../state-helpers/search-results';\r\nimport * as actions from '../actions/index';\r\nimport * as _ from 'lodash';\r\n\r\nconst defaultResultsModel = Object.freeze({\r\n searchItemList: [],\r\n facets: [],\r\n loading: false,\r\n currentPage: 1,\r\n errorMessage: '',\r\n totalNumber: 0,\r\n totalPages: 0,\r\n showResults: true,\r\n trackingId: '',\r\n errorType: IErrorType.NONE,\r\n suggestion: '',\r\n fromAutocomplete: false\r\n});\r\n\r\n\r\nexport function resultsModel(state: IResults, action: actions.IResultsLoadedAction): IResults {\r\n if (typeof state === 'undefined') {\r\n state = defaultResultsModel\r\n }\r\n\r\n switch (action.type) {\r\n case actions.ActionType.SET_PAGE:\r\n return _.assign({}, state, { loading: false });\r\n case actions.ActionType.RESULTS_LOADING:\r\n return _.assign({}, state, { loading: action.isLoading });\r\n case actions.ActionType.SHOW_RESULTS:\r\n return _.assign({}, state, { showResults: action.showResults });\r\n case actions.ActionType.SET_SORT:\r\n return _.assign({}, state, { loading: true });\r\n case actions.ActionType.SET_CONTEXT:\r\n return _.assign({}, state, { loading: true });\r\n case actions.ActionType.SET_PAGE:\r\n return _.assign({}, state, { loading: true });\r\n case actions.ActionType.RESULTS_LOADED:\r\n return _.assign({}, state, {\r\n loading: false,\r\n searchItemList: action.results,\r\n facets: action.facets,\r\n totalNumber: action.totalNumber,\r\n totalPages: action.totalPages,\r\n errorMessage: '',\r\n errorType: IErrorType.NONE,\r\n trackingId: action.trackingId,\r\n suggestion: action.suggestion,\r\n fromAutocomplete: action.fromAutocomplete\r\n });\r\n case actions.ActionType.RESULTS_LOAD_FAILURE:\r\n return _.assign({}, state, {\r\n loading: false,\r\n errorMessage: action.errorMessage,\r\n errorType: action.errorType,\r\n searchItemList: [],\r\n facets: [],\r\n totalNumber: 0,\r\n totalPages: 0,\r\n trackingId: '',\r\n suggestion: '',\r\n fromAutocomplete: false\r\n });\r\n case actions.ActionType.CLEAR_ERROR_TEXT:\r\n return _.assign({}, state, { errorMessage: '', errorType: IErrorType.NONE });\r\n case actions.ActionType.BROWSER_NAVIGATION:\r\n return _.assign({}, state, {\r\n currentPage: action.page,\r\n loading: true\r\n });\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport function getIconType(type: string) {\r\n if (type == \"Audio\") {\r\n return 'icon-Icon_Audio';\r\n }\r\n else if (type == \"Video\") {\r\n return 'icon-Icon_Video';\r\n }\r\n else return null;\r\n}","import { IAction, ActionType, ISetSearchTermAction, setSearchTerm } from '../actions/index';\r\n\r\n\r\nexport function searchTermModel(state: string, action: ISetSearchTermAction) {\r\n if (typeof state === 'undefined') {\r\n state = '';\r\n return state;\r\n }\r\n\r\n switch (action.type) {\r\n //case ActionType.BROWSER_NAVIGATION:\r\n case ActionType.SET_SEARCH_TERM:\r\n return setSearchTerm(action.searchTerm).searchTerm;\r\n default:\r\n return state;\r\n }\r\n}","import { ISearchContext } from \"../../global/models/search-context\";\r\nimport { ISetContextAction, ActionType } from \"../actions/index\";\r\n\r\nexport function selectedSearchContext(state: ISearchContext, action: ISetContextAction) {\r\n if (typeof state === 'undefined') {\r\n state = null;\r\n }\r\n\r\n switch (action.type) {\r\n case ActionType.SET_CONTEXT:\r\n return action.context\r\n default:\r\n return state;\r\n }\r\n}","import { ISort, ISortField, initialSortModel, memberSortModel } from '../state-helpers/sorts';\r\nimport { IAction, ActionType, ISetSortAction } from '../actions/index';\r\n\r\n\r\nexport function sortsModel(state: ISort[], action: ISetSortAction) {\r\n if (typeof state === 'undefined') {\r\n state = initialSortModel;\r\n }\r\n\r\n switch (action.type) {\r\n case ActionType.BROWSER_NAVIGATION:\r\n case ActionType.SET_SORT:\r\n return state.map(updateSort(action.sortId));\r\n case ActionType.SET_SORT_MODEL:\r\n return action.sortModel;\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\nfunction updateSort(sortId: string): (sort: ISort) => ISort {\r\n if (!sortId) {\r\n sortId = 'relevance';\r\n }\r\n\r\n return function (sort: ISort) {\r\n sort.selected = sort.id === sortId;\r\n return sort;\r\n }\r\n}","import { ActionType, IAction, IBrowserAction } from '../actions/index';\r\nimport * as _ from 'lodash';\r\n\r\n\r\nexport function ui(state = { mobileNavOpen: false}, action: IAction) {\r\n switch (action.type) {\r\n case ActionType.TOGGLE_MOBILE_NAV:\r\n return _.assign({}, state, { mobileNavOpen: !state.mobileNavOpen });\r\n\r\n case ActionType.BROWSER_NAVIGATION:\r\n return _.assign({}, state, { topicsNavOpen: Boolean });\r\n\r\n default:\r\n return state;\r\n }\r\n} ","export interface IFacets {\r\n facets: IFacetResult[];\r\n mobileFacetsVisible: boolean;\r\n dropdownVisible: boolean;\r\n selectedFacetCount: number;\r\n}\r\n\r\nexport interface IFacetResult {\r\n name: string;\r\n fieldName: string;\r\n terms: ITerm[];\r\n renderTemplate: number;\r\n}\r\n\r\nexport interface ITerm {\r\n displayTerm: string;\r\n fieldName: string;\r\n term: string;\r\n hits: number;\r\n selected: boolean;\r\n id: number;\r\n alwaysShow: boolean;\r\n from: string;\r\n to: string;\r\n description: string;\r\n}\r\n\r\nexport function updateFacetSelected(fieldName: string, termName: string, facetList: IFacetResult[]) {\r\n if (facetList.filter(f => f.fieldName.toLowerCase() === fieldName) != null && facetList.filter(f => f.fieldName.toLowerCase() === fieldName).length > 0) {\r\n if (facetList.filter(f => f.fieldName.toLowerCase() === fieldName)[0].terms.filter(t => t.term.toLowerCase() === termName).length > 0) {\r\n facetList.filter(f => f.fieldName.toLowerCase() === fieldName)[0].terms.filter(t => t.term.toLowerCase() === termName)[0].selected = true;\r\n }\r\n }\r\n return facetList;\r\n}\r\n\r\n// Only things that matter in these two facets are the name, fieldName, term and selected\r\nexport const englishFacets = [{\r\n name: \"Language\",\r\n fieldName: \"Language\",\r\n terms: [{\r\n displayTerm: \"English\",\r\n term: \"English\",\r\n hits: 0,\r\n id: 0,\r\n selected: true,\r\n alwaysShow: false,\r\n from: null,\r\n to: null\r\n }]\r\n}] as IFacetResult[];\r\n\r\nexport const spanishFacets = [{\r\n name: \"Language\",\r\n fieldName: \"Language\",\r\n terms: [{\r\n displayTerm: \"Spanish\",\r\n term: \"Spanish\",\r\n hits: 0,\r\n id: 0,\r\n selected: true,\r\n alwaysShow: false,\r\n from: null,\r\n to: null\r\n }]\r\n}] as IFacetResult[];\r\n\r\nexport var FieldNames = Object.freeze({\r\n Countries: \"countries\",\r\n States: \"states\",\r\n Subspecialties: \"subspecialties\",\r\n}); \r\n\r\n \r\n","import { createBrowserHistory } from 'history';\r\n\r\n\r\nexport const history = createBrowserHistory();\r\n\r\n\r\n\r\nhistory.listen((location, action) => {\r\n console.log(`The current URL is ${location.pathname}${location.search}${location.hash}`)\r\n console.log(`The last navigation action was ${action}`)\r\n})","export interface IPage {\r\n page: number;\r\n pageSize: number;\r\n}\r\n\r\nexport const initialPageModel: IPage = \r\n {\r\n page: 1,\r\n pageSize: 10\r\n };","import { IFacetResult } from './facets';\r\n\r\nexport interface ISearchResult {\r\n title: string;\r\n url: string;\r\n publishDate: Date;\r\n shortDescription: string;\r\n friendlyUrl: string;\r\n metaData: any;\r\n hitId: any;\r\n hitType: string;\r\n trackId: any;\r\n contexts: string[];\r\n volumeNumber: string;\r\n pageNumbers: string;\r\n\tissueNumber: string;\r\n\tpublicationName: string;\r\n\titemRetailPrice: string;\r\n itemMemberPrice: string;\r\n resultType: string;\r\n\timageUrl: string;\r\n tags: string[];\r\n iconType: string;\r\n isBestBet: boolean;\r\n bookSections: string[];\r\n bookChapter: string;\r\n email: string;\r\n phoneNumber: string;\r\n address: string;\r\n practiceUrl: string;\r\n designation: string;\r\n boardCertificationNames: string[]; \r\n isFaap: boolean;\r\n subSpecialties: string[];\r\n medicalSpecialties: string[];\r\n policyTopics: string[];\r\n pocTags: string[];\r\n automaticLandingPageImage: string;\r\n productCode: string;\r\n productType: number;\r\n itemNumber: string;\r\n categories: string[];\r\n}\r\n\r\nexport interface IResults {\r\n loading: boolean;\r\n currentPage: number;\r\n searchItemList: ISearchResult[];\r\n facets: IFacetResult[];\r\n totalNumber: number;\r\n totalPages: number;\r\n errorMessage: string;\r\n errorType: IErrorType;\r\n showResults: boolean;\r\n trackingId: string;\r\n suggestion: string;\r\n fromAutocomplete: boolean; // If the search term was from an autocomplete suggestion\r\n}\r\n\r\nexport enum IErrorType {\r\n NONE,\r\n GENERAL,\r\n TIME_OUT,\r\n UNAUTHORIZED\r\n}"," import { ISearchResult } from './search-results';\r\n\r\nexport enum ISearchDirection {\r\n NO_DIRECTION,\r\n ASCENDING,\r\n DESCENDING\r\n}\r\n\r\nexport enum ISortField {\r\n NONE,\r\n TITLE,\r\n DATE\r\n}\r\n\r\nexport interface ISort {\r\n display: string;\r\n sortField: ISortField;\r\n selected: boolean;\r\n direction: ISearchDirection;\r\n id: string;\r\n}\r\n\r\nexport const initialSortModel: ISort[] = [\r\n {\r\n display: '',\r\n sortField: ISortField.NONE,\r\n selected: true,\r\n direction: ISearchDirection.NO_DIRECTION,\r\n id: 'relevance',\r\n },\r\n {\r\n display: '',\r\n sortField: ISortField.DATE,\r\n selected: false,\r\n direction: ISearchDirection.ASCENDING,\r\n id: 'newest',\r\n },\r\n {\r\n display: '',\r\n sortField: ISortField.DATE,\r\n selected: false,\r\n direction: ISearchDirection.DESCENDING,\r\n id: 'oldest',\r\n },\r\n {\r\n display: '',\r\n sortField: ISortField.TITLE,\r\n selected: false,\r\n direction: ISearchDirection.DESCENDING,\r\n id: 'title',\r\n },\r\n {\r\n display: '',\r\n sortField: ISortField.TITLE,\r\n selected: false,\r\n direction: ISearchDirection.ASCENDING,\r\n id: 'rTitle',\r\n },\r\n];\r\n\r\nexport const memberSortModel: ISort[] = [\r\n {\r\n display: '',\r\n sortField: ISortField.NONE,\r\n selected: true,\r\n direction: ISearchDirection.NO_DIRECTION,\r\n id: 'relevance',\r\n },\r\n {\r\n display: '',\r\n sortField: ISortField.TITLE,\r\n selected: false,\r\n direction: ISearchDirection.DESCENDING,\r\n id: 'title',\r\n },\r\n {\r\n display: '',\r\n sortField: ISortField.TITLE,\r\n selected: false,\r\n direction: ISearchDirection.ASCENDING,\r\n id: 'rTitle',\r\n },\r\n];\r\n","import { object } from \"prop-types\";\r\nimport { nodeListToArray } from \"../helpers/nodeListToArray\";\r\n\r\nexport { }\r\n\r\n\r\ndeclare global {\r\n interface Window {\r\n sendSelectItemAnalyticsScriptToGTM: (element: any, itemKey: string, itemTitle: string, itemPrice: string, itemCategory: string, listId: string, listName: string) => void;\r\n sendAddToCartScriptToGTM: (element: any) => void;\r\n }\r\n}\r\n\r\nwindow.sendSelectItemAnalyticsScriptToGTM = function (element: any, itemKey: string, itemTitle: string, itemPrice: string, itemCategory: string, listId: string, listName: string) {\r\n (window as any).dataLayer = (window as any).dataLayer || [];\r\n (window as any).dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.\r\n\r\n var tag = {\r\n 'event': 'select_item',\r\n 'ecommerce':\r\n {\r\n 'item_list_id': listId,\r\n 'item_list_name': listName,\r\n 'items': [\r\n {\r\n 'item_id': itemKey,\r\n 'item_name': itemTitle,\r\n 'price': itemPrice,\r\n 'item_category': itemCategory\r\n }\r\n ]\r\n }\r\n };\r\n\r\n console.log(`Sending tag to data layer: ${JSON.stringify(tag)}`);\r\n (window as any).dataLayer.push(tag);\r\n}\r\n\r\nfunction sendViewListAnalyticsScriptToGTM(itemElements: Array, listId: string, listName: string) {\r\n (window as any).dataLayer = (window as any).dataLayer || [];\r\n (window as any).dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.\r\n\r\n let items = getListItems(itemElements); \r\n let tag = {\r\n 'event': 'view_item_list',\r\n 'ecommerce':\r\n {\r\n 'item_list_id': listId,\r\n 'item_list_name': listName,\r\n 'items': items\r\n }\r\n };\r\n\r\n console.log(`Sending tag to data layer: ${JSON.stringify(tag)}`);\r\n (window as any).dataLayer.push(tag);\r\n}\r\n\r\nfunction getListItems(items: Array) {\r\n if (items && items.length > 0) {\r\n let listItems = [];\r\n items.forEach((item, index) =>\r\n {\r\n //get info about each product item via data attributes\r\n var title = item.getAttribute('data-product-carousel-item-title');\r\n var itemId = item.getAttribute('data-product-carousel-item-id');\r\n var itemPrice = item.getAttribute('data-product-carousel-item-price');\r\n var itemCategory = item.getAttribute('data-product-carousel-item-category');\r\n\r\n //Parse out additional HTML from the title.\r\n var e = document.createElement('div');\r\n e.innerHTML = title;\r\n title = e.textContent ? e.textContent : e.innerText;\r\n\r\n let listItem = getListItem(itemId, title, itemPrice, itemCategory);\r\n listItems.push(listItem);\r\n }\r\n )\r\n return listItems;\r\n }\r\n return [];\r\n}\r\n\r\nfunction getListItem(itemKey: string, itemTitle: string, itemPrice: string, itemCategory: string) {\r\n let listItem = {\r\n 'item_id': itemKey,\r\n 'item_name': itemTitle,\r\n 'price': itemPrice,\r\n 'item_category': itemCategory\r\n }\r\n return listItem;\r\n}\r\n\r\nexport function sendVisibleCarouselItemsListScriptToGTM(carouselElement: Element) {\r\n let visibleCarouselItems = getVisibleCarouselItems(carouselElement);\r\n let listId = \"\";\r\n let listName = \"\";\r\n\r\n if (carouselElement) {\r\n listId = carouselElement.getAttribute('data-unique-id');\r\n const carouselTitle = carouselElement.querySelector('[data-product-carousel-title]');\r\n if (carouselTitle) {\r\n listName = (carouselTitle as HTMLElement).innerText;\r\n }\r\n }\r\n\r\n sendViewListAnalyticsScriptToGTM(visibleCarouselItems, listId, listName);\r\n}\r\n\r\nfunction getVisibleCarouselItems(carouselElement: Element) : Array {\r\n let visibleCarouselItems = carouselElement.getElementsByClassName(\"swiper-slide-visible\");\r\n let arr = Array.prototype.slice.call(visibleCarouselItems);\r\n return arr;\r\n}\r\n\r\nfunction sendProductGroupBlockListingScriptToGTM(productGroupBlockElement: Element) {\r\n //Get all product elements in the list.\r\n const itemElements = nodeListToArray(productGroupBlockElement.querySelectorAll('[data-product-group-block-vertical-item]'));\r\n let listId = productGroupBlockElement.getAttribute('data-product-group-block-vertical-id');\r\n let listName = productGroupBlockElement.getAttribute('data-product-group-block-vertical-title');\r\n sendViewListAnalyticsScriptToGTM(itemElements, listId, listName);\r\n}\r\n\r\nexport function sendProductGroupBlockListingScriptsToGTM() {\r\n //Send 'view item list' event to GTM for each vertical product group block listing on the page.\r\n const productGroupBlockElements = nodeListToArray(document.querySelectorAll('[data-product-group-block-vertical]'));\r\n productGroupBlockElements.forEach((element, index) => {\r\n sendProductGroupBlockListingScriptToGTM(element)\r\n });\r\n}\r\n\r\nexport function sendOnlineCourseSeriesListScriptToGTM() {\r\n const onlineCourseSeriesElement = document.querySelector('[data-online-course-series]');\r\n if (onlineCourseSeriesElement) {\r\n const itemElements = nodeListToArray(onlineCourseSeriesElement.querySelectorAll('[data-online-course-series-item]'));\r\n let listId = onlineCourseSeriesElement.getAttribute('data-online-course-series-list-id');\r\n let listName = onlineCourseSeriesElement.getAttribute('data-online-course-series-list-name');\r\n sendViewListAnalyticsScriptToGTM(itemElements, listId, listName);\r\n }\r\n}\r\n\r\nexport function sendShopSearchResultListScriptToGTM() {\r\n const searchResultsElement = document.querySelector('[data-search-results]');\r\n if (searchResultsElement === null) return;\r\n //Get all product elements in the list.\r\n var shopItems = searchResultsElement.querySelectorAll('[data-shop-search-result]');\r\n if (shopItems === null) return;\r\n const itemElements = nodeListToArray(searchResultsElement.querySelectorAll('[data-shop-search-result]'));\r\n if (itemElements === null || itemElements.length == 0) return;\r\n\r\n let listId = \"Search Page\";\r\n let listName = \"Search Page\";\r\n sendViewListAnalyticsScriptToGTM(itemElements, listId, listName);\r\n}\r\n\r\nwindow.sendAddToCartScriptToGTM = function (element: any) {\r\n sendAddToCartScriptToGTM(element);\r\n}\r\nexport function sendAddToCartScriptToGTM(element: Element) {\r\n (window as any).dataLayer = (window as any).dataLayer || [];\r\n (window as any).dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.\r\n\r\n //get info about each product item via data attributes\r\n var itemTitle = element.getAttribute('data-add-to-cart-title');\r\n var itemKey = element.getAttribute('data-add-to-cart-key');\r\n var itemPrice = element.getAttribute('data-add-to-cart-price');\r\n var itemCategory = element.getAttribute('data-add-to-cart-category');\r\n var item: any = getListItem(itemKey, itemTitle, itemPrice, itemCategory)\r\n var totalPrice = itemPrice;\r\n var quantityInput = document.getElementById('amount') as HTMLInputElement;\r\n if (quantityInput) {\r\n item = { ...item, 'quantity': quantityInput.value }\r\n let price = parseFloat(itemPrice);\r\n let quantity = parseInt(quantityInput.value);\r\n if (price && quantity) {\r\n totalPrice = (price * quantity).toFixed(2);\r\n }\r\n }\r\n let tag = {\r\n 'event': 'add_to_cart',\r\n 'ecommerce':\r\n {\r\n 'currency': 'USD',\r\n 'value': totalPrice,\r\n 'items': [ item ]\r\n }\r\n };\r\n\r\n console.log(`Sending tag to data layer: ${JSON.stringify(tag)}`);\r\n (window as any).dataLayer.push(tag);\r\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","// the whatwg-fetch polyfill installs the fetch() function\n// on the global object (window or self)\n//\n// Return that as the export for use in Webpack, Browserify etc.\nrequire('whatwg-fetch');\nmodule.exports = self.fetch.bind(self);\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport { createPath } from 'history';\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return ;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const isDuplicateNavigation = createPath(context.location) === createPath(normalizeToLocation(location));\n const method = (replace || isDuplicateNavigation) ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\", // TODO: deprecate\n activeStyle, // TODO: deprecate\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n let className =\n typeof classNameProp === \"function\"\n ? classNameProp(isActive)\n : classNameProp;\n\n let style =\n typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = { ...style, ...activeStyle };\n }\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return ;\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\",\n \"false\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.func])\n };\n}\n\nexport default NavLink;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n this._pendingLocation = location;\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this.unlisten) {\n // Any pre-mount location changes have been captured at\n // this point, so unregister the listener.\n this.unlisten();\n }\n if (!this.props.staticContext) {\n this.unlisten = this.props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n }\n });\n }\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change \"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\nfunction Prompt({ message, when = true }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n if (!when || context.staticContext) return null;\n\n const method = context.history.block;\n\n return (\n {\n self.release = method(message);\n }}\n onUpdate={(self, prevProps) => {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n }}\n onUnmount={self => {\n self.release();\n }}\n message={message}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n const messageType = PropTypes.oneOfType([PropTypes.func, PropTypes.string]);\n\n Prompt.propTypes = {\n when: PropTypes.bool,\n message: messageType.isRequired\n };\n}\n\nexport default Prompt;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n\n const generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\nimport generatePath from \"./generatePath.js\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history, staticContext } = context;\n\n const method = push ? history.push : history.replace;\n const location = createLocation(\n computedMatch\n ? typeof to === \"string\"\n ? generatePath(to, computedMatch.params)\n : {\n ...to,\n pathname: generatePath(to.pathname, computedMatch.params)\n }\n : to\n );\n\n // When rendering in a static context,\n // set the new location immediately.\n if (staticContext) {\n method(location);\n return null;\n }\n\n return (\n {\n method(location);\n }}\n onUpdate={(self, prevProps) => {\n const prevLocation = createLocation(prevProps.to);\n if (\n !locationsAreEqual(prevLocation, {\n ...location,\n key: prevLocation.key\n })\n ) {\n method(location);\n }\n }}\n to={to}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return (\n \n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n \n );\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use and in the same route; will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with \", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return ;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * A public higher-order component to access the imperative API\n */\nfunction withRouter(Component) {\n const displayName = `withRouter(${Component.displayName || Component.name})`;\n const C = props => {\n const { wrappedComponentRef, ...remainingProps } = props;\n\n return (\n \n {context => {\n invariant(\n context,\n `You should not use <${displayName} /> outside a `\n );\n return (\n \n );\n }}\n \n );\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (__DEV__) {\n C.propTypes = {\n wrappedComponentRef: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.object\n ])\n };\n }\n\n return hoistStatics(C, Component);\n}\n\nexport default withRouter;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(RouterContext).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(RouterContext).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(RouterContext).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n","if (__DEV__) {\n if (typeof window !== \"undefined\") {\n const global = window;\n const key = \"__react_router_build__\";\n const buildNames = { cjs: \"CommonJS\", esm: \"ES modules\", umd: \"UMD\" };\n\n if (global[key] && global[key] !== process.env.BUILD_FORMAT) {\n const initialBuildName = buildNames[global[key]];\n const secondaryBuildName = buildNames[process.env.BUILD_FORMAT];\n\n // TODO: Add link to article that explains in detail how to avoid\n // loading 2 different builds.\n throw new Error(\n `You are loading the ${secondaryBuildName} build of React Router ` +\n `on a page that is already running the ${initialBuildName} ` +\n `build, so things won't work right.`\n );\n }\n\n global[key] = process.env.BUILD_FORMAT;\n }\n}\n\nexport { default as MemoryRouter } from \"./MemoryRouter.js\";\nexport { default as Prompt } from \"./Prompt.js\";\nexport { default as Redirect } from \"./Redirect.js\";\nexport { default as Route } from \"./Route.js\";\nexport { default as Router } from \"./Router.js\";\nexport { default as StaticRouter } from \"./StaticRouter.js\";\nexport { default as Switch } from \"./Switch.js\";\nexport { default as generatePath } from \"./generatePath.js\";\nexport { default as matchPath } from \"./matchPath.js\";\nexport { default as withRouter } from \"./withRouter.js\";\n\nexport { default as __HistoryContext } from \"./HistoryContext.js\";\nexport { default as __RouterContext } from \"./RouterContext.js\";\n\nexport { useHistory, useLocation, useParams, useRouteMatch } from \"./hooks.js\";\n","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n","'use strict';\n\nexports.__esModule = true;\nfunction createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\nexports['default'] = thunk;","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? prefix + \": \" + provided : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","var isProduction = process.env.NODE_ENV === 'production';\nfunction warning(condition, message) {\n if (!isProduction) {\n if (condition) {\n return;\n }\n\n var text = \"Warning: \" + message;\n\n if (typeof console !== 'undefined') {\n console.warn(text);\n }\n\n try {\n throw Error(text);\n } catch (x) {}\n }\n}\n\nexport default warning;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","var global =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n (typeof global !== 'undefined' && global)\n\nvar support = {\n searchParams: 'URLSearchParams' in global,\n iterable: 'Symbol' in global && 'iterator' in Symbol,\n blob:\n 'FileReader' in global &&\n 'Blob' in global &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in global,\n arrayBuffer: 'ArrayBuffer' in global\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name: \"' + name + '\"')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n this.bodyUsed = this.bodyUsed\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this)\n if (isConsumed) {\n return isConsumed\n }\n if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime())\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime()\n }\n }\n }\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function(header) {\n return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n })\n .forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = options.statusText === undefined ? '' : '' + options.statusText\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = global.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n setTimeout(function() {\n resolve(new Response(body, options))\n }, 0)\n }\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }, 0)\n }\n\n function fixUrl(url) {\n try {\n return url === '' && global.location.href ? global.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob'\n } else if (\n support.arrayBuffer &&\n request.headers.get('Content-Type') &&\n request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1\n ) {\n xhr.responseType = 'arraybuffer'\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) {\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]))\n })\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!global.fetch) {\n global.fetch = fetch\n global.Headers = Headers\n global.Request = Request\n global.Response = Response\n}\n"],"sourceRoot":""}