{"version":3,"sources":["webpack:///./node_modules/reading-time/index.js","webpack:///./src/components/seo.tsx","webpack:///./src/components/content.tsx","webpack:///./src/context/PromoContext.tsx","webpack:///./node_modules/react-use/esm/useIntersection.js","webpack:///./src/components/editorial/editorialInfo.tsx","webpack:///./src/components/editorial/editorialHeader.tsx","webpack:///./src/components/editorial/guideHeader.tsx","webpack:///./src/templates/editorial.tsx","webpack:///./src/components/schema.tsx","webpack:///./node_modules/sharable/browser/index.js","webpack:///./node_modules/reading-time/lib/reading-time.js"],"names":["module","exports","SEO","pagePath","metaInfo","env","schema","title","metaTitle","metaDescription","ogImage","openImage","asset","url","twitterImage","openTitle","openGraphDescription","twitterTitle","twitterDescription","dontIndex","noIndex","key","type","JSON","stringify","src","charset","data-domain-script","lang","http-equiv","content","property","name","siteRoute","queryClient","QueryClient","Content","modules","client","RenderModules","PromoContext","createContext","undefined","usePromo","context","useContext","Error","PromoProvider","children","useState","promos","setPromos","isLoading","error","useEffect","promoJson","value","Provider","ref","options","_a","intersectionObserverEntry","setIntersectionObserverEntry","current","IntersectionObserver","observer_1","entries","observe","disconnect","threshold","root","rootMargin","EditorialInfo","authors","slug","editorialText","stats","readingTime","toPlainText","box","setBox","bottom","setBottom","useRef","setTimeout","getBoundingClientRect","require","default","push","direction","height","className","style","map","author","id","imageId","main","image","_id","alt","position","text","blocks","serializers","EditorialSectionSerializer","onClick","jump","offset","href","data-social","data-url","onMouseEnter","onMouseLeave","EditorialHeader","subTitle","articleType","cardImage","articleColor","cx","raw","size","GuideHeader","Editorial","path","pageContext","backgroundColor","metaInformation","fixed","setFixed","intersection","useIntersection","window","pageXOffset","handleFixed","intersectionRatio","boundingClientRect","y","footNotes","document","querySelectorAll","footNotesBottom","footNoteReference","length","forEach","note","i","classList","remove","innerHTML","publishedAt","headline","datePublished","articleBody","publisher","logo","mainEntityOfPage","generateSchema","sidebar","to","EditorialSerializer","EditorialFootnoteSerializer","r","e","n","t","o","f","u","a","code","p","call","1","Object","defineProperty","enc","s","encodeURIComponent","merge","target","_len","arguments","args","Array","_key","keys","k","openPopup","left","screen","width","top","open","networks","pinterest","_ref","description","facebook","_ref2","twitter","_ref3","via","hashtags","email","_ref4","tumblr","_ref5","getMeta","meta","metaTags","slice","head","getElementsByTagName","attributes","attr","nodeName","match","split","selector","propertyValue","querySelector","getAttribute","parseLocalData","prototype","reduce","prev","curr","test","update","bindLinks","targets","_loop","network","data","onclick","preventDefault","stopPropagation","ansiWordBound","c","wordBound","words","start","end","wordsPerMinute","minutes","time","Math","ceil","toFixed"],"mappings":"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","file":"component---src-templates-editorial-tsx-51c6edae12fdea0a7606.js","sourcesContent":["module.exports = require('./lib/reading-time');","import React from 'react'\nimport { Helmet } from 'react-helmet'\n\nconst siteRoute = 'https://www.asktia.com'\n\nexport const SEO = ({\n pagePath,\n metaInfo,\n env,\n schema,\n}: {\n pagePath: string\n metaInfo: {\n metaTitle?: string\n metaDescription?: string\n openImageUrl?: string\n twitterImageUrl?: string\n twitterTitle?: string\n openTitle?: string\n openGraphDescription?: string\n twitterDescription?: string\n noIndex?: boolean\n }\n env: 'production' | 'development' | 'local' | 'staging'\n schema?: any\n}) => {\n const title = metaInfo\n ? metaInfo.metaTitle\n ? metaInfo.metaTitle\n : 'Ask Tia'\n : 'Ask Tia'\n const metaDescription = metaInfo\n ? metaInfo.metaDescription\n ? metaInfo.metaDescription\n : 'Ask Tia'\n : 'Ask Tia'\n const metaKeywords = 'ask tia, health, women, woman, wellness, clinic'\n const ogImage = metaInfo\n ? metaInfo.openImage\n ? metaInfo.openImage.asset.url\n : 'https://cdn.sanity.io/images/8qqycr4y/production/4eaae4b88cd6b4f41ebaa30a351d53ee2d6914ae-2400x1260.png'\n : 'https://cdn.sanity.io/images/8qqycr4y/production/4eaae4b88cd6b4f41ebaa30a351d53ee2d6914ae-2400x1260.png'\n const twitterImage = metaInfo\n ? metaInfo.twitterImage\n ? metaInfo.twitterImage.asset.url\n : 'https://cdn.sanity.io/images/8qqycr4y/production/4eaae4b88cd6b4f41ebaa30a351d53ee2d6914ae-2400x1260.png'\n : 'https://cdn.sanity.io/images/8qqycr4y/production/4eaae4b88cd6b4f41ebaa30a351d53ee2d6914ae-2400x1260.png'\n const openTitle = metaInfo\n ? metaInfo.openTitle\n ? metaInfo.openTitle\n : title\n : title\n const openGraphDescription = metaInfo\n ? metaInfo.openGraphDescription\n ? metaInfo.openGraphDescription\n : metaDescription\n : metaDescription\n const twitterTitle = metaInfo\n ? metaInfo.twitterTitle\n ? metaInfo.twitterTitle\n : title\n : title\n const twitterDescription = metaInfo\n ? metaInfo.twitterDescription\n ? metaInfo.twitterDescription\n : metaDescription\n : metaDescription\n\n const dontIndex = metaInfo?.noIndex || env !== 'production'\n\n // one trust integration at beginning of html head\n return (\n \n {schema && [\n ,\n ]}\n \n \n\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {dontIndex && }\n \n \n )\n}\n","// If you don't want to use TypeScript you can delete this file!\nimport React from 'react'\nimport { QueryClient, QueryClientProvider } from 'react-query'\nimport {\n AmplitudeExperimentProvider,\n AmplitudeExperimentContext,\n} from 'src/ampli/AmplitudeExperimentProvider'\nimport PromoProvider from 'src/context/PromoContext'\nimport { RenderModules } from 'src/utils/renderModules'\n\nconst queryClient = new QueryClient()\n\nexport const Content = ({ modules }: { modules: [] }) => {\n return (\n <>\n \n \n {RenderModules(modules)}\n \n \n \n )\n}\n\nexport default Content\n","import React, { createContext, useContext, useEffect, useState } from 'react'\nimport promoJson from '../../static/promoProps.json'\nimport { Promo, Promos } from 'src/interfaces/Promo'\n\ninterface PromoContextValue {\n promos: Promos | null\n isLoading: boolean\n error: Error | null\n}\n\nconst PromoContext = createContext(undefined)\n\ninterface PromoProviderProps {\n children: React.ReactNode\n}\n\nconst fetchActivePromo = async (): Promise => {\n const response = await fetch('/api/promos/active')\n\n if (!response.ok) {\n throw new Error('Failed to fetch active promotion')\n }\n\n const data = await response.json()\n\n return {\n ...data,\n validUntil: new Date(data.validUntil),\n }\n}\n\nexport const PromoProvider: React.FC = ({\n children,\n}: PromoProviderProps) => {\n const [promos, setPromos] = useState(null)\n const [isLoading, setIsLoading] = useState(false)\n const [error, setError] = useState(null)\n\n useEffect(() => {\n setPromos(promoJson)\n }, [])\n\n const value: PromoContextValue = {\n promos,\n isLoading,\n error,\n }\n\n return {children}\n}\n\nexport const usePromo = (): PromoContextValue => {\n const context = useContext(PromoContext)\n\n if (context === undefined) {\n throw new Error('usePromo must be used within a PromoProvider')\n }\n\n return context\n}\n\nexport default PromoProvider\n","/* eslint-disable */\nimport { useEffect, useState } from 'react';\n\nvar useIntersection = function useIntersection(ref, options) {\n var _a = useState(null),\n intersectionObserverEntry = _a[0],\n setIntersectionObserverEntry = _a[1];\n\n useEffect(function () {\n if (ref.current && typeof IntersectionObserver === 'function') {\n var handler = function handler(entries) {\n setIntersectionObserverEntry(entries[0]);\n };\n\n var observer_1 = new IntersectionObserver(handler, options);\n observer_1.observe(ref.current);\n return function () {\n setIntersectionObserverEntry(null);\n observer_1.disconnect();\n };\n }\n\n return function () {};\n }, [ref.current, options.threshold, options.root, options.rootMargin]);\n return intersectionObserverEntry;\n};\n\nexport default useIntersection;","import React, { useEffect, useRef, useState } from 'react'\nimport cx from 'classnames'\nimport BlockContent from '@sanity/block-content-to-react'\nimport readingTime from 'reading-time'\nimport jump from 'jump.js'\n\nimport { toPlainText } from 'src/utils/utils'\nimport { EditorialSectionSerializer } from 'src/utils/editorialSerializer'\nimport { Image } from 'src/components/image'\n\nimport { Twitter, Mail, UpArrow, Facebook } from 'src/components/svgs'\nimport { push } from 'gatsby'\n\nexport const EditorialInfo = ({\n authors,\n slug,\n title,\n editorialText,\n}: {\n authors: any[]\n slug: {\n current: string\n }\n title: string\n editorialText: any[]\n}) => {\n const stats = readingTime(toPlainText(editorialText))\n const [box, setBox] = useState(0)\n const [bottom, setBottom] = useState('100vh')\n const ref = useRef(null)\n useEffect(() => {\n setTimeout(() => {\n setBox(ref.current.getBoundingClientRect())\n }, 2000)\n }, [0])\n\n useEffect(() => {\n setTimeout(() => {\n const sharable = require('sharable/browser')\n // eslint-disable-next-line\n const share = sharable.default()\n }, 300)\n }, [0])\n\n const push = (direction: string) => {\n switch (direction) {\n case 'down':\n setBottom(`calc(100vh - ${box.height}px)`)\n break\n case 'up':\n setBottom('100vh')\n break\n }\n }\n\n return (\n 0 && box.height}px)`\n }\n }\n >\n
\n {authors?.map(author => (\n
\n
\n \n
\n

\n By {author.content.main.title}\n
\n {author.content.main.position}\n

\n
\n ))}\n
\n
{stats.text}
\n
\n \n
\n
\n jump('.js-editorial', { offset: -200 })}\n className=\"no-style editorial__back cursor ss15 f jcs aic cpink\"\n >\n {' '}\n Back to Top\n \n
\n \n \n \n \n \n \n \n \n \n
\n
\n push('down')}\n onMouseLeave={() => push('up')}\n >\n
\n \n
\n
\n jump('.js-editorial', { offset: -600 })}\n className=\"no-style editorial__back cursor ss15 f jcs aic cpink\"\n >\n {' '}\n Back to Top\n \n
\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n )\n}\n","import React, { useEffect } from 'react'\nimport cx from 'classnames'\n\nimport { Image } from 'src/components/image'\nimport { ShapeThree } from 'src/components/svgs'\n\nimport { EditorialInfo } from 'src/components/editorial/editorialInfo'\n\nexport interface EditorialHeaderProps {\n title: string\n subTitle: string\n topic: {\n title: string\n }\n slug: {\n current: string\n }\n articleType: {\n title: string\n }\n cardImage?: {\n asset: {\n _id: string\n }\n }\n editorialText: any[]\n articleColor: string\n authors: any[]\n image: {\n asset: {\n _id: string\n }\n }\n}\n\nexport const EditorialHeader = ({\n title,\n subTitle,\n slug,\n articleType,\n image,\n cardImage,\n editorialText,\n authors,\n articleColor,\n}: EditorialHeaderProps) => {\n useEffect(() => {\n const sharable = require('sharable/browser')\n // eslint-disable-next-line\n const share = sharable.default()\n }, [0])\n return (\n
\n
\n {cardImage && (\n \n )}\n \n \n
\n
\n \n
\n
\n
\n {articleType && (\n
{articleType.title}
\n )}\n

{title}

\n

{subTitle}

\n
\n
\n
\n \n
\n
\n \n )\n}\n","import React, { useEffect } from 'react'\nimport cx from 'classnames'\n\nimport { Image } from 'src/components/image'\nimport { ShapeThree } from 'src/components/svgs'\n\nimport { EditorialInfo } from 'src/components/editorial/editorialInfo'\n\nexport interface GuideHeaderProps {\n title: string\n subTitle: string\n topic: {\n title: string\n }\n slug: {\n current: string\n }\n articleColor: string\n authors: any[]\n image: {\n asset: {\n _id: string\n }\n }\n}\n\nexport const GuideHeader = ({\n title,\n subTitle,\n slug,\n articleType,\n image,\n editorialText,\n authors,\n articleColor,\n}: GuideHeaderProps) => {\n useEffect(() => {\n const sharable = require('sharable/browser')\n // eslint-disable-next-line\n const share = sharable.default()\n }, [0])\n return (\n
\n
\n {title}\n
\n
\n {articleType &&
{articleType.title}
}\n

{title}

\n

{subTitle}

\n
\n
\n \n
\n
\n \n \n
\n
\n \n )\n}\n","// If you don't want to use TypeScript you can delete this file!\nimport React, { useRef, useState, useEffect } from 'react'\nimport { Link } from 'gatsby'\nimport cx from 'classnames'\nimport { useIntersection } from 'react-use'\n\nimport BlockContent from '@sanity/block-content-to-react'\n\nimport { SmallArrow } from 'src/components/svgs'\nimport { SEO } from 'src/components/seo'\nimport { generateSchema, SchemaProps } from 'src/components/schema'\nimport {\n EditorialSerializer,\n EditorialFootnoteSerializer,\n} from 'src/utils/editorialSerializer'\nimport { EditorialHeader } from 'src/components/editorial/editorialHeader'\nimport { GuideHeader } from 'src/components/editorial/guideHeader'\nimport Content from 'src/components/content'\n\nexport interface EditorialProps {\n pageContext: {\n main: {\n modules: []\n articleType?: {\n title: string\n }\n editorialTexT: any[]\n articleColor: string\n title: string\n image: {\n asset: {\n _id: string\n }\n }\n }\n meta: {}\n env: 'production' | 'development' | 'local' | 'staging'\n }\n path: string\n}\n\nconst Editorial = ({ path, pageContext }: EditorialProps) => {\n const {\n main: { modules, editorialText, backgroundColor, articleType },\n metaInformation,\n env,\n } = pageContext\n const { main } = pageContext\n\n const ref = useRef(null)\n const [fixed, setFixed] = useState(false)\n\n const intersection = useIntersection(ref, {\n root: null,\n rootMargin: '0px',\n threshold: 1,\n })\n\n useEffect(() => {\n setTimeout(() => {\n if (window.pageXOffset < 200) {\n setFixed(false)\n }\n }, 300)\n }, [0])\n\n const handleFixed = value => {\n if (window.pageXOffset < 200) {\n setFixed(value)\n } else {\n setFixed(false)\n }\n }\n\n useEffect(() => {\n intersection &&\n intersection.intersectionRatio < 1 &&\n intersection.boundingClientRect.y > 0\n ? handleFixed(false)\n : handleFixed(true)\n }, [intersection])\n\n useEffect(() => {\n const footNotes = document.querySelectorAll('.js-footnote')\n const footNotesBottom = document.querySelectorAll('.js-footnote-bottom')\n const footNoteReference = document.querySelectorAll(\n '.js-footnote-reference'\n )\n if (footNotes.length > 0) {\n footNotes.forEach((note, i) => {\n footNoteReference[0].classList.remove('hide')\n footNotes[i].innerHTML = i + 1\n if (footNotesBottom[i]) {\n footNotesBottom[i].innerHTML = `${i + 1}.`\n }\n })\n }\n }, [0])\n\n const schema = generateSchema(({\n ...main,\n pagePath: path,\n } as unknown) as SchemaProps)\n\n return (\n \n \n
\n \n The Tia Take\n \n
\n {articleType?.slug.current === 'guide' ? (\n \n ) : (\n \n )}\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n )\n}\n\nexport default Editorial\n","import React from 'react'\nimport { toPlainText } from 'src/utils/utils'\n\nexport interface SchemaProps {\n pagePath: string\n title: string\n publishedAt: any\n image: {\n asset: {\n url: string\n }\n }\n editorialText: any[]\n}\n\nexport const generateSchema = ({\n pagePath,\n title,\n publishedAt,\n image,\n editorialText,\n}: SchemaProps) => {\n const schema = {\n '@context': 'http://schema.org/',\n '@type': 'Article',\n author: {\n '@type': 'Organization',\n name: 'Tia',\n },\n headline: title,\n datePublished: publishedAt,\n url: pagePath,\n image: image.asset.url,\n articleBody: toPlainText(editorialText),\n publisher: {\n '@type': 'Organization',\n name: 'Tia',\n logo: {\n '@type': 'ImageObject',\n url: 'https://www.asktia.com/static/tia-logo.png',\n },\n },\n mainEntityOfPage: {\n '@type': 'WebPage',\n '@id': pagePath,\n },\n }\n\n return schema\n}\n","require(\"core-js/modules/es6.function.name\");\n\nrequire(\"core-js/modules/es6.array.reduce\");\n\nrequire(\"core-js/modules/es6.regexp.split\");\n\nrequire(\"core-js/modules/es6.regexp.match\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\n(function (f) {\n if (typeof exports === \"object\" && typeof module !== \"undefined\") {\n module.exports = f();\n } else if (typeof define === \"function\" && define.amd) {\n define([], f);\n } else {\n var g;\n\n if (typeof window !== \"undefined\") {\n g = window;\n } else if (typeof global !== \"undefined\") {\n g = global;\n } else if (typeof self !== \"undefined\") {\n g = self;\n } else {\n g = this;\n }\n\n g.sharable = f();\n }\n})(function () {\n var define, module, exports;\n return function () {\n function r(e, n, t) {\n function o(i, f) {\n if (!n[i]) {\n if (!e[i]) {\n var c = \"function\" == typeof require && require;\n if (!f && c) return c(i, !0);\n if (u) return u(i, !0);\n var a = new Error(\"Cannot find module '\" + i + \"'\");\n throw a.code = \"MODULE_NOT_FOUND\", a;\n }\n\n var p = n[i] = {\n exports: {}\n };\n e[i][0].call(p.exports, function (r) {\n var n = e[i][1][r];\n return o(n || r);\n }, p, p.exports, r, e, n, t);\n }\n\n return n[i].exports;\n }\n\n for (var u = \"function\" == typeof require && require, i = 0; i < t.length; i++) {\n o(t[i]);\n }\n\n return o;\n }\n\n return r;\n }()({\n 1: [function (require, module, exports) {\n 'use strict';\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var enc = function enc(s) {\n return encodeURIComponent(s);\n };\n\n var merge = function merge(target) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n args.forEach(function (a) {\n return Object.keys(a).forEach(function (k) {\n return target[k] = a[k];\n });\n });\n return target;\n };\n\n var openPopup = function openPopup(url) {\n var width = 500;\n var height = 300;\n var left = screen.width / 2 - width / 2;\n var top = screen.height / 3 - height / 2;\n window.open(url, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,width=' + width + ',height=' + height + ',top=' + top + ',left=' + left);\n };\n\n var networks = {\n pinterest: function pinterest(_ref) {\n var image = _ref.image,\n url = _ref.url,\n description = _ref.description;\n return 'https://pinterest.com/pin/create/bookmarklet/?media=' + image + '&url=' + url + '&description=' + enc(description);\n },\n facebook: function facebook(_ref2) {\n var url = _ref2.url;\n return 'http://www.facebook.com/sharer.php?u=' + url;\n },\n twitter: function twitter(_ref3) {\n var url = _ref3.url,\n description = _ref3.description,\n via = _ref3.via,\n hashtags = _ref3.hashtags;\n return 'https://twitter.com/share?url=' + url + '&text=' + enc(description) + (via ? '&via=' + via : '') + (hashtags ? '&hashtags=' + enc(hashtags) : '');\n },\n email: function email(_ref4) {\n var url = _ref4.url,\n title = _ref4.title;\n return 'mailto:?subject=' + title + '&body=' + url;\n },\n tumblr: function tumblr(_ref5) {\n var url = _ref5.url,\n title = _ref5.title,\n description = _ref5.description,\n image = _ref5.image;\n return 'https://www.tumblr.com/widgets/share/tool?posttype=photo&title=' + enc(title) + '&caption=' + enc(description) + '&content=' + image + '&photo-clickthru=' + url;\n }\n /**\n * Scrape head for all social meta tags\n */\n\n };\n\n var getMeta = function getMeta() {\n var meta = {};\n var metaTags = [].slice.call(document.head.getElementsByTagName('meta'));\n\n for (var i = 0; i < metaTags.length; i++) {\n var attributes = [].slice.call(metaTags[i].attributes);\n\n for (var a = 0; a < attributes.length; a++) {\n var attr = attributes[a];\n\n if (attr.nodeName.match(/name|property/) && attr.value.match(/twitter|og/)) {\n var property = attr.value.split(/^(\\w+\\:)/)[2];\n var selector = '[' + attr.nodeName + '=\"' + attr.value + '\"]';\n var propertyValue = document.head.querySelector(selector).getAttribute('content') || false;\n if (propertyValue) meta[property] = propertyValue;\n }\n }\n }\n\n return meta;\n };\n /**\n * Get names and values of all data-*\n * attributes on the share link\n *\n * @param {object} target The DOM node representing the social ink\n * @return {object}\n */\n\n\n var parseLocalData = function parseLocalData(target) {\n return Array.prototype.slice.call(target.attributes).reduce(function (prev, curr) {\n /data-/.test(curr.name) ? prev[curr.name.split(/data-/)[1]] = curr.value : null;\n return prev;\n }, {});\n };\n\n exports[\"default\"] = function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var selector = options.selector || 'data-social';\n var meta = getMeta();\n\n var update = function update() {\n meta = getMeta();\n bindLinks();\n };\n\n var bindLinks = function bindLinks() {\n var targets = [].slice.call(document.querySelectorAll('[' + selector + ']')) || [];\n\n var _loop = function _loop(i) {\n var target = targets[i];\n var network = target.getAttribute(selector);\n var data = merge(meta, parseLocalData(target));\n var url = networks[network](data);\n\n target.onclick = function (e) {\n e.preventDefault();\n e.stopPropagation();\n openPopup(url);\n };\n };\n\n for (var i = 0; i < targets.length; i++) {\n _loop(i);\n }\n };\n\n bindLinks();\n return {\n update: update,\n getMeta: getMeta\n };\n };\n }, {}]\n }, {}, [1])(1);\n});","/*!\n * reading-time\n * Copyright (c) Nicolas Gryman \n * MIT Licensed\n */\n'use strict';\n\nfunction ansiWordBound(c) {\n return ' ' === c || '\\n' === c || '\\r' === c || '\\t' === c;\n}\n\nfunction readingTime(text, options) {\n var words = 0,\n start = 0,\n end = text.length - 1,\n wordBound,\n i;\n options = options || {}; // use default values if necessary\n\n options.wordsPerMinute = options.wordsPerMinute || 200; // use provided function if available\n\n wordBound = options.wordBound || ansiWordBound; // fetch bounds\n\n while (wordBound(text[start])) {\n start++;\n }\n\n while (wordBound(text[end])) {\n end--;\n } // calculate the number of words\n\n\n for (i = start; i <= end;) {\n for (; i <= end && !wordBound(text[i]); i++) {\n ;\n }\n\n words++;\n\n for (; i <= end && wordBound(text[i]); i++) {\n ;\n }\n } // reading time stats\n\n\n var minutes = words / options.wordsPerMinute;\n var time = minutes * 60 * 1000;\n var displayed = Math.ceil(minutes.toFixed(2));\n return {\n text: displayed + ' min read',\n minutes: minutes,\n time: time,\n words: words\n };\n}\n/**\n * Export\n */\n\n\nmodule.exports = readingTime;"],"sourceRoot":""}