construct-hub-webapp 0.1.258 → 0.1.259

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/build/asset-manifest.json +21 -21
  2. package/build/index.html +1 -1
  3. package/build/service-worker.js +1 -1
  4. package/build/static/js/{12.161d7784.chunk.js → 12.d831689a.chunk.js} +2 -2
  5. package/build/static/js/{12.161d7784.chunk.js.map → 12.d831689a.chunk.js.map} +1 -1
  6. package/build/static/js/{13.c1230b1f.chunk.js → 13.a9cae057.chunk.js} +2 -2
  7. package/build/static/js/{13.c1230b1f.chunk.js.map → 13.a9cae057.chunk.js.map} +1 -1
  8. package/build/static/js/{5.2f773d84.chunk.js → 5.c4b086d9.chunk.js} +3 -3
  9. package/build/static/js/{5.2f773d84.chunk.js.LICENSE.txt → 5.c4b086d9.chunk.js.LICENSE.txt} +0 -0
  10. package/build/static/js/{5.2f773d84.chunk.js.map → 5.c4b086d9.chunk.js.map} +1 -1
  11. package/build/static/js/{6.e528e116.chunk.js → 6.30fad1cf.chunk.js} +3 -3
  12. package/build/static/js/{6.e528e116.chunk.js.LICENSE.txt → 6.30fad1cf.chunk.js.LICENSE.txt} +0 -0
  13. package/build/static/js/{6.e528e116.chunk.js.map → 6.30fad1cf.chunk.js.map} +1 -1
  14. package/build/static/js/{7.ba79d33e.chunk.js → 7.07197120.chunk.js} +2 -2
  15. package/build/static/js/{7.ba79d33e.chunk.js.map → 7.07197120.chunk.js.map} +1 -1
  16. package/build/static/js/8.6dd29cff.chunk.js +2 -0
  17. package/build/static/js/8.6dd29cff.chunk.js.map +1 -0
  18. package/build/static/js/main.a595d5fb.chunk.js +2 -0
  19. package/build/static/js/main.a595d5fb.chunk.js.map +1 -0
  20. package/build/static/js/runtime-main.d91eb825.js +2 -0
  21. package/build/static/js/{runtime-main.9b3c750b.js.map → runtime-main.d91eb825.js.map} +1 -1
  22. package/package.json +1 -1
  23. package/build/static/js/8.b8f9b0c8.chunk.js +0 -2
  24. package/build/static/js/8.b8f9b0c8.chunk.js.map +0 -1
  25. package/build/static/js/main.792688eb.chunk.js +0 -2
  26. package/build/static/js/main.792688eb.chunk.js.map +0 -1
  27. package/build/static/js/runtime-main.9b3c750b.js +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"sources":["constants/pageInfo.ts","components/Page/Page.tsx","components/LanguageSupportTooltip/LanguageSupportTooltip.tsx","components/Time/Time.tsx","views/SearchResults/components/ShowingDetails.tsx","views/SearchResults/constants.ts","components/PackageCard/constants.ts","components/PackageCard/testIds.ts","components/PackageCard/Details.tsx","components/PackageCard/Heading.tsx","components/PackageLanguages/PackageLanguages.tsx","components/PackageCard/Languages.tsx","components/PackageCard/WideCard.tsx","components/PackageCard/PackageCard.tsx","components/PackageList/PackageList.tsx","components/PackageList/WideCardList.tsx","views/SearchResults/components/ArrowButton.tsx","views/SearchResults/components/GoToPage.tsx","views/SearchResults/components/NextPage.tsx","views/SearchResults/components/PageControls.tsx","../../../src/link-box.tsx","../../../src/ChevronRight.tsx","../../../src/ArrowForward.tsx","../../../src/ChevronLeft.tsx","constants/constructs.ts","views/SearchRedesign/Filter.tsx","views/SearchRedesign/SearchState.tsx","views/SearchRedesign/FilterPanel.tsx","views/SearchRedesign/SearchResults.tsx","views/SearchRedesign/SearchRedesign.tsx"],"names":["pageInfo","home","event","name","faq","packageProfile","search","siteTerms","notFound","page","pageType","Page","children","meta","pageName","trackPageView","usePageView","useEffect","suffix","title","description","formattedTitle","Helmet","process","content","charSet","property","LanguageSupportTooltip","language","TEMP_SUPPORTED_LANGUAGES","has","hasArrow","label","LANGUAGE_NAME_MAP","placement","Time","forwardRef","ref","date","formatString","format","boxProps","as","dateTime","toISOString","displayName","Em","color","fontWeight","ShowingDetails","limit","offset","count","filtered","first","last","LIMIT","PackageCardType","testIds","createTestIds","Detail","dataTestid","value","fontSize","Details","useLanguage","currentLanguage","usePackageCard","author","metadata","version","authorName","published","Date","NavLink","to","getSearchPath","query","Heading","Link","getPackagePath","lineHeight","noOfLines","sizes","sm","md","lg","PackageLanguages","isRounded","languages","packageName","size","targets","Object","keys","entries","LANGUAGE_RENDER_MAP","sort","left","right","LANGUAGES","indexOf","map","lang","info","isSupportedByLibrary","Language","TypeScript","includes","isSupportedByConstructHub","Icon","icon","borderRadius","h","opacity","w","Languages","pkg","WideCard","_hover","bg","border","wideContainer","gap","p","templateColumns","base","templateRows","spacing","direction","alignSelf","PackageCardContext","createContext","useContext","PackageCard","variant","Wide","Provider","listViews","items","PackageList","memo","cardView","loading","View","ArrowButton","getPageUrl","props","borderColor","colorScheme","mx","undefined","disabled","GoToPage","pageLimit","useState","toString","inputValue","setInputValue","push","useHistory","align","onSubmit","e","preventDefault","parseInt","max","min","onChange","target","textAlign","type","ml","btnProps","rightIcon","ArrowForward","NextPage","nextPageUrl","PageControls","nextOffset","prevOffset","alignItems","pt","colStart","justifySelf","justify","py","ChevronLeftIcon","ChevronRightIcon","LinkOverlay","className","cx","rel","isExternal","__css","position","cursor","display","top","zIndex","width","height","LinkBox","createIcon","d","ArrowForwardIcon","CDKType","CDKTYPE_NAME_MAP","awscdk","cdktf","cdk8s","Filter","options","checkedValues","values","onValueChange","getOnChange","isChecked","isTruncated","SearchStateContext","useSearchState","state","Error","SearchStateProvider","langQuery","queryParams","useQueryParams","val","result","toNum","get","QUERY_PARAMS","OFFSET","decodeURIComponent","SEARCH_QUERY","split","SORT","cdkType","CDK_TYPE","searchAPI","useCatalogSearch","defaultCdkType","defaultLanguages","defaultQuery","defaultSort","setQuery","cdkTypeOptions","key","languageOptions","filter","FilterPanel","setLanguages","setCdkType","authors","setAuthors","Card","boxShadow","l","a","SearchResults","useCatalogResults","results","getUrl","params","q","length","maxW","CatalogSearch","pb","SearchRedesign"],"mappings":"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","file":"static/js/8.b8f9b0c8.chunk.js","sourcesContent":["export const pageInfo = {\n home: {\n event: {\n name: \"Home Load\",\n },\n },\n faq: {\n event: {\n name: \"Frequently Asked Questions Load\",\n },\n },\n packageProfile: {\n event: {\n name: \"Package Profile Load\",\n },\n },\n search: {\n event: {\n name: \"Search Load\",\n },\n },\n siteTerms: {\n event: {\n name: \"Site Terms Load\",\n },\n },\n notFound: {\n page: {\n pageType: \"errorPage\",\n },\n event: {\n name: \"404 Page Load\",\n },\n },\n} as const;\n","import { FunctionComponent, useEffect } from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { pageInfo } from \"../../constants/pageInfo\";\nimport { usePageView } from \"../../contexts/Analytics\";\n\nexport interface PageProps {\n pageName: keyof typeof pageInfo;\n meta: {\n suffix?: boolean;\n title: string;\n description: string;\n };\n}\n\nexport const Page: FunctionComponent<PageProps> = ({\n children,\n meta,\n pageName,\n}) => {\n const trackPageView = usePageView(pageInfo[pageName]);\n\n useEffect(() => {\n trackPageView();\n }, [trackPageView]);\n\n const { suffix = true, title, description } = meta;\n const formattedTitle = suffix ? `${title} - Construct Hub` : title;\n\n return (\n <>\n <Helmet>\n {process.env.NODE_ENV === \"development\" && (\n <meta\n content=\"default-src 'self' 'unsafe-inline' https://*.awsstatic.com https://amazonwebservices.d2.sc.omtrdc.net; connect-src 'self' https://*.shortbread.aws.dev ws://localhost:3000 https://*.awsstatic.com https://amazonwebservices.d2.sc.omtrdc.net; frame-src 'none'; img-src 'self' https://* http://*.omtrdc.net; object-src 'none'; style-src 'self' 'unsafe-inline';\"\n httpEquiv=\"Content-Security-Policy\"\n />\n )}\n\n <meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n <meta charSet=\"utf-8\" />\n\n <title>{formattedTitle}</title>\n <meta content={formattedTitle} property=\"og:title\" />\n <meta content={formattedTitle} name=\"twitter:title\" />\n <meta content=\"summary\" name=\"twitter:card\" />\n\n <meta content={description} name=\"description\" />\n <meta content={description} property=\"og:description\" />\n <meta content={description} name=\"twitter:description\" />\n </Helmet>\n {children}\n </>\n );\n};\n","import { Tooltip } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport {\n Language,\n LANGUAGE_NAME_MAP,\n TEMP_SUPPORTED_LANGUAGES,\n} from \"../../constants/languages\";\n\nexport interface LanguageSupportTooltipProps {\n language: Language;\n}\n\nexport const LanguageSupportTooltip: FunctionComponent<LanguageSupportTooltipProps> =\n ({ children, language }) => {\n const isSupported = TEMP_SUPPORTED_LANGUAGES.has(language);\n\n if (isSupported) {\n return <>{children}</>;\n }\n\n return (\n <Tooltip\n hasArrow\n label={`Documentation support for ${LANGUAGE_NAME_MAP[language]} is coming soon!`}\n placement=\"top-start\"\n >\n <span>{children}</span>\n </Tooltip>\n );\n };\n","import { Box, BoxProps, forwardRef } from \"@chakra-ui/react\";\nimport { format } from \"date-fns\";\n\nexport interface TimeOptions {\n date: Date;\n format: string;\n}\n\nexport interface TimeProps extends BoxProps, TimeOptions {}\n\nexport const Time = forwardRef<TimeProps, \"time\">(\n ({ date, format: formatString, ...boxProps }, ref) => {\n return (\n <Box as=\"time\" dateTime={date.toISOString()} ref={ref} {...boxProps}>\n {format(date, formatString)}\n </Box>\n );\n }\n);\n\nTime.displayName = \"Time\";\n","import { Text } from \"@chakra-ui/react\";\nimport { FunctionComponent } from \"react\";\n\nexport interface ShowingDetailsProps {\n limit: number;\n offset: number;\n count: number;\n filtered: boolean;\n}\n\nconst Em: FunctionComponent = ({ children }) => (\n <Text as=\"em\" color=\"blue.500\" fontWeight=\"bold\">\n {children}\n </Text>\n);\n\nexport const ShowingDetails: FunctionComponent<ShowingDetailsProps> = ({\n limit,\n offset,\n count,\n filtered,\n}) => {\n const first = limit * offset;\n const last = first + limit;\n return (\n <Text>\n Displaying{\" \"}\n <Em>\n {count ? first + 1 : count} - {last > count ? count : last}\n </Em>{\" \"}\n of <Em>{count}</Em> {filtered ? \"search results\" : \"constructs\"}.\n </Text>\n );\n};\n","import type { QueryParamKey } from \"../../constants/url\";\n\nexport const LIMITS = [25, 50, 75, 100];\nexport const LIMIT = LIMITS[0];\n\nexport type SearchQueryParam = Extract<QueryParamKey, \"offset\" | \"q\">;\n","export enum PackageCardType {\n Wide = \"wide\",\n}\n","import { createTestIds } from \"../../util/createTestIds\";\n\nconst testIds = createTestIds(\"packageCard\", [\n \"author\",\n \"description\",\n \"languages\",\n \"published\",\n \"title\",\n \"version\",\n \"wideContainer\",\n] as const);\n\nexport default testIds;\n","import { Text } from \"@chakra-ui/react\";\nimport type { FunctionComponent, ReactChild } from \"react\";\nimport { useLanguage } from \"../../hooks/useLanguage\";\nimport { getSearchPath } from \"../../util/url\";\nimport { NavLink } from \"../NavLink\";\nimport { Time } from \"../Time\";\nimport { usePackageCard } from \"./PackageCard\";\nimport testIds from \"./testIds\";\n\ninterface DetailProps {\n \"data-testid\": string;\n label: string;\n value: ReactChild;\n}\n\nconst Detail: FunctionComponent<DetailProps> = ({\n \"data-testid\": dataTestid,\n label,\n value,\n}) => (\n <Text data-testid={dataTestid} fontSize=\"xs\">\n <strong>{label}</strong> {value}\n </Text>\n);\n\nexport const Details: FunctionComponent = () => {\n const [currentLanguage] = useLanguage();\n\n const {\n author,\n metadata: { date },\n version,\n } = usePackageCard();\n\n const authorName = typeof author === \"string\" ? author : author.name;\n\n return (\n <>\n <Detail data-testid={testIds.version} label=\"Version\" value={version} />\n <Detail\n data-testid={testIds.published}\n label=\"Published\"\n value={\n <Time date={new Date(date)} fontSize=\"xs\" format=\"MMM dd, yyyy\" />\n }\n />\n <Detail\n data-testid={testIds.author}\n label=\"Author\"\n value={\n <NavLink\n to={getSearchPath({\n query: `\"${authorName}\"`,\n language: currentLanguage,\n })}\n >\n {authorName}\n </NavLink>\n }\n />\n </>\n );\n};\n","import { Heading as ChakraHeading, LinkOverlay, Text } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { useLanguage } from \"../../hooks/useLanguage\";\nimport { getPackagePath } from \"../../util/url\";\nimport { usePackageCard } from \"./PackageCard\";\nimport testIds from \"./testIds\";\n\nexport const Heading: FunctionComponent = () => {\n const [currentLanguage] = useLanguage();\n const { name, description, version } = usePackageCard();\n\n return (\n <>\n <LinkOverlay\n as={Link}\n to={getPackagePath({\n name,\n version,\n language: currentLanguage,\n })}\n >\n <ChakraHeading\n as=\"h3\"\n color=\"blue.800\"\n data-testid={testIds.title}\n fontSize=\"md\"\n fontWeight=\"bold\"\n >\n {name}\n </ChakraHeading>\n </LinkOverlay>\n <Text\n data-testid={testIds.description}\n fontSize=\"md\"\n lineHeight=\"tall\"\n noOfLines={4}\n >\n {description || \"No description available.\"}\n </Text>\n </>\n );\n};\n","import type { FunctionComponent } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport {\n Language,\n LANGUAGES,\n LANGUAGE_RENDER_MAP,\n TEMP_SUPPORTED_LANGUAGES,\n} from \"../../constants/languages\";\nimport { getPackagePath } from \"../../util/url\";\nimport { LanguageSupportTooltip } from \"../LanguageSupportTooltip\";\n\nconst sizes = {\n sm: 5,\n md: 6,\n lg: 8,\n};\n\nexport interface PackageLanguagesProps {\n isRounded?: boolean;\n languages: Partial<Record<Language, unknown>>;\n name: string;\n size?: \"sm\" | \"md\" | \"lg\";\n version: string;\n}\n\nexport const PackageLanguages: FunctionComponent<PackageLanguagesProps> = ({\n isRounded = false,\n languages,\n name: packageName,\n size = \"md\",\n version,\n}) => {\n const targets = Object.keys(languages ?? {}) as Language[];\n return (\n <>\n {Object.entries(LANGUAGE_RENDER_MAP)\n // Ensure entries are always sorted in a stable way\n .sort(\n ([left], [right]) =>\n LANGUAGES.indexOf(left as Language) -\n LANGUAGES.indexOf(right as Language)\n )\n .map(([lang, info]) => {\n const language = lang as Language;\n\n const isSupportedByLibrary =\n language === Language.TypeScript || targets.includes(language);\n\n const isSupportedByConstructHub =\n language === Language.TypeScript || // TypeScript is always supported\n // Otherwise, the language must be supported by ConstructHub\n TEMP_SUPPORTED_LANGUAGES.has(language);\n\n if (!isSupportedByLibrary) return null;\n\n const { name, icon: Icon } = info;\n\n const icon = (\n <Icon\n aria-label={`Supports ${name}`}\n borderRadius={isRounded ? \"50%\" : 0}\n h={sizes[size]}\n opacity={isSupportedByConstructHub ? 1 : 0.2}\n w={sizes[size]}\n />\n );\n\n return (\n <LanguageSupportTooltip key={language} language={language}>\n {isSupportedByConstructHub ? (\n <Link\n aria-label={`View package docs for ${language}`}\n to={getPackagePath({ name: packageName, version, language })}\n >\n {icon}\n </Link>\n ) : (\n icon\n )}\n </LanguageSupportTooltip>\n );\n })}\n </>\n );\n};\n","import type { FunctionComponent } from \"react\";\nimport { PackageLanguages } from \"../PackageLanguages\";\nimport { usePackageCard } from \"./PackageCard\";\n\nexport const Languages: FunctionComponent = () => {\n const pkg = usePackageCard();\n return <PackageLanguages {...pkg} size=\"sm\" />;\n};\n","import { Grid, Stack, LinkBox } from \"@chakra-ui/react\";\nimport { FunctionComponent } from \"react\";\nimport { Details } from \"./Details\";\nimport { Heading } from \"./Heading\";\nimport { Languages } from \"./Languages\";\nimport testIds from \"./testIds\";\n\nexport const WideCard: FunctionComponent = () => {\n return (\n <LinkBox\n _hover={{\n \"> article\": {\n bg: \"gray.50\",\n },\n }}\n >\n <Grid\n as=\"article\"\n bg=\"white\"\n border=\"base\"\n borderRadius=\"sm\"\n color=\"gray.600\"\n data-testid={testIds.wideContainer}\n gap={5}\n p={5}\n templateColumns={{ base: \"1fr\", md: \"2fr 1fr\" }}\n templateRows={{ base: \"auto\", md: \"1fr\" }}\n w=\"100%\"\n >\n {/* Name + Desc */}\n <Stack spacing={2}>\n <Heading />\n\n <Stack direction=\"row\" spacing={1}>\n <Languages />\n </Stack>\n </Stack>\n\n <Stack\n alignSelf=\"center\"\n data-testid={testIds.languages}\n fontSize=\"xs\"\n spacing={1}\n >\n <Details />\n </Stack>\n </Grid>\n </LinkBox>\n );\n};\n","import { createContext, FunctionComponent, useContext } from \"react\";\nimport { CatalogPackage } from \"../../api/package/packages\";\nimport { PackageCardType } from \"./constants\";\nimport { WideCard } from \"./WideCard\";\n\nexport interface PackageCardProps {\n pkg: CatalogPackage;\n variant?: PackageCardType;\n}\n\nconst PackageCardContext = createContext<CatalogPackage | null>(null);\n\nexport const usePackageCard = () => useContext(PackageCardContext)!;\n\nexport const PackageCard: FunctionComponent<PackageCardProps> = ({\n pkg,\n variant = PackageCardType.Wide,\n}) => {\n return (\n <PackageCardContext.Provider value={pkg}>\n {variant === PackageCardType.Wide && <WideCard />}\n </PackageCardContext.Provider>\n );\n};\n","import { Center, Spinner } from \"@chakra-ui/react\";\nimport { FunctionComponent, memo } from \"react\";\nimport { CatalogPackage } from \"../../api/package/packages\";\nimport { PackageCardType } from \"../PackageCard\";\nimport { WideCardList } from \"./WideCardList\";\n\nconst listViews = {\n [PackageCardType.Wide]: WideCardList,\n};\n\nexport interface PackageListViewProps {\n items: CatalogPackage[];\n}\n\nexport interface PackageListProps extends Partial<PackageListViewProps> {\n cardView?: PackageCardType;\n loading?: boolean;\n title?: string;\n}\n\nexport const PackageList: FunctionComponent<PackageListProps> = memo(\n ({\n cardView = PackageCardType.Wide,\n items,\n loading,\n // title,\n }) => {\n if (loading || !items) {\n return (\n <Center>\n <Spinner size=\"xl\" />\n </Center>\n );\n }\n\n const View = listViews[cardView];\n\n return <View items={items} />;\n }\n);\n\nPackageList.displayName = \"PackageList\";\n","import { Stack } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { PackageCard, PackageCardType } from \"../PackageCard\";\nimport { PackageListViewProps } from \"./PackageList\";\n\nexport const WideCardList: FunctionComponent<PackageListViewProps> = ({\n items,\n}) => {\n return (\n <Stack spacing={4}>\n {items.map((pkg) => (\n <PackageCard\n key={`${pkg.name}-${pkg.version}`}\n pkg={pkg}\n variant={PackageCardType.Wide}\n />\n ))}\n </Stack>\n );\n};\n","import { IconButton, IconProps } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Link } from \"react-router-dom\";\n\nexport interface ArrowButtonProps {\n icon: FunctionComponent<IconProps>;\n offset?: number;\n getPageUrl: (params: { offset: number }) => string;\n}\n\nexport const ArrowButton: FunctionComponent<ArrowButtonProps> = ({\n icon: Icon,\n offset,\n getPageUrl,\n}) => {\n const label = `Page ${offset} link`;\n\n const props = {\n \"aria-label\": label,\n borderRadius: \"md\",\n borderColor: \"blue.500\",\n colorScheme: \"blue\",\n icon: <Icon color=\"blue.500\" h={5} w={5} />,\n mx: 2,\n h: 10,\n w: 10,\n variant: \"outline\",\n };\n\n if (offset !== undefined) {\n return <IconButton {...props} as={Link} to={getPageUrl({ offset })} />;\n }\n\n return <IconButton {...props} disabled />;\n};\n","import { Flex, Input, Text } from \"@chakra-ui/react\";\nimport {\n FormEventHandler,\n FunctionComponent,\n SyntheticEvent,\n useEffect,\n useState,\n} from \"react\";\nimport { useHistory } from \"react-router-dom\";\n\nexport interface GoToPageProps {\n pageLimit: number;\n offset: number;\n getPageUrl: (params: { offset: number }) => string;\n}\n\nexport const GoToPage: FunctionComponent<GoToPageProps> = ({\n pageLimit,\n offset,\n getPageUrl,\n}) => {\n const [inputValue, setInputValue] = useState((offset + 1).toString());\n const { push } = useHistory();\n\n useEffect(() => {\n setInputValue((offset + 1).toString());\n }, [offset]);\n\n const onInputChange = (e: SyntheticEvent<HTMLInputElement>) => {\n e.preventDefault();\n setInputValue((e.target as HTMLInputElement).value);\n };\n\n const onSubmit: FormEventHandler<HTMLInputElement> = (e) => {\n e.preventDefault();\n push(getPageUrl({ offset: parseInt(inputValue) - 1 }));\n };\n\n return (\n <Flex align=\"center\" as=\"form\" mx={2} onSubmit={onSubmit}>\n <Input\n colorScheme=\"blue\"\n h={10}\n max={pageLimit + 1}\n min={1}\n name=\"page\"\n onChange={onInputChange}\n p={0}\n textAlign=\"center\"\n type=\"number\"\n value={inputValue}\n w={10}\n />\n <Text ml={2} w=\"max-content\">\n of {pageLimit + 1}\n </Text>\n </Flex>\n );\n};\n","import { ArrowForwardIcon } from \"@chakra-ui/icons\";\nimport { Button } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Link } from \"react-router-dom\";\n\nexport interface NextPageProps {\n nextPageUrl?: string;\n}\n\nconst btnProps = {\n children: \"Next Page\",\n colorScheme: \"blue\",\n rightIcon: <ArrowForwardIcon color=\"white\" />,\n};\n\nexport const NextPage: FunctionComponent<NextPageProps> = ({ nextPageUrl }) => {\n if (!nextPageUrl) {\n return <Button {...btnProps} disabled />;\n }\n\n return <Button {...btnProps} as={Link} to={nextPageUrl} />;\n};\n","import { ChevronLeftIcon, ChevronRightIcon } from \"@chakra-ui/icons\";\nimport { Flex, Grid, GridItem } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { ArrowButton } from \"./ArrowButton\";\nimport { GoToPage } from \"./GoToPage\";\nimport { NextPage } from \"./NextPage\";\n\nexport interface PageControlsProps {\n limit: number;\n offset: number;\n pageLimit: number;\n getPageUrl: (params: { offset?: number }) => string;\n}\n\nexport const PageControls: FunctionComponent<PageControlsProps> = ({\n offset,\n pageLimit,\n getPageUrl,\n}) => {\n const nextOffset = offset < pageLimit ? offset + 1 : undefined;\n const prevOffset = offset > 0 ? offset - 1 : undefined;\n\n return (\n <Grid\n alignItems=\"center\"\n pt={4}\n templateColumns=\"repeat(3, 1fr)\"\n templateRows=\"1fr\"\n >\n <GridItem colStart={2} justifySelf=\"center\">\n <NextPage\n nextPageUrl={\n nextOffset ? getPageUrl({ offset: nextOffset }) : undefined\n }\n />\n </GridItem>\n <GridItem colStart={3} justifySelf=\"end\">\n <Flex align=\"center\" justify=\"center\" py={4}>\n <GoToPage\n getPageUrl={getPageUrl}\n offset={offset}\n pageLimit={pageLimit}\n />\n <ArrowButton\n getPageUrl={getPageUrl}\n icon={ChevronLeftIcon}\n offset={prevOffset}\n />\n <ArrowButton\n getPageUrl={getPageUrl}\n icon={ChevronRightIcon}\n offset={nextOffset}\n />\n </Flex>\n </GridItem>\n </Grid>\n );\n};\n","import { chakra, forwardRef, HTMLChakraProps } from \"@chakra-ui/system\"\nimport { cx } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\n\nexport interface LinkOverlayProps extends HTMLChakraProps<\"a\"> {\n /**\n * If `true`, the link will open in new tab\n */\n isExternal?: boolean\n}\n\nexport const LinkOverlay = forwardRef<LinkOverlayProps, \"a\">((props, ref) => {\n const { isExternal, target, rel, className, ...rest } = props\n return (\n <chakra.a\n {...rest}\n ref={ref}\n className={cx(\"chakra-linkbox__overlay\", className)}\n rel={isExternal ? \"noopener noreferrer\" : rel}\n target={isExternal ? \"_blank\" : target}\n __css={{\n position: \"static\",\n \"&::before\": {\n content: \"''\",\n cursor: \"inherit\",\n display: \"block\",\n position: \"absolute\",\n top: 0,\n left: 0,\n zIndex: 0,\n width: \"100%\",\n height: \"100%\",\n },\n }}\n />\n )\n})\n\nexport interface LinkBoxProps extends HTMLChakraProps<\"div\"> {}\n\n/**\n * `LinkBox` is used to wrap content areas within a link while ensuring semantic html\n *\n * @see Docs https://chakra-ui.com/docs/navigation/link-overlay\n * @see Resources https://www.sarasoueidan.com/blog/nested-links\n */\nexport const LinkBox = forwardRef<LinkBoxProps, \"div\">((props, ref) => {\n const { className, ...rest } = props\n\n return (\n <chakra.div\n ref={ref}\n position=\"relative\"\n {...rest}\n className={cx(\"chakra-linkbox\", className)}\n __css={{\n /* Elevate the links and abbreviations up */\n \"a[href]:not(.chakra-linkbox__overlay), abbr[title]\": {\n position: \"relative\",\n zIndex: 1,\n },\n }}\n />\n )\n})\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const ChevronRightIcon = createIcon({\n d: \"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\",\n displayName: \"ChevronRightIcon\",\n})\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const ArrowForwardIcon = createIcon({\n d: \"M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z\",\n displayName: \"ArrowForwardIcon\",\n})\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const ChevronLeftIcon = createIcon({\n d: \"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\",\n displayName: \"ChevronLeftIcon\",\n})\n","export enum CDKType {\n awscdk = \"aws-cdk\",\n cdktf = \"cdktf\",\n cdk8s = \"cdk8s\",\n}\n\nexport const CDKTYPE_NAME_MAP = {\n [CDKType.awscdk]: \"AWS CDK\",\n [CDKType.cdktf]: \"CDK for Terraform\",\n [CDKType.cdk8s]: \"CDK for Kubernetes\",\n};\n","import { Checkbox, Heading, Stack, Text } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\n\nexport interface FilterProps {\n name: string;\n options: {\n display: string;\n value: string;\n }[];\n values: string[];\n onValueChange: (value: string) => void;\n}\n\nexport const Filter: FunctionComponent<FilterProps> = ({\n name,\n options,\n values: checkedValues,\n onValueChange,\n}) => {\n const getOnChange = (value: string) => () => {\n onValueChange(value);\n };\n\n return (\n <Stack spacing={2}>\n <Heading as=\"h4\" size=\"sm\">\n {name}\n </Heading>\n {options.map(({ display, value }) => (\n <Checkbox\n isChecked={checkedValues.includes(value)}\n key={value}\n onChange={getOnChange(value)}\n >\n <Text color=\"gray.600\" fontSize=\"sm\" isTruncated>\n {display}\n </Text>\n </Checkbox>\n ))}\n </Stack>\n );\n};\n","/**\n * @fileoverview Exposes page-level state and setters to all components in the new SearchResults View.\n */\nimport { createContext, FunctionComponent, useContext, useEffect } from \"react\";\nimport { CatalogSearchSort } from \"../../api/catalog-search/constants\";\nimport { CDKType } from \"../../constants/constructs\";\nimport type { Language } from \"../../constants/languages\";\nimport { QUERY_PARAMS } from \"../../constants/url\";\nimport {\n UseCatalogSearchReturn,\n useCatalogSearch,\n} from \"../../hooks/useCatalogSearch\";\nimport { useQueryParams } from \"../../hooks/useQueryParams\";\nimport { LIMIT } from \"../SearchResults/constants\";\n\nexport interface SearchState {\n limit: number;\n offset: number;\n query: string;\n searchAPI: UseCatalogSearchReturn;\n sort?: CatalogSearchSort;\n}\n\nconst SearchStateContext = createContext<SearchState | undefined>(undefined);\n\n/**\n * A hook to access Search Page specific state. This can only be in descendants of the new Search Page\n * and will otherwise throw an error.\n */\nexport const useSearchState = () => {\n const state = useContext(SearchStateContext);\n\n if (!state) {\n throw new Error(\n `This hook must be called in a child of <SearchStateProvider />`\n );\n }\n\n return state;\n};\n\nconst toNum = (val: string) => {\n const result = parseInt(val);\n\n if (`${result}` === \"NaN\") {\n return 0;\n }\n\n return result;\n};\n\nconst parseLangs = (langQuery: string | null) => {\n if (!langQuery) return [];\n\n const langs = decodeURIComponent(langQuery).split(\",\");\n return langs as Language[];\n};\n\nexport const SearchStateProvider: FunctionComponent = ({ children }) => {\n const queryParams = useQueryParams();\n\n const offset = toNum(queryParams.get(QUERY_PARAMS.OFFSET) ?? \"0\");\n\n const query = decodeURIComponent(\n queryParams.get(QUERY_PARAMS.SEARCH_QUERY) ?? \"\"\n );\n\n const languages = parseLangs(queryParams.get(QUERY_PARAMS.LANGUAGES));\n\n const sort = (queryParams.get(QUERY_PARAMS.SORT) ?? undefined) as\n | CatalogSearchSort\n | undefined;\n\n const cdkType =\n (queryParams.get(QUERY_PARAMS.CDK_TYPE) as CDKType) ?? undefined;\n\n const searchAPI = useCatalogSearch({\n defaultCdkType: cdkType,\n defaultLanguages: languages,\n defaultQuery: query,\n defaultSort: sort,\n });\n\n useEffect(() => {\n if (query !== searchAPI.query) {\n searchAPI.setQuery(query);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [query]);\n\n return (\n <SearchStateContext.Provider\n value={{\n limit: LIMIT,\n offset,\n query,\n searchAPI,\n sort,\n }}\n >\n {children}\n </SearchStateContext.Provider>\n );\n};\n","import { Heading, Stack } from \"@chakra-ui/react\";\nimport { FunctionComponent, useState } from \"react\";\nimport { Card } from \"../../components/Card\";\nimport { CDKType, CDKTYPE_NAME_MAP } from \"../../constants/constructs\";\nimport {\n Language,\n LANGUAGE_NAME_MAP,\n TEMP_SUPPORTED_LANGUAGES,\n} from \"../../constants/languages\";\nimport { Filter } from \"./Filter\";\nimport { useSearchState } from \"./SearchState\";\n\nconst cdkTypeOptions = Object.entries(CDKTYPE_NAME_MAP).map(([key, value]) => ({\n display: value,\n value: key,\n}));\n\nconst languageOptions = Object.entries(LANGUAGE_NAME_MAP)\n .filter(([key]) => TEMP_SUPPORTED_LANGUAGES.has(key as Language))\n .map(([key, value]) => ({\n display: value,\n value: key,\n }));\n\nexport interface FilterPanelProps {}\n\nexport const FilterPanel: FunctionComponent<FilterPanelProps> = () => {\n const { cdkType, languages, setLanguages, setCdkType } =\n useSearchState().searchAPI;\n const [authors, setAuthors] = useState<string[]>([]);\n\n const onCdkTypeChange = (type: string) => {\n const cdk = type as CDKType;\n setCdkType(cdk === cdkType ? undefined : cdk);\n };\n\n const onLanguagesChange = (lang: string) => {\n const language = lang as Language;\n\n setLanguages(\n languages.includes(language)\n ? languages.filter((l) => l !== language)\n : [...languages, language]\n );\n };\n\n const onAuthorsChange = (author: string) => {\n setAuthors(\n authors.includes(author)\n ? authors.filter((a) => a !== author)\n : [...authors, author]\n );\n };\n\n return (\n <Card borderRadius=\"none\" boxShadow=\"none\" p={4}>\n <Stack color=\"blue.800\" spacing={6}>\n <Heading as=\"h3\" size=\"sm\">\n Filters\n </Heading>\n <Filter\n name=\"CDK Type\"\n onValueChange={onCdkTypeChange}\n options={cdkTypeOptions}\n values={cdkType ? [cdkType] : []}\n />\n <Filter\n name=\"Programming Language\"\n onValueChange={onLanguagesChange}\n options={languageOptions}\n values={languages}\n />\n <Filter\n name=\"Author\"\n onValueChange={onAuthorsChange}\n options={[\n {\n display: \"Community\",\n value: \"community\",\n },\n {\n display: \"AWS\",\n value: \"aws\",\n },\n ]}\n values={authors}\n />\n </Stack>\n </Card>\n );\n};\n","import { Box, Divider, Flex } from \"@chakra-ui/react\";\nimport { FunctionComponent, useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { CatalogSearch } from \"../../components/CatalogSearch\";\nimport { PackageList } from \"../../components/PackageList\";\nimport { Page } from \"../../components/Page\";\nimport { useCatalogResults } from \"../../hooks/useCatalogResults\";\nimport { getSearchPath } from \"../../util/url\";\nimport { PageControls } from \"../SearchResults/components/PageControls\";\nimport { ShowingDetails } from \"../SearchResults/components/ShowingDetails\";\nimport { SearchQueryParam } from \"../SearchResults/constants\";\nimport { useSearchState } from \"./SearchState\";\n\nexport const SearchResults: FunctionComponent = () => {\n const { push } = useHistory();\n\n const { query, sort, searchAPI, offset, limit } = useSearchState();\n\n const { page, pageLimit, results } = useCatalogResults({\n offset,\n limit,\n query,\n languages: searchAPI.languages,\n cdkType: searchAPI.cdkType,\n sort: sort ?? undefined,\n });\n\n const getUrl = (\n params: Partial<{ [key in SearchQueryParam]: number | string }>\n ) => {\n return getSearchPath({\n cdkType: searchAPI.cdkType,\n query: (params.q ?? query) as string,\n languages: searchAPI.languages,\n offset: params.offset ?? offset,\n });\n };\n\n useEffect(() => {\n // If the query has results but the page has nothing to show...\n if (results.length && (offset < 0 || offset > pageLimit)) {\n // Handle an out of bounds offset\n if (offset < 0) {\n push(getUrl({ offset: 0 }));\n } else {\n // Offset is too large, just take last page\n push(getUrl({ offset: pageLimit }));\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [results, offset, pageLimit]);\n\n return (\n <Page\n meta={{\n title: query || \"Search\",\n description: query\n ? `${results.length} results for ${query} at Construct Hub`\n : \"Search reusable components for your cloud application\",\n }}\n pageName=\"search\"\n >\n <Flex direction=\"column\" maxW=\"100vw\">\n <Box p={4}>\n <CatalogSearch {...searchAPI} />\n </Box>\n <Divider />\n <Box p={4}>\n <Flex justify=\"space-between\" pb={4}>\n <ShowingDetails\n count={results.length}\n filtered={!!query}\n limit={limit}\n offset={offset}\n />\n </Flex>\n <PackageList items={page} />\n <PageControls\n getPageUrl={getUrl}\n limit={limit}\n offset={offset}\n pageLimit={pageLimit}\n />\n </Box>\n </Flex>\n </Page>\n );\n};\n","import { Grid } from \"@chakra-ui/react\";\nimport { FunctionComponent } from \"react\";\nimport { Page } from \"../../components/Page\";\nimport { FilterPanel } from \"./FilterPanel\";\nimport { SearchResults } from \"./SearchResults\";\nimport { SearchStateProvider } from \"./SearchState\";\n\nexport const SearchRedesign: FunctionComponent = () => {\n return (\n <SearchStateProvider>\n <Page\n meta={{\n title: \"Search - Construct Hub\",\n description: \"This is a placeholder\",\n }}\n pageName=\"search\"\n >\n <Grid gap={4} p={6} templateColumns=\"1fr 3fr\" templateRows=\"1fr\">\n {/* Filter Panel */}\n <FilterPanel />\n {/* Results, Info, and Controls */}\n\n <SearchResults />\n </Grid>\n </Page>\n </SearchStateProvider>\n );\n};\n"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- (this["webpackJsonpconstruct-hub-webapp"]=this["webpackJsonpconstruct-hub-webapp"]||[]).push([[3],{100:function(e,t,n){"use strict";n.d(t,"b",(function(){return C})),n.d(t,"a",(function(){return E}));var r,a=n(0),c=n(4),i=n(17),o=n(6),s=n(60),u=n(69),l=n(144),d=n.n(l),b=n(66),j=n(5),f=n(47),h=function(e){return function(t,n){var r=new Date(t.metadata.date),a=new Date(n.metadata.date);return r===a?0:e?a<r?1:-1:r<a?1:-1}},O=function(e){return function(t,n){return t.name.localeCompare(n.name)*(e?1:-1)}},p=(r={},Object(j.a)(r,b.a.NameAsc,O(!0)),Object(j.a)(r,b.a.NameDesc,O(!1)),Object(j.a)(r,b.a.PublishDateAsc,h(!0)),Object(j.a)(r,b.a.PublishDateDesc,h(!1)),r),v=function(e){if(e)return function(t){return t.metadata.cdkType===e}},g=function(e){if(e&&e!==f.d.TypeScript)return function(t){return void 0!==t.languages[e]}},m=function(e){var t,n=(null!==(t=null===e||void 0===e?void 0:e.length)&&void 0!==t?t:0)>0?new Set(e):void 0;if(n&&!n.has(f.d.TypeScript))return function(e){return Object.keys(e.languages).some((function(e){return n.has(e)}))}},x=function(){function e(t){Object(s.a)(this,e),this.map=void 0,this.index=void 0;var n=t.reduce((function(e,t){var n=[t.name,t.version].join("@");return e.set(n,Object(o.a)(Object(o.a)({},t),{},{id:n})),e}),new Map);this.map=this.sort(n,b.a.PublishDateDesc),this.index=d()((function(){var e=this;this.ref("id"),this.field("name"),this.field("scope"),this.field("packageName"),this.field("description"),this.field("authorName"),this.field("authorEmail"),Object(i.a)(n.values()).forEach((function(t){var n=t.author,r=t.name.split("/"),a=Object(c.a)(r,2),i=a[0],o=a[1];i&&o&&(t.scope=i,t.packageName=o),"string"===typeof n&&(t.authorName=n),(null===n||void 0===n?void 0:n.name)&&(t.authorName=n.name),(null===n||void 0===n?void 0:n.email)&&(t.authorEmail=n.email),e.add(t)}))}))}return Object(u.a)(e,[{key:"search",value:function(e){var t=null!==e&&void 0!==e?e:{},n=t.query,r=t.filters,a=t.sort,c=n?this.query(n):new Map(this.map);return r&&(c=this.filter(c,r)),a&&(c=this.sort(c,a)),c}},{key:"query",value:function(e){var t=this,n=[];try{n=this.index.search(e)}catch(r){console.error(r)}return n.reduce((function(e,n){var r=n.ref,a=t.map.get(r);return a&&e.set(r,a),e}),new Map)}},{key:"filter",value:function(e,t){var n=t.cdkType,r=t.language,a=t.languages,c=new Map(e),i=[v(n),g(r),m(a)].filter(Boolean);return c.forEach((function(e){var t,n=!1;i.forEach((function(t){n||t(e)||(n=!0)})),n&&(t=e.id,c.delete(t))})),c}},{key:"sort",value:function(e,t){return t?new Map(Object(i.a)(e.entries()).sort((function(e,n){var r=Object(c.a)(e,2)[1],a=Object(c.a)(n,2)[1];return p[t](r,a)}))):e}}]),e}(),y=n(73),S=n(86),w=n(1),k=Object(a.createContext)(void 0),C=function(){return Object(a.useContext)(k)},E=function(e){var t=e.children,n=Object(S.b)(),r=n.data,c=n.loading,i=Object(a.useMemo)((function(){if(void 0!==(null===r||void 0===r?void 0:r.packages)&&!c)return new x(r.packages)}),[r,c]);return i?Object(w.jsx)(k.Provider,{value:i,children:t}):Object(w.jsx)(y.a,{})}},101:function(e,t,n){"use strict";n.d(t,"b",(function(){return v})),n.d(t,"a",(function(){return g}));var r=n(6),a=n(4),c=n(196),i=n(0),o="prefersWarnOnExternalLinkClick",s=n(197),u=n(43),l=n(193),d=n(217),b=n(148),j=n(219),f=n(55),h=n(1),O=function(e){var t=e.href,n=e.isOpen,r=e.onClick,c=e.onClose,O=e.setShouldWarn,p=Object(i.useState)(!0),v=Object(a.a)(p,2),g=v[0],m=v[1];return Object(h.jsx)(u.a,{closeOnOverlayClick:!1,isOpen:n,onClose:c,children:Object(h.jsx)(u.h,{children:Object(h.jsxs)(u.d,{color:"blue.800",children:[Object(h.jsx)(u.g,{children:"Confirm"}),Object(h.jsxs)(u.b,{children:[Object(h.jsx)(l.a,{fontSize:"lg",mb:2,children:"This link is taking you to an external site"}),Object(h.jsx)(l.a,{bg:"gray.100",borderRadius:"sm",color:"blue.500",fontSize:"sm",mb:4,p:1,children:t}),Object(h.jsx)(d.a,{onChange:function(e){var t=!e.target.checked;m(t)},children:"Do not show this warning again."})]}),Object(h.jsxs)(u.f,{children:[Object(h.jsx)(b.a,{onClick:function(){m(!0),c()},variant:"ghost",children:"Cancel"}),Object(h.jsx)(j.a,{hasArrow:!0,label:t,placement:"top",children:Object(h.jsx)(f.a,{hasIcon:!1,hasWarning:!1,href:t,noFollow:!0,onClick:function(e){if(!g){O(g);try{localStorage.setItem(o,JSON.stringify(g))}catch(t){}}null===r||void 0===r||r(e),c()},children:Object(h.jsx)(b.a,{colorScheme:"blue",ml:4,rightIcon:Object(h.jsx)(s.a,{}),tabIndex:0,variant:"ghost",children:"Proceed"})})})]})]})})})},p=Object(i.createContext)((function(e){return e.onClick})),v=function(){return Object(i.useContext)(p)},g=function(e){var t=e.children,n=Object(i.useState)(null),s=Object(a.a)(n,2),u=s[0],l=s[1],d=Object(c.a)({onClose:function(){l(null)}}),b=d.isOpen,j=d.onOpen,f=d.onClose,v=Object(i.useState)((function(){try{var e,t=null!==(e=localStorage.getItem(o))&&void 0!==e?e:"true";return JSON.parse(t)}catch(n){return!0}})),g=Object(a.a)(v,2),m=g[0],x=g[1],y=Object(i.useCallback)((function(e){var t=e.href,n=e.onClick;if(!m)return n;return function(e){l({href:t,onClick:n}),e.preventDefault(),j()}}),[j,m]);return Object(h.jsxs)(p.Provider,{value:y,children:[t,Object(h.jsx)(O,Object(r.a)({isOpen:b,onClose:f,setShouldWarn:x},u))]})}},109:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(4),a=n(0),c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Object(a.useState)(e),c=Object(r.a)(n,2),i=c[0],o=c[1],s=t.delay,u=void 0===s?250:s,l=t.onChange;return Object(a.useEffect)((function(){var t=setTimeout((function(){o(e),null===l||void 0===l||l(e)}),u);return function(){clearTimeout(t)}}),[e,u,l]),i}},11:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return c}));var r={PACKAGES_PREFIX:"/data",CATALOG_SUFFIX:"/catalog.json",ASSEMBLY_SUFFIX:"/assembly.json",METADATA_SUFFIX:"/metadata.json",CONFIG:"/config.json"},a={CDK_TYPE:"cdk",LANGUAGE:"lang",LANGUAGES:"langs",OFFSET:"offset",SEARCH_QUERY:"q",SORT:"sort",SUBMODULE:"submodule"},c={FAQ:"/faq",HOME:"/",PACKAGES:"/packages",SEARCH:"/search",SITE_TERMS:"/terms"}},112:function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return u})),n.d(t,"a",(function(){return l}));var r=n(5),a=n(4),c=n(11),i=new RegExp(/git@github\.com:([a-zA-Z-]+)+\/?([a-zA-Z-]+)*(\.git)?/),o=function(e){try{var t=e,n=e.match(i);if(n){var r=Object(a.a)(n,3),c=r[1],o=r[2];t="https://github.com/".concat(c,"/").concat(o)}return{hostname:new URL(t).hostname,url:t}}catch(s){return}},s=function(e,t){var n=e;if(t){var r=function(e,t){var n=new URLSearchParams(t);return Object.entries(e).filter((function(e){return null!=Object(a.a)(e,2)[1]})).forEach((function(e){var t=Object(a.a)(e,2),r=t[0],c=t[1];n.set(r,"".concat(c))})),n.toString()}(t);r&&(n+="?".concat(r))}return n},u=function(e){var t,n=e.cdkType,a=e.query,i=e.offset,o=e.language,u=e.languages,l=e.sort;return s(c.c.SEARCH,(t={},Object(r.a)(t,c.b.SEARCH_QUERY,a),Object(r.a)(t,c.b.CDK_TYPE,n),Object(r.a)(t,c.b.LANGUAGE,o),Object(r.a)(t,c.b.LANGUAGES,(null===u||void 0===u?void 0:u.length)?u.join(","):null),Object(r.a)(t,c.b.SORT,l),Object(r.a)(t,c.b.OFFSET,null!==i&&void 0!==i?i:0),t))},l=function(e){var t,n=e.name,a=e.version,i=e.language,o=e.submodule;return s("".concat(c.c.PACKAGES,"/").concat(n,"/v/").concat(a),(t={},Object(r.a)(t,c.b.SUBMODULE,o),Object(r.a)(t,c.b.LANGUAGE,i),t))}},113:function(e,t,n){"use strict";n.d(t,"a",(function(){return j}));var r=n(4),a=n(0),c=n(18),i=n(47),o=n(11),s=n(118),u=i.d.TypeScript,l="preferred-language",d=function(e){return null!=e&&i.e.has(e)},b=function(e){if(d(e))return e;try{var t,n=null!==(t=localStorage.getItem(l))&&void 0!==t?t:"";if(d(n))return n}catch(r){}return u},j=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.updateUrl,n=e.updateSaved,i=Object(c.h)(),u=i.pathname,j=i.hash,f=Object(c.g)(),h=f.replace,O=Object(s.a)(),p=O.get(o.b.LANGUAGE),v=Object(a.useState)((function(){return b(p)})),g=Object(r.a)(v,2),m=g[0],x=g[1];Object(a.useEffect)((function(){d(p)&&p!==m&&x(p)}),[p]),Object(a.useEffect)((function(){p!==m&&t&&(O.set(o.b.LANGUAGE,m),h({pathname:u,hash:j,search:O.toString()}))}),[m,t]);var y=Object(a.useCallback)((function(e){if(x(e),n)try{localStorage.setItem(l,e)}catch(t){}}),[n]);return Object(a.useMemo)((function(){return[m,y]}),[m,y])}},114:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return u}));var r=n(0),a=n(18),c=n(1),i=Object(r.createContext)({trackPageView:function(){}}),o=function(e){var t=e.children,n=Object(a.h)().pathname,o=Object(r.useRef)(null),s=Object(r.useCallback)((function(e){var t,r,a;o.current!==n&&(null===(t=window)||void 0===t||null===(r=t.AWSMA)||void 0===r||null===(a=r.ready)||void 0===a||a.call(r,(function(){document.dispatchEvent(new CustomEvent(window.AWSMA.TRIGGER_EVENT,{detail:e})),o.current=n})))}),[n]);return Object(c.jsx)(i.Provider,{value:{trackPageView:s},children:t})},s=n(6),u=function(e){var t=Object(r.useContext)(i).trackPageView,n=Object(a.h)().pathname,c=Object(r.useMemo)((function(){return{page:Object(s.a)({pageURL:window.location.href.replace("://localhost:3000","://constructs.local.dev")},e.page),event:{type:"pageview",name:e.event.name,description:e.event.description}}}),[n,e]);return Object(r.useCallback)((function(){return t(c)}),[t,c])}},116:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0),a=function(e,t){var n=t.limit,r=t.offset*n,a=r+n;return e.slice(r,a)},c=n(17),i=n(100),o=function(e){var t=e.cdkType,n=e.limit,o=e.offset,s=void 0===o?0:o,u=e.query,l=void 0===u?"":u,d=e.language,b=void 0===d?null:d,j=e.languages,f=e.sort,h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.query,n=e.filters,a=e.sort,o=Object(i.b)();if(!o)throw new Error("This hook can only be called within a descendant of a <SearchProvider />");return Object(r.useMemo)((function(){return Object(c.a)(o.search({query:t,filters:n,sort:a}).values())}),[o,t,n,a])}({filters:Object(r.useMemo)((function(){return{cdkType:t,language:null!==b&&void 0!==b?b:void 0,languages:j}}),[t,b,j]),query:l,sort:f}),O=function(e,t){var n=null!==t&&void 0!==t?t:{},c=n.limit,i=void 0===c?25:c,o=n.offset,s=void 0===o?0:o,u=e?Math.floor(e.length/i):0;return Object(r.useMemo)((function(){return{page:a(e,{limit:i,offset:s>u?u:s}),pageLimit:u}}),[e,i,s,u])}(h,{offset:s,limit:n}),p=O.page,v=O.pageLimit;return Object(r.useMemo)((function(){return{results:h,page:p,pageLimit:v}}),[p,v,h])}},117:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(6),a=n(21),c=n(188),i=n(1),o=Object(a.a)((function(e,t){return Object(i.jsx)(c.a,Object(r.a)({bg:"white",border:"base",borderRadius:"card",boxShadow:"base",p:2,ref:t},e))}));o.displayName="Card"},118:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(0),a=n(18),c=function(){var e=Object(a.h)().search;return Object(r.useMemo)((function(){return new URLSearchParams(e)}),[e])}},119:function(e,t,n){"use strict";n.d(t,"a",(function(){return y})),n.d(t,"b",(function(){return m}));var r=n(6),a=n(22),c=n(143),i=n(83),o=n(4),s=n(21),u=n(220),l=n(148),d=n(47),b=n(208),j=n(216),f=n(193),h=n(1),O=n(56),p=Object(O.a)("catalogSearch",["form","input","languageDropdown","languageDropdownMenu","languageDropdownValue","languageItem","submit"]),v=Object.fromEntries(Object.entries(d.b).filter((function(e){var t=Object(o.a)(e,1)[0];return d.e.has(t)}))),g=function(e){var t=e.placeholder,n=e.items,r=e.onSelect,a=e.selected,c=e.testIds,i=a?n[a]:t,s=Object.entries(n);return Object(h.jsxs)(j.a,{strategy:"fixed",children:[Object(h.jsx)(j.b,{as:l.a,bg:"white",borderColor:"blue.100",boxShadow:"base","data-testid":c.trigger,rightIcon:Object(h.jsx)(b.a,{color:"blue.500"}),variant:"outline",children:Object(h.jsx)(f.a,{"data-testid":c.value,children:i})}),Object(h.jsxs)(j.f,{"data-testid":c.menu,children:[Object(h.jsx)(j.e,{"data-testid":c.item,onClick:function(){return r()},children:"Any"}),s.map((function(e){var t=Object(o.a)(e,2),n=t[0],a=t[1];return Object(h.jsx)(j.e,{"data-testid":c.item,onClick:function(){return r(n)},children:a},n)}))]})]})},m=Object(s.a)((function(e,t){var n=e.query,r=e.onQueryChange,a=e.language,c=e.onLanguageChange;return Object(h.jsxs)(h.Fragment,{children:[Object(h.jsx)(u.a,{bg:"white",borderColor:"blue.100",boxShadow:"base","data-testid":p.input,name:"query",onChange:r,placeholder:"Search Constructs...",ref:t,value:n}),Object(h.jsx)(g,{items:v,onSelect:c,placeholder:"Language...",selected:a,testIds:{item:p.languageItem,menu:p.languageDropdownMenu,trigger:p.languageDropdown,value:p.languageDropdownValue}}),Object(h.jsx)(l.a,{boxShadow:"base",colorScheme:"blue","data-testid":p.submit,type:"submit",children:"Search"})]})})),x=["onSubmit"],y=function(e){var t=e.onSubmit,n=Object(a.a)(e,x);return Object(h.jsx)(i.a,{"data-testid":p.form,onSubmit:t,children:Object(h.jsx)(c.a,{autoRows:"1fr",gap:4,templateColumns:{sm:"1fr",md:"3fr 1fr 1fr"},width:"full",children:Object(h.jsx)(m,Object(r.a)({},n))})})}},120:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(4),a=n(0),c=n(18),i=n(112),o=function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=Object(a.useState)(null!==(e=n.defaultQuery)&&void 0!==e?e:""),s=Object(r.a)(o,2),u=s[0],l=s[1],d=Object(a.useState)(n.defaultCdkType),b=Object(r.a)(d,2),j=b[0],f=b[1],h=Object(a.useState)(null!==(t=n.defaultLanguages)&&void 0!==t?t:[]),O=Object(r.a)(h,2),p=O[0],v=O[1],g=Object(a.useState)(n.defaultLanguage),m=Object(r.a)(g,2),x=m[0],y=m[1],S=Object(a.useState)(),w=Object(r.a)(S,2),k=w[0],C=w[1],E=Object(c.g)(),A=E.push,T=function(e){e.preventDefault(),l(e.target.value)},M=Object(a.useCallback)((function(){A(Object(i.c)({cdkType:j,language:x,languages:p,query:u}))}),[j,x,p,A,u]),I=Object(a.useCallback)((function(e){null===e||void 0===e||e.preventDefault(),M()}),[M]);return Object(a.useMemo)((function(){return{cdkType:j,language:x,languages:p,onLanguageChange:y,onQueryChange:T,onSearch:M,onSubmit:I,query:u,setCdkType:f,setLanguage:y,setLanguages:v,setQuery:l,setSort:C,sort:k}}),[j,x,p,M,I,u,k])}},135:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(6),a=n(22),c=n(21),i=n(212),o=n(1),s=["name","onClick"],u=Object(c.a)((function(e,t){var n=e.name,c=e.onClick,u=Object(a.a)(e,s);return Object(o.jsx)(i.a,Object(r.a)(Object(r.a)({alignItems:"center",display:"flex",fontSize:"lg",h:12,lineHeight:"base",listStyleType:"none",onClick:c,onKeyDown:function(e){"Enter"===e.key&&c()},px:4,ref:t,role:"option",sx:{":hover, :focus":{bg:"gray.100"}},tabIndex:0},u),{},{children:n}))}));u.displayName="SearchItem"},161:function(e,t,n){},168:function(e,t,n){"use strict";n.r(t);var r={};n.r(r),n.d(r,"initialize",(function(){return D})),n.d(r,"access",(function(){return G})),n.d(r,"checkForCookieConsent",(function(){return N})),n.d(r,"customizeCookies",(function(){return L})),n.d(r,"getConsentCookie",(function(){return W})),n.d(r,"hasConsent",(function(){return U}));var a,c,i=n(0),o=n.n(i),s=n(79),u=n.n(s),l=n(29),d=(n(161),n(143)),b=n(18),j=n(200),f=n(202),h=n(196),O=n(188),p=n(199),v=n(193),g=n(201),m=n(117),x=n(55),y=n(1),S="showing-dev-preview-banner",w=function(){var e,t=Object(h.a)({defaultIsOpen:JSON.parse(null!==(e=window.sessionStorage.getItem(S))&&void 0!==e?e:"true"),onClose:function(){return window.sessionStorage.setItem(S,"false")}}),n=t.isOpen,r=t.onClose;return Object(y.jsx)(O.a,{h:"max-content",children:Object(y.jsx)(p.a,{in:n,children:Object(y.jsxs)(m.a,{"aria-label":"Preview Banner",bg:"blue.500",border:"none",boxShadow:"none",color:"white",mt:4,mx:4,p:4,position:"relative",role:"alertdialog",children:[Object(y.jsx)(j.a,{h:5,left:4,position:"absolute",top:4,w:5}),Object(y.jsxs)(v.a,{fontSize:"md",mx:8,textAlign:"center",children:["This application is in Dev Preview. Some features may change. If you find any issues, please report them"," ",Object(y.jsx)(x.a,{color:"inherit",hasWarning:!1,href:"https://github.com/cdklabs/construct-hub-webapp/issues",textDecoration:"underline",children:"here"})]}),Object(y.jsx)(g.a,{"aria-label":"Dismiss banner",colorScheme:"white",icon:Object(y.jsx)(f.a,{}),onClick:r,position:"absolute",right:4,size:"xs",top:3,variant:"ghost"})]})})})},k=n(4),C=n(203),E=n(204),A=n(205),T=n(148),M=n(22),I=n(32),P=n.n(I),z=n(49),F=function(){new URLSearchParams(window.location.search).get("sb")},D=function(){var e=Object(z.a)(P.a.mark((function e(){return P.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,t){window.addEventListener("load",Object(z.a)(P.a.mark((function r(){var c,i,o;return P.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,c={domain:window.location.hostname,language:navigator.language,__storeWriter:F()},r.next=4,n.e(15).then(n.t.bind(null,588,7));case 4:i=r.sent,o=i.AWSCShortbread,a=o(c),e(),r.next=13;break;case 10:r.prev=10,r.t0=r.catch(0),t(r.t0);case 13:case"end":return r.stop()}}),r,null,[[0,10]])}))))})));case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),R=function(e){return function(){var t;if(!a)throw new Error("shortbread has not been initialized");return(t=a)[e].apply(t,arguments)}},G=R("access"),N=R("checkForCookieConsent"),L=R("customizeCookies"),W=R("getConsentCookie"),U=R("hasConsent"),H=D,_=Object(M.a)(r,["initialize"]),q=Object(i.createContext)({}),B=function(e){var t=e.children,n=Object(i.useState)(!1),r=Object(k.a)(n,2),a=r[0],c=r[1];return Object(i.useEffect)((function(){var e=!1;return H().then((function(){e||(_.checkForCookieConsent(),c(!0))})).catch((function(t){console.error(t),e||c(!1)})),function(){e=!0,c(!1)}}),[]),Object(y.jsx)(q.Provider,{value:a?_:{},children:t})},V=n(82),J=n(11),K={SERVICE_TERMS:{display:"AWS Service Terms",url:"https://aws.amazon.com/service-terms/",testId:"service-terms"},PRIVACY:{display:"Privacy",url:"https://aws.amazon.com/privacy/",testId:"privacy"},SITE_TERMS:{display:"Site Terms",url:J.c.SITE_TERMS,testId:"site-terms",isExternal:!1},LEGAL:{display:"Legal",url:"https://aws.amazon.com/legal/",testId:"legal"}},Q=n(17),Y=n(56),X=Object(Y.a)("footer",["container","links","disclaimer","manageCookies"].concat(Object(Q.a)(Object.values(K).map((function(e){return e.testId}))))),Z=function(){var e=Object(i.useContext)(q).customizeCookies;return Object(y.jsxs)(C.a,{align:"center",as:"footer",bg:"blue.800",color:"white","data-testid":X.container,direction:"column",justify:"center",py:4,children:[Object(y.jsx)(E.a,{columnGap:6,columns:[1,2,4],"data-testid":X.links,children:Object.entries(K).map((function(e,t){var n=Object(k.a)(e,2),r=n[0],a=n[1],c=a.display,i=a.isExternal,o=void 0===i||i,s=a.testId,u=a.url;return Object(y.jsxs)(C.a,{align:"center",direction:{base:"column",md:"row"},children:[Object(y.jsx)(O.a,{display:{base:"none",md:0!==t?"initial":"none"},h:5,children:Object(y.jsx)(A.a,{borderColor:"white",mr:6,orientation:"vertical"})}),o?Object(y.jsx)(x.a,{color:"currentcolor","data-testid":X[s],hasWarning:!1,href:u,lineHeight:10,mx:"auto",children:c}):Object(y.jsx)(V.a,{color:"currentcolor","data-testid":X[s],lineHeight:10,mx:"auto",to:u,children:c}),Object(y.jsx)(O.a,{display:{base:"none",sm:t<2?"initial":"none",md:"none"},w:"100%",children:Object(y.jsx)(A.a,{borderColor:"white"})})]},r)}))}),Object(y.jsx)(v.a,{"data-testid":X.disclaimer,fontSize:"xs",mt:4,children:"2021 Amazon Web Services, Inc. All rights reserved."}),Object(y.jsx)(T.a,{color:"white","data-testid":X.manageCookies,fontSize:"xs",fontWeight:"normal",mt:4,onClick:e,variant:"link",children:"Manage Cookies"})]})},$=n(6),ee=[{display:"FAQ",isNavLink:!0,url:"/faq"},{display:"Construct Hub on GitHub",url:"https://github.com/cdklabs/construct-hub"},{display:"Issues on GitHub",url:"https://github.com/cdklabs/construct-hub/issues"}],te=[{display:"AWS CDK",links:[{display:"Home",url:"https://aws.amazon.com/cdk/"},{display:"Getting Started",url:"https://docs.aws.amazon.com/cdk/latest/guide/getting_started.html"},{display:"Workshop",url:"https://cdkworkshop.com/"},{display:"Best Practices",url:"https://aws.amazon.com/blogs/devops/best-practices-for-developing-cloud-applications-with-aws-cdk"}]},{display:"CDK for Terraform",links:[{display:"Getting Started",url:"https://learn.hashicorp.com/tutorials/terraform/cdktf"},{display:"Tutorials",url:"https://learn.hashicorp.com/collections/terraform/cdktf"}]},{display:"CDK for Kubernetes",links:[{display:"Home",url:"https://cdk8s.io"},{display:"Getting Started",url:"https://cdk8s.io/docs/latest/getting-started"},{display:"Documentation",url:"https://cdk8s.io/docs/latest"},{display:"API Reference",url:"https://cdk8s.io/docs/latest/reference/index.html"}]},{display:"Community",links:[{display:"Slack",url:"https://join.slack.com/t/cdk-dev/shared_invite/zt-mso6p56d-qJp7SOTBvMaQuDrx7R2wHg"},{display:"Community Hub",url:"https://cdk.dev"}]}],ne=n(216),re=["children"],ae=function(e){var t=e.children,n=Object(M.a)(e,re);return Object(y.jsx)(ne.a,Object($.a)(Object($.a)({colorScheme:"blue.800",strategy:"fixed"},n),{},{children:t}))},ce=n(21),ie=["items"],oe=function(e){var t=e.display,n=e.isNavLink,r=e.url;return n?Object(y.jsx)(V.a,{color:"blue.500",to:r,children:t}):Object(y.jsx)(x.a,{alignItems:"center",display:"flex",hasWarning:!1,href:r,justifyContent:"space-between",w:"100%",children:t})},se=Object(ce.a)((function(e,t){var n=e.items,r=Object(M.a)(e,ie);return Object(y.jsx)(ne.f,Object($.a)(Object($.a)({},r),{},{ref:t,children:n.map((function(e,t){return"links"in e?Object(y.jsxs)(i.Fragment,{children:[Object(y.jsx)(ne.d,{align:"left",title:e.display,children:e.links.map((function(e,t){return Object(y.jsx)(ne.e,{children:Object(y.jsx)(oe,Object($.a)({},e))},"".concat(e.display,"-").concat(t))}))}),t!==n.length-1&&Object(y.jsx)(ne.c,{})]},"".concat(e.display,"-").concat(t)):Object(y.jsx)(ne.e,{children:Object(y.jsx)(oe,Object($.a)({},e))},"".concat(e.display,"-").concat(t))}))}))})),ue=n(208),le=["children"],de=Object(ce.a)((function(e,t){var n=e.children,r=Object(M.a)(e,le);return Object(y.jsx)(ne.b,Object($.a)(Object($.a)({as:T.a,color:"blue.800",fontWeight:"500",ref:t,rightIcon:Object(y.jsx)(ue.a,{h:6,w:6}),size:"md",variant:"link"},r),{},{children:n}))})),be=Object(Y.a)("header",["container","title","gettingStartedTrigger","gettingStartedMenu","resourcesTrigger","resourcesMenu","navOpen","navClose","searchButton","searchIcon","mobileNav"]),je=function(){return Object(y.jsxs)(ae,{children:[Object(y.jsx)(de,{"data-testid":be.gettingStartedTrigger,children:"Getting Started"}),Object(y.jsx)(se,{"data-testid":be.gettingStartedMenu,items:ee})]})},fe=n(210),he=n(223),Oe=n(224),pe=n(43),ve=n(225),ge=function(){return Object(y.jsxs)(ae,{children:[Object(y.jsx)(de,{"data-testid":be.resourcesTrigger,children:"Resources"}),Object(y.jsx)(se,{"data-testid":be.resourcesMenu,items:te})]})},me=n(209),xe=function(){return Object(y.jsx)(me.a,{as:"h1",color:"blue.800","data-testid":be.title,size:"lg",children:Object(y.jsxs)(l.b,{to:"/",children:[Object(y.jsx)(O.a,{as:"span",color:"blue.500",children:"Construct"})," ","Hub"]})})},ye=function(e){var t=e.isOpen,n=e.onClose;return Object(y.jsx)(he.a,{children:Object(y.jsxs)(Oe.a,{isOpen:t,onClose:n,placement:"left",size:"xs",children:[Object(y.jsx)(pe.h,{}),Object(y.jsxs)(Oe.b,{"data-testid":be.mobileNav,children:[Object(y.jsx)(pe.c,{}),Object(y.jsx)(pe.g,{display:"flex",justifyContent:"center",children:Object(y.jsx)(xe,{})}),Object(y.jsx)(pe.b,{children:Object(y.jsxs)(ve.a,{align:"start",justify:"start",spacing:4,children:[Object(y.jsx)(je,{}),Object(y.jsx)(ge,{})]})})]})]})})},Se=function(){var e=Object(h.a)();return Object(y.jsxs)(y.Fragment,{children:[Object(y.jsx)(g.a,{"aria-label":"Navigation Menu",borderRadius:"md","data-testid":be.navOpen,display:{md:"none"},icon:Object(y.jsx)(fe.a,{}),onClick:e.onOpen,variant:"ghost"}),Object(y.jsx)(ye,Object($.a)({},e))]})},we=n(213),ke=n(212),Ce=n(116),Ee=n(120),Ae=n(109),Te=n(113),Me=n(119),Ie=n(83),Pe=n(135),ze=Object(Y.a)("searchModal",["container"]),Fe=["onSubmit"],De=function(e){var t=e.isOpen,n=e.onClose,r=Object(b.g)().push,a=Object(Te.a)(),c=Object(k.a)(a,1)[0],o=Object(Ee.a)(),s=o.onSubmit,u=Object(M.a)(o,Fe),l=Object(Ae.a)(u.query),d=Object(Ae.a)(u.language),j=Object(Ce.a)({limit:5,offset:0,query:l,language:d}).page,f=(l||d)&&j.length>0,h=Object(i.useRef)(null);return Object(y.jsx)(he.a,{children:Object(y.jsx)(pe.a,{initialFocusRef:h,isOpen:t,onClose:n,children:Object(y.jsx)(pe.h,{children:Object(y.jsxs)(pe.d,{"data-testid":ze.container,children:[Object(y.jsx)(pe.c,{}),Object(y.jsx)(pe.g,{children:"Search modules or providers"}),Object(y.jsxs)(pe.b,{children:[Object(y.jsx)(Ie.a,{onSubmit:function(e){n(),s(e)},pb:4,children:Object(y.jsx)(ve.a,{spacing:4,children:Object(y.jsx)(Me.b,Object($.a)({ref:h},u))})}),f&&Object(y.jsxs)(y.Fragment,{children:[Object(y.jsx)(A.a,{}),Object(y.jsx)(me.a,{fontSize:"md",my:4,textAlign:"center",children:"Suggestions"}),Object(y.jsx)(ke.c,{children:j.map((function(e){return Object(y.jsx)(Pe.a,{name:e.name,onClick:function(){return t="".concat(J.c.PACKAGES,"/").concat(e.name,"/v/").concat(e.version,"?").concat(J.b.LANGUAGE,"=").concat(null!==d&&void 0!==d?d:c),n(),void r(t);var t}},e.id)}))})]})]})]})})})})},Re=function(){var e=Object(h.a)(),t=Object(b.h)().pathname;return[J.c.HOME,J.c.SEARCH].some((function(e){return e===t}))?null:Object(y.jsxs)(y.Fragment,{children:[Object(y.jsx)(T.a,{align:"center",color:"gray.600",colorScheme:"gray","data-testid":be.searchButton,display:{base:"none",md:"flex"},fontWeight:"medium",justifyContent:"space-between",m:"0 auto",maxW:"500px",onClick:e.onOpen,rightIcon:Object(y.jsx)(we.a,{color:"gray.600",ml:4}),variant:"outline",w:"100%",children:"Search Constructs..."}),Object(y.jsx)(g.a,{"aria-label":"Search Icon",borderRadius:"md","data-testid":be.searchIcon,display:{base:"initial",md:"none"},icon:Object(y.jsx)(we.a,{color:"gray.600"}),onClick:e.onOpen,variant:"ghost"}),Object(y.jsx)(De,Object($.a)({},e))]})},Ge=function(e){return Object(y.jsx)(d.b,Object($.a)({align:"center",justify:"center",rowStart:1},e))},Ne=function(){return Object(y.jsxs)(d.a,{alignItems:"center",as:"header",bg:"white",boxShadow:"base","data-testid":be.container,gap:4,gridTemplateColumns:{base:"1fr 3fr 1fr",md:"minmax(200px, 2fr) minmax(200px, 3fr) 2fr"},gridTemplateRows:"1fr",maxW:"100vw",position:"sticky",px:4,py:4,top:0,w:"100%",zIndex:"sticky",children:[Object(y.jsx)(Ge,{colStart:{base:2,md:1},justifySelf:{base:"center",md:"start"},children:Object(y.jsx)(xe,{})}),Object(y.jsx)(Ge,{colStart:{base:3,md:2},justifySelf:{base:"end",md:"stretch"},children:Object(y.jsx)(Re,{})}),Object(y.jsxs)(Ge,{colStart:{base:1,md:3},justifySelf:{base:"start",md:"end"},children:[Object(y.jsxs)(d.a,{display:{base:"none",md:"grid"},gap:4,gridTemplateColumns:"1fr 1fr",gridTemplateRows:"1fr",placeItems:"center",w:"100%",children:[Object(y.jsx)(O.a,{children:Object(y.jsx)(je,{})}),Object(y.jsx)(O.a,{children:Object(y.jsx)(ge,{})})]}),Object(y.jsx)(Se,{})]})]})},Le=n(73),We=["component"],Ue=function(e){var t=e.component,n=Object(M.a)(e,We);return Object(y.jsx)(b.b,Object($.a)(Object($.a)({},n),{},{children:Object(y.jsx)(i.Suspense,{fallback:Object(y.jsx)(Le.a,{}),children:Object(y.jsx)(t,{})})}))},He=n(87),_e=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(13)]).then(n.bind(null,593))})),qe=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(1),n.e(2),n.e(12)]).then(n.bind(null,597))})),Be=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(1),n.e(9)]).then(n.bind(null,596))})),Ve=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(10)]).then(n.bind(null,269))})),Je=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(1),n.e(5),n.e(7)]).then(n.bind(null,590))})),Ke=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(1),n.e(2),n.e(11)]).then(n.bind(null,598))})),Qe=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(1),n.e(8)]).then(n.bind(null,594))})),Ye=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(14)]).then(n.bind(null,599))})),Xe=function(){var e,t=Object(He.b)(),n=t.data,r=t.loading,a=null!==(e=null===n||void 0===n?void 0:n.featureFlags)&&void 0!==e?e:{},c=(null===a||void 0===a?void 0:a.homeRedesign)||(null===a||void 0===a?void 0:a.searchRedesign);return Object(y.jsxs)(d.a,{as:"main",bg:"bgPrimary",gridTemplateColumns:"1fr",gridTemplateRows:"auto auto 1fr auto",h:"100%",inset:0,maxW:"100vw",overflow:"hidden auto",position:"fixed",children:[Object(y.jsx)(Ne,{}),r||c?Object(y.jsx)("div",{}):Object(y.jsx)(w,{}),r?Object(y.jsx)(Le.a,{}):Object(y.jsxs)(b.d,{children:[Object(y.jsx)(Ue,{component:_e,exact:!0,path:J.c.FAQ}),Object(y.jsx)(Ue,{component:(null===a||void 0===a?void 0:a.homeRedesign)?Be:qe,exact:!0,path:J.c.HOME}),Object(y.jsx)(Ue,{component:Ye,exact:!0,path:J.c.SITE_TERMS}),Object(y.jsx)(Ue,{component:Je,path:J.c.PACKAGES}),Object(y.jsx)(Ue,{component:(null===a||void 0===a?void 0:a.searchRedesign)?Qe:Ke,exact:!0,path:J.c.SEARCH}),Object(y.jsx)(Ue,{component:Ve,path:"*"})]}),Object(y.jsx)(Z,{})]})},Ze=n(114),$e=n(86),et=n(101),tt=n(100),nt=n(218),rt=n(214),at=n(96),ct=at.theme.components.Code,it=Object($.a)(Object($.a)({},ct),{},{variants:Object($.a)(Object($.a)({},ct.variants),{},{"code-block":Object($.a)(Object($.a)({},ct.variants.subtle),{},{display:"block",whiteSpace:"pre"})})}),ot=function(e,t){return function(n){var r="function"===typeof e?e(n):e;return Object($.a)(Object($.a)({},r),{},{container:Object($.a)(Object($.a)({},r.container),t)})}},st=at.theme.components.Tag,ut=Object($.a)(Object($.a)({},st),{},{baseStyle:{container:{fontWeight:"normal"}},variants:Object($.a)(Object($.a)({},st.variants),{},{subtle:ot(st.variants.subtle,{background:"#F2F2F2",color:"blue.800"}),official:ot(st.variants.subtle,{background:"rgba(33, 150, 83, 0.1)",color:"#219653"})})}),lt=Object($.a)(Object($.a)({},at.theme.components),{},{Code:it,Divider:{defaultProps:{borderColor:"rgba(0, 124, 253, 0.15)"}},Tag:ut}),dt={borders:{base:"1px solid rgba(0, 124, 253, 0.15)"},colors:Object($.a)(Object($.a)({},at.theme.colors),{},{blue:{50:"#dcf3ff",100:"#aed9ff",200:"#7dbeff",300:"#4aa4ff",400:"#1a8aff",500:"#0070e6",600:"#0057b4",700:"#003e82",800:"#002551",900:"#000d21"},bgPrimary:"#F8F8F8"}),radii:{card:"0.75rem"},sizes:{container:{"2xl":"1920px"}},shadows:{base:"0px 4px 15px rgba(40, 132, 178, 0.15)"}},bt=Object(rt.a)(Object($.a)(Object($.a)({},dt),{},{components:lt})),jt=function(e){var t=e.children;return Object(y.jsx)(nt.a,{resetCSS:!0,theme:bt,children:t})},ft=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)),ht=function(e,t){navigator.serviceWorker.register(e).then((function(e){e.onupdatefound=function(){var n=e.installing;null!=n&&(n.onstatechange=function(){"installed"===n.state&&(navigator.serviceWorker.controller?(console.log("New content is available and will be used when all tabs for this page are closed. See https://cra.link/PWA."),t&&t.onUpdate&&t.onUpdate(e)):(console.log("Content is cached for offline use."),t&&t.onSuccess&&t.onSuccess(e)))})}})).catch((function(e){console.error("Error during service worker registration:",e)}))};u.a.render(Object(y.jsx)(o.a.StrictMode,{children:Object(y.jsx)(l.a,{children:Object(y.jsx)(B,{children:Object(y.jsx)(Ze.a,{children:Object(y.jsx)(He.a,{children:Object(y.jsx)($e.a,{children:Object(y.jsx)(tt.a,{children:Object(y.jsx)(jt,{children:Object(y.jsx)(et.a,{children:Object(y.jsx)(Xe,{})})})})})})})})})}),document.getElementById("root")),c&&c instanceof Function&&n.e(16).then(n.bind(null,589)).then((function(e){var t=e.getCLS,n=e.getFID,r=e.getFCP,a=e.getLCP,i=e.getTTFB;t(c),n(c),r(c),a(c),i(c)}),(function(){})),function(e){if("serviceWorker"in navigator){if(new URL("",window.location.href).origin!==window.location.origin)return;window.addEventListener("load",(function(){var t="".concat("","/service-worker.js");ft?(!function(e,t){fetch(e,{headers:{"Service-Worker":"script"}}).then((function(n){var r=n.headers.get("content-type");404===n.status||null!=r&&-1===r.indexOf("javascript")?navigator.serviceWorker.ready.then((function(e){e.unregister().then((function(){window.location.reload()}))})):ht(e,t)})).catch((function(){console.log("No internet connection found. App is running in offline mode.")}))}(t,e),navigator.serviceWorker.ready.then((function(){console.log("This web app is being served cache-first by a service worker. To learn more, visit https://cra.link/PWA")}))):ht(t,e)}))}}()},47:function(e,t,n){"use strict";n.d(t,"d",(function(){return c})),n.d(t,"a",(function(){return l})),n.d(t,"b",(function(){return d})),n.d(t,"e",(function(){return b})),n.d(t,"c",(function(){return j}));var r,a,c,i=n(5),o=n(6),s=n(102),u=n(1);!function(e){e.DotNet="dotnet",e.TypeScript="typescript",e.Python="python",e.Go="golang",e.Java="java"}(c||(c={}));var l=[c.TypeScript,c.Python,c.Java,c.Go,c.DotNet],d=(r={},Object(i.a)(r,c.TypeScript,"TypeScript"),Object(i.a)(r,c.Python,"Python"),Object(i.a)(r,c.Java,"Java"),Object(i.a)(r,c.Go,"Go"),Object(i.a)(r,c.DotNet,".NET"),r),b=new Set([c.Python,c.TypeScript,c.Java]),j=(a={},Object(i.a)(a,c.TypeScript,{name:d.typescript,icon:function(e){return Object(u.jsxs)(s.a,Object(o.a)(Object(o.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 256 256",children:[Object(u.jsx)("path",{d:"M0 128v128h256V0H0z",fill:"#007ACC"}),Object(u.jsx)("path",{d:"M56.611 128.85l-.081 10.483h33.32v94.68h23.57v-94.68h33.32v-10.28c0-5.69-.122-10.444-.284-10.566-.122-.162-20.399-.244-44.983-.203l-44.739.122-.122 10.443zM206.567 118.108c6.501 1.626 11.459 4.51 16.01 9.224 2.357 2.52 5.851 7.112 6.136 8.209.08.325-11.053 7.802-17.798 11.987-.244.163-1.22-.894-2.317-2.52-3.291-4.794-6.745-6.867-12.028-7.232-7.76-.529-12.759 3.535-12.718 10.32 0 1.992.284 3.17 1.097 4.796 1.707 3.535 4.876 5.648 14.832 9.955 18.326 7.884 26.168 13.085 31.045 20.48 5.445 8.25 6.664 21.415 2.966 31.208-4.063 10.646-14.14 17.88-28.323 20.277-4.388.772-14.79.65-19.504-.203-10.28-1.829-20.033-6.908-26.047-13.572-2.357-2.601-6.949-9.387-6.664-9.875.122-.162 1.178-.812 2.356-1.503 1.138-.65 5.446-3.13 9.509-5.486l7.355-4.267 1.544 2.276c2.154 3.291 6.867 7.802 9.712 9.305 8.167 4.308 19.383 3.698 24.909-1.26 2.357-2.153 3.332-4.388 3.332-7.68 0-2.966-.366-4.266-1.91-6.5-1.99-2.845-6.054-5.243-17.595-10.24-13.206-5.69-18.895-9.225-24.096-14.833-3.007-3.25-5.852-8.452-7.03-12.8-.975-3.616-1.22-12.678-.447-16.335 2.723-12.76 12.353-21.658 26.25-24.3 4.51-.853 14.994-.528 19.424.57z",fill:"#FFF"})]}))}}),Object(i.a)(a,c.Python,{name:d.python,icon:function(e){return Object(u.jsxs)(s.a,Object(o.a)(Object(o.a)({},e),{},{version:"1.0",viewBox:"0 0 110.421 109.846",children:[Object(u.jsxs)("defs",{children:[Object(u.jsxs)("linearGradient",{id:"a",children:[Object(u.jsx)("stop",{offset:"0",stopColor:"#ffe052"}),Object(u.jsx)("stop",{offset:"1",stopColor:"#ffc331"})]}),Object(u.jsx)("linearGradient",{gradientUnits:"userSpaceOnUse",id:"d",x1:"89.137",x2:"147.777",xlinkHref:"#a",y1:"111.921",y2:"168.101"}),Object(u.jsxs)("linearGradient",{id:"b",children:[Object(u.jsx)("stop",{offset:"0",stopColor:"#387eb8"}),Object(u.jsx)("stop",{offset:"1",stopColor:"#366994"})]}),Object(u.jsx)("linearGradient",{gradientUnits:"userSpaceOnUse",id:"c",x1:"55.549",x2:"110.149",xlinkHref:"#b",y1:"77.07",y2:"131.853"})]}),Object(u.jsxs)("g",{color:"#000",children:[Object(u.jsx)("path",{d:"M99.75 67.469c-28.032 0-26.281 12.156-26.281 12.156l.031 12.594h26.75V96H62.875s-17.938-2.034-17.938 26.25 15.657 27.281 15.657 27.281h9.343v-13.125s-.503-15.656 15.407-15.656h26.531s14.906.241 14.906-14.406V82.125s2.263-14.656-27.031-14.656zM85 75.938a4.808 4.808 0 014.813 4.812A4.808 4.808 0 0185 85.563a4.808 4.808 0 01-4.813-4.813A4.808 4.808 0 0185 75.937z",fill:"url(#c)",overflow:"visible",style:{marker:"none"},transform:"translate(-44.938 -67.469)"}),Object(u.jsx)("path",{d:"M100.546 177.315c28.032 0 26.281-12.156 26.281-12.156l-.03-12.594h-26.75v-3.781h37.374s17.938 2.034 17.938-26.25c0-28.285-15.657-27.282-15.657-27.282h-9.343v13.125s.503 15.657-15.407 15.657h-26.53s-14.907-.241-14.907 14.406v24.219s-2.263 14.656 27.031 14.656zm14.75-8.469a4.808 4.808 0 01-4.812-4.812 4.808 4.808 0 014.812-4.813 4.808 4.808 0 014.813 4.813 4.808 4.808 0 01-4.813 4.812z",fill:"url(#d)",overflow:"visible",style:{marker:"none"},transform:"translate(-44.938 -67.469)"})]})]}))}}),Object(i.a)(a,c.Java,{name:d.java,icon:function(e){return Object(u.jsxs)(s.a,Object(o.a)(Object(o.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 256 346",children:[Object(u.jsx)("path",{d:"M82.554 267.473s-13.198 7.675 9.393 10.272c27.369 3.122 41.356 2.675 71.517-3.034 0 0 7.93 4.972 19.003 9.279-67.611 28.977-153.019-1.679-99.913-16.517M74.292 229.659s-14.803 10.958 7.805 13.296c29.236 3.016 52.324 3.263 92.276-4.43 0 0 5.526 5.602 14.215 8.666-81.747 23.904-172.798 1.885-114.296-17.532",fill:"#5382A1"}),Object(u.jsx)("path",{d:"M143.942 165.515c16.66 19.18-4.377 36.44-4.377 36.44s42.301-21.837 22.874-49.183c-18.144-25.5-32.059-38.172 43.268-81.858 0 0-118.238 29.53-61.765 94.6",fill:"#E76F00"}),Object(u.jsx)("path",{d:"M233.364 295.442s9.767 8.047-10.757 14.273c-39.026 11.823-162.432 15.393-196.714.471-12.323-5.36 10.787-12.8 18.056-14.362 7.581-1.644 11.914-1.337 11.914-1.337-13.705-9.655-88.583 18.957-38.034 27.15 137.853 22.356 251.292-10.066 215.535-26.195M88.9 190.48s-62.771 14.91-22.228 20.323c17.118 2.292 51.243 1.774 83.03-.89 25.978-2.19 52.063-6.85 52.063-6.85s-9.16 3.923-15.787 8.448c-63.744 16.765-186.886 8.966-151.435-8.183 29.981-14.492 54.358-12.848 54.358-12.848M201.506 253.422c64.8-33.672 34.839-66.03 13.927-61.67-5.126 1.066-7.411 1.99-7.411 1.99s1.903-2.98 5.537-4.27c41.37-14.545 73.187 42.897-13.355 65.647 0 .001 1.003-.895 1.302-1.697",fill:"#5382A1"}),Object(u.jsx)("path",{d:"M162.439.371s35.887 35.9-34.037 91.101c-56.071 44.282-12.786 69.53-.023 98.377-32.73-29.53-56.75-55.526-40.635-79.72C111.395 74.612 176.918 57.393 162.439.37",fill:"#E76F00"}),Object(u.jsx)("path",{d:"M95.268 344.665c62.199 3.982 157.712-2.209 159.974-31.64 0 0-4.348 11.158-51.404 20.018-53.088 9.99-118.564 8.824-157.399 2.421.001 0 7.95 6.58 48.83 9.201",fill:"#5382A1"})]}))}}),Object(i.a)(a,c.Go,{name:d.golang,icon:function(e){return Object(u.jsx)(s.a,Object(o.a)(Object(o.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 512 192",children:Object(u.jsx)("path",{d:"M292.533 13.295l1.124.75c13.212 8.725 22.685 20.691 28.917 35.15 1.496 2.243.499 3.49-2.493 4.237l-5.063 1.296c-11.447 2.949-20.53 5.429-31.827 8.378l-6.443 1.678c-2.32.574-2.96.333-5.428-2.477l-.348-.399c-3.519-3.988-6.155-6.652-10.817-9.03l-.899-.443c-15.705-7.727-30.911-5.484-45.12 3.74-16.952 10.968-25.677 27.172-25.428 47.364.25 19.942 13.96 36.395 33.654 39.137 16.951 2.244 31.16-3.739 42.378-16.452 2.244-2.743 4.238-5.734 6.73-9.224h-48.11c-5.235 0-6.481-3.24-4.736-7.478l.864-2.035c3.204-7.454 8.173-18.168 11.4-24.294l.704-1.319c.862-1.494 2.612-3.513 5.977-3.513h80.224c3.603-11.415 9.449-22.201 17.246-32.407 18.198-23.931 40.135-36.396 69.8-41.63 25.427-4.488 49.359-1.995 71.046 12.713 19.694 13.461 31.909 31.66 35.15 55.59 4.237 33.654-5.485 61.075-28.668 84.508-16.453 16.702-36.645 27.172-59.829 31.908-6.73 1.247-13.461 1.496-19.942 2.244-22.685-.499-43.376-6.98-60.826-21.937-12.273-10.61-20.727-23.648-24.928-38.828a104.937 104.937 0 01-10.47 16.89c-17.949 23.683-41.381 38.39-71.046 42.38-24.43 3.24-47.115-1.497-67.058-16.454-18.447-13.96-28.917-32.407-31.66-55.34-3.24-27.173 4.737-51.603 21.19-73.041 17.7-23.184 41.132-37.891 69.8-43.126 22.999-4.16 45.037-1.595 64.936 11.464zM411.12 49.017l-.798.178c-23.183 5.235-38.14 19.942-43.624 43.375-4.488 19.444 4.985 39.138 22.934 47.115 13.71 5.983 27.421 5.235 40.633-1.496 19.694-10.22 30.413-26.175 31.66-47.613-.25-3.24-.25-5.734-.749-8.227-4.436-24.401-26.664-38.324-50.056-33.332zM116.416 94.564c.997 0 1.496.748 1.496 1.745l-.499 5.983c0 .997-.997 1.745-1.745 1.745l-54.344-.249c-.997 0-1.246-.748-.748-1.496l3.49-6.232c.499-.748 1.496-1.496 2.493-1.496h49.857zM121.9 71.63c.997 0 1.496.748 1.247 1.496l-1.995 5.983c-.249.997-1.246 1.495-2.243 1.495l-117.912.25c-.997 0-1.246-.499-.748-1.247l5.235-6.73c.499-.748 1.745-1.247 2.742-1.247H121.9zm12.963-22.934c.997 0 1.246.748.748 1.496l-4.238 6.481c-.499.748-1.745 1.496-2.493 1.496l-90.24-.25c-.998 0-1.247-.498-.749-1.246l5.235-6.73c.499-.748 1.745-1.247 2.742-1.247h88.995z",fill:"#00ACD7"})}))}}),Object(i.a)(a,c.DotNet,{name:d.dotnet,icon:function(e){return Object(u.jsx)(s.a,Object(o.a)(Object(o.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 32 32",children:Object(u.jsx)("path",{d:"M4.224 10.089v11.667h1.365v-8.438a12.58 12.58 0 00-.068-1.599h.052c.099.255.224.5.37.729l6 9.302h1.672V10.089h-1.359v8.203c-.016.573.016 1.146.083 1.714h-.031a13.986 13.986 0 00-.474-.781L5.995 10.09zm12.417 0v11.667h6.203l.005-1.281h-4.813v-4.047h4.214v-1.229h-4.214v-3.875h4.521V10.09zm7.25 0v1.234h3.354v10.432h1.365V11.323h3.391v-1.234zm-23.021 10a.86.86 0 00-.609.276.91.91 0 00-.26.641.901.901 0 001.542.641c.172-.167.271-.401.271-.641s-.099-.474-.271-.641a.876.876 0 00-.641-.276H.871z",fill:"#626262"})}))}}),a)},55:function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(6),a=n(22),c=n(197),i=n(21),o=n(198),s=n(101),u=n(1),l=["children","hasIcon","hasWarning","href","onClick","noFollow"],d=Object(i.a)((function(e,t){var n=e.children,i=e.hasIcon,d=void 0===i||i,b=e.hasWarning,j=void 0===b||b,f=e.href,h=e.onClick,O=e.noFollow,p=Object(a.a)(e,l),v=Object(s.b)(),g="noopener noreferrer";return(j||O)&&(g+=" nofollow"),Object(u.jsxs)(o.a,Object(r.a)(Object(r.a)({color:"blue.500",href:f,isExternal:!0,onClick:j?v({href:f,onClick:h}):h,ref:t,rel:g},p),{},{children:[n," ",d&&Object(u.jsx)(c.a,{mb:1,ml:2})]}))}));d.displayName="ExternalLink"},56:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(e,t){return t.reduce((function(t,n){return t[n]="".concat(e,"-").concat(n),t}),{})}},66:function(e,t,n){"use strict";var r;n.d(t,"a",(function(){return r})),function(e){e.NameAsc="NameAsc",e.NameDesc="NameDesc",e.PublishDateAsc="PublishDateAsc",e.PublishDateDesc="PublishDateDesc"}(r||(r={}))},73:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(211),a=n(195),c=n(1),i=function(){return Object(c.jsx)(r.a,{children:Object(c.jsx)(a.a,{size:"xl"})})}},82:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(6),a=n(198),c=n(29),i=n(1),o=function(e){return Object(i.jsx)(a.a,Object(r.a)({as:c.b},e))}},83:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(6),a=n(21),c=n(25),i=n(1),o=Object(a.a)((function(e,t){return Object(i.jsx)(c.a.form,Object(r.a)(Object(r.a)({},e),{},{ref:t}))}));o.displayName="Form"},86:function(e,t,n){"use strict";n.d(t,"b",(function(){return j})),n.d(t,"a",(function(){return f}));var r=n(4),a=n(0),c=n(32),i=n.n(c),o=n(49),s=n(11),u=function(){var e=Object(o.a)(i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(s.a.CATALOG_SUFFIX);case 2:if((t=e.sent).ok){e.next=6;break}throw console.error(t.statusText),new Error("Failed fetching packages index: ".concat(t.statusText));case 6:return e.abrupt("return",t.json());case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),l=n(88),d=n(1),b=Object(a.createContext)({loading:!1,data:void 0,error:void 0}),j=function(){return Object(a.useContext)(b)},f=function(e){var t=e.children,n=Object(l.a)(u),c=Object(r.a)(n,2),i=c[0],o=c[1];return Object(a.useEffect)((function(){i()}),[i]),Object(d.jsx)(b.Provider,{value:o,children:t})}},87:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return O}));var r=n(6),a=n(4),c=n(0),i=n(32),o=n.n(i),s=n(49),u=n(11),l={},d=function(){var e=Object(s.a)(o.a.mark((function e(){var t;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!window.configOverride){e.next=2;break}return e.abrupt("return",window.configOverride);case 2:return e.next=4,fetch(u.a.CONFIG);case 4:if((t=e.sent).ok){e.next=8;break}return console.log("Failed to fetch application config, using default values"),e.abrupt("return",l);case 8:return e.abrupt("return",t.json().catch((function(e){return console.error(e),console.log("Invalid config response, using default values"),l})));case 9:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),b=n(88),j=n(1),f=Object(c.createContext)({loading:!1,data:void 0,error:void 0}),h="construct-hub-config",O=function(){return Object(c.useContext)(f)},p=function(e){var t=e.children,n=Object(c.useState)((function(){try{var e=localStorage.getItem(h);return e?JSON.parse(e):void 0}catch(t){console.error(t)}})),i=Object(a.a)(n,2),o=i[0],s=i[1],u=Object(b.a)(d,{onSuccess:function(e){s(e);try{localStorage.setItem(h,JSON.stringify(e))}catch(t){console.error(t)}}}),l=Object(a.a)(u,2),O=l[0],p=l[1];return Object(c.useEffect)((function(){O()}),[]),Object(j.jsx)(f.Provider,{value:Object(r.a)(Object(r.a)({},p),{},{data:o}),children:t})}},88:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(32),a=n.n(r),c=n(49),i=n(4),o=n(0),s=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.initialValue,r=t.onSuccess,s=t.onError,u=Object(o.useState)(!1),l=Object(i.a)(u,2),d=l[0],b=l[1],j=Object(o.useState)(n),f=Object(i.a)(j,2),h=f[0],O=f[1],p=Object(o.useState)(),v=Object(i.a)(p,2),g=v[0],m=v[1],x=Object(o.useRef)(!1);Object(o.useEffect)((function(){return x.current=!0,function(){x.current=!1}}),[]);var y=Object(o.useCallback)(Object(c.a)(a.a.mark((function t(){var c,i=arguments;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(x.current){t.next=2;break}return t.abrupt("return");case 2:return b(!0),m(void 0),t.prev=4,t.next=7,e.apply(void 0,i);case 7:c=t.sent,null===r||void 0===r||r(c),x.current&&(O(c),b(!1)),t.next=17;break;case 12:t.prev=12,t.t0=t.catch(4),console.error(t.t0),null===s||void 0===s||s(t.t0),x.current&&(O(n),m(t.t0),b(!1));case 17:case"end":return t.stop()}}),t,null,[[4,12]])}))),[s,r]);return Object(o.useMemo)((function(){return[y,{data:h,loading:d,error:g}]}),[y,h,d,g])}}},[[168,4,6]]]);
2
- //# sourceMappingURL=main.792688eb.chunk.js.map