{"version":3,"sources":["webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@material-ui/core/esm/LinearProgress/LinearProgress.js","webpack://@edf-prj/landing-page/./src/components/loading/styles.js","webpack://@edf-prj/landing-page/./src/components/loading/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/context/dist/reach-utils-context.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/make-id/dist/reach-utils-make-id.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/noop/dist/reach-utils-noop.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/compose-refs/dist/reach-utils-compose-refs.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/type-check/dist/reach-utils-type-check.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/compose-event-handlers/dist/reach-utils-compose-event-handlers.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/can-use-dom/dist/reach-utils-can-use-dom.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/use-isomorphic-layout-effect/dist/reach-utils-use-isomorphic-layout-effect.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/descendants/dist/reach-descendants.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/use-force-update/dist/reach-utils-use-force-update.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/auto-id/dist/reach-auto-id.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/accordion/dist/reach-accordion.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/use-controlled-state/dist/reach-utils-use-controlled-state.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/use-stateful-ref-value/dist/reach-utils-use-stateful-ref-value.esm.js","webpack://@edf-prj/landing-page/./src/components/publications-accordion-list/accordion-item/content/styles.js","webpack://@edf-prj/landing-page/./src/components/publications-accordion-list/accordion-item/content/index.js","webpack://@edf-prj/landing-page/./src/components/publications-accordion-list/accordion-item/header/styles.js","webpack://@edf-prj/landing-page/./src/components/publications-accordion-list/accordion-item/header/index.js","webpack://@edf-prj/landing-page/./src/components/publications-accordion-list/accordion-item/styles.js","webpack://@edf-prj/landing-page/./src/components/publications-accordion-list/accordion-item/index.js","webpack://@edf-prj/landing-page/./src/components/publications-accordion-list/styles.js","webpack://@edf-prj/landing-page/./src/components/publications-accordion-list/index.js","webpack://@edf-prj/landing-page/./src/components/tag/styles.js","webpack://@edf-prj/landing-page/./src/components/tag/index.js","webpack://@edf-prj/landing-page/./src/constants.js","webpack://@edf-prj/landing-page/./src/layouts/big-content-header-layout/styles.js","webpack://@edf-prj/landing-page/./src/layouts/big-content-header-layout/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@material-ui/core/esm/internal/svg-icons/Person.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@material-ui/core/esm/Avatar/Avatar.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@material-ui/core/esm/SvgIcon/SvgIcon.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@material-ui/core/esm/utils/createSvgIcon.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/camelcase-keys/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/camelcase/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/map-obj/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/quick-lru/index.js"],"names":["LinearProgress","props","ref","classes","className","_props$color","color","value","valueBuffer","_props$variant","variant","other","theme","useTheme","rootProps","inlineStyles","bar1","bar2","undefined","Math","round","transform","direction","concat","_transform","root","capitalize","determinate","indeterminate","buffer","query","role","dashed","bar","bar1Indeterminate","bar1Determinate","bar1Buffer","style","bar2Indeterminate","bar2Buffer","withStyles","getColor","palette","type","backgroundPrimary","primary","main","backgroundSecondary","secondary","position","overflow","height","colorAdjust","colorPrimary","backgroundColor","colorSecondary","marginTop","width","animation","dashedColorPrimary","backgroundImage","backgroundSize","backgroundPosition","dashedColorSecondary","left","bottom","top","transition","transformOrigin","barColorPrimary","barColorSecondary","zIndex","right","opacity","name","makeStyles","textAlign","padding","spacing","loading","margin","button","LoadingProgress","borderRadius","display","logo","blue","yellow","green","Loading","_ref","error","errorText","errorButtonText","onErrorButtonClick","useStyles","React","clsx","Typography","Button","onClick","component","href","window","location","defaultProps","_excluded","createContext","rootName","defaultContext","Ctx","children","context","source","excluded","key","i","target","sourceKeys","Object","keys","length","indexOf","_objectWithoutPropertiesLoose","useMemo","values","createElement","Provider","childName","useContext","Error","makeId","_len","arguments","args","Array","_key","filter","val","join","noop","_arrayLikeToArray","arr","len","arr2","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","isArray","minLen","n","prototype","toString","call","slice","constructor","from","test","_unsupportedIterableToArray","done","TypeError","next","bind","assignRef","isFunction","current","composeEventHandlers","theirHandler","ourHandler","event","defaultPrevented","canUseDOM","document","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","_extends","assign","hasOwnProperty","apply","this","createDescendantContext","initialValue","descendants","registerDescendant","unregisterDescendant","useDescendant","descendant","indexProp","dispatch","forceUpdate","useState","create","useCallback","_React$useContext","index","findIndex","item","element","DescendantProvider","items","set","_ref2","explicitIndex","rest","newItems","sort","a","b","find","Boolean","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","newItem","map","serverHandoffComplete","id","genId","AccordionStates","_excluded2","_excluded3","_excluded4","AccordionDescendantContext","_createContext","AccordionProvider","useAccordionCtx","_createContext2","AccordionItemProvider","useAccordionItemCtx","Accordion","forwardRef","forwardedRef","_ref$as","as","Comp","defaultIndex","controlledIndex","onChange","_ref$readOnly","readOnly","_ref$collapsible","collapsible","_ref$multiple","multiple","_useControlledState","controlledValue","defaultValue","wasControlled","calledFrom","isControlled","useRef","_useState","valueState","setValue","useControlledState","_defaultIndex$","openPanels","setOpenPanels","_useDescendantsInit","setDescendants","providedId","useId","_id","initialId","_React$useState","setId","onSelectPanel","prevOpenPanels","includes","accordionId","AccordionItem","_ref2$as","_ref2$disabled","disabled","_useAccordionCtx","buttonRef","_useStatefulRefValue","initialState","state","setState","refValue","useStatefulRefValue","handleButtonRefSet","itemId","panelId","buttonId","Open","Collapsed","getDataState","AccordionButton","_ref3","_ref3$as","onKeyDown","onMouseDown","onPointerDown","tabIndex","_useAccordionItemCtx","ownRef","refs","node","_step","_iterator","useComposedRefs","options","callback","currentIndex","_options$key","_options$orientation","orientation","_options$rotate","rotate","_options$rtl","rtl","handleKeyDown","focus","selectableDescendants","selectableIndex","preventDefault","getNextOption","prev","getPreviousOption","nextOrPrev","prevOrNext","prevOrFirst","ctrlKey","getFirstOption","first","nextOrLast","getLastOption","last","AccordionPanel","_ref4","_ref4$as","_useAccordionItemCtx2","hidden","contentWrapper","sectionTitle","fontSize","typography","pxToRem","marginBottom","text","tagsSection","tagsWrapper","overflowY","scrollbarWidth","msOverflowStyle","tags","url","Grid","container","tag","Tag","tagName","justify","borderBottom","expanded","title","cursor","fontWeight","subtitle","sideContentWrapper","justifyContent","breakpoints","up","gap","date","buttonWrapper","border","buttonText","textTransform","buttonIconWrapper","alignItems","marginLeft","buttonIcon","common","white","buttonIconUp","authors","isExpanded","_useAccordionItemCtx3","xs","md","author","firstName","lastName","utils","format","FontAwesomeIcon","icon","RUIAccordionItem","Header","publishDate","fullArticleUrl","Content","abstract","noItemFound","PublicationsAccordionList","publication","flexShrink","clickable","selected","HTTP_CALL_STATUS","UNKNOWN","LOADING","SUCCEEDED","FAILED","ERROR_CODES","PARAM_INVALID","PUBLICATION_STATUS","draft","inReview","published","heading1","contentHeaderWrapper","background","boxShadow","paddingTop","paddingBottom","infoWrapper","boxSizing","description","illustrationWrapper","flexGrow","pageContentWrapper","noMargin","avatarImage","BigContentHeaderLayout","pathname","illustrationImage","showIllustrationImageOnly","metaImageSrc","content","isScreenSizeMd","useMediaQuery","PageWrapper","pageMetaData","imageSrc","PageHeader","PageSection","GatsbyImage","image","childImageSharp","gatsbyImageData","alt","wrap","Avatar","src","fixed","child","_child$props","hasNoMargin","childProps","restChildProps","d","childrenProp","_props$component","Component","imgProps","sizes","srcSet","loaded","setLoaded","active","Image","onload","onerror","useLoaded","hasImg","hasImgNotFailing","img","Person","fallback","system","colorDefault","fontFamily","lineHeight","userSelect","default","grey","circle","circular","rounded","shape","square","objectFit","textIndent","SvgIcon","_props$fontSize","htmlColor","titleAccess","_props$viewBox","viewBox","focusable","muiName","fill","transitions","duration","shorter","colorAction","action","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeLarge","createSvgIcon","path","displayName","mapObj","camelCase","QuickLru","cache","maxSize","isObject","RegExp","Date","camelCaseConvert","input","deep","pascalCase","exclude","stopPaths","stopPathsSet","Set","makeMapper","parentPath","has","array","some","x","lastIndex","cacheKey","get","returnValue","module","exports","UPPERCASE","LOWERCASE","LEADING_CAPITAL","IDENTIFIER","SEPARATORS","LEADING_SEPARATORS","SEPARATORS_AND_IDENTIFIER","NUMBERS_AND_IDENTIFIER","preserveConsecutiveUppercase","trim","toLowerCase","locale","string","toLocaleLowerCase","toUpperCase","toLocaleUpperCase","isLastCharLower","isLastCharUpper","isLastLastCharUpper","character","preserveCamelCase","replace","m1","charAt","_","identifier","m","postProcess","mapObjectSkip","isObjectCustom","mapObject","object","mapper","isSeen","WeakMap","mapArray","entries","mapResult","newKey","newValue","shouldRecurse","QuickLRU","onEviction","Map","oldCache","_size","_set","delete","peek","deleted","clear","size","oldCacheSize","min"],"mappings":"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","file":"7a2edf7e830131ff632fc9204cb8e9ee8f2fd8ee-4b46f0224f1af1dcc094.js","sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport capitalize from '../utils/capitalize';\nimport withStyles from '../styles/withStyles';\nimport { darken, lighten } from '../styles/colorManipulator';\nimport useTheme from '../styles/useTheme';\nvar TRANSITION_DURATION = 4; // seconds\n\nexport var styles = function styles(theme) {\n var getColor = function getColor(color) {\n return theme.palette.type === 'light' ? lighten(color, 0.62) : darken(color, 0.5);\n };\n var backgroundPrimary = getColor(theme.palette.primary.main);\n var backgroundSecondary = getColor(theme.palette.secondary.main);\n return {\n /* Styles applied to the root element. */\n root: {\n position: 'relative',\n overflow: 'hidden',\n height: 4,\n '@media print': {\n colorAdjust: 'exact'\n }\n },\n /* Styles applied to the root and bar2 element if `color=\"primary\"`; bar2 if `variant=\"buffer\"`. */\n colorPrimary: {\n backgroundColor: backgroundPrimary\n },\n /* Styles applied to the root and bar2 elements if `color=\"secondary\"`; bar2 if `variant=\"buffer\"`. */\n colorSecondary: {\n backgroundColor: backgroundSecondary\n },\n /* Styles applied to the root element if `variant=\"determinate\"`. */\n determinate: {},\n /* Styles applied to the root element if `variant=\"indeterminate\"`. */\n indeterminate: {},\n /* Styles applied to the root element if `variant=\"buffer\"`. */\n buffer: {\n backgroundColor: 'transparent'\n },\n /* Styles applied to the root element if `variant=\"query\"`. */\n query: {\n transform: 'rotate(180deg)'\n },\n /* Styles applied to the additional bar element if `variant=\"buffer\"`. */\n dashed: {\n position: 'absolute',\n marginTop: 0,\n height: '100%',\n width: '100%',\n animation: '$buffer 3s infinite linear'\n },\n /* Styles applied to the additional bar element if `variant=\"buffer\"` and `color=\"primary\"`. */\n dashedColorPrimary: {\n backgroundImage: \"radial-gradient(\".concat(backgroundPrimary, \" 0%, \").concat(backgroundPrimary, \" 16%, transparent 42%)\"),\n backgroundSize: '10px 10px',\n backgroundPosition: '0 -23px'\n },\n /* Styles applied to the additional bar element if `variant=\"buffer\"` and `color=\"secondary\"`. */\n dashedColorSecondary: {\n backgroundImage: \"radial-gradient(\".concat(backgroundSecondary, \" 0%, \").concat(backgroundSecondary, \" 16%, transparent 42%)\"),\n backgroundSize: '10px 10px',\n backgroundPosition: '0 -23px'\n },\n /* Styles applied to the layered bar1 and bar2 elements. */\n bar: {\n width: '100%',\n position: 'absolute',\n left: 0,\n bottom: 0,\n top: 0,\n transition: 'transform 0.2s linear',\n transformOrigin: 'left'\n },\n /* Styles applied to the bar elements if `color=\"primary\"`; bar2 if `variant` not \"buffer\". */\n barColorPrimary: {\n backgroundColor: theme.palette.primary.main\n },\n /* Styles applied to the bar elements if `color=\"secondary\"`; bar2 if `variant` not \"buffer\". */\n barColorSecondary: {\n backgroundColor: theme.palette.secondary.main\n },\n /* Styles applied to the bar1 element if `variant=\"indeterminate or query\"`. */\n bar1Indeterminate: {\n width: 'auto',\n animation: '$indeterminate1 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite'\n },\n /* Styles applied to the bar1 element if `variant=\"determinate\"`. */\n bar1Determinate: {\n transition: \"transform .\".concat(TRANSITION_DURATION, \"s linear\")\n },\n /* Styles applied to the bar1 element if `variant=\"buffer\"`. */\n bar1Buffer: {\n zIndex: 1,\n transition: \"transform .\".concat(TRANSITION_DURATION, \"s linear\")\n },\n /* Styles applied to the bar2 element if `variant=\"indeterminate or query\"`. */\n bar2Indeterminate: {\n width: 'auto',\n animation: '$indeterminate2 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite'\n },\n /* Styles applied to the bar2 element if `variant=\"buffer\"`. */\n bar2Buffer: {\n transition: \"transform .\".concat(TRANSITION_DURATION, \"s linear\")\n },\n // Legends:\n // || represents the viewport\n // - represents a light background\n // x represents a dark background\n '@keyframes indeterminate1': {\n // |-----|---x-||-----||-----|\n '0%': {\n left: '-35%',\n right: '100%'\n },\n // |-----|-----||-----||xxxx-|\n '60%': {\n left: '100%',\n right: '-90%'\n },\n '100%': {\n left: '100%',\n right: '-90%'\n }\n },\n '@keyframes indeterminate2': {\n // |xxxxx|xxxxx||-----||-----|\n '0%': {\n left: '-200%',\n right: '100%'\n },\n // |-----|-----||-----||-x----|\n '60%': {\n left: '107%',\n right: '-8%'\n },\n '100%': {\n left: '107%',\n right: '-8%'\n }\n },\n '@keyframes buffer': {\n '0%': {\n opacity: 1,\n backgroundPosition: '0 -23px'\n },\n '50%': {\n opacity: 0,\n backgroundPosition: '0 -23px'\n },\n '100%': {\n opacity: 1,\n backgroundPosition: '-200px -23px'\n }\n }\n };\n};\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\n\nvar LinearProgress = /*#__PURE__*/React.forwardRef(function LinearProgress(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'primary' : _props$color,\n value = props.value,\n valueBuffer = props.valueBuffer,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'indeterminate' : _props$variant,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"color\", \"value\", \"valueBuffer\", \"variant\"]);\n var theme = useTheme();\n var rootProps = {};\n var inlineStyles = {\n bar1: {},\n bar2: {}\n };\n if (variant === 'determinate' || variant === 'buffer') {\n if (value !== undefined) {\n rootProps['aria-valuenow'] = Math.round(value);\n rootProps['aria-valuemin'] = 0;\n rootProps['aria-valuemax'] = 100;\n var transform = value - 100;\n if (theme.direction === 'rtl') {\n transform = -transform;\n }\n inlineStyles.bar1.transform = \"translateX(\".concat(transform, \"%)\");\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Material-UI: You need to provide a value prop ' + 'when using the determinate or buffer variant of LinearProgress .');\n }\n }\n if (variant === 'buffer') {\n if (valueBuffer !== undefined) {\n var _transform = (valueBuffer || 0) - 100;\n if (theme.direction === 'rtl') {\n _transform = -_transform;\n }\n inlineStyles.bar2.transform = \"translateX(\".concat(_transform, \"%)\");\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Material-UI: You need to provide a valueBuffer prop ' + 'when using the buffer variant of LinearProgress.');\n }\n }\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clsx(classes.root, classes[\"color\".concat(capitalize(color))], className, {\n 'determinate': classes.determinate,\n 'indeterminate': classes.indeterminate,\n 'buffer': classes.buffer,\n 'query': classes.query\n }[variant]),\n role: \"progressbar\"\n }, rootProps, {\n ref: ref\n }, other), variant === 'buffer' ? /*#__PURE__*/React.createElement(\"div\", {\n className: clsx(classes.dashed, classes[\"dashedColor\".concat(capitalize(color))])\n }) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: clsx(classes.bar, classes[\"barColor\".concat(capitalize(color))], (variant === 'indeterminate' || variant === 'query') && classes.bar1Indeterminate, {\n 'determinate': classes.bar1Determinate,\n 'buffer': classes.bar1Buffer\n }[variant]),\n style: inlineStyles.bar1\n }), variant === 'determinate' ? null : /*#__PURE__*/React.createElement(\"div\", {\n className: clsx(classes.bar, (variant === 'indeterminate' || variant === 'query') && classes.bar2Indeterminate, variant === 'buffer' ? [classes[\"color\".concat(capitalize(color))], classes.bar2Buffer] : classes[\"barColor\".concat(capitalize(color))]),\n style: inlineStyles.bar2\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nexport default withStyles(styles, {\n name: 'MuiLinearProgress'\n})(LinearProgress);","import { LinearProgress, withStyles } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nexport default makeStyles((theme) => ({\n root: {\n textAlign: 'center',\n padding: theme.spacing(1),\n },\n loading: {\n margin: theme.spacing(3),\n },\n button: {\n margin: theme.spacing(3),\n // please don't change width of button, causes overflow\n },\n}));\n\nconst loadingIndicator = (theme) => ({\n root: {\n height: theme.spacing(0.5),\n borderRadius: 5,\n width: 80,\n display: 'inline-block',\n },\n indeterminate: {\n backgroundColor: theme.palette.logo.blue.main,\n },\n bar1Indeterminate: {\n backgroundColor: theme.palette.logo.yellow.main,\n },\n bar2Indeterminate: {\n backgroundColor: theme.palette.logo.green.main,\n },\n});\n\nexport const LoadingProgress = withStyles(loadingIndicator)(LinearProgress);\n","import React from 'react';\nimport clsx from 'clsx';\nimport * as PropTypes from 'prop-types';\nimport { Button, Typography } from '@material-ui/core';\n\nimport useStyles, { LoadingProgress } from './styles';\n\nconst Loading = ({ className, loading, error, errorText, errorButtonText, onErrorButtonClick }) => {\n const classes = useStyles();\n return (\n
\n {loading && }\n {error && (\n <>\n \n {errorText}\n \n {onErrorButtonClick ? (\n \n ) : (\n \n {errorButtonText}\n \n )}\n \n )}\n
\n );\n};\n\nLoading.defaultProps = {\n className: undefined,\n errorText: undefined,\n errorButtonText: undefined,\n onErrorButtonClick: undefined,\n};\n\nLoading.propTypes = {\n className: PropTypes.string,\n errorText: PropTypes.string,\n errorButtonText: PropTypes.node,\n onErrorButtonClick: PropTypes.func,\n loading: PropTypes.bool.isRequired,\n error: PropTypes.bool.isRequired,\n};\n\nexport default Loading;\n","import { createContext as createContext$1, useMemo, createElement, useContext } from 'react';\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nvar _excluded = [\"children\"];\n/** @deprecated */\n\nfunction createNamedContext(name, defaultValue) {\n var Ctx = /*#__PURE__*/createContext$1(defaultValue);\n if (process.env.NODE_ENV !== \"production\") {\n Ctx.displayName = name;\n }\n return Ctx;\n} ////////////////////////////////////////////////////////////////////////////////\n\nfunction createContext(rootName, defaultContext) {\n var Ctx = /*#__PURE__*/createContext$1(defaultContext);\n function Provider(props) {\n var children = props.children,\n context = _objectWithoutPropertiesLoose(props, _excluded);\n var value = useMemo(function () {\n return context;\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n Object.values(context));\n return /*#__PURE__*/createElement(Ctx.Provider, {\n value: value\n }, children);\n }\n function useContext$1(childName) {\n var context = useContext(Ctx);\n if (context) {\n return context;\n }\n if (defaultContext) {\n return defaultContext;\n }\n throw Error(childName + \" must be rendered inside of a \" + rootName + \" component.\");\n }\n if (process.env.NODE_ENV !== \"production\") {\n Ctx.displayName = rootName + \"Context\";\n Provider.displayName = rootName + \"Provider\";\n }\n return [Provider, useContext$1];\n}\nexport { createContext, createNamedContext };","/**\n * Joins strings to format IDs for compound components.\n *\n * @param args\n */\nfunction makeId() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return args.filter(function (val) {\n return val != null;\n }).join(\"--\");\n}\nexport { makeId };","function noop() {}\nexport { noop };","import { useCallback } from 'react';\nimport { isFunction } from '../../type-check/dist/reach-utils-type-check.esm.js';\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\n/**\n * Passes or assigns an arbitrary value to a ref function or object.\n *\n * @param ref\n * @param value\n */\nfunction assignRef(ref, value) {\n if (ref == null) return;\n if (isFunction(ref)) {\n ref(value);\n } else {\n try {\n ref.current = value;\n } catch (error) {\n throw new Error(\"Cannot assign value \\\"\" + value + \"\\\" to ref \\\"\" + ref + \"\\\"\");\n }\n }\n}\n/**\n * Passes or assigns a value to multiple refs (typically a DOM node). Useful for\n * dealing with components that need an explicit ref for DOM calculations but\n * also forwards refs assigned by an app.\n *\n * @param refs Refs to fork\n */\n\nfunction useComposedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n return useCallback(function (node) {\n for (var _iterator = _createForOfIteratorHelperLoose(refs), _step; !(_step = _iterator()).done;) {\n var ref = _step.value;\n assignRef(ref, node);\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}\nexport { assignRef, useComposedRefs };","/**\n * Checks whether or not a value is a boolean.\n *\n * @param value\n */\nfunction isBoolean(value) {\n return typeof value === \"boolean\";\n}\n/**\n * Checks whether or not a value is a function.\n *\n * @param value\n */\n\nfunction isFunction(value) {\n // eslint-disable-next-line eqeqeq\n return !!(value && {}.toString.call(value) == \"[object Function]\");\n}\n/**\n * Checks whether or not a value is a number.\n *\n * @param value\n */\n\nfunction isNumber(value) {\n return typeof value === \"number\" && !isNaN(value);\n}\n/**\n * Checks whether or not a value is a string.\n *\n * @param value\n */\n\nfunction isString(value) {\n return typeof value === \"string\";\n}\nexport { isBoolean, isFunction, isNumber, isString };","/**\n * Wraps a lib-defined event handler and a user-defined event handler, returning\n * a single handler that allows a user to prevent lib-defined handlers from\n * firing.\n *\n * @param theirHandler User-supplied event handler\n * @param ourHandler Library-supplied event handler\n */\nfunction composeEventHandlers(theirHandler, ourHandler) {\n return function (event) {\n theirHandler && theirHandler(event);\n if (!event.defaultPrevented) {\n return ourHandler(event);\n }\n };\n}\nexport { composeEventHandlers };","function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n}\nexport { canUseDOM };","import { useLayoutEffect, useEffect } from 'react';\nimport { canUseDOM } from '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n\n/**\n * React currently throws a warning when using useLayoutEffect on the server. To\n * get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also\n * need affected components to render on the server. One example is when setting\n * a component's descendants to retrieve their index values.\n *\n * Important to note that using this hook as an escape hatch will break the\n * eslint dependency warnings unless you rename the import to `useLayoutEffect`.\n * Use sparingly only when the effect won't effect the rendered HTML to avoid\n * any server/client mismatch.\n *\n * If a useLayoutEffect is needed and the result would create a mismatch, it's\n * likely that the component in question shouldn't be rendered on the server at\n * all, so a better approach would be to lazily render those in a parent\n * component after client-side hydration.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n *\n * @param effect\n * @param deps\n */\n\nvar useIsomorphicLayoutEffect = /*#__PURE__*/canUseDOM() ? useLayoutEffect : useEffect;\nexport { useIsomorphicLayoutEffect };","import { createContext, useContext, useState, useCallback, createElement, useMemo } from 'react';\nimport { useForceUpdate } from '@reach/utils/use-force-update';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { noop } from '@reach/utils/noop';\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nvar _excluded = [\"element\", \"index\"];\nfunction createDescendantContext(name, initialValue) {\n if (initialValue === void 0) {\n initialValue = {};\n }\n var descendants = [];\n var ctx = /*#__PURE__*/createContext(_extends({\n descendants: descendants,\n registerDescendant: noop,\n unregisterDescendant: noop\n }, initialValue));\n if (process.env.NODE_ENV !== \"production\") {\n ctx.displayName = name;\n }\n return ctx;\n}\n/**\n * This hook registers our descendant by passing it into an array. We can then\n * search that array by to find its index when registering it in the component.\n * We use this for focus management, keyboard navigation, and typeahead\n * functionality for some components.\n *\n * The hook accepts the element node and (optionally) a key. The key is useful\n * if multiple descendants have identical text values and we need to\n * differentiate siblings for some reason.\n *\n * Our main goals with this are:\n * 1) maximum composability,\n * 2) minimal API friction\n * 3) SSR compatibility*\n * 4) concurrent safe\n * 5) index always up-to-date with the tree despite changes\n * 6) works with memoization of any component in the tree (hopefully)\n *\n * As for SSR, the good news is that we don't actually need the index on the\n * server for most use-cases, as we are only using it to determine the order of\n * composed descendants for keyboard navigation. However, in the few cases where\n * this is not the case, we can require an explicit index from the app.\n */\n\nfunction useDescendant(descendant, context, indexProp) {\n var forceUpdate = useForceUpdate();\n var _React$useContext = useContext(context),\n registerDescendant = _React$useContext.registerDescendant,\n unregisterDescendant = _React$useContext.unregisterDescendant,\n descendants = _React$useContext.descendants; // This will initially return -1 because we haven't registered the descendant\n // on the first render. After we register, this will then return the correct\n // index on the following render and we will re-register descendants so that\n // everything is up-to-date before the user interacts with a collection.\n\n var index = indexProp != null ? indexProp : descendants.findIndex(function (item) {\n return item.element === descendant.element;\n }); // Prevent any flashing\n\n useIsomorphicLayoutEffect(function () {\n if (!descendant.element) forceUpdate();\n registerDescendant(_extends({}, descendant, {\n index: index\n }));\n return function () {\n unregisterDescendant(descendant.element);\n };\n }, [descendant, forceUpdate, index, registerDescendant, unregisterDescendant].concat(Object.values(descendant)));\n return index;\n}\nfunction useDescendantsInit() {\n return useState([]);\n}\nfunction useDescendants(ctx) {\n return useContext(ctx).descendants;\n}\nfunction DescendantProvider(_ref) {\n var Ctx = _ref.context,\n children = _ref.children,\n items = _ref.items,\n set = _ref.set;\n var registerDescendant = useCallback(function (_ref2) {\n var element = _ref2.element,\n explicitIndex = _ref2.index,\n rest = _objectWithoutPropertiesLoose(_ref2, _excluded);\n if (!element) {\n return;\n }\n set(function (items) {\n var newItems;\n if (explicitIndex != null) {\n return [].concat(items, [_extends({}, rest, {\n element: element,\n index: explicitIndex\n })]).sort(function (a, b) {\n return a.index - b.index;\n });\n } else if (items.length === 0) {\n // If there are no items, register at index 0 and bail.\n newItems = [_extends({}, rest, {\n element: element,\n index: 0\n })];\n } else if (items.find(function (item) {\n return item.element === element;\n })) {\n // If the element is already registered, just use the same array\n newItems = items;\n } else {\n // When registering a descendant, we need to make sure we insert in\n // into the array in the same order that it appears in the DOM. So as\n // new descendants are added or maybe some are removed, we always know\n // that the array is up-to-date and correct.\n //\n // So here we look at our registered descendants and see if the new\n // element we are adding appears earlier than an existing descendant's\n // DOM node via `node.compareDocumentPosition`. If it does, we insert\n // the new element at this index. Because `registerDescendant` will be\n // called in an effect every time the descendants state value changes,\n // we should be sure that this index is accurate when descendent\n // elements come or go from our component.\n var index = items.findIndex(function (item) {\n if (!item.element || !element) {\n return false;\n } // Does this element's DOM node appear before another item in the\n // array in our DOM tree? If so, return true to grab the index at\n // this point in the array so we know where to insert the new\n // element.\n\n return Boolean(item.element.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_PRECEDING);\n });\n var newItem = _extends({}, rest, {\n element: element,\n index: index\n }); // If an index is not found we will push the element to the end.\n\n if (index === -1) {\n newItems = [].concat(items, [newItem]);\n } else {\n newItems = [].concat(items.slice(0, index), [newItem], items.slice(index));\n }\n }\n return newItems.map(function (item, index) {\n return _extends({}, item, {\n index: index\n });\n });\n });\n },\n // set is a state setter initialized by the useDescendantsInit hook.\n // We can safely ignore the lint warning here because it will not change\n // between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n var unregisterDescendant = useCallback(function (element) {\n if (!element) {\n return;\n }\n set(function (items) {\n return items.filter(function (item) {\n return element !== item.element;\n });\n });\n },\n // set is a state setter initialized by the useDescendantsInit hook.\n // We can safely ignore the lint warning here because it will not change\n // between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n return /*#__PURE__*/createElement(Ctx.Provider, {\n value: useMemo(function () {\n return {\n descendants: items,\n registerDescendant: registerDescendant,\n unregisterDescendant: unregisterDescendant\n };\n }, [items, registerDescendant, unregisterDescendant])\n }, children);\n}\n/**\n * Testing this as an abstraction for compound components that use keyboard\n * navigation. Hoping this will help us prevent bugs and mismatched behavior\n * across various components, but it may also prove to be too messy of an\n * abstraction in the end.\n *\n * Currently used in:\n * - Tabs\n * - Accordion\n *\n * @param context\n * @param options\n */\n\nfunction useDescendantKeyDown(context, options) {\n var _React$useContext2 = useContext(context),\n descendants = _React$useContext2.descendants;\n var callback = options.callback,\n currentIndex = options.currentIndex,\n filter = options.filter,\n _options$key = options.key,\n key = _options$key === void 0 ? \"index\" : _options$key,\n _options$orientation = options.orientation,\n orientation = _options$orientation === void 0 ? \"vertical\" : _options$orientation,\n _options$rotate = options.rotate,\n rotate = _options$rotate === void 0 ? true : _options$rotate,\n _options$rtl = options.rtl,\n rtl = _options$rtl === void 0 ? false : _options$rtl;\n return function handleKeyDown(event) {\n if (![\"ArrowDown\", \"ArrowUp\", \"ArrowLeft\", \"ArrowRight\", \"PageUp\", \"PageDown\", \"Home\", \"End\"].includes(event.key)) {\n return;\n }\n var index = currentIndex != null ? currentIndex : -1; // If we use a filter function, we need to re-index our descendants array\n // so that filtered descendent elements aren't selected.\n\n var selectableDescendants = filter ? descendants.filter(filter) : descendants; // We need some options for any of this to work!\n\n if (!selectableDescendants.length) {\n return;\n }\n var selectableIndex = selectableDescendants.findIndex(function (descendant) {\n return descendant.index === currentIndex;\n });\n function getNextOption() {\n var atBottom = index === getLastOption().index;\n return atBottom ? rotate ? getFirstOption() : selectableDescendants[selectableIndex] : selectableDescendants[(selectableIndex + 1) % selectableDescendants.length];\n }\n function getPreviousOption() {\n var atTop = index === getFirstOption().index;\n return atTop ? rotate ? getLastOption() : selectableDescendants[selectableIndex] : selectableDescendants[(selectableIndex - 1 + selectableDescendants.length) % selectableDescendants.length];\n }\n function getFirstOption() {\n return selectableDescendants[0];\n }\n function getLastOption() {\n return selectableDescendants[selectableDescendants.length - 1];\n }\n switch (event.key) {\n case \"ArrowDown\":\n if (orientation === \"vertical\" || orientation === \"both\") {\n event.preventDefault();\n var next = getNextOption();\n callback(key === \"option\" ? next : next[key]);\n }\n break;\n case \"ArrowUp\":\n if (orientation === \"vertical\" || orientation === \"both\") {\n event.preventDefault();\n var prev = getPreviousOption();\n callback(key === \"option\" ? prev : prev[key]);\n }\n break;\n case \"ArrowLeft\":\n if (orientation === \"horizontal\" || orientation === \"both\") {\n event.preventDefault();\n var nextOrPrev = (rtl ? getNextOption : getPreviousOption)();\n callback(key === \"option\" ? nextOrPrev : nextOrPrev[key]);\n }\n break;\n case \"ArrowRight\":\n if (orientation === \"horizontal\" || orientation === \"both\") {\n event.preventDefault();\n var prevOrNext = (rtl ? getPreviousOption : getNextOption)();\n callback(key === \"option\" ? prevOrNext : prevOrNext[key]);\n }\n break;\n case \"PageUp\":\n event.preventDefault();\n var prevOrFirst = (event.ctrlKey ? getPreviousOption : getFirstOption)();\n callback(key === \"option\" ? prevOrFirst : prevOrFirst[key]);\n break;\n case \"Home\":\n event.preventDefault();\n var first = getFirstOption();\n callback(key === \"option\" ? first : first[key]);\n break;\n case \"PageDown\":\n event.preventDefault();\n var nextOrLast = (event.ctrlKey ? getNextOption : getLastOption)();\n callback(key === \"option\" ? nextOrLast : nextOrLast[key]);\n break;\n case \"End\":\n event.preventDefault();\n var last = getLastOption();\n callback(key === \"option\" ? last : last[key]);\n break;\n }\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport { DescendantProvider, createDescendantContext, useDescendant, useDescendantKeyDown, useDescendants, useDescendantsInit };","import { useState, useCallback } from 'react';\n\n/**\n * Forces a re-render, similar to `forceUpdate` in class components.\n */\n\nfunction useForceUpdate() {\n var _useState = useState(Object.create(null)),\n dispatch = _useState[1];\n return useCallback(function () {\n dispatch(Object.create(null));\n }, []);\n}\nexport { useForceUpdate };","import { useId as useId$1, useState, useEffect } from 'react';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\n\n/*\n * Welcome to @reach/auto-id!\n\n * Let's see if we can make sense of why this hook exists and its\n * implementation.\n *\n * Some background:\n * 1. Accessibility APIs rely heavily on element IDs\n * 2. Requiring developers to put IDs on every element in Reach UI is both\n * cumbersome and error-prone\n * 3. With a component model, we can generate IDs for them!\n *\n * Solution 1: Generate random IDs.\n *\n * This works great as long as you don't server render your app. When React (in\n * the client) tries to reuse the markup from the server, the IDs won't match\n * and React will then recreate the entire DOM tree.\n *\n * Solution 2: Increment an integer\n *\n * This sounds great. Since we're rendering the exact same tree on the server\n * and client, we can increment a counter and get a deterministic result between\n * client and server. Also, JS integers can go up to nine-quadrillion. I'm\n * pretty sure the tab will be closed before an app never needs\n * 10 quadrillion IDs!\n *\n * Problem solved, right?\n *\n * Ah, but there's a catch! React's concurrent rendering makes this approach\n * non-deterministic. While the client and server will end up with the same\n * elements in the end, depending on suspense boundaries (and possibly some user\n * input during the initial render) the incrementing integers won't always match\n * up.\n *\n * Solution 3: Don't use IDs at all on the server; patch after first render.\n *\n * What we've done here is solution 2 with some tricks. With this approach, the\n * ID returned is an empty string on the first render. This way the server and\n * client have the same markup no matter how wild the concurrent rendering may\n * have gotten.\n *\n * After the render, we patch up the components with an incremented ID. This\n * causes a double render on any components with `useId`. Shouldn't be a problem\n * since the components using this hook should be small, and we're only updating\n * the ID attribute on the DOM, nothing big is happening.\n *\n * It doesn't have to be an incremented number, though--we could do generate\n * random strings instead, but incrementing a number is probably the cheapest\n * thing we can do.\n *\n * Additionally, we only do this patchup on the very first client render ever.\n * Any calls to `useId` that happen dynamically in the client will be\n * populated immediately with a value. So, we only get the double render after\n * server hydration and never again, SO BACK OFF ALRIGHT?\n */\nvar serverHandoffComplete = false;\nvar id = 0;\nfunction genId() {\n return ++id;\n}\n/* eslint-disable react-hooks/rules-of-hooks */\n\n/**\n * useId\n *\n * Autogenerate IDs to facilitate WAI-ARIA and server rendering.\n *\n * Note: The returned ID will initially be `null` and will update after a\n * component mounts. Users may need to supply their own ID if they need\n * consistent values for SSR.\n *\n * @see Docs https://reach.tech/auto-id\n */\n\nfunction useId(providedId) {\n var _ref;\n\n // TODO: Remove error flag when updating internal deps to React 18. None of\n // our tricks will play well with concurrent rendering anyway.\n // @ts-expect-error\n if (typeof useId$1 === \"function\") {\n // @ts-expect-error\n var _id = useId$1(providedId);\n return providedId != null ? providedId : _id;\n } // If this instance isn't part of the initial render, we don't have to do the\n // double render/patch-up dance. We can just generate the ID and return it.\n\n var initialId = providedId != null ? providedId : serverHandoffComplete ? genId() : null;\n var _React$useState = useState(initialId),\n id = _React$useState[0],\n setId = _React$useState[1];\n useIsomorphicLayoutEffect(function () {\n if (id === null) {\n // Patch the ID after render. We do this in `useLayoutEffect` to avoid any\n // rendering flicker, though it'll make the first render slower (unlikely\n // to matter, but you're welcome to measure your app and let us know if\n // it's a problem).\n setId(genId());\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useEffect(function () {\n if (serverHandoffComplete === false) {\n // Flag all future uses of `useId` to skip the update dance. This is in\n // `useEffect` because it goes after `useLayoutEffect`, ensuring we don't\n // accidentally bail out of the patch-up dance prematurely.\n serverHandoffComplete = true;\n }\n }, []);\n return (_ref = providedId != null ? providedId : id) != null ? _ref : undefined;\n}\nexport { useId };","import { forwardRef, useCallback, createElement, useRef, useMemo } from 'react';\nimport { createContext } from '@reach/utils/context';\nimport { isNumber, isBoolean } from '@reach/utils/type-check';\nimport { makeId } from '@reach/utils/make-id';\nimport { noop } from '@reach/utils/noop';\nimport { useCheckStyles } from '@reach/utils/dev-utils';\nimport { useComposedRefs } from '@reach/utils/compose-refs';\nimport { useControlledState } from '@reach/utils/use-controlled-state';\nimport { composeEventHandlers } from '@reach/utils/compose-event-handlers';\nimport { useStatefulRefValue } from '@reach/utils/use-stateful-ref-value';\nimport { createDescendantContext, useDescendantsInit, DescendantProvider, useDescendant, useDescendantKeyDown } from '@reach/descendants';\nimport { useId } from '@reach/auto-id';\nimport PropTypes from 'prop-types';\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nvar _excluded = [\"as\", \"children\", \"defaultIndex\", \"index\", \"onChange\", \"readOnly\", \"collapsible\", \"multiple\"],\n _excluded2 = [\"as\", \"children\", \"disabled\", \"index\"],\n _excluded3 = [\"as\", \"children\", \"onClick\", \"onKeyDown\", \"onMouseDown\", \"onPointerDown\", \"tabIndex\"],\n _excluded4 = [\"as\", \"children\"];\nvar AccordionDescendantContext = /*#__PURE__*/createDescendantContext(\"AccordionDescendantContext\");\nvar _createContext = /*#__PURE__*/createContext(\"Accordion\"),\n AccordionProvider = _createContext[0],\n useAccordionCtx = _createContext[1];\nvar _createContext2 = /*#__PURE__*/createContext(\"AccordionItem\"),\n AccordionItemProvider = _createContext2[0],\n useAccordionItemCtx = _createContext2[1]; ////////////////////////////////////////////////////////////////////////////////\n\nvar AccordionStates; ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Accordion\n *\n * The wrapper component for all other accordion components. Each accordion\n * component will consist of accordion items whose buttons are keyboard\n * navigable using arrow keys.\n *\n * @see Docs https://reach.tech/accordion#accordion-1\n */\n\n(function (AccordionStates) {\n AccordionStates[\"Open\"] = \"OPEN\";\n AccordionStates[\"Collapsed\"] = \"COLLAPSED\";\n})(AccordionStates || (AccordionStates = {}));\nvar Accordion = /*#__PURE__*/forwardRef(function Accordion(_ref, forwardedRef) {\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? \"div\" : _ref$as,\n children = _ref.children,\n defaultIndex = _ref.defaultIndex,\n controlledIndex = _ref.index,\n onChange = _ref.onChange,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n _ref$collapsible = _ref.collapsible,\n collapsible = _ref$collapsible === void 0 ? false : _ref$collapsible,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === void 0 ? false : _ref$multiple,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n var _useControlledState = useControlledState({\n controlledValue: controlledIndex,\n defaultValue: function defaultValue() {\n if (defaultIndex != null) {\n // If multiple is set to true, we need to make sure the `defaultIndex`\n // is an array (and vice versa).\n if (multiple) {\n return Array.isArray(defaultIndex) ? defaultIndex : [defaultIndex];\n } else {\n var _defaultIndex$;\n return Array.isArray(defaultIndex) ? (_defaultIndex$ = defaultIndex[0]) != null ? _defaultIndex$ : 0 : defaultIndex;\n }\n }\n if (collapsible) {\n // Collapsible accordions with no defaultIndex will start with all\n // panels collapsed.\n return multiple ? [] : -1;\n } // Otherwise the first panel will be our default.\n\n // Otherwise the first panel will be our default.\n return multiple ? [0] : 0;\n },\n calledFrom: \"Tabs\"\n }),\n openPanels = _useControlledState[0],\n setOpenPanels = _useControlledState[1];\n var _useDescendantsInit = useDescendantsInit(),\n descendants = _useDescendantsInit[0],\n setDescendants = _useDescendantsInit[1];\n var id = useId(props.id);\n var onSelectPanel = useCallback(function (index) {\n onChange && onChange(index);\n setOpenPanels(function (prevOpenPanels) {\n /*\n * If we're dealing with an uncontrolled component, the index arg\n * in selectChange will always be a number rather than an array.\n */\n index = index; // multiple allowed\n\n if (multiple) {\n // state will always be an array here\n prevOpenPanels = prevOpenPanels;\n if (\n // User is clicking on an already-open button\n prevOpenPanels.includes(index)) {\n // Other panels are open OR accordion is allowed to collapse\n if (prevOpenPanels.length > 1 || collapsible) {\n // Close the panel by filtering it from the array\n return prevOpenPanels.filter(function (i) {\n return i !== index;\n });\n }\n } else {\n // Open the panel by adding it to the array.\n return [].concat(prevOpenPanels, [index]).sort();\n }\n } else {\n prevOpenPanels = prevOpenPanels;\n return prevOpenPanels === index && collapsible ? -1 : index;\n }\n return prevOpenPanels;\n });\n }, [collapsible, multiple, onChange, setOpenPanels]);\n useCheckStyles(\"accordion\");\n return /*#__PURE__*/createElement(DescendantProvider, {\n context: AccordionDescendantContext,\n items: descendants,\n set: setDescendants\n }, /*#__PURE__*/createElement(AccordionProvider, {\n accordionId: id,\n openPanels: openPanels,\n onSelectPanel: readOnly ? noop : onSelectPanel,\n readOnly: readOnly\n }, /*#__PURE__*/createElement(Comp, _extends({}, props, {\n ref: forwardedRef,\n \"data-reach-accordion\": \"\"\n }), children)));\n});\n/**\n * @see Docs https://reach.tech/accordion#accordion-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n Accordion.displayName = \"Accordion\";\n Accordion.propTypes = {\n children: PropTypes.node.isRequired,\n defaultIndex: /*#__PURE__*/PropTypes.oneOfType([PropTypes.number, /*#__PURE__*/PropTypes.arrayOf(PropTypes.number)]),\n index: function index(props, name, compName, location, propName) {\n var val = props[name];\n if (props[name] != null && props.onChange == null && !props.readOnly) {\n return new Error(\"You provided an `index` prop to `Accordion` without an `onChange` handler. This will render a read-only accordion element. If the accordion should be functional, remove the `index` value to render an uncontrolled accordion or set an `onChange` handler to set an index when a change occurs. If the accordion is intended to have a fixed state, use the `readOnly` prop with a `defaultIndex` instead of an `index`.\");\n }\n if (props[name] != null && props.defaultIndex != null) {\n return new Error(\"You provided an `index` prop as well as a `defaultIndex` prop to `Accordion`. If you want a controlled component, use the index prop with an onChange handler. If you want an uncontrolled component, remove the index prop and use `defaultIndex` instead.\");\n }\n if (Array.isArray(props[name])) {\n return props[name].some(function (i) {\n return !isNumber(i);\n }) ? new Error(\"You provided an array as an index in `Accordion` but one or more of the values are not numeric. Please check to make sure all indices are valid numbers.\") : null;\n } else if (props[name] != null && !isNumber(props[name])) {\n return new Error(\"Invalid prop \\\"\" + propName + \"\\\" supplied to \\\"\" + compName + \"\\\". Expected \\\"number\\\", received \\\"\" + (Array.isArray(val) ? \"array\" : typeof val) + \"\\\".\");\n }\n return null;\n },\n multiple: function multiple(props, name, compName, location, propName) {\n if (!props[name] && Array.isArray(props.defaultIndex)) {\n return new Error(\"The \\\"\" + propName + \"\\\" prop supplied to \\\"\" + compName + \"\\\" is not set or set to \\\"false\\\", but an array of indices was provided to the \\\"defaultIndex\\\" prop. \\\"\" + compName + \"\\\" can only have more than one default index if the \\\"\" + propName + \"\\\" prop is set to \\\"true\\\".\");\n } else if (props[name] != null && !isBoolean(props[name])) {\n return new Error(\"Invalid prop \\\"\" + propName + \"\\\" supplied to \\\"\" + compName + \"\\\". Expected \\\"boolean\\\", received \\\"\" + (Array.isArray(props[name]) ? \"array\" : typeof props[name]) + \"\\\".\");\n }\n return null;\n },\n onChange: PropTypes.func,\n readOnly: PropTypes.bool,\n collapsible: PropTypes.bool\n };\n}\n/**\n * AccordionItem\n *\n * A group that wraps a an accordion's button and panel components.\n *\n * @see Docs https://reach.tech/accordion#accordionitem\n */\n\nvar AccordionItem = /*#__PURE__*/forwardRef(function AccordionItem(_ref2, forwardedRef) {\n var _ref2$as = _ref2.as,\n Comp = _ref2$as === void 0 ? \"div\" : _ref2$as,\n children = _ref2.children,\n _ref2$disabled = _ref2.disabled,\n disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,\n indexProp = _ref2.index,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded2);\n var _useAccordionCtx = useAccordionCtx(\"AccordionItem\"),\n accordionId = _useAccordionCtx.accordionId,\n openPanels = _useAccordionCtx.openPanels,\n readOnly = _useAccordionCtx.readOnly;\n var buttonRef = useRef(null);\n var _useStatefulRefValue = useStatefulRefValue(buttonRef, null),\n element = _useStatefulRefValue[0],\n handleButtonRefSet = _useStatefulRefValue[1];\n var descendant = useMemo(function () {\n return {\n element: element,\n disabled: disabled\n };\n }, [disabled, element]);\n var index = useDescendant(descendant, AccordionDescendantContext, indexProp); // We need unique IDs for the panel and button to point to one another\n\n var itemId = makeId(accordionId, index);\n var panelId = makeId(\"panel\", itemId);\n var buttonId = makeId(\"button\", itemId);\n var state = (Array.isArray(openPanels) ? openPanels.includes(index) && AccordionStates.Open : openPanels === index && AccordionStates.Open) || AccordionStates.Collapsed;\n var context = {\n buttonId: buttonId,\n buttonRef: buttonRef,\n disabled: disabled,\n handleButtonRefSet: handleButtonRefSet,\n index: index,\n itemId: itemId,\n panelId: panelId,\n state: state\n };\n return /*#__PURE__*/createElement(AccordionItemProvider, context, /*#__PURE__*/createElement(Comp, _extends({}, props, {\n ref: forwardedRef,\n \"data-reach-accordion-item\": \"\",\n \"data-state\": getDataState(state),\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-read-only\": readOnly ? \"\" : undefined\n }), children));\n});\n/**\n * @see Docs https://reach.tech/accordion#accordionitem-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n AccordionItem.displayName = \"AccordionItem\";\n AccordionItem.propTypes = {\n disabled: PropTypes.bool\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * AccordionButton\n *\n * The trigger button a user clicks to interact with an accordion.\n *\n * Must be a direct child of a `AccordionItem`.\n *\n * @see Docs https://reach.tech/accordion#accordionbutton\n */\n\nvar AccordionButton = /*#__PURE__*/forwardRef(function AccordionButton(_ref3, forwardedRef) {\n var _ref3$as = _ref3.as,\n Comp = _ref3$as === void 0 ? \"button\" : _ref3$as,\n children = _ref3.children,\n onClick = _ref3.onClick,\n onKeyDown = _ref3.onKeyDown;\n _ref3.onMouseDown;\n _ref3.onPointerDown;\n var tabIndex = _ref3.tabIndex,\n props = _objectWithoutPropertiesLoose(_ref3, _excluded3);\n var _useAccordionCtx2 = useAccordionCtx(\"AccordionButton\"),\n onSelectPanel = _useAccordionCtx2.onSelectPanel;\n var _useAccordionItemCtx = useAccordionItemCtx(\"AccordionButton\"),\n disabled = _useAccordionItemCtx.disabled,\n buttonId = _useAccordionItemCtx.buttonId,\n ownRef = _useAccordionItemCtx.buttonRef,\n handleButtonRefSet = _useAccordionItemCtx.handleButtonRefSet,\n index = _useAccordionItemCtx.index,\n panelId = _useAccordionItemCtx.panelId,\n state = _useAccordionItemCtx.state;\n var ref = useComposedRefs(forwardedRef, handleButtonRefSet);\n function handleClick(event) {\n event.preventDefault();\n if (disabled) {\n return;\n }\n ownRef.current.focus();\n onSelectPanel(index);\n }\n var handleKeyDown = useDescendantKeyDown(AccordionDescendantContext, {\n currentIndex: index,\n orientation: \"vertical\",\n key: \"element\",\n rotate: true,\n callback: function callback(element) {\n element == null ? void 0 : element.focus();\n },\n filter: function filter(button) {\n return !button.disabled;\n }\n });\n return /*#__PURE__*/createElement(Comp // Each accordion header `button` is wrapped in an element with role\n // `heading` that has a value set for `aria-level` that is appropriate\n // for the information architecture of the page.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#accordion\n // I believe this should be left for apps to handle, since headings\n // are necessarily context-aware. An app can wrap a button inside any\n // arbitrary tag(s).\n // TODO: Revisit documentation and examples\n // @example\n //
\n //

\n // Click Me\n //

\n // \n //
\n // The title of each accordion header is contained in an element with\n // role `button`. We use an HTML button by default, so we can omit\n // this attribute.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#accordion\n // role=\"button\"\n // The accordion header `button` element has `aria-controls` set to the\n // ID of the element containing the accordion panel content.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#accordion\n , _extends({\n \"aria-controls\": panelId // If the accordion panel associated with an accordion header is\n // visible, the header `button` element has `aria-expanded` set to\n // `true`. If the panel is not visible, `aria-expanded` is set to\n // `false`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#accordion\n ,\n\n \"aria-expanded\": state === AccordionStates.Open,\n tabIndex: disabled ? -1 : tabIndex\n }, props, {\n ref: ref,\n \"data-reach-accordion-button\": \"\",\n \"data-state\": getDataState(state) // If the accordion panel associated with an accordion header is\n // visible, and if the accordion does not permit the panel to be\n // collapsed, the header `button` element has `aria-disabled` set to\n // `true`. We can use `disabled` since we opt for an HTML5 `button`\n // element.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#accordion\n ,\n\n disabled: disabled || undefined,\n id: buttonId,\n onClick: composeEventHandlers(onClick, handleClick),\n onKeyDown: composeEventHandlers(onKeyDown, handleKeyDown)\n }), children);\n});\n/**\n * @see Docs https://reach.tech/accordion#accordionbutton-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n AccordionButton.displayName = \"AccordionButton\";\n AccordionButton.propTypes = {\n as: PropTypes.any,\n children: PropTypes.node\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * AccordionPanel\n *\n * The collapsible panel in which inner content for an accordion item is\n * rendered.\n *\n * @see Docs https://reach.tech/accordion#accordionpanel\n */\n\nvar AccordionPanel = /*#__PURE__*/forwardRef(function AccordionPanel(_ref4, forwardedRef) {\n var _ref4$as = _ref4.as,\n Comp = _ref4$as === void 0 ? \"div\" : _ref4$as,\n children = _ref4.children,\n props = _objectWithoutPropertiesLoose(_ref4, _excluded4);\n var _useAccordionItemCtx2 = useAccordionItemCtx(\"AccordionPanel\"),\n disabled = _useAccordionItemCtx2.disabled,\n panelId = _useAccordionItemCtx2.panelId,\n buttonId = _useAccordionItemCtx2.buttonId,\n state = _useAccordionItemCtx2.state;\n return /*#__PURE__*/createElement(Comp, _extends({\n hidden: state !== AccordionStates.Open // Optionally, each element that serves as a container for panel content\n // has role `region` and `aria-labelledby` with a value that refers to\n // the button that controls display of the panel.\n // Role `region` is especially helpful to the perception of structure by\n // screen reader users when panels contain heading elements or a nested\n // accordion.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#accordion\n // Avoid using the region role in circumstances that create landmark\n // region proliferation, e.g., in an accordion that contains more than\n // approximately 6 panels that can be expanded at the same time.\n // A user can override this with `role=\"none\"` or `role=\"presentation\"`\n // TODO: Add to docs\n ,\n\n role: \"region\",\n \"aria-labelledby\": buttonId\n }, props, {\n ref: forwardedRef,\n \"data-reach-accordion-panel\": \"\",\n \"data-disabled\": disabled || undefined,\n \"data-state\": getDataState(state),\n id: panelId\n }), children);\n});\n/**\n * @see Docs https://reach.tech/accordion#accordionpanel-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n AccordionPanel.displayName = \"AccordionPanel\";\n AccordionPanel.propTypes = {\n children: PropTypes.node\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hook that exposes data for a given `Accordion` component to its\n * descendants.\n *\n * @see Docs https://reach.tech/accordion#useaccordioncontext\n */\n\nfunction useAccordionContext() {\n var _useAccordionCtx3 = useAccordionCtx(\"useAccordionContext\"),\n openPanels = _useAccordionCtx3.openPanels,\n accordionId = _useAccordionCtx3.accordionId;\n return useMemo(function () {\n var panels = [];\n return {\n id: accordionId,\n openPanels: panels.concat(openPanels).filter(function (i) {\n return i >= 0;\n })\n };\n }, [accordionId, openPanels]);\n}\n/**\n * A hook that exposes data for a given `AccordionItem` component to its\n * descendants.\n *\n * @see Docs https://reach.tech/accordion#useaccordionitemcontext\n */\n\nfunction useAccordionItemContext() {\n var _useAccordionItemCtx3 = useAccordionItemCtx(\"useAccordionItemContext\"),\n index = _useAccordionItemCtx3.index,\n state = _useAccordionItemCtx3.state;\n return useMemo(function () {\n return {\n index: index,\n isExpanded: state === AccordionStates.Open\n };\n }, [index, state]);\n} ////////////////////////////////////////////////////////////////////////////////\n\nfunction getDataState(state) {\n return state === AccordionStates.Open ? \"open\" : \"collapsed\";\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport { Accordion, AccordionButton, AccordionItem, AccordionPanel, AccordionStates, useAccordionContext, useAccordionItemContext };","import { useRef, useState, useCallback } from 'react';\nimport warning from 'tiny-warning';\n\n/**\n * Check if a component is controlled or uncontrolled and return the correct\n * state value and setter accordingly. If the component state is controlled by\n * the app, the setter is a noop.\n *\n * @param controlledValue\n * @param defaultValue\n */\n\nfunction useControlledState(_ref) {\n var controlledValue = _ref.controlledValue,\n defaultValue = _ref.defaultValue,\n _ref$calledFrom = _ref.calledFrom,\n calledFrom = _ref$calledFrom === void 0 ? \"A component\" : _ref$calledFrom;\n var wasControlled = controlledValue !== undefined;\n var _useRef = useRef(wasControlled),\n isControlled = _useRef.current;\n if (process.env.NODE_ENV !== \"production\") {\n process.env.NODE_ENV !== \"production\" ? warning(!(!isControlled && wasControlled), calledFrom + \" is changing from controlled to uncontrolled. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(isControlled && !wasControlled), calledFrom + \" is changing from uncontrolled to controlled. Components should not switch from uncontrolled to controlled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.\") : void 0;\n }\n var _useState = useState(isControlled ? controlledValue : defaultValue),\n valueState = _useState[0],\n setValue = _useState[1];\n var set = useCallback(function (n) {\n if (!isControlled) {\n setValue(n);\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return [isControlled ? controlledValue : valueState, set];\n}\nexport { useControlledState };","import { useState, useCallback } from 'react';\nfunction useStatefulRefValue(ref, initialState) {\n var _useState = useState(initialState),\n state = _useState[0],\n setState = _useState[1];\n var callbackRef = useCallback(function (refValue) {\n ref.current = refValue;\n setState(refValue); // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return [state, callbackRef];\n}\nexport { useStatefulRefValue };","import { makeStyles } from '@material-ui/styles';\n\nexport default makeStyles((theme) => ({\n contentWrapper: {\n padding: theme.spacing(2),\n backgroundColor: '#F8FAFF',\n marginTop: theme.spacing(0.5),\n },\n sectionTitle: {\n fontSize: theme.typography.pxToRem(16),\n marginBottom: theme.spacing(1),\n color: '#3C4B68',\n },\n text: {\n color: '#606060',\n },\n tagsSection: {\n width: '100%',\n },\n tagsWrapper: {\n display: 'flex',\n overflowY: 'auto',\n // Hide scrollbar for Chrome, Safari, Firefox and edge\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n },\n}));\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { Grid, Typography } from '@material-ui/core';\nimport { AccordionPanel } from '@reach/accordion';\n\nimport Button from '$landing-page/components/button';\nimport Tag from '$landing-page/components/tag';\n\nimport useStyles from './styles';\n\nconst Content = (props) => {\n const { tags, text, url } = props;\n\n const classes = useStyles(props);\n\n return (\n \n
\n \n {tags.length > 0 && (\n \n \n Keywords\n \n
\n {tags.map((tag) => (\n \n ))}\n
\n
\n )}\n \n \n Abstract\n \n \n {text}\n \n \n \n \n \n
\n
\n
\n );\n};\n\nContent.propTypes = {\n tags: PropTypes.array.isRequired,\n text: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n};\n\nexport default Content;\n","import { makeStyles } from '@material-ui/styles';\n\nexport default makeStyles((theme) => ({\n root: {\n borderBottom: '2px solid #eee',\n padding: theme.spacing(2),\n },\n expanded: {\n backgroundColor: '#F8FAFF',\n },\n title: {\n color: '#081F4D',\n cursor: 'pointer',\n fontWeight: 'bold',\n fontSize: theme.typography.pxToRem(16),\n '&:hover': {\n color: theme.palette.primary.main,\n },\n },\n subtitle: {\n marginTop: theme.spacing(1),\n },\n sideContentWrapper: {\n justifyContent: 'space-between',\n [theme.breakpoints.up('md')]: {\n justifyContent: 'flex-end',\n gap: theme.spacing(4),\n },\n },\n date: {\n color: '#767B87',\n },\n buttonWrapper: {\n '& [data-reach-accordion-button]': {\n border: 'none !important',\n backgroundColor: 'transparent',\n display: 'flex',\n },\n },\n buttonText: {\n fontWeight: 700,\n color: theme.palette.primary.main,\n textTransform: 'uppercase',\n },\n buttonIconWrapper: {\n width: 20,\n height: 20,\n borderRadius: '50%',\n backgroundColor: theme.palette.primary.main,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n marginLeft: theme.spacing(1),\n },\n buttonIcon: {\n color: theme.palette.common.white,\n fontSize: theme.typography.pxToRem(16),\n transform: 'rotate(90deg)',\n },\n buttonIconUp: {\n transform: 'rotate(270deg)',\n },\n}));\n","import React from 'react';\nimport clsx from 'clsx';\nimport * as PropTypes from 'prop-types';\nimport { Grid, Typography } from '@material-ui/core';\nimport { AccordionButton, useAccordionItemContext } from '@reach/accordion';\n\nimport utils from '../../../../utils';\nimport useStyles from './styles';\n\nimport { FontAwesomeIcon } from '$common/fontawesome-pro/react-fontawesome';\n\nconst Header = (props) => {\n const { title, authors, date, url } = props;\n\n const { isExpanded } = useAccordionItemContext();\n\n const classes = useStyles(props);\n\n return (\n
\n \n \n \n \n {title}\n \n \n \n \n {authors.map((author) => `${author.firstName} ${author.lastName}`).join(', ')}\n \n \n \n \n \n \n {utils.dateTime(date).format(utils.dateTime.FORMATS.DATE_HUMAN_READABLE)}\n \n \n \n \n \n {isExpanded ? 'Collapse' : 'Read More'}\n \n
\n \n
\n
\n
\n
\n
\n
\n );\n};\n\nHeader.propTypes = {\n title: PropTypes.string.isRequired,\n date: PropTypes.string.isRequired,\n authors: PropTypes.array.isRequired,\n url: PropTypes.string.isRequired,\n};\n\nexport default Header;\n","import { makeStyles } from '@material-ui/styles';\n\nexport default makeStyles((theme) => ({\n root: {\n margin: theme.spacing(0.5, 0),\n },\n}));\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { AccordionItem as RUIAccordionItem } from '@reach/accordion';\n\nimport Content from './content';\nimport Header from './header';\nimport useStyles from './styles';\n\nconst AccordionItem = (props) => {\n const { item } = props;\n\n const classes = useStyles();\n\n return (\n
\n \n
\n \n \n
\n );\n};\n\nAccordionItem.propTypes = {\n item: PropTypes.objectOf(PropTypes.any).isRequired,\n};\n\nexport default AccordionItem;\n","import { makeStyles } from '@material-ui/styles';\n\nexport default makeStyles((theme) => ({\n root: {\n marginTop: theme.spacing(1),\n },\n noItemFound: {\n textAlign: 'center',\n },\n}));\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { Accordion } from '@reach/accordion';\n\nimport Loading from '$landing-page/components/loading';\n\nimport AccordionItem from './accordion-item';\nimport useStyles from './styles';\n\nconst PublicationsAccordionList = (props) => {\n const { items, loading, error } = props;\n\n const classes = useStyles();\n\n return (\n
\n \n {!loading && !error && items.length === 0 ? (\n

No publication found!

\n ) : (\n \n {items.map((publication) => (\n \n ))}\n \n )}\n
\n );\n};\n\nPublicationsAccordionList.defaultProps = {\n loading: false,\n error: false,\n};\n\nPublicationsAccordionList.propTypes = {\n items: PropTypes.array.isRequired,\n loading: PropTypes.bool,\n error: PropTypes.bool,\n};\n\nexport default PublicationsAccordionList;\n","import { makeStyles } from '@material-ui/styles';\n\nexport default makeStyles((theme) => ({\n root: {\n flexShrink: 0,\n padding: theme.spacing(1, 2),\n margin: theme.spacing(0.3),\n fontSize: theme.typography.pxToRem(12),\n borderRadius: 20,\n border: '1px solid #E5EBEE',\n backgroundColor: theme.palette.common.white,\n },\n clickable: {\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: '#CDE6FF',\n },\n },\n selected: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.common.white,\n },\n disabled: {\n cursor: 'auto',\n '&:hover': {\n color: '#606060',\n backgroundColor: theme.palette.common.white,\n },\n },\n}));\n","import React from 'react';\nimport clsx from 'clsx';\nimport * as PropTypes from 'prop-types';\n\nimport useStyles from './styles';\n\nconst Tag = (props) => {\n const { name, onClick, selected, disabled } = props;\n const classes = useStyles(props);\n\n const clickable = !disabled && onClick;\n return (\n \n {name}\n \n );\n};\n\nTag.defaultProps = {\n onClick: undefined,\n selected: false,\n disabled: false,\n};\n\nTag.propTypes = {\n name: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n\nexport default Tag;\n","export const HTTP_CALL_STATUS = {\n UNKNOWN: 'UNKNOWN',\n LOADING: 'LOADING',\n SUCCEEDED: 'SUCCEEDED',\n FAILED: 'FAILED',\n};\n\nexport const ERROR_CODES = {\n PARAM_INVALID: 4,\n};\n\nexport const PUBLICATION_STATUS = {\n draft: 1,\n inReview: 2,\n published: 3,\n};\n","import { makeStyles } from '@material-ui/styles';\n\nexport default makeStyles((theme) => ({\n heading1: {\n position: 'fixed',\n left: 9999,\n top: 9999,\n },\n contentHeaderWrapper: {\n background: '#e7effd',\n boxShadow: '0 3px 6px 0 rgba(0, 0, 0, 0.16)',\n paddingTop: theme.spacing(5),\n paddingBottom: theme.spacing(5),\n },\n infoWrapper: {\n boxSizing: 'border-box',\n },\n description: {\n marginTop: theme.spacing(1),\n },\n illustrationWrapper: {\n flexGrow: 1,\n },\n pageContentWrapper: {\n paddingTop: theme.spacing(4),\n paddingBottom: theme.spacing(4),\n },\n noMargin: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n avatarImage: {\n width: 100,\n height: 100,\n },\n}));\n","import React from 'react';\nimport clsx from 'clsx';\nimport { GatsbyImage } from 'gatsby-plugin-image';\nimport * as PropTypes from 'prop-types';\nimport { Avatar, Grid, Typography, useMediaQuery } from '@material-ui/core';\nimport { useTheme } from '@material-ui/styles';\n\nimport PageHeader from '$landing-page/components/page-header';\nimport PageSection from '$landing-page/components/page-section';\nimport PageWrapper from '$landing-page/components/page-wrapper';\n\nimport useStyles from './styles';\n\nconst BigContentHeaderLayout = (props) => {\n const {\n children,\n pathname,\n title,\n description,\n illustrationImage,\n showIllustrationImageOnly,\n avatarImage,\n metaImageSrc,\n content,\n } = props;\n\n const classes = useStyles(props);\n const theme = useTheme();\n const isScreenSizeMd = useMediaQuery(theme.breakpoints.up('md'));\n\n return (\n \n \n \n {title}\n \n \n {content || (\n \n {(isScreenSizeMd || showIllustrationImageOnly) && illustrationImage && (\n \n \n \n )}\n {!showIllustrationImageOnly && (\n <>\n \n {avatarImage && (\n \n \n \n )}\n \n \n {title}\n \n \n {description}\n \n \n \n {!isScreenSizeMd && (\n \n \n {illustrationImage && (\n \n \n \n )}\n \n \n )}\n \n )}\n \n )}\n \n {children.length > 1 &&\n children.map((child, index) => {\n let hasNoMargin = false;\n let childProps = child?.props;\n if (child?.props?.noMargin) {\n hasNoMargin = true;\n if (child?.type) {\n const { noMargin, ...restChildProps } = childProps;\n childProps = restChildProps;\n }\n }\n return (\n \n {child?.type && child?.props ? React.createElement(child.type, childProps) : child}\n \n );\n })}\n {(children.length === 1 || children.length === undefined) && (\n {children}\n )}\n \n );\n};\n\nBigContentHeaderLayout.defaultProps = {\n showIllustrationImageOnly: false,\n illustrationImage: undefined,\n metaImageSrc: undefined,\n avatarImage: undefined,\n description: undefined,\n content: undefined,\n};\n\nBigContentHeaderLayout.propTypes = {\n children: PropTypes.node.isRequired,\n pathname: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n illustrationImage: PropTypes.oneOfType([PropTypes.object]),\n metaImageSrc: PropTypes.string,\n showIllustrationImageOnly: PropTypes.bool,\n avatarImage: PropTypes.oneOfType([PropTypes.object]),\n content: PropTypes.node,\n};\n\nexport default BigContentHeaderLayout;\n","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\n}), 'Person');","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport Person from '../internal/svg-icons/Person';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n width: 40,\n height: 40,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(20),\n lineHeight: 1,\n borderRadius: '50%',\n overflow: 'hidden',\n userSelect: 'none'\n },\n /* Styles applied to the root element if not `src` or `srcSet`. */\n colorDefault: {\n color: theme.palette.background.default,\n backgroundColor: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[600]\n },\n /* Styles applied to the root element if `variant=\"circle\"`. */\n circle: {},\n /* Styles applied to the root element if `variant=\"circular\"`. */\n circular: {},\n /* Styles applied to the root element if `variant=\"rounded\"`. */\n rounded: {\n borderRadius: theme.shape.borderRadius\n },\n /* Styles applied to the root element if `variant=\"square\"`. */\n square: {\n borderRadius: 0\n },\n /* Styles applied to the img element if either `src` or `srcSet` is defined. */\n img: {\n width: '100%',\n height: '100%',\n textAlign: 'center',\n // Handle non-square image. The property isn't supported by IE 11.\n objectFit: 'cover',\n // Hide alt text.\n color: 'transparent',\n // Hide the image broken icon, only works on Chrome.\n textIndent: 10000\n },\n /* Styles applied to the fallback icon */\n fallback: {\n width: '75%',\n height: '75%'\n }\n };\n};\nfunction useLoaded(_ref) {\n var src = _ref.src,\n srcSet = _ref.srcSet;\n var _React$useState = React.useState(false),\n loaded = _React$useState[0],\n setLoaded = _React$useState[1];\n React.useEffect(function () {\n if (!src && !srcSet) {\n return undefined;\n }\n setLoaded(false);\n var active = true;\n var image = new Image();\n image.src = src;\n image.srcSet = srcSet;\n image.onload = function () {\n if (!active) {\n return;\n }\n setLoaded('loaded');\n };\n image.onerror = function () {\n if (!active) {\n return;\n }\n setLoaded('error');\n };\n return function () {\n active = false;\n };\n }, [src, srcSet]);\n return loaded;\n}\nvar Avatar = /*#__PURE__*/React.forwardRef(function Avatar(props, ref) {\n var alt = props.alt,\n childrenProp = props.children,\n classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n imgProps = props.imgProps,\n sizes = props.sizes,\n src = props.src,\n srcSet = props.srcSet,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'circle' : _props$variant,\n other = _objectWithoutProperties(props, [\"alt\", \"children\", \"classes\", \"className\", \"component\", \"imgProps\", \"sizes\", \"src\", \"srcSet\", \"variant\"]);\n var children = null; // Use a hook instead of onError on the img element to support server-side rendering.\n\n var loaded = useLoaded({\n src: src,\n srcSet: srcSet\n });\n var hasImg = src || srcSet;\n var hasImgNotFailing = hasImg && loaded !== 'error';\n if (hasImgNotFailing) {\n children = /*#__PURE__*/React.createElement(\"img\", _extends({\n alt: alt,\n src: src,\n srcSet: srcSet,\n sizes: sizes,\n className: classes.img\n }, imgProps));\n } else if (childrenProp != null) {\n children = childrenProp;\n } else if (hasImg && alt) {\n children = alt[0];\n } else {\n children = /*#__PURE__*/React.createElement(Person, {\n className: classes.fallback\n });\n }\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, classes.system, classes[variant], className, !hasImgNotFailing && classes.colorDefault),\n ref: ref\n }, other), children);\n});\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nexport default withStyles(styles, {\n name: 'MuiAvatar'\n})(Avatar);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport capitalize from '../utils/capitalize';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n userSelect: 'none',\n width: '1em',\n height: '1em',\n display: 'inline-block',\n fill: 'currentColor',\n flexShrink: 0,\n fontSize: theme.typography.pxToRem(24),\n transition: theme.transitions.create('fill', {\n duration: theme.transitions.duration.shorter\n })\n },\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {\n color: theme.palette.primary.main\n },\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n /* Styles applied to the root element if `color=\"action\"`. */\n colorAction: {\n color: theme.palette.action.active\n },\n /* Styles applied to the root element if `color=\"error\"`. */\n colorError: {\n color: theme.palette.error.main\n },\n /* Styles applied to the root element if `color=\"disabled\"`. */\n colorDisabled: {\n color: theme.palette.action.disabled\n },\n /* Styles applied to the root element if `fontSize=\"inherit\"`. */\n fontSizeInherit: {\n fontSize: 'inherit'\n },\n /* Styles applied to the root element if `fontSize=\"small\"`. */\n fontSizeSmall: {\n fontSize: theme.typography.pxToRem(20)\n },\n /* Styles applied to the root element if `fontSize=\"large\"`. */\n fontSizeLarge: {\n fontSize: theme.typography.pxToRem(35)\n }\n };\n};\nvar SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(props, ref) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'inherit' : _props$color,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'svg' : _props$component,\n _props$fontSize = props.fontSize,\n fontSize = _props$fontSize === void 0 ? 'default' : _props$fontSize,\n htmlColor = props.htmlColor,\n titleAccess = props.titleAccess,\n _props$viewBox = props.viewBox,\n viewBox = _props$viewBox === void 0 ? '0 0 24 24' : _props$viewBox,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"color\", \"component\", \"fontSize\", \"htmlColor\", \"titleAccess\", \"viewBox\"]);\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className, color !== 'inherit' && classes[\"color\".concat(capitalize(color))], fontSize !== 'default' && classes[\"fontSize\".concat(capitalize(fontSize))]),\n focusable: \"false\",\n viewBox: viewBox,\n color: htmlColor,\n \"aria-hidden\": titleAccess ? undefined : true,\n role: titleAccess ? 'img' : undefined,\n ref: ref\n }, other), children, titleAccess ? /*#__PURE__*/React.createElement(\"title\", null, titleAccess) : null);\n});\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nSvgIcon.muiName = 'SvgIcon';\nexport default withStyles(styles, {\n name: 'MuiSvgIcon'\n})(SvgIcon);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport SvgIcon from '../SvgIcon';\n/**\n * Private module reserved for @material-ui/x packages.\n */\n\nexport default function createSvgIcon(path, displayName) {\n var Component = function Component(props, ref) {\n return /*#__PURE__*/React.createElement(SvgIcon, _extends({\n ref: ref\n }, props), path);\n };\n if (process.env.NODE_ENV !== 'production') {\n // Need to set `displayName` on the inner component for React.memo.\n // React prior to 16.14 ignores `displayName` on the wrapper.\n Component.displayName = \"\".concat(displayName, \"Icon\");\n }\n Component.muiName = SvgIcon.muiName;\n return /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(Component));\n}","'use strict';\n\nconst mapObj = require('map-obj');\nconst camelCase = require('camelcase');\nconst QuickLru = require('quick-lru');\nconst has = (array, key) => array.some(x => {\n if (typeof x === 'string') {\n return x === key;\n }\n x.lastIndex = 0;\n return x.test(key);\n});\nconst cache = new QuickLru({\n maxSize: 100000\n});\n\n// Reproduces behavior from `map-obj`\nconst isObject = value => typeof value === 'object' && value !== null && !(value instanceof RegExp) && !(value instanceof Error) && !(value instanceof Date);\nconst camelCaseConvert = (input, options) => {\n if (!isObject(input)) {\n return input;\n }\n options = {\n deep: false,\n pascalCase: false,\n ...options\n };\n const {\n exclude,\n pascalCase,\n stopPaths,\n deep\n } = options;\n const stopPathsSet = new Set(stopPaths);\n const makeMapper = parentPath => (key, value) => {\n if (deep && isObject(value)) {\n const path = parentPath === undefined ? key : \"\".concat(parentPath, \".\").concat(key);\n if (!stopPathsSet.has(path)) {\n value = mapObj(value, makeMapper(path));\n }\n }\n if (!(exclude && has(exclude, key))) {\n const cacheKey = pascalCase ? \"\".concat(key, \"_\") : key;\n if (cache.has(cacheKey)) {\n key = cache.get(cacheKey);\n } else {\n const returnValue = camelCase(key, {\n pascalCase\n });\n if (key.length < 100) {\n // Prevent abuse\n cache.set(cacheKey, returnValue);\n }\n key = returnValue;\n }\n }\n return [key, value];\n };\n return mapObj(input, makeMapper(undefined));\n};\nmodule.exports = (input, options) => {\n if (Array.isArray(input)) {\n return Object.keys(input).map(key => camelCaseConvert(input[key], options));\n }\n return camelCaseConvert(input, options);\n};","'use strict';\n\nconst UPPERCASE = /[\\p{Lu}]/u;\nconst LOWERCASE = /[\\p{Ll}]/u;\nconst LEADING_CAPITAL = /^[\\p{Lu}](?![\\p{Lu}])/gu;\nconst IDENTIFIER = /([\\p{Alpha}\\p{N}_]|$)/u;\nconst SEPARATORS = /[_.\\- ]+/;\nconst LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source);\nconst SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu');\nconst NUMBERS_AND_IDENTIFIER = new RegExp('\\\\d+' + IDENTIFIER.source, 'gu');\nconst preserveCamelCase = (string, toLowerCase, toUpperCase) => {\n let isLastCharLower = false;\n let isLastCharUpper = false;\n let isLastLastCharUpper = false;\n for (let i = 0; i < string.length; i++) {\n const character = string[i];\n if (isLastCharLower && UPPERCASE.test(character)) {\n string = string.slice(0, i) + '-' + string.slice(i);\n isLastCharLower = false;\n isLastLastCharUpper = isLastCharUpper;\n isLastCharUpper = true;\n i++;\n } else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) {\n string = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n isLastLastCharUpper = isLastCharUpper;\n isLastCharUpper = false;\n isLastCharLower = true;\n } else {\n isLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;\n isLastLastCharUpper = isLastCharUpper;\n isLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;\n }\n }\n return string;\n};\nconst preserveConsecutiveUppercase = (input, toLowerCase) => {\n LEADING_CAPITAL.lastIndex = 0;\n return input.replace(LEADING_CAPITAL, m1 => toLowerCase(m1));\n};\nconst postProcess = (input, toUpperCase) => {\n SEPARATORS_AND_IDENTIFIER.lastIndex = 0;\n NUMBERS_AND_IDENTIFIER.lastIndex = 0;\n return input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier)).replace(NUMBERS_AND_IDENTIFIER, m => toUpperCase(m));\n};\nconst camelCase = (input, options) => {\n if (!(typeof input === 'string' || Array.isArray(input))) {\n throw new TypeError('Expected the input to be `string | string[]`');\n }\n options = {\n pascalCase: false,\n preserveConsecutiveUppercase: false,\n ...options\n };\n if (Array.isArray(input)) {\n input = input.map(x => x.trim()).filter(x => x.length).join('-');\n } else {\n input = input.trim();\n }\n if (input.length === 0) {\n return '';\n }\n const toLowerCase = options.locale === false ? string => string.toLowerCase() : string => string.toLocaleLowerCase(options.locale);\n const toUpperCase = options.locale === false ? string => string.toUpperCase() : string => string.toLocaleUpperCase(options.locale);\n if (input.length === 1) {\n return options.pascalCase ? toUpperCase(input) : toLowerCase(input);\n }\n const hasUpperCase = input !== toLowerCase(input);\n if (hasUpperCase) {\n input = preserveCamelCase(input, toLowerCase, toUpperCase);\n }\n input = input.replace(LEADING_SEPARATORS, '');\n if (options.preserveConsecutiveUppercase) {\n input = preserveConsecutiveUppercase(input, toLowerCase);\n } else {\n input = toLowerCase(input);\n }\n if (options.pascalCase) {\n input = toUpperCase(input.charAt(0)) + input.slice(1);\n }\n return postProcess(input, toUpperCase);\n};\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;","'use strict';\n\nconst isObject = value => typeof value === 'object' && value !== null;\nconst mapObjectSkip = Symbol('skip');\n\n// Customized for this use-case\nconst isObjectCustom = value => isObject(value) && !(value instanceof RegExp) && !(value instanceof Error) && !(value instanceof Date);\nconst mapObject = function (object, mapper, options) {\n let isSeen = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new WeakMap();\n options = {\n deep: false,\n target: {},\n ...options\n };\n if (isSeen.has(object)) {\n return isSeen.get(object);\n }\n isSeen.set(object, options.target);\n const {\n target\n } = options;\n delete options.target;\n const mapArray = array => array.map(element => isObjectCustom(element) ? mapObject(element, mapper, options, isSeen) : element);\n if (Array.isArray(object)) {\n return mapArray(object);\n }\n for (const [key, value] of Object.entries(object)) {\n const mapResult = mapper(key, value, object);\n if (mapResult === mapObjectSkip) {\n continue;\n }\n let [newKey, newValue, {\n shouldRecurse = true\n } = {}] = mapResult;\n\n // Drop `__proto__` keys.\n if (newKey === '__proto__') {\n continue;\n }\n if (options.deep && shouldRecurse && isObjectCustom(newValue)) {\n newValue = Array.isArray(newValue) ? mapArray(newValue) : mapObject(newValue, mapper, options, isSeen);\n }\n target[newKey] = newValue;\n }\n return target;\n};\nmodule.exports = (object, mapper, options) => {\n if (!isObject(object)) {\n throw new TypeError(\"Expected an object, got `\".concat(object, \"` (\").concat(typeof object, \")\"));\n }\n return mapObject(object, mapper, options);\n};\nmodule.exports.mapObjectSkip = mapObjectSkip;","'use strict';\n\nclass QuickLRU {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!(options.maxSize && options.maxSize > 0)) {\n throw new TypeError('`maxSize` must be a number greater than 0');\n }\n this.maxSize = options.maxSize;\n this.onEviction = options.onEviction;\n this.cache = new Map();\n this.oldCache = new Map();\n this._size = 0;\n }\n _set(key, value) {\n this.cache.set(key, value);\n this._size++;\n if (this._size >= this.maxSize) {\n this._size = 0;\n if (typeof this.onEviction === 'function') {\n for (const [key, value] of this.oldCache.entries()) {\n this.onEviction(key, value);\n }\n }\n this.oldCache = this.cache;\n this.cache = new Map();\n }\n }\n get(key) {\n if (this.cache.has(key)) {\n return this.cache.get(key);\n }\n if (this.oldCache.has(key)) {\n const value = this.oldCache.get(key);\n this.oldCache.delete(key);\n this._set(key, value);\n return value;\n }\n }\n set(key, value) {\n if (this.cache.has(key)) {\n this.cache.set(key, value);\n } else {\n this._set(key, value);\n }\n return this;\n }\n has(key) {\n return this.cache.has(key) || this.oldCache.has(key);\n }\n peek(key) {\n if (this.cache.has(key)) {\n return this.cache.get(key);\n }\n if (this.oldCache.has(key)) {\n return this.oldCache.get(key);\n }\n }\n delete(key) {\n const deleted = this.cache.delete(key);\n if (deleted) {\n this._size--;\n }\n return this.oldCache.delete(key) || deleted;\n }\n clear() {\n this.cache.clear();\n this.oldCache.clear();\n this._size = 0;\n }\n *keys() {\n for (const [key] of this) {\n yield key;\n }\n }\n *values() {\n for (const [, value] of this) {\n yield value;\n }\n }\n *[Symbol.iterator]() {\n for (const item of this.cache) {\n yield item;\n }\n for (const item of this.oldCache) {\n const [key] = item;\n if (!this.cache.has(key)) {\n yield item;\n }\n }\n }\n get size() {\n let oldCacheSize = 0;\n for (const key of this.oldCache.keys()) {\n if (!this.cache.has(key)) {\n oldCacheSize++;\n }\n }\n return Math.min(this._size + oldCacheSize, this.maxSize);\n }\n}\nmodule.exports = QuickLRU;"],"sourceRoot":""}