{"version":3,"sources":["webpack:///./src/js/modules/headerSearch/components/Suggestions.js","webpack:///./src/js/modules/headerSearch/components/Panel.js","webpack:///./src/js/modules/headerSearch/index.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js"],"names":["Suggestions","title","suggestions","endpoint","searchQueryParam","suggestionsRef","useRef","toggle","useCallback","length","current","style","visibility","open","element","close","onComplete","stripHtml","html","tmp","document","createElement","innerHTML","textContent","innerText","useEffect","className","ref","map","suggestion","key","href","dangerouslySetInnerHTML","__html","propTypes","PropTypes","string","isRequired","array","Panel","isOpen","onClose","suggestionsEndpoint","placeholder","submitLabel","closeLabel","suggestionsTitle","panelRef","panelBoxRef","inputRef","inputId","useMemo","uuidv4","useState","keyword","setKeyword","setSuggestions","ignoreUtilFocusChanges","lastFocus","breakpoint","window","matchMedia","breakpoints","tabletLandscape","animatePanel","direction","panel","panelBox","timeline","anime","easing","begin","complete","focusFirstDescendant","click","add","targets","opacity","duration","matches","translateX","translateY","body","position","top","scrollY","scrollTo","parseInt","i","childNodes","child","attemptFocus","focusLastDescendant","isFocusable","focus","e","activeElement","listener","addListener","removeListener","handleFocus","contains","target","addEventListener","removeEventListener","fetchData","Axios","method","url","params","data","onClick","stopPropagation","action","autoComplete","htmlFor","type","name","id","value","onChange","aria-label","xlinkHref","bool","func","HeaderSearch","triggerLabel","props","setIsOpen","handleKeyboardEvents","toLowerCase","handleClickOutside","openSearch","module","exports","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","location","propFullName","secret","err","Error","getShim","ReactPropTypes","number","object","symbol","any","arrayOf","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes"],"mappings":"iSAKMA,EAAc,SAAC,GAAuD,IAArDC,EAAqD,EAArDA,MAAOC,EAA8C,EAA9CA,YAAaC,EAAiC,EAAjCA,SAAUC,EAAuB,EAAvBA,iBAC7CC,EAAiBC,mBAEjBC,EAASC,uBAAY,WACrBN,EAAYO,QACdJ,EAAeK,QAAQC,MAAMC,WAAa,UAC1CC,YAAK,CAAEC,QAAST,EAAeK,WAE/BK,YAAM,CACJD,QAAST,EAAeK,QACxBM,WAAY,WACVX,EAAeK,QAAQC,MAAMC,WAAa,cAI/C,CAACV,EAAYO,SAEVQ,EAAYT,uBAAY,SAAAU,GAC5B,IAAMC,EAAMC,SAASC,cAAc,OAEnC,OADAF,EAAIG,UAAYJ,EACTC,EAAII,aAAeJ,EAAIK,WAAa,KAC1C,IAMH,OAJAC,qBAAU,WACRlB,MACC,CAACA,IAGF,yBAAKmB,UAAU,6BAA6BC,IAAKtB,KAC5CH,EAAYO,QACb,yBAAKiB,UAAU,oCACb,wBAAIA,UAAU,oCAAoCzB,GAClD,wBAAIyB,UAAU,mCACXxB,EAAY0B,KAAI,SAAAC,GAAU,OACzB,wBAAIC,IAAKD,GACP,uBACEE,KAAI,UAAK5B,EAAL,YAAiBC,EAAjB,YAAqCa,EACvCY,IAEFG,wBAAyB,CAAEC,OAAQJ,aAWrD7B,EAAYkC,UAAY,CACtBjC,MAAOkC,IAAUC,OAAOC,WACxBnC,YAAaiC,IAAUG,MAAMD,WAC7BlC,SAAUgC,IAAUC,OAAOC,WAC3BjC,iBAAkB+B,IAAUC,OAAOC,YAGtBrC,Q,klCC7Cf,IAAMuC,EAAQ,SAAC,GAUT,IATJC,EASI,EATJA,OACAC,EAQI,EARJA,QACAtC,EAOI,EAPJA,SACAuC,EAMI,EANJA,oBACAtC,EAKI,EALJA,iBACAuC,EAII,EAJJA,YACAC,EAGI,EAHJA,YACAC,EAEI,EAFJA,WACAC,EACI,EADJA,iBAEMC,EAAWzC,iBAAO,MAClB0C,EAAc1C,iBAAO,MACrB2C,EAAW3C,iBAAO,MAClB4C,EAAUC,mBAAQ,kBAAMC,gBAAU,IACxC,IAA8BC,mBAAS,IAAvC,GAAOC,EAAP,KAAgBC,EAAhB,KACA,IAAsCF,mBAAS,IAA/C,GAAOnD,EAAP,KAAoBsD,EAApB,KAEMC,EAAyBnD,iBAAO,MAChCoD,EAAYpD,iBAAO,MAEnBqD,EAAaR,mBACjB,kBAAMS,OAAOC,WAAP,sBAAiCC,IAAYC,gBAA7C,UACN,IAGIC,EAAexD,uBACnB,YAA8B,QAA3ByD,iBAA2B,MAAf,SAAe,EACtBC,EAAQnB,EAASrC,QACjByD,EAAWnB,EAAYtC,QAEvB0D,EAAWC,IAAMD,SAAS,CAC9BE,OAAQ,gBACRL,YACAM,MAAO,WACa,WAAdN,IACFC,EAAMvD,MAAMC,WAAa,YAG7B4D,SAAU,WACU,YAAdP,GACFC,EAAMvD,MAAMC,WAAa,SACzB2C,EAAW,MAEXkB,EAAqBN,GACrBlB,EAASvC,QAAQgE,YAKvBN,EAASO,IAAI,CACXC,QAASV,EACTW,QAAS,CAAC,EAAG,GACbC,SAAUnB,EAAWoB,QAAU,IAAM,IAGnCpB,EAAWoB,QACbX,EAASO,IAAI,CACXC,QAAST,EACTa,WAAY,CAAC,OAAQ,MACrBF,SAAU,MAGZV,EAASO,IAAI,CACXC,QAAST,EACTc,WAAY,CAAC,OAAQ,MACrBH,SAAU,QAIhB,CAACnB,EAAWoB,UAGRxE,EAASC,uBAAY,WACzB,GAAIgC,EACFpB,SAAS8D,KAAKvE,MAAMwE,SAAW,QAC/B/D,SAAS8D,KAAKvE,MAAMyE,IAApB,WAA8BxB,OAAOyB,QAArC,MACArB,EAAa,QACR,CACL,IAAMqB,EAAUjE,SAAS8D,KAAKvE,MAAMyE,IACpChE,SAAS8D,KAAKvE,MAAMwE,SAAW,KAC/B/D,SAAS8D,KAAKvE,MAAMyE,IAAM,KAC1BxB,OAAO0B,SAAS,GAA+B,EAA5BC,SAASF,GAAW,MACvCrB,EAAa,CAAEC,UAAW,eAE3B,CAACD,EAAcxB,IAEZiC,EAAuBjE,uBAC3B,SAAAM,GACE,IAAK,IAAI0E,EAAI,EAAGA,EAAI1E,EAAQ2E,WAAWhF,OAAQ+E,IAAK,CAClD,IAAME,EAAQ5E,EAAQ2E,WAAWD,GACjC,GAAIG,EAAaD,IAAUjB,EAAqBiB,GAC9C,OAAO,EAGX,OAAO,IAET,CAACC,IAGGC,EAAsBpF,uBAC1B,SAAAM,GACE,IAAK,IAAI0E,EAAI1E,EAAQ2E,WAAWhF,OAAS,EAAG+E,GAAK,EAAGA,IAAK,CACvD,IAAME,EAAQ5E,EAAQ2E,WAAWD,GACjC,GAAIG,EAAaD,IAAUE,EAAoBF,GAC7C,OAAO,EAGX,OAAO,IAET,CAACC,IAGGA,EAAenF,uBAAY,SAAAM,GAC/B,IAAK+E,YAAY/E,GACf,OAAO,EAGT2C,EAAuB/C,SAAU,EACjC,IACEI,EAAQgF,QACR,MAAOC,GACP,OAGF,OADAtC,EAAuB/C,SAAU,EAC1BU,SAAS4E,gBAAkBlF,IACjC,IAwDH,OAtDAW,qBAAU,WACR,IAAMwE,EAAW,WACflD,EAASrC,QAAQC,MAAQ,KACzBqC,EAAYtC,QAAQC,MAAQ,KAC5BJ,KAKF,OAFAA,IACAoD,EAAWuC,YAAYD,GAChB,kBAAMtC,EAAWwC,eAAeF,MACtC,CAACtC,EAAYpD,IAEhBkB,qBAAU,WACR,IAAM2E,EAAc,SAAAL,GACdtC,EAAuB/C,UAEvBsC,EAAYtC,QAAQ2F,SAASN,EAAEO,QACjC5C,EAAUhD,QAAUqF,EAAEO,QAEtB7B,EAAqBzB,EAAYtC,SAE7BgD,EAAUhD,UAAYU,SAAS4E,eACjCJ,EAAoB5C,EAAYtC,SAElCgD,EAAUhD,QAAUU,SAAS4E,iBAKjC,OADA5E,SAASmF,iBAAiB,QAASH,GAAa,GACzC,WACLhF,SAASoF,oBAAoB,QAASJ,GAAa,MAEpD,CAAC3B,EAAsBmB,IAE1BnE,qBAAU,WACR,IAAMgF,EAAS,e,EAAA,G,EAAA,yBAAG,qHACOC,IAAM,CAC3BC,OAAQ,MACRC,IAAKlE,EACLmE,Q,EAAM,G,EACHzG,E,EAAmBkD,E,kGALR,gBACRwD,EADQ,EACRA,KAQRtD,EAAesD,GATC,iC,YAAA,M,+KAAH,qDAYXxD,EAAQ7C,OAAS,EACnBgG,IAEAjD,EAAe,MAEhB,CAACF,EAASlD,EAAkBsC,IAG7B,yBAAKhB,UAAU,uBAAuBC,IAAKoB,GACzC,yBACErB,UAAU,qBACVC,IAAKqB,EACL+D,QAAS,SAAAhB,GAAC,OAAIA,EAAEiB,oBAEhB,0BACEC,OAAQ9G,EACRwG,OAAO,MACPjF,UAAU,sBACVwF,aAAa,OAEb,2BAAOC,QAASjE,GAAUP,GAC1B,2BACEhB,IAAKsB,EACLmE,KAAK,SACLC,KAAMjH,EACNkH,GAAIpE,EACJP,YAAaA,EACb4E,MAAOjE,EACPkE,SAAU,SAAAzB,GAAC,OAAIxC,EAAWwC,EAAEO,OAAOiB,UAErC,4BACEH,KAAK,SACL1F,UAAU,wBACV+F,aAAY7E,GAEZ,6BACE,yBAAK8E,UAAU,cAGnB,4BACEN,KAAK,SACL1F,UAAU,uBACV+F,aAAY5E,EACZkE,QAAStE,GAET,6BACE,yBAAKiF,UAAU,cAIrB,kBAAC,EAAD,CACEzH,MAAO6C,EACP5C,YAAaA,EACbC,SAAUA,EACVC,iBAAkBA,OAO5BmC,EAAML,UAAY,CAChBM,OAAQL,IAAUwF,KAAKtF,WACvBI,QAASN,IAAUyF,KAAKvF,WACxBO,YAAaT,IAAUC,OAAOC,WAC9BQ,WAAYV,IAAUC,OAAOC,WAC7BM,YAAaR,IAAUC,OAAOC,WAC9BjC,iBAAkB+B,IAAUC,OAAOC,WACnClC,SAAUgC,IAAUC,OAAOC,WAC3BS,iBAAkBX,IAAUC,OAAOC,WACnCK,oBAAqBP,IAAUC,OAAOC,YAGzBE,Q,siDCpQf,IAAMsF,EAAe,SAAC,GAA+B,IAA7BC,EAA6B,EAA7BA,aAAiBC,EAAY,OACnD,IAA4B1E,oBAAS,GAArC,GAAOb,EAAP,KAAewF,EAAf,KAEMC,EAAuB,SAAClC,GACxBA,EAAEjE,KAA+B,WAAxBiE,EAAEjE,IAAIoG,eACjBF,GAAU,IAIRG,EAAqB,WACzBH,GAAU,IAaZ,OAVAvG,qBAAU,WACR,IAAM2G,EAAa,kBAAMJ,GAAU,IAInC,OAHA5G,SAASmF,iBAAiB,aAAc6B,GAAY,GACpDxE,OAAO2C,iBAAiB,UAAW0B,GAAsB,GACzDrE,OAAO2C,iBAAiB,QAAS4B,GAAoB,GAC9C,WACL/G,SAASoF,oBAAoB,aAAc4B,GAAY,MAExD,IAGD,oCACE,4BACE1G,UAAU,yBACV+F,aAAYK,EACZf,QAAS,SAAChB,GACRA,EAAEiB,kBACFgB,GAAU,KAGZ,6BACE,yBAAKN,UAAU,cAGnB,kBAAC,EAAD,KAAWK,EAAX,CAAkBvF,OAAQA,EAAQC,QAAS,kBAAMuF,GAAU,SAKjEH,EAAa3F,UAAY,CACvB4F,aAAc3F,IAAUC,OAAOC,YAGlBwF,a,oBClCbQ,EAAOC,QAAU,EAAQ,IAAR,I,iCCRnB,IAAIC,EAAuB,EAAQ,KAEnC,SAASC,KACT,SAASC,KACTA,EAAuBC,kBAAoBF,EAE3CH,EAAOC,QAAU,WACf,SAASK,EAAKZ,EAAOa,EAAUC,EAAeC,EAAUC,EAAcC,GACpE,GAAIA,IAAWT,EAAf,CAIA,IAAIU,EAAM,IAAIC,MACZ,mLAKF,MADAD,EAAI5B,KAAO,sBACL4B,GAGR,SAASE,IACP,OAAOR,EAFTA,EAAKtG,WAAasG,EAMlB,IAAIS,EAAiB,CACnB9G,MAAOqG,EACPhB,KAAMgB,EACNf,KAAMe,EACNU,OAAQV,EACRW,OAAQX,EACRvG,OAAQuG,EACRY,OAAQZ,EAERa,IAAKb,EACLc,QAASN,EACTrI,QAAS6H,EACTe,YAAaf,EACbgB,WAAYR,EACZS,KAAMjB,EACNkB,SAAUV,EACVW,MAAOX,EACPY,UAAWZ,EACXa,MAAOb,EACPc,MAAOd,EAEPe,eAAgBzB,EAChBC,kBAAmBF,GAKrB,OAFAY,EAAejH,UAAYiH,EAEpBA,I,iCCnDTf,EAAOC,QAFoB","file":"29.f2868373c34ae3f1e7a6.js","sourcesContent":["import React, { useRef, useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { open, close } from '../../../helpers';\n\nconst Suggestions = ({ title, suggestions, endpoint, searchQueryParam }) => {\n const suggestionsRef = useRef();\n\n const toggle = useCallback(() => {\n if (suggestions.length) {\n suggestionsRef.current.style.visibility = 'visible';\n open({ element: suggestionsRef.current });\n } else {\n close({\n element: suggestionsRef.current,\n onComplete: () => {\n suggestionsRef.current.style.visibility = 'hidden';\n }\n });\n }\n }, [suggestions.length]);\n\n const stripHtml = useCallback(html => {\n const tmp = document.createElement('div');\n tmp.innerHTML = html;\n return tmp.textContent || tmp.innerText || '';\n }, []);\n\n useEffect(() => {\n toggle();\n }, [toggle]);\n\n return (\n
\n {!!suggestions.length && (\n
\n

{title}

\n \n
\n )}\n
\n );\n};\n\nSuggestions.propTypes = {\n title: PropTypes.string.isRequired,\n suggestions: PropTypes.array.isRequired,\n endpoint: PropTypes.string.isRequired,\n searchQueryParam: PropTypes.string.isRequired\n};\n\nexport default Suggestions;\n","import React, {\n useRef,\n useEffect,\n useState,\n useMemo,\n useCallback\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuidv4 } from 'uuid';\nimport Axios from 'axios';\nimport anime from 'animejs';\n\nimport Suggestions from './Suggestions';\n\nimport { isFocusable } from '../../../helpers';\nimport { breakpoints } from '../../../helpers/constants';\n\nconst Panel = ({\n isOpen,\n onClose,\n endpoint,\n suggestionsEndpoint,\n searchQueryParam,\n placeholder,\n submitLabel,\n closeLabel,\n suggestionsTitle\n}) => {\n const panelRef = useRef(null);\n const panelBoxRef = useRef(null);\n const inputRef = useRef(null);\n const inputId = useMemo(() => uuidv4(), []);\n const [keyword, setKeyword] = useState('');\n const [suggestions, setSuggestions] = useState([]);\n\n const ignoreUtilFocusChanges = useRef(null);\n const lastFocus = useRef(null);\n\n const breakpoint = useMemo(\n () => window.matchMedia(`(min-width: ${breakpoints.tabletLandscape}px)`),\n []\n );\n\n const animatePanel = useCallback(\n ({ direction = 'normal' }) => {\n const panel = panelRef.current;\n const panelBox = panelBoxRef.current;\n\n const timeline = anime.timeline({\n easing: 'easeInOutQuad',\n direction,\n begin: () => {\n if (direction === 'normal') {\n panel.style.visibility = 'visible';\n }\n },\n complete: () => {\n if (direction === 'reverse') {\n panel.style.visibility = 'hidden';\n setKeyword('');\n } else {\n focusFirstDescendant(panelBox);\n inputRef.current.click();\n }\n }\n });\n\n timeline.add({\n targets: panel,\n opacity: [0, 1],\n duration: breakpoint.matches ? 150 : 0\n });\n\n if (breakpoint.matches) {\n timeline.add({\n targets: panelBox,\n translateX: ['100%', '0%'],\n duration: 400\n });\n } else {\n timeline.add({\n targets: panelBox,\n translateY: ['100%', '0%'],\n duration: 400\n });\n }\n },\n [breakpoint.matches]\n );\n\n const toggle = useCallback(() => {\n if (isOpen) {\n document.body.style.position = 'fixed';\n document.body.style.top = `-${window.scrollY}px`;\n animatePanel({});\n } else {\n const scrollY = document.body.style.top;\n document.body.style.position = null;\n document.body.style.top = null;\n window.scrollTo(0, parseInt(scrollY || '0') * -1);\n animatePanel({ direction: 'reverse' });\n }\n }, [animatePanel, isOpen]);\n\n const focusFirstDescendant = useCallback(\n element => {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i];\n if (attemptFocus(child) || focusFirstDescendant(child)) {\n return true;\n }\n }\n return false;\n },\n [attemptFocus]\n );\n\n const focusLastDescendant = useCallback(\n element => {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i];\n if (attemptFocus(child) || focusLastDescendant(child)) {\n return true;\n }\n }\n return false;\n },\n [attemptFocus]\n );\n\n const attemptFocus = useCallback(element => {\n if (!isFocusable(element)) {\n return false;\n }\n\n ignoreUtilFocusChanges.current = true;\n try {\n element.focus();\n } catch (e) {\n return;\n }\n ignoreUtilFocusChanges.current = false;\n return document.activeElement === element;\n }, []);\n\n useEffect(() => {\n const listener = () => {\n panelRef.current.style = null;\n panelBoxRef.current.style = null;\n toggle();\n };\n\n toggle();\n breakpoint.addListener(listener);\n return () => breakpoint.removeListener(listener);\n }, [breakpoint, toggle]);\n\n useEffect(() => {\n const handleFocus = e => {\n if (ignoreUtilFocusChanges.current) return;\n\n if (panelBoxRef.current.contains(e.target)) {\n lastFocus.current = e.target;\n } else {\n focusFirstDescendant(panelBoxRef.current);\n\n if (lastFocus.current === document.activeElement) {\n focusLastDescendant(panelBoxRef.current);\n }\n lastFocus.current = document.activeElement;\n }\n };\n\n document.addEventListener('focus', handleFocus, true);\n return () => {\n document.removeEventListener('focus', handleFocus, true);\n };\n }, [focusFirstDescendant, focusLastDescendant]);\n\n useEffect(() => {\n const fetchData = async () => {\n const { data } = await Axios({\n method: 'GET',\n url: suggestionsEndpoint,\n params: {\n [searchQueryParam]: keyword\n }\n });\n\n setSuggestions(data);\n };\n\n if (keyword.length > 2) {\n fetchData();\n } else {\n setSuggestions([]);\n }\n }, [keyword, searchQueryParam, suggestionsEndpoint]);\n\n return (\n
\n e.stopPropagation()}\n >\n \n \n setKeyword(e.target.value)}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n );\n};\n\nPanel.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n onClose: PropTypes.func.isRequired,\n submitLabel: PropTypes.string.isRequired,\n closeLabel: PropTypes.string.isRequired,\n placeholder: PropTypes.string.isRequired,\n searchQueryParam: PropTypes.string.isRequired,\n endpoint: PropTypes.string.isRequired,\n suggestionsTitle: PropTypes.string.isRequired,\n suggestionsEndpoint: PropTypes.string.isRequired\n};\n\nexport default Panel;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Panel from './components/Panel';\n\nconst HeaderSearch = ({ triggerLabel, ...props }) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const handleKeyboardEvents = (e) => {\n if (e.key && e.key.toLowerCase() === 'escape') {\n setIsOpen(false);\n }\n }\n\n const handleClickOutside = () => {\n setIsOpen(false);\n }\n\n useEffect(() => {\n const openSearch = () => setIsOpen(true);\n document.addEventListener('openSearch', openSearch, false);\n window.addEventListener('keydown', handleKeyboardEvents, false);\n window.addEventListener('click', handleClickOutside, false);\n return () => {\n document.removeEventListener('openSearch', openSearch, false);\n };\n }, []);\n\n return (\n <>\n {\n e.stopPropagation();\n setIsOpen(true);\n }}\n >\n \n \n \n \n setIsOpen(false)} />\n \n );\n};\n\nHeaderSearch.propTypes = {\n triggerLabel: PropTypes.string.isRequired\n};\n\nexport default HeaderSearch;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n"],"sourceRoot":""}