{"version":3,"sources":["webpack://typescriptlang-org/./src/__generated__/allPages.ts","webpack://typescriptlang-org/./src/components/IntlLink.tsx","webpack://typescriptlang-org/./src/components/ShowExamples.tsx","webpack://typescriptlang-org/./src/components/layout/LanguageRecommendation.tsx","webpack://typescriptlang-org/./src/components/layout/TopNav.tsx","webpack://typescriptlang-org/./src/components/layout/stickyNavigation.ts","webpack://typescriptlang-org/./src/components/layout/SiteFooter-PlaygroundSamples.tsx","webpack://typescriptlang-org/./src/components/layout/SiteFooter-Customize.tsx","webpack://typescriptlang-org/./src/components/layout/SiteFooter.tsx","webpack://typescriptlang-org/./src/lib/whenEscape.ts","webpack://typescriptlang-org/./src/components/HeadSEO.tsx","webpack://typescriptlang-org/./src/components/layout/CookieBanner.tsx","webpack://typescriptlang-org/./src/components/layout.tsx","webpack://typescriptlang-org/./src/lib/createInternational.ts","webpack://typescriptlang-org/./src/lib/hasLocalStorage.ts","webpack://typescriptlang-org/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-fast-compare/index.js","webpack://typescriptlang-org/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-helmet/es/Helmet.js","webpack://typescriptlang-org/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-intl/lib/components/useIntl.js","webpack://typescriptlang-org/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-side-effect/lib/index.js","webpack://typescriptlang-org/./src/assets/microsoft-logo.png"],"names":["allFiles","createIntlLink","currentLocale","paths","linkProps","to","localeVersion","includes","find","blocked","href","Link","hrefForExample","example","lang","prefix","name","indexOf","hash","id","params","compilerSettings","q","Math","floor","random","queryParams","Object","keys","map","key","join","langPrefix","withPrefix","RenderExamples","props","useEffect","seenExamples","hasLocalStorage","examplesFromLS","localStorage","getItem","JSON","parse","document","querySelectorAll","forEach","e","getAttribute","seen","classList","add","locale","examples","english","sections","sectionID","localeSection","className","role","section","selectedClass","defaultSection","onClick","toLowerCase","replace","tappedButton","target","contentID","examplesParent","closest","allSectionTitles","allSections","remove","style","display","sectionForButton","stopPropagation","aria-selected","length","sectionDict","path","push","sortedSectionsDictionary","subsectionNames","sort","lhs","rhs","sortedSubSections","width","dangerouslySetInnerHTML","__html","subtitle","sectionName","sectionExamples","sortIndex","title","data-id","data-hash","LanguageRecommendations","window","innerWidth","suppressed","localePath","userLocale","navigator","language","userLanguage","userLang","split","thisPaths","location","pathname","pop","getLocaleVersionOfPage","startsWith","slice","f","inYourLanguage","quickJump","getElementById","quickJumpA","firstElementChild","textContent","shorthand","body","search","position","top","open","onclick","cancel","setItem","OpenInMyLangQuickJump","SiteNav","i","createInternational","useIntl","IntlLink","loadDocSearch","customHandleSelected","host","input","event","suggestion","datasetNumber","context","urlToOpen","url","docsearch","appId","apiKey","indexName","inputSelector","handleSelected","nav","Error","sideButton","previousY","updateNav","activeElement","nodeName","goingUp","pageYOffset","removeEventListener","capture","passive","addEventListener","setupStickyNavigation","searchScript","createElement","searchCSS","src","async","onload","rel","type","appendChild","dir","tabIndex","aria-label","fill","height","viewBox","xmlns","clipRule","d","fillRule","placeholder","PlaygroundSamples","getElementsByClassName","triggerAnchor","onfocus","popover","visibility","opacity","element","relatedTarget","tagName","contains","makeDark","documentElement","makeLight","Customize","systemIsDark","matchMedia","matches","customThemeOverride","useState","darkModeValue","setDarkMode","customFontOverride","fontValue","setFont","value","onChange","removeItem","reload","newStyle","old","popularPages","description","useTypeScriptLinks","communityLinks","SiteFooter","normalLinks","filter","l","playgroundExamples","func","onkeydown","evt","keyCode","hideDocs","suppressDocRecommendations","suppressCustomization","page","require","alt","Date","getFullYear","aria-haspopup","favicon","faviconForURL","favSpan","HeadSEO","ogTags","Helmet","titleTemplate","content","k","property","CookieBanner","WcpConsent","scriptLoaded","setScriptLoaded","htmlAttributes","onChangeClientState","newState","addedTags","scriptTags","foundScript","once","onConsentChanged","newConsent","isConsentRequired","init","err","_siteConsent","alert","verboseCookieLogging","Layout","as","children","intlUseEffect","obj","formatMessage","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","a","b","constructor","it","Array","isArray","size","entries","next","done","has","get","RegExp","source","flags","valueOf","prototype","toString","hasOwnProperty","call","$$typeof","module","exports","error","message","match","console","warn","clock","Component","_class","_temp","ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","REACT_TAG_MAP","accesskey","charset","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","reduce","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","_typeof","Symbol","iterator","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","_extends","assign","arguments","objectWithoutProperties","possibleConstructorReturn","self","ReferenceError","encodeSpecialCharacters","str","encode","undefined","String","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","current","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","tag","lowerCaseAttributeKey","concat","getTagsFromPropsList","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","rafPolyfill","now","callback","currentTime","setTimeout","cafPolyfill","clearTimeout","requestAnimationFrame","bind","webkitRequestAnimationFrame","mozRequestAnimationFrame","g","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","_helmetCallback","commitTagChanges","cb","baseTag","bodyAttributes","linkTags","metaTags","noscriptTags","styleTags","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","attributes","elementTag","getElementsByTagName","helmetAttributeString","helmetAttributes","attributesToRemove","attributeKeys","attribute","setAttribute","indexToSave","splice","_i","removeAttribute","tags","headElement","head","querySelector","tagNodes","indexToDelete","newElement","innerHTML","styleSheet","cssText","createTextNode","some","existingTag","index","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","attr","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","generateTagsAsReactComponent","attributeHtml","string","tagContent","isSelfClosing","generateTagsAsString","mapStateOnServer","_ref","_ref$title","base","link","meta","noscript","script","HelmetSideEffects","defer","HelmetExport","_React$Component","HelmetWrapper","this","apply","subClass","superClass","create","setPrototypeOf","__proto__","inherits","shouldComponentUpdate","nextProps","mapNestedChildrenToProps","child","nestedChildren","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_ref2","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","_this2","_child$props","initAttributes","convertReactPropstoHtmlAttributes","render","_props","set","canUseDOM","propTypes","defaultTitle","defaultProps","peek","rewind","mappedState","renderStatic","intl","useContext","ex","React","React__default","_defineProperty","reducePropsToState","handleStateChangeOnClient","WrappedComponent","state","mountedInstances","emitChange","SideEffect","_PureComponent","recordedState","_proto","UNSAFE_componentWillMount","componentDidUpdate","componentWillUnmount","PureComponent","displayName","getDisplayName"],"mappings":"6JAGO,IAAMA,EAAW,CAAC,kDACzB,qCACA,oDACA,wDACA,mDACA,qDACA,kDACA,2DACA,mDACA,mDACA,kDACA,8CACA,8CACA,kCACA,+BACA,gCACA,8BACA,oCACA,iCACA,+CACA,oCACA,gCACA,uCACA,gCACA,4BACA,kCACA,6CACA,kCACA,oDACA,0CACA,qCACA,gCACA,qDACA,mDACA,oCACA,yCACA,4CACA,0CACA,+BACA,+CACA,iCACA,4BACA,qCACA,6BACA,0BACA,6CACA,8BACA,iCACA,wCACA,wCACA,8CACA,qCACA,8BACA,oCACA,mDACA,yCACA,mDACA,4CACA,mDACA,mDACA,kDACA,mDACA,mDACA,mDACA,uCACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,8BACA,mDACA,mCACA,4CACA,4BACA,mDACA,0CACA,2BACA,sDACA,mDACA,6CACA,oCACA,qCACA,qCACA,yCACA,iCACA,+EACA,oEACA,8DACA,+CACA,uEACA,qEACA,qEACA,uCACA,8DACA,gDACA,6CACA,YACA,YACA,QACA,eACA,aACA,YACA,SACA,IACA,SACA,yBACA,kBACA,SACA,kBACA,OACA,aACA,aACA,sBACA,2BACA,gBACA,iBACA,yB,mGCrIaC,EAAiB,SAACC,GAC7B,IAAMC,EAAQH,IAEd,OAAO,SAACI,GACN,IAAIC,EAAKD,EAAUC,GAKbC,EAAgB,IAAMJ,EAAgBG,EACtB,OAAlBH,GAA0BC,EAAMI,SAASD,KAC3CD,EAAKC,GAOP,MAH0B,CAAC,QAAS,UAAW,QACTE,MAAK,SAAAC,GAAO,OAAIJ,EAAGE,SAASE,MAIzD,qCAAOL,EAAP,CAAkBM,KAAML,KAGxB,gBAAC,EAAAM,KAAD,iBAAUP,EAAV,CAAqBC,GAAIA,Q,2gsBChBtC,IAiBMO,EAAiB,SAACC,EAAkBC,GACxC,IACMC,GADwC,IAAjCF,EAAQ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","file":"28b1c059e7c205a6d05b694b6e39ba5800dfd976-a34e7d6f4964e6802d85.js","sourcesContent":["\n// Generated during bootstapping via pathsOnSiteTracker.ts\n \nexport const allFiles = [\"/docs/handbook/declaration-files/deep-dive.html\",\n\"/docs/handbook/nightly-builds.html\",\n\"/docs/handbook/declaration-files/consumption.html\",\n\"/docs/handbook/declaration-files/do-s-and-don-ts.html\",\n\"/docs/handbook/declaration-files/by-example.html\",\n\"/docs/handbook/declaration-files/introduction.html\",\n\"/docs/handbook/declaration-files/templates.html\",\n\"/docs/handbook/declaration-files/library-structures.html\",\n\"/docs/handbook/declaration-files/publishing.html\",\n\"/docs/handbook/typescript-in-5-minutes-func.html\",\n\"/docs/handbook/typescript-in-5-minutes-oop.html\",\n\"/docs/handbook/typescript-in-5-minutes.html\",\n\"/docs/handbook/typescript-from-scratch.html\",\n\"/docs/handbook/basic-types.html\",\n\"/docs/handbook/generics.html\",\n\"/docs/handbook/functions.html\",\n\"/docs/handbook/classes.html\",\n\"/docs/handbook/literal-types.html\",\n\"/docs/handbook/interfaces.html\",\n\"/docs/handbook/unions-and-intersections.html\",\n\"/docs/handbook/2/basic-types.html\",\n\"/docs/handbook/2/modules.html\",\n\"/docs/handbook/2/everyday-types.html\",\n\"/docs/handbook/2/classes.html\",\n\"/docs/handbook/intro.html\",\n\"/docs/handbook/2/functions.html\",\n\"/docs/handbook/2/understanding-errors.html\",\n\"/docs/handbook/2/narrowing.html\",\n\"/docs/handbook/declaration-files/dts-from-js.html\",\n\"/docs/handbook/2/type-declarations.html\",\n\"/docs/handbook/intro-to-js-ts.html\",\n\"/docs/handbook/2/objects.html\",\n\"/docs/handbook/type-checking-javascript-files.html\",\n\"/docs/handbook/integrating-with-build-tools.html\",\n\"/docs/handbook/tsconfig-json.html\",\n\"/docs/handbook/project-references.html\",\n\"/docs/handbook/jsdoc-supported-types.html\",\n\"/docs/handbook/declaration-merging.html\",\n\"/docs/handbook/esm-node.html\",\n\"/docs/handbook/iterators-and-generators.html\",\n\"/docs/handbook/decorators.html\",\n\"/docs/handbook/enums.html\",\n\"/docs/handbook/advanced-types.html\",\n\"/docs/handbook/mixins.html\",\n\"/docs/handbook/jsx.html\",\n\"/docs/handbook/namespaces-and-modules.html\",\n\"/docs/handbook/symbols.html\",\n\"/docs/handbook/namespaces.html\",\n\"/docs/handbook/configuring-watch.html\",\n\"/docs/handbook/module-resolution.html\",\n\"/docs/handbook/triple-slash-directives.html\",\n\"/docs/handbook/type-inference.html\",\n\"/docs/handbook/modules.html\",\n\"/docs/handbook/utility-types.html\",\n\"/docs/handbook/release-notes/typescript-1-1.html\",\n\"/docs/handbook/type-compatibility.html\",\n\"/docs/handbook/release-notes/typescript-1-3.html\",\n\"/docs/handbook/variable-declarations.html\",\n\"/docs/handbook/release-notes/typescript-1-4.html\",\n\"/docs/handbook/release-notes/typescript-1-5.html\",\n\"/docs/handbook/compiler-options-in-msbuild.html\",\n\"/docs/handbook/release-notes/typescript-1-7.html\",\n\"/docs/handbook/release-notes/typescript-1-6.html\",\n\"/docs/handbook/release-notes/typescript-2-0.html\",\n\"/docs/handbook/compiler-options.html\",\n\"/docs/handbook/release-notes/typescript-1-8.html\",\n\"/docs/handbook/release-notes/typescript-2-2.html\",\n\"/docs/handbook/release-notes/typescript-2-1.html\",\n\"/docs/handbook/release-notes/typescript-2-3.html\",\n\"/docs/handbook/release-notes/typescript-2-5.html\",\n\"/docs/handbook/release-notes/typescript-2-4.html\",\n\"/docs/handbook/release-notes/typescript-2-6.html\",\n\"/docs/handbook/release-notes/typescript-2-9.html\",\n\"/docs/handbook/release-notes/typescript-2-8.html\",\n\"/docs/handbook/release-notes/typescript-2-7.html\",\n\"/docs/handbook/release-notes/typescript-3-1.html\",\n\"/docs/handbook/release-notes/typescript-3-0.html\",\n\"/docs/handbook/release-notes/typescript-3-3.html\",\n\"/docs/handbook/release-notes/typescript-3-5.html\",\n\"/docs/handbook/release-notes/typescript-3-2.html\",\n\"/docs/handbook/release-notes/typescript-3-4.html\",\n\"/docs/handbook/release-notes/typescript-3-6.html\",\n\"/docs/handbook/release-notes/typescript-3-8.html\",\n\"/docs/handbook/release-notes/typescript-3-9.html\",\n\"/docs/handbook/release-notes/typescript-3-7.html\",\n\"/docs/handbook/release-notes/typescript-4-1.html\",\n\"/docs/handbook/release-notes/typescript-4-2.html\",\n\"/docs/handbook/release-notes/typescript-4-3.html\",\n\"/docs/handbook/release-notes/typescript-4-4.html\",\n\"/docs/handbook/release-notes/typescript-4-5.html\",\n\"/docs/handbook/release-notes/typescript-4-0.html\",\n\"/docs/handbook/angular.html\",\n\"/docs/handbook/release-notes/typescript-4-6.html\",\n\"/docs/handbook/asp-net-core.html\",\n\"/docs/handbook/babel-with-typescript.html\",\n\"/docs/handbook/react.html\",\n\"/docs/handbook/release-notes/typescript-4-8.html\",\n\"/docs/handbook/2/conditional-types.html\",\n\"/docs/handbook/gulp.html\",\n\"/docs/handbook/typescript-tooling-in-5-minutes.html\",\n\"/docs/handbook/release-notes/typescript-4-7.html\",\n\"/docs/handbook/2/indexed-access-types.html\",\n\"/docs/handbook/2/keyof-types.html\",\n\"/docs/handbook/2/typeof-types.html\",\n\"/docs/handbook/2/mapped-types.html\",\n\"/docs/handbook/2/types-from-types.html\",\n\"/docs/handbook/2/generics.html\",\n\"/docs/handbook/declaration-files/templates/global-modifying-module-d-ts.html\",\n\"/docs/handbook/declaration-files/templates/module-class-d-ts.html\",\n\"/docs/handbook/declaration-files/templates/global-d-ts.html\",\n\"/docs/handbook/2/template-literal-types.html\",\n\"/docs/handbook/declaration-files/templates/module-function-d-ts.html\",\n\"/docs/handbook/declaration-files/templates/global-plugin-d-ts.html\",\n\"/docs/handbook/declaration-files/templates/module-plugin-d-ts.html\",\n\"/docs/handbook/dom-manipulation.html\",\n\"/docs/handbook/declaration-files/templates/module-d-ts.html\",\n\"/docs/handbook/migrating-from-javascript.html\",\n\"/docs/handbook/release-notes/overview.html\",\n\"/tsconfig\",\n\"/glossary\",\n\"/play\",\n\"/cheatsheets\",\n\"/community\",\n\"/download\",\n\"/empty\",\n\"/\",\n\"/tools\",\n\"/why-create-typescript\",\n\"/docs/bootstrap\",\n\"/docs/\",\n\"/docs/handbook/\",\n\"/dt/\",\n\"/dt/search\",\n\"/branding/\",\n\"/dev/bug-workbench/\",\n\"/dev/playground-plugins/\",\n\"/dev/sandbox/\",\n\"/dev/twoslash/\",\n\"/dev/typescript-vfs/\",]","import * as React from \"react\"\nimport { GatsbyLinkProps, Link } from \"gatsby\"\nimport { allFiles } from \"../__generated__/allPages\"\n\n/** \n * Creates a which supports gradual migration, you provide a link to the english page and\n * if the page supports the same version but in your language, it opts for that.\n */\nexport const createIntlLink = (currentLocale: string) => {\n const paths = allFiles\n\n return (linkProps: GatsbyLinkProps<{}>) => {\n let to = linkProps.to\n\n // /thing -> /ja/thing\n // This occurs when we want URL compat with old site\n\n const localeVersion = \"/\" + currentLocale + to\n if (currentLocale !== \"en\" && paths.includes(localeVersion)) {\n to = localeVersion\n }\n\n // This effectively needs to be duplicated in gatsby-config.js too\n const blocklistIncludes = [\"/play\", \"sandbox\", \"/dev\"]\n const blocklisted = blocklistIncludes.find(blocked => to.includes(blocked))\n\n if (blocklisted) {\n // @ts-ignore\n return \n } else {\n // @ts-ignore\n return \n }\n }\n}\n\n\n","import React, { useEffect } from \"react\"\nimport { withPrefix } from \"gatsby\"\nimport \"./ShowExamples.scss\"\n\n// @ts-ignore - this is a fallback to english\nimport english from \"../../static/js/examples/en\"\nimport { hasLocalStorage } from \"../lib/hasLocalStorage\"\n\ninterface SamplesJSON {\n sections: { name: string, subtitle: string, id?: string }[]\n sortedSubSections: string[]\n examples: { path: string, title: string, name: string, id: string, sortIndex: number, hash: string, compilerSettings: any }[]\n}\ntype Example = SamplesJSON[\"examples\"][0]\n\nconst sortedSectionsDictionary = (locale: SamplesJSON, section: SamplesJSON[\"sections\"][0]) => {\n const sectionDict = {}\n locale.examples.forEach(e => {\n // Allow switching a \"-\" to \".\" so that titles can have\n // a dot for version numbers, this own works once.\n if (e.path[0] === section.name.replace(\".\", \"-\") || e.path[0] === section.id) {\n if (sectionDict[e.path[1]]) {\n sectionDict[e.path[1]].push(e)\n } else {\n sectionDict[e.path[1]] = [e]\n }\n }\n\n })\n return sectionDict\n}\n\nconst hrefForExample = (example: Example, lang: string) => {\n const isJS = example.name.indexOf(\".js\") !== -1\n const prefix = isJS ? \"useJavaScript=true\" : \"\"\n const hash = \"example/\" + example.id\n const params = example.compilerSettings || {}\n params.q = Math.floor(Math.random() * 512)\n const queryParams = Object.keys(params).map(key => key + '=' + params[key]).join('&');\n const langPrefix = lang === \"en\" ? \"\" : lang\n return withPrefix(`${langPrefix}/play/?${prefix + queryParams}#${hash}`)\n}\n\n\nconst buttonOnClick = (id: string) => (e) => {\n const tappedButton = e.target\n const contentID = id\n const examplesParent = tappedButton.closest(\".examples\")\n\n const allSectionTitles = examplesParent.querySelectorAll(\".section-name\")\n const allSections = examplesParent.querySelectorAll(\".section-content\")\n\n // @ts-ignore\n for (const title of allSectionTitles) { title.classList.remove(\"selected\") }\n tappedButton.classList.add(\"selected\")\n\n // @ts-ignore\n for (const section of allSections) {\n section.style.display = \"none\"\n section.classList.remove(\"selected\")\n }\n\n const sectionForButton = examplesParent.querySelectorAll(\".button-\" + contentID)[0] // document.getElementById(contentID)\n if (sectionForButton) {\n sectionForButton.style.display = \"flex\"\n sectionForButton.classList.add(\"selected\")\n }\n\n if (e && e.stopPropagation) {\n e.stopPropagation()\n }\n}\n\nexport type Props = {\n defaultSection: string\n sections: string[]\n\n locale?: string\n /** DI'd copy of the examples, or fallback to eng */\n examples?: typeof import(\"../../static/js/examples/en.json\")\n}\n\nexport const RenderExamples = (props: Props) => {\n\n useEffect(() => {\n // Update the dots after it's loaded and running in the client instead\n let seenExamples = {}\n\n if (hasLocalStorage) {\n const examplesFromLS = localStorage.getItem(\"examples-seen\") || \"{}\"\n seenExamples = JSON.parse(examplesFromLS)\n }\n\n document.querySelectorAll(\".example-indicator\").forEach(e => {\n const id = e.getAttribute(\"data-id\")\n if (id) {\n const seen = seenExamples[id]\n if (seen) {\n const hash = e.getAttribute(\"data-hash\")\n e.classList.add(hash === seen ? \"done\" : \"changed\")\n }\n }\n })\n })\n\n const lang = props.locale || \"en\"\n const locale = props.examples || english\n const sections = props.sections.map(sectionID => locale.sections.find(localeSection => sectionID === localeSection.id) || english.sections.find(localeSection => sectionID === localeSection.id))\n return (\n
\n
\n {sections.map(section => {\n const startOpen = section.id === props.defaultSection\n const selectedClass = startOpen ? \" selected\" : \"\"\n return (\n \n )\n }\n )}\n
\n\n {sections.map(section => {\n const sectionDict = sortedSectionsDictionary(locale, section)\n const subsectionNames = Object.keys(sectionDict).sort((lhs, rhs) => locale.sortedSubSections.indexOf(lhs) - locale.sortedSubSections.indexOf(rhs))\n const startOpen = section.id === props.defaultSection\n const style = startOpen ? {} : { display: \"none\" }\n\n return
\n

\n\n {subsectionNames.map(sectionName => {\n const sectionExamples = sectionDict[sectionName].sort((lhs, rhs) => lhs.sortIndex - rhs.sortIndex) as Example[]\n\n return

\n

{sectionName}

\n
    \n {sectionExamples.map(example =>\n
  1. \n {example.title}\n
    \n
  2. )\n }\n
\n
\n })}\n
\n })}\n
)\n}\n","import React, { useEffect } from \"react\"\n\nimport \"./Sidebar.scss\"\nimport { SeoProps } from \"../HeadSEO\"\nimport { inYourLanguage } from \"../../copy/inYourLanguage\";\nimport { hasLocalStorage } from \"../../lib/hasLocalStorage\";\nimport { allFiles } from \"../../__generated__/allPages\"\n\ntype Props = SeoProps & {\n lang: string,\n children: any\n}\n\nconst getLocaleVersionOfPage = () => {\n // @ts-ignore \n const userLocale = navigator.language || navigator.userLanguage || \"en-UK\"\n const userLang = userLocale.split(\"-\")[0]\n const thisPaths = location.pathname.split(\"/\")\n\n // / -> /es\n if (thisPaths.length === 0) {\n return \"/\" + userLocale\n }\n\n const isEnglishPath = thisPaths[1].length !== 2\n\n // /play -> /zh/play\n if (isEnglishPath) {\n return \"/\" + userLang + location.pathname\n }\n\n // /zh/play -> /es/play\n thisPaths[1] = userLang\n // Drop any preceding /s\n if (thisPaths[thisPaths.length - 1] === \"\") thisPaths.pop()\n\n return thisPaths.join(\"/\")\n}\n\nexport const LanguageRecommendations = (props: Props) => {\n useEffect(() => {\n // Don't mess with the mobile UI\n const isSmall = window.innerWidth < 800\n if (isSmall) return\n\n\n const suppressed = hasLocalStorage && localStorage.getItem(\"dont-recommend-translate\")\n\n let localePath = getLocaleVersionOfPage()\n if (localePath.startsWith(\"/en\")) {\n localePath = localePath.slice(3)\n }\n\n // Heh, ignore dt urls\n if (localePath.startsWith(\"/dt\")) return\n\n if (localePath === \"\") localePath = \"/\"\n if (localePath === location.pathname) return\n\n const doesPageExist = allFiles.find(f => f === localePath || f + \"/\" === localePath)\n if (!doesPageExist) return\n\n //@ts-ignore\n const userLocale = navigator.language || navigator.userLanguage || \"en-UK\"\n const userLang = userLocale.split(\"-\")[0]\n const lang = inYourLanguage[userLang] || inYourLanguage[\"todo\"]\n\n // Show the top nav anchor for in your language\n const quickJump = document.getElementById(\"my-lang-quick-jump\")!\n const quickJumpA = quickJump.firstElementChild as HTMLAnchorElement\n\n quickJumpA.textContent = lang.shorthand !== \"In xx\" ? lang.shorthand : `In ${userLang}`\n quickJumpA.href = localePath\n quickJump.title = lang.body\n quickJump.style.display = \"inline-block\";\n\n // Adding the LI somehow makes the search bump up by 2px\n const search = document.getElementById(\"search-form\")!\n search.style.position = \"relative\"\n search.style.top = \"-2px\"\n\n // Allow not showing the popout\n if (suppressed) return\n\n document.getElementById(\"language-recommendation-p\")!.textContent = lang.body\n const open = document.getElementById(\"language-recommendation-open\")!\n open.textContent = lang.open\n open.onclick = () => document.location.pathname = localePath\n\n const cancel = document.getElementById(\"language-recommendation-no-more\")!\n cancel.textContent = lang.cancel\n cancel.onclick = () => {\n hasLocalStorage && localStorage.setItem(\"dont-recommend-translate\", \"true\")\n document.getElementById(\"language-recommendation\")!.style.display = \"none\"\n }\n\n document.getElementById(\"language-recommendation\")!.style.display = \"block\"\n }, [])\n\n return (\n
\n

MSG

\n
\n \n \n
\n
\n )\n}\n\nexport const OpenInMyLangQuickJump = () =>\n
in En
\n","import React, { useEffect } from \"react\"\nimport { withPrefix } from \"gatsby\"\n\nimport \"./TopNav.scss\"\nimport { setupStickyNavigation } from \"./stickyNavigation\";\nimport { useIntl } from \"react-intl\";\nimport { createIntlLink } from \"../IntlLink\";\n\nexport type Props = {\n lang: string\n}\n\nimport { navCopy } from \"../../copy/en/nav\"\nimport { createInternational } from \"../../lib/createInternational\"\nimport { OpenInMyLangQuickJump } from \"./LanguageRecommendation\";\n\nexport const SiteNav = (props: Props) => {\n const i = createInternational(useIntl())\n const IntlLink = createIntlLink(props.lang)\n const loadDocSearch = () => {\n const isDev = document.location.host.includes('localhost')\n let customHandleSelected;\n\n if (isDev) {\n customHandleSelected = (input, event, suggestion, datasetNumber, context) => {\n const urlToOpen = suggestion.url.replace(\"www.typescriptlang.org\", \"localhost:8000\").replace(\"https\", \"http\")\n window.open(urlToOpen)\n }\n }\n\n // @ts-ignore - this comes from the script above\n docsearch({\n appId: \"BGCDYOIYZ5\",\n apiKey: '37ee06fa68db6aef451a490df6df7c60',\n indexName: 'typescriptlang',\n inputSelector: '.search input',\n handleSelected: customHandleSelected,\n });\n }\n // This extra bit of mis-direction ensures that non-essential code runs after\n // the page is loaded\n useEffect(() => {\n setupStickyNavigation()\n\n // @ts-ignore - this comes from the script above\n if (window.docsearch) {\n loadDocSearch();\n }\n if (document.getElementById(\"algolia-search\")) return\n\n const searchScript = document.createElement('script');\n searchScript.id = \"algolia-search\"\n const searchCSS = document.createElement('link');\n\n searchScript.src = withPrefix(\"/js/docsearch.js\");\n searchScript.async = true;\n searchScript.onload = () => {\n // @ts-ignore - this comes from the script above\n if (window.docsearch) {\n loadDocSearch();\n\n searchCSS.rel = 'stylesheet';\n searchCSS.href = withPrefix('/css/docsearch.css');\n searchCSS.type = 'text/css';\n document.body.appendChild(searchCSS);\n\n document.getElementById(\"search-form\")?.classList.add(\"search-enabled\")\n }\n }\n\n document.body.appendChild(searchScript);\n }, []);\n\n\n return (\n
\n {i(\"skip_to_content\")}\n\n
\n
\n\n \n \n TypeScript\n \n\n \n\n
\n\n\n
\n
\n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n\n
\n
\n )\n}\n","export function setupStickyNavigation() {\n const nav = document.getElementById(\"top-menu\")\n if (!nav) throw new Error(\"Didn't find a nav\")\n\n const sideButton = document.getElementById(\"small-device-button-sidebar\")\n let previousY = 9999\n\n const updateNav = () => {\n // iOS scrolls to make sure the viewport fits, don't hide the input then\n const hasKeyboardFocus =\n document.activeElement &&\n (document.activeElement.nodeName === \"INPUT\" ||\n document.activeElement.nodeName === \"TEXTAREA\")\n\n if (hasKeyboardFocus) {\n return\n }\n\n const showNav = () => {\n nav.classList.add(\"down\")\n nav.classList.remove(\"up\")\n sideButton?.classList.add(\"hidden\")\n }\n\n const hideNav = () => {\n nav.classList.add(\"up\")\n nav.classList.remove(\"down\")\n sideButton?.classList.remove(\"hidden\")\n }\n\n const goingUp = window.pageYOffset > 1 && window.pageYOffset > previousY\n previousY = window.pageYOffset\n\n if (goingUp) {\n showNav()\n } else {\n hideNav()\n }\n }\n\n // Non-blocking nav change\n document.removeEventListener(\"scroll\", updateNav, {\n capture: true,\n passive: true,\n } as any)\n\n document.addEventListener(\"scroll\", updateNav, {\n capture: true,\n passive: true,\n })\n}\n","import React, { useEffect } from \"react\"\n\nimport { RenderExamples } from \"../ShowExamples\"\n\ninterface Props {\n lang: string\n}\n\nexport const PlaygroundSamples = (props: Props) => {\n\n // This ensures that the popover only becomes available when JS is enabled\n\n useEffect(() => {\n // Only allow hovering on wider windows \n const allowHover = window.innerWidth > 900\n if (!allowHover) {\n (document.getElementById(\"playground-samples-popover\") as any).style.display = \"none\"\n return\n }\n\n // Visually enable the popover icon\n const iconSpan = document.getElementsByClassName(\"footer-icon\")[0] as HTMLElement\n iconSpan.style.display = \"inline-block\"\n\n // This is all that is needed for the mouse hover\n // @ts-ignore\n for (const element of document.getElementsByClassName(\"popover-container\")) {\n element.classList.add(\"allow-hover\")\n }\n\n // This is used to handle tabbing\n const showPopover = () => {\n const popover = document.getElementById(\"playground-samples-popover\")\n if (!popover) throw new Error(\"No popover found\")\n popover.style.visibility = \"visible\"\n popover.style.opacity = \"1\"\n\n // When the popover is up, allow tabbing through all of the items to hide the popover\n popover.addEventListener(\"blur\", (e) => {\n const element = e.relatedTarget as HTMLElement\n if (!element || element.tagName === \"A\" && !element.classList.contains(\"example-link\")) {\n popover.style.visibility = \"hidden\"\n }\n }, true);\n }\n\n const triggerAnchor = document.getElementById(\"popover-trigger-anchor\")\n if (!triggerAnchor) throw new Error(\"No trigger anchor found\")\n triggerAnchor.onfocus = showPopover\n }, []);\n\n return (\n
\n \n
\n
)\n}\n","import * as React from \"react\"\nimport { useState } from \"react\"\nimport { hasLocalStorage } from \"../../lib/hasLocalStorage\"\n\nimport { useIntl } from \"react-intl\";\n\nimport { footerCopy } from \"../../copy/en/footer\"\nimport { createInternational } from \"../../lib/createInternational\"\n\nconst makeDark = () => {\n document.documentElement.classList.remove(\"light-theme\")\n document.documentElement.classList.add(\"dark-theme\")\n}\n\nconst makeLight = () => {\n document.documentElement.classList.remove(\"dark-theme\")\n document.documentElement.classList.add(\"light-theme\")\n}\n\nconst switchFont = (newStyle: string, old?: string) => {\n if (old) document.documentElement.classList.remove(\"font-\" + old)\n document.documentElement.classList.add(\"font-\" + newStyle)\n}\n\nexport const Customize = () => {\n const i = createInternational(useIntl())\n const systemIsDark = typeof window !== 'undefined' && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n const customThemeOverride = hasLocalStorage && localStorage.getItem(\"force-color-theme\") || \"system\"\n const [darkModeValue, setDarkMode] = useState(customThemeOverride)\n\n const customFontOverride = hasLocalStorage && localStorage.getItem(\"force-font\") || \"cascadia\"\n const [fontValue, setFont] = useState(customFontOverride)\n\n // Localstorage: force-dark, force-light, undefined \n // ->\n // CSS Body class: theme-dark, theme-light, theme-dark | theme-light \n\n const handleThemeChange = (event: React.ChangeEvent) => {\n if (event.target.value === \"system\") {\n systemIsDark ? makeDark() : makeLight()\n hasLocalStorage && localStorage.removeItem(\"force-color-theme\")\n } else if (event.target.value === \"force-light\") {\n makeLight()\n hasLocalStorage && localStorage.setItem(\"force-color-theme\", \"force-light\")\n } else if (event.target.value === \"force-dark\") {\n makeDark()\n hasLocalStorage && localStorage.setItem(\"force-color-theme\", \"force-dark\")\n }\n\n setDarkMode(event.target.value)\n if (\"playground\" in window) document.location.reload()\n }\n\n\n // Localstorage: undefined, cascadia, cascadia-ligatures, consolas, ...\n // ->\n // CSS Body class: font-cascadia, font-cascadia, font-cascadia-ligatures | font-consolas, ...\n\n const handleFontChange = (event: React.ChangeEvent) => {\n localStorage.setItem(\"force-font\", event.target.value)\n switchFont(event.target.value, customFontOverride)\n setFont(event.target.value)\n\n if (\"playground\" in window) document.location.reload()\n }\n\n\n return (\n
\n
\n

{i(\"footer_customize\")}

\n \n\n \n
\n
\n )\n}\n","import * as React from \"react\"\nimport { useEffect } from \"react\"\n\nimport \"./SiteFooter.scss\"\nimport { PlaygroundSamples } from \"./SiteFooter-PlaygroundSamples\"\nimport { createIntlLink } from \"../IntlLink\"\nimport { whenEscape } from \"../../lib/whenEscape\"\nimport { Customize } from \"./SiteFooter-Customize\"\n\nexport type Props = {\n lang: string\n suppressCustomization?: true\n suppressDocRecommendations?: true\n}\n\nconst popularPages = [\n {\n title: \"Everyday Types\",\n url: \"/docs/handbook/2/everyday-types.html\",\n description: \"All of the common types in TypeScript\",\n },\n {\n title: \"Creating Types from Types\",\n url: \"/docs/handbook/2/types-from-types.html\",\n description: \"Techniques to make more elegant types\",\n },\n {\n title: \"More on Functions\",\n url: \"/docs/handbook/2/functions.html\",\n description: \"How to provide types to functions in JavaScript\",\n },\n {\n title: \"More on Objects\",\n url: \"/docs/handbook/2/objects.html\",\n description: \"How to provide a type shape to JavaScript objects\",\n },\n {\n title: \"Narrowing\",\n url: \"/docs/handbook/2/narrowing.html\",\n description: \"How TypeScript infers types based on runtime behavior\",\n },\n {\n title: \"Variable Declarations\",\n url: \"/docs/handbook/variable-declarations.html\",\n description: \"How to create and type JavaScript variables\",\n },\n {\n title: \"TypeScript in 5 minutes\",\n url: \"/docs/handbook/typescript-in-5-minutes.html\",\n description: \"An overview of building a TypeScript web app\",\n },\n {\n title: \"TSConfig Options\",\n url: \"/tsconfig\",\n description: \"All the configuration options for a project\",\n },\n {\n title: \"Classes\",\n url: \"/docs/handbook/2/classes.html\",\n description: \"How to provide types to JavaScript ES6 classes\",\n },\n]\n\nconst useTypeScriptLinks = [\n {\n title: \"开始\",\n url: \"/docs/home\",\n },\n {\n title: \"下载\",\n url: \"/download\",\n },\n {\n title: \"社区\",\n url: \"/community\",\n },\n {\n title: \"演练场\",\n url: \"/play/\",\n },\n {\n title: \"TSConfig参考\",\n url: \"/tsconfig\",\n },\n {\n title: \"代码示例\",\n url: \"/play/#show-examples\",\n },\n {\n title: \"为什么选择TypeScript\",\n url: \"/why-create-typescript\",\n },\n {\n title: \"设计\",\n url: \"/branding\",\n },\n]\n\nconst communityLinks = [\n {\n title: \"获取帮助\",\n url: \"/community\",\n },\n {\n title: \"博客\",\n url: \"https://devblogs.microsoft.com/typescript/\",\n },\n {\n title: \"GitHub 仓库\",\n url: \"https://github.com/microsoft/TypeScript/#readme\",\n },\n {\n title: \"社区聊天\",\n url: \"https://discord.gg/typescript\",\n },\n {\n title: \"@TypeScript\",\n url: \"https://twitter.com/TypeScript\",\n },\n {\n title: \"Stack Overflow\",\n url: \"https://stackoverflow.com/questions/tagged/typescript\",\n },\n \n]\n\nconst faviconForURL = (url: string) => {\n switch (url) {\n case \"https://github.com/microsoft/TypeScript-Website\":\n case \"https://github.com/microsoft/TypeScript/#readme\":\n return (\n \n \n \n )\n case \"https://twitter.com/TypeScript\":\n return (\n \n \n \n )\n case \"https://discord.gg/typescript\":\n return (\n \n \n \n )\n case \"https://stackoverflow.com/questions/tagged/typescript\":\n return (\n \n \n \n )\n }\n}\n\nexport const SiteFooter = (props: Props) => {\n const normalLinks = useTypeScriptLinks.filter(\n l => !l.url.includes(\"#show-examples\")\n )\n const playgroundExamples = useTypeScriptLinks.find(l =>\n l.url.includes(\"#show-examples\")\n )!\n\n const Link = createIntlLink(props.lang)\n\n useEffect(() => {\n // Handle escape closing dropdowns etc\n document.onkeydown = whenEscape(() => {\n document.getElementById(\"playground-samples-popover\")!.style.visibility = \"hidden\"\n })\n }, [])\n\n const hideDocs = props.suppressDocRecommendations\n return (\n
\n {props.suppressCustomization ? null : }\n\n {hideDocs ? null :\n
\n

Popular Documentation Pages

\n
    \n {popularPages.map(page => (\n
  • \n {page.title}\n

    {page.description}

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

TypeScript中文网 官网 中文文档

\n\n \n \n \n

\n © 2012-{new Date().getFullYear()} \n
\n \n TypeScript中文网\n \n

\n
\n\n
\n

使用 TypeScript

\n
    \n {normalLinks.map(page => (\n
  • \n {page.title}\n
  • \n ))}\n
  • \n \n \n {playgroundExamples.title}\n \n \n
  • \n
\n
\n\n
\n

社区

\n
    \n {communityLinks.map(page => {\n const favicon = faviconForURL(page.url)\n const favSpan = favicon ? ({favicon}) : null\n return (\n
  • \n \n {favSpan}\n {page.title}\n \n
  • \n )\n })}\n
\n
\n
\n\n
\n )\n}\n","/**\n * Runs the closure when escape is tapped\n * @param func closure to run on escape being pressed\n */\nexport const whenEscape = (func: () => void) => (event: KeyboardEvent) => {\n const evt = event || window.event\n let isEscape = false\n if (\"key\" in evt) {\n isEscape = evt.key === \"Escape\" || evt.key === \"Esc\"\n } else {\n // @ts-ignore - this used to be the case\n isEscape = evt.keyCode === 27\n }\n if (isEscape) {\n func()\n }\n}\n","import * as React from \"react\"\nimport { Helmet } from \"react-helmet\";\n\nexport type SeoProps = {\n title: string\n description: string\n ogTags?: { [key: string]: string }\n}\n\nexport const HeadSEO = (props: SeoProps) => {\n\n const ogTags = {\n ...props.ogTags,\n \"og:title\": props.title,\n \"og:description\": props.description,\n \"twitter:site\": \"typescriptlang\",\n }\n\n // Skip search engine indexing on the staging site, this is changed by running:\n // yarn workspace typescriptlang-org setup-staging\n const staging = false;\n\n // do we want localized pages to be the english version?\n //{seo.url && }\n\n // TODO: a lot of pages should have this\n // \n\n // TODO: Maybe on prod we can generate an image for each file\n // \n\n return (\n <>\n \n \n { staging ? : null }\n {\n Object.keys(ogTags).map(k => )\n }\n \n \n )\n}\n","// https://www.1eswiki.com/wiki/WCP_Cookie_Consent_API#Cookie_Consent_Library_-_JavaScript\n\nimport * as React from \"react\"\nimport \"./cookie.scss\"\nimport { useState } from \"react\"\nimport { Helmet } from \"react-helmet\"\n\ndeclare const WcpConsent: any\n\nexport const CookieBanner = (props: { lang: string }) => {\n const [scriptLoaded, setScriptLoaded] = useState(typeof window !== 'undefined' && typeof WcpConsent !== 'undefined')\n const handleChangeClientState = (newState, addedTags) => {\n if (addedTags && addedTags.scriptTags) {\n const foundScript = addedTags.scriptTags.find(({ src }) => src === \"https://consentdeliveryfd.azurefd.net/mscc/lib/v2/wcp-consent.js\")\n if (foundScript) {\n foundScript.addEventListener('load', () => setScriptLoaded(true), { once: true })\n }\n }\n }\n\n const verboseCookieLogging = () => {\n let siteConsent\n // If they ship a bad build of the cookie banner, then even though the script is fully there\n // the global symbols won't be there\n if (typeof WcpConsent === 'undefined' || !WcpConsent) return\n WcpConsent.init(\"en-US\", \"cookie-banner\", (err, _siteConsent) => {\n if (err) {\n alert(err);\n } else {\n siteConsent = _siteConsent!;\n onConsentChanged(siteConsent)\n }\n }, onConsentChanged);\n\n\n function onConsentChanged(newConsent: any) {\n if (newConsent.isConsentRequired) {\n // newConsent.manageConsent();\n }\n }\n }\n\n return (\n <>\n \n {typeof window !== 'undefined' && typeof WcpConsent === 'undefined'\n &&