{"version":3,"sources":["webpack:///./src/img/ui/clock.svg","webpack:///./node_modules/react-share/es/utils/assert.js","webpack:///./src/components/usability-testing/sidebar/styled.js","webpack:///./src/components/usability-testing/sidebar/index.js","webpack:///./src/components/usability-testing/shareBar/styled.js","webpack:///./src/components/usability-testing/shareBar/index.js","webpack:///./src/hooks/useMetadata.js","webpack:///./src/components/usability-testing/otherChapters/styled.js","webpack:///./src/components/usability-testing/otherChapters/index.js","webpack:///./src/components/usability-testing/mobileDropdown/styled.js","webpack:///./src/components/usability-testing/mobileDropdown/index.js","webpack:///./src/helpers/formatter.js","webpack:///./src/hoc/content-cluster/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/react-share/es/ShareButton.js","webpack:///./node_modules/react-share/es/hocs/createShareButton.js","webpack:///./src/img/user-experience/background/yellow.svg","webpack:///./node_modules/react-share/es/TwitterShareButton.js","webpack:///./node_modules/classnames/index.js","webpack:///./src/img/ui/chevron-down.svg","webpack:///./src/img/usability-testing/background/purple.svg","webpack:///./node_modules/react-share/es/LinkedinShareButton.js","webpack:///./node_modules/react-share/es/FacebookShareButton.js","webpack:///./src/img/ui/quote.svg","webpack:///./node_modules/react-share/es/utils/objectToGetParams.js","webpack:///./src/hoc/content-cluster/styled.js","webpack:///./src/img/ui/arrow_black.svg","webpack:///./node_modules/reactstrap/es/Collapse.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/lodash/compact.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./src/img/heatmaps/background/blue.svg","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"names":["module","exports","_extendStatics","__extends","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__","this","constructor","create","AssertionError","_super","message","_this","name","Error","assert","value","Aside","styled","aside","Sidebar","list","pathname","map","url","title","desc","key","href","className","undefined","ShareBar","ul","media","desktopWide","useStaticQuery","site","siteMetadata","siteUrl","FacebookShareButton","src","imgFB","alt","TwitterShareButton","imgTwitter","LinkedinShareButton","imgLI","Card","Link","Section","section","desktop","OtherChapters","data","timeToRead","to","clock","Dropdown","div","mobile","Button","button","List","MobileDropdown","currentCategory","filter","useState","isOpen","setOpen","firstPosition","setFirstPosition","dropdown","useRef","listenScroll","useCallback","position","current","getBoundingClientRect","y","windowPos","window","pageYOffset","classList","add","remove","useEffect","offsetTop","addEventListener","removeEventListener","ref","as","onClick","type","arrow","Collapse","formatText","text","spaceRemoved","split","join","charAt","toUpperCase","slice","clusters","usabilityTestingData","userExperienceData","heatmapsData","PageContext","render","useLocation","currentCluster","compact","find","cluster","includes","currentArticle","canonical","metaTitle","metaDescription","metaDesc","image","cover","author","avatar","authorName","date","heading","secondary","signUp","sourceID","style","gridArea","withUsabilityTestingTemplate","Component","props","_assertThisInitialized","self","ReferenceError","__assign","assign","t","s","i","n","arguments","length","apply","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","e","rejected","result","done","then","__generator","body","f","g","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","TypeError","pop","push","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","isPromise","obj","getBoxPositionOnWindowCenter","width","height","left","outerWidth","screenX","screenLeft","top","outerHeight","screenY","screenTop","getBoxPositionOnScreenCenter","screen","windowOpen","_a","onClose","configRest","config","location","toolbar","status","directories","menubar","scrollbars","resizable","centerscreen","chrome","shareDialog","open","keys","interval_1","setInterval","closed","clearInterval","console","error","ShareButton","openShareDialog","link","onShareWindowClose","_b","windowHeight","_c","windowPosition","_d","windowWidth","handleClick","event","beforeOnClick","disabled","networkLink","openShareDialogOnClick","opts","returnVal","preventDefault","children","disabledStyle","forwardedRef","networkName","resetButtonStyle","rest","newClassName","newStyle","backgroundColor","border","padding","font","color","cursor","createElement","defaultProps","opacity","optsMap","CreatedButton","passedProps","forEach","displayName","via","hashtags","related","isArray","hasOwn","classNames","classes","arg","argType","inner","toString","default","summary","source","mini","quote","hashtag","u","objectToGetParams","object","params","entries","encodeURIComponent","String","renderClusterStyles","yellowBgc","purpleBgc","blueBgc","TimeToRead","em","Header","Breadcrumbs","MainContent","StyledLink","Article","tablet","SideBarBox","Author","ExtendTimeToRead","Divider","Content","_transitionStatusToCl","_excluded","ownKeys","enumerableOnly","symbols","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","target","getOwnPropertyDescriptors","defineProperties","defineProperty","appear","enter","exit","tag","timeout","transitionStatusToClassHash","ENTERING","ENTERED","EXITING","EXITED","getHeight","node","scrollHeight","_Component","state","bind","_proto","onEntering","isAppearing","setState","onEntered","onExit","onExiting","offsetHeight","onExited","_this2","_this$props","Tag","navbar","cssModule","otherProps","innerRef","transitionProps","childProps","in","collapseClass","getTransitionClass","_defineProperty","configurable","writable","array","index","resIndex","_extends","_objectWithoutPropertiesLoose","excluded","sourceKeys"],"mappings":"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","file":"7200e0cad20e84fd9ef47aaf1df35849b52cfe66-5fe2b22f5ad3421a5570.js","sourcesContent":["module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjM0MzE1IDIuMzQzMTVDMy44NDM0NCAwLjg0Mjg1NiA1Ljg3ODI3IDAgOCAwQzEwLjEyMTcgMCAxMi4xNTY2IDAuODQyODU2IDEzLjY1NjkgMi4zNDMxNUMxNS4xNTcxIDMuODQzNDQgMTYgNS44NzgyNyAxNiA4QzE2IDEwLjEyMTcgMTUuMTU3MSAxMi4xNTY2IDEzLjY1NjkgMTMuNjU2OUMxMi4xNTY2IDE1LjE1NzEgMTAuMTIxNyAxNiA4IDE2QzUuODc4MjcgMTYgMy44NDM0NCAxNS4xNTcxIDIuMzQzMTUgMTMuNjU2OUMwLjg0Mjg1NiAxMi4xNTY2IDAgMTAuMTIxNyAwIDhDMCA1Ljg3ODI3IDAuODQyODU2IDMuODQzNDQgMi4zNDMxNSAyLjM0MzE1Wk04IDEuNTQ4MzlDNi4yODg5MyAxLjU0ODM5IDQuNjQ3OTMgMi4yMjgxMSAzLjQzODAyIDMuNDM4MDJDMi4yMjgxMSA0LjY0NzkzIDEuNTQ4MzkgNi4yODg5MyAxLjU0ODM5IDhDMS41NDgzOSA5LjcxMTA3IDIuMjI4MTEgMTEuMzUyMSAzLjQzODAyIDEyLjU2MkM0LjY0NzkzIDEzLjc3MTkgNi4yODg5MyAxNC40NTE2IDggMTQuNDUxNkM5LjcxMTA3IDE0LjQ1MTYgMTEuMzUyMSAxMy43NzE5IDEyLjU2MiAxMi41NjJDMTMuNzcxOSAxMS4zNTIxIDE0LjQ1MTYgOS43MTEwNyAxNC40NTE2IDhDMTQuNDUxNiA2LjI4ODkzIDEzLjc3MTkgNC42NDc5MyAxMi41NjIgMy40MzgwMkMxMS4zNTIxIDIuMjI4MTEgOS43MTEwNyAxLjU0ODM5IDggMS41NDgzOVpNOCAzLjYxMjlDOC40Mjc1OCAzLjYxMjkgOC43NzQxOSAzLjk1OTUyIDguNzc0MTkgNC4zODcxVjcuNTIxNTJMMTAuNzU0OCA4LjUxMTg0QzExLjEzNzMgOC43MDMwNiAxMS4yOTIzIDkuMTY4MDkgMTEuMTAxMSA5LjU1MDUzQzEwLjkwOTggOS45MzI5NiAxMC40NDQ4IDEwLjA4OCAxMC4wNjI0IDkuODk2NzZMNy42NTM3NyA4LjY5MjQ2QzcuMzkxNDkgOC41NjEzMiA3LjIyNTgxIDguMjkzMjQgNy4yMjU4MSA4VjQuMzg3MUM3LjIyNTgxIDMuOTU5NTIgNy41NzI0MiAzLjYxMjkgOCAzLjYxMjlaIiBmaWxsPSIjODA4MDgwIi8+Cjwvc3ZnPgo=\"","var __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar AssertionError =\n/** @class */\nfunction (_super) {\n __extends(AssertionError, _super);\n\n function AssertionError(message) {\n var _this = _super.call(this, message) || this;\n\n _this.name = 'AssertionError';\n return _this;\n }\n\n return AssertionError;\n}(Error);\n\nexport default function assert(value, message) {\n if (!value) {\n throw new AssertionError(message);\n }\n}","import styled from 'styled-components';\n\nexport const Aside = styled.aside`\n background-color: #ffffff;\n border-radius: 4px;\n padding: 32px 24px;\n margin-top: 72px;\n border: 2px solid black;\n & ul {\n list-style: none;\n margin: 0;\n padding: 0;\n & li {\n &:not(:last-child) {\n margin-bottom: 24px;\n }\n & a {\n width: 100%;\n color: #000;\n &:hover {\n color: #000;\n }\n &.active {\n color: #0a4ed6;\n &:hover {\n color: #0a4ed6;\n }\n & p:first-child {\n color: #0a4ed6;\n }\n & p:last-child {\n font-weight: 800;\n }\n }\n & p:first-child {\n color: #808080;\n font-size: 14px;\n line-height: 24px;\n margin-bottom: 4px;\n text-transform: uppercase;\n }\n & p:last-child {\n font-size: 18px;\n line-height: 26px;\n margin: 0;\n }\n }\n }\n }\n`;\n","import React from 'react';\nimport Link from 'components/ui/link';\nimport PropTypes from 'prop-types';\nimport * as Styled from './styled';\n\nconst Sidebar = ({ list, pathname }) => {\n return (\n \n \n \n );\n};\n\nexport default Sidebar;\n\nSidebar.propTypes = {\n list: PropTypes.oneOfType([PropTypes.array]).isRequired,\n pathname: PropTypes.string.isRequired,\n};\n","import styled from 'styled-components';\nimport { media } from 'theme/breakpoints';\n\nexport const ShareBar = styled.ul`\n list-style: none;\n padding: 0;\n margin: 0;\n margin-top: 88px;\n position: sticky;\n top: calc(50% - 80px);\n ${media.desktopWide} {\n display: none;\n }\n & li {\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n &:not(:last-child) {\n margin-bottom: 8px;\n }\n margin-bottom: 8px;\n & button {\n width: 100%;\n height: 100%;\n padding: 10px !important;\n transition: transform 0.2s ease;\n &:hover {\n transform: scale(1.08);\n }\n }\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport imgFB from 'img/footer/facebook.svg';\nimport imgLI from 'img/footer/linkedin.svg';\nimport imgTwitter from 'img/footer/twitter.svg';\nimport { FacebookShareButton, TwitterShareButton, LinkedinShareButton } from 'react-share';\nimport { useMetadata } from 'hooks/useMetadata';\nimport * as Styled from './styled';\n\nconst ShareBar = ({ pathname }) => {\n const site = useMetadata();\n const url = `${site.siteMetadata.siteUrl}${pathname}`;\n return (\n \n
  • \n \n \"facebbok\"\n \n
  • \n
  • \n \n \"twitter\"\n \n
  • \n
  • \n \n \"linkedin\"\n \n
  • \n
    \n );\n};\n\nexport default ShareBar;\n\nShareBar.propTypes = {\n pathname: PropTypes.string.isRequired,\n};\n","import { useStaticQuery, graphql } from 'gatsby';\n\nexport const useMetadata = () => {\n const { site } = useStaticQuery(graphql`\n query {\n site {\n siteMetadata {\n description\n siteUrl\n title\n social {\n fbAppId\n twitter\n }\n organization {\n logo\n name\n url\n }\n }\n }\n }\n `);\n return site;\n};\n","import styled from 'styled-components';\nimport { Link } from 'gatsby';\nimport { media } from 'theme/breakpoints';\n\nexport const Card = styled(Link)`\n border-radius: 4px;\n border: 2px solid #000;\n display: block;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n padding: 32px;\n color: #000;\n width: 235px;\n height: 235px;\n ${media.desktopWide} {\n width: auto;\n }\n &:hover,\n &.active {\n border: 2px solid #0446ca;\n text-decoration: none;\n & div {\n & p {\n color: #0a4ed6;\n }\n & h3 {\n color: #0a4ed6;\n }\n }\n }\n &.active {\n & div {\n & h3 {\n font-weight: 800;\n }\n }\n }\n & div {\n & p {\n color: #808080;\n font-size: 14px;\n line-height: 24px;\n margin-bottom: 8px;\n text-transform: uppercase;\n }\n & h3 {\n font-size: 16px;\n line-height: 24px;\n font-weight: normal;\n }\n }\n & .time {\n color: #808080;\n font-size: 14px;\n line-height: 18px;\n margin-bottom: 0;\n display: flex;\n align-items: center;\n & img {\n width: 16px;\n height: 16px;\n margin-right: 8px;\n }\n }\n`;\n\nexport const Section = styled.section`\n max-width: 770px;\n margin: 88px auto 0;\n padding-top: 80px;\n border-top: 1px solid #e4e5e8;\n ${media.desktopWide} {\n max-width: 100%;\n }\n ${media.desktop} {\n display: none;\n }\n & h2 {\n margin-bottom: 40px;\n font-size: 32px;\n line-height: 40px;\n }\n & .card-box {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n grid-gap: 32px;\n grid-template-rows: repeat(2, 1fr);\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clock from 'img/ui/clock.svg';\nimport * as Styled from './styled';\n\nconst OtherChapters = ({ pathname, data }) => {\n return (\n \n

    Other chapters

    \n
    \n {data.map(({ title, desc, timeToRead, url }) => (\n \n
    \n

    {title}

    \n

    {desc}

    \n
    \n

    \n \"clock\" {timeToRead} min\n

    \n
    \n ))}\n
    \n
    \n );\n};\n\nexport default OtherChapters;\n\nOtherChapters.propTypes = {\n pathname: PropTypes.string.isRequired,\n data: PropTypes.oneOfType([PropTypes.array]).isRequired,\n};\n","import styled from 'styled-components';\nimport { media } from 'theme/breakpoints';\n\nexport const Dropdown = styled.div`\n display: none;\n background-color: #f8f8f8;\n padding: 16px;\n ${media.desktopWide} {\n display: block;\n width: 100%;\n }\n ${media.mobile} {\n width: 100vw;\n transform: translateX(-15px);\n &.fixed {\n position: fixed;\n top: 84px;\n left: 15px;\n z-index: 99;\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.25);\n }\n }\n`;\n\nexport const Button = styled.button`\n width: 100%;\n background-color: transparent;\n border: none;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0;\n & .active {\n font-size: 18px;\n line-height: 23px;\n font-weight: 800;\n margin-bottom: 0;\n }\n & .icon {\n width: 16px;\n height: 9px;\n transition: transform 0.2s ease;\n }\n &.active {\n & .icon {\n transform: rotate(180deg);\n }\n }\n`;\n\nexport const List = styled.ul`\n list-style: none;\n padding: 0;\n margin: 16px 0 0;\n padding-top: 16px;\n overflow-y: scroll;\n max-height: calc(100vh - 150px);\n & li {\n width: 100%;\n &:not(:last-child) {\n margin-bottom: 24px;\n }\n & a {\n width: 100%;\n display: block;\n &.active {\n color: #0a4ed6;\n &:hover {\n color: #0a4ed6;\n }\n & p:first-child {\n color: #0a4ed6;\n }\n & p:last-child {\n font-weight: 800;\n color: #0a4ed6;\n }\n }\n & p:first-child {\n font-size: 14px;\n line-height: 24px;\n color: #808080;\n margin-bottom: 4px;\n text-transform: uppercase;\n }\n & p:last-child {\n font-size: 18px;\n line-height: 26px;\n margin-bottom: 0;\n color: #000;\n }\n }\n }\n`;\n","import React, { useState, useRef, useEffect, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { Collapse } from 'reactstrap';\nimport arrow from 'img/ui/chevron-down.svg';\nimport { Link } from 'gatsby';\nimport * as Styled from './styled';\n\nconst MobileDropdown = ({ pathname, data }) => {\n const [currentCategory] = data.filter(({ url }) => url === pathname);\n const [isOpen, setOpen] = useState(false);\n const [firstPosition, setFirstPosition] = useState('');\n const dropdown = useRef(null);\n\n const listenScroll = useCallback(() => {\n const position = dropdown.current.getBoundingClientRect().y;\n const windowPos = window.pageYOffset;\n if (position < 85) {\n dropdown.current.classList.add('fixed');\n }\n if (windowPos + 85 < firstPosition) {\n dropdown.current.classList.remove('fixed');\n }\n }, [firstPosition]);\n\n useEffect(() => {\n if (firstPosition === '') {\n setFirstPosition(dropdown.current.offsetTop);\n }\n window.addEventListener('scroll', listenScroll);\n return () => window.removeEventListener('scroll', listenScroll);\n }, [firstPosition, listenScroll]);\n return (\n \n setOpen(!isOpen)}\n type=\"button\"\n >\n

    {currentCategory.title}

    \n \"arrow\"\n \n \n \n {data.map(({ desc, title, url }) => (\n
  • \n \n

    {title}

    \n

    {desc}

    \n \n
  • \n ))}\n
    \n
    \n
    \n );\n};\n\nexport default MobileDropdown;\n\nMobileDropdown.propTypes = {\n pathname: PropTypes.string.isRequired,\n data: PropTypes.oneOfType([PropTypes.array]).isRequired,\n};\n","export const formatText = (text) => {\n const spaceRemoved = text.split('-').join(' ');\n return spaceRemoved.charAt(0).toUpperCase() + spaceRemoved.slice(1);\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useLocation } from '@reach/router';\nimport arrow from 'img/ui/arrow_black.svg';\nimport Link from 'components/ui/link';\nimport Layout from 'layout';\nimport SideBar from 'components/usability-testing/sidebar';\nimport { data as usabilityTestingData } from 'data/guides/usability-testing';\nimport { data as userExperienceData } from 'data/guides/user-experience';\nimport { data as heatmapsData } from 'data/guides/heatmaps';\nimport StartUsing from 'components/ui/startUsing';\nimport ShareBar from 'components/usability-testing/shareBar';\nimport OtherChapters from 'components/usability-testing/otherChapters';\nimport MobileDropdown from 'components/usability-testing/mobileDropdown';\nimport Button from 'components/ui/button';\nimport compact from 'lodash/compact';\nimport { formatText } from 'helpers/formatter';\nimport * as Styled from './styled';\n\nconst clusters = [usabilityTestingData, userExperienceData, heatmapsData];\n\nconst PageContext = ({ render }) => {\n const { pathname } = useLocation();\n const currentCluster = compact(pathname.split('/'));\n const data = clusters.find((cluster) => cluster[0].url.includes(currentCluster[0]));\n const currentArticle = data.find(({ url }) => url === pathname);\n\n return (\n \n
    \n \n

    Resources

    \n \"arrow\"\n

    \n Guides\n

    \n \"arrow\"\n

    \n \n {pathname === data[0].url ? (\n {formatText(currentCluster[0])}\n ) : (\n <>{formatText(currentCluster[0])}\n )}\n \n

    \n {pathname !== data[0].url && (\n <>\n {' '}\n \"arrow\"\n

    \n \n {currentArticle.desc}\n \n

    \n \n )}\n
    \n \n \n \n \n
    \n \n

    {currentArticle.desc}

    \n \n \n
    \n {currentArticle.author.authorName}\n \n {currentArticle.date}\n \n {currentArticle.timeToRead} min\n \n \n
    \n
    \n
    \n \n
    {currentArticle.heading}
    \n \n
    \n
    \n \n \n \n
    {render()}
    \n
    \n
    \n \n
    \n
    \n \n
    \n \n \n );\n};\n\nPageContext.propTypes = {\n render: PropTypes.func.isRequired,\n};\n\nconst withUsabilityTestingTemplate = (Component) => (props) => {\n return } />;\n};\n\nexport default withUsabilityTestingTemplate;\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","var __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = this && this.__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport React, { Component } from 'react';\nimport cx from 'classnames';\n\nvar isPromise = function isPromise(obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n};\n\nvar getBoxPositionOnWindowCenter = function getBoxPositionOnWindowCenter(width, height) {\n return {\n left: window.outerWidth / 2 + (window.screenX || window.screenLeft || 0) - width / 2,\n top: window.outerHeight / 2 + (window.screenY || window.screenTop || 0) - height / 2\n };\n};\n\nvar getBoxPositionOnScreenCenter = function getBoxPositionOnScreenCenter(width, height) {\n return {\n top: (window.screen.height - height) / 2,\n left: (window.screen.width - width) / 2\n };\n};\n\nfunction windowOpen(url, _a, onClose) {\n var height = _a.height,\n width = _a.width,\n configRest = __rest(_a, [\"height\", \"width\"]);\n\n var config = __assign({\n height: height,\n width: width,\n location: 'no',\n toolbar: 'no',\n status: 'no',\n directories: 'no',\n menubar: 'no',\n scrollbars: 'yes',\n resizable: 'no',\n centerscreen: 'yes',\n chrome: 'yes'\n }, configRest);\n\n var shareDialog = window.open(url, '', Object.keys(config).map(function (key) {\n return key + \"=\" + config[key];\n }).join(', '));\n\n if (onClose) {\n var interval_1 = window.setInterval(function () {\n try {\n if (shareDialog === null || shareDialog.closed) {\n window.clearInterval(interval_1);\n onClose(shareDialog);\n }\n } catch (e) {\n /* eslint-disable no-console */\n console.error(e);\n /* eslint-enable no-console */\n }\n }, 1000);\n }\n\n return shareDialog;\n}\n\nvar ShareButton =\n/** @class */\nfunction (_super) {\n __extends(ShareButton, _super);\n\n function ShareButton() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.openShareDialog = function (link) {\n var _a = _this.props,\n onShareWindowClose = _a.onShareWindowClose,\n _b = _a.windowHeight,\n windowHeight = _b === void 0 ? 400 : _b,\n _c = _a.windowPosition,\n windowPosition = _c === void 0 ? 'windowCenter' : _c,\n _d = _a.windowWidth,\n windowWidth = _d === void 0 ? 550 : _d;\n\n var windowConfig = __assign({\n height: windowHeight,\n width: windowWidth\n }, windowPosition === 'windowCenter' ? getBoxPositionOnWindowCenter(windowWidth, windowHeight) : getBoxPositionOnScreenCenter(windowWidth, windowHeight));\n\n windowOpen(link, windowConfig, onShareWindowClose);\n };\n\n _this.handleClick = function (event) {\n return __awaiter(_this, void 0, void 0, function () {\n var _a, beforeOnClick, disabled, networkLink, onClick, url, openShareDialogOnClick, opts, link, returnVal;\n\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = this.props, beforeOnClick = _a.beforeOnClick, disabled = _a.disabled, networkLink = _a.networkLink, onClick = _a.onClick, url = _a.url, openShareDialogOnClick = _a.openShareDialogOnClick, opts = _a.opts;\n link = networkLink(url, opts);\n\n if (disabled) {\n return [2\n /*return*/\n ];\n }\n\n event.preventDefault();\n if (!beforeOnClick) return [3\n /*break*/\n , 2];\n returnVal = beforeOnClick();\n if (!isPromise(returnVal)) return [3\n /*break*/\n , 2];\n return [4\n /*yield*/\n , returnVal];\n\n case 1:\n _b.sent();\n\n _b.label = 2;\n\n case 2:\n if (openShareDialogOnClick) {\n this.openShareDialog(link);\n }\n\n if (onClick) {\n onClick(event, link);\n }\n\n return [2\n /*return*/\n ];\n }\n });\n });\n };\n\n return _this;\n }\n\n ShareButton.prototype.render = function () {\n var _a = this.props,\n beforeOnClick = _a.beforeOnClick,\n children = _a.children,\n className = _a.className,\n disabled = _a.disabled,\n disabledStyle = _a.disabledStyle,\n forwardedRef = _a.forwardedRef,\n networkLink = _a.networkLink,\n networkName = _a.networkName,\n onShareWindowClose = _a.onShareWindowClose,\n openShareDialogOnClick = _a.openShareDialogOnClick,\n opts = _a.opts,\n resetButtonStyle = _a.resetButtonStyle,\n style = _a.style,\n url = _a.url,\n windowHeight = _a.windowHeight,\n windowPosition = _a.windowPosition,\n windowWidth = _a.windowWidth,\n rest = __rest(_a, [\"beforeOnClick\", \"children\", \"className\", \"disabled\", \"disabledStyle\", \"forwardedRef\", \"networkLink\", \"networkName\", \"onShareWindowClose\", \"openShareDialogOnClick\", \"opts\", \"resetButtonStyle\", \"style\", \"url\", \"windowHeight\", \"windowPosition\", \"windowWidth\"]);\n\n var newClassName = cx('react-share__ShareButton', {\n 'react-share__ShareButton--disabled': !!disabled,\n disabled: !!disabled\n }, className);\n var newStyle = resetButtonStyle ? __assign(__assign({\n backgroundColor: 'transparent',\n border: 'none',\n padding: 0,\n font: 'inherit',\n color: 'inherit',\n cursor: 'pointer'\n }, style), disabled && disabledStyle) : __assign(__assign({}, style), disabled && disabledStyle);\n return React.createElement(\"button\", __assign({}, rest, {\n \"aria-label\": rest['aria-label'] || networkName,\n className: newClassName,\n onClick: this.handleClick,\n ref: forwardedRef,\n style: newStyle\n }), children);\n };\n\n ShareButton.defaultProps = {\n disabledStyle: {\n opacity: 0.6\n },\n openShareDialogOnClick: true,\n resetButtonStyle: true\n };\n return ShareButton;\n}(Component);\n\nexport default ShareButton;","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nimport React, { forwardRef } from 'react';\nimport ShareButton from '../ShareButton';\n\nfunction createShareButton(networkName, link, optsMap, defaultProps) {\n function CreatedButton(props, ref) {\n var opts = optsMap(props);\n\n var passedProps = __assign({}, props); // remove keys from passed props that are passed as opts\n\n\n var optsKeys = Object.keys(opts);\n optsKeys.forEach(function (key) {\n delete passedProps[key];\n });\n return React.createElement(ShareButton, __assign({}, defaultProps, passedProps, {\n forwardedRef: ref,\n networkName: networkName,\n networkLink: link,\n opts: optsMap(props)\n }));\n }\n\n CreatedButton.displayName = \"ShareButton-\" + networkName;\n return forwardRef(CreatedButton);\n}\n\nexport default createShareButton;","module.exports = __webpack_public_path__ + \"static/yellow-accb64767ba443acc94690995024b60a.svg\";","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\n\nfunction twitterLink(url, _a) {\n var title = _a.title,\n via = _a.via,\n _b = _a.hashtags,\n hashtags = _b === void 0 ? [] : _b,\n _c = _a.related,\n related = _c === void 0 ? [] : _c;\n assert(url, 'twitter.url');\n assert(Array.isArray(hashtags), 'twitter.hashtags is not an array');\n assert(Array.isArray(related), 'twitter.related is not an array');\n return 'https://twitter.com/share' + objectToGetParams({\n url: url,\n text: title,\n via: via,\n hashtags: hashtags.length > 0 ? hashtags.join(',') : undefined,\n related: related.length > 0 ? related.join(',') : undefined\n });\n}\n\nvar TwitterShareButton = createShareButton('twitter', twitterLink, function (props) {\n return {\n hashtags: props.hashtags,\n title: props.title,\n via: props.via,\n related: props.related\n };\n}, {\n windowWidth: 550,\n windowHeight: 400\n});\nexport default TwitterShareButton;","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg)) {\n if (arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n }\n } else if (argType === 'object') {\n if (arg.toString === Object.prototype.toString) {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n } else {\n classes.push(arg.toString());\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (typeof module !== 'undefined' && module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDE2IDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik04LjAwNCA1Ljk5NDI5TDE0LjIyNiAwLjExMjQyMkMxNC4zMDE4IDAuMDQwMzE1OSAxNC40MDMxIDAgMTQuNTA4NCAwQzE0LjYxMzggMCAxNC43MTUgMC4wNDAzMTU5IDE0Ljc5MDggMC4xMTI0MjJMMTUuODgzNiAxLjE2NDk1QzE1LjkyMDQgMS4yMDA0NiAxNS45NDk3IDEuMjQyODcgMTUuOTY5NyAxLjI4OTY4QzE1Ljk4OTcgMS4zMzY0OSAxNiAxLjM4Njc2IDE2IDEuNDM3NTRDMTYgMS40ODgzMiAxNS45ODk3IDEuNTM4NTkgMTUuOTY5NyAxLjU4NTRDMTUuOTQ5NyAxLjYzMjIxIDE1LjkyMDQgMS42NzQ2IDE1Ljg4MzYgMS43MTAxMUw4LjI4NTU5IDguODkzNDdDOC4yNDc3OCA4LjkzMDQyIDguMjAyMzcgOC45NTg5NSA4LjE1MjQxIDguOTc3MTZDOC4xMDI0NiA4Ljk5NTM3IDguMDQ5MTMgOS4wMDI4NCA3Ljk5NiA4Ljk5OTA0QzcuOTQzMDEgOS4wMDE0OCA3Ljg5MDA2IDguOTkzMzkgNy44NDAzIDguOTc1MjZDNy43OTA1NSA4Ljk1NzEyIDcuNzQ1MDIgOC45MjkzIDcuNzA2NDIgOC44OTM0N0wwLjExNjQ0MiAxLjcxOTU4QzAuMDc5NTc5OSAxLjY4NDA3IDAuMDUwMjkyMSAxLjY0MTY2IDAuMDMwMjk2MSAxLjU5NDg1QzAuMDEwMzAwMiAxLjU0ODA0IDAgMS40OTc3NyAwIDEuNDQ2OTlDMCAxLjM5NjIxIDAuMDEwMzAwMiAxLjM0NTk0IDAuMDMwMjk2MSAxLjI5OTEzQzAuMDUwMjkyMSAxLjI1MjMyIDAuMDc5NTc5OSAxLjIwOTkxIDAuMTE2NDQyIDEuMTc0NEwxLjIwOTE4IDAuMTIxODcxQzEuMjg0OTYgMC4wNDk3NjQ1IDEuMzg2MiAwLjAwOTQ3MjcgMS40OTE1NyAwLjAwOTQ3MjdDMS41OTY5MyAwLjAwOTQ3MjcgMS42OTgxOCAwLjA0OTc2NDUgMS43NzM5NSAwLjEyMTg3MUw4LjAwNCA1Ljk5NDI5WiIgZmlsbD0iYmxhY2siLz4KPC9zdmc+Cg==\"","module.exports = __webpack_public_path__ + \"static/purple-8386102270ba79d72208b236271bb751.svg\";","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\n\nfunction linkedinLink(url, _a) {\n var title = _a.title,\n summary = _a.summary,\n source = _a.source;\n assert(url, 'linkedin.url');\n return 'https://linkedin.com/shareArticle' + objectToGetParams({\n url: url,\n mini: 'true',\n title: title,\n summary: summary,\n source: source\n });\n}\n\nvar LinkedinShareButton = createShareButton('linkedin', linkedinLink, function (_a) {\n var title = _a.title,\n summary = _a.summary,\n source = _a.source;\n return {\n title: title,\n summary: summary,\n source: source\n };\n}, {\n windowWidth: 750,\n windowHeight: 600\n});\nexport default LinkedinShareButton;","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\n\nfunction facebookLink(url, _a) {\n var quote = _a.quote,\n hashtag = _a.hashtag;\n assert(url, 'facebook.url');\n return 'https://www.facebook.com/sharer/sharer.php' + objectToGetParams({\n u: url,\n quote: quote,\n hashtag: hashtag\n });\n}\n\nvar FacebookShareButton = createShareButton('facebook', facebookLink, function (props) {\n return {\n quote: props.quote,\n hashtag: props.hashtag\n };\n}, {\n windowWidth: 550,\n windowHeight: 400\n});\nexport default FacebookShareButton;","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5Mi4yNDUiIGhlaWdodD0iNzEuNjA4IiB2aWV3Qm94PSIwIDAgOTIuMjQ1IDcxLjYwOCI+PGRlZnM+PHN0eWxlPi5he2ZpbGw6I2ZmZTQ3ODt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImEiIGQ9Ik04OS43Miw2Ni4yNzFjMC0xNi4xNjItMTAuNDQzLTI1LjM2MS0yMi4xMjktMjUuMzYxQTE5LjksMTkuOSwwLDAsMCw0Ny45NDksNjAuOGMwLDEwLjQ0Myw3LjQ1OSwxNy45LDE2LjkwNywxNy45YTEyLjQ3OCwxMi40NzgsMCwwLDAsNC45NzMtLjk5NUM2Ny41OTEsODYuNjYsNTguMzkyLDk3LjEsNTAuNDM1LDEwMS4zMjlMNjQuMTEsMTEyLjUxOEM3OS41MjYsMTAxLjU3OCw4OS43Miw4NC45MTksODkuNzIsNjYuMjcxWm0tNTAuNDc0LDBjMC0xNi4xNjItMTAuNjkxLTI1LjM2MS0yMi4zNzgtMjUuMzYxQzYuNDI2LDQwLjkxLTIuNTI1LDQ5Ljg2MS0yLjUyNSw2MC44YzAsMTAuNDQzLDcuNDU5LDE3LjksMTYuOTA3LDE3LjlhMTEuMTY0LDExLjE2NCwwLDAsMCw0LjcyNC0uOTk1QzE3LjExOCw4Ni42Niw3LjkxOCw5Ny4xLS4wMzksMTAxLjMyOWwxMy42NzUsMTEuMTg5QzI4LjgsMTAxLjU3OCwzOS4yNDYsODQuOTE5LDM5LjI0Niw2Ni4yNzFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjUyNSAtNDAuOTEpIi8+PC9zdmc+\"","export default function objectToGetParams(object) {\n var params = Object.entries(object).filter(function (_a) {\n var value = _a[1];\n return value !== undefined && value !== null;\n }).map(function (_a) {\n var key = _a[0],\n value = _a[1];\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(String(value));\n });\n return params.length > 0 ? \"?\" + params.join('&') : '';\n}","import styled from 'styled-components';\nimport { media } from 'theme/breakpoints';\nimport { StyledLink } from 'components/ui/link';\nimport purpleBgc from 'img/usability-testing/background/purple.svg';\nimport yellowBgc from 'img/user-experience/background/yellow.svg';\nimport blueBgc from 'img/heatmaps/background/blue.svg';\nimport quote from 'img/ui/quote.svg';\n\nconst renderClusterStyles = (cluster) => {\n switch (cluster) {\n case 'user-experience':\n return [yellowBgc, '#000', 'rgb(250,229,136)'];\n case 'usability-testing':\n return [purpleBgc, '#fff', '#8765f9'];\n case 'heatmaps':\n return [blueBgc, '#000', '#7dffef'];\n default:\n return [yellowBgc, '#000', 'rgb(250,229,136)'];\n }\n};\n\nexport const TimeToRead = styled.em`\n font-style: normal;\n margin-left: 16px;\n position: relative;\n &::before {\n content: '';\n width: 4px;\n height: 4px;\n position: absolute;\n left: 0;\n top: 50%;\n transform: translate(-10px, -25%);\n border-radius: 50%;\n background-color: #000;\n opacity: 0.75;\n }\n`;\n\nexport const Header = styled.div`\n padding: 56px 0;\n align-items: center;\n position: relative;\n ${media.desktopWide} {\n background-color: ${(props) => renderClusterStyles(props.cluster)[2]};\n padding: 56px 64px;\n }\n ${media.desktop} {\n padding: 56px 48px;\n }\n ${media.mobile} {\n width: 100vw;\n transform: translateX(-15px);\n padding: 24px 16px;\n font-size: 36px;\n line-height: 45px;\n }\n & h1 {\n color: ${(props) => renderClusterStyles(props.cluster)[1]};\n }\n &::before {\n content: '';\n top: 0;\n left: 0;\n width: 1290px;\n background-image: ${(props) => `url(${renderClusterStyles(props.cluster)[0]})`};\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n height: 100%;\n position: absolute;\n transform: translateX(-445px);\n z-index: -1;\n ${media.desktopWide} {\n display: none;\n }\n }\n`;\n\nexport const Breadcrumbs = styled.div`\n grid-area: breadcrumbs;\n display: flex;\n align-items: center;\n margin-top: 144px;\n ${media.desktop} {\n display: none;\n }\n & img {\n margin: 0 16px;\n ${media.mobile} {\n max-width: 8px;\n }\n }\n & p {\n margin: 0;\n color: #000;\n font-size: 14px;\n line-height: 24px;\n ${media.mobile} {\n line-height: normal;\n font-size: 12px;\n line-height: 24px;\n }\n & a {\n color: #000;\n font-size: 14px;\n line-height: 24px;\n &:hover {\n color: #000;\n }\n ${media.mobile} {\n font-size: 12px;\n line-height: 24px;\n }\n }\n }\n`;\n\nexport const MainContent = styled.section`\n margin: 54px 0 0;\n display: grid;\n grid-template-columns: 312px 770px;\n grid-column-gap: 72px;\n padding: 0 0 56px;\n ${media.desktopWide} {\n display: block;\n }\n ${media.desktop} {\n margin: 110px 0 0;\n }\n & .action-btn {\n margin-top: 40px;\n }\n & .head-content {\n margin-top: 72px;\n ${media.mobile} {\n margin-top: 40px;\n }\n ${StyledLink} {\n font-weight: 700;\n ${media.mobile} {\n font-size: 18px;\n line-height: 30px;\n }\n }\n & p {\n font-size: 20px;\n line-height: 36px;\n font-weight: 700;\n ${media.mobile} {\n font-size: 18px;\n line-height: 30px;\n }\n &:last-child {\n margin-bottom: 0;\n }\n }\n & h2 {\n font-weight: 800;\n font-size: 32px;\n line-height: 40px;\n margin: 0 0 24px;\n ${media.mobile} {\n font-size: 26px;\n line-height: 33px;\n }\n }\n }\n`;\n\nexport const Article = styled.div`\n grid-area: 1 / 2 / 2 / 3;\n & article {\n margin-top: 88px;\n }\n ${StyledLink} {\n font-weight: 700;\n display: inline;\n ${media.mobile} {\n font-size: 18px;\n line-height: 30px;\n }\n }\n & p {\n font-size: 20px;\n line-height: 36px;\n margin-bottom: 32px;\n ${media.mobile} {\n font-size: 18px;\n line-height: 30px;\n }\n }\n & h2 {\n font-weight: 800;\n font-size: 32px;\n line-height: 40px;\n margin: 56px 0 24px;\n ${media.mobile} {\n font-size: 26px;\n line-height: 33px;\n margin: 48px 0 21px;\n }\n }\n & h3 {\n font-weight: 800;\n font-size: 24px;\n line-height: 30px;\n margin: 56px 0 32px;\n }\n & h4 {\n font-weight: 800;\n font-size: 20px;\n line-height: 28px;\n margin: 56px 0 32px;\n }\n ol,\n ul {\n margin-bottom: 30px;\n padding-left: 30px;\n & li {\n font-size: 20px;\n line-height: 36px;\n ${media.mobile} {\n font-size: 18px;\n line-height: 30px;\n }\n &:not(:last-child) {\n margin-bottom: 24px;\n }\n }\n }\n & img,\n .gatsby-image-wrapper {\n margin-bottom: 56px;\n display: block;\n max-width: 100%;\n }\n & .next-chapter {\n background-color: #0446ca;\n border-radius: 4px;\n width: fit-content;\n max-width: 60%;\n margin-top: 72px;\n ${media.tablet} {\n max-width: 70%;\n }\n ${media.mobile} {\n max-width: 100%;\n }\n & a {\n color: #fff;\n padding: 16px 24px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n & img {\n transition: transform 0.2s ease;\n margin: 0;\n }\n &:hover {\n text-decoration: none;\n & p:last-child {\n text-decoration: underline;\n }\n & img {\n transform: translateX(8px);\n }\n }\n & div {\n margin-right: 40px;\n & p:first-child {\n margin-bottom: 8px;\n font-size: 18px;\n text-transform: uppercase;\n line-height: normal;\n }\n & p:last-child {\n margin-bottom: 0;\n font-weight: 800;\n font-size: 20px;\n line-height: 30px;\n }\n }\n }\n }\n blockquote {\n margin: 3.5rem 0 2rem;\n position: relative;\n background-color: #f1f5f9;\n padding: 48px;\n p:last-child {\n margin-bottom: 0;\n }\n ${media.mobile} {\n padding: 36px;\n }\n &::before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n transform: translate(-30%, -50%);\n background-image: url(${quote});\n background-size: contain;\n background-position: center;\n background-repeat: no-repeat;\n width: 82px;\n height: 61px;\n ${media.mobile} {\n width: 74px;\n height: 74px;\n transform: translate(0, -50%);\n }\n }\n }\n .action-banner {\n background-color: #7cffef;\n padding: 16px 24px;\n font-size: 18px;\n text-decoration: underline;\n color: #000;\n width: 100%;\n display: block;\n margin: 1.5rem 0;\n font-weight: 700;\n border-radius: 4px;\n }\n`;\n\nexport const SideBarBox = styled.div`\n height: 100%;\n ${media.desktopWide} {\n display: none;\n }\n`;\n\nexport const Author = styled.div`\n display: flex;\n align-items: flex-start;\n margin-top: 56px;\n ${media.mobile} {\n margin-top: 24px;\n }\n & .avatar {\n margin: 0px 1rem 0px 0px;\n }\n & div {\n flex: 1 1;\n color: #fff;\n & span:first-child {\n margin-bottom: 0;\n font-weight: 700;\n display: block;\n color: ${(props) => renderClusterStyles(props.cluster)[1]};\n }\n & span:last-child {\n opacity: 0.75;\n font-size: 0.78rem;\n display: block;\n color: ${(props) => renderClusterStyles(props.cluster)[1]};\n ${media.mobile} {\n line-height: normal;\n margin-top: 3px;\n }\n }\n }\n`;\n\nexport const ExtendTimeToRead = styled(TimeToRead)`\n &::before {\n background-color: #fff;\n }\n`;\n\nexport const Divider = styled.div`\n border-top: 1px solid #e4e5e8;\n width: 100%;\n`;\n\nexport const Content = styled.div`\n display: grid;\n grid-template-columns: 1fr 770px 1fr;\n justify-content: center;\n ${media.desktopWide} {\n display: block;\n }\n`;\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDEyIDEyIj48ZGVmcz48c3R5bGU+LmF7ZmlsbDojMDAwMDAwO308L3N0eWxlPjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODUgLTg1KSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODUgODUpIj48cGF0aCBjbGFzcz0iYSIgZD0iTTg1LDkxLjc1aDkuMTEybC00LjIsNC4yTDkxLDk3bDYtNi02LTYtMS4wNSwxLjA1LDQuMTYyLDQuMkg4NVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04NSAtODUpIi8+PC9nPjwvZz48L3N2Zz4=\"","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"tag\", \"isOpen\", \"className\", \"navbar\", \"cssModule\", \"children\", \"innerRef\"];\n\nvar _transitionStatusToCl;\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport { Transition } from 'react-transition-group';\nimport { mapToCssModules, omit, pick, TransitionTimeouts, TransitionPropTypeKeys, TransitionStatuses, tagPropType } from './utils';\n\nvar defaultProps = _objectSpread(_objectSpread({}, Transition.defaultProps), {}, {\n isOpen: false,\n appear: false,\n enter: true,\n exit: true,\n tag: 'div',\n timeout: TransitionTimeouts.Collapse\n});\n\nvar transitionStatusToClassHash = (_transitionStatusToCl = {}, _transitionStatusToCl[TransitionStatuses.ENTERING] = 'collapsing', _transitionStatusToCl[TransitionStatuses.ENTERED] = 'collapse show', _transitionStatusToCl[TransitionStatuses.EXITING] = 'collapsing', _transitionStatusToCl[TransitionStatuses.EXITED] = 'collapse', _transitionStatusToCl);\n\nfunction getTransitionClass(status) {\n return transitionStatusToClassHash[status] || 'collapse';\n}\n\nfunction getHeight(node) {\n return node.scrollHeight;\n}\n\nvar Collapse = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Collapse, _Component);\n\n function Collapse(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n _this.state = {\n height: null\n };\n ['onEntering', 'onEntered', 'onExit', 'onExiting', 'onExited'].forEach(function (name) {\n _this[name] = _this[name].bind(_assertThisInitialized(_this));\n });\n return _this;\n }\n\n var _proto = Collapse.prototype;\n\n _proto.onEntering = function onEntering(node, isAppearing) {\n this.setState({\n height: getHeight(node)\n });\n this.props.onEntering(node, isAppearing);\n };\n\n _proto.onEntered = function onEntered(node, isAppearing) {\n this.setState({\n height: null\n });\n this.props.onEntered(node, isAppearing);\n };\n\n _proto.onExit = function onExit(node) {\n this.setState({\n height: getHeight(node)\n });\n this.props.onExit(node);\n };\n\n _proto.onExiting = function onExiting(node) {\n // getting this variable triggers a reflow\n var _unused = node.offsetHeight; // eslint-disable-line no-unused-vars\n\n this.setState({\n height: 0\n });\n this.props.onExiting(node);\n };\n\n _proto.onExited = function onExited(node) {\n this.setState({\n height: null\n });\n this.props.onExited(node);\n };\n\n _proto.render = function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n Tag = _this$props.tag,\n isOpen = _this$props.isOpen,\n className = _this$props.className,\n navbar = _this$props.navbar,\n cssModule = _this$props.cssModule,\n children = _this$props.children,\n innerRef = _this$props.innerRef,\n otherProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n\n var height = this.state.height;\n var transitionProps = pick(otherProps, TransitionPropTypeKeys);\n var childProps = omit(otherProps, TransitionPropTypeKeys);\n return /*#__PURE__*/React.createElement(Transition, _extends({}, transitionProps, {\n in: isOpen,\n onEntering: this.onEntering,\n onEntered: this.onEntered,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }), function (status) {\n var collapseClass = getTransitionClass(status);\n var classes = mapToCssModules(classNames(className, collapseClass, navbar && 'navbar-collapse'), cssModule);\n var style = height === null ? null : {\n height: height\n };\n return /*#__PURE__*/React.createElement(Tag, _extends({}, childProps, {\n style: _objectSpread(_objectSpread({}, childProps.style), style),\n className: classes,\n ref: _this2.props.innerRef\n }), children);\n });\n };\n\n return Collapse;\n}(Component);\n\nCollapse.defaultProps = defaultProps;\nexport default Collapse;","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","/**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\nfunction compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = compact;\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","module.exports = __webpack_public_path__ + \"static/blue-719cc0d2976181af83e8a3e47fafdc85.svg\";","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\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\n return target;\n}"],"sourceRoot":""}