construct-hub-webapp 0.1.255 → 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.
- package/build/asset-manifest.json +29 -29
- package/build/index.html +1 -1
- package/build/service-worker.js +1 -1
- package/build/service-worker.js.map +1 -1
- package/build/static/js/{10.4d9b4ad2.chunk.js → 10.85c70ef7.chunk.js} +1 -1
- package/build/static/js/{10.4d9b4ad2.chunk.js.map → 10.85c70ef7.chunk.js.map} +1 -1
- package/build/static/js/11.cc98cce3.chunk.js +2 -0
- package/build/static/js/11.cc98cce3.chunk.js.map +1 -0
- package/build/static/js/{12.23aa8975.chunk.js → 12.d831689a.chunk.js} +2 -2
- package/build/static/js/{12.23aa8975.chunk.js.map → 12.d831689a.chunk.js.map} +1 -1
- package/build/static/js/{13.92cdbaff.chunk.js → 13.a9cae057.chunk.js} +2 -2
- package/build/static/js/{13.92cdbaff.chunk.js.map → 13.a9cae057.chunk.js.map} +1 -1
- package/build/static/js/2.4bc32669.chunk.js +2 -0
- package/build/static/js/2.4bc32669.chunk.js.map +1 -0
- package/build/static/js/{5.3919b128.chunk.js → 5.c4b086d9.chunk.js} +3 -3
- package/build/static/js/{5.3919b128.chunk.js.LICENSE.txt → 5.c4b086d9.chunk.js.LICENSE.txt} +0 -0
- package/build/static/js/{5.3919b128.chunk.js.map → 5.c4b086d9.chunk.js.map} +1 -1
- package/build/static/js/{6.7cbae0bb.chunk.js → 6.30fad1cf.chunk.js} +3 -3
- package/build/static/js/{6.7cbae0bb.chunk.js.LICENSE.txt → 6.30fad1cf.chunk.js.LICENSE.txt} +0 -0
- package/build/static/js/{6.7cbae0bb.chunk.js.map → 6.30fad1cf.chunk.js.map} +1 -1
- package/build/static/js/{7.9653e0a4.chunk.js → 7.07197120.chunk.js} +2 -2
- package/build/static/js/7.07197120.chunk.js.map +1 -0
- package/build/static/js/8.6dd29cff.chunk.js +2 -0
- package/build/static/js/8.6dd29cff.chunk.js.map +1 -0
- package/build/static/js/{9.a8590c2f.chunk.js → 9.340b7752.chunk.js} +2 -2
- package/build/static/js/{9.a8590c2f.chunk.js.map → 9.340b7752.chunk.js.map} +1 -1
- package/build/static/js/main.a595d5fb.chunk.js +2 -0
- package/build/static/js/main.a595d5fb.chunk.js.map +1 -0
- package/build/static/js/runtime-main.d91eb825.js +2 -0
- package/build/static/js/{runtime-main.3169756d.js.map → runtime-main.d91eb825.js.map} +1 -1
- package/package.json +2 -1
- package/build/static/js/11.854e84b2.chunk.js +0 -2
- package/build/static/js/11.854e84b2.chunk.js.map +0 -1
- package/build/static/js/2.dbf90c22.chunk.js +0 -2
- package/build/static/js/2.dbf90c22.chunk.js.map +0 -1
- package/build/static/js/7.9653e0a4.chunk.js.map +0 -1
- package/build/static/js/8.c543459b.chunk.js +0 -2
- package/build/static/js/8.c543459b.chunk.js.map +0 -1
- package/build/static/js/main.33715459.chunk.js +0 -2
- package/build/static/js/main.33715459.chunk.js.map +0 -1
- package/build/static/js/runtime-main.3169756d.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","views/SearchRedesign/Filter.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","Filter","options","checkedValue","onValueChange","v","isChecked","isTruncated","languageOptions","filter","key","FilterPanel","cdkType","setCdkType","setLanguage","setAuthor","Card","boxShadow","SearchResults","queryParams","useQueryParams","searchQuery","decodeURIComponent","get","QUERY_PARAMS","SEARCH_QUERY","languageQuery","LANGUAGE","searchAPI","useCatalogSearch","defaultQuery","defaultLanguage","val","result","toNum","OFFSET","useCatalogResults","results","setQuery","length","maxW","CatalogSearch","pb","params","q","SearchRedesign"],"mappings":"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","file":"static/js/8.c543459b.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","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 value: string | undefined;\n onValueChange: (value: string | undefined) => void;\n}\n\nexport const Filter: FunctionComponent<FilterProps> = ({\n name,\n options,\n value: checkedValue,\n onValueChange,\n}) => {\n const getOnChange = (v: string) => () => {\n onValueChange(v === checkedValue ? undefined : v);\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={value === checkedValue}\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","import { Heading, Stack } from \"@chakra-ui/react\";\nimport { FunctionComponent, useState } from \"react\";\nimport { Card } from \"../../components/Card\";\nimport {\n Language,\n LANGUAGE_NAME_MAP,\n TEMP_SUPPORTED_LANGUAGES,\n} from \"../../constants/languages\";\nimport { Filter } from \"./Filter\";\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, setCdkType] = useState<string | undefined>();\n const [language, setLanguage] = useState<string | undefined>();\n const [author, setAuthor] = useState<string | undefined>();\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={setCdkType}\n options={[\n {\n display: \"AWS CDK\",\n value: \"awscdk\",\n },\n {\n display: \"CDK for Terraform\",\n value: \"cdktf\",\n },\n {\n display: \"CDK for Kubernetes\",\n value: \"cdk8s\",\n },\n ]}\n value={cdkType}\n />\n <Filter\n name=\"Programming Language\"\n onValueChange={setLanguage}\n options={languageOptions}\n value={language}\n />\n <Filter\n name=\"Author\"\n onValueChange={setAuthor}\n options={[\n {\n display: \"Community\",\n value: \"community\",\n },\n {\n display: \"AWS\",\n value: \"aws\",\n },\n ]}\n value={author}\n />\n </Stack>\n </Card>\n );\n};\n","import { Box, Divider, Flex } from \"@chakra-ui/react\";\nimport { FunctionComponent, useEffect } from \"react\";\nimport { CatalogSearch } from \"../../components/CatalogSearch\";\nimport { PackageList } from \"../../components/PackageList\";\nimport { Page } from \"../../components/Page\";\nimport { Language } from \"../../constants/languages\";\nimport { QUERY_PARAMS } from \"../../constants/url\";\nimport { useCatalogResults } from \"../../hooks/useCatalogResults\";\nimport { useCatalogSearch } from \"../../hooks/useCatalogSearch\";\nimport { useQueryParams } from \"../../hooks/useQueryParams\";\nimport { getSearchPath } from \"../../util/url\";\nimport { PageControls } from \"../SearchResults/components/PageControls\";\nimport { ShowingDetails } from \"../SearchResults/components/ShowingDetails\";\nimport { LIMIT, SearchQueryParam } from \"../SearchResults/constants\";\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\nexport const SearchResults: FunctionComponent = () => {\n const queryParams = useQueryParams();\n\n const searchQuery = decodeURIComponent(\n queryParams.get(QUERY_PARAMS.SEARCH_QUERY) ?? \"\"\n );\n\n const languageQuery = queryParams.get(\n QUERY_PARAMS.LANGUAGE\n ) as Language | null;\n\n const searchAPI = useCatalogSearch({\n defaultQuery: searchQuery,\n defaultLanguage: languageQuery,\n });\n\n const offset = toNum(queryParams.get(QUERY_PARAMS.OFFSET) ?? \"0\");\n\n const { page, pageLimit, results } = useCatalogResults({\n offset,\n limit: LIMIT,\n query: searchQuery,\n language: languageQuery,\n });\n\n const getUrl = (\n params: Partial<{ [key in SearchQueryParam]: number | string }>\n ) => {\n return getSearchPath({\n query: (params.q ?? searchQuery) as string,\n language: languageQuery,\n offset: params.offset ?? offset,\n });\n };\n\n useEffect(() => {\n // Reflect changes to queryParam to search input (specifically for tag clicks)\n if (searchQuery !== searchAPI.query) {\n searchAPI.setQuery(searchQuery);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchQuery]);\n\n return (\n <Page\n meta={{\n title: searchQuery || \"Search\",\n description: searchQuery\n ? `${results.length} results for ${searchQuery} 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={!!searchQuery}\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\";\n\nexport const SearchRedesign: FunctionComponent = () => {\n return (\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 );\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 w})),n.d(t,"a",(function(){return S}));var r,c=n(0),a=n(4),i=n(17),o=n(6),s=n(60),u=n(69),l=n(144),d=n.n(l),b=n(53),j=n(66),f=n(5),h=function(e){return function(t,n){var r=new Date(t.metadata.date),c=new Date(n.metadata.date);return r===c?0:e?c<r?1:-1:r<c?1:-1}},O=function(e){return function(t,n){return t.name.localeCompare(n.name)*(e?1:-1)}},p=(r={},Object(f.a)(r,j.a.NameAsc,O(!0)),Object(f.a)(r,j.a.NameDesc,O(!1)),Object(f.a)(r,j.a.PublishDateAsc,h(!0)),Object(f.a)(r,j.a.PublishDateDesc,h(!1)),r),v=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,j.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("/"),c=Object(a.a)(r,2),i=c[0],o=c[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,c=t.sort,a=n?this.query(n):new Map(this.map);return r&&(a=this.filter(a,r)),c&&(a=this.sort(a,c)),a}},{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,c=t.map.get(r);return c&&e.set(r,c),e}),new Map)}},{key:"filter",value:function(e,t){var n=t.language,r=new Map(e);return r.forEach((function(e){n&&n!==b.d.TypeScript&&void 0===e.languages[n]&&r.delete(e.id)})),r}},{key:"sort",value:function(e,t){return t?new Map(Object(i.a)(e.entries()).sort((function(e,n){var r=Object(a.a)(e,2)[1],c=Object(a.a)(n,2)[1];return p[t](r,c)}))):e}}]),e}(),m=n(73),g=n(86),x=n(1),y=Object(c.createContext)(void 0),w=function(){return Object(c.useContext)(y)},S=function(e){var t=e.children,n=Object(g.b)(),r=n.data,a=n.loading,i=Object(c.useMemo)((function(){if(void 0!==(null===r||void 0===r?void 0:r.packages)&&!a)return new v(r.packages)}),[r,a]);return i?Object(x.jsx)(y.Provider,{value:i,children:t}):Object(x.jsx)(m.a,{})}},101:function(e,t,n){"use strict";n.d(t,"b",(function(){return v})),n.d(t,"a",(function(){return m}));var r=n(6),c=n(4),a=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,a=e.onClose,O=e.setShouldWarn,p=Object(i.useState)(!0),v=Object(c.a)(p,2),m=v[0],g=v[1];return Object(h.jsx)(u.a,{closeOnOverlayClick:!1,isOpen:n,onClose:a,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;g(t)},children:"Do not show this warning again."})]}),Object(h.jsxs)(u.f,{children:[Object(h.jsx)(b.a,{onClick:function(){g(!0),a()},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(!m){O(m);try{localStorage.setItem(o,JSON.stringify(m))}catch(t){}}null===r||void 0===r||r(e),a()},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)},m=function(e){var t=e.children,n=Object(i.useState)(null),s=Object(c.a)(n,2),u=s[0],l=s[1],d=Object(a.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}})),m=Object(c.a)(v,2),g=m[0],x=m[1],y=Object(i.useCallback)((function(e){var t=e.href,n=e.onClick;if(!g)return n;return function(e){l({href:t,onClick:n}),e.preventDefault(),j()}}),[j,g]);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 a}));var r=n(4),c=n(0),a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Object(c.useState)(e),a=Object(r.a)(n,2),i=a[0],o=a[1],s=t.delay,u=void 0===s?250:s,l=t.onChange;return Object(c.useEffect)((function(){var t=setTimeout((function(){o(e),null===l||void 0===l||l(e)}),u);return function(){clearTimeout(t)}}),[e,u,l]),i}},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),c=n(4),a=n(13),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(c.a)(n,3),a=r[1],o=r[2];t="https://github.com/".concat(a,"/").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(c.a)(e,2)[1]})).forEach((function(e){var t=Object(c.a)(e,2),r=t[0],a=t[1];n.set(r,"".concat(a))})),n.toString()}(t);r&&(n+="?".concat(r))}return n},u=function(e){var t,n=e.query,c=e.offset,i=e.language;return s(a.c.SEARCH,(t={},Object(r.a)(t,a.b.SEARCH_QUERY,n),Object(r.a)(t,a.b.LANGUAGE,i),Object(r.a)(t,a.b.OFFSET,null!==c&&void 0!==c?c:0),t))},l=function(e){var t,n=e.name,c=e.version,i=e.language,o=e.submodule;return s("".concat(a.c.PACKAGES,"/").concat(n,"/v/").concat(c),(t={},Object(r.a)(t,a.b.SUBMODULE,o),Object(r.a)(t,a.b.LANGUAGE,i),t))}},113:function(e,t,n){"use strict";n.d(t,"a",(function(){return j}));var r=n(4),c=n(0),a=n(18),i=n(53),o=n(13),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(a.h)(),u=i.pathname,j=i.hash,f=Object(a.g)(),h=f.replace,O=Object(s.a)(),p=O.get(o.b.LANGUAGE),v=Object(c.useState)((function(){return b(p)})),m=Object(r.a)(v,2),g=m[0],x=m[1];Object(c.useEffect)((function(){d(p)&&p!==g&&x(p)}),[p]),Object(c.useEffect)((function(){p!==g&&t&&(O.set(o.b.LANGUAGE,g),h({pathname:u,hash:j,search:O.toString()}))}),[g,t]);var y=Object(c.useCallback)((function(e){if(x(e),n)try{localStorage.setItem(l,e)}catch(t){}}),[n]);return Object(c.useMemo)((function(){return[g,y]}),[g,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),c=n(18),a=n(1),i=Object(r.createContext)({trackPageView:function(){}}),o=function(e){var t=e.children,n=Object(c.h)().pathname,o=Object(r.useRef)(null),s=Object(r.useCallback)((function(e){var t,r,c;o.current!==n&&(null===(t=window)||void 0===t||null===(r=t.AWSMA)||void 0===r||null===(c=r.ready)||void 0===c||c.call(r,(function(){document.dispatchEvent(new CustomEvent(window.AWSMA.TRIGGER_EVENT,{detail:e})),o.current=n})))}),[n]);return Object(a.jsx)(i.Provider,{value:{trackPageView:s},children:t})},s=n(6),u=function(e){var t=Object(r.useContext)(i).trackPageView,n=Object(c.h)().pathname,a=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(a)}),[t,a])}},116:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0),c=function(e,t){var n=t.limit,r=t.offset*n,c=r+n;return e.slice(r,c)},a=n(17),i=n(100),o=function(e){var t=e.limit,n=e.offset,o=void 0===n?0:n,s=e.query,u=void 0===s?"":s,l=e.language,d=void 0===l?null:l,b=e.sort,j=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.query,n=e.filters,c=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(a.a)(o.search({query:t,filters:n,sort:c}).values())}),[o,t,n,c])}({filters:Object(r.useMemo)((function(){return{language:null!==d&&void 0!==d?d:void 0}}),[d]),query:u,sort:b}),f=function(e,t){var n=null!==t&&void 0!==t?t:{},a=n.limit,i=void 0===a?25:a,o=n.offset,s=void 0===o?0:o,u=e?Math.floor(e.length/i):0;return Object(r.useMemo)((function(){return{page:c(e,{limit:i,offset:s>u?u:s}),pageLimit:u}}),[e,i,s,u])}(j,{offset:o,limit:t}),h=f.page,O=f.pageLimit;return Object(r.useMemo)((function(){return{results:j,page:h,pageLimit:O}}),[h,O,j])}},117:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(6),c=n(21),a=n(188),i=n(1),o=Object(c.a)((function(e,t){return Object(i.jsx)(a.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 a}));var r=n(0),c=n(18),a=function(){var e=Object(c.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 g}));var r=n(6),c=n(22),a=n(143),i=n(83),o=n(4),s=n(21),u=n(220),l=n(148),d=n(53),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)}))),m=function(e){var t=e.placeholder,n=e.items,r=e.onSelect,c=e.selected,a=e.testIds,i=c?n[c]: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":a.trigger,rightIcon:Object(h.jsx)(b.a,{color:"blue.500"}),variant:"outline",children:Object(h.jsx)(f.a,{"data-testid":a.value,children:i})}),Object(h.jsxs)(j.f,{"data-testid":a.menu,children:[Object(h.jsx)(j.e,{"data-testid":a.item,onClick:function(){return r(null)},children:"Any"}),s.map((function(e){var t=Object(o.a)(e,2),n=t[0],c=t[1];return Object(h.jsx)(j.e,{"data-testid":a.item,onClick:function(){return r(n)},children:c},n)}))]})]})},g=Object(s.a)((function(e,t){var n=e.query,r=e.onQueryChange,c=e.language,a=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)(m,{items:v,onSelect:a,placeholder:"Language...",selected:c,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(c.a)(e,x);return Object(h.jsx)(i.a,{"data-testid":p.form,onSubmit:t,children:Object(h.jsx)(a.a,{autoRows:"1fr",gap:4,templateColumns:{sm:"1fr",md:"3fr 1fr 1fr"},width:"full",children:Object(h.jsx)(g,Object(r.a)({},n))})})}},120:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(4),c=n(0),a=n(18),i=n(112),o=function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=Object(c.useState)(null!==(e=n.defaultQuery)&&void 0!==e?e:""),s=Object(r.a)(o,2),u=s[0],l=s[1],d=Object(c.useState)(null!==(t=n.defaultLanguage)&&void 0!==t?t:null),b=Object(r.a)(d,2),j=b[0],f=b[1],h=Object(a.g)(),O=h.push,p=function(e){e.preventDefault(),l(e.target.value)},v=Object(c.useCallback)((function(){O(Object(i.c)({language:j,query:u}))}),[j,O,u]),m=Object(c.useCallback)((function(e){null===e||void 0===e||e.preventDefault(),v()}),[v]);return Object(c.useMemo)((function(){return{language:j,onLanguageChange:f,onQueryChange:p,onSearch:v,onSubmit:m,query:u,setLanguage:f,setQuery:l}}),[j,v,m,u])}},13:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return c})),n.d(t,"c",(function(){return a}));var r={PACKAGES_PREFIX:"/data",CATALOG_SUFFIX:"/catalog.json",ASSEMBLY_SUFFIX:"/assembly.json",METADATA_SUFFIX:"/metadata.json",CONFIG:"/config.json"},c={LANGUAGE:"lang",OFFSET:"offset",SEARCH_QUERY:"q",SUBMODULE:"submodule"},a={FAQ:"/faq",HOME:"/",PACKAGES:"/packages",SEARCH:"/search",SITE_TERMS:"/terms"}},135:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(6),c=n(22),a=n(21),i=n(212),o=n(1),s=["name","onClick"],u=Object(a.a)((function(e,t){var n=e.name,a=e.onClick,u=Object(c.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:a,onKeyDown:function(e){"Enter"===e.key&&a()},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 N})),n.d(r,"checkForCookieConsent",(function(){return G})),n.d(r,"customizeCookies",(function(){return L})),n.d(r,"getConsentCookie",(function(){return W})),n.d(r,"hasConsent",(function(){return U}));var c,a,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),m=n(201),g=n(117),x=n(55),y=n(1),w="showing-dev-preview-banner",S=function(){var e,t=Object(h.a)({defaultIsOpen:JSON.parse(null!==(e=window.sessionStorage.getItem(w))&&void 0!==e?e:"true"),onClose:function(){return window.sessionStorage.setItem(w,"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)(g.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)(m.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"})]})})})},C=n(4),k=n(203),E=n(204),A=n(205),M=n(148),I=n(22),P=n(32),T=n.n(P),z=n(48),F=function(){new URLSearchParams(window.location.search).get("sb")},D=function(){var e=Object(z.a)(T.a.mark((function e(){return T.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)(T.a.mark((function r(){var a,i,o;return T.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,a={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,c=o(a),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(!c)throw new Error("shortbread has not been initialized");return(t=c)[e].apply(t,arguments)}},N=R("access"),G=R("checkForCookieConsent"),L=R("customizeCookies"),W=R("getConsentCookie"),U=R("hasConsent"),H=D,q=Object(I.a)(r,["initialize"]),_=Object(i.createContext)({}),B=function(e){var t=e.children,n=Object(i.useState)(!1),r=Object(C.a)(n,2),c=r[0],a=r[1];return Object(i.useEffect)((function(){var e=!1;return H().then((function(){e||(q.checkForCookieConsent(),a(!0))})).catch((function(t){console.error(t),e||a(!1)})),function(){e=!0,a(!1)}}),[]),Object(y.jsx)(_.Provider,{value:c?q:{},children:t})},V=n(82),J=n(13),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),X=n(56),Y=Object(X.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)(_).customizeCookies;return Object(y.jsxs)(k.a,{align:"center",as:"footer",bg:"blue.800",color:"white","data-testid":Y.container,direction:"column",justify:"center",py:4,children:[Object(y.jsx)(E.a,{columnGap:6,columns:[1,2,4],"data-testid":Y.links,children:Object.entries(K).map((function(e,t){var n=Object(C.a)(e,2),r=n[0],c=n[1],a=c.display,i=c.isExternal,o=void 0===i||i,s=c.testId,u=c.url;return Object(y.jsxs)(k.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":Y[s],hasWarning:!1,href:u,lineHeight:10,mx:"auto",children:a}):Object(y.jsx)(V.a,{color:"currentcolor","data-testid":Y[s],lineHeight:10,mx:"auto",to:u,children:a}),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":Y.disclaimer,fontSize:"xs",mt:4,children:"2021 Amazon Web Services, Inc. All rights reserved."}),Object(y.jsx)(M.a,{color:"white","data-testid":Y.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"],ce=function(e){var t=e.children,n=Object(I.a)(e,re);return Object(y.jsx)(ne.a,Object($.a)(Object($.a)({colorScheme:"blue.800",strategy:"fixed"},n),{},{children:t}))},ae=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(ae.a)((function(e,t){var n=e.items,r=Object(I.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(ae.a)((function(e,t){var n=e.children,r=Object(I.a)(e,le);return Object(y.jsx)(ne.b,Object($.a)(Object($.a)({as:M.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(X.a)("header",["container","title","gettingStartedTrigger","gettingStartedMenu","resourcesTrigger","resourcesMenu","navOpen","navClose","searchButton","searchIcon","mobileNav"]),je=function(){return Object(y.jsxs)(ce,{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),me=function(){return Object(y.jsxs)(ce,{children:[Object(y.jsx)(de,{"data-testid":be.resourcesTrigger,children:"Resources"}),Object(y.jsx)(se,{"data-testid":be.resourcesMenu,items:te})]})},ge=n(209),xe=function(){return Object(y.jsx)(ge.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)(me,{})]})})]})]})})},we=function(){var e=Object(h.a)();return Object(y.jsxs)(y.Fragment,{children:[Object(y.jsx)(m.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))]})},Se=n(213),Ce=n(212),ke=n(116),Ee=n(120),Ae=n(109),Me=n(113),Ie=n(119),Pe=n(83),Te=n(135),ze=Object(X.a)("searchModal",["container"]),Fe=["onSubmit"],De=function(e){var t=e.isOpen,n=e.onClose,r=Object(b.g)().push,c=Object(Me.a)(),a=Object(C.a)(c,1)[0],o=Object(Ee.a)(),s=o.onSubmit,u=Object(I.a)(o,Fe),l=Object(Ae.a)(u.query),d=Object(Ae.a)(u.language),j=Object(ke.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)(Pe.a,{onSubmit:function(e){n(),s(e)},pb:4,children:Object(y.jsx)(ve.a,{spacing:4,children:Object(y.jsx)(Ie.b,Object($.a)({ref:h},u))})}),f&&Object(y.jsxs)(y.Fragment,{children:[Object(y.jsx)(A.a,{}),Object(y.jsx)(ge.a,{fontSize:"md",my:4,textAlign:"center",children:"Suggestions"}),Object(y.jsx)(Ce.c,{children:j.map((function(e){return Object(y.jsx)(Te.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:a),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)(M.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)(Se.a,{color:"gray.600",ml:4}),variant:"outline",w:"100%",children:"Search Constructs..."}),Object(y.jsx)(m.a,{"aria-label":"Search Icon",borderRadius:"md","data-testid":be.searchIcon,display:{base:"initial",md:"none"},icon:Object(y.jsx)(Se.a,{color:"gray.600"}),onClick:e.onOpen,variant:"ghost"}),Object(y.jsx)(De,Object($.a)({},e))]})},Ne=function(e){return Object(y.jsx)(d.b,Object($.a)({align:"center",justify:"center",rowStart:1},e))},Ge=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)(Ne,{colStart:{base:2,md:1},justifySelf:{base:"center",md:"start"},children:Object(y.jsx)(xe,{})}),Object(y.jsx)(Ne,{colStart:{base:3,md:2},justifySelf:{base:"end",md:"stretch"},children:Object(y.jsx)(Re,{})}),Object(y.jsxs)(Ne,{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)(me,{})})]}),Object(y.jsx)(we,{})]})]})},Le=n(73),We=["component"],Ue=function(e){var t=e.component,n=Object(I.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),qe=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(13)]).then(n.bind(null,593))})),_e=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,595))})),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,596))})),Xe=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(14)]).then(n.bind(null,599))})),Ye=function(){var e,t=Object(He.b)(),n=t.data,r=t.loading,c=null!==(e=null===n||void 0===n?void 0:n.featureFlags)&&void 0!==e?e:{},a=(null===c||void 0===c?void 0:c.homeRedesign)||(null===c||void 0===c?void 0:c.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)(Ge,{}),r||a?Object(y.jsx)("div",{}):Object(y.jsx)(S,{}),r?Object(y.jsx)(Le.a,{}):Object(y.jsxs)(b.d,{children:[Object(y.jsx)(Ue,{component:qe,exact:!0,path:J.c.FAQ}),Object(y.jsx)(Ue,{component:(null===c||void 0===c?void 0:c.homeRedesign)?Be:_e,exact:!0,path:J.c.HOME}),Object(y.jsx)(Ue,{component:Xe,exact:!0,path:J.c.SITE_TERMS}),Object(y.jsx)(Ue,{component:Je,path:J.c.PACKAGES}),Object(y.jsx)(Ue,{component:(null===c||void 0===c?void 0:c.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),ct=n(96),at=ct.theme.components.Code,it=Object($.a)(Object($.a)({},at),{},{variants:Object($.a)(Object($.a)({},at.variants),{},{"code-block":Object($.a)(Object($.a)({},at.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=ct.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)({},ct.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)({},ct.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)(Ye,{})})})})})})})})})}),document.getElementById("root")),a&&a instanceof Function&&n.e(16).then(n.bind(null,589)).then((function(e){var t=e.getCLS,n=e.getFID,r=e.getFCP,c=e.getLCP,i=e.getTTFB;t(a),n(a),r(a),c(a),i(a)}),(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)}))}}()},53:function(e,t,n){"use strict";n.d(t,"d",(function(){return a})),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,c,a,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"}(a||(a={}));var l=[a.TypeScript,a.Python,a.Java,a.Go,a.DotNet],d=(r={},Object(i.a)(r,a.TypeScript,"TypeScript"),Object(i.a)(r,a.Python,"Python"),Object(i.a)(r,a.Java,"Java"),Object(i.a)(r,a.Go,"Go"),Object(i.a)(r,a.DotNet,".NET"),r),b=new Set([a.Python,a.TypeScript,a.Java]),j=(c={},Object(i.a)(c,a.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)(c,a.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)(c,a.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)(c,a.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)(c,a.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"})}))}}),c)},55:function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(6),c=n(22),a=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(c.a)(e,l),v=Object(s.b)(),m="noopener noreferrer";return(j||O)&&(m+=" 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:m},p),{},{children:[n," ",d&&Object(u.jsx)(a.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),c=n(195),a=n(1),i=function(){return Object(a.jsx)(r.a,{children:Object(a.jsx)(c.a,{size:"xl"})})}},82:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(6),c=n(198),a=n(29),i=n(1),o=function(e){return Object(i.jsx)(c.a,Object(r.a)({as:a.b},e))}},83:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(6),c=n(21),a=n(25),i=n(1),o=Object(c.a)((function(e,t){return Object(i.jsx)(a.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),c=n(0),a=n(32),i=n.n(a),o=n(48),s=n(13),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(c.createContext)({loading:!1,data:void 0,error:void 0}),j=function(){return Object(c.useContext)(b)},f=function(e){var t=e.children,n=Object(l.a)(u),a=Object(r.a)(n,2),i=a[0],o=a[1];return Object(c.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),c=n(4),a=n(0),i=n(32),o=n.n(i),s=n(48),u=n(13),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(a.createContext)({loading:!1,data:void 0,error:void 0}),h="construct-hub-config",O=function(){return Object(a.useContext)(f)},p=function(e){var t=e.children,n=Object(a.useState)((function(){try{var e=localStorage.getItem(h);return e?JSON.parse(e):void 0}catch(t){console.error(t)}})),i=Object(c.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(c.a)(u,2),O=l[0],p=l[1];return Object(a.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),c=n.n(r),a=n(48),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),m=v[0],g=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(a.a)(c.a.mark((function t(){var a,i=arguments;return c.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),g(void 0),t.prev=4,t.next=7,e.apply(void 0,i);case 7:a=t.sent,null===r||void 0===r||r(a),x.current&&(O(a),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),g(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:m}]}),[y,h,d,m])}}},[[168,4,6]]]);
|
|
2
|
-
//# sourceMappingURL=main.33715459.chunk.js.map
|