{"version":3,"sources":["webpack:///./src/utils/createCanonicalUrl.js","webpack:///./src/utils/toCommaSeparatedList.js","webpack:///./src/templates/components/NavigationFooter/NavigationFooter.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es.string.link.js","webpack:///./node_modules/gatsby-plugin-google-analytics/index.js","webpack:///./src/components/FeedbackForm/index.js","webpack:///./src/templates/docs.js","webpack:///./src/components/MarkdownPage/MarkdownPage.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es.function.name.js","webpack:///./src/components/FeedbackForm/FeedbackForm.js","webpack:///./src/components/MarkdownPage/index.js","webpack:///./src/templates/components/NavigationFooter/index.js"],"names":["slug","urlRoot","replace","addString","list","string","push","key","length","toCommaSeparatedList","array","renderCallback","map","forEach","item","index","NavigationFooter","next","prev","location","css","background","colors","dark","color","white","paddingTop","paddingBottom","type","halign","media","between","paddingRight","basis","SecondaryLabel","PrimaryLink","to","id","title","textAlign","propTypes","PropTypes","shape","isRequired","children","updatedUrl","pathname","display","borderColor","subtle","transition","fontSize","borderBottomWidth","borderBottomStyle","lessThan","size","brand","fonts","small","$","createHTML","target","proto","forced","forcedStringHTMLMethod","link","url","this","_interopRequireDefault","require","exports","__esModule","OutboundLink","trackCustomEvent","_ref","category","action","label","value","_ref$nonInteraction","nonInteraction","transport","hitCallback","_ref$callbackTimeout","callbackTimeout","window","ga","trackingEventOptions","eventCategory","eventAction","eventLabel","eventValue","callback","opt_timeout","called","raceCallback","setTimeout","createFunctionWithTimeout","_extends2","_objectWithoutPropertiesLoose2","_react","_propTypes","props","rest","default","createElement","onClick","e","redirect","button","altKey","ctrlKey","metaKey","shiftKey","defaultPrevented","toLowerCase","href","document","number","func","FeedbackForm","Docs","data","createLink","createLinkDocs","markdownRemark","sectionList","sectionListDocs","titlePostfix","object","pageQuery","getPageById","templateFile","sectionItems","section","items","flattenedSectionItems","concat","apply","linkId","find","MarkdownPage","authors","date","enableScrollSync","ogDescription","hasAuthors","titlePrefix","frontmatter","direction","grow","shrink","width","flex","position","zIndex","scrollMarginTop","header","ogType","canonicalUrl","createCanonicalUrl","fields","sharedStyles","articleLayout","container","marginTop","lineHeight","author","name","content","markdown","dangerouslySetInnerHTML","__html","html","path","whiteSpace","marginRight","editLink","sidebar","defaultActiveSection","findSectionForPath","DESCRIPTORS","defineProperty","f","FunctionPrototype","Function","prototype","FunctionPrototypeToString","toString","nameRE","configurable","get","call","match","error","useState","feedbackGiven","setFeedbackGiven","feedbackButton","marginLeft","aria-label","preventDefault","transform","focusable","xmlns","viewBox","d"],"mappings":"wHASe,aAACA,GAAD,OACL,MAARA,EAAe,KAAUC,IAAzB,IAAoCD,EAAKE,QAAQ,MAAO,M,mCCV1D,0BAWMC,EAAY,SAACC,EAAmBC,GAApB,OAChBD,EAAKE,KAAK,wBAAMC,IAAQH,EAAKI,OAAV,IAAoBH,GAAWA,KA2BrCI,IAzBc,SAC3BC,EACAC,GAEA,GAAID,EAAMF,QAAU,EAClB,OAAOE,EAAME,IAAID,GAGnB,IAAMP,EAAO,GAcb,OAZAM,EAAMG,SAAQ,SAACC,EAAMC,GACfA,IAAUL,EAAMF,OAAS,GAC3BL,EAAUC,EAAuB,IAAjBM,EAAMF,OAAe,QAAU,UAC/CJ,EAAKE,KAAKK,EAAeG,EAAMC,KACtBA,EAAQ,GACjBZ,EAAUC,EAAM,MAChBA,EAAKE,KAAKK,EAAeG,EAAMC,KAE/BX,EAAKE,KAAKK,EAAeG,EAAMC,OAI5BX,K,wLCvBHY,EAAmB,SAAC,GAA4B,IAAD,EAA1BC,EAA0B,EAA1BA,KAAMC,EAAoB,EAApBA,KAAMC,EAAc,EAAdA,SACrC,OACE,uBACEC,IAAK,CACHC,WAAYC,IAAOC,KACnBC,MAAOF,IAAOG,MACdC,WAAY,GACZC,cAAe,KAEjB,gBAAC,IAAD,KACE,gBAAC,IAAD,CACEC,KAAK,KACLC,OAAO,gBACPT,KAAG,OACAU,IAAMC,QAAQ,QAAS,WAAY,CAClCC,aAAc,KAFf,EAKAF,IAAMC,QAAQ,QAAS,kBAAmB,CACzCC,aAAc,KANf,EASAF,IAAMC,QAAQ,gBAAiB,gBAAgB,IAAQ,CACtDC,aAAc,KAVf,IAaH,gBAAC,IAAD,CAAMC,MAAM,MAAML,KAAK,MACpBV,GACC,2BACE,gBAACgB,EAAD,yBACA,uBACEd,IAAK,CACHM,WAAY,KAEd,gBAACS,EAAD,CAAahB,SAAUA,EAAUiB,GAAOlB,EAAKmB,GAAV,SAChCnB,EAAKoB,UAMfrB,GACC,gBAAC,IAAD,CACEY,OAAO,WACPI,MAAM,MACNL,KAAK,KACLR,IAAK,CACHmB,UAAW,UAEb,2BACE,gBAACL,EAAD,qBACA,uBACEd,IAAK,CACHM,WAAY,KAEd,gBAACS,EAAD,CAAahB,SAAUA,EAAUiB,GAAOnB,EAAKoB,GAAV,SAChCpB,EAAKqB,cAY1BtB,EAAiBwB,UAAY,CAC3BvB,KAAMwB,IAAUC,MAAM,CACpBL,GAAII,IAAUpC,OAAOsC,WACrBL,MAAOG,IAAUpC,OAAOsC,aAE1BzB,KAAMuB,IAAUC,MAAM,CACpBL,GAAII,IAAUpC,OAAOsC,WACrBL,MAAOG,IAAUpC,OAAOsC,cAIb3B,MAEf,IAAMmB,EAAc,SAAC,GAA8B,IAAD,EAA5BS,EAA4B,EAA5BA,SAAUR,EAAkB,EAAlBA,GAAIjB,EAAc,EAAdA,SAG5B0B,EACH1B,GAAYA,EAAS2B,SAAS5C,QAAQ,gBAAiB,IAAMkC,IAAQA,EACxE,OACE,gBAAC,OAAD,CACEhB,KAAG,GACD2B,QAAS,SACTC,YAAa1B,IAAO2B,OACpBC,WAAY,yBACZC,SAAU,GACVC,kBAAmB,EACnBC,kBAAmB,SANlB,EAQAvB,IAAMwB,SAAS,UAAW,CACzBH,SAAU,IATX,EAWArB,IAAMyB,KAAK,WAAY,CACtBJ,SAAU,IAZX,EAcD,UAAU,CACRH,YAAa1B,IAAOG,OAfrB,GAkBHW,GAAIS,GACHD,IAKDV,EAAiB,SAAC,GAAD,IAAEU,EAAF,EAAEA,SAAF,OACrB,uBACExB,IAAG,eACDI,MAAOF,IAAOkC,OACXC,IAAMC,QAEVd,M,wDClIL,IAAIe,EAAI,EAAQ,QACZC,EAAa,EAAQ,QAKzBD,EAAE,CAAEE,OAAQ,SAAUC,OAAO,EAAMC,OAJN,EAAQ,OAIMC,CAAuB,SAAW,CAC3EC,KAAM,SAAcC,GAClB,OAAON,EAAWO,KAAM,IAAK,OAAQD,O,kCCPzC,IAAIE,EAAyBC,EAAQ,QAErCC,EAAQC,YAAa,EACrBD,EAAQE,aAAeA,EACvBF,EAAQG,iBA0FR,SAA0BC,GACxB,IAAIC,EAAWD,EAAKC,SAChBC,EAASF,EAAKE,OACdC,EAAQH,EAAKG,MACbC,EAAQJ,EAAKI,MACbC,EAAsBL,EAAKM,eAC3BA,OAAyC,IAAxBD,GAAyCA,EAC1DE,EAAYP,EAAKO,UACjBC,EAAcR,EAAKQ,YACnBC,EAAuBT,EAAKU,gBAC5BA,OAA2C,IAAzBD,EAAkC,IAAOA,EAE/D,GAAsB,oBAAXE,QAA0BA,OAAOC,GAAI,CAC9C,IAAIC,EAAuB,CACzBC,cAAeb,EACfc,YAAab,EACbc,WAAYb,EACZc,WAAYb,EACZE,eAAgBA,EAChBC,UAAWA,GAGTC,GAAsC,mBAAhBA,IACxBK,EAAqBL,YAvGK,SAAmCU,EAAUC,QACvD,IAAhBA,IACFA,EAAc,KAGhB,IAAIC,GAAS,EAETC,EAAe,WACZD,IACHA,GAAS,EACTF,MAKJ,OADAI,WAAWD,EAAcF,GAClBE,EAwFgCE,CAA0Bf,EAAaE,IAG5EC,OAAOC,GAAG,OAAQ,QAASC,KAlH/B,IAAIW,EAAY9B,EAAuBC,EAAQ,SAE3C8B,EAAiC/B,EAAuBC,EAAQ,SAEhE+B,EAAShC,EAAuBC,EAAQ,SAExCgC,EAAajC,EAAuBC,EAAQ,SAoBhD,SAASG,EAAa8B,GACpB,IAAId,EAAgBc,EAAMd,cACtBC,EAAca,EAAMb,YACpBC,EAAaY,EAAMZ,WACnBC,EAAaW,EAAMX,WACnBY,GAAO,EAAIJ,EAA+BK,SAASF,EAAO,CAAC,gBAAiB,cAAe,aAAc,eAC7G,OAAoBF,EAAOI,QAAQC,cAAc,KAAK,EAAIP,EAAUM,SAAS,GAAID,EAAM,CACrFG,QAAS,SAAiBC,GACK,mBAAlBL,EAAMI,SACfJ,EAAMI,QAAQC,GAGhB,IAAIC,GAAW,EA6Bf,OA3BiB,IAAbD,EAAEE,QAAgBF,EAAEG,QAAUH,EAAEI,SAAWJ,EAAEK,SAAWL,EAAEM,UAAYN,EAAEO,oBAC1EN,GAAW,GAGTN,EAAMzC,QAAyC,UAA/ByC,EAAMzC,OAAOsD,gBAC/BP,GAAW,GAGTvB,OAAOC,GACTD,OAAOC,GAAG,OAAQ,QAAS,CACzBE,cAAeA,GAAiB,gBAChCC,YAAaA,GAAe,QAC5BC,WAAYA,GAAcY,EAAMc,KAChCzB,WAAYA,EACZV,UAAW2B,EAAW,SAAW,GACjC1B,YAAa,WACP0B,IACFS,SAASlG,SAAWmF,EAAMc,SAK5BR,IACFS,SAASlG,SAAWmF,EAAMc,OAIvB,MAKb5C,EAAahC,UAAY,CACvB4E,KAAMf,EAAWG,QAAQnG,OACzBwD,OAAQwC,EAAWG,QAAQnG,OAC3BmF,cAAea,EAAWG,QAAQnG,OAClCoF,YAAaY,EAAWG,QAAQnG,OAChCqF,WAAYW,EAAWG,QAAQnG,OAC/BsF,WAAYU,EAAWG,QAAQc,OAC/BZ,QAASL,EAAWG,QAAQe,O,kCCvF9B,gBAQeC,MAAf,G,kCCRA,kJAcMC,EAAO,SAAC,GAAD,IAAEC,EAAF,EAAEA,KAAMvG,EAAR,EAAQA,SAAR,OACX,gBAAC,IAAD,CAAQA,SAAUA,GAChB,gBAAC,IAAD,CACEwG,WAAYC,IACZzG,SAAUA,EACV0G,eAAgBH,EAAKG,eACrBC,YAAaC,IACbC,aAAa,eAKnBP,EAAKjF,UAAY,CACfkF,KAAMjF,IAAUwF,OAAOtF,YAGlB,IAAMuF,EAAS,aAiBPT,a,iQCZTU,EAAc,SAACL,EAA4BM,GAC/C,IAAKA,EACH,OAAO,KAGT,IAAMC,EAAeP,EAAYlH,KAAI,SAAA0H,GAAO,OAAIA,EAAQC,SAClDC,EAAwB,GAAGC,OAAOC,MAAM,GAAIL,GAC5CM,EAASP,EAAalI,QAAQ,QAAS,IAE7C,OAAOsI,EAAsBI,MAAK,SAAA9H,GAAI,OAAIA,EAAKuB,KAAOsG,MAyHzCE,IAtHM,SAAC,GAUR,IAAD,MATXC,eASW,MATD,GASC,EARXnB,EAQW,EARXA,WACAoB,EAOW,EAPXA,KACAC,EAMW,EANXA,iBACAC,EAKW,EALXA,cACA9H,EAIW,EAJXA,SACA0G,EAGW,EAHXA,eACAC,EAEW,EAFXA,YAEW,IADXE,oBACW,MADI,GACJ,EACLkB,EAAaJ,EAAQtI,OAAS,EAC9B2I,EAActB,EAAeuB,YAAY9G,OAAS,GAElDpB,EAAOiH,EAAYL,EAAaD,EAAeuB,YAAYlI,MAC3DD,EAAOkH,EAAYL,EAAaD,EAAeuB,YAAYnI,MAEjE,OACE,gBAAC,IAAD,CACEoI,UAAU,SACVC,KAAK,IACLC,OAAO,IACP1H,OAAO,UACPT,IAAK,CACHoI,MAAO,OACPC,KAAM,WACNC,SAAU,WACVC,OAAQ,EACR,yCACEC,gBAAiBnG,IAAMoG,OAAO1G,UADhC,EAGGrB,IAAMwB,SAAS,WAAY,CAC1BsG,gBAAiBnG,IAAMoG,OAAO/H,IAAMwB,SAAS,WAAWH,UAJ5D,KAQF,gBAAC,IAAD,CACE8F,cAAeA,EACfa,OAAO,UACPC,aAAcC,YAAmBnC,EAAeoC,OAAOjK,MACvDsC,MAAK,GAAK6G,EAAcnB,IAE1B,uBAAK5G,IAAK,CAACqI,KAAM,aACf,gBAAC,IAAD,KACE,uBAAKrI,IAAK8I,IAAaC,cAAcC,WACnC,gBAAC,IAAD,CAAMxI,KAAK,UAAUyH,UAAU,SAASC,KAAK,IAAIzH,OAAO,WACtD,gBAAC,IAAD,CAAgBS,MAAO6G,KAErBJ,GAAQG,IACR,uBAAK9H,IAAK,CAACiJ,UAAW,KACnBtB,EAAM,IACNG,GACC,wBAAM9H,IAAK,CAACkJ,WAAY,OAAxB,KACK,IACF7J,YAAqBqI,GAAS,SAAAyB,GAAM,OACnC,qBACEnJ,IAAK8I,IAAajG,KAClBmD,KAAMmD,EAAOnB,YAAYlF,IACzB3D,IAAKgK,EAAOnB,YAAYoB,MACvBD,EAAOnB,YAAYoB,WAQhC,uBAAKpJ,IAAK8I,IAAaC,cAAcM,SACnC,uBACErJ,IAAK,CAAC8I,IAAaQ,UACnBC,wBAAyB,CAACC,OAAQ/C,EAAegD,QAGlDhD,EAAeoC,OAAOa,MACrB,uBAAK1J,IAAK,CAACiJ,UAAW,KACpB,wBACEjJ,IAAK,CACH2J,WAAY,SACZpJ,cAAe,MACfqJ,YAAa,OACbjI,QAAS,eACTvB,MAAOF,IAAO2B,SAEhB,gBAAC,IAAD,OAEF,qBACE7B,IAAK8I,IAAaC,cAAcc,SAChC7D,KAAI,oDAAsDS,EAAeoC,OAAOa,MAFlF,qBAUR,uBAAK1J,IAAK8I,IAAaC,cAAce,SACnC,gBAAC,IAAD,CACElC,iBAAkBA,EAClBrB,WAAYA,EACZwD,qBAAsBC,YACpBjK,EAAS2B,SACTgF,GAEF3G,SAAUA,EACV2G,YAAaA,SAOrB7G,GAAQC,IACR,gBAAC,IAAD,CAAkBC,SAAUA,EAAUF,KAAMA,EAAMC,KAAMA,Q,2CC/JhE,IAAImK,EAAc,EAAQ,QACtBC,EAAiB,EAAQ,QAAuCC,EAEhEC,EAAoBC,SAASC,UAC7BC,EAA4BH,EAAkBI,SAC9CC,EAAS,wBAKTR,KAJO,SAIkBG,IAC3BF,EAAeE,EALN,OAK+B,CACtCM,cAAc,EACdC,IAAK,WACH,IACE,OAAOJ,EAA0BK,KAAK7H,MAAM8H,MAAMJ,GAAQ,GAC1D,MAAOK,GACP,MAAO,Q,mCCjBf,oDAuEe1E,IA3DM,WAAO,IAAD,EACiB2E,oBAAS,GAA5CC,EADkB,KACHC,EADG,KAGzB,OAAID,EACK,8BAGL,mDAEE,0BACEhL,IAAK,CAAC8I,IAAaC,cAAcmC,eAAgB,CAACC,WAAY,QAC9DC,aAAW,MACX9F,QAAS,SAAAC,GACPA,EAAE8F,iBACFhI,2BAAiB,CACfE,SAAU,kBACVC,OAAQ,WACRC,MAAOQ,OAAOlE,SAAS2B,SACvBgC,MAAO,IAETuH,GAAiB,KAEnB,uBACEjL,IAAK,CACHsL,UAAW,qBAEbC,UAAU,QACVC,MAAM,6BACNC,QAAQ,mBACR,wBAAMC,EAAE,k1CAGZ,0BACE1L,IAAK,CAAC8I,IAAaC,cAAcmC,eAAgB,CAACC,WAAY,QAC9DC,aAAW,KACX9F,QAAS,SAAAC,GACPA,EAAE8F,iBACFhI,2BAAiB,CACfE,SAAU,kBACVC,OAAQ,WACRC,MAAOQ,OAAOlE,SAAS2B,SACvBgC,MAAO,IAETuH,GAAiB,KAEnB,uBACEjL,IAAK,CACHsL,UAAW,mCAEbE,MAAM,6BACNC,QAAQ,mBACR,wBAAMC,EAAE,s1C,wDC/DpB,gBAQejE,MAAf,G,kCCRA,gBAQe7H,MAAf","file":"component---src-templates-docs-js-4759b63989dc3df5ad95.js","sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n * @flow\n */\n\nimport {urlRoot} from 'site-constants';\n\nexport default (slug: string): string | null =>\n slug == null ? null : `${urlRoot}/${slug.replace(/^\\//, '')}`;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n * @flow\n */\n\nimport React from 'react';\n\nimport type {Node} from 'react';\n\nconst addString = (list: Array, string: string) =>\n list.push({string});\n\nconst toCommaSeparatedList = (\n array: Array,\n renderCallback: Function,\n): Array => {\n if (array.length <= 1) {\n return array.map(renderCallback);\n }\n\n const list = [];\n\n array.forEach((item, index) => {\n if (index === array.length - 1) {\n addString(list, array.length === 2 ? ' and ' : ', and ');\n list.push(renderCallback(item, index));\n } else if (index > 0) {\n addString(list, ', ');\n list.push(renderCallback(item, index));\n } else {\n list.push(renderCallback(item, index));\n }\n });\n\n return list;\n};\n\nexport default toCommaSeparatedList;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n */\n\nimport Container from 'components/Container';\nimport Flex from 'components/Flex';\nimport {Link} from 'gatsby';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {colors, fonts, media} from 'theme';\n\nconst NavigationFooter = ({next, prev, location}) => {\n return (\n \n \n \n \n {prev && (\n
\n Previous article\n \n \n {prev.title}\n \n
\n \n )}\n
\n {next && (\n \n
\n Next article\n \n \n {next.title}\n \n
\n \n \n )}\n \n
\n \n );\n};\n\nNavigationFooter.propTypes = {\n next: PropTypes.shape({\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n }),\n prev: PropTypes.shape({\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n }),\n};\n\nexport default NavigationFooter;\n\nconst PrimaryLink = ({children, to, location}) => {\n // quick fix\n // TODO: replace this with better method of getting correct full url\n const updatedUrl =\n (location && location.pathname.replace(/\\/[^/]+\\.html/, '/' + to)) || to;\n return (\n \n {children}\n \n );\n};\n\nconst SecondaryLabel = ({children}) => (\n \n {children}\n \n);\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.link` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.link\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {\n link: function link(url) {\n return createHTML(this, 'a', 'href', url);\n }\n});\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.OutboundLink = OutboundLink;\nexports.trackCustomEvent = trackCustomEvent;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar createFunctionWithTimeout = function createFunctionWithTimeout(callback, opt_timeout) {\n if (opt_timeout === void 0) {\n opt_timeout = 1000;\n }\n\n var called = false;\n\n var raceCallback = function raceCallback() {\n if (!called) {\n called = true;\n callback();\n }\n };\n\n setTimeout(raceCallback, opt_timeout);\n return raceCallback;\n};\n\nfunction OutboundLink(props) {\n var eventCategory = props.eventCategory,\n eventAction = props.eventAction,\n eventLabel = props.eventLabel,\n eventValue = props.eventValue,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"eventCategory\", \"eventAction\", \"eventLabel\", \"eventValue\"]);\n return /*#__PURE__*/_react.default.createElement(\"a\", (0, _extends2.default)({}, rest, {\n onClick: function onClick(e) {\n if (typeof props.onClick === \"function\") {\n props.onClick(e);\n }\n\n var redirect = true;\n\n if (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || e.defaultPrevented) {\n redirect = false;\n }\n\n if (props.target && props.target.toLowerCase() !== \"_self\") {\n redirect = false;\n }\n\n if (window.ga) {\n window.ga(\"send\", \"event\", {\n eventCategory: eventCategory || \"Outbound Link\",\n eventAction: eventAction || \"click\",\n eventLabel: eventLabel || props.href,\n eventValue: eventValue,\n transport: redirect ? \"beacon\" : \"\",\n hitCallback: function hitCallback() {\n if (redirect) {\n document.location = props.href;\n }\n }\n });\n } else {\n if (redirect) {\n document.location = props.href;\n }\n }\n\n return false;\n }\n }));\n}\n\nOutboundLink.propTypes = {\n href: _propTypes.default.string,\n target: _propTypes.default.string,\n eventCategory: _propTypes.default.string,\n eventAction: _propTypes.default.string,\n eventLabel: _propTypes.default.string,\n eventValue: _propTypes.default.number,\n onClick: _propTypes.default.func\n};\n/**\n * This allows the user to create custom events within their Gatsby projects.\n *\n * @param {import('gatsby-plugin-google-analytics').CustomEventArgs} args\n * @see https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#events\n */\n\nfunction trackCustomEvent(_ref) {\n var category = _ref.category,\n action = _ref.action,\n label = _ref.label,\n value = _ref.value,\n _ref$nonInteraction = _ref.nonInteraction,\n nonInteraction = _ref$nonInteraction === void 0 ? false : _ref$nonInteraction,\n transport = _ref.transport,\n hitCallback = _ref.hitCallback,\n _ref$callbackTimeout = _ref.callbackTimeout,\n callbackTimeout = _ref$callbackTimeout === void 0 ? 1000 : _ref$callbackTimeout;\n\n if (typeof window !== \"undefined\" && window.ga) {\n var trackingEventOptions = {\n eventCategory: category,\n eventAction: action,\n eventLabel: label,\n eventValue: value,\n nonInteraction: nonInteraction,\n transport: transport\n };\n\n if (hitCallback && typeof hitCallback === \"function\") {\n trackingEventOptions.hitCallback = createFunctionWithTimeout(hitCallback, callbackTimeout);\n }\n\n window.ga(\"send\", \"event\", trackingEventOptions);\n }\n}","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n */\n\nimport FeedbackForm from './FeedbackForm';\n\nexport default FeedbackForm;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n */\n\nimport MarkdownPage from 'components/MarkdownPage';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {graphql} from 'gatsby';\nimport Layout from 'components/Layout';\nimport {createLinkDocs} from 'utils/createLink';\nimport {sectionListDocs} from 'utils/sectionList';\n\nconst Docs = ({data, location}) => (\n \n \n \n);\n\nDocs.propTypes = {\n data: PropTypes.object.isRequired,\n};\n\nexport const pageQuery = graphql`\n query TemplateDocsMarkdown($slug: String!) {\n markdownRemark(fields: {slug: {eq: $slug}}) {\n html\n frontmatter {\n title\n next\n prev\n }\n fields {\n path\n slug\n }\n }\n }\n`;\n\nexport default Docs;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n * @flow\n */\n\nimport Container from 'components/Container';\nimport Flex from 'components/Flex';\nimport MarkdownHeader from 'components/MarkdownHeader';\nimport NavigationFooter from 'templates/components/NavigationFooter';\n// $FlowFixMe Update Flow\nimport React from 'react';\nimport StickyResponsiveSidebar from 'components/StickyResponsiveSidebar';\nimport TitleAndMetaTags from 'components/TitleAndMetaTags';\nimport FeedbackForm from 'components/FeedbackForm';\nimport findSectionForPath from 'utils/findSectionForPath';\nimport toCommaSeparatedList from 'utils/toCommaSeparatedList';\nimport createCanonicalUrl from 'utils/createCanonicalUrl';\nimport {sharedStyles, colors, media, fonts} from 'theme';\n\nimport type {Node} from 'types';\n\ntype Props = {\n authors: Array,\n createLink: Function, // TODO: Add better flow type once we Flow-type createLink\n date?: string,\n enableScrollSync?: boolean,\n ogDescription: string,\n location: Location,\n markdownRemark: Node,\n sectionList: Array, // TODO: Add better flow type once we have the Section component\n titlePostfix: string,\n};\n\nconst getPageById = (sectionList: Array, templateFile: ?string) => {\n if (!templateFile) {\n return null;\n }\n\n const sectionItems = sectionList.map(section => section.items);\n const flattenedSectionItems = [].concat.apply([], sectionItems);\n const linkId = templateFile.replace('.html', '');\n\n return flattenedSectionItems.find(item => item.id === linkId);\n};\n\nconst MarkdownPage = ({\n authors = [],\n createLink,\n date,\n enableScrollSync,\n ogDescription,\n location,\n markdownRemark,\n sectionList,\n titlePostfix = '',\n}: Props) => {\n const hasAuthors = authors.length > 0;\n const titlePrefix = markdownRemark.frontmatter.title || '';\n\n const prev = getPageById(sectionList, markdownRemark.frontmatter.prev);\n const next = getPageById(sectionList, markdownRemark.frontmatter.next);\n\n return (\n \n \n
\n \n
\n \n \n\n {(date || hasAuthors) && (\n
\n {date}{' '}\n {hasAuthors && (\n \n by{' '}\n {toCommaSeparatedList(authors, author => (\n \n {author.frontmatter.name}\n \n ))}\n \n )}\n
\n )}\n\n
\n \n\n {markdownRemark.fields.path && (\n
\n \n \n \n \n Edit this page\n \n
\n )}\n
\n
\n\n
\n \n
\n
\n
\n
\n\n {(next || prev) && (\n \n )}\n \n );\n};\n\nexport default MarkdownPage;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n * @flow\n */\n\n// $FlowExpectedError\nimport React, {useState} from 'react';\nimport {trackCustomEvent} from 'gatsby-plugin-google-analytics';\nimport {sharedStyles} from 'theme';\n\nconst FeedbackForm = () => {\n const [feedbackGiven, setFeedbackGiven] = useState(false);\n\n if (feedbackGiven) {\n return 'Thanks for letting us know!';\n } else {\n return (\n \n Is this page useful?\n {\n e.preventDefault();\n trackCustomEvent({\n category: 'Feedback Button',\n action: 'feedback',\n label: window.location.pathname,\n value: 1,\n });\n setFeedbackGiven(true);\n }}>\n \n \n \n \n {\n e.preventDefault();\n trackCustomEvent({\n category: 'Feedback Button',\n action: 'feedback',\n label: window.location.pathname,\n value: 0,\n });\n setFeedbackGiven(true);\n }}>\n \n \n \n \n \n );\n }\n};\n\nexport default FeedbackForm;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n */\n\nimport MarkdownPage from './MarkdownPage';\n\nexport default MarkdownPage;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n */\n\nimport NavigationFooter from './NavigationFooter';\n\nexport default NavigationFooter;\n"],"sourceRoot":""}