{"version":3,"sources":["webpack:///./src/components/features/styled.js","webpack:///./src/components/features/index.js","webpack:///./src/pages/features.js","webpack:///./src/data/features/index.js","webpack:///./src/helpers/transformImages.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"names":["FeaturesContainer","styled","div","media","mobile","Header","header","tablet","PersonalDataSection","section","desktop","ImageContainer","MainFeaturesSection","CardContainer","Features","data","useFeatureData","className","sectionTitle","sectionDesc","cards","yellow","images","hero","purple","reversed","color","blue","withArrow","href","src","badge","alt","title","badge2","fluid","personalData","mainImage","objectFit","objectPosition","featureCards","map","item","key","image","desc","customText","style","paddingBottom","FeaturesPage","metaTitle","canonical","metaDescription","blockScrollX","purpleCards","id","blueCards","yellowCards","useStaticQuery","session","heatmap","devtools","funnels","edges","allFile","pics","transformImages","blue1","blue2","blue3","purple1","purple2","purple3","purple4","engagement","node","childImageSharp","userjourney","errors","inspect","personaldata","list","res","el","name","_objectWithoutPropertiesLoose","source","excluded","i","target","sourceKeys","Object","keys","length","indexOf"],"mappings":"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","file":"component---src-pages-features-js-a670f52bc06831efce43.js","sourcesContent":["import styled from 'styled-components';\nimport { media } from 'theme/breakpoints';\n\nexport const FeaturesContainer = styled.div`\n & .features-slider:first-of-type {\n padding-top: 0;\n border: none;\n ${media.mobile} {\n padding-bottom: 60px;\n }\n }\n & .features-slider:last-of-type {\n padding-top: 7rem;\n border: none;\n ${media.mobile} {\n padding-top: 90px;\n }\n }\n`;\n\nexport const Header = styled.header`\n text-align: center;\n padding-top: 11rem;\n padding-bottom: 168px;\n & .page-desc {\n margin-top: 24px;\n font-size: 22px;\n line-height: 34px;\n margin-bottom: 0;\n }\n & .signup-box {\n align-items: center;\n }\n ${media.tablet} {\n padding-top: 7rem;\n & .signup-box {\n margin-top: 0;\n }\n }\n ${media.mobile} {\n padding-bottom: 120px;\n & h1 {\n font-size: 36px;\n line-height: 48px;\n }\n & .page-desc {\n font-size: 18px;\n line-height: 28px;\n margin-top: 16px;\n }\n }\n`;\n\nexport const Section = styled.section`\n padding: 0;\n ${media.tablet} {\n padding: 0 15px;\n margin: 0 auto;\n & div.container div.reversed div.content {\n margin-bottom: 56px;\n }\n }\n`;\n\nexport const CarouselItem = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n width: calc(100vw - 30px);\n padding: 0 15px;\n ${media.tablet} {\n width: auto;\n max-width: 576px;\n margin: 0 auto;\n }\n h4 {\n font-size: 20px;\n line-height: 32px;\n font-weight: 900;\n ${media.tablet} {\n font-size: 18px;\n }\n }\n p {\n font-size: 16px;\n line-height: 28px;\n font-weight: 600;\n ${media.tablet} {\n font-size: 14px;\n }\n }\n`;\n\nexport const PersonalDataSection = styled.section`\n background-color: #f8f8f8;\n border-radius: 4px;\n padding: 56px 48px;\n display: flex;\n margin: 7rem 0;\n & .content {\n margin-right: 48px;\n & h2 {\n margin-bottom: 32px;\n & p {\n font-size: 18px;\n line-height: 30px;\n margin-bottom: 24px;\n }\n }\n }\n & div {\n flex: 1;\n }\n ${media.desktop} {\n & .main-image {\n display: none;\n }\n }\n ${media.tablet} {\n & .content {\n margin-right: 0;\n }\n margin: 90px 0;\n }\n ${media.mobile} {\n padding: 24px;\n & .content {\n & h2 {\n font-size: 24px;\n line-height: 36px;\n margin: 0px 0px 16px;\n }\n & p {\n font-size: 16px;\n line-height: 24px;\n margin-bottom: 18px;\n }\n & a {\n font-size: 16px;\n line-height: 24px;\n }\n }\n }\n`;\n\nexport const ImageContainer = styled.div`\n display: flex;\n margin-top: 32px;\n & a {\n display: block;\n cursor: pointer;\n }\n & a:first-child {\n margin-right: 24px;\n }\n ${media.mobile} {\n display: none;\n }\n`;\n\nexport const MainFeaturesSection = styled.section`\n padding-bottom: 100px;\n & h2 {\n margin-bottom: 24px;\n text-align: center;\n }\n & .subtitle {\n font-size: 18px;\n line-height: 30px;\n text-align: center;\n margin-bottom: 80px;\n }\n ${media.mobile} {\n padding-top: 30px;\n padding-bottom: 50px;\n & .subtitle {\n margin-bottom: 40px;\n }\n }\n`;\n\nexport const CardContainer = styled.div`\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n grid-template-rows: repeat(2, auto);\n grid-column-gap: 80px;\n grid-row-gap: 7rem;\n & div {\n display: flex;\n flex-direction: column;\n & h3 {\n font-size: 28px;\n line-height: 42px;\n margin-top: 32px;\n }\n & p {\n font-size: 18px;\n line-height: 30px;\n margin-top: 20px;\n margin-bottom: 0;\n }\n }\n ${media.desktop} {\n grid-row-gap: 90px;\n }\n ${media.tablet} {\n grid-template-columns: 1fr;\n grid-template-rows: repeat(4, auto);\n }\n ${media.mobile} {\n grid-row-gap: 90px;\n }\n`;\n","import React from 'react';\nimport Img from 'gatsby-image/withIEPolyfill';\nimport Link from 'components/ui/link/';\nimport StartUsing from 'components/ui/startUsing';\nimport { useFeatureData } from 'data/features';\nimport WorksWith from 'components/index/worksWith';\nimport TrustedBy from 'components/ui/trustedBy';\nimport FeaturesSlider from 'components/index/featuresSlider';\nimport SignUpForm from 'components/ui/signupForm';\nimport badge from 'img/index/GDPRbadge.svg';\nimport badge2 from 'img/index/CCPAbadge.svg';\nimport * as Styled from './styled';\n\nconst Features = () => {\n const data = useFeatureData();\n return (\n <>\n Because everything has to work together just right \n We allow you to anonymize text and images containing sensitive data. Take care of your\n customers' security. LiveSession is GDPR and CCPA compliant.\n Focus on finding solutions, not searching for problems\n An amazing blend of features to help you grow\n
\n
successful UX\n \n }\n sectionDesc=\"Use all the necessary tools LiveSession provides you with to enhance your website’s UI. Grow your user base or sell more thanks to well-thought design improvements with a little help of:\"\n cards={data.yellow.cards}\n images={data.yellow.images}\n />\n
are bring real value\n \n }\n sectionDesc=\"Shorten the time needed to do your research. Never miss an important session again.\"\n cards={data.purple.cards}\n images={data.purple.images}\n reversed\n color=\"#8864FE\"\n className=\"secondary\"\n />\n
in your users' behavior\n \n }\n sectionDesc=\"Gather insights into your users’ behavior. Rethink your website’s flow to recreate conditions in which your visitors convert. Improve your customer support.\"\n cards={data.blue.cards}\n color=\"#7DFFEE\"\n images={data.blue.images}\n className=\"secondary\"\n />\n Personal data protection and privacy are rooted in our values
\n \n \n \n
\n \n
\n
\n Find the most valuable sessions in a blink of an eye\n
\n \n
{item.title}
\n {item.desc}\n
\n Find the most engaging sessions without having to watch them all. Our Engagement score\n allows you to focus on recordings with the most (or least) user activity. The rating\n depends on many factors, including the number of pages visited by your users and the\n number of clicks during the session. The Engagement score will{' '}\n show you the most important sessions automatically.\n
\n >\n ),\n image: pics.engagement.node.childImageSharp.fluid,\n },\n {\n title: 'User journey',\n desc: (\n <>\n\n A user journey is a path your visitors take when exploring your website. In\n LiveSession, you can easily watch and analyze it. It will help you{' '}\n improve the sales funnel in your store or make adjustments to your\n website’s navigation. You can also use it to track events that led to conversions and\n see how they contributed to achieving your goals.\n
\n >\n ),\n image: pics.userjourney.node.childImageSharp.fluid,\n },\n {\n title: 'Rage clicks & error clicks',\n desc: (\n <>\n\n Rage clicks and Error clicks{' '}\n automatically spot pain points and errors on your website. Rage click\n happens when your visitor keeps clicking on an UI element repeatedly and may indicate\n your visitors frustration. Error clicks are reported when a JavaScript error occurs.\n LiveSession marks them automatically to make it easier for you to{' '}\n find the most urgent issues.\n
\n >\n ),\n image: pics.errors.node.childImageSharp.fluid,\n },\n {\n title: 'Inspect mode',\n desc: (\n <>\n\n While watching a recording, you can{' '}\n select any particular element of your website and see how it’s used.\n This allows you to browse sessions in which your users interact with this element.\n Depending on your needs, you can search by CSS selectors or by text. With Inspect\n mode, you can interpret A/B tests results or understand how users\n interact with your website.\n
\n >\n ),\n image: pics.inspect.node.childImageSharp.fluid,\n },\n ],\n personalData: {\n mainImage: pics.personaldata.node.childImageSharp.fluid,\n },\n };\n};\n","/* eslint-disable no-restricted-syntax */\n/* eslint-disable guard-for-in */\nexport const transformImages = (list) => {\n const res = [];\n for (const el of list) {\n res[el.node.name] = el;\n }\n return res;\n};\n","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":""}