{"version":3,"sources":["webpack://QuickSense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://QuickSense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://QuickSense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://QuickSense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://QuickSense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://QuickSense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://QuickSense/./src/components/Blog/blogArticle.js","webpack://QuickSense/./src/components/Breadcrumb/breadcrumb.js","webpack://QuickSense/./src/components/GetStarted/getStarted.js","webpack://QuickSense/./src/components/SEO/seo.js","webpack://QuickSense/./src/components/Section/section.js","webpack://QuickSense/./src/pages/resources/{contentfulTopic.topicName}.js","webpack://QuickSense/./node_modules/katex/dist/contrib/auto-render.mjs"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","_slicedToArray","arr","Array","isArray","_i","Symbol","iterator","_s","_e","_arr","_n","_d","call","next","done","push","value","err","unsupportedIterableToArray","BlogArticle","render","regex","RegExp","className","this","thumbnail","src","width","height","alt","title","createdDate","topic","Link","to","slug","topicName","toLowerCase","replace","topicCategory","description","React","Breadcrumb","aria-label","hideHomeLink","listItemClasses","linkClasses","links","map","link","index","last","aria-current","style","textTransform","name","destination","GetStarted","background","center","lg","superImage","data-srcset","superImageWebp","type","superImageWidth","superImageHeight","data-src","loading","superImageClass","superImageAlt","dangerouslySetInnerHTML","__html","classes","href","event","eventValues","buttonText","bookButton","secondary","secondaryButton","isInternal","secondaryButtonType","secondaryButtonDestination","secondaryButtonEvent","secondaryButtonText","defaultProps","buttonVariant","location","SEO","lang","meta","keywords","ldJsonData","children","StaticQuery","query","detailsQuery","data","metaDescription","site","siteMetadata","htmlAttributes","titleTemplate","content","property","author","concat","join","JSON","stringify","Section","ref","refProp","spacing","containerClasses","data-sal","animation","animationType","data-sal-duration","animationDuration","data-sal-delay","animationDelay","data-sal-easing","animationEasing","fluid","rowClasses","as","breadcrumbs","superTitle","titleClasses","listContent","contentImage","contentImageWebp","contentImageWidth","contentImageHeight","contentImageClass","contentImageAlt","BlogPage","_renderLatex","renderMathInElement","katexField","componentDidMount","componentDidUpdate","contentfulTopic","listClasses","NOTES_SLUG","allContentfulNotes","nodes","node","id","topicImageSource","createdAt","findEndOfMath","delimiter","text","startIndex","braceLevel","delimLength","character","slice","amsRegex","renderMathInText","optionsCopy","delimiters","regexLeft","x","left","search","findIndex","delim","startsWith","right","rawData","math","test","display","splitAtDelimiters","fragment","document","createDocumentFragment","appendChild","createTextNode","span","createElement","displayMode","preProcess","e","errorCallback","renderElem","elem","childNodes","childNode","nodeType","frag","textContent","replaceChild","ignoredTags","indexOf","nodeName","ignoredClasses","every","options","Error","option","hasOwnProperty","console","error","macros"],"mappings":"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","file":"component---src-pages-resources-contentful-topic-topic-name-js-f9e20d495918e55fd2f6.js","sourcesContent":["export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import React from 'react'\nimport { Link } from 'gatsby'\nimport { PropTypes } from 'prop-types'\n\nclass BlogArticle extends React.Component {\n render(){\n const regex = new RegExp('[ ,]', 'g')\n return
\n

\n {this.props.thumbnail &&
\n {`${this.props.title}\n
} \n {this.props.title}\n

\n
\n
{this.props.createdDate}
\n
Tags: \n {this.props.topic && {this.props.topic.topicName}}\n {this.props.topicCategory && {this.props.topicCategory.topicCategory}}\n
\n
\n
\n

{this.props.description}

\n \n
\n }\n}\n\nBlogArticle.propTypes = {\n thumbnail: PropTypes.string,\n title: PropTypes.string,\n createdDate: PropTypes.string,\n tags: PropTypes.array,\n description: PropTypes.string,\n slug: PropTypes.string,\n topic: PropTypes.obj,\n topicCategory: PropTypes.obj\n\n}\n\nexport default BlogArticle\n","import React from 'react'\nimport { Link } from 'gatsby'\nimport { PropTypes } from 'prop-types'\n\nclass Breadcrumb extends React.Component {\n render(){\n return \n }\n}\n\nBreadcrumb.propTypes = {\n links: PropTypes.array,\n linkClasses: PropTypes.string,\n listClasses: PropTypes.string,\n listItemClasses: PropTypes.string,\n hideHomeLink: PropTypes.bool,\n}\n\nexport default Breadcrumb\n","import React from 'react'\nimport PropTypes from 'prop-types'\n//Components\nimport Col from 'react-bootstrap/Col'\nimport Button from '../Button/button'\nimport Section from '../Section/section'\n\nclass GetStarted extends React.Component {\n\n render(){\n return
\n \n {\n !!this.props.superImage && \n
\n \n \n {this.props.superImageAlt}\n \n
\n }\n

{this.props.title}

\n

\n

\n \n {!!this.props.bookButton && }\n
\n {!!this.props.secondaryButton \n && \n }\n \n
\n }\n}\n\nGetStarted.propTypes = {\n background: PropTypes.string,\n title: PropTypes.string,\n description: PropTypes.string,\n buttonText: PropTypes.string,\n buttonVariant: PropTypes.string,\n bookButton: PropTypes.bool,\n secondaryButton: PropTypes.bool,\n secondaryButtonText: PropTypes.string,\n secondaryButtonType: PropTypes.string,\n secondaryButtonDestination: PropTypes.string,\n superImage: PropTypes.string,\n superImageWebp: PropTypes.string,\n superImageWidth: PropTypes.string,\n superImageHeight: PropTypes.string,\n superImageClass: PropTypes.string,\n superImageAlt: PropTypes.string,\n event: PropTypes.string,\n eventValues: PropTypes.object,\n secondaryButtonEvent: PropTypes.string,\n secondaryButtonEventValues: PropTypes.object\n}\n\nGetStarted.defaultProps = {\n background: 'bg-light-pink',\n title: 'Try QuickSense for free!',\n description: 'Everything you need to get an A / 7+ in IGCSE, GCSE and O-Level Maths.',\n buttonText: 'Try for free',\n buttonVariant: 'outline-primary',\n event: 'website_sign_up_button_clicked',\n secondaryButton: true,\n secondaryButtonText: 'Unsure? Checkout our A/7+ Guarantee.',\n secondaryButtonType: 'internal',\n secondaryButtonDestination: '/guarantee',\n secondaryButtonEvent: 'website_guarantee_button_clicked',\n eventValues: {\n location: 'Footer'\n }\n\n}\n\nexport default GetStarted","import React from 'react'\nimport PropTypes from 'prop-types'\nimport Helmet from 'react-helmet'\nimport { StaticQuery, graphql } from 'gatsby'\n\nfunction SEO({ description, lang, meta, keywords, title, ldJsonData, children }) {\n return (\n {\n const metaDescription =\n description || data.site.siteMetadata.description\n return (\n 0\n ? {\n name: 'keywords',\n content: keywords.join(', '),\n }\n : []\n )\n .concat(meta)}\n >\n { ldJsonData && }\n { children }\n \n )\n }}\n />\n )\n}\n\nSEO.defaultProps = {\n lang: 'en',\n meta: [],\n keywords: [],\n description: 'Everything you need to get an A+ in IGCSE, GCSE and O Level Maths. Questions, Explanations, 24/7 Tutoring, Notes & Analytics included. Shown to increase student test scores by over 20%',\n}\n\nSEO.propTypes = {\n description: PropTypes.string,\n lang: PropTypes.string,\n meta: PropTypes.array,\n keywords: PropTypes.arrayOf(PropTypes.string),\n title: PropTypes.string.isRequired,\n ldJsonData: PropTypes.string,\n children: PropTypes.node\n}\n\nexport default SEO\n\nconst detailsQuery = graphql`\n query DefaultSEOQuery {\n site {\n siteMetadata {\n title\n description\n author,\n siteUrl\n }\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport Container from 'react-bootstrap/Container'\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\n\nimport Breadcrumb from '../../components/Breadcrumb/breadcrumb'\n\nclass Section extends React.Component {\n render() {\n return
\n \n \n {\n this.props.title ?\n \n {\n !!this.props.breadcrumbs &&\n \n }\n {\n !!this.props.superImage && \n
\n \n \n {this.props.superImageAlt}\n \n \n
\n }\n {!!this.props.superTitle && {this.props.superTitle}}\n

{this.props.title}

\n {\n !!this.props.content &&\n this.props.content.map((data, index) => (\n

\n ))\n }\n {\n !!this.props.listContent &&\n

    \n {\n this.props.listContent.map((data,index) => (\n
  1. \n )) \n }\n
\n }\n {\n this.props.contentImage &&
\n \n \n {this.props.contentImageAlt}\n \n \n
\n }\n : null\n }\n {this.props.children}\n
\n
\n
\n }\n\n}\n\nSection.propTypes = {\n children: PropTypes.node,\n fluid: PropTypes.bool,\n background: PropTypes.string,\n breadcrumbs: PropTypes.array,\n title: PropTypes.string,\n titleClasses: PropTypes.string,\n superTitle: PropTypes.string,\n superImageWebp: PropTypes.string,\n superImageWidth: PropTypes.string,\n superImageHeight: PropTypes.string,\n superImage: PropTypes.string,\n superImageClass: PropTypes.string,\n superImageAlt: PropTypes.string,\n listContent: PropTypes.array,\n listItemClasses: PropTypes.string,\n content: PropTypes.array,\n contentImage: PropTypes.string,\n contentImageWidth: PropTypes.string,\n contentImageHeight: PropTypes.string,\n contentImageClass: PropTypes.string,\n contentImageWebp: PropTypes.string,\n contentImageAlt: PropTypes.string,\n animation: PropTypes.bool,\n animationType: PropTypes.string,\n animationDuration: PropTypes.string,\n animationDelay: PropTypes.string,\n animationEasing: PropTypes.string,\n spacing: PropTypes.string,\n center: PropTypes.bool,\n containerClasses: PropTypes.string,\n rowClasses: PropTypes.string,\n refProp: PropTypes.object\n}\n\nSection.defaultProps = {\n animation: true,\n animationType: 'fade',\n animationDuration: '2000',\n animationDelay: '200',\n animationEasing: 'ease-out-quart',\n spacing: 'py-4 py-sm-5',\n contentImageWidth: '400',\n contentImageHeight: '400',\n fluid: false\n}\n\nexport default Section","import React from 'react'\nimport { graphql, Link } from 'gatsby'\n\n//Katex\nimport renderMathInElement from 'katex/dist/contrib/auto-render'\nimport 'katex/dist/katex.min.css'\n\n// components\nimport Col from 'react-bootstrap/Col'\nimport Row from 'react-bootstrap/Row'\nimport SEO from '../../components/SEO/seo'\nimport Layout from '../../components/Layout/layout'\nimport Section from '../../components/Section/section'\nimport GetStarted from '../../components/GetStarted/getStarted'\nimport Breadcrumb from '../../components/Breadcrumb/breadcrumb'\nimport Article from '../../components/Blog/blogArticle'\n\n//constants\nimport { NOTES_SLUG } from '../../utils/constants'\n\nclass BlogPage extends React.Component {\n _renderLatex = () => {\n renderMathInElement(this.katexField)\n }\n\n componentDidMount() {\n this._renderLatex()\n }\n\n componentDidUpdate() {\n this._renderLatex()\n }\n\n render({ data }){\n return <>\n \n
this.katexField = ref}>\n \n
\n \n \n

{data.contentfulTopic.topicName}

\n
\n \n {\n data.allContentfulNotes.nodes.map((node) => (\n \n \n \n \n \n\n ))\n }\n \n \n
\n \n
\n
\n \n }\n}\n\nexport default BlogPage\n\nexport const query = graphql`\nquery LessonByTopicName($id: String) {\n allContentfulNotes(filter: {topic: {id: {eq: $id}}}) {\n nodes {\n createdAt(formatString: \"MMMM D, YYYY\")\n description {\n description\n }\n metadata {\n tags {\n id\n name\n }\n }\n topic {\n topicImageSource\n topicName\n contentful_id\n }\n topicCategory {\n topicCategory\n contentful_id\n }\n title\n slug\n }\n }\n contentfulTopic(id: {eq: $id}){\n\t\ttopicName\n }\n}\n`\n","import katex from '../katex.mjs';\n/* eslint no-constant-condition:0 */\n\nvar findEndOfMath = function findEndOfMath(delimiter, text, startIndex) {\n // Adapted from\n // https://github.com/Khan/perseus/blob/master/src/perseus-markdown.jsx\n var index = startIndex;\n var braceLevel = 0;\n var delimLength = delimiter.length;\n\n while (index < text.length) {\n var character = text[index];\n\n if (braceLevel <= 0 && text.slice(index, index + delimLength) === delimiter) {\n return index;\n } else if (character === \"\\\\\") {\n index++;\n } else if (character === \"{\") {\n braceLevel++;\n } else if (character === \"}\") {\n braceLevel--;\n }\n\n index++;\n }\n\n return -1;\n};\n\nvar escapeRegex = function escapeRegex(string) {\n return string.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n};\n\nvar amsRegex = /^\\\\begin{/;\n\nvar splitAtDelimiters = function splitAtDelimiters(text, delimiters) {\n var index;\n var data = [];\n var regexLeft = new RegExp(\"(\" + delimiters.map(function (x) {\n return escapeRegex(x.left);\n }).join(\"|\") + \")\");\n\n while (true) {\n index = text.search(regexLeft);\n\n if (index === -1) {\n break;\n }\n\n if (index > 0) {\n data.push({\n type: \"text\",\n data: text.slice(0, index)\n });\n text = text.slice(index); // now text starts with delimiter\n } // ... so this always succeeds:\n\n\n var i = delimiters.findIndex(function (delim) {\n return text.startsWith(delim.left);\n });\n index = findEndOfMath(delimiters[i].right, text, delimiters[i].left.length);\n\n if (index === -1) {\n break;\n }\n\n var rawData = text.slice(0, index + delimiters[i].right.length);\n var math = amsRegex.test(rawData) ? rawData : text.slice(delimiters[i].left.length, index);\n data.push({\n type: \"math\",\n data: math,\n rawData: rawData,\n display: delimiters[i].display\n });\n text = text.slice(index + delimiters[i].right.length);\n }\n\n if (text !== \"\") {\n data.push({\n type: \"text\",\n data: text\n });\n }\n\n return data;\n};\n/* eslint no-console:0 */\n\n/* Note: optionsCopy is mutated by this method. If it is ever exposed in the\n * API, we should copy it before mutating.\n */\n\n\nvar renderMathInText = function renderMathInText(text, optionsCopy) {\n var data = splitAtDelimiters(text, optionsCopy.delimiters);\n\n if (data.length === 1 && data[0].type === 'text') {\n // There is no formula in the text.\n // Let's return null which means there is no need to replace\n // the current text node with a new one.\n return null;\n }\n\n var fragment = document.createDocumentFragment();\n\n for (var i = 0; i < data.length; i++) {\n if (data[i].type === \"text\") {\n fragment.appendChild(document.createTextNode(data[i].data));\n } else {\n var span = document.createElement(\"span\");\n var math = data[i].data; // Override any display mode defined in the settings with that\n // defined by the text itself\n\n optionsCopy.displayMode = data[i].display;\n\n try {\n if (optionsCopy.preProcess) {\n math = optionsCopy.preProcess(math);\n }\n\n katex.render(math, span, optionsCopy);\n } catch (e) {\n if (!(e instanceof katex.ParseError)) {\n throw e;\n }\n\n optionsCopy.errorCallback(\"KaTeX auto-render: Failed to parse `\" + data[i].data + \"` with \", e);\n fragment.appendChild(document.createTextNode(data[i].rawData));\n continue;\n }\n\n fragment.appendChild(span);\n }\n }\n\n return fragment;\n};\n\nvar renderElem = function renderElem(elem, optionsCopy) {\n for (var i = 0; i < elem.childNodes.length; i++) {\n var childNode = elem.childNodes[i];\n\n if (childNode.nodeType === 3) {\n // Text node\n var frag = renderMathInText(childNode.textContent, optionsCopy);\n\n if (frag) {\n i += frag.childNodes.length - 1;\n elem.replaceChild(frag, childNode);\n }\n } else if (childNode.nodeType === 1) {\n (function () {\n // Element node\n var className = ' ' + childNode.className + ' ';\n var shouldRender = optionsCopy.ignoredTags.indexOf(childNode.nodeName.toLowerCase()) === -1 && optionsCopy.ignoredClasses.every(function (x) {\n return className.indexOf(' ' + x + ' ') === -1;\n });\n\n if (shouldRender) {\n renderElem(childNode, optionsCopy);\n }\n })();\n } // Otherwise, it's something else, and ignore it.\n\n }\n};\n\nvar renderMathInElement = function renderMathInElement(elem, options) {\n if (!elem) {\n throw new Error(\"No element provided to render\");\n }\n\n var optionsCopy = {}; // Object.assign(optionsCopy, option)\n\n for (var option in options) {\n if (options.hasOwnProperty(option)) {\n optionsCopy[option] = options[option];\n }\n } // default options\n\n\n optionsCopy.delimiters = optionsCopy.delimiters || [{\n left: \"$$\",\n right: \"$$\",\n display: true\n }, {\n left: \"\\\\(\",\n right: \"\\\\)\",\n display: false\n }, // LaTeX uses $…$, but it ruins the display of normal `$` in text:\n // {left: \"$\", right: \"$\", display: false},\n // $ must come after $$\n // Render AMS environments even if outside $$…$$ delimiters.\n {\n left: \"\\\\begin{equation}\",\n right: \"\\\\end{equation}\",\n display: true\n }, {\n left: \"\\\\begin{align}\",\n right: \"\\\\end{align}\",\n display: true\n }, {\n left: \"\\\\begin{alignat}\",\n right: \"\\\\end{alignat}\",\n display: true\n }, {\n left: \"\\\\begin{gather}\",\n right: \"\\\\end{gather}\",\n display: true\n }, {\n left: \"\\\\begin{CD}\",\n right: \"\\\\end{CD}\",\n display: true\n }, {\n left: \"\\\\[\",\n right: \"\\\\]\",\n display: true\n }];\n optionsCopy.ignoredTags = optionsCopy.ignoredTags || [\"script\", \"noscript\", \"style\", \"textarea\", \"pre\", \"code\", \"option\"];\n optionsCopy.ignoredClasses = optionsCopy.ignoredClasses || [];\n optionsCopy.errorCallback = optionsCopy.errorCallback || console.error; // Enable sharing of global macros defined via `\\gdef` between different\n // math elements within a single call to `renderMathInElement`.\n\n optionsCopy.macros = optionsCopy.macros || {};\n renderElem(elem, optionsCopy);\n};\n\nexport { renderMathInElement as default };"],"sourceRoot":""}