construct-hub-webapp 0.1.245 → 0.1.246
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 +39 -36
- 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/{0.4d66218d.chunk.js → 0.3c441159.chunk.js} +2 -2
- package/build/static/js/{0.4d66218d.chunk.js.map → 0.3c441159.chunk.js.map} +1 -1
- package/build/static/js/10.5038f4e4.chunk.js +2 -0
- package/build/static/js/10.5038f4e4.chunk.js.map +1 -0
- package/build/static/js/11.3e7ab347.chunk.js +3 -0
- package/build/static/js/11.3e7ab347.chunk.js.LICENSE.txt +61 -0
- package/build/static/js/11.3e7ab347.chunk.js.map +1 -0
- package/build/static/js/{11.4bd8a813.chunk.js → 12.180c2643.chunk.js} +2 -2
- package/build/static/js/{11.4bd8a813.chunk.js.map → 12.180c2643.chunk.js.map} +1 -1
- package/build/static/js/{12.515bb2dd.chunk.js → 13.51138a32.chunk.js} +2 -2
- package/build/static/js/{12.515bb2dd.chunk.js.map → 13.51138a32.chunk.js.map} +1 -1
- package/build/static/js/{13.29e90447.chunk.js → 14.04d06b74.chunk.js} +3 -3
- package/build/static/js/{13.29e90447.chunk.js.LICENSE.txt → 14.04d06b74.chunk.js.LICENSE.txt} +0 -0
- package/build/static/js/{13.29e90447.chunk.js.map → 14.04d06b74.chunk.js.map} +1 -1
- package/build/static/js/{14.3a05edf6.chunk.js → 15.a6d03254.chunk.js} +2 -2
- package/build/static/js/{14.3a05edf6.chunk.js.map → 15.a6d03254.chunk.js.map} +1 -1
- package/build/static/js/3.c48117e3.chunk.js +3 -0
- package/build/static/js/{3.aa87e519.chunk.js.LICENSE.txt → 3.c48117e3.chunk.js.LICENSE.txt} +0 -0
- package/build/static/js/3.c48117e3.chunk.js.map +1 -0
- package/build/static/js/4.07f80d65.chunk.js +3 -0
- package/build/static/js/{4.6ec6be22.chunk.js.LICENSE.txt → 4.07f80d65.chunk.js.LICENSE.txt} +0 -0
- package/build/static/js/4.07f80d65.chunk.js.map +1 -0
- package/build/static/js/{5.d5568a52.chunk.js → 5.8a1668dc.chunk.js} +2 -2
- package/build/static/js/{5.d5568a52.chunk.js.map → 5.8a1668dc.chunk.js.map} +1 -1
- package/build/static/js/6.11aee62c.chunk.js +2 -0
- package/build/static/js/6.11aee62c.chunk.js.map +1 -0
- package/build/static/js/7.c53ed1ae.chunk.js +2 -0
- package/build/static/js/7.c53ed1ae.chunk.js.map +1 -0
- package/build/static/js/8.0c7361ec.chunk.js +2 -0
- package/build/static/js/8.0c7361ec.chunk.js.map +1 -0
- package/build/static/js/9.6620eb5b.chunk.js +2 -0
- package/build/static/js/9.6620eb5b.chunk.js.map +1 -0
- package/build/static/js/main.809e79d6.chunk.js +2 -0
- package/build/static/js/main.809e79d6.chunk.js.map +1 -0
- package/build/static/js/runtime-main.1cbbf81f.js +2 -0
- package/build/static/js/runtime-main.1cbbf81f.js.map +1 -0
- package/package.json +3 -1
- package/build/static/js/10.dc2fcb2a.chunk.js +0 -2
- package/build/static/js/10.dc2fcb2a.chunk.js.map +0 -1
- package/build/static/js/3.aa87e519.chunk.js +0 -3
- package/build/static/js/3.aa87e519.chunk.js.map +0 -1
- package/build/static/js/4.6ec6be22.chunk.js +0 -3
- package/build/static/js/4.6ec6be22.chunk.js.map +0 -1
- package/build/static/js/6.26326228.chunk.js +0 -2
- package/build/static/js/6.26326228.chunk.js.map +0 -1
- package/build/static/js/7.76fc3bd1.chunk.js +0 -2
- package/build/static/js/7.76fc3bd1.chunk.js.map +0 -1
- package/build/static/js/8.85f0cd85.chunk.js +0 -2
- package/build/static/js/8.85f0cd85.chunk.js.map +0 -1
- package/build/static/js/9.ce34049f.chunk.js +0 -2
- package/build/static/js/9.ce34049f.chunk.js.map +0 -1
- package/build/static/js/main.1b89a309.chunk.js +0 -2
- package/build/static/js/main.1b89a309.chunk.js.map +0 -1
- package/build/static/js/runtime-main.296ad4aa.js +0 -2
- package/build/static/js/runtime-main.296ad4aa.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["constants/pageInfo.ts","components/Page/Page.tsx","views/SearchResults/components/ShowingDetails.tsx","views/SearchResults/constants.ts","components/PackageList/PackageList.tsx","components/PackageList/CompactCardList.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","api/catalog-search/constants.ts","views/SearchRedesign/Filter.tsx","views/SearchRedesign/FilterPanel.tsx","api/catalog-search/util.ts","api/catalog-search/catalog-search.ts","views/SearchRedesign/SearchAPI.tsx","hooks/usePagination/usePagination.ts","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","Em","as","color","fontWeight","ShowingDetails","limit","offset","count","filtered","first","last","LIMIT","listViews","PackageCardType","Compact","items","autoRows","gap","templateColumns","map","pkg","PackageCard","variant","version","Wide","spacing","PackageList","memo","cardView","loading","size","View","displayName","ArrowButton","Icon","icon","getPageUrl","props","borderRadius","borderColor","colorScheme","h","w","mx","undefined","Link","to","disabled","GoToPage","pageLimit","useState","toString","inputValue","setInputValue","push","useHistory","align","onSubmit","e","preventDefault","parseInt","max","min","onChange","target","value","p","textAlign","type","ml","btnProps","rightIcon","ArrowForward","NextPage","nextPageUrl","PageControls","nextOffset","prevOffset","alignItems","pt","templateRows","colStart","justifySelf","justify","py","ChevronLeftIcon","ChevronRightIcon","CatalogSearchSort","Filter","options","checkedValue","onValueChange","v","display","isChecked","fontSize","isTruncated","languageOptions","Object","entries","LANGUAGE_NAME_MAP","filter","key","TEMP_SUPPORTED_LANGUAGES","has","FilterPanel","cdkType","setCdkType","language","setLanguage","author","setAuthor","Card","boxShadow","getDateSort","isAscending","p1","p2","d1","Date","metadata","date","d2","getStrSort","localeCompare","SORT_FUNCTIONS","NameAsc","NameDesc","PublishDateAsc","PublishDateDesc","CatalogSearchAPI","catalogData","index","catalogMap","reduce","id","join","set","Map","this","sort","lunr","ref","field","values","forEach","split","scope","packageName","authorName","email","authorEmail","add","params","query","filters","results","refs","console","error","packages","get","copiedResults","result","Language","TypeScript","languages","delete","strategy","SearchAPIContext","createContext","SearchAPIProvider","useCatalog","data","setResults","searchAPI","useMemo","instance","useCallback","res","Provider","PageLoader","takePage","opts","start","stop","slice","SearchResults","useCardView","CardViewControls","queryParams","useQueryParams","useContext","searchQuery","decodeURIComponent","QUERY_PARAMS","SEARCH_QUERY","languageQuery","LANGUAGE","useCatalogSearch","defaultQuery","defaultLanguage","val","toNum","OFFSET","Math","floor","length","setPage","usePagination","setQuery","direction","maxW","CatalogSearch","pb","getSearchPath","q","SearchRedesign"],"mappings":"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","file":"static/js/9.6620eb5b.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 { 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","import { Center, Spinner } from \"@chakra-ui/react\";\nimport { FunctionComponent, memo } from \"react\";\nimport { CatalogPackage } from \"../../api/package/packages\";\nimport { PackageCardType } from \"../PackageCard\";\nimport { CompactCardList } from \"./CompactCardList\";\nimport { WideCardList } from \"./WideCardList\";\n\nconst listViews = {\n [PackageCardType.Compact]: CompactCardList,\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 { Grid } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { PackageCard, PackageCardType } from \"../PackageCard\";\nimport { PackageListViewProps } from \"./PackageList\";\n\nexport const CompactCardList: FunctionComponent<PackageListViewProps> = ({\n items,\n}) => {\n return (\n <Grid\n autoRows=\"auto\"\n gap={5}\n templateColumns=\"repeat(auto-fit, minmax(320px, 1fr))\"\n >\n {items.map((pkg) => (\n <PackageCard\n key={`${pkg.name}-${pkg.version}`}\n pkg={pkg}\n variant={PackageCardType.Compact}\n />\n ))}\n </Grid>\n );\n};\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","export enum CatalogSearchSort {\n NameAsc = \"NameAsc\",\n NameDesc = \"NameDesc\",\n PublishDateAsc = \"PublishDateAsc\",\n PublishDateDesc = \"PublishDateDesc\",\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 { CatalogPackage } from \"../package/packages\";\nimport { CatalogSearchSort } from \"./constants\";\n\ntype SortFunction = (p1: CatalogPackage, p2: CatalogPackage) => number;\n\nconst getDateSort =\n (isAscending: boolean): SortFunction =>\n (p1, p2) => {\n const d1 = new Date(p1.metadata.date);\n const d2 = new Date(p2.metadata.date);\n if (d1 === d2) {\n return 0;\n }\n\n if (isAscending) {\n return d2 < d1 ? 1 : -1;\n }\n\n return d1 < d2 ? 1 : -1;\n };\n\nconst getStrSort = (isAscending: boolean): SortFunction => {\n return (p1, p2) => p1.name.localeCompare(p2.name) * (isAscending ? 1 : -1);\n};\n\nexport const SORT_FUNCTIONS: Record<CatalogSearchSort, SortFunction> = {\n [CatalogSearchSort.NameAsc]: getStrSort(true),\n [CatalogSearchSort.NameDesc]: getStrSort(false),\n [CatalogSearchSort.PublishDateAsc]: getDateSort(true),\n [CatalogSearchSort.PublishDateDesc]: getDateSort(false),\n};\n","import lunr from \"lunr\";\nimport { Language } from \"../../constants/languages\";\nimport { CatalogPackage } from \"../package/packages\";\nimport { CatalogSearchSort } from \"./constants\";\nimport { SORT_FUNCTIONS } from \"./util\";\n\nexport interface CatalogPackageWithId extends CatalogPackage {\n id: string;\n}\n\nexport interface CatalogSearchFilters {\n // TODO: CDK Type & Tag filters\n language?: Language;\n}\n\nexport type CatalogSearchResults = Map<string, CatalogPackageWithId>;\n\nexport class CatalogSearchAPI {\n private readonly map: CatalogSearchResults;\n private index: lunr.Index;\n\n constructor(catalogData: CatalogPackage[]) {\n const catalogMap = catalogData.reduce((map, pkg) => {\n const { name, version } = pkg;\n const id = [name, version].join(\"@\");\n\n map.set(id, {\n ...pkg,\n id,\n });\n\n return map;\n }, new Map());\n\n this.map = this.sort(catalogMap, CatalogSearchSort.PublishDateDesc);\n\n this.index = lunr(function () {\n this.ref(\"id\");\n this.field(\"name\");\n this.field(\"scope\");\n this.field(\"packageName\");\n this.field(\"description\");\n this.field(\"authorName\");\n this.field(\"authorEmail\");\n\n [...catalogMap.values()].forEach((pkg) => {\n const { author, name } = pkg;\n\n const [scope, packageName] = name.split(\"/\");\n\n if (scope && packageName) {\n pkg.scope = scope;\n pkg.packageName = packageName;\n }\n\n if (typeof author === \"string\") {\n pkg.authorName = author;\n }\n\n if (author?.name) {\n pkg.authorName = author.name;\n }\n\n if (author?.email) {\n pkg.authorEmail = author.email;\n }\n\n this.add(pkg);\n });\n });\n }\n\n /**\n * Performs a Search against the catalog and returns a Map with results ordered\n * by search score / relevance\n */\n public search(params?: {\n query?: string;\n filters?: CatalogSearchFilters;\n sort?: CatalogSearchSort;\n }): CatalogSearchResults {\n const { query, filters, sort } = params ?? {};\n\n let results = query ? this.query(query) : new Map(this.map);\n\n if (filters) {\n results = this.filter(results, filters);\n }\n\n if (sort) {\n results = this.sort(results, sort);\n }\n\n return results;\n }\n\n /**\n * This calls the index search method and returns a map of results ordered by relevance.\n */\n private query(query: string): CatalogSearchResults {\n let refs: lunr.Index.Result[] = [];\n\n try {\n refs = this.index.search(query);\n } catch (e) {\n console.error(e);\n }\n\n return refs.reduce((packages, { ref }) => {\n const pkg = this.map.get(ref);\n\n if (pkg) {\n packages.set(ref, pkg);\n }\n\n return packages;\n }, new Map() as CatalogSearchResults);\n }\n\n /**\n * Filters query results. Mutates the passed-in map\n */\n private filter(\n results: CatalogSearchResults,\n filters: CatalogSearchFilters\n ): CatalogSearchResults {\n const { language } = filters;\n const copiedResults = new Map(results);\n\n copiedResults.forEach((result) => {\n if (language && language !== Language.TypeScript) {\n if (result.languages[language] === undefined) {\n copiedResults.delete(result.id);\n return;\n }\n }\n });\n\n return copiedResults;\n }\n\n /**\n * Sort filtered results\n */\n private sort(\n results: CatalogSearchResults,\n strategy: CatalogSearchSort\n ): CatalogSearchResults {\n if (strategy) {\n return new Map(\n [...results.entries()].sort(([, p1], [, p2]) =>\n SORT_FUNCTIONS[strategy](p1, p2)\n )\n );\n } else {\n return results;\n }\n }\n}\n","import {\n createContext,\n FunctionComponent,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from \"react\";\nimport {\n CatalogPackageWithId,\n CatalogSearchAPI,\n} from \"../../api/catalog-search\";\nimport { PageLoader } from \"../../components/PageLoader\";\nimport { useCatalog } from \"../../contexts/Catalog\";\n\ntype SearchFn = (params: Parameters<CatalogSearchAPI[\"search\"]>[0]) => void;\n\ninterface SearchAPI {\n search: SearchFn;\n results: CatalogPackageWithId[];\n}\n\nconst SearchAPIContext = createContext<SearchAPI | undefined>(undefined);\n\nexport const useSearchAPI = () => useContext(SearchAPIContext)!;\n\nexport const SearchAPIProvider: FunctionComponent = ({ children }) => {\n const { data, loading } = useCatalog();\n const [results, setResults] = useState<SearchAPI[\"results\"]>([]);\n\n const searchAPI = useMemo(() => {\n if (data?.packages === undefined || loading) return;\n\n const instance = new CatalogSearchAPI(data.packages);\n setResults([...instance.search().values()]);\n return instance;\n }, [data, loading]);\n\n const search: SearchAPI[\"search\"] = useCallback(\n (params) => {\n if (!searchAPI) {\n return;\n }\n\n const res = searchAPI.search(params);\n setResults([...res.values()]);\n },\n [searchAPI]\n );\n\n if (!searchAPI) {\n return <PageLoader />;\n }\n\n return (\n <SearchAPIContext.Provider value={{ results, search }}>\n {children}\n </SearchAPIContext.Provider>\n );\n};\n","import { useEffect, useMemo, useState } from \"react\";\n\nexport interface UsePaginationOptions {\n limit?: number;\n offset?: number;\n}\n\nconst takePage = <T extends any[]>(\n items: T,\n opts: Required<UsePaginationOptions & { pageLimit: number }>\n) => {\n const { limit, offset, pageLimit } = opts;\n const start = (offset > pageLimit ? pageLimit : offset) * limit;\n const stop = start + limit;\n return items.slice(start, stop);\n};\n\nexport const usePagination = <T extends any[]>(\n data: T,\n options?: UsePaginationOptions\n) => {\n const { limit = 25, offset = 0 } = options ?? {};\n const pageLimit = data ? Math.floor(data.length / limit) : 0;\n\n const [page, setPage] = useState(\n takePage(data, { limit, offset, pageLimit })\n );\n\n useEffect(() => {\n setPage(takePage(data, { limit, offset, pageLimit }));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [limit, offset, data]);\n\n return useMemo(() => ({ page, pageLimit }), [page, pageLimit]);\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 { useCardView } from \"../../contexts/CardView\";\nimport { useCatalogSearch } from \"../../hooks/useCatalogSearch\";\nimport { usePagination } from \"../../hooks/usePagination\";\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\";\nimport { useSearchAPI } from \"./SearchAPI\";\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 { cardView, CardViewControls } = useCardView();\n const queryParams = useQueryParams();\n const { results, search } = useSearchAPI();\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 } = usePagination(results, { offset, limit: LIMIT });\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 search({\n query: searchQuery,\n filters: { language: languageQuery ?? undefined },\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [languageQuery, searchQuery]);\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 <CardViewControls />\n </Flex>\n <PackageList cardView={cardView} 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 { SearchAPIProvider } from \"./SearchAPI\";\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 <SearchAPIProvider>\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 </SearchAPIProvider>\n </Page>\n );\n};\n"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(this["webpackJsonpconstruct-hub-webapp"]=this["webpackJsonpconstruct-hub-webapp"]||[]).push([[1],{102:function(e,t,n){"use strict";n.d(t,"b",(function(){return g})),n.d(t,"a",(function(){return x}));var r=n(6),a=n(4),c=n(198),i=n(0),o="prefersWarnOnExternalLinkClick",s=n(199),l=n(45),u=n(195),d=n(221),j=n(149),b=n(223),f=n(57),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),g=Object(a.a)(p,2),x=g[0],v=g[1];return Object(h.jsx)(l.a,{closeOnOverlayClick:!1,isOpen:n,onClose:c,children:Object(h.jsx)(l.h,{children:Object(h.jsxs)(l.d,{color:"blue.800",children:[Object(h.jsx)(l.g,{children:"Confirm"}),Object(h.jsxs)(l.b,{children:[Object(h.jsx)(u.a,{fontSize:"lg",mb:2,children:"This link is taking you to an external site"}),Object(h.jsx)(u.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;v(t)},children:"Do not show this warning again."})]}),Object(h.jsxs)(l.f,{children:[Object(h.jsx)(j.a,{onClick:function(){v(!0),c()},variant:"ghost",children:"Cancel"}),Object(h.jsx)(b.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(!x){O(x);try{localStorage.setItem(o,JSON.stringify(x))}catch(t){}}null===r||void 0===r||r(e),c()},children:Object(h.jsx)(j.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})),g=function(){return Object(i.useContext)(p)},x=function(e){var t=e.children,n=Object(i.useState)(null),s=Object(a.a)(n,2),l=s[0],u=s[1],d=Object(c.a)({onClose:function(){u(null)}}),j=d.isOpen,b=d.onOpen,f=d.onClose,g=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}})),x=Object(a.a)(g,2),v=x[0],m=x[1],C=Object(i.useCallback)((function(e){var t=e.href,n=e.onClick;if(!v)return n;return function(e){u({href:t,onClick:n}),e.preventDefault(),b()}}),[b,v]);return Object(h.jsxs)(p.Provider,{value:C,children:[t,Object(h.jsx)(O,Object(r.a)({isOpen:j,onClose:f,setShouldWarn:m},l))]})}},112:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return l}));var r=n(0),a=n(20),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),l=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])}},113:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(6),a=n(18),c=n(190),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"},115:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(0),a=n(20),c=function(){var e=Object(a.h)().search;return Object(r.useMemo)((function(){return new URLSearchParams(e)}),[e])}},116:function(e,t,n){"use strict";n.d(t,"a",(function(){return C})),n.d(t,"b",(function(){return v}));var r=n(6),a=n(22),c=n(145),i=n(84),o=n(4),s=n(18),l=n(224),u=n(149),d=n(25),j=n(210),b=n(220),f=n(195),h=n(1),O=n(37),p=Object(O.a)("catalogSearch",["form","input","languageDropdown","languageDropdownMenu","languageDropdownValue","languageItem","submit"]),g=Object.fromEntries(Object.entries(d.b).filter((function(e){var t=Object(o.a)(e,1)[0];return d.e.has(t)}))),x=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)(b.a,{strategy:"fixed",children:[Object(h.jsx)(b.b,{as:u.a,bg:"white",borderColor:"blue.100",boxShadow:"base","data-testid":c.trigger,rightIcon:Object(h.jsx)(j.a,{color:"blue.500"}),variant:"outline",children:Object(h.jsx)(f.a,{"data-testid":c.value,children:i})}),Object(h.jsxs)(b.f,{"data-testid":c.menu,children:[Object(h.jsx)(b.e,{"data-testid":c.item,onClick:function(){return r(null)},children:"Any"}),s.map((function(e){var t=Object(o.a)(e,2),n=t[0],a=t[1];return Object(h.jsx)(b.e,{"data-testid":c.item,onClick:function(){return r(n)},children:a},n)}))]})]})},v=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)(l.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)(x,{items:g,onSelect:c,placeholder:"Language...",selected:a,testIds:{item:p.languageItem,menu:p.languageDropdownMenu,trigger:p.languageDropdown,value:p.languageDropdownValue}}),Object(h.jsx)(u.a,{boxShadow:"base",colorScheme:"blue","data-testid":p.submit,type:"submit",children:"Search"})]})})),m=["onSubmit"],C=function(e){var t=e.onSubmit,n=Object(a.a)(e,m);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)(v,Object(r.a)({},n))})})}},117:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(19),a=n(0),c=n(25),i=n(83),o=function(e){var t=e.limit,n=e.offset,o=void 0===n?0:n,s=e.query,l=void 0===s?"":s,u=e.language,d=void 0===u?null:u,j=Object(i.b)(),b=j.data,f=j.loading,h=j.error,O=Object(a.useMemo)((function(){if(f||h||!(null===b||void 0===b?void 0:b.packages))return[];var e=b.packages.filter((function(e){if(d&&d!==c.d.TypeScript&&!Object.keys(e.languages).includes(d))return!1;if(l.length){var t=JSON.stringify(e).toLowerCase(),n=l.toLowerCase();if(!t.includes(n))return!1}return!0}));return Object(r.a)(e).sort((function(e,t){var n=new Date(e.metadata.date),r=new Date(t.metadata.date);return n===r?0:n<r?1:-1}))}),[null===b||void 0===b?void 0:b.packages,h,d,f,l]),p=O?Math.floor(O.length/t):0,g=Object(a.useMemo)((function(){var e=(o>p?p:o)*t,n=e+t;return O.slice(e,n)}),[t,o,p,O]);return Object(a.useMemo)((function(){return{loading:f,results:O,error:h,displayable:g,pageLimit:p}}),[g,h,f,p,O])}},118:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(4),a=n(0),c=n(20),i=n(56),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),l=s[0],u=s[1],d=Object(a.useState)(null!==(t=n.defaultLanguage)&&void 0!==t?t:null),j=Object(r.a)(d,2),b=j[0],f=j[1],h=Object(c.g)(),O=h.push,p=function(e){e.preventDefault(),u(e.target.value)},g=Object(a.useCallback)((function(){O(Object(i.c)({language:b,query:l}))}),[b,O,l]),x=Object(a.useCallback)((function(e){null===e||void 0===e||e.preventDefault(),g()}),[g]);return Object(a.useMemo)((function(){return{language:b,onLanguageChange:f,onQueryChange:p,onSearch:g,onSubmit:x,query:l,setLanguage:f,setQuery:u}}),[b,g,x,l])}},119:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(6),a=n(22),c=n(18),i=n(190),o=n(219),s=n(1),l=["date","format"],u=Object(c.a)((function(e,t){var n=e.date,c=e.format,u=Object(a.a)(e,l);return Object(s.jsx)(i.a,Object(r.a)(Object(r.a)({as:"time",dateTime:n.toISOString(),ref:t},u),{},{children:Object(o.a)(n,c)}))}));u.displayName="Time"},120:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(223),a=n(25),c=n(1),i=function(e){var t=e.children,n=e.language;return a.e.has(n)?Object(c.jsx)(c.Fragment,{children:t}):Object(c.jsx)(r.a,{hasArrow:!0,label:"Documentation support for ".concat(a.b[n]," is coming soon!"),placement:"top-start",children:Object(c.jsx)("span",{children:t})})}},123:function(e,t,n){"use strict";n.d(t,"b",(function(){return p})),n.d(t,"a",(function(){return g}));var r=n(4),a=n(0),c=n(69),i=n(205),o=n(195),s=n(203),l=n(6),u=n(103),d=n(1),j=n(37),b=Object(j.a)("cardView",["controls","gridView","listView"]),f=[{viewType:c.b.Compact,icon:function(e){return Object(d.jsxs)(u.a,Object(l.a)(Object(l.a)({fill:"none",height:"19",viewBox:"0 0 20 19",width:"20"},e),{},{children:[Object(d.jsx)("path",{d:"M1.38098 8.64983H8.41201C8.79961 8.64983 9.11488 8.34356 9.11488 7.96704V1.13689C9.11488 0.760367 8.79961 0.454102 8.41201 0.454102H1.38098C0.993378 0.454102 0.678104 0.760367 0.678104 1.13689V7.96704C0.678104 8.34356 0.993378 8.64983 1.38098 8.64983Z",fill:"--currentColor"}),Object(d.jsx)("path",{d:"M11.588 8.64983H18.619C19.0066 8.64983 19.3219 8.34356 19.3219 7.96704V1.13689C19.3219 0.760367 19.0066 0.454102 18.619 0.454102H11.588C11.2004 0.454102 10.8851 0.760367 10.8851 1.13689V7.96704C10.8851 8.34356 11.2004 8.64983 11.588 8.64983Z",fill:"--currentColor"}),Object(d.jsx)("path",{d:"M1.38098 18.7458H8.41201C8.79961 18.7458 9.11488 18.4395 9.11488 18.063V11.2328C9.11488 10.8563 8.79961 10.55 8.41201 10.55H1.38098C0.993378 10.55 0.678104 10.8563 0.678104 11.2328V18.063C0.678104 18.4395 0.993378 18.7458 1.38098 18.7458Z",fill:"--currentColor"}),Object(d.jsx)("path",{d:"M11.588 18.7458H18.619C19.0066 18.7458 19.3219 18.4395 19.3219 18.063V11.2328C19.3219 10.8563 19.0066 10.55 18.619 10.55H11.588C11.2004 10.55 10.8851 10.8563 10.8851 11.2328V18.063C10.8851 18.4395 11.2004 18.7458 11.588 18.7458Z",fill:"--currentColor"})]}))},name:"Grid View","data-testid":b.gridView},{viewType:c.b.Wide,icon:function(e){return Object(d.jsxs)(u.a,Object(l.a)(Object(l.a)({fill:"none",height:"17",viewBox:"0 0 22 17",width:"22"},e),{},{children:[Object(d.jsx)("path",{d:"M6.90623 4.27567H20.2844C20.7103 4.27567 21.0569 3.93899 21.0569 3.52515V1.45779C21.0569 1.04408 20.7103 0.707397 20.2844 0.707397H6.90623C6.48036 0.707397 6.13377 1.04408 6.13377 1.45779V3.52515C6.13377 3.93899 6.48036 4.27567 6.90623 4.27567Z",fill:"--currentColor"}),Object(d.jsx)("path",{d:"M1.71557 4.27567H3.84865C4.27453 4.27567 4.62112 3.93899 4.62112 3.52515V1.45779C4.62112 1.04408 4.27453 0.707397 3.84865 0.707397H1.71557C1.28969 0.707397 0.943108 1.04408 0.943108 1.45779V3.52515C0.943108 3.93899 1.28969 4.27567 1.71557 4.27567Z",fill:"--currentColor"}),Object(d.jsx)("path",{d:"M1.71557 10.3865H3.84865C4.27453 10.3865 4.62112 10.0498 4.62112 9.63613V7.56399C4.62112 7.15028 4.27453 6.8136 3.84865 6.8136H1.71557C1.28969 6.8136 0.943108 7.15028 0.943108 7.56399V9.63613C0.943108 10.0498 1.28969 10.3865 1.71557 10.3865Z",fill:"--currentColor"}),Object(d.jsx)("path",{d:"M6.90623 10.3865H20.2844C20.7103 10.3865 21.0569 10.0498 21.0569 9.63613V7.56399C21.0569 7.15028 20.7103 6.8136 20.2844 6.8136H6.90623C6.48036 6.8136 6.13377 7.15028 6.13377 7.56399V9.63613C6.13377 10.0498 6.48036 10.3865 6.90623 10.3865Z",fill:"--currentColor"}),Object(d.jsx)("path",{d:"M6.90623 16.4927H20.2844C20.7103 16.4927 21.0569 16.156 21.0569 15.7423V13.675C21.0569 13.2612 20.7103 12.9246 20.2844 12.9246H6.90623C6.48036 12.9246 6.13377 13.2612 6.13377 13.675V15.7423C6.13377 16.156 6.48036 16.4927 6.90623 16.4927Z",fill:"--currentColor"}),Object(d.jsx)("path",{d:"M1.71557 16.4927H3.84865C4.27453 16.4927 4.62112 16.156 4.62112 15.7423V13.675C4.62112 13.2612 4.27453 12.9246 3.84865 12.9246H1.71557C1.28969 12.9246 0.943108 13.2612 0.943108 13.675V15.7423C0.943108 16.156 1.28969 16.4927 1.71557 16.4927Z",fill:"--currentColor"})]}))},name:"List View","data-testid":b.listView}],h=function(e){var t=e.currentCardView,n=e.setCardView;return Object(d.jsxs)(i.a,{align:"center","data-testid":b.controls,children:[Object(d.jsx)(o.a,{mr:2,children:"View as"}),f.map((function(e){var r=e["data-testid"],a=e.name,c=e.icon,i=e.viewType;return Object(d.jsx)(s.a,{"aria-label":"".concat(t===i?"Show":"Showing"," ").concat(a),"data-testid":r,icon:Object(d.jsx)(c,{fill:t===i?"blue.500":"black",height:5,width:5}),onClick:function(){return null===n||void 0===n?void 0:n(i)},p:0,variant:"ghost"},a)}))]})},O=Object(a.createContext)({cardView:c.b.Wide,CardViewControls:h,setCardView:function(){}}),p=function(){return Object(a.useContext)(O)},g=function(e){var t=e.children,n=Object(a.useState)(c.b.Wide),i=Object(r.a)(n,2),o=i[0],s=i[1],l=Object(a.useCallback)((function(){return Object(d.jsx)(h,{currentCardView:o,setCardView:s})}),[o,s]);return Object(d.jsx)(O.Provider,{value:{cardView:o,setCardView:s,CardViewControls:l},children:t})}},13: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={LANGUAGE:"lang",OFFSET:"offset",SEARCH_QUERY:"q",SUBMODULE:"submodule"},c={FAQ:"/faq",HOME:"/",PACKAGES:"/packages",SEARCH:"/search",SITE_TERMS:"/terms"}},136: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,l=void 0===s?250:s,u=t.onChange;return Object(a.useEffect)((function(){var t=setTimeout((function(){o(e),null===u||void 0===u||u(e)}),l);return function(){clearTimeout(t)}}),[e,l,u]),i}},137:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(6),a=n(22),c=n(18),i=n(213),o=n(1),s=["name","onClick"],l=Object(c.a)((function(e,t){var n=e.name,c=e.onClick,l=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},l),{},{children:n}))}));l.displayName="SearchItem"},162:function(e,t,n){},169:function(e,t,n){"use strict";n.r(t);var r={};n.r(r),n.d(r,"initialize",(function(){return P})),n.d(r,"access",(function(){return H})),n.d(r,"checkForCookieConsent",(function(){return G})),n.d(r,"customizeCookies",(function(){return W})),n.d(r,"getConsentCookie",(function(){return L})),n.d(r,"hasConsent",(function(){return D}));var a,c,i=n(0),o=n.n(i),s=n(80),l=n.n(s),u=n(24),d=(n(162),n(145)),j=n(20),b=n(202),f=n(204),h=n(198),O=n(190),p=n(201),g=n(195),x=n(203),v=n(113),m=n(57),C=n(1),w="showing-dev-preview-banner",y=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(C.jsx)(O.a,{h:"max-content",children:Object(C.jsx)(p.a,{in:n,children:Object(C.jsxs)(v.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(C.jsx)(b.a,{h:5,left:4,position:"absolute",top:4,w:5}),Object(C.jsxs)(g.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(C.jsx)(m.a,{color:"inherit",hasWarning:!1,href:"https://github.com/cdklabs/construct-hub-webapp/issues",textDecoration:"underline",children:"here"})]}),Object(C.jsx)(x.a,{"aria-label":"Dismiss banner",colorScheme:"white",icon:Object(C.jsx)(f.a,{}),onClick:r,position:"absolute",right:4,size:"xs",top:3,variant:"ghost"})]})})})},S=n(4),k=n(205),E=n(206),A=n(207),M=n(149),z=n(22),T=n(33),I=n.n(T),V=n(50),F=function(){new URLSearchParams(window.location.search).get("sb")},P=function(){var e=Object(V.a)(I.a.mark((function e(){return I.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(V.a)(I.a.mark((function r(){var c,i,o;return I.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(14).then(n.t.bind(null,589,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)}},H=R("access"),G=R("checkForCookieConsent"),W=R("customizeCookies"),L=R("getConsentCookie"),D=R("hasConsent"),N=P,U=Object(z.a)(r,["initialize"]),_=Object(i.createContext)({}),B=function(e){var t=e.children,n=Object(i.useState)(!1),r=Object(S.a)(n,2),a=r[0],c=r[1];return Object(i.useEffect)((function(){var e=!1;return N().then((function(){e||(U.checkForCookieConsent(),c(!0))})).catch((function(t){console.error(t),e||c(!1)})),function(){e=!0,c(!1)}}),[]),Object(C.jsx)(_.Provider,{value:a?U:{},children:t})},q=n(68),J=n(13),Z={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"}},K=n(19),Q=n(37),X=Object(Q.a)("footer",["container","links","disclaimer","manageCookies"].concat(Object(K.a)(Object.values(Z).map((function(e){return e.testId}))))),Y=function(){var e=Object(i.useContext)(_).customizeCookies;return Object(C.jsxs)(k.a,{align:"center",as:"footer",bg:"blue.800",color:"white","data-testid":X.container,direction:"column",justify:"center",py:4,children:[Object(C.jsx)(E.a,{columnGap:6,columns:[1,2,4],"data-testid":X.links,children:Object.entries(Z).map((function(e,t){var n=Object(S.a)(e,2),r=n[0],a=n[1],c=a.display,i=a.isExternal,o=void 0===i||i,s=a.testId,l=a.url;return Object(C.jsxs)(k.a,{align:"center",direction:{base:"column",md:"row"},children:[Object(C.jsx)(O.a,{display:{base:"none",md:0!==t?"initial":"none"},h:5,children:Object(C.jsx)(A.a,{borderColor:"white",mr:6,orientation:"vertical"})}),o?Object(C.jsx)(m.a,{color:"currentcolor","data-testid":X[s],hasWarning:!1,href:l,lineHeight:10,mx:"auto",children:c}):Object(C.jsx)(q.a,{color:"currentcolor","data-testid":X[s],lineHeight:10,mx:"auto",to:l,children:c}),Object(C.jsx)(O.a,{display:{base:"none",sm:t<2?"initial":"none",md:"none"},w:"100%",children:Object(C.jsx)(A.a,{borderColor:"white"})})]},r)}))}),Object(C.jsx)(g.a,{"data-testid":X.disclaimer,fontSize:"xs",mt:4,children:"2021 Amazon Web Services, Inc. All rights reserved."}),Object(C.jsx)(M.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(220),re=["children"],ae=function(e){var t=e.children,n=Object(z.a)(e,re);return Object(C.jsx)(ne.a,Object($.a)(Object($.a)({colorScheme:"blue.800",strategy:"fixed"},n),{},{children:t}))},ce=n(18),ie=["items"],oe=function(e){var t=e.display,n=e.isNavLink,r=e.url;return n?Object(C.jsx)(q.a,{color:"blue.500",to:r,children:t}):Object(C.jsx)(m.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(z.a)(e,ie);return Object(C.jsx)(ne.f,Object($.a)(Object($.a)({},r),{},{ref:t,children:n.map((function(e,t){return"links"in e?Object(C.jsxs)(i.Fragment,{children:[Object(C.jsx)(ne.d,{align:"left",title:e.display,children:e.links.map((function(e,t){return Object(C.jsx)(ne.e,{children:Object(C.jsx)(oe,Object($.a)({},e))},"".concat(e.display,"-").concat(t))}))}),t!==n.length-1&&Object(C.jsx)(ne.c,{})]},"".concat(e.display,"-").concat(t)):Object(C.jsx)(ne.e,{children:Object(C.jsx)(oe,Object($.a)({},e))},"".concat(e.display,"-").concat(t))}))}))})),le=n(210),ue=["children"],de=Object(ce.a)((function(e,t){var n=e.children,r=Object(z.a)(e,ue);return Object(C.jsx)(ne.b,Object($.a)(Object($.a)({as:M.a,color:"blue.800",fontWeight:"500",ref:t,rightIcon:Object(C.jsx)(le.a,{h:6,w:6}),size:"md",variant:"link"},r),{},{children:n}))})),je=Object(Q.a)("header",["container","title","gettingStartedTrigger","gettingStartedMenu","resourcesTrigger","resourcesMenu","navOpen","navClose","searchButton","searchIcon","mobileNav"]),be=function(){return Object(C.jsxs)(ae,{children:[Object(C.jsx)(de,{"data-testid":je.gettingStartedTrigger,children:"Getting Started"}),Object(C.jsx)(se,{"data-testid":je.gettingStartedMenu,items:ee})]})},fe=n(212),he=n(227),Oe=n(228),pe=n(45),ge=n(229),xe=function(){return Object(C.jsxs)(ae,{children:[Object(C.jsx)(de,{"data-testid":je.resourcesTrigger,children:"Resources"}),Object(C.jsx)(se,{"data-testid":je.resourcesMenu,items:te})]})},ve=n(211),me=function(){return Object(C.jsx)(ve.a,{as:"h1",color:"blue.800","data-testid":je.title,size:"lg",children:Object(C.jsxs)(u.b,{to:"/",children:[Object(C.jsx)(O.a,{as:"span",color:"blue.500",children:"Construct"})," ","Hub"]})})},Ce=function(e){var t=e.isOpen,n=e.onClose;return Object(C.jsx)(he.a,{children:Object(C.jsxs)(Oe.a,{isOpen:t,onClose:n,placement:"left",size:"xs",children:[Object(C.jsx)(pe.h,{}),Object(C.jsxs)(Oe.b,{"data-testid":je.mobileNav,children:[Object(C.jsx)(pe.c,{}),Object(C.jsx)(pe.g,{display:"flex",justifyContent:"center",children:Object(C.jsx)(me,{})}),Object(C.jsx)(pe.b,{children:Object(C.jsxs)(ge.a,{align:"start",justify:"start",spacing:4,children:[Object(C.jsx)(be,{}),Object(C.jsx)(xe,{})]})})]})]})})},we=function(){var e=Object(h.a)();return Object(C.jsxs)(C.Fragment,{children:[Object(C.jsx)(x.a,{"aria-label":"Navigation Menu",borderRadius:"md","data-testid":je.navOpen,display:{md:"none"},icon:Object(C.jsx)(fe.a,{}),onClick:e.onOpen,variant:"ghost"}),Object(C.jsx)(Ce,Object($.a)({},e))]})},ye=n(214),Se=n(213),ke=n(117),Ee=n(118),Ae=n(136),Me=n(70),ze=n(116),Te=n(84),Ie=n(137),Ve=Object(Q.a)("searchModal",["container"]),Fe=["onSubmit"],Pe=function(e){var t=e.isOpen,n=e.onClose,r=Object(j.g)().push,a=Object(Me.a)(),c=Object(S.a)(a,1)[0],o=Object(Ee.a)(),s=o.onSubmit,l=Object(z.a)(o,Fe),u=Object(Ae.a)({query:l.query,language:l.language}),d=u.query,b=u.language,f=Object(ke.a)({limit:5,offset:0,query:d,language:b}).displayable,h=(d||b)&&f.length>0,O=Object(i.useRef)(null);return Object(C.jsx)(he.a,{children:Object(C.jsx)(pe.a,{initialFocusRef:O,isOpen:t,onClose:n,children:Object(C.jsx)(pe.h,{children:Object(C.jsxs)(pe.d,{"data-testid":Ve.container,children:[Object(C.jsx)(pe.c,{}),Object(C.jsx)(pe.g,{children:"Search modules or providers"}),Object(C.jsxs)(pe.b,{children:[Object(C.jsx)(Te.a,{onSubmit:function(e){n(),s(e)},pb:4,children:Object(C.jsx)(ge.a,{spacing:4,children:Object(C.jsx)(ze.b,Object($.a)({ref:O},l))})}),h&&Object(C.jsxs)(C.Fragment,{children:[Object(C.jsx)(A.a,{}),Object(C.jsx)(ve.a,{fontSize:"md",my:4,textAlign:"center",children:"Suggestions"}),Object(C.jsx)(Se.c,{children:f.map((function(e){return Object(C.jsx)(Ie.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!==b&&void 0!==b?b:c),n(),void r(t);var t}},e.name)}))})]})]})]})})})})},Re=function(){var e=Object(h.a)(),t=Object(j.h)().pathname;return[J.c.HOME,J.c.SEARCH].some((function(e){return e===t}))?null:Object(C.jsxs)(C.Fragment,{children:[Object(C.jsx)(M.a,{align:"center",color:"gray.600",colorScheme:"gray","data-testid":je.searchButton,display:{base:"none",md:"flex"},fontWeight:"medium",justifyContent:"space-between",m:"0 auto",maxW:"500px",onClick:e.onOpen,rightIcon:Object(C.jsx)(ye.a,{color:"gray.600",ml:4}),variant:"outline",w:"100%",children:"Search Constructs..."}),Object(C.jsx)(x.a,{"aria-label":"Search Icon",borderRadius:"md","data-testid":je.searchIcon,display:{base:"initial",md:"none"},icon:Object(C.jsx)(ye.a,{color:"gray.600"}),onClick:e.onOpen,variant:"ghost"}),Object(C.jsx)(Pe,Object($.a)({},e))]})},He=function(e){return Object(C.jsx)(d.b,Object($.a)({align:"center",justify:"center",rowStart:1},e))},Ge=function(){return Object(C.jsxs)(d.a,{alignItems:"center",as:"header",bg:"white",boxShadow:"base","data-testid":je.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(C.jsx)(He,{colStart:{base:2,md:1},justifySelf:{base:"center",md:"start"},children:Object(C.jsx)(me,{})}),Object(C.jsx)(He,{colStart:{base:3,md:2},justifySelf:{base:"end",md:"stretch"},children:Object(C.jsx)(Re,{})}),Object(C.jsxs)(He,{colStart:{base:1,md:3},justifySelf:{base:"start",md:"end"},children:[Object(C.jsxs)(d.a,{display:{base:"none",md:"grid"},gap:4,gridTemplateColumns:"1fr 1fr",gridTemplateRows:"1fr",placeItems:"center",w:"100%",children:[Object(C.jsx)(O.a,{children:Object(C.jsx)(be,{})}),Object(C.jsx)(O.a,{children:Object(C.jsx)(xe,{})})]}),Object(C.jsx)(we,{})]})]})},We=n(89),Le=["component"],De=function(e){var t=e.component,n=Object(z.a)(e,Le);return Object(C.jsx)(j.b,Object($.a)(Object($.a)({},n),{},{children:Object(C.jsx)(i.Suspense,{fallback:Object(C.jsx)(We.a,{}),children:Object(C.jsx)(t,{})})}))},Ne=n(88),Ue=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(12)]).then(n.bind(null,594))})),_e=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(7)]).then(n.bind(null,596))})),Be=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(8)]).then(n.bind(null,595))})),qe=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(10)]).then(n.bind(null,297))})),Je=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(3),n.e(5)]).then(n.bind(null,591))})),Ze=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(6)]).then(n.bind(null,597))})),Ke=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(11),n.e(9)]).then(n.bind(null,592))})),Qe=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(13)]).then(n.bind(null,598))})),Xe=function(){var e,t=Object(Ne.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(C.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(C.jsx)(Ge,{}),r||c?Object(C.jsx)("div",{}):Object(C.jsx)(y,{}),r?Object(C.jsx)(We.a,{}):Object(C.jsxs)(j.d,{children:[Object(C.jsx)(De,{component:Ue,exact:!0,path:J.c.FAQ}),Object(C.jsx)(De,{component:(null===a||void 0===a?void 0:a.homeRedesign)?Be:_e,exact:!0,path:J.c.HOME}),Object(C.jsx)(De,{component:Qe,exact:!0,path:J.c.SITE_TERMS}),Object(C.jsx)(De,{component:Je,path:J.c.PACKAGES}),Object(C.jsx)(De,{component:(null===a||void 0===a?void 0:a.searchRedesign)?Ke:Ze,exact:!0,path:J.c.SEARCH}),Object(C.jsx)(De,{component:qe,path:"*"})]}),Object(C.jsx)(Y,{})]})},Ye=n(112),$e=n(123),et=n(83),tt=n(102),nt=n(222),rt=n(217),at=n(98),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,lt=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"})})}),ut=Object($.a)(Object($.a)({},at.theme.components),{},{Code:it,Divider:{defaultProps:{borderColor:"rgba(0, 124, 253, 0.15)"}},Tag:lt}),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)"}},jt=Object(rt.a)(Object($.a)(Object($.a)({},dt),{},{components:ut})),bt=function(e){var t=e.children;return Object(C.jsx)(nt.a,{resetCSS:!0,theme:jt,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)}))};l.a.render(Object(C.jsx)(o.a.StrictMode,{children:Object(C.jsx)(u.a,{children:Object(C.jsx)(B,{children:Object(C.jsx)(Ye.a,{children:Object(C.jsx)(Ne.a,{children:Object(C.jsx)(et.a,{children:Object(C.jsx)(bt,{children:Object(C.jsx)(tt.a,{children:Object(C.jsx)($e.a,{children:Object(C.jsx)(Xe,{})})})})})})})})})}),document.getElementById("root")),c&&c instanceof Function&&n.e(15).then(n.bind(null,590)).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)}))}}()},25:function(e,t,n){"use strict";n.d(t,"d",(function(){return c})),n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d})),n.d(t,"e",(function(){return j})),n.d(t,"c",(function(){return b}));var r,a,c,i=n(5),o=n(6),s=n(103),l=n(1);!function(e){e.DotNet="dotnet",e.TypeScript="typescript",e.Python="python",e.Go="golang",e.Java="java"}(c||(c={}));var u=[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),j=new Set([c.Python,c.TypeScript,c.Java]),b=(a={},Object(i.a)(a,c.TypeScript,{name:d.typescript,icon:function(e){return Object(l.jsxs)(s.a,Object(o.a)(Object(o.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 256 256",children:[Object(l.jsx)("path",{d:"M0 128v128h256V0H0z",fill:"#007ACC"}),Object(l.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(l.jsxs)(s.a,Object(o.a)(Object(o.a)({},e),{},{version:"1.0",viewBox:"0 0 110.421 109.846",children:[Object(l.jsxs)("defs",{children:[Object(l.jsxs)("linearGradient",{id:"a",children:[Object(l.jsx)("stop",{offset:"0",stopColor:"#ffe052"}),Object(l.jsx)("stop",{offset:"1",stopColor:"#ffc331"})]}),Object(l.jsx)("linearGradient",{gradientUnits:"userSpaceOnUse",id:"d",x1:"89.137",x2:"147.777",xlinkHref:"#a",y1:"111.921",y2:"168.101"}),Object(l.jsxs)("linearGradient",{id:"b",children:[Object(l.jsx)("stop",{offset:"0",stopColor:"#387eb8"}),Object(l.jsx)("stop",{offset:"1",stopColor:"#366994"})]}),Object(l.jsx)("linearGradient",{gradientUnits:"userSpaceOnUse",id:"c",x1:"55.549",x2:"110.149",xlinkHref:"#b",y1:"77.07",y2:"131.853"})]}),Object(l.jsxs)("g",{color:"#000",children:[Object(l.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(l.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(l.jsxs)(s.a,Object(o.a)(Object(o.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 256 346",children:[Object(l.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(l.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(l.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(l.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(l.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(l.jsx)(s.a,Object(o.a)(Object(o.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 512 192",children:Object(l.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(l.jsx)(s.a,Object(o.a)(Object(o.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 32 32",children:Object(l.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)},37: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}),{})}},56:function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return l})),n.d(t,"a",(function(){return u}));var r=n(5),a=n(4),c=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(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},l=function(e){var t,n=e.query,a=e.offset,i=e.language;return s(c.c.SEARCH,(t={},Object(r.a)(t,c.b.SEARCH_QUERY,n),Object(r.a)(t,c.b.LANGUAGE,i),Object(r.a)(t,c.b.OFFSET,null!==a&&void 0!==a?a:0),t))},u=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))}},57:function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(6),a=n(22),c=n(199),i=n(18),o=n(200),s=n(102),l=n(1),u=["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,j=e.hasWarning,b=void 0===j||j,f=e.href,h=e.onClick,O=e.noFollow,p=Object(a.a)(e,u),g=Object(s.b)(),x="noopener noreferrer";return(b||O)&&(x+=" nofollow"),Object(l.jsxs)(o.a,Object(r.a)(Object(r.a)({color:"blue.500",href:f,isExternal:!0,onClick:b?g({href:f,onClick:h}):h,ref:t,rel:x},p),{},{children:[n," ",d&&Object(l.jsx)(c.a,{mb:1,ml:2})]}))}));d.displayName="ExternalLink"},68:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(6),a=n(200),c=n(24),i=n(1),o=function(e){return Object(i.jsx)(a.a,Object(r.a)({as:c.b},e))}},69:function(e,t,n){"use strict";var r;n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return F})),function(e){e.Wide="wide",e.Compact="compact"}(r||(r={}));var a=n(0),c=n(216),i=n(229),o=n(207),s=n(205),l=n(4),u=n(195),d=n(70),j=n(56),b=n(68),f=n(119),h=n(37),O=Object(h.a)("packageCard",["author","compactContainer","description","languages","published","title","version","wideContainer"]),p=n(1),g=function(e){var t=e["data-testid"],n=e.label,r=e.value;return Object(p.jsxs)(u.a,{"data-testid":t,fontSize:"xs",children:[Object(p.jsx)("strong",{children:n})," ",r]})},x=function(){var e=Object(d.a)(),t=Object(l.a)(e,1)[0],n=V(),r=n.author,a=n.metadata.date,c=n.version,i="string"===typeof r?r:r.name;return Object(p.jsxs)(p.Fragment,{children:[Object(p.jsx)(g,{"data-testid":O.version,label:"Version",value:c}),Object(p.jsx)(g,{"data-testid":O.published,label:"Published",value:Object(p.jsx)(f.a,{date:new Date(a),fontSize:"xs",format:"MMM dd, yyyy"})}),Object(p.jsx)(g,{"data-testid":O.author,label:"Author",value:Object(p.jsx)(b.a,{to:Object(j.c)({query:'"'.concat(i,'"'),language:t}),children:i})})]})},v=n(211),m=n(24),C=function(){var e=Object(d.a)(),t=Object(l.a)(e,1)[0],n=V(),r=n.name,a=n.description,i=n.version;return Object(p.jsxs)(p.Fragment,{children:[Object(p.jsx)(c.b,{as:m.b,to:Object(j.a)({name:r,version:i,language:t}),children:Object(p.jsx)(v.a,{as:"h3",color:"blue.800","data-testid":O.title,fontSize:"md",fontWeight:"bold",children:r})}),Object(p.jsx)(u.a,{"data-testid":O.description,fontSize:"md",lineHeight:"tall",noOfLines:4,children:a||"No description available."})]})},w=n(6),y=n(25),S=n(120),k={sm:5,md:6,lg:8},E=function(e){var t=e.isRounded,n=void 0!==t&&t,r=e.languages,a=e.name,c=e.size,i=void 0===c?"md":c,o=e.version,s=Object.keys(null!==r&&void 0!==r?r:{});return Object(p.jsx)(p.Fragment,{children:Object.entries(y.c).sort((function(e,t){var n=Object(l.a)(e,1)[0],r=Object(l.a)(t,1)[0];return y.a.indexOf(n)-y.a.indexOf(r)})).map((function(e){var t=Object(l.a)(e,2),r=t[0],c=t[1],u=r,d=u===y.d.TypeScript||s.includes(u),b=u===y.d.TypeScript||y.e.has(u);if(!d)return null;var f=c.name,h=c.icon,O=Object(p.jsx)(h,{"aria-label":"Supports ".concat(f),borderRadius:n?"50%":0,h:k[i],opacity:b?1:.2,w:k[i]});return Object(p.jsx)(S.a,{language:u,children:b?Object(p.jsx)(m.b,{"aria-label":"View package docs for ".concat(u),to:Object(j.a)({name:a,version:o,language:u}),children:O}):O},u)}))})},A=function(){var e=V();return Object(p.jsx)(E,Object(w.a)(Object(w.a)({},e),{},{size:"sm"}))},M=function(){return Object(p.jsx)(c.a,{_hover:{"> article":{bg:"gray.50"}},children:Object(p.jsxs)(i.a,{as:"article",bg:"white",border:"base",borderRadius:"sm",color:"gray.600","data-testid":O.compactContainer,h:"100%",maxW:"100%",minW:"320px",p:5,spacing:5,children:[Object(p.jsx)(i.a,{flex:1,spacing:2,children:Object(p.jsx)(C,{})}),Object(p.jsx)(o.a,{bg:"blue.50"}),Object(p.jsxs)(s.a,{align:"center",direction:"row",justify:"space-between",spacing:5,children:[Object(p.jsx)(i.a,{"data-testid":O.languages,direction:"row",spacing:2,children:Object(p.jsx)(A,{})}),Object(p.jsx)(i.a,{spacing:1,children:Object(p.jsx)(x,{})})]})]})})},z=n(145),T=function(){return Object(p.jsx)(c.a,{_hover:{"> article":{bg:"gray.50"}},children:Object(p.jsxs)(z.a,{as:"article",bg:"white",border:"base",borderRadius:"sm",color:"gray.600","data-testid":O.wideContainer,gap:5,p:5,templateColumns:{base:"1fr",md:"2fr 1fr"},templateRows:{base:"auto",md:"1fr"},w:"100%",children:[Object(p.jsxs)(i.a,{spacing:2,children:[Object(p.jsx)(C,{}),Object(p.jsx)(i.a,{direction:"row",spacing:1,children:Object(p.jsx)(A,{})})]}),Object(p.jsx)(i.a,{alignSelf:"center","data-testid":O.languages,fontSize:"xs",spacing:1,children:Object(p.jsx)(x,{})})]})})},I=Object(a.createContext)(null),V=function(){return Object(a.useContext)(I)},F=function(e){var t=e.pkg,n=e.variant,a=void 0===n?r.Wide:n;return Object(p.jsxs)(I.Provider,{value:t,children:[a===r.Wide&&Object(p.jsx)(T,{}),a===r.Compact&&Object(p.jsx)(M,{})]})}},70:function(e,t,n){"use strict";n.d(t,"a",(function(){return b}));var r=n(4),a=n(0),c=n(20),i=n(25),o=n(13),s=n(115),l=i.d.TypeScript,u="preferred-language",d=function(e){return null!=e&&i.e.has(e)},j=function(e){if(d(e))return e;try{var t,n=null!==(t=localStorage.getItem(u))&&void 0!==t?t:"";if(d(n))return n}catch(r){}return l},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.updateUrl,n=e.updateSaved,i=Object(c.h)(),l=i.pathname,b=i.hash,f=Object(c.g)(),h=f.replace,O=Object(s.a)(),p=O.get(o.b.LANGUAGE),g=Object(a.useState)((function(){return j(p)})),x=Object(r.a)(g,2),v=x[0],m=x[1];Object(a.useEffect)((function(){d(p)&&p!==v&&m(p)}),[p]),Object(a.useEffect)((function(){p!==v&&t&&(O.set(o.b.LANGUAGE,v),h({pathname:l,hash:b,search:O.toString()}))}),[v,t]);var C=Object(a.useCallback)((function(e){if(m(e),n)try{localStorage.setItem(u,e)}catch(t){}}),[n]);return Object(a.useMemo)((function(){return[v,C]}),[v,C])}},83:function(e,t,n){"use strict";n.d(t,"b",(function(){return b})),n.d(t,"a",(function(){return f}));var r=n(4),a=n(0),c=n(33),i=n.n(c),o=n(50),s=n(13),l=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)}}(),u=n(90),d=n(1),j=Object(a.createContext)({loading:!1,data:void 0,error:void 0}),b=function(){return Object(a.useContext)(j)},f=function(e){var t=e.children,n=Object(u.a)(l),c=Object(r.a)(n,2),i=c[0],o=c[1];return Object(a.useEffect)((function(){i()}),[i]),Object(d.jsx)(j.Provider,{value:o,children:t})}},84:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(6),a=n(18),c=n(23),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"},88: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(33),o=n.n(i),s=n(50),l=n(13),u={},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(l.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",u);case 8:return e.abrupt("return",t.json().catch((function(e){return console.error(e),console.log("Invalid config response, using default values"),u})));case 9:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),j=n(90),b=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],l=Object(j.a)(d,{onSuccess:function(e){s(e);try{localStorage.setItem(h,JSON.stringify(e))}catch(t){console.error(t)}}}),u=Object(a.a)(l,2),O=u[0],p=u[1];return Object(c.useEffect)((function(){O()}),[]),Object(b.jsx)(f.Provider,{value:Object(r.a)(Object(r.a)({},p),{},{data:o}),children:t})}},89:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(215),a=n(197),c=n(1),i=function(){return Object(c.jsx)(r.a,{children:Object(c.jsx)(a.a,{size:"xl"})})}},90:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(33),a=n.n(r),c=n(50),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,l=Object(o.useState)(!1),u=Object(i.a)(l,2),d=u[0],j=u[1],b=Object(o.useState)(n),f=Object(i.a)(b,2),h=f[0],O=f[1],p=Object(o.useState)(),g=Object(i.a)(p,2),x=g[0],v=g[1],m=Object(o.useRef)(!1);Object(o.useEffect)((function(){return m.current=!0,function(){m.current=!1}}),[]);var C=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(m.current){t.next=2;break}return t.abrupt("return");case 2:return j(!0),v(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),m.current&&(O(c),j(!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),m.current&&(O(n),v(t.t0),j(!1));case 17:case"end":return t.stop()}}),t,null,[[4,12]])}))),[s,r]);return Object(o.useMemo)((function(){return[C,{data:h,loading:d,error:x}]}),[C,h,d,x])}}},[[169,2,4]]]);
|
|
2
|
+
//# sourceMappingURL=main.809e79d6.chunk.js.map
|