construct-hub 0.4.64 → 0.4.67

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"static/js/58.e067338b.chunk.js","mappings":"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","sources":["views/Home/testIds.ts","views/Home/Categories.tsx","views/Home/PackageGrid.tsx","views/Home/CDKTypeTabs.tsx","hooks/useHistoryState/useHistoryState.ts","views/Home/Featured.tsx","views/Home/useSection.ts","views/Home/GradientContainer.tsx","views/Home/Hero.tsx","views/Home/InfoSection.tsx","views/Home/Info.tsx","icons/DatadogIcon.tsx","icons/AWSIcon.tsx","icons/MongoDBIcon.tsx","views/Home/Home.tsx"],"sourcesContent":["import { createTestIds } from \"../../util/createTestIds\";\n\nexport default createTestIds(\"homeRedesign\", [\n \"page\",\n \"packageGrid\",\n // Hero Section\n \"heroHeader\",\n \"heroSubtitle\",\n // Info Section\n \"infoContainer\",\n \"infoSection\",\n \"infoSectionHeading\",\n \"infoSectionDescription\",\n \"infoSectionIcon\",\n // Featured / Recently Updated Section\n \"featuredContainer\",\n \"featuredHeader\",\n \"featuredGrid\",\n // CDK Type Section\n \"cdkTypeSection\",\n \"cdkTypeSectionHeading\",\n \"cdkTypeSectionDescription\",\n \"cdkTypeTab\",\n \"cdkTypeGrid\",\n \"cdkTypeSeeAllButton\",\n \"categoriesContainer\",\n \"categoriesHeader\",\n \"categoriesDescription\",\n] as const);\n","import {\n Box,\n Flex,\n Heading,\n Text,\n Button,\n Wrap,\n WrapItem,\n} from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Category } from \"../../api/config\";\nimport { NavLink } from \"../../components/NavLink\";\nimport { useConfigValue } from \"../../hooks/useConfigValue\";\nimport { getSearchPath } from \"../../util/url\";\nimport { HOME_ANALYTICS, SECTION_PADDING } from \"./constants\";\nimport testIds from \"./testIds\";\n\n/**\n * Categories used if config does not have specific categories\n */\nconst DEFAULT_CATEGORIES: Category[] = [\n { title: \"Monitoring\", url: getSearchPath({ keywords: [\"monitoring\"] }) },\n { title: \"Containers\", url: getSearchPath({ keywords: [\"containers\"] }) },\n { title: \"Serverless\", url: getSearchPath({ keywords: [\"serverless\"] }) },\n { title: \"Databases\", url: getSearchPath({ keywords: [\"databases\"] }) },\n { title: \"Utilities\", url: getSearchPath({ keywords: [\"utilities\"] }) },\n { title: \"Deployment\", url: getSearchPath({ keywords: [\"deployment\"] }) },\n { title: \"Websites\", url: getSearchPath({ keywords: [\"websites\"] }) },\n { title: \"Security\", url: getSearchPath({ keywords: [\"security\"] }) },\n { title: \"Compliance\", url: getSearchPath({ keywords: [\"compliance\"] }) },\n { title: \"Network\", url: getSearchPath({ keywords: [\"network\"] }) },\n {\n title: \"Artificial Intelligence (AI)\",\n url: getSearchPath({ keywords: [\"artificial intelligence (ai)\"] }),\n },\n {\n title: \"Cloud Services Integrations\",\n url: getSearchPath({ keywords: [\"cloud services integrations\"] }),\n },\n];\n\nexport const Categories: FunctionComponent = () => {\n const categories = useConfigValue(\"categories\") ?? DEFAULT_CATEGORIES;\n\n return (\n <Flex\n data-testid={testIds.categoriesContainer}\n direction=\"column\"\n my={4}\n px={SECTION_PADDING.X}\n py={SECTION_PADDING.Y}\n zIndex=\"0\"\n >\n <Heading\n as=\"h3\"\n color=\"white\"\n data-testid={testIds.categoriesHeader}\n fontSize=\"1.5rem\"\n fontWeight=\"semibold\"\n lineHeight=\"lg\"\n mb={1}\n >\n Search by use case\n </Heading>\n <Text\n color=\"white\"\n data-testid={testIds.categoriesDescription}\n lineHeight=\"md\"\n mb={5}\n >\n Find the right construct for your problem set from a community that’s\n already tackled it.\n </Text>\n\n <Wrap>\n {categories.map((category) => (\n <WrapItem key={category.title}>\n <NavLink\n data-event={HOME_ANALYTICS.USE_CASE.eventName(category.title)}\n to={category.url}\n >\n <Button\n as={Box}\n boxShadow=\"0px 4px 4px rgba(73, 73, 73, 0.63)\"\n color=\"textPrimary\"\n colorScheme=\"gray\"\n size=\"md\"\n >\n {category.title}\n </Button>\n </NavLink>\n </WrapItem>\n ))}\n </Wrap>\n </Flex>\n );\n};\n","import { Grid } from \"@chakra-ui/react\";\nimport { FunctionComponent } from \"react\";\nimport { ExtendedCatalogPackage } from \"../../api/catalog-search\";\nimport { PackageCard } from \"../../components/PackageCard\";\nimport testIds from \"./testIds\";\n\nexport const PackageGrid: FunctionComponent<{\n \"data-event\"?: string;\n packages: ExtendedCatalogPackage[];\n}> = ({ \"data-event\": dataEvent, packages }) => {\n return (\n <Grid\n data-testid={testIds.packageGrid}\n gap={4}\n mt={8}\n templateColumns={{ base: \"1fr\", xl: \"1fr 1fr\" }}\n >\n {packages.map((pkg) => (\n <PackageCard\n data-event={dataEvent}\n key={`${pkg.name}-${pkg.version}`}\n pkg={pkg}\n />\n ))}\n </Grid>\n );\n};\n","import {\n Button,\n Flex,\n forwardRef,\n Heading,\n Tab,\n TabList,\n TabPanelProps,\n TabPanel,\n TabPanels,\n Tabs,\n Text,\n} from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { CatalogSearchSort } from \"../../api/catalog-search/constants\";\nimport { NavLink } from \"../../components/NavLink\";\nimport { ROUTES } from \"../../constants/url\";\nimport { eventName } from \"../../contexts/Analytics\";\nimport { useCatalogResults } from \"../../hooks/useCatalogResults\";\nimport { useHistoryState } from \"../../hooks/useHistoryState\";\nimport { getSearchPath } from \"../../util/url\";\nimport { HOME_ANALYTICS, SECTION_PADDING } from \"./constants\";\nimport { PackageGrid } from \"./PackageGrid\";\nimport testIds from \"./testIds\";\n\ninterface PackageTabProps {\n \"data-event\": string;\n data: ReturnType<typeof useCatalogResults>;\n label: string;\n}\n\ninterface PackageTabPanelProps extends PackageTabProps, TabPanelProps {\n tag: string;\n}\n\nconst tabs = {\n community: {\n \"data-event\": HOME_ANALYTICS.PUBLISHER.eventName(\"Community\"),\n label: \"Community\",\n tag: \"community\",\n },\n aws: {\n \"data-event\": HOME_ANALYTICS.PUBLISHER.eventName(\"AWS\"),\n label: \"AWS\",\n tag: \"aws-published\",\n },\n hashicorp: {\n \"data-event\": HOME_ANALYTICS.PUBLISHER.eventName(\"HashiCorp\"),\n label: \"HashiCorp\",\n tag: \"hashicorp-published\",\n },\n};\n\nconst PackageTab: FunctionComponent<PackageTabProps> = ({\n \"data-event\": dataEvent,\n data,\n label,\n}) => {\n return (\n <Tab\n data-event={eventName(dataEvent, \"Tab\")}\n data-testid={testIds.cdkTypeTab}\n data-value={label}\n isDisabled={data.page.length < 1}\n >\n {label}\n </Tab>\n );\n};\n\nconst PackageTabPanel = forwardRef<PackageTabPanelProps, \"div\">(\n ({ \"data-event\": dataEvent, label, data, tag, ...props }, ref) => {\n return (\n <TabPanel data-testid={testIds.cdkTypeGrid} ref={ref} {...props} p={0}>\n <PackageGrid data-event={dataEvent} packages={data.page} />\n\n <Flex justify=\"center\" w=\"full\">\n <Button\n as={NavLink}\n colorScheme=\"brand\"\n data-event={eventName(dataEvent, \"See All\")}\n data-testid={testIds.cdkTypeSeeAllButton}\n my={8}\n onClick={() => window.scrollTo(0, 0)}\n to={getSearchPath({\n tags: tag ? [tag] : undefined,\n sort: CatalogSearchSort.DownloadsDesc,\n })}\n >\n See all {label} constructs\n </Button>\n </Flex>\n </TabPanel>\n );\n }\n);\n\nexport const CDKTypeTabs: FunctionComponent = () => {\n const community = useCatalogResults({\n tags: [tabs.community.tag],\n limit: 4,\n sort: CatalogSearchSort.DownloadsDesc,\n });\n\n const aws = useCatalogResults({\n tags: [tabs.aws.tag],\n limit: 4,\n sort: CatalogSearchSort.DownloadsDesc,\n });\n const hashicorp = useCatalogResults({\n tags: [tabs.hashicorp.tag],\n limit: 4,\n sort: CatalogSearchSort.DownloadsDesc,\n });\n\n const [tabIndex, setTabIndex] = useHistoryState(\"cdkTypeTab\", 0);\n\n return (\n <Flex\n bg=\"bgSecondary\"\n color=\"textPrimary\"\n data-testid={testIds.cdkTypeSection}\n direction=\"column\"\n px={SECTION_PADDING.X}\n py={SECTION_PADDING.Y}\n zIndex=\"0\"\n >\n <Heading\n as=\"h3\"\n data-testid={testIds.cdkTypeSectionHeading}\n fontSize=\"1.5rem\"\n fontWeight=\"semibold\"\n lineHeight=\"lg\"\n mb={2}\n >\n Search by publisher\n </Heading>\n <Text\n data-testid={testIds.cdkTypeSectionDescription}\n lineHeight=\"md\"\n mb={5}\n >\n Find constructs published by the open-source community, AWS, and cloud\n technology providers in one location. You can also include your own\n construct libraries on Construct Hub by publishing them on npm registry.\n More concrete guidance can be found in the{\" \"}\n <NavLink color=\"link\" to={ROUTES.CONTRIBUTE}>\n Contribute\n </NavLink>{\" \"}\n page.\n </Text>\n <Tabs\n defaultIndex={tabIndex}\n onChange={(index) => setTabIndex(index)}\n variant=\"line\"\n >\n <TabList>\n <PackageTab data={community} {...tabs.community} />\n\n <PackageTab data={aws} {...tabs.aws} />\n\n <PackageTab data={hashicorp} {...tabs.hashicorp} />\n </TabList>\n <TabPanels minH=\"28.5rem\">\n <PackageTabPanel\n data={community}\n {...tabs.community}\n label={tabs.community.label.toLowerCase()}\n />\n\n <PackageTabPanel data={aws} {...tabs.aws} />\n\n <PackageTabPanel data={hashicorp} {...tabs.hashicorp} />\n </TabPanels>\n </Tabs>\n </Flex>\n );\n};\n","import { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\n\nexport const useHistoryState = <T>(\n key: string,\n initialValue: T\n): [T, (t: T) => void] => {\n const history = useHistory();\n const [rawState, rawSetState] = useState<T>(() => {\n const value = (history.location.state as any)?.[key];\n return value ?? initialValue;\n });\n const setState = (value: T) => {\n history.replace({\n ...history.location,\n state: {\n ...(history.location.state as any),\n [key]: value,\n },\n });\n rawSetState(value);\n };\n return [rawState, setState];\n};\n","import { Button, Flex, Grid, Heading } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { CatalogSearchSort } from \"../../api/catalog-search/constants\";\nimport { DEFAULT_FEATURED_PACKAGES } from \"../../api/config\";\nimport { NavLink } from \"../../components/NavLink\";\nimport { PackageCard } from \"../../components/PackageCard\";\nimport { eventName } from \"../../contexts/Analytics\";\nimport { useConfigValue } from \"../../hooks/useConfigValue\";\nimport { getSearchPath } from \"../../util/url\";\nimport { HOME_ANALYTICS, SECTION_PADDING } from \"./constants\";\nimport testIds from \"./testIds\";\nimport { useSection } from \"./useSection\";\n\nexport const Featured: FunctionComponent = () => {\n const homePackages = useConfigValue(\"featuredPackages\");\n\n const [featured = { name: \"Recently Updated\", showLastUpdated: 4 }] = (\n homePackages ?? DEFAULT_FEATURED_PACKAGES\n ).sections;\n\n const section = useSection(featured);\n\n if (!section) {\n return null;\n }\n\n return (\n <Flex\n color=\"white\"\n data-testid={testIds.featuredContainer}\n direction=\"column\"\n px={SECTION_PADDING.X}\n py={SECTION_PADDING.Y}\n zIndex=\"0\"\n >\n <Heading\n as=\"h3\"\n data-testid={testIds.featuredHeader}\n fontSize=\"1.5rem\"\n fontWeight=\"semibold\"\n lineHeight=\"lg\"\n >\n {featured.name}\n </Heading>\n <Grid\n data-testid={testIds.featuredGrid}\n gap={4}\n mt={8}\n templateColumns={{ base: \"1fr\", xl: \"1fr 1fr\" }}\n >\n {section?.slice(0, 4).map((pkg) => (\n <PackageCard\n data-event={HOME_ANALYTICS.FEATURED}\n key={pkg.name}\n pkg={pkg}\n />\n ))}\n </Grid>\n <Button\n as={NavLink}\n boxShadow=\"md\"\n colorScheme=\"brand\"\n data-event={eventName(HOME_ANALYTICS.FEATURED, \"See All\")}\n mx=\"auto\"\n my={8}\n onClick={() => window.scrollTo(0, 0)}\n to={getSearchPath({ sort: CatalogSearchSort.DownloadsDesc })}\n >\n See all constructs\n </Button>\n </Flex>\n );\n};\n","import { useMemo } from \"react\";\nimport { ExtendedCatalogPackage } from \"../../api/catalog-search\";\nimport { CatalogSearchSort } from \"../../api/catalog-search/constants\";\nimport { FeaturedPackagesDetail } from \"../../api/config\";\nimport { useSearchContext } from \"../../contexts/Search\";\nimport { useCatalog } from \"../../hooks/useCatalog\";\nimport { useCatalogResults } from \"../../hooks/useCatalogResults\";\n\nexport const useSection = ({\n showLastUpdated,\n showPackages,\n}: {\n showLastUpdated?: number;\n showPackages?: FeaturedPackagesDetail[];\n}) => {\n const { isLoading, error } = useCatalog();\n const { results } = useCatalogResults({\n limit: 25,\n sort: CatalogSearchSort.PublishDateDesc,\n });\n\n const searchInstance = useSearchContext();\n\n return useMemo(() => {\n if (isLoading || error || !results) return [];\n\n if (showLastUpdated) {\n return results.slice(0, showLastUpdated);\n } else if (showPackages && searchInstance) {\n return showPackages\n .map((p) => {\n const [pkg] = searchInstance.findByName(p.name, { dedup: true });\n\n if (pkg) {\n return {\n ...pkg,\n comment: p.comment,\n };\n }\n return undefined;\n })\n .filter((pkg) => pkg !== undefined) as ExtendedCatalogPackage[];\n } else {\n return undefined;\n }\n }, [\n isLoading,\n error,\n results,\n showLastUpdated,\n showPackages,\n searchInstance,\n ]);\n};\n","import { Box, BoxProps, forwardRef, keyframes } from \"@chakra-ui/react\";\n\nconst animation = keyframes`\n 0% {\n background-position:0% 50%;\n }\n\n 50% {\n background-position:100% 50%;\n }\n\n 100% {\n background-position:0% 50%;\n }\n`;\n\nexport const GradientContainer = forwardRef<BoxProps, \"div\">((props, ref) => (\n <Box\n animation={`${animation} 10s linear infinite`}\n bgGradient=\"linear(to-bl, brand.900, brand.500)\"\n bgSize=\"200% 200%\"\n ref={ref}\n {...props}\n />\n));\n","import { Box, Flex, Heading } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport {\n SearchBar,\n SearchOverlay,\n SearchSuggestions,\n} from \"../../components/SearchBar\";\nimport { HOME_ANALYTICS, SECTION_PADDING } from \"./constants\";\nimport testIds from \"./testIds\";\n\nexport const Hero: FunctionComponent = () => {\n return (\n <Flex\n align=\"center\"\n color=\"white\"\n direction=\"column\"\n h=\"20rem\"\n justify=\"center\"\n px={SECTION_PADDING.X}\n py={SECTION_PADDING.Y}\n textAlign=\"center\"\n zIndex=\"1\"\n >\n <Heading as=\"h1\" data-testid={testIds.heroHeader} size=\"xl\">\n Simplify cloud development with constructs\n </Heading>\n <Heading\n as=\"h2\"\n data-testid={testIds.heroSubtitle}\n fontWeight=\"normal\"\n mt={4}\n size=\"md\"\n >\n Find and use open-source Cloud Development Kit (CDK) libraries\n </Heading>\n <Box color=\"initial\" maxW=\"36rem\" mt={8} mx=\"auto\" w=\"full\">\n <SearchBar data-event={HOME_ANALYTICS.SEARCH} hasButton>\n <SearchOverlay />\n <SearchSuggestions />\n </SearchBar>\n </Box>\n </Flex>\n );\n};\n","import { Flex, Heading, Text } from \"@chakra-ui/react\";\nimport type { FunctionComponent, ReactNode } from \"react\";\nimport { SECTION_PADDING } from \"./constants\";\nimport testIds from \"./testIds\";\n\nexport interface InfoSectionProps {\n title: string;\n description: ReactNode;\n}\n\nexport const InfoSection: FunctionComponent<InfoSectionProps> = ({\n title,\n description,\n children,\n}) => (\n <Flex\n color=\"textPrimary\"\n data-testid={testIds.infoSection}\n direction=\"column\"\n px={SECTION_PADDING.X}\n py={SECTION_PADDING.Y}\n >\n <Heading\n as=\"h3\"\n data-testid={testIds.infoSectionHeading}\n fontSize=\"1.5rem\"\n fontWeight=\"semibold\"\n lineHeight=\"lg\"\n mb={2}\n >\n {title}\n </Heading>\n <Flex direction=\"column\" h=\"full\" justify=\"space-between\">\n <Text data-testid={testIds.infoSectionDescription} fontSize=\"lg\" mb={4}>\n {description}\n </Text>\n {children}\n </Flex>\n </Flex>\n);\n","import {\n Divider,\n Flex,\n Grid,\n Icon as ChakraIcon,\n Image,\n Stack,\n useColorModeValue,\n} from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { CatalogSearchSort } from \"../../api/catalog-search/constants\";\nimport { NavLink } from \"../../components/NavLink\";\nimport { CDKType, CDKTYPE_RENDER_MAP } from \"../../constants/constructs\";\nimport {\n Language,\n LANGUAGE_RENDER_MAP,\n TEMP_SUPPORTED_LANGUAGES,\n} from \"../../constants/languages\";\nimport { AWSIcon } from \"../../icons/AWSIcon\";\nimport { DatadogIcon } from \"../../icons/DatadogIcon\";\nimport { MongoDBIcon } from \"../../icons/MongoDBIcon\";\nimport { getSearchPath } from \"../../util/url\";\nimport { HOME_ANALYTICS, SECTION_PADDING } from \"./constants\";\nimport { InfoSection } from \"./InfoSection\";\nimport testIds from \"./testIds\";\n\nconst publishers = [\n {\n name: \"Datadog\",\n Icon: DatadogIcon,\n url: getSearchPath({ keywords: [\"Datadog\"] }),\n },\n {\n name: \"AWS\",\n Icon: AWSIcon,\n url: getSearchPath({ query: \"AWS\" }),\n },\n {\n name: \"MongoDB\",\n Icon: MongoDBIcon,\n url: getSearchPath({ keywords: [\"MongoDB\"] }),\n },\n {\n name: \"Aqua Security\",\n imgsrc: \"/assets/aqua-security.png\",\n url: getSearchPath({ keywords: [\"aqua\"] }),\n },\n];\n\nconst IconLink = ({\n url,\n imgsrc,\n label,\n Icon,\n}: {\n url: string;\n label: string;\n imgsrc?: string;\n Icon?: typeof ChakraIcon;\n}) => {\n const imgFilter = useColorModeValue(\n undefined,\n \"invert(100%) brightness(1.5)\"\n );\n\n return (\n <NavLink\n color=\"link\"\n data-event={HOME_ANALYTICS.INFO.eventName(label)}\n data-testid={testIds.infoSectionIcon}\n fontWeight=\"bold\"\n to={url}\n >\n <Stack align=\"center\" spacing={2} textAlign=\"center\">\n {imgsrc && (\n <Image\n aria-label={label}\n filter={label === \"AWS CDK\" ? imgFilter : undefined}\n h={8}\n src={imgsrc}\n />\n )}\n {Icon && <Icon aria-label={label} h={8} w={8} />}\n <span>{label}</span>\n </Stack>\n </NavLink>\n );\n};\n\nconst ResponsiveDivider = () => (\n <>\n <Divider display={{ xl: \"none\" }} mx={SECTION_PADDING.X} w=\"auto\" />\n <Divider\n display={{ base: \"none\", xl: \"initial\" }}\n h=\"auto\"\n my={SECTION_PADDING.Y}\n orientation=\"vertical\"\n />\n </>\n);\n\nconst Row: FunctionComponent = ({ children }) => (\n <Flex align=\"center\" pt={4} sx={{ gap: \"2rem\" }}>\n {children}\n </Flex>\n);\n\nexport const Info: FunctionComponent = () => (\n <Flex bg=\"bgSecondary\" data-testid={testIds.infoContainer} direction=\"column\">\n <Grid\n templateColumns={{ base: \"1fr\", xl: \"1fr auto 1fr auto 1fr\" }}\n templateRows={{ base: \"1fr auto 1fr auto 1fr\", xl: \"auto\" }}\n >\n <InfoSection\n description=\"Find libraries for AWS Cloud Development Kit (AWS CDK), which generates AWS CloudFormation templates, CDK for Terraform (CDKtf), which generates HashiCorp Terraform configuration files, and CDK for Kubernetes (CDK8s), which generates Kubernetes manifests.\"\n title=\"One home for all CDKs\"\n >\n <Row>\n {Object.entries(CDKTYPE_RENDER_MAP).map(\n ([cdktype, { name, imgsrc }]) => (\n <IconLink\n imgsrc={imgsrc}\n key={cdktype}\n label={name}\n url={getSearchPath({\n cdkType: cdktype as CDKType,\n sort: CatalogSearchSort.DownloadsDesc,\n })}\n />\n )\n )}\n </Row>\n </InfoSection>\n\n <ResponsiveDivider />\n\n <InfoSection\n description=\"Define, test, and deploy cloud infrastructure using high level programming languages such as TypeScript, Python, Java, and .NET. Find documentation, API references and code samples to quickly build your application.\"\n title=\"Support across languages\"\n >\n <Row>\n {Object.entries(LANGUAGE_RENDER_MAP)\n .filter(([language]) =>\n TEMP_SUPPORTED_LANGUAGES.has(language as Language)\n )\n .map(([language, { icon: Icon, name }]) => (\n <IconLink\n Icon={Icon as typeof ChakraIcon}\n key={language}\n label={name}\n url={getSearchPath({\n languages: [language as Language],\n sort: CatalogSearchSort.DownloadsDesc,\n })}\n />\n ))}\n </Row>\n </InfoSection>\n\n <ResponsiveDivider />\n\n <InfoSection\n description=\"Find construct libraries published by the community and cloud service providers such as Datadog, Amazon Web Services (AWS), MongoDB, Aqua Security, and more.\"\n title=\"Provision a range of cloud resources\"\n >\n <Row>\n {publishers.map(({ url, name, imgsrc, Icon }) => (\n <IconLink\n Icon={Icon}\n imgsrc={imgsrc}\n key={name}\n label={name}\n url={url}\n />\n ))}\n </Row>\n </InfoSection>\n </Grid>\n </Flex>\n);\n","import { Icon, useColorMode } from \"@chakra-ui/react\";\n\nexport const DatadogIcon: typeof Icon = (props) => {\n const { colorMode } = useColorMode();\n\n if (colorMode === \"dark\") {\n return (\n <Icon {...props} version=\"1.1\" viewBox=\"0 0 800.5 801\" x=\"0px\" y=\"0px\">\n <g>\n <path\n d=\"M546.48,341.44c0.01,0,0.01-0.01,0.01-0.01h-0.01V341.44z\"\n fill=\"none\"\n />\n </g>\n <g>\n <path\n d=\"M22.42,780.42h26.36c24.81,0,37.23-14.58,37.23-43.77c0-24.84-12.41-37.27-37.23-37.27H22.42V780.42z\n\t\t M52.12,799.65H0.25V680.22h51.87c37.37,0,56.07,18.82,56.07,56.45C108.19,778.65,89.49,799.65,52.12,799.65\"\n fill=\"#FFFFFF\"\n />\n <polygon\n fill=\"#FFFFFF\"\n points=\"131.42,799.65 108.66,799.65 159.45,680.22 183.29,680.22 235.19,799.65 211.34,799.65 196.28,767.07\n\t\t157.96,767.07 165.56,747.87 190.42,747.87 170.84,703.01 \t\"\n />\n <polygon\n fill=\"#FFFFFF\"\n points=\"222.65,680.22 313.45,680.22 313.45,699.42 279.15,699.42 279.15,799.65 256.98,799.65 256.98,699.42\n\t\t222.65,699.42 \t\"\n />\n <polygon\n fill=\"#FFFFFF\"\n points=\"324.85,799.65 302.08,799.65 352.87,680.22 376.72,680.22 428.61,799.65 404.74,799.65 389.69,767.07\n\t\t351.36,767.07 358.97,747.87 383.82,747.87 364.25,703.01 \t\"\n />\n <path\n d=\"M465.5,780.42h26.36c24.83,0,37.25-14.58,37.25-43.77c0-24.84-12.42-37.27-37.25-37.27H465.5V780.42z\n\t\t M495.21,799.65h-51.87V680.22h51.87c37.4,0,56.07,18.82,56.07,56.45C551.28,778.65,532.6,799.65,495.21,799.65\"\n fill=\"#FFFFFF\"\n />\n <path\n d=\"M626.4,781.26c24.09,0,36.13-13.89,36.13-41.68c0-27.36-12.04-41.03-36.13-41.03\n\t\tc-24.72,0-37.08,13.67-37.08,41.03C589.32,767.37,601.68,781.26,626.4,781.26 M566.3,740.1c0-40.49,20.04-60.73,60.1-60.73\n\t\tc39.45,0,59.15,20.24,59.15,60.73c0,40.26-19.7,60.4-59.15,60.4C588.11,800.5,568.09,780.36,566.3,740.1\"\n fill=\"#FFFFFF\"\n />\n <path\n d=\"M778.07,751.32v27.97c-5.11,1.34-9.7,1.99-13.72,1.99c-27.11,0-40.66-14.35-40.66-43\n\t\tc0-26.48,14.36-39.7,43.08-39.7c12,0,23.16,2.23,33.48,6.69V685.2c-10.32-3.89-22.04-5.83-35.14-5.83\n\t\tc-42.95,0-64.44,19.62-64.44,58.91c0,41.47,21.11,62.23,63.34,62.23c14.53,0,26.6-2.12,36.25-6.36v-62.47h-35.82l-7.49,19.64\n\t\tL778.07,751.32L778.07,751.32z\"\n fill=\"#FFFFFF\"\n />\n <path\n d=\"M349.36,166.26c21.81-14.87,49.91-9.02,45.2-4.55c-8.97,8.54,2.97,6.01,4.26,21.77\n\t\tc0.95,11.6-2.85,18-6.1,21.64c-6.8,0.89-15.08,2.56-25.04,5.79c-5.89,1.91-11.03,4.04-15.51,6.18c-1.18-0.78-2.47-1.71-4-3.03\n\t\tC332.77,200.74,333.28,177.22,349.36,166.26 M479.63,258.13c3.95-3.06,21.94-8.84,38.59-10.82c8.74-1.04,21.2-1.62,23.86-0.13\n\t\tc5.28,2.92,5.28,11.93,1.67,20.26c-5.26,12.11-12.71,25.47-21.13,26.57c-13.74,1.81-26.75-5.62-41.6-16.71\n\t\tC475.72,273.32,472.47,263.67,479.63,258.13 M504.7,140.3c20.3,9.45,17.64,27.42,18.2,37.97c0.16,3.03,0.1,5.07-0.16,6.49\n\t\tc-2.82-1.53-7.25-2.64-14.29-2.33c-2.06,0.09-4.07,0.33-6,0.64c-7.49-4.01-11.96-11.87-16.06-20.22c-0.37-0.77-0.66-1.45-0.93-2.13\n\t\tc-0.11-0.3-0.25-0.64-0.36-0.91c-0.05-0.15-0.09-0.28-0.14-0.42c-2.25-7.13-0.74-8.56,0.21-10.76c0.98-2.24,4.64-4.1-0.77-5.97\n\t\tc-0.46-0.17-1.05-0.28-1.7-0.39C486.28,137.83,497.03,136.74,504.7,140.3 M394.05,355.15c-21.87-14.05-44.5-34.18-54.39-45.32\n\t\tc-1.66-1.25-1.39-6.8-1.39-6.8c8.93,6.95,45.98,33.41,85.14,45.49c13.81,4.27,35.02,5.88,53.41-4.55\n\t\tc14.06-7.97,30.97-21.86,41.07-36.17l1.85,3.21c-0.07,2.13-4.72,12.49-7.07,16.66c4.27,2.46,7.46,3.12,12.21,4.43l32.44-5.06\n\t\tc11.64-18.8,19.98-49.13,11.09-78c-5.08-16.56-31.55-49.53-33.45-51.34c-6.66-6.39,1.12-31.09-12.07-58.02\n\t\tc-13.94-28.49-50.24-58.2-66-71.13c4.65,3.4,33.26,14.92,46.59,31.02c1.25-1.67,1.77-10.31,2.92-12.49\n\t\tc-11.44-14.99-12.34-41.69-12.34-48.82c0-13.08-6.66-27.91-6.66-27.91s11.46,9.07,14.42,24.68c3.5,18.51,10.96,33.07,20.82,45.39\n\t\tc18.66,23.25,35.51,35.18,44.04,26.58c10.19-10.32-10.33-56.49-36.57-82.26C499.5-5.3,491.48-1.43,473.53,4.99\n\t\tc-14.33,5.1-22.08,45.8-59.43,45c-6.33-0.73-22.63-1.14-30.68-1.07c4.2-5.86,7.79-10.4,7.79-10.4s-12.53,5.03-23.2,11.43\n\t\tl-0.82-1.24c3.6-7.6,7.48-12.39,7.48-12.39s-10.01,6.01-19.15,13.21c1.67-9.06,7.95-14.8,7.95-14.8s-12.65,2.29-28.77,20\n\t\tc-18.31,5-22.72,8.3-37.31,14.76c-23.72-5.17-34.93-13.53-45.58-28.9c-8.13-11.74-22.57-13.53-37.36-7.46\n\t\tc-21.52,8.92-48.77,21.11-48.77,21.11s8.86-0.34,18.12,0.07c-12.66,4.8-24.85,11.4-24.85,11.4s5.94-0.2,13.26-0.08\n\t\tc-5.06,4.2-7.85,6.21-12.66,9.39c-11.59,8.41-20.98,18.12-20.98,18.12s7.87-3.58,14.92-5.59c-4.93,11.32-14.72,19.64-12.92,33.5\n\t\tc1.72,12.66,17.26,38.71,37.31,54.7c1.72,1.4,29.12,26.72,49.76,16.32c20.65-10.39,28.78-19.64,32.18-33.85\n\t\tc3.99-16.31,1.71-28.62-6.8-64.01c-2.8-11.68-10.13-35.73-13.66-47.23l0.79-0.57c6.76,14.25,24.04,51.81,31,77.03\n\t\tc10.87,39.34,7.47,59.3,2.5,66.61c-14.99,22.07-53.43,24.98-70.92,12.75c-2.67,42.36,6.79,61,9.99,70.4\n\t\tc-1.6,10.8,5.41,30.85,5.41,30.85s0.79-9.12,3.99-13.92c0.86,10.72,6.26,23.45,6.26,23.45s-0.33-7.86,2.13-14.65\n\t\tc3.46,5.86,6,7.25,9.28,11.66c3.27,11.46,9.84,19.82,9.84,19.82s-1.07-6.14-0.48-12.54c16.03,15.4,18.79,37.87,20.39,55.12\n\t\tc4.49,47.48-74.85,85.21-90.22,114.9c-11.66,17.58-18.63,45.41,1.1,61.81c47.71,39.61,29.39,50.52,53.27,67.93\n\t\tc32.75,23.88,73.75,13.18,87.71-6.24c19.43-27.07,14.43-52.6,7.21-76.47c-5.63-18.68-20.96-49.7-39.93-61.7\n\t\tc-19.37-12.27-38.21-14.58-54.17-12.92l1.48-1.69c22.96-4.56,46.95-2.05,64.32,9.13c19.71,12.67,37.74,34.41,47.18,67.72\n\t\tc10.69-1.52,12.21-2.22,21.99-3.6l-22.04-171.6L394.05,355.15z M406.78,570.25l-2.55-23.79l49.57-75.61l56.27,16.45l48.4-80.83\n\t\tl58.02,38.26l44.07-92.43l15.67,168.33L406.78,570.25z M676.84,317.79L499.7,349.9c-4.38,5.67-15.24,15.59-20.45,18.18\n\t\tc-22.37,11.26-37.5,8.01-50.55,4.61c-8.4-2.13-13.27-3.33-20.25-6.47l-43.24,5.94l26.24,218.96l303.44-54.7L676.84,317.79z\"\n fill=\"#FFFFFF\"\n />\n </g>\n </Icon>\n );\n }\n\n return (\n <Icon viewBox=\"0 0 32 34\" {...props}>\n <g clipPath=\"url(#clip0_2245_48088)\">\n <path\n clipRule=\"evenodd\"\n d=\"M26.6008 24.1363L23.774 22.2717L21.4158 26.2107L18.6731 25.4088L16.2581 29.0947L16.3819 30.2549L29.5121 27.8356L28.7495 19.6318L26.6008 24.1363ZM14.3559 20.5992L16.4625 20.3095C16.8034 20.4627 17.0406 20.521 17.4493 20.625C18.0858 20.7908 18.8227 20.9499 19.9139 20.4C20.1678 20.2742 20.6968 19.7905 20.9107 19.5147L29.5419 17.9489L30.4224 28.6054L15.6356 31.2704L14.3559 20.5992ZM30.3891 16.7593L29.5371 16.9216L27.9003 0.0106812L0.0106812 3.24462L3.44659 31.1271L6.71108 30.6533C6.45038 30.2811 6.04446 29.8308 5.35124 29.2542C4.38979 28.4554 4.72985 27.0988 5.29688 26.2421C6.04723 24.7946 9.91328 22.955 9.69424 20.6412C9.61568 19.8 9.48195 18.7048 8.70105 17.9545C8.67168 18.266 8.72446 18.5659 8.72446 18.5659C8.72446 18.5659 8.40384 18.1568 8.24393 17.5989C8.08521 17.3851 7.96061 17.3168 7.79197 17.0311C7.67174 17.3617 7.68761 17.745 7.68761 17.745C7.68761 17.745 7.42533 17.1252 7.38287 16.6022C7.22732 16.8363 7.18804 17.2811 7.18804 17.2811C7.18804 17.2811 6.84719 16.3042 6.92496 15.778C6.76941 15.3201 6.30833 14.4114 6.43888 12.3461C7.29002 12.9425 9.16372 12.8008 9.89383 11.7247C10.1363 11.3684 10.3021 10.3954 9.77281 8.47844C9.43275 7.24915 8.59074 5.4187 8.26258 4.7243L8.2233 4.75247C8.3963 5.31196 8.75303 6.48491 8.88992 7.05352C9.30419 8.77842 9.41529 9.37879 9.22086 10.174C9.05539 10.8652 8.65859 11.3176 7.6527 11.8231C6.6468 12.3302 5.31196 11.0961 5.22744 11.0279C4.25012 10.2494 3.49421 8.97921 3.40969 8.36218C3.322 7.68682 3.79895 7.28129 4.03941 6.72894C3.69539 6.82735 3.31168 7.00194 3.31168 7.00194C3.31168 7.00194 3.76959 6.52816 4.33424 6.11826C4.56796 5.96351 4.70525 5.8651 4.95166 5.66035C4.59494 5.6544 4.30527 5.66472 4.30527 5.66472C4.30527 5.66472 4.90008 5.34331 5.51671 5.10919C5.06554 5.08935 4.63382 5.10602 4.63382 5.10602C4.63382 5.10602 5.96113 4.5124 7.00948 4.07671C7.73047 3.7811 8.43479 3.86839 8.8304 4.44058C9.34982 5.19014 9.89542 5.59726 11.0517 5.84963C11.7616 5.53496 11.9774 5.37307 12.8695 5.13022C13.6547 4.26678 14.2714 4.15488 14.2714 4.15488C14.2714 4.15488 13.9654 4.43542 13.8837 4.87627C14.3289 4.5255 14.817 4.23266 14.817 4.23266C14.817 4.23266 14.6281 4.46598 14.4519 4.83659L14.4928 4.8973C15.0122 4.58581 15.6229 4.34019 15.6229 4.34019C15.6229 4.34019 15.4483 4.56081 15.2435 4.84651C15.6352 4.84334 16.4296 4.86318 16.7379 4.89809C18.558 4.93817 18.9358 2.95416 19.6341 2.70537C20.5087 2.39308 20.8995 2.2042 22.3899 3.66801C23.6688 4.92468 24.668 7.17415 24.172 7.67809C23.7561 8.09632 22.9355 7.51501 22.0261 6.38134C21.5455 5.78098 21.1821 5.0715 21.0118 4.16957C20.8682 3.4085 20.3091 2.96686 20.3091 2.96686C20.3091 2.96686 20.6337 3.68824 20.6337 4.32551C20.6337 4.6735 20.6773 5.97462 21.2352 6.70473C21.1801 6.81147 21.1543 7.23288 21.0932 7.31343C20.444 6.52895 19.05 5.96748 18.8227 5.80201C19.5921 6.43253 21.3606 7.88086 22.04 9.26887C22.6824 10.5815 22.3038 11.7846 22.6288 12.0961C22.7213 12.1854 24.0105 13.7916 24.2585 14.5987C24.691 16.0054 24.2843 17.4835 23.718 18.4005L22.1368 18.6469C21.9054 18.5826 21.7495 18.5505 21.542 18.4302C21.6562 18.2279 21.8836 17.7231 21.886 17.6192L21.7967 17.4624C21.3047 18.1596 20.4801 18.8366 19.7952 19.2254C18.8989 19.7333 17.8656 19.6552 17.193 19.4468C15.284 18.858 13.4789 17.568 13.0437 17.2291C13.0437 17.2291 13.0302 17.4997 13.1123 17.5604C13.5936 18.1033 14.6963 19.0854 15.7621 19.7698L13.4901 20.0198L14.5642 28.3836C14.088 28.4519 14.0138 28.4852 13.4924 28.5594C13.0329 26.9361 12.154 25.8762 11.1934 25.2588C10.3462 24.7144 9.17761 24.5918 8.05902 24.8132L7.9872 24.8965C8.76493 24.8156 9.68313 24.9283 10.6263 25.5255C11.5521 26.1107 12.2981 27.6226 12.5726 28.5328C12.9242 29.6962 13.1675 30.9406 12.2211 32.2596C11.5477 33.1972 9.58195 33.7155 7.99395 32.5945C8.41813 33.2766 8.99151 33.8345 9.76329 33.9397C10.9093 34.0952 11.9969 33.8964 12.7457 33.1278C13.3849 32.4707 13.7238 31.0966 13.6345 29.6494L14.6459 29.5026L15.011 32.1001L31.7553 30.0839L30.3891 16.7593ZM20.202 9.70535C20.1551 9.81209 20.0817 9.88193 20.192 10.2291L20.1988 10.249L20.2162 10.2938L20.2623 10.3978C20.4611 10.8041 20.6793 11.1874 21.044 11.383C21.1384 11.3672 21.236 11.3564 21.3372 11.3513C21.6797 11.3362 21.8959 11.3906 22.0332 11.4644C22.0455 11.3961 22.0483 11.2961 22.0407 11.1489C22.0142 10.6343 22.1427 9.75892 21.1535 9.29823C20.7801 9.12483 20.2563 9.1784 20.0817 9.39466C20.1135 9.39863 20.142 9.40537 20.1643 9.41291C20.4281 9.50537 20.2492 9.59623 20.202 9.70535ZM22.9744 14.5075C22.8447 14.436 22.2384 14.4642 21.8122 14.515C21.0003 14.6106 20.1238 14.8924 19.9317 15.0423C19.5826 15.3122 19.7413 15.7828 19.9992 15.976C20.7226 16.5165 21.3567 16.8787 22.0261 16.7907C22.4372 16.7367 22.7994 16.0859 23.0562 15.4955C23.2319 15.0888 23.2319 14.6499 22.9744 14.5075ZM15.7867 10.3426C16.0157 10.1252 14.6463 9.83947 13.5837 10.564C12.8 11.0985 12.775 12.2445 13.5254 12.8941C13.6004 12.9583 13.6623 13.004 13.7202 13.0413C13.9392 12.9381 14.1888 12.8337 14.4761 12.7405C14.9614 12.583 15.3649 12.5016 15.6967 12.4584C15.8554 12.281 16.0399 11.9687 15.9939 11.4033C15.9312 10.6363 15.3499 10.7581 15.7867 10.3426Z\"\n fill=\"#632CA6\"\n fillRule=\"evenodd\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_2245_48088\">\n <rect fill=\"white\" height=\"34\" width=\"31.766\" />\n </clipPath>\n </defs>\n </Icon>\n );\n};\n","import { Icon, useColorMode } from \"@chakra-ui/react\";\n\nexport const AWSIcon: typeof Icon = (props) => {\n const { colorMode } = useColorMode();\n\n if (colorMode === \"dark\") {\n return (\n <Icon viewBox=\"0 0 50 30\" {...props}>\n <title>AWS-Logo_White-Color</title>\n <path\n d=\"M14.09,10.85a4.7,4.7,0,0,0,.19,1.48,7.73,7.73,0,0,0,.54,1.19.77.77,0,0,1,.12.38.64.64,0,0,1-.32.49l-1,.7a.83.83,0,0,1-.44.15.69.69,0,0,1-.49-.23,3.8,3.8,0,0,1-.6-.77q-.25-.42-.51-1a6.14,6.14,0,0,1-4.89,2.3,4.54,4.54,0,0,1-3.32-1.19,4.27,4.27,0,0,1-1.22-3.2A4.28,4.28,0,0,1,3.61,7.75,6.06,6.06,0,0,1,7.69,6.46a12.47,12.47,0,0,1,1.76.13q.92.13,1.91.36V5.73a3.65,3.65,0,0,0-.79-2.66A3.81,3.81,0,0,0,7.86,2.3a7.71,7.71,0,0,0-1.79.22,12.78,12.78,0,0,0-1.79.57,4.55,4.55,0,0,1-.58.22l-.26,0q-.35,0-.35-.52V2a1.09,1.09,0,0,1,.12-.58,1.2,1.2,0,0,1,.47-.35A10.88,10.88,0,0,1,5.77.32,10.19,10.19,0,0,1,8.36,0a6,6,0,0,1,4.35,1.35,5.49,5.49,0,0,1,1.38,4.09ZM7.34,13.38a5.36,5.36,0,0,0,1.72-.31A3.63,3.63,0,0,0,10.63,12,2.62,2.62,0,0,0,11.19,11a5.63,5.63,0,0,0,.16-1.44v-.7a14.35,14.35,0,0,0-1.53-.28,12.37,12.37,0,0,0-1.56-.1,3.84,3.84,0,0,0-2.47.67A2.34,2.34,0,0,0,5,11a2.35,2.35,0,0,0,.61,1.76A2.4,2.4,0,0,0,7.34,13.38Zm13.35,1.8a1,1,0,0,1-.64-.16,1.3,1.3,0,0,1-.35-.65L15.81,1.51a3,3,0,0,1-.15-.67.36.36,0,0,1,.41-.41H17.7a1,1,0,0,1,.65.16,1.4,1.4,0,0,1,.33.65l2.79,11,2.59-11A1.17,1.17,0,0,1,24.39.6a1.1,1.1,0,0,1,.67-.16H26.4a1.1,1.1,0,0,1,.67.16,1.17,1.17,0,0,1,.32.65L30,12.39,32.88,1.25A1.39,1.39,0,0,1,33.22.6a1,1,0,0,1,.65-.16h1.54a.36.36,0,0,1,.41.41,1.36,1.36,0,0,1,0,.26,3.64,3.64,0,0,1-.12.41l-4,12.86a1.3,1.3,0,0,1-.35.65,1,1,0,0,1-.64.16H29.25a1,1,0,0,1-.67-.17,1.26,1.26,0,0,1-.32-.67L25.67,3.64,23.11,14.34a1.26,1.26,0,0,1-.32.67,1,1,0,0,1-.67.17Zm21.36.44a11.28,11.28,0,0,1-2.56-.29,7.44,7.44,0,0,1-1.92-.67,1,1,0,0,1-.61-.93v-.84q0-.52.38-.52a.9.9,0,0,1,.31.06l.42.17a8.77,8.77,0,0,0,1.83.58,9.78,9.78,0,0,0,2,.2,4.48,4.48,0,0,0,2.43-.55,1.76,1.76,0,0,0,.86-1.57,1.61,1.61,0,0,0-.45-1.16A4.29,4.29,0,0,0,43,9.22l-2.41-.76A5.15,5.15,0,0,1,38,6.78a3.94,3.94,0,0,1-.83-2.41,3.7,3.7,0,0,1,.45-1.85,4.47,4.47,0,0,1,1.19-1.37A5.27,5.27,0,0,1,40.51.29,7.4,7.4,0,0,1,42.6,0a8.87,8.87,0,0,1,1.12.07q.57.07,1.08.19t.95.26a4.27,4.27,0,0,1,.7.29,1.59,1.59,0,0,1,.49.41.94.94,0,0,1,.15.55v.79q0,.52-.38.52a1.76,1.76,0,0,1-.64-.2,7.74,7.74,0,0,0-3.2-.64,4.37,4.37,0,0,0-2.21.47,1.6,1.6,0,0,0-.79,1.48,1.58,1.58,0,0,0,.49,1.18,4.94,4.94,0,0,0,1.83.92L44.55,7a5.08,5.08,0,0,1,2.57,1.6A3.76,3.76,0,0,1,47.9,11a4.21,4.21,0,0,1-.44,1.93,4.4,4.4,0,0,1-1.21,1.47,5.43,5.43,0,0,1-1.85.93A8.25,8.25,0,0,1,42.05,15.62Z\"\n fill=\"#FFFFFF\"\n />\n <path\n d=\"M45.19,23.81C39.72,27.85,31.78,30,25,30A36.64,36.64,0,0,1,.22,20.57c-.51-.46-.06-1.09.56-.74A49.78,49.78,0,0,0,25.53,26.4,49.23,49.23,0,0,0,44.4,22.53C45.32,22.14,46.1,23.14,45.19,23.81Z\"\n fill=\"#FF9900\"\n fillRule=\"evenodd\"\n />\n <path\n d=\"M47.47,21.21c-.7-.9-4.63-.42-6.39-.21-.53.06-.62-.4-.14-.74,3.13-2.2,8.27-1.57,8.86-.83s-.16,5.89-3.09,8.35c-.45.38-.88.18-.68-.32C46.69,25.8,48.17,22.11,47.47,21.21Z\"\n fill=\"#FF9900\"\n fillRule=\"evenodd\"\n />\n </Icon>\n );\n }\n return (\n <Icon viewBox=\"0 0 50 30\" {...props}>\n <g clipPath=\"url(#aws-logo-clippath)\">\n <path\n d=\"M14.09 10.85C14.0741 11.3503 14.1383 11.8499 14.28 12.33C14.4261 12.7412 14.6068 13.1393 14.82 13.52C14.8927 13.6339 14.9341 13.765 14.94 13.9C14.9295 14.0012 14.895 14.0985 14.8393 14.1837C14.7837 14.2689 14.7085 14.3397 14.62 14.39L13.62 15.09C13.4906 15.1809 13.338 15.2329 13.18 15.24C13.0871 15.2367 12.9957 15.2146 12.9115 15.1751C12.8273 15.1355 12.752 15.0794 12.69 15.01C12.4577 14.7802 12.2561 14.5214 12.09 14.24C11.9234 13.96 11.7534 13.6267 11.58 13.24C10.9944 13.971 10.2492 14.5582 9.40165 14.9569C8.55408 15.3555 7.62654 15.555 6.69002 15.54C6.08523 15.5731 5.47992 15.4849 4.90974 15.2806C4.33956 15.0762 3.81605 14.7598 3.37002 14.35C2.95682 13.9297 2.63512 13.4284 2.42515 12.8777C2.21519 12.3269 2.12151 11.7387 2.15002 11.15C2.12351 10.5102 2.24092 9.87251 2.49361 9.28407C2.74629 8.69564 3.1278 8.1714 3.61002 7.75C4.7679 6.83817 6.2184 6.37956 7.69002 6.46C8.27902 6.46172 8.86716 6.50516 9.45002 6.59C10.0634 6.67667 10.7 6.79667 11.36 6.95V5.73C11.4571 4.77391 11.1733 3.8181 10.57 3.07C9.79824 2.47652 8.82855 2.201 7.86002 2.3C7.2568 2.30306 6.65602 2.3769 6.07002 2.52C5.46018 2.66583 4.86189 2.85635 4.28002 3.09C4.09191 3.17645 3.89813 3.24995 3.70002 3.31H3.44002C3.20668 3.31 3.09002 3.13667 3.09002 2.79V2C3.07572 1.7993 3.11725 1.59856 3.21002 1.42C3.33535 1.26629 3.49683 1.14604 3.68002 1.07C4.34928 0.749381 5.0496 0.498073 5.77002 0.320004C6.61607 0.10277 7.48654 -0.00477814 8.36002 4.30644e-06C9.93109 -0.139235 11.4938 0.345748 12.71 1.35C13.2045 1.90312 13.5817 2.55072 13.8189 3.25369C14.056 3.95665 14.1483 4.7004 14.09 5.44V10.85ZM7.34002 13.38C7.92645 13.3715 8.50751 13.2667 9.06002 13.07C9.66906 12.859 10.211 12.4897 10.63 12C10.8882 11.7121 11.0794 11.3706 11.19 11C11.3051 10.5289 11.3589 10.0449 11.35 9.56001V8.86C10.8455 8.73908 10.3347 8.64561 9.82002 8.58C9.30265 8.51382 8.78161 8.48042 8.26002 8.48C7.38429 8.41433 6.51252 8.6508 5.79002 9.15C5.52906 9.38022 5.32274 9.66575 5.18608 9.98578C5.04941 10.3058 4.98585 10.6523 5.00002 11C4.97638 11.3195 5.01829 11.6404 5.12319 11.943C5.22809 12.2457 5.39376 12.5237 5.61002 12.76C5.84351 12.9719 6.11648 13.1358 6.41332 13.2422C6.71017 13.3485 7.02506 13.3954 7.34002 13.38ZM20.69 15.18C20.4647 15.2006 20.2391 15.1442 20.05 15.02C19.873 14.8417 19.7514 14.6159 19.7 14.37L15.81 1.51C15.7345 1.29315 15.6842 1.06834 15.66 0.840004C15.6515 0.784214 15.6563 0.727213 15.6739 0.673599C15.6915 0.619986 15.7215 0.571262 15.7614 0.53136C15.8013 0.491457 15.85 0.461494 15.9036 0.443888C15.9572 0.426282 16.0142 0.421526 16.07 0.430004H17.7C17.9286 0.407082 18.1582 0.463583 18.35 0.590004C18.5155 0.773729 18.6293 0.997998 18.68 1.24L21.47 12.24L24.06 1.24C24.1 0.997284 24.2155 0.773342 24.39 0.600004C24.5905 0.476315 24.8253 0.420231 25.06 0.440004H26.4C26.6347 0.420231 26.8696 0.476315 27.07 0.600004C27.2428 0.777356 27.3548 1.00494 27.39 1.25L30 12.39L32.88 1.25C32.9331 1.0068 33.0505 0.782318 33.22 0.600004C33.4119 0.473583 33.6414 0.417082 33.87 0.440004H35.41C35.4658 0.431526 35.5228 0.436282 35.5764 0.453888C35.63 0.471494 35.6788 0.501457 35.7187 0.54136C35.7586 0.581262 35.7885 0.629986 35.8061 0.683599C35.8237 0.737213 35.8285 0.794214 35.82 0.850004C35.8283 0.936472 35.8283 1.02354 35.82 1.11C35.7881 1.2489 35.748 1.3858 35.7 1.52L31.7 14.38C31.6486 14.6259 31.527 14.8517 31.35 15.03C31.1609 15.1542 30.9353 15.2106 30.71 15.19H29.25C29.0136 15.2148 28.776 15.1545 28.58 15.02C28.4085 14.8339 28.297 14.6004 28.26 14.35L25.67 3.64L23.11 14.34C23.0731 14.5904 22.9616 14.8239 22.79 15.01C22.594 15.1445 22.3565 15.2048 22.12 15.18H20.69ZM42.05 15.62C41.1884 15.6214 40.3295 15.5241 39.49 15.33C38.8224 15.1956 38.1763 14.9702 37.57 14.66C37.3877 14.5828 37.2324 14.4532 37.1238 14.2876C37.0152 14.1221 36.9582 13.928 36.96 13.73V12.89C36.96 12.5433 37.0867 12.37 37.34 12.37C37.4461 12.3716 37.551 12.3919 37.65 12.43L38.07 12.6C38.657 12.8597 39.2706 13.0542 39.9 13.18C40.558 13.3152 41.2283 13.3822 41.9 13.38C42.7457 13.4301 43.5883 13.2394 44.33 12.83C44.6007 12.6692 44.8233 12.4387 44.9745 12.1625C45.1258 11.8864 45.2002 11.5747 45.19 11.26C45.1957 11.0465 45.1589 10.8339 45.0816 10.6348C45.0043 10.4356 44.8882 10.2538 44.74 10.1C44.2353 9.677 43.6399 9.37589 43 9.22001L40.59 8.46C39.5752 8.17803 38.6712 7.59168 38 6.78C37.464 6.09083 37.172 5.24311 37.17 4.37C37.1561 3.72464 37.3112 3.08686 37.62 2.52C37.9188 1.98678 38.3239 1.5205 38.81 1.15C39.3197 0.76244 39.8958 0.471012 40.51 0.290004C41.1893 0.0940008 41.8931 -0.00365839 42.6 4.30644e-06C42.9745 -0.000325499 43.3485 0.0230546 43.72 0.0700043C44.1 0.116671 44.46 0.180004 44.8 0.260004C45.14 0.340004 45.4567 0.426671 45.75 0.520004C45.9915 0.595737 46.2257 0.692786 46.45 0.810004C46.6394 0.912109 46.8061 1.05159 46.94 1.22C47.0457 1.38339 47.0982 1.57556 47.09 1.77V2.56C47.09 2.90667 46.9634 3.08 46.71 3.08C46.4858 3.05497 46.2686 2.98707 46.07 2.88C45.061 2.44167 43.97 2.22349 42.87 2.24C42.1049 2.20023 41.3427 2.36231 40.66 2.71C40.4043 2.8594 40.195 3.07685 40.0555 3.33816C39.916 3.59947 39.8518 3.89436 39.87 4.19C39.865 4.40997 39.906 4.62855 39.9904 4.83174C40.0748 5.03494 40.2007 5.21828 40.36 5.37C40.899 5.80115 41.5224 6.11455 42.19 6.29L44.55 7C45.5494 7.25975 46.4459 7.81787 47.12 8.60001C47.6487 9.28626 47.9243 10.134 47.9 11C47.9088 11.6692 47.758 12.3308 47.46 12.93C47.1688 13.5024 46.7558 14.0042 46.25 14.4C45.6987 14.8258 45.0706 15.1415 44.4 15.33C43.6347 15.5392 42.8432 15.6368 42.05 15.62Z\"\n fill=\"#252F3E\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M45.19 23.81C39.72 27.85 31.78 30 25 30C15.8524 30.0602 7.01321 26.6965 0.219997 20.57C-0.290003 20.11 0.159997 19.48 0.779997 19.83C8.31593 24.1408 16.8482 26.4057 25.53 26.4C32.0135 26.3652 38.4262 25.05 44.4 22.53C45.32 22.14 46.1 23.14 45.19 23.81Z\"\n fill=\"#FF9900\"\n fillRule=\"evenodd\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M47.47 21.21C46.77 20.31 42.84 20.79 41.08 21C40.55 21.06 40.46 20.6 40.94 20.26C44.07 18.06 49.21 18.69 49.8 19.43C50.39 20.17 49.64 25.32 46.71 27.78C46.26 28.16 45.83 27.96 46.03 27.46C46.69 25.8 48.17 22.11 47.47 21.21Z\"\n fill=\"#FF9900\"\n fillRule=\"evenodd\"\n />\n <path\n d=\"M14.09 10.85C14.0741 11.3503 14.1383 11.8499 14.28 12.33C14.4261 12.7412 14.6068 13.1393 14.82 13.52C14.8927 13.6339 14.9341 13.765 14.94 13.9C14.9295 14.0012 14.895 14.0985 14.8393 14.1837C14.7837 14.2689 14.7085 14.3397 14.62 14.39L13.62 15.09C13.4906 15.1809 13.338 15.2329 13.18 15.24C13.0871 15.2367 12.9957 15.2146 12.9115 15.1751C12.8273 15.1355 12.752 15.0794 12.69 15.01C12.4577 14.7802 12.2561 14.5214 12.09 14.24C11.9234 13.96 11.7534 13.6267 11.58 13.24C10.9944 13.971 10.2492 14.5582 9.40165 14.9569C8.55408 15.3555 7.62654 15.555 6.69002 15.54C6.08523 15.5731 5.47992 15.4849 4.90974 15.2806C4.33956 15.0762 3.81605 14.7598 3.37002 14.35C2.95682 13.9297 2.63512 13.4284 2.42515 12.8777C2.21519 12.3269 2.12151 11.7387 2.15002 11.15C2.12351 10.5102 2.24092 9.87251 2.49361 9.28407C2.74629 8.69564 3.1278 8.1714 3.61002 7.75C4.7679 6.83817 6.2184 6.37956 7.69002 6.46C8.27902 6.46172 8.86716 6.50516 9.45002 6.59C10.0634 6.67667 10.7 6.79667 11.36 6.95V5.73C11.4571 4.77391 11.1733 3.8181 10.57 3.07C9.79824 2.47652 8.82855 2.201 7.86002 2.3C7.2568 2.30306 6.65602 2.3769 6.07002 2.52C5.46018 2.66583 4.86189 2.85635 4.28002 3.09C4.09191 3.17645 3.89813 3.24995 3.70002 3.31H3.44002C3.20668 3.31 3.09002 3.13667 3.09002 2.79V2C3.07572 1.7993 3.11725 1.59856 3.21002 1.42C3.33535 1.26629 3.49683 1.14604 3.68002 1.07C4.34928 0.749381 5.0496 0.498073 5.77002 0.320004C6.61607 0.10277 7.48654 -0.00477814 8.36002 4.30644e-06C9.93109 -0.139235 11.4938 0.345748 12.71 1.35C13.2045 1.90312 13.5817 2.55072 13.8189 3.25369C14.056 3.95665 14.1483 4.7004 14.09 5.44V10.85ZM7.34002 13.38C7.92645 13.3715 8.50751 13.2667 9.06002 13.07C9.66906 12.859 10.211 12.4897 10.63 12C10.8882 11.7121 11.0794 11.3706 11.19 11C11.3051 10.5289 11.3589 10.0449 11.35 9.56001V8.86C10.8455 8.73908 10.3347 8.64561 9.82002 8.58C9.30265 8.51382 8.78161 8.48042 8.26002 8.48C7.38429 8.41433 6.51252 8.6508 5.79002 9.15C5.52906 9.38022 5.32274 9.66575 5.18608 9.98578C5.04941 10.3058 4.98585 10.6523 5.00002 11C4.97638 11.3195 5.01829 11.6404 5.12319 11.943C5.22809 12.2457 5.39376 12.5237 5.61002 12.76C5.84351 12.9719 6.11648 13.1358 6.41332 13.2422C6.71017 13.3485 7.02506 13.3954 7.34002 13.38ZM20.69 15.18C20.4647 15.2006 20.2391 15.1442 20.05 15.02C19.873 14.8417 19.7514 14.6159 19.7 14.37L15.81 1.51C15.7345 1.29315 15.6842 1.06834 15.66 0.840004C15.6515 0.784214 15.6563 0.727213 15.6739 0.673599C15.6915 0.619986 15.7215 0.571262 15.7614 0.53136C15.8013 0.491457 15.85 0.461494 15.9036 0.443888C15.9572 0.426282 16.0142 0.421526 16.07 0.430004H17.7C17.9286 0.407082 18.1582 0.463583 18.35 0.590004C18.5155 0.773729 18.6293 0.997998 18.68 1.24L21.47 12.24L24.06 1.24C24.1 0.997284 24.2155 0.773342 24.39 0.600004C24.5905 0.476315 24.8253 0.420231 25.06 0.440004H26.4C26.6347 0.420231 26.8696 0.476315 27.07 0.600004C27.2428 0.777356 27.3548 1.00494 27.39 1.25L30 12.39L32.88 1.25C32.9331 1.0068 33.0505 0.782318 33.22 0.600004C33.4119 0.473583 33.6414 0.417082 33.87 0.440004H35.41C35.4658 0.431526 35.5228 0.436282 35.5764 0.453888C35.63 0.471494 35.6788 0.501457 35.7187 0.54136C35.7586 0.581262 35.7885 0.629986 35.8061 0.683599C35.8237 0.737213 35.8285 0.794214 35.82 0.850004C35.8283 0.936472 35.8283 1.02354 35.82 1.11C35.7881 1.2489 35.748 1.3858 35.7 1.52L31.7 14.38C31.6486 14.6259 31.527 14.8517 31.35 15.03C31.1609 15.1542 30.9353 15.2106 30.71 15.19H29.25C29.0136 15.2148 28.776 15.1545 28.58 15.02C28.4085 14.8339 28.297 14.6004 28.26 14.35L25.67 3.64L23.11 14.34C23.0731 14.5904 22.9616 14.8239 22.79 15.01C22.594 15.1445 22.3565 15.2048 22.12 15.18H20.69ZM42.05 15.62C41.1884 15.6214 40.3295 15.5241 39.49 15.33C38.8224 15.1956 38.1763 14.9702 37.57 14.66C37.3877 14.5828 37.2324 14.4532 37.1238 14.2876C37.0152 14.1221 36.9582 13.928 36.96 13.73V12.89C36.96 12.5433 37.0867 12.37 37.34 12.37C37.4461 12.3716 37.551 12.3919 37.65 12.43L38.07 12.6C38.657 12.8597 39.2706 13.0542 39.9 13.18C40.558 13.3152 41.2283 13.3822 41.9 13.38C42.7457 13.4301 43.5883 13.2394 44.33 12.83C44.6007 12.6692 44.8233 12.4387 44.9745 12.1625C45.1258 11.8864 45.2002 11.5747 45.19 11.26C45.1957 11.0465 45.1589 10.8339 45.0816 10.6348C45.0043 10.4356 44.8882 10.2538 44.74 10.1C44.2353 9.677 43.6399 9.37589 43 9.22001L40.59 8.46C39.5752 8.17803 38.6712 7.59168 38 6.78C37.464 6.09083 37.172 5.24311 37.17 4.37C37.1561 3.72464 37.3112 3.08686 37.62 2.52C37.9188 1.98678 38.3239 1.5205 38.81 1.15C39.3197 0.76244 39.8958 0.471012 40.51 0.290004C41.1893 0.0940008 41.8931 -0.00365839 42.6 4.30644e-06C42.9745 -0.000325499 43.3485 0.0230546 43.72 0.0700043C44.1 0.116671 44.46 0.180004 44.8 0.260004C45.14 0.340004 45.4567 0.426671 45.75 0.520004C45.9915 0.595737 46.2257 0.692786 46.45 0.810004C46.6394 0.912109 46.8061 1.05159 46.94 1.22C47.0457 1.38339 47.0982 1.57556 47.09 1.77V2.56C47.09 2.90667 46.9634 3.08 46.71 3.08C46.4858 3.05497 46.2686 2.98707 46.07 2.88C45.061 2.44167 43.97 2.22349 42.87 2.24C42.1049 2.20023 41.3427 2.36231 40.66 2.71C40.4043 2.8594 40.195 3.07685 40.0555 3.33816C39.916 3.59947 39.8518 3.89436 39.87 4.19C39.865 4.40997 39.906 4.62855 39.9904 4.83174C40.0748 5.03494 40.2007 5.21828 40.36 5.37C40.899 5.80115 41.5224 6.11455 42.19 6.29L44.55 7C45.5494 7.25975 46.4459 7.81787 47.12 8.60001C47.6487 9.28626 47.9243 10.134 47.9 11C47.9088 11.6692 47.758 12.3308 47.46 12.93C47.1688 13.5024 46.7558 14.0042 46.25 14.4C45.6987 14.8258 45.0706 15.1415 44.4 15.33C43.6347 15.5392 42.8432 15.6368 42.05 15.62Z\"\n fill=\"#252F3E\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M45.19 23.81C39.72 27.85 31.78 30 25 30C15.8524 30.0602 7.01321 26.6965 0.219997 20.57C-0.290003 20.11 0.159997 19.48 0.779997 19.83C8.31593 24.1408 16.8482 26.4057 25.53 26.4C32.0135 26.3652 38.4262 25.05 44.4 22.53C45.32 22.14 46.1 23.14 45.19 23.81Z\"\n fill=\"#FF9900\"\n fillRule=\"evenodd\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M47.47 21.21C46.77 20.31 42.84 20.79 41.08 21C40.55 21.06 40.46 20.6 40.94 20.26C44.07 18.06 49.21 18.69 49.8 19.43C50.39 20.17 49.64 25.32 46.71 27.78C46.26 28.16 45.83 27.96 46.03 27.46C46.69 25.8 48.17 22.11 47.47 21.21Z\"\n fill=\"#FF9900\"\n fillRule=\"evenodd\"\n />\n </g>\n <defs>\n <clipPath id=\"aws-logo-clippath\">\n <rect fill=\"white\" height=\"30\" width=\"50\" />\n </clipPath>\n </defs>\n </Icon>\n );\n};\n","import { Icon } from \"@chakra-ui/react\";\n\nexport const MongoDBIcon: typeof Icon = (props) => (\n <Icon viewBox=\"0 0 18 37\" {...props}>\n <path\n d=\"M9.09725 0.469971L10.1001 2.35348C10.3255 2.70106 10.5698 3.00871 10.8575 3.29523C11.7009 4.12816 12.4871 5.01714 13.2107 5.95609C14.9099 8.18718 16.056 10.6649 16.8744 13.3445C17.3653 14.9814 17.6318 16.6606 17.6518 18.3586C17.734 23.4349 15.9937 27.7937 12.485 31.4163C11.9143 31.9908 11.2977 32.5178 10.6414 32.9921C10.2938 32.9921 10.1294 32.7256 9.98617 32.4802C9.72529 32.0251 9.55165 31.5253 9.4742 31.0065C9.3509 30.3923 9.26987 29.7782 9.3098 29.1441V28.8576C9.28161 28.7965 8.97513 0.614404 9.09725 0.469971Z\"\n fill=\"#599636\"\n />\n <path\n d=\"M9.09723 0.407647C9.05614 0.325449 9.01504 0.387684 8.97394 0.427609C8.9939 0.838599 8.85064 1.20497 8.62636 1.5549C8.37977 1.90248 8.05333 2.16903 7.72571 2.45555C5.90562 4.0314 4.47304 5.93487 3.3258 8.0638C1.79927 10.929 1.01253 13.9997 0.789419 17.2324C0.687259 18.3984 1.15813 22.513 1.52567 23.7002C2.52848 26.8519 4.32978 29.4928 6.66301 31.785C7.23605 32.3369 7.84901 32.8488 8.4831 33.3409C8.66746 33.3409 8.68742 33.1765 8.72969 33.0543C8.81052 32.793 8.87214 32.5261 8.91405 32.2558L9.32504 29.1863L9.09723 0.407647Z\"\n fill=\"#6CAC48\"\n />\n <path\n d=\"M10.1001 34.2391C10.1412 33.7694 10.3666 33.3796 10.6121 32.9909C10.3655 32.8888 10.1823 32.6856 10.039 32.459C9.91549 32.2444 9.81324 32.0183 9.73372 31.7838C9.44719 30.9243 9.38613 30.0224 9.30394 29.1441V28.6122C9.20177 28.6944 9.18064 29.3895 9.18064 29.4929C9.12088 30.4212 8.99769 31.3443 8.81192 32.2559C8.75086 32.6246 8.70976 32.9921 8.48312 33.3197C8.48312 33.3608 8.48312 33.4019 8.50309 33.463C8.87181 34.548 8.97279 35.6529 9.03503 36.779V37.19C9.03503 37.6808 9.01507 37.5775 9.42254 37.7419C9.58693 37.803 9.77012 37.8241 9.93452 37.9462C10.0578 37.9462 10.0778 37.8441 10.0778 37.7619L10.0167 37.0867V35.2032C9.99675 34.8744 10.0578 34.548 10.0989 34.2403L10.1001 34.2391Z\"\n fill=\"#C2BFBF\"\n />\n </Icon>\n);\n","import { Flex } from \"@chakra-ui/react\";\nimport { FunctionComponent } from \"react\";\nimport { Page } from \"../../components/Page\";\nimport { useCatalog } from \"../../hooks/useCatalog\";\nimport { Categories } from \"./Categories\";\nimport { CDKTypeTabs } from \"./CDKTypeTabs\";\nimport { Featured } from \"./Featured\";\nimport { GradientContainer } from \"./GradientContainer\";\nimport { Hero } from \"./Hero\";\nimport { Info } from \"./Info\";\nimport testIds from \"./testIds\";\n\nexport const Home: FunctionComponent = () => {\n const { data: catalog } = useCatalog();\n const hasPackages = (catalog?.packages.length ?? 0) > 0;\n\n return (\n <Page\n meta={{\n title: \"Construct Hub\",\n description:\n \"Construct Hub helps developers find open-source construct libraries for use with AWS CDK, CDK8s, CDKTf and other construct-based tools.\",\n suffix: false,\n }}\n pageName=\"home\"\n >\n <GradientContainer\n as={Flex}\n data-testid={testIds.page}\n direction=\"column\"\n >\n <Hero />\n\n <Info />\n\n {hasPackages ? (\n <>\n <Categories />\n <CDKTypeTabs />\n <Featured />\n </>\n ) : null}\n </GradientContainer>\n </Page>\n );\n};\n"],"names":["createTestIds","DEFAULT_CATEGORIES","title","url","getSearchPath","keywords","Categories","categories","useConfigValue","testIds","categoriesContainer","direction","my","px","SECTION_PADDING","py","zIndex","as","color","categoriesHeader","fontSize","fontWeight","lineHeight","mb","categoriesDescription","map","category","NavLink","HOME_ANALYTICS","to","Box","boxShadow","colorScheme","size","PackageGrid","dataEvent","packages","packageGrid","gap","mt","templateColumns","base","xl","pkg","PackageCard","name","version","tabs","community","label","tag","aws","hashicorp","PackageTab","data","eventName","cdkTypeTab","isDisabled","page","length","PackageTabPanel","forwardRef","ref","props","cdkTypeGrid","p","justify","w","cdkTypeSeeAllButton","onClick","window","scrollTo","tags","undefined","sort","CatalogSearchSort","CDKTypeTabs","useCatalogResults","limit","key","initialValue","history","useHistory","useState","value","location","state","rawState","rawSetState","replace","useHistoryState","tabIndex","setTabIndex","bg","cdkTypeSection","cdkTypeSectionHeading","cdkTypeSectionDescription","ROUTES","defaultIndex","onChange","index","variant","minH","toLowerCase","Featured","homePackages","DEFAULT_FEATURED_PACKAGES","sections","featured","showLastUpdated","section","showPackages","useCatalog","isLoading","error","results","searchInstance","useSearchContext","useMemo","slice","findByName","dedup","comment","filter","useSection","featuredContainer","featuredHeader","featuredGrid","mx","animation","keyframes","GradientContainer","bgGradient","bgSize","Hero","align","h","textAlign","heroHeader","heroSubtitle","maxW","SearchBar","hasButton","InfoSection","description","children","infoSection","infoSectionHeading","infoSectionDescription","publishers","Icon","useColorMode","colorMode","viewBox","x","y","d","fill","points","clipPath","clipRule","fillRule","id","height","width","query","imgsrc","IconLink","imgFilter","useColorModeValue","infoSectionIcon","spacing","src","ResponsiveDivider","display","orientation","Row","pt","sx","Info","infoContainer","templateRows","Object","entries","CDKTYPE_RENDER_MAP","cdktype","cdkType","LANGUAGE_RENDER_MAP","language","TEMP_SUPPORTED_LANGUAGES","icon","languages","Home","catalog","hasPackages","Page","meta","suffix","pageName","Flex"],"sourceRoot":""}
1
+ {"version":3,"file":"static/js/58.65618176.chunk.js","mappings":"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","sources":["views/Home/testIds.ts","views/Home/Categories.tsx","views/Home/PackageGrid.tsx","views/Home/CDKTypeTabs.tsx","hooks/useHistoryState/useHistoryState.ts","views/Home/Featured.tsx","views/Home/useSection.ts","views/Home/GradientContainer.tsx","views/Home/Hero.tsx","views/Home/InfoSection.tsx","views/Home/Info.tsx","icons/DatadogIcon.tsx","icons/AWSIcon.tsx","icons/MongoDBIcon.tsx","views/Home/Home.tsx"],"sourcesContent":["import { createTestIds } from \"../../util/createTestIds\";\n\nexport default createTestIds(\"homeRedesign\", [\n \"page\",\n \"packageGrid\",\n // Hero Section\n \"heroHeader\",\n \"heroSubtitle\",\n // Info Section\n \"infoContainer\",\n \"infoSection\",\n \"infoSectionHeading\",\n \"infoSectionDescription\",\n \"infoSectionIcon\",\n // Featured / Recently Updated Section\n \"featuredContainer\",\n \"featuredHeader\",\n \"featuredGrid\",\n // CDK Type Section\n \"cdkTypeSection\",\n \"cdkTypeSectionHeading\",\n \"cdkTypeSectionDescription\",\n \"cdkTypeTab\",\n \"cdkTypeGrid\",\n \"cdkTypeSeeAllButton\",\n \"categoriesContainer\",\n \"categoriesHeader\",\n \"categoriesDescription\",\n] as const);\n","import {\n Box,\n Flex,\n Heading,\n Text,\n Button,\n Wrap,\n WrapItem,\n} from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Category } from \"../../api/config\";\nimport { NavLink } from \"../../components/NavLink\";\nimport { useConfigValue } from \"../../hooks/useConfigValue\";\nimport { getSearchPath } from \"../../util/url\";\nimport { HOME_ANALYTICS, SECTION_PADDING } from \"./constants\";\nimport testIds from \"./testIds\";\n\n/**\n * Categories used if config does not have specific categories\n */\nconst DEFAULT_CATEGORIES: Category[] = [\n { title: \"Monitoring\", url: getSearchPath({ keywords: [\"monitoring\"] }) },\n { title: \"Containers\", url: getSearchPath({ keywords: [\"containers\"] }) },\n { title: \"Serverless\", url: getSearchPath({ keywords: [\"serverless\"] }) },\n { title: \"Databases\", url: getSearchPath({ keywords: [\"databases\"] }) },\n { title: \"Utilities\", url: getSearchPath({ keywords: [\"utilities\"] }) },\n { title: \"Deployment\", url: getSearchPath({ keywords: [\"deployment\"] }) },\n { title: \"Websites\", url: getSearchPath({ keywords: [\"websites\"] }) },\n { title: \"Security\", url: getSearchPath({ keywords: [\"security\"] }) },\n { title: \"Compliance\", url: getSearchPath({ keywords: [\"compliance\"] }) },\n { title: \"Network\", url: getSearchPath({ keywords: [\"network\"] }) },\n {\n title: \"Artificial Intelligence (AI)\",\n url: getSearchPath({ keywords: [\"artificial intelligence (ai)\"] }),\n },\n {\n title: \"Cloud Services Integrations\",\n url: getSearchPath({ keywords: [\"cloud services integrations\"] }),\n },\n];\n\nexport const Categories: FunctionComponent = () => {\n const categories = useConfigValue(\"categories\") ?? DEFAULT_CATEGORIES;\n\n return (\n <Flex\n data-testid={testIds.categoriesContainer}\n direction=\"column\"\n my={4}\n px={SECTION_PADDING.X}\n py={SECTION_PADDING.Y}\n zIndex=\"0\"\n >\n <Heading\n as=\"h3\"\n color=\"white\"\n data-testid={testIds.categoriesHeader}\n fontSize=\"1.5rem\"\n fontWeight=\"semibold\"\n lineHeight=\"lg\"\n mb={1}\n >\n Search by use case\n </Heading>\n <Text\n color=\"white\"\n data-testid={testIds.categoriesDescription}\n lineHeight=\"md\"\n mb={5}\n >\n Find the right construct for your problem set from a community that’s\n already tackled it.\n </Text>\n\n <Wrap>\n {categories.map((category) => (\n <WrapItem key={category.title}>\n <NavLink\n data-event={HOME_ANALYTICS.USE_CASE.eventName(category.title)}\n to={category.url}\n >\n <Button\n as={Box}\n boxShadow=\"0px 4px 4px rgba(73, 73, 73, 0.63)\"\n color=\"textPrimary\"\n colorScheme=\"gray\"\n size=\"md\"\n >\n {category.title}\n </Button>\n </NavLink>\n </WrapItem>\n ))}\n </Wrap>\n </Flex>\n );\n};\n","import { Grid } from \"@chakra-ui/react\";\nimport { FunctionComponent } from \"react\";\nimport { ExtendedCatalogPackage } from \"../../api/catalog-search\";\nimport { PackageCard } from \"../../components/PackageCard\";\nimport testIds from \"./testIds\";\n\nexport const PackageGrid: FunctionComponent<{\n \"data-event\"?: string;\n packages: ExtendedCatalogPackage[];\n}> = ({ \"data-event\": dataEvent, packages }) => {\n return (\n <Grid\n data-testid={testIds.packageGrid}\n gap={4}\n mt={8}\n templateColumns={{ base: \"1fr\", xl: \"1fr 1fr\" }}\n >\n {packages.map((pkg) => (\n <PackageCard\n data-event={dataEvent}\n key={`${pkg.name}-${pkg.version}`}\n pkg={pkg}\n />\n ))}\n </Grid>\n );\n};\n","import {\n Button,\n Flex,\n forwardRef,\n Heading,\n Tab,\n TabList,\n TabPanelProps,\n TabPanel,\n TabPanels,\n Tabs,\n Text,\n} from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { CatalogSearchSort } from \"../../api/catalog-search/constants\";\nimport { NavLink } from \"../../components/NavLink\";\nimport { ROUTES } from \"../../constants/url\";\nimport { eventName } from \"../../contexts/Analytics\";\nimport { useCatalogResults } from \"../../hooks/useCatalogResults\";\nimport { useHistoryState } from \"../../hooks/useHistoryState\";\nimport { getSearchPath } from \"../../util/url\";\nimport { HOME_ANALYTICS, SECTION_PADDING } from \"./constants\";\nimport { PackageGrid } from \"./PackageGrid\";\nimport testIds from \"./testIds\";\n\ninterface PackageTabProps {\n \"data-event\": string;\n data: ReturnType<typeof useCatalogResults>;\n label: string;\n}\n\ninterface PackageTabPanelProps extends PackageTabProps, TabPanelProps {\n tag: string;\n}\n\nconst tabs = {\n community: {\n \"data-event\": HOME_ANALYTICS.PUBLISHER.eventName(\"Community\"),\n label: \"Community\",\n tag: \"community\",\n },\n aws: {\n \"data-event\": HOME_ANALYTICS.PUBLISHER.eventName(\"AWS\"),\n label: \"AWS\",\n tag: \"aws-published\",\n },\n hashicorp: {\n \"data-event\": HOME_ANALYTICS.PUBLISHER.eventName(\"HashiCorp\"),\n label: \"HashiCorp\",\n tag: \"hashicorp-published\",\n },\n};\n\nconst PackageTab: FunctionComponent<PackageTabProps> = ({\n \"data-event\": dataEvent,\n data,\n label,\n}) => {\n return (\n <Tab\n data-event={eventName(dataEvent, \"Tab\")}\n data-testid={testIds.cdkTypeTab}\n data-value={label}\n isDisabled={data.page.length < 1}\n >\n {label}\n </Tab>\n );\n};\n\nconst PackageTabPanel = forwardRef<PackageTabPanelProps, \"div\">(\n ({ \"data-event\": dataEvent, label, data, tag, ...props }, ref) => {\n return (\n <TabPanel data-testid={testIds.cdkTypeGrid} ref={ref} {...props} p={0}>\n <PackageGrid data-event={dataEvent} packages={data.page} />\n\n <Flex justify=\"center\" w=\"full\">\n <Button\n as={NavLink}\n colorScheme=\"brand\"\n data-event={eventName(dataEvent, \"See All\")}\n data-testid={testIds.cdkTypeSeeAllButton}\n my={8}\n onClick={() => window.scrollTo(0, 0)}\n to={getSearchPath({\n tags: tag ? [tag] : undefined,\n sort: CatalogSearchSort.DownloadsDesc,\n })}\n >\n See all {label} constructs\n </Button>\n </Flex>\n </TabPanel>\n );\n }\n);\n\nexport const CDKTypeTabs: FunctionComponent = () => {\n const community = useCatalogResults({\n tags: [tabs.community.tag],\n limit: 4,\n sort: CatalogSearchSort.DownloadsDesc,\n });\n\n const aws = useCatalogResults({\n tags: [tabs.aws.tag],\n limit: 4,\n sort: CatalogSearchSort.DownloadsDesc,\n });\n const hashicorp = useCatalogResults({\n tags: [tabs.hashicorp.tag],\n limit: 4,\n sort: CatalogSearchSort.DownloadsDesc,\n });\n\n const [tabIndex, setTabIndex] = useHistoryState(\"cdkTypeTab\", 0);\n\n return (\n <Flex\n bg=\"bgSecondary\"\n color=\"textPrimary\"\n data-testid={testIds.cdkTypeSection}\n direction=\"column\"\n px={SECTION_PADDING.X}\n py={SECTION_PADDING.Y}\n zIndex=\"0\"\n >\n <Heading\n as=\"h3\"\n data-testid={testIds.cdkTypeSectionHeading}\n fontSize=\"1.5rem\"\n fontWeight=\"semibold\"\n lineHeight=\"lg\"\n mb={2}\n >\n Search by publisher\n </Heading>\n <Text\n data-testid={testIds.cdkTypeSectionDescription}\n lineHeight=\"md\"\n mb={5}\n >\n Find constructs published by the open-source community, AWS, and cloud\n technology providers in one location. You can also include your own\n construct libraries on Construct Hub by publishing them on npm registry.\n More concrete guidance can be found in the{\" \"}\n <NavLink color=\"link\" to={ROUTES.CONTRIBUTE}>\n Contribute\n </NavLink>{\" \"}\n page.\n </Text>\n <Tabs\n defaultIndex={tabIndex}\n onChange={(index) => setTabIndex(index)}\n variant=\"line\"\n >\n <TabList>\n <PackageTab data={community} {...tabs.community} />\n\n <PackageTab data={aws} {...tabs.aws} />\n\n <PackageTab data={hashicorp} {...tabs.hashicorp} />\n </TabList>\n <TabPanels minH=\"28.5rem\">\n <PackageTabPanel\n data={community}\n {...tabs.community}\n label={tabs.community.label.toLowerCase()}\n />\n\n <PackageTabPanel data={aws} {...tabs.aws} />\n\n <PackageTabPanel data={hashicorp} {...tabs.hashicorp} />\n </TabPanels>\n </Tabs>\n </Flex>\n );\n};\n","import { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\n\nexport const useHistoryState = <T>(\n key: string,\n initialValue: T\n): [T, (t: T) => void] => {\n const history = useHistory();\n const [rawState, rawSetState] = useState<T>(() => {\n const value = (history.location.state as any)?.[key];\n return value ?? initialValue;\n });\n const setState = (value: T) => {\n history.replace({\n ...history.location,\n state: {\n ...(history.location.state as any),\n [key]: value,\n },\n });\n rawSetState(value);\n };\n return [rawState, setState];\n};\n","import { Button, Flex, Grid, Heading } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { CatalogSearchSort } from \"../../api/catalog-search/constants\";\nimport { DEFAULT_FEATURED_PACKAGES } from \"../../api/config\";\nimport { NavLink } from \"../../components/NavLink\";\nimport { PackageCard } from \"../../components/PackageCard\";\nimport { eventName } from \"../../contexts/Analytics\";\nimport { useConfigValue } from \"../../hooks/useConfigValue\";\nimport { getSearchPath } from \"../../util/url\";\nimport { HOME_ANALYTICS, SECTION_PADDING } from \"./constants\";\nimport testIds from \"./testIds\";\nimport { useSection } from \"./useSection\";\n\nexport const Featured: FunctionComponent = () => {\n const homePackages = useConfigValue(\"featuredPackages\");\n\n const [featured = { name: \"Recently Updated\", showLastUpdated: 4 }] = (\n homePackages ?? DEFAULT_FEATURED_PACKAGES\n ).sections;\n\n const section = useSection(featured);\n\n if (!section) {\n return null;\n }\n\n return (\n <Flex\n color=\"white\"\n data-testid={testIds.featuredContainer}\n direction=\"column\"\n px={SECTION_PADDING.X}\n py={SECTION_PADDING.Y}\n zIndex=\"0\"\n >\n <Heading\n as=\"h3\"\n data-testid={testIds.featuredHeader}\n fontSize=\"1.5rem\"\n fontWeight=\"semibold\"\n lineHeight=\"lg\"\n >\n {featured.name}\n </Heading>\n <Grid\n data-testid={testIds.featuredGrid}\n gap={4}\n mt={8}\n templateColumns={{ base: \"1fr\", xl: \"1fr 1fr\" }}\n >\n {section?.slice(0, 4).map((pkg) => (\n <PackageCard\n data-event={HOME_ANALYTICS.FEATURED}\n key={pkg.name}\n pkg={pkg}\n />\n ))}\n </Grid>\n <Button\n as={NavLink}\n boxShadow=\"md\"\n colorScheme=\"brand\"\n data-event={eventName(HOME_ANALYTICS.FEATURED, \"See All\")}\n mx=\"auto\"\n my={8}\n onClick={() => window.scrollTo(0, 0)}\n to={getSearchPath({ sort: CatalogSearchSort.DownloadsDesc })}\n >\n See all constructs\n </Button>\n </Flex>\n );\n};\n","import { useMemo } from \"react\";\nimport { ExtendedCatalogPackage } from \"../../api/catalog-search\";\nimport { CatalogSearchSort } from \"../../api/catalog-search/constants\";\nimport { FeaturedPackagesDetail } from \"../../api/config\";\nimport { useSearchContext } from \"../../contexts/Search\";\nimport { useCatalog } from \"../../hooks/useCatalog\";\nimport { useCatalogResults } from \"../../hooks/useCatalogResults\";\n\nexport const useSection = ({\n showLastUpdated,\n showPackages,\n}: {\n showLastUpdated?: number;\n showPackages?: FeaturedPackagesDetail[];\n}) => {\n const { isLoading, error } = useCatalog();\n const { results } = useCatalogResults({\n limit: 25,\n sort: CatalogSearchSort.PublishDateDesc,\n });\n\n const searchInstance = useSearchContext();\n\n return useMemo(() => {\n if (isLoading || error || !results) return [];\n\n if (showLastUpdated) {\n return results.slice(0, showLastUpdated);\n } else if (showPackages && searchInstance) {\n return showPackages\n .map((p) => {\n const [pkg] = searchInstance.findByName(p.name, { dedup: true });\n\n if (pkg) {\n return {\n ...pkg,\n comment: p.comment,\n };\n }\n return undefined;\n })\n .filter((pkg) => pkg !== undefined) as ExtendedCatalogPackage[];\n } else {\n return undefined;\n }\n }, [\n isLoading,\n error,\n results,\n showLastUpdated,\n showPackages,\n searchInstance,\n ]);\n};\n","import { Box, BoxProps, forwardRef, keyframes } from \"@chakra-ui/react\";\n\nconst animation = keyframes`\n 0% {\n background-position:0% 50%;\n }\n\n 50% {\n background-position:100% 50%;\n }\n\n 100% {\n background-position:0% 50%;\n }\n`;\n\nexport const GradientContainer = forwardRef<BoxProps, \"div\">((props, ref) => (\n <Box\n animation={`${animation} 10s linear infinite`}\n bgGradient=\"linear(to-bl, brand.900, brand.500)\"\n bgSize=\"200% 200%\"\n ref={ref}\n {...props}\n />\n));\n","import { Box, Flex, Heading } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport {\n SearchBar,\n SearchOverlay,\n SearchSuggestions,\n} from \"../../components/SearchBar\";\nimport { HOME_ANALYTICS, SECTION_PADDING } from \"./constants\";\nimport testIds from \"./testIds\";\n\nexport const Hero: FunctionComponent = () => {\n return (\n <Flex\n align=\"center\"\n color=\"white\"\n direction=\"column\"\n h=\"20rem\"\n justify=\"center\"\n px={SECTION_PADDING.X}\n py={SECTION_PADDING.Y}\n textAlign=\"center\"\n zIndex=\"1\"\n >\n <Heading as=\"h1\" data-testid={testIds.heroHeader} size=\"xl\">\n Simplify cloud development with constructs\n </Heading>\n <Heading\n as=\"h2\"\n data-testid={testIds.heroSubtitle}\n fontWeight=\"normal\"\n mt={4}\n size=\"md\"\n >\n Find and use open-source Cloud Development Kit (CDK) libraries\n </Heading>\n <Box color=\"initial\" maxW=\"36rem\" mt={8} mx=\"auto\" w=\"full\">\n <SearchBar data-event={HOME_ANALYTICS.SEARCH} hasButton>\n <SearchOverlay />\n <SearchSuggestions />\n </SearchBar>\n </Box>\n </Flex>\n );\n};\n","import { Flex, Heading, Text } from \"@chakra-ui/react\";\nimport type { FunctionComponent, ReactNode } from \"react\";\nimport { SECTION_PADDING } from \"./constants\";\nimport testIds from \"./testIds\";\n\nexport interface InfoSectionProps {\n title: string;\n description: ReactNode;\n}\n\nexport const InfoSection: FunctionComponent<InfoSectionProps> = ({\n title,\n description,\n children,\n}) => (\n <Flex\n color=\"textPrimary\"\n data-testid={testIds.infoSection}\n direction=\"column\"\n px={SECTION_PADDING.X}\n py={SECTION_PADDING.Y}\n >\n <Heading\n as=\"h3\"\n data-testid={testIds.infoSectionHeading}\n fontSize=\"1.5rem\"\n fontWeight=\"semibold\"\n lineHeight=\"lg\"\n mb={2}\n >\n {title}\n </Heading>\n <Flex direction=\"column\" h=\"full\" justify=\"space-between\">\n <Text data-testid={testIds.infoSectionDescription} fontSize=\"lg\" mb={4}>\n {description}\n </Text>\n {children}\n </Flex>\n </Flex>\n);\n","import {\n Divider,\n Flex,\n Grid,\n Icon as ChakraIcon,\n Image,\n Stack,\n useColorModeValue,\n} from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { CatalogSearchSort } from \"../../api/catalog-search/constants\";\nimport { NavLink } from \"../../components/NavLink\";\nimport { CDKType, CDKTYPE_RENDER_MAP } from \"../../constants/constructs\";\nimport {\n Language,\n LANGUAGE_RENDER_MAP,\n TEMP_SUPPORTED_LANGUAGES,\n} from \"../../constants/languages\";\nimport { AWSIcon } from \"../../icons/AWSIcon\";\nimport { DatadogIcon } from \"../../icons/DatadogIcon\";\nimport { MongoDBIcon } from \"../../icons/MongoDBIcon\";\nimport { getSearchPath } from \"../../util/url\";\nimport { HOME_ANALYTICS, SECTION_PADDING } from \"./constants\";\nimport { InfoSection } from \"./InfoSection\";\nimport testIds from \"./testIds\";\n\nconst publishers = [\n {\n name: \"Datadog\",\n Icon: DatadogIcon,\n url: getSearchPath({ keywords: [\"Datadog\"] }),\n },\n {\n name: \"AWS\",\n Icon: AWSIcon,\n url: getSearchPath({ query: \"AWS\" }),\n },\n {\n name: \"MongoDB\",\n Icon: MongoDBIcon,\n url: getSearchPath({ keywords: [\"MongoDB\"] }),\n },\n {\n name: \"Aqua Security\",\n imgsrc: \"/assets/aqua-security.png\",\n url: getSearchPath({ keywords: [\"aqua\"] }),\n },\n];\n\nconst IconLink = ({\n url,\n imgsrc,\n label,\n Icon,\n}: {\n url: string;\n label: string;\n imgsrc?: string;\n Icon?: typeof ChakraIcon;\n}) => {\n const imgFilter = useColorModeValue(\n undefined,\n \"invert(100%) brightness(1.5)\"\n );\n\n return (\n <NavLink\n color=\"link\"\n data-event={HOME_ANALYTICS.INFO.eventName(label)}\n data-testid={testIds.infoSectionIcon}\n fontWeight=\"bold\"\n to={url}\n >\n <Stack align=\"center\" spacing={2} textAlign=\"center\">\n {imgsrc && (\n <Image\n aria-label={label}\n filter={label === \"AWS CDK\" ? imgFilter : undefined}\n h={8}\n src={imgsrc}\n />\n )}\n {Icon && <Icon aria-label={label} h={8} w={8} />}\n <span>{label}</span>\n </Stack>\n </NavLink>\n );\n};\n\nconst ResponsiveDivider = () => (\n <>\n <Divider display={{ xl: \"none\" }} mx={SECTION_PADDING.X} w=\"auto\" />\n <Divider\n display={{ base: \"none\", xl: \"initial\" }}\n h=\"auto\"\n my={SECTION_PADDING.Y}\n orientation=\"vertical\"\n />\n </>\n);\n\nconst Row: FunctionComponent = ({ children }) => (\n <Flex align=\"center\" pt={4} sx={{ gap: \"2rem\" }}>\n {children}\n </Flex>\n);\n\nexport const Info: FunctionComponent = () => (\n <Flex bg=\"bgSecondary\" data-testid={testIds.infoContainer} direction=\"column\">\n <Grid\n templateColumns={{ base: \"1fr\", xl: \"1fr auto 1fr auto 1fr\" }}\n templateRows={{ base: \"1fr auto 1fr auto 1fr\", xl: \"auto\" }}\n >\n <InfoSection\n description=\"Find libraries for AWS Cloud Development Kit (AWS CDK), which generates AWS CloudFormation templates, CDK for Terraform (CDKTF), which generates HashiCorp Terraform configuration files, and CDK for Kubernetes (CDK8s), which generates Kubernetes manifests.\"\n title=\"One home for all CDKs\"\n >\n <Row>\n {Object.entries(CDKTYPE_RENDER_MAP).map(\n ([cdktype, { name, imgsrc }]) => (\n <IconLink\n imgsrc={imgsrc}\n key={cdktype}\n label={name}\n url={getSearchPath({\n cdkType: cdktype as CDKType,\n sort: CatalogSearchSort.DownloadsDesc,\n })}\n />\n )\n )}\n </Row>\n </InfoSection>\n\n <ResponsiveDivider />\n\n <InfoSection\n description=\"Define, test, and deploy cloud infrastructure using high level programming languages such as TypeScript, Python, Java, and .NET. Find documentation, API references and code samples to quickly build your application.\"\n title=\"Support across languages\"\n >\n <Row>\n {Object.entries(LANGUAGE_RENDER_MAP)\n .filter(([language]) =>\n TEMP_SUPPORTED_LANGUAGES.has(language as Language)\n )\n .map(([language, { icon: Icon, name }]) => (\n <IconLink\n Icon={Icon as typeof ChakraIcon}\n key={language}\n label={name}\n url={getSearchPath({\n languages: [language as Language],\n sort: CatalogSearchSort.DownloadsDesc,\n })}\n />\n ))}\n </Row>\n </InfoSection>\n\n <ResponsiveDivider />\n\n <InfoSection\n description=\"Find construct libraries published by the community and cloud service providers such as Datadog, Amazon Web Services (AWS), MongoDB, Aqua Security, and more.\"\n title=\"Provision a range of cloud resources\"\n >\n <Row>\n {publishers.map(({ url, name, imgsrc, Icon }) => (\n <IconLink\n Icon={Icon}\n imgsrc={imgsrc}\n key={name}\n label={name}\n url={url}\n />\n ))}\n </Row>\n </InfoSection>\n </Grid>\n </Flex>\n);\n","import { Icon, useColorMode } from \"@chakra-ui/react\";\n\nexport const DatadogIcon: typeof Icon = (props) => {\n const { colorMode } = useColorMode();\n\n if (colorMode === \"dark\") {\n return (\n <Icon {...props} version=\"1.1\" viewBox=\"0 0 800.5 801\" x=\"0px\" y=\"0px\">\n <g>\n <path\n d=\"M546.48,341.44c0.01,0,0.01-0.01,0.01-0.01h-0.01V341.44z\"\n fill=\"none\"\n />\n </g>\n <g>\n <path\n d=\"M22.42,780.42h26.36c24.81,0,37.23-14.58,37.23-43.77c0-24.84-12.41-37.27-37.23-37.27H22.42V780.42z\n\t\t M52.12,799.65H0.25V680.22h51.87c37.37,0,56.07,18.82,56.07,56.45C108.19,778.65,89.49,799.65,52.12,799.65\"\n fill=\"#FFFFFF\"\n />\n <polygon\n fill=\"#FFFFFF\"\n points=\"131.42,799.65 108.66,799.65 159.45,680.22 183.29,680.22 235.19,799.65 211.34,799.65 196.28,767.07\n\t\t157.96,767.07 165.56,747.87 190.42,747.87 170.84,703.01 \t\"\n />\n <polygon\n fill=\"#FFFFFF\"\n points=\"222.65,680.22 313.45,680.22 313.45,699.42 279.15,699.42 279.15,799.65 256.98,799.65 256.98,699.42\n\t\t222.65,699.42 \t\"\n />\n <polygon\n fill=\"#FFFFFF\"\n points=\"324.85,799.65 302.08,799.65 352.87,680.22 376.72,680.22 428.61,799.65 404.74,799.65 389.69,767.07\n\t\t351.36,767.07 358.97,747.87 383.82,747.87 364.25,703.01 \t\"\n />\n <path\n d=\"M465.5,780.42h26.36c24.83,0,37.25-14.58,37.25-43.77c0-24.84-12.42-37.27-37.25-37.27H465.5V780.42z\n\t\t M495.21,799.65h-51.87V680.22h51.87c37.4,0,56.07,18.82,56.07,56.45C551.28,778.65,532.6,799.65,495.21,799.65\"\n fill=\"#FFFFFF\"\n />\n <path\n d=\"M626.4,781.26c24.09,0,36.13-13.89,36.13-41.68c0-27.36-12.04-41.03-36.13-41.03\n\t\tc-24.72,0-37.08,13.67-37.08,41.03C589.32,767.37,601.68,781.26,626.4,781.26 M566.3,740.1c0-40.49,20.04-60.73,60.1-60.73\n\t\tc39.45,0,59.15,20.24,59.15,60.73c0,40.26-19.7,60.4-59.15,60.4C588.11,800.5,568.09,780.36,566.3,740.1\"\n fill=\"#FFFFFF\"\n />\n <path\n d=\"M778.07,751.32v27.97c-5.11,1.34-9.7,1.99-13.72,1.99c-27.11,0-40.66-14.35-40.66-43\n\t\tc0-26.48,14.36-39.7,43.08-39.7c12,0,23.16,2.23,33.48,6.69V685.2c-10.32-3.89-22.04-5.83-35.14-5.83\n\t\tc-42.95,0-64.44,19.62-64.44,58.91c0,41.47,21.11,62.23,63.34,62.23c14.53,0,26.6-2.12,36.25-6.36v-62.47h-35.82l-7.49,19.64\n\t\tL778.07,751.32L778.07,751.32z\"\n fill=\"#FFFFFF\"\n />\n <path\n d=\"M349.36,166.26c21.81-14.87,49.91-9.02,45.2-4.55c-8.97,8.54,2.97,6.01,4.26,21.77\n\t\tc0.95,11.6-2.85,18-6.1,21.64c-6.8,0.89-15.08,2.56-25.04,5.79c-5.89,1.91-11.03,4.04-15.51,6.18c-1.18-0.78-2.47-1.71-4-3.03\n\t\tC332.77,200.74,333.28,177.22,349.36,166.26 M479.63,258.13c3.95-3.06,21.94-8.84,38.59-10.82c8.74-1.04,21.2-1.62,23.86-0.13\n\t\tc5.28,2.92,5.28,11.93,1.67,20.26c-5.26,12.11-12.71,25.47-21.13,26.57c-13.74,1.81-26.75-5.62-41.6-16.71\n\t\tC475.72,273.32,472.47,263.67,479.63,258.13 M504.7,140.3c20.3,9.45,17.64,27.42,18.2,37.97c0.16,3.03,0.1,5.07-0.16,6.49\n\t\tc-2.82-1.53-7.25-2.64-14.29-2.33c-2.06,0.09-4.07,0.33-6,0.64c-7.49-4.01-11.96-11.87-16.06-20.22c-0.37-0.77-0.66-1.45-0.93-2.13\n\t\tc-0.11-0.3-0.25-0.64-0.36-0.91c-0.05-0.15-0.09-0.28-0.14-0.42c-2.25-7.13-0.74-8.56,0.21-10.76c0.98-2.24,4.64-4.1-0.77-5.97\n\t\tc-0.46-0.17-1.05-0.28-1.7-0.39C486.28,137.83,497.03,136.74,504.7,140.3 M394.05,355.15c-21.87-14.05-44.5-34.18-54.39-45.32\n\t\tc-1.66-1.25-1.39-6.8-1.39-6.8c8.93,6.95,45.98,33.41,85.14,45.49c13.81,4.27,35.02,5.88,53.41-4.55\n\t\tc14.06-7.97,30.97-21.86,41.07-36.17l1.85,3.21c-0.07,2.13-4.72,12.49-7.07,16.66c4.27,2.46,7.46,3.12,12.21,4.43l32.44-5.06\n\t\tc11.64-18.8,19.98-49.13,11.09-78c-5.08-16.56-31.55-49.53-33.45-51.34c-6.66-6.39,1.12-31.09-12.07-58.02\n\t\tc-13.94-28.49-50.24-58.2-66-71.13c4.65,3.4,33.26,14.92,46.59,31.02c1.25-1.67,1.77-10.31,2.92-12.49\n\t\tc-11.44-14.99-12.34-41.69-12.34-48.82c0-13.08-6.66-27.91-6.66-27.91s11.46,9.07,14.42,24.68c3.5,18.51,10.96,33.07,20.82,45.39\n\t\tc18.66,23.25,35.51,35.18,44.04,26.58c10.19-10.32-10.33-56.49-36.57-82.26C499.5-5.3,491.48-1.43,473.53,4.99\n\t\tc-14.33,5.1-22.08,45.8-59.43,45c-6.33-0.73-22.63-1.14-30.68-1.07c4.2-5.86,7.79-10.4,7.79-10.4s-12.53,5.03-23.2,11.43\n\t\tl-0.82-1.24c3.6-7.6,7.48-12.39,7.48-12.39s-10.01,6.01-19.15,13.21c1.67-9.06,7.95-14.8,7.95-14.8s-12.65,2.29-28.77,20\n\t\tc-18.31,5-22.72,8.3-37.31,14.76c-23.72-5.17-34.93-13.53-45.58-28.9c-8.13-11.74-22.57-13.53-37.36-7.46\n\t\tc-21.52,8.92-48.77,21.11-48.77,21.11s8.86-0.34,18.12,0.07c-12.66,4.8-24.85,11.4-24.85,11.4s5.94-0.2,13.26-0.08\n\t\tc-5.06,4.2-7.85,6.21-12.66,9.39c-11.59,8.41-20.98,18.12-20.98,18.12s7.87-3.58,14.92-5.59c-4.93,11.32-14.72,19.64-12.92,33.5\n\t\tc1.72,12.66,17.26,38.71,37.31,54.7c1.72,1.4,29.12,26.72,49.76,16.32c20.65-10.39,28.78-19.64,32.18-33.85\n\t\tc3.99-16.31,1.71-28.62-6.8-64.01c-2.8-11.68-10.13-35.73-13.66-47.23l0.79-0.57c6.76,14.25,24.04,51.81,31,77.03\n\t\tc10.87,39.34,7.47,59.3,2.5,66.61c-14.99,22.07-53.43,24.98-70.92,12.75c-2.67,42.36,6.79,61,9.99,70.4\n\t\tc-1.6,10.8,5.41,30.85,5.41,30.85s0.79-9.12,3.99-13.92c0.86,10.72,6.26,23.45,6.26,23.45s-0.33-7.86,2.13-14.65\n\t\tc3.46,5.86,6,7.25,9.28,11.66c3.27,11.46,9.84,19.82,9.84,19.82s-1.07-6.14-0.48-12.54c16.03,15.4,18.79,37.87,20.39,55.12\n\t\tc4.49,47.48-74.85,85.21-90.22,114.9c-11.66,17.58-18.63,45.41,1.1,61.81c47.71,39.61,29.39,50.52,53.27,67.93\n\t\tc32.75,23.88,73.75,13.18,87.71-6.24c19.43-27.07,14.43-52.6,7.21-76.47c-5.63-18.68-20.96-49.7-39.93-61.7\n\t\tc-19.37-12.27-38.21-14.58-54.17-12.92l1.48-1.69c22.96-4.56,46.95-2.05,64.32,9.13c19.71,12.67,37.74,34.41,47.18,67.72\n\t\tc10.69-1.52,12.21-2.22,21.99-3.6l-22.04-171.6L394.05,355.15z M406.78,570.25l-2.55-23.79l49.57-75.61l56.27,16.45l48.4-80.83\n\t\tl58.02,38.26l44.07-92.43l15.67,168.33L406.78,570.25z M676.84,317.79L499.7,349.9c-4.38,5.67-15.24,15.59-20.45,18.18\n\t\tc-22.37,11.26-37.5,8.01-50.55,4.61c-8.4-2.13-13.27-3.33-20.25-6.47l-43.24,5.94l26.24,218.96l303.44-54.7L676.84,317.79z\"\n fill=\"#FFFFFF\"\n />\n </g>\n </Icon>\n );\n }\n\n return (\n <Icon viewBox=\"0 0 32 34\" {...props}>\n <g clipPath=\"url(#clip0_2245_48088)\">\n <path\n clipRule=\"evenodd\"\n d=\"M26.6008 24.1363L23.774 22.2717L21.4158 26.2107L18.6731 25.4088L16.2581 29.0947L16.3819 30.2549L29.5121 27.8356L28.7495 19.6318L26.6008 24.1363ZM14.3559 20.5992L16.4625 20.3095C16.8034 20.4627 17.0406 20.521 17.4493 20.625C18.0858 20.7908 18.8227 20.9499 19.9139 20.4C20.1678 20.2742 20.6968 19.7905 20.9107 19.5147L29.5419 17.9489L30.4224 28.6054L15.6356 31.2704L14.3559 20.5992ZM30.3891 16.7593L29.5371 16.9216L27.9003 0.0106812L0.0106812 3.24462L3.44659 31.1271L6.71108 30.6533C6.45038 30.2811 6.04446 29.8308 5.35124 29.2542C4.38979 28.4554 4.72985 27.0988 5.29688 26.2421C6.04723 24.7946 9.91328 22.955 9.69424 20.6412C9.61568 19.8 9.48195 18.7048 8.70105 17.9545C8.67168 18.266 8.72446 18.5659 8.72446 18.5659C8.72446 18.5659 8.40384 18.1568 8.24393 17.5989C8.08521 17.3851 7.96061 17.3168 7.79197 17.0311C7.67174 17.3617 7.68761 17.745 7.68761 17.745C7.68761 17.745 7.42533 17.1252 7.38287 16.6022C7.22732 16.8363 7.18804 17.2811 7.18804 17.2811C7.18804 17.2811 6.84719 16.3042 6.92496 15.778C6.76941 15.3201 6.30833 14.4114 6.43888 12.3461C7.29002 12.9425 9.16372 12.8008 9.89383 11.7247C10.1363 11.3684 10.3021 10.3954 9.77281 8.47844C9.43275 7.24915 8.59074 5.4187 8.26258 4.7243L8.2233 4.75247C8.3963 5.31196 8.75303 6.48491 8.88992 7.05352C9.30419 8.77842 9.41529 9.37879 9.22086 10.174C9.05539 10.8652 8.65859 11.3176 7.6527 11.8231C6.6468 12.3302 5.31196 11.0961 5.22744 11.0279C4.25012 10.2494 3.49421 8.97921 3.40969 8.36218C3.322 7.68682 3.79895 7.28129 4.03941 6.72894C3.69539 6.82735 3.31168 7.00194 3.31168 7.00194C3.31168 7.00194 3.76959 6.52816 4.33424 6.11826C4.56796 5.96351 4.70525 5.8651 4.95166 5.66035C4.59494 5.6544 4.30527 5.66472 4.30527 5.66472C4.30527 5.66472 4.90008 5.34331 5.51671 5.10919C5.06554 5.08935 4.63382 5.10602 4.63382 5.10602C4.63382 5.10602 5.96113 4.5124 7.00948 4.07671C7.73047 3.7811 8.43479 3.86839 8.8304 4.44058C9.34982 5.19014 9.89542 5.59726 11.0517 5.84963C11.7616 5.53496 11.9774 5.37307 12.8695 5.13022C13.6547 4.26678 14.2714 4.15488 14.2714 4.15488C14.2714 4.15488 13.9654 4.43542 13.8837 4.87627C14.3289 4.5255 14.817 4.23266 14.817 4.23266C14.817 4.23266 14.6281 4.46598 14.4519 4.83659L14.4928 4.8973C15.0122 4.58581 15.6229 4.34019 15.6229 4.34019C15.6229 4.34019 15.4483 4.56081 15.2435 4.84651C15.6352 4.84334 16.4296 4.86318 16.7379 4.89809C18.558 4.93817 18.9358 2.95416 19.6341 2.70537C20.5087 2.39308 20.8995 2.2042 22.3899 3.66801C23.6688 4.92468 24.668 7.17415 24.172 7.67809C23.7561 8.09632 22.9355 7.51501 22.0261 6.38134C21.5455 5.78098 21.1821 5.0715 21.0118 4.16957C20.8682 3.4085 20.3091 2.96686 20.3091 2.96686C20.3091 2.96686 20.6337 3.68824 20.6337 4.32551C20.6337 4.6735 20.6773 5.97462 21.2352 6.70473C21.1801 6.81147 21.1543 7.23288 21.0932 7.31343C20.444 6.52895 19.05 5.96748 18.8227 5.80201C19.5921 6.43253 21.3606 7.88086 22.04 9.26887C22.6824 10.5815 22.3038 11.7846 22.6288 12.0961C22.7213 12.1854 24.0105 13.7916 24.2585 14.5987C24.691 16.0054 24.2843 17.4835 23.718 18.4005L22.1368 18.6469C21.9054 18.5826 21.7495 18.5505 21.542 18.4302C21.6562 18.2279 21.8836 17.7231 21.886 17.6192L21.7967 17.4624C21.3047 18.1596 20.4801 18.8366 19.7952 19.2254C18.8989 19.7333 17.8656 19.6552 17.193 19.4468C15.284 18.858 13.4789 17.568 13.0437 17.2291C13.0437 17.2291 13.0302 17.4997 13.1123 17.5604C13.5936 18.1033 14.6963 19.0854 15.7621 19.7698L13.4901 20.0198L14.5642 28.3836C14.088 28.4519 14.0138 28.4852 13.4924 28.5594C13.0329 26.9361 12.154 25.8762 11.1934 25.2588C10.3462 24.7144 9.17761 24.5918 8.05902 24.8132L7.9872 24.8965C8.76493 24.8156 9.68313 24.9283 10.6263 25.5255C11.5521 26.1107 12.2981 27.6226 12.5726 28.5328C12.9242 29.6962 13.1675 30.9406 12.2211 32.2596C11.5477 33.1972 9.58195 33.7155 7.99395 32.5945C8.41813 33.2766 8.99151 33.8345 9.76329 33.9397C10.9093 34.0952 11.9969 33.8964 12.7457 33.1278C13.3849 32.4707 13.7238 31.0966 13.6345 29.6494L14.6459 29.5026L15.011 32.1001L31.7553 30.0839L30.3891 16.7593ZM20.202 9.70535C20.1551 9.81209 20.0817 9.88193 20.192 10.2291L20.1988 10.249L20.2162 10.2938L20.2623 10.3978C20.4611 10.8041 20.6793 11.1874 21.044 11.383C21.1384 11.3672 21.236 11.3564 21.3372 11.3513C21.6797 11.3362 21.8959 11.3906 22.0332 11.4644C22.0455 11.3961 22.0483 11.2961 22.0407 11.1489C22.0142 10.6343 22.1427 9.75892 21.1535 9.29823C20.7801 9.12483 20.2563 9.1784 20.0817 9.39466C20.1135 9.39863 20.142 9.40537 20.1643 9.41291C20.4281 9.50537 20.2492 9.59623 20.202 9.70535ZM22.9744 14.5075C22.8447 14.436 22.2384 14.4642 21.8122 14.515C21.0003 14.6106 20.1238 14.8924 19.9317 15.0423C19.5826 15.3122 19.7413 15.7828 19.9992 15.976C20.7226 16.5165 21.3567 16.8787 22.0261 16.7907C22.4372 16.7367 22.7994 16.0859 23.0562 15.4955C23.2319 15.0888 23.2319 14.6499 22.9744 14.5075ZM15.7867 10.3426C16.0157 10.1252 14.6463 9.83947 13.5837 10.564C12.8 11.0985 12.775 12.2445 13.5254 12.8941C13.6004 12.9583 13.6623 13.004 13.7202 13.0413C13.9392 12.9381 14.1888 12.8337 14.4761 12.7405C14.9614 12.583 15.3649 12.5016 15.6967 12.4584C15.8554 12.281 16.0399 11.9687 15.9939 11.4033C15.9312 10.6363 15.3499 10.7581 15.7867 10.3426Z\"\n fill=\"#632CA6\"\n fillRule=\"evenodd\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_2245_48088\">\n <rect fill=\"white\" height=\"34\" width=\"31.766\" />\n </clipPath>\n </defs>\n </Icon>\n );\n};\n","import { Icon, useColorMode } from \"@chakra-ui/react\";\n\nexport const AWSIcon: typeof Icon = (props) => {\n const { colorMode } = useColorMode();\n\n if (colorMode === \"dark\") {\n return (\n <Icon viewBox=\"0 0 50 30\" {...props}>\n <title>AWS-Logo_White-Color</title>\n <path\n d=\"M14.09,10.85a4.7,4.7,0,0,0,.19,1.48,7.73,7.73,0,0,0,.54,1.19.77.77,0,0,1,.12.38.64.64,0,0,1-.32.49l-1,.7a.83.83,0,0,1-.44.15.69.69,0,0,1-.49-.23,3.8,3.8,0,0,1-.6-.77q-.25-.42-.51-1a6.14,6.14,0,0,1-4.89,2.3,4.54,4.54,0,0,1-3.32-1.19,4.27,4.27,0,0,1-1.22-3.2A4.28,4.28,0,0,1,3.61,7.75,6.06,6.06,0,0,1,7.69,6.46a12.47,12.47,0,0,1,1.76.13q.92.13,1.91.36V5.73a3.65,3.65,0,0,0-.79-2.66A3.81,3.81,0,0,0,7.86,2.3a7.71,7.71,0,0,0-1.79.22,12.78,12.78,0,0,0-1.79.57,4.55,4.55,0,0,1-.58.22l-.26,0q-.35,0-.35-.52V2a1.09,1.09,0,0,1,.12-.58,1.2,1.2,0,0,1,.47-.35A10.88,10.88,0,0,1,5.77.32,10.19,10.19,0,0,1,8.36,0a6,6,0,0,1,4.35,1.35,5.49,5.49,0,0,1,1.38,4.09ZM7.34,13.38a5.36,5.36,0,0,0,1.72-.31A3.63,3.63,0,0,0,10.63,12,2.62,2.62,0,0,0,11.19,11a5.63,5.63,0,0,0,.16-1.44v-.7a14.35,14.35,0,0,0-1.53-.28,12.37,12.37,0,0,0-1.56-.1,3.84,3.84,0,0,0-2.47.67A2.34,2.34,0,0,0,5,11a2.35,2.35,0,0,0,.61,1.76A2.4,2.4,0,0,0,7.34,13.38Zm13.35,1.8a1,1,0,0,1-.64-.16,1.3,1.3,0,0,1-.35-.65L15.81,1.51a3,3,0,0,1-.15-.67.36.36,0,0,1,.41-.41H17.7a1,1,0,0,1,.65.16,1.4,1.4,0,0,1,.33.65l2.79,11,2.59-11A1.17,1.17,0,0,1,24.39.6a1.1,1.1,0,0,1,.67-.16H26.4a1.1,1.1,0,0,1,.67.16,1.17,1.17,0,0,1,.32.65L30,12.39,32.88,1.25A1.39,1.39,0,0,1,33.22.6a1,1,0,0,1,.65-.16h1.54a.36.36,0,0,1,.41.41,1.36,1.36,0,0,1,0,.26,3.64,3.64,0,0,1-.12.41l-4,12.86a1.3,1.3,0,0,1-.35.65,1,1,0,0,1-.64.16H29.25a1,1,0,0,1-.67-.17,1.26,1.26,0,0,1-.32-.67L25.67,3.64,23.11,14.34a1.26,1.26,0,0,1-.32.67,1,1,0,0,1-.67.17Zm21.36.44a11.28,11.28,0,0,1-2.56-.29,7.44,7.44,0,0,1-1.92-.67,1,1,0,0,1-.61-.93v-.84q0-.52.38-.52a.9.9,0,0,1,.31.06l.42.17a8.77,8.77,0,0,0,1.83.58,9.78,9.78,0,0,0,2,.2,4.48,4.48,0,0,0,2.43-.55,1.76,1.76,0,0,0,.86-1.57,1.61,1.61,0,0,0-.45-1.16A4.29,4.29,0,0,0,43,9.22l-2.41-.76A5.15,5.15,0,0,1,38,6.78a3.94,3.94,0,0,1-.83-2.41,3.7,3.7,0,0,1,.45-1.85,4.47,4.47,0,0,1,1.19-1.37A5.27,5.27,0,0,1,40.51.29,7.4,7.4,0,0,1,42.6,0a8.87,8.87,0,0,1,1.12.07q.57.07,1.08.19t.95.26a4.27,4.27,0,0,1,.7.29,1.59,1.59,0,0,1,.49.41.94.94,0,0,1,.15.55v.79q0,.52-.38.52a1.76,1.76,0,0,1-.64-.2,7.74,7.74,0,0,0-3.2-.64,4.37,4.37,0,0,0-2.21.47,1.6,1.6,0,0,0-.79,1.48,1.58,1.58,0,0,0,.49,1.18,4.94,4.94,0,0,0,1.83.92L44.55,7a5.08,5.08,0,0,1,2.57,1.6A3.76,3.76,0,0,1,47.9,11a4.21,4.21,0,0,1-.44,1.93,4.4,4.4,0,0,1-1.21,1.47,5.43,5.43,0,0,1-1.85.93A8.25,8.25,0,0,1,42.05,15.62Z\"\n fill=\"#FFFFFF\"\n />\n <path\n d=\"M45.19,23.81C39.72,27.85,31.78,30,25,30A36.64,36.64,0,0,1,.22,20.57c-.51-.46-.06-1.09.56-.74A49.78,49.78,0,0,0,25.53,26.4,49.23,49.23,0,0,0,44.4,22.53C45.32,22.14,46.1,23.14,45.19,23.81Z\"\n fill=\"#FF9900\"\n fillRule=\"evenodd\"\n />\n <path\n d=\"M47.47,21.21c-.7-.9-4.63-.42-6.39-.21-.53.06-.62-.4-.14-.74,3.13-2.2,8.27-1.57,8.86-.83s-.16,5.89-3.09,8.35c-.45.38-.88.18-.68-.32C46.69,25.8,48.17,22.11,47.47,21.21Z\"\n fill=\"#FF9900\"\n fillRule=\"evenodd\"\n />\n </Icon>\n );\n }\n return (\n <Icon viewBox=\"0 0 50 30\" {...props}>\n <g clipPath=\"url(#aws-logo-clippath)\">\n <path\n d=\"M14.09 10.85C14.0741 11.3503 14.1383 11.8499 14.28 12.33C14.4261 12.7412 14.6068 13.1393 14.82 13.52C14.8927 13.6339 14.9341 13.765 14.94 13.9C14.9295 14.0012 14.895 14.0985 14.8393 14.1837C14.7837 14.2689 14.7085 14.3397 14.62 14.39L13.62 15.09C13.4906 15.1809 13.338 15.2329 13.18 15.24C13.0871 15.2367 12.9957 15.2146 12.9115 15.1751C12.8273 15.1355 12.752 15.0794 12.69 15.01C12.4577 14.7802 12.2561 14.5214 12.09 14.24C11.9234 13.96 11.7534 13.6267 11.58 13.24C10.9944 13.971 10.2492 14.5582 9.40165 14.9569C8.55408 15.3555 7.62654 15.555 6.69002 15.54C6.08523 15.5731 5.47992 15.4849 4.90974 15.2806C4.33956 15.0762 3.81605 14.7598 3.37002 14.35C2.95682 13.9297 2.63512 13.4284 2.42515 12.8777C2.21519 12.3269 2.12151 11.7387 2.15002 11.15C2.12351 10.5102 2.24092 9.87251 2.49361 9.28407C2.74629 8.69564 3.1278 8.1714 3.61002 7.75C4.7679 6.83817 6.2184 6.37956 7.69002 6.46C8.27902 6.46172 8.86716 6.50516 9.45002 6.59C10.0634 6.67667 10.7 6.79667 11.36 6.95V5.73C11.4571 4.77391 11.1733 3.8181 10.57 3.07C9.79824 2.47652 8.82855 2.201 7.86002 2.3C7.2568 2.30306 6.65602 2.3769 6.07002 2.52C5.46018 2.66583 4.86189 2.85635 4.28002 3.09C4.09191 3.17645 3.89813 3.24995 3.70002 3.31H3.44002C3.20668 3.31 3.09002 3.13667 3.09002 2.79V2C3.07572 1.7993 3.11725 1.59856 3.21002 1.42C3.33535 1.26629 3.49683 1.14604 3.68002 1.07C4.34928 0.749381 5.0496 0.498073 5.77002 0.320004C6.61607 0.10277 7.48654 -0.00477814 8.36002 4.30644e-06C9.93109 -0.139235 11.4938 0.345748 12.71 1.35C13.2045 1.90312 13.5817 2.55072 13.8189 3.25369C14.056 3.95665 14.1483 4.7004 14.09 5.44V10.85ZM7.34002 13.38C7.92645 13.3715 8.50751 13.2667 9.06002 13.07C9.66906 12.859 10.211 12.4897 10.63 12C10.8882 11.7121 11.0794 11.3706 11.19 11C11.3051 10.5289 11.3589 10.0449 11.35 9.56001V8.86C10.8455 8.73908 10.3347 8.64561 9.82002 8.58C9.30265 8.51382 8.78161 8.48042 8.26002 8.48C7.38429 8.41433 6.51252 8.6508 5.79002 9.15C5.52906 9.38022 5.32274 9.66575 5.18608 9.98578C5.04941 10.3058 4.98585 10.6523 5.00002 11C4.97638 11.3195 5.01829 11.6404 5.12319 11.943C5.22809 12.2457 5.39376 12.5237 5.61002 12.76C5.84351 12.9719 6.11648 13.1358 6.41332 13.2422C6.71017 13.3485 7.02506 13.3954 7.34002 13.38ZM20.69 15.18C20.4647 15.2006 20.2391 15.1442 20.05 15.02C19.873 14.8417 19.7514 14.6159 19.7 14.37L15.81 1.51C15.7345 1.29315 15.6842 1.06834 15.66 0.840004C15.6515 0.784214 15.6563 0.727213 15.6739 0.673599C15.6915 0.619986 15.7215 0.571262 15.7614 0.53136C15.8013 0.491457 15.85 0.461494 15.9036 0.443888C15.9572 0.426282 16.0142 0.421526 16.07 0.430004H17.7C17.9286 0.407082 18.1582 0.463583 18.35 0.590004C18.5155 0.773729 18.6293 0.997998 18.68 1.24L21.47 12.24L24.06 1.24C24.1 0.997284 24.2155 0.773342 24.39 0.600004C24.5905 0.476315 24.8253 0.420231 25.06 0.440004H26.4C26.6347 0.420231 26.8696 0.476315 27.07 0.600004C27.2428 0.777356 27.3548 1.00494 27.39 1.25L30 12.39L32.88 1.25C32.9331 1.0068 33.0505 0.782318 33.22 0.600004C33.4119 0.473583 33.6414 0.417082 33.87 0.440004H35.41C35.4658 0.431526 35.5228 0.436282 35.5764 0.453888C35.63 0.471494 35.6788 0.501457 35.7187 0.54136C35.7586 0.581262 35.7885 0.629986 35.8061 0.683599C35.8237 0.737213 35.8285 0.794214 35.82 0.850004C35.8283 0.936472 35.8283 1.02354 35.82 1.11C35.7881 1.2489 35.748 1.3858 35.7 1.52L31.7 14.38C31.6486 14.6259 31.527 14.8517 31.35 15.03C31.1609 15.1542 30.9353 15.2106 30.71 15.19H29.25C29.0136 15.2148 28.776 15.1545 28.58 15.02C28.4085 14.8339 28.297 14.6004 28.26 14.35L25.67 3.64L23.11 14.34C23.0731 14.5904 22.9616 14.8239 22.79 15.01C22.594 15.1445 22.3565 15.2048 22.12 15.18H20.69ZM42.05 15.62C41.1884 15.6214 40.3295 15.5241 39.49 15.33C38.8224 15.1956 38.1763 14.9702 37.57 14.66C37.3877 14.5828 37.2324 14.4532 37.1238 14.2876C37.0152 14.1221 36.9582 13.928 36.96 13.73V12.89C36.96 12.5433 37.0867 12.37 37.34 12.37C37.4461 12.3716 37.551 12.3919 37.65 12.43L38.07 12.6C38.657 12.8597 39.2706 13.0542 39.9 13.18C40.558 13.3152 41.2283 13.3822 41.9 13.38C42.7457 13.4301 43.5883 13.2394 44.33 12.83C44.6007 12.6692 44.8233 12.4387 44.9745 12.1625C45.1258 11.8864 45.2002 11.5747 45.19 11.26C45.1957 11.0465 45.1589 10.8339 45.0816 10.6348C45.0043 10.4356 44.8882 10.2538 44.74 10.1C44.2353 9.677 43.6399 9.37589 43 9.22001L40.59 8.46C39.5752 8.17803 38.6712 7.59168 38 6.78C37.464 6.09083 37.172 5.24311 37.17 4.37C37.1561 3.72464 37.3112 3.08686 37.62 2.52C37.9188 1.98678 38.3239 1.5205 38.81 1.15C39.3197 0.76244 39.8958 0.471012 40.51 0.290004C41.1893 0.0940008 41.8931 -0.00365839 42.6 4.30644e-06C42.9745 -0.000325499 43.3485 0.0230546 43.72 0.0700043C44.1 0.116671 44.46 0.180004 44.8 0.260004C45.14 0.340004 45.4567 0.426671 45.75 0.520004C45.9915 0.595737 46.2257 0.692786 46.45 0.810004C46.6394 0.912109 46.8061 1.05159 46.94 1.22C47.0457 1.38339 47.0982 1.57556 47.09 1.77V2.56C47.09 2.90667 46.9634 3.08 46.71 3.08C46.4858 3.05497 46.2686 2.98707 46.07 2.88C45.061 2.44167 43.97 2.22349 42.87 2.24C42.1049 2.20023 41.3427 2.36231 40.66 2.71C40.4043 2.8594 40.195 3.07685 40.0555 3.33816C39.916 3.59947 39.8518 3.89436 39.87 4.19C39.865 4.40997 39.906 4.62855 39.9904 4.83174C40.0748 5.03494 40.2007 5.21828 40.36 5.37C40.899 5.80115 41.5224 6.11455 42.19 6.29L44.55 7C45.5494 7.25975 46.4459 7.81787 47.12 8.60001C47.6487 9.28626 47.9243 10.134 47.9 11C47.9088 11.6692 47.758 12.3308 47.46 12.93C47.1688 13.5024 46.7558 14.0042 46.25 14.4C45.6987 14.8258 45.0706 15.1415 44.4 15.33C43.6347 15.5392 42.8432 15.6368 42.05 15.62Z\"\n fill=\"#252F3E\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M45.19 23.81C39.72 27.85 31.78 30 25 30C15.8524 30.0602 7.01321 26.6965 0.219997 20.57C-0.290003 20.11 0.159997 19.48 0.779997 19.83C8.31593 24.1408 16.8482 26.4057 25.53 26.4C32.0135 26.3652 38.4262 25.05 44.4 22.53C45.32 22.14 46.1 23.14 45.19 23.81Z\"\n fill=\"#FF9900\"\n fillRule=\"evenodd\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M47.47 21.21C46.77 20.31 42.84 20.79 41.08 21C40.55 21.06 40.46 20.6 40.94 20.26C44.07 18.06 49.21 18.69 49.8 19.43C50.39 20.17 49.64 25.32 46.71 27.78C46.26 28.16 45.83 27.96 46.03 27.46C46.69 25.8 48.17 22.11 47.47 21.21Z\"\n fill=\"#FF9900\"\n fillRule=\"evenodd\"\n />\n <path\n d=\"M14.09 10.85C14.0741 11.3503 14.1383 11.8499 14.28 12.33C14.4261 12.7412 14.6068 13.1393 14.82 13.52C14.8927 13.6339 14.9341 13.765 14.94 13.9C14.9295 14.0012 14.895 14.0985 14.8393 14.1837C14.7837 14.2689 14.7085 14.3397 14.62 14.39L13.62 15.09C13.4906 15.1809 13.338 15.2329 13.18 15.24C13.0871 15.2367 12.9957 15.2146 12.9115 15.1751C12.8273 15.1355 12.752 15.0794 12.69 15.01C12.4577 14.7802 12.2561 14.5214 12.09 14.24C11.9234 13.96 11.7534 13.6267 11.58 13.24C10.9944 13.971 10.2492 14.5582 9.40165 14.9569C8.55408 15.3555 7.62654 15.555 6.69002 15.54C6.08523 15.5731 5.47992 15.4849 4.90974 15.2806C4.33956 15.0762 3.81605 14.7598 3.37002 14.35C2.95682 13.9297 2.63512 13.4284 2.42515 12.8777C2.21519 12.3269 2.12151 11.7387 2.15002 11.15C2.12351 10.5102 2.24092 9.87251 2.49361 9.28407C2.74629 8.69564 3.1278 8.1714 3.61002 7.75C4.7679 6.83817 6.2184 6.37956 7.69002 6.46C8.27902 6.46172 8.86716 6.50516 9.45002 6.59C10.0634 6.67667 10.7 6.79667 11.36 6.95V5.73C11.4571 4.77391 11.1733 3.8181 10.57 3.07C9.79824 2.47652 8.82855 2.201 7.86002 2.3C7.2568 2.30306 6.65602 2.3769 6.07002 2.52C5.46018 2.66583 4.86189 2.85635 4.28002 3.09C4.09191 3.17645 3.89813 3.24995 3.70002 3.31H3.44002C3.20668 3.31 3.09002 3.13667 3.09002 2.79V2C3.07572 1.7993 3.11725 1.59856 3.21002 1.42C3.33535 1.26629 3.49683 1.14604 3.68002 1.07C4.34928 0.749381 5.0496 0.498073 5.77002 0.320004C6.61607 0.10277 7.48654 -0.00477814 8.36002 4.30644e-06C9.93109 -0.139235 11.4938 0.345748 12.71 1.35C13.2045 1.90312 13.5817 2.55072 13.8189 3.25369C14.056 3.95665 14.1483 4.7004 14.09 5.44V10.85ZM7.34002 13.38C7.92645 13.3715 8.50751 13.2667 9.06002 13.07C9.66906 12.859 10.211 12.4897 10.63 12C10.8882 11.7121 11.0794 11.3706 11.19 11C11.3051 10.5289 11.3589 10.0449 11.35 9.56001V8.86C10.8455 8.73908 10.3347 8.64561 9.82002 8.58C9.30265 8.51382 8.78161 8.48042 8.26002 8.48C7.38429 8.41433 6.51252 8.6508 5.79002 9.15C5.52906 9.38022 5.32274 9.66575 5.18608 9.98578C5.04941 10.3058 4.98585 10.6523 5.00002 11C4.97638 11.3195 5.01829 11.6404 5.12319 11.943C5.22809 12.2457 5.39376 12.5237 5.61002 12.76C5.84351 12.9719 6.11648 13.1358 6.41332 13.2422C6.71017 13.3485 7.02506 13.3954 7.34002 13.38ZM20.69 15.18C20.4647 15.2006 20.2391 15.1442 20.05 15.02C19.873 14.8417 19.7514 14.6159 19.7 14.37L15.81 1.51C15.7345 1.29315 15.6842 1.06834 15.66 0.840004C15.6515 0.784214 15.6563 0.727213 15.6739 0.673599C15.6915 0.619986 15.7215 0.571262 15.7614 0.53136C15.8013 0.491457 15.85 0.461494 15.9036 0.443888C15.9572 0.426282 16.0142 0.421526 16.07 0.430004H17.7C17.9286 0.407082 18.1582 0.463583 18.35 0.590004C18.5155 0.773729 18.6293 0.997998 18.68 1.24L21.47 12.24L24.06 1.24C24.1 0.997284 24.2155 0.773342 24.39 0.600004C24.5905 0.476315 24.8253 0.420231 25.06 0.440004H26.4C26.6347 0.420231 26.8696 0.476315 27.07 0.600004C27.2428 0.777356 27.3548 1.00494 27.39 1.25L30 12.39L32.88 1.25C32.9331 1.0068 33.0505 0.782318 33.22 0.600004C33.4119 0.473583 33.6414 0.417082 33.87 0.440004H35.41C35.4658 0.431526 35.5228 0.436282 35.5764 0.453888C35.63 0.471494 35.6788 0.501457 35.7187 0.54136C35.7586 0.581262 35.7885 0.629986 35.8061 0.683599C35.8237 0.737213 35.8285 0.794214 35.82 0.850004C35.8283 0.936472 35.8283 1.02354 35.82 1.11C35.7881 1.2489 35.748 1.3858 35.7 1.52L31.7 14.38C31.6486 14.6259 31.527 14.8517 31.35 15.03C31.1609 15.1542 30.9353 15.2106 30.71 15.19H29.25C29.0136 15.2148 28.776 15.1545 28.58 15.02C28.4085 14.8339 28.297 14.6004 28.26 14.35L25.67 3.64L23.11 14.34C23.0731 14.5904 22.9616 14.8239 22.79 15.01C22.594 15.1445 22.3565 15.2048 22.12 15.18H20.69ZM42.05 15.62C41.1884 15.6214 40.3295 15.5241 39.49 15.33C38.8224 15.1956 38.1763 14.9702 37.57 14.66C37.3877 14.5828 37.2324 14.4532 37.1238 14.2876C37.0152 14.1221 36.9582 13.928 36.96 13.73V12.89C36.96 12.5433 37.0867 12.37 37.34 12.37C37.4461 12.3716 37.551 12.3919 37.65 12.43L38.07 12.6C38.657 12.8597 39.2706 13.0542 39.9 13.18C40.558 13.3152 41.2283 13.3822 41.9 13.38C42.7457 13.4301 43.5883 13.2394 44.33 12.83C44.6007 12.6692 44.8233 12.4387 44.9745 12.1625C45.1258 11.8864 45.2002 11.5747 45.19 11.26C45.1957 11.0465 45.1589 10.8339 45.0816 10.6348C45.0043 10.4356 44.8882 10.2538 44.74 10.1C44.2353 9.677 43.6399 9.37589 43 9.22001L40.59 8.46C39.5752 8.17803 38.6712 7.59168 38 6.78C37.464 6.09083 37.172 5.24311 37.17 4.37C37.1561 3.72464 37.3112 3.08686 37.62 2.52C37.9188 1.98678 38.3239 1.5205 38.81 1.15C39.3197 0.76244 39.8958 0.471012 40.51 0.290004C41.1893 0.0940008 41.8931 -0.00365839 42.6 4.30644e-06C42.9745 -0.000325499 43.3485 0.0230546 43.72 0.0700043C44.1 0.116671 44.46 0.180004 44.8 0.260004C45.14 0.340004 45.4567 0.426671 45.75 0.520004C45.9915 0.595737 46.2257 0.692786 46.45 0.810004C46.6394 0.912109 46.8061 1.05159 46.94 1.22C47.0457 1.38339 47.0982 1.57556 47.09 1.77V2.56C47.09 2.90667 46.9634 3.08 46.71 3.08C46.4858 3.05497 46.2686 2.98707 46.07 2.88C45.061 2.44167 43.97 2.22349 42.87 2.24C42.1049 2.20023 41.3427 2.36231 40.66 2.71C40.4043 2.8594 40.195 3.07685 40.0555 3.33816C39.916 3.59947 39.8518 3.89436 39.87 4.19C39.865 4.40997 39.906 4.62855 39.9904 4.83174C40.0748 5.03494 40.2007 5.21828 40.36 5.37C40.899 5.80115 41.5224 6.11455 42.19 6.29L44.55 7C45.5494 7.25975 46.4459 7.81787 47.12 8.60001C47.6487 9.28626 47.9243 10.134 47.9 11C47.9088 11.6692 47.758 12.3308 47.46 12.93C47.1688 13.5024 46.7558 14.0042 46.25 14.4C45.6987 14.8258 45.0706 15.1415 44.4 15.33C43.6347 15.5392 42.8432 15.6368 42.05 15.62Z\"\n fill=\"#252F3E\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M45.19 23.81C39.72 27.85 31.78 30 25 30C15.8524 30.0602 7.01321 26.6965 0.219997 20.57C-0.290003 20.11 0.159997 19.48 0.779997 19.83C8.31593 24.1408 16.8482 26.4057 25.53 26.4C32.0135 26.3652 38.4262 25.05 44.4 22.53C45.32 22.14 46.1 23.14 45.19 23.81Z\"\n fill=\"#FF9900\"\n fillRule=\"evenodd\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M47.47 21.21C46.77 20.31 42.84 20.79 41.08 21C40.55 21.06 40.46 20.6 40.94 20.26C44.07 18.06 49.21 18.69 49.8 19.43C50.39 20.17 49.64 25.32 46.71 27.78C46.26 28.16 45.83 27.96 46.03 27.46C46.69 25.8 48.17 22.11 47.47 21.21Z\"\n fill=\"#FF9900\"\n fillRule=\"evenodd\"\n />\n </g>\n <defs>\n <clipPath id=\"aws-logo-clippath\">\n <rect fill=\"white\" height=\"30\" width=\"50\" />\n </clipPath>\n </defs>\n </Icon>\n );\n};\n","import { Icon } from \"@chakra-ui/react\";\n\nexport const MongoDBIcon: typeof Icon = (props) => (\n <Icon viewBox=\"0 0 18 37\" {...props}>\n <path\n d=\"M9.09725 0.469971L10.1001 2.35348C10.3255 2.70106 10.5698 3.00871 10.8575 3.29523C11.7009 4.12816 12.4871 5.01714 13.2107 5.95609C14.9099 8.18718 16.056 10.6649 16.8744 13.3445C17.3653 14.9814 17.6318 16.6606 17.6518 18.3586C17.734 23.4349 15.9937 27.7937 12.485 31.4163C11.9143 31.9908 11.2977 32.5178 10.6414 32.9921C10.2938 32.9921 10.1294 32.7256 9.98617 32.4802C9.72529 32.0251 9.55165 31.5253 9.4742 31.0065C9.3509 30.3923 9.26987 29.7782 9.3098 29.1441V28.8576C9.28161 28.7965 8.97513 0.614404 9.09725 0.469971Z\"\n fill=\"#599636\"\n />\n <path\n d=\"M9.09723 0.407647C9.05614 0.325449 9.01504 0.387684 8.97394 0.427609C8.9939 0.838599 8.85064 1.20497 8.62636 1.5549C8.37977 1.90248 8.05333 2.16903 7.72571 2.45555C5.90562 4.0314 4.47304 5.93487 3.3258 8.0638C1.79927 10.929 1.01253 13.9997 0.789419 17.2324C0.687259 18.3984 1.15813 22.513 1.52567 23.7002C2.52848 26.8519 4.32978 29.4928 6.66301 31.785C7.23605 32.3369 7.84901 32.8488 8.4831 33.3409C8.66746 33.3409 8.68742 33.1765 8.72969 33.0543C8.81052 32.793 8.87214 32.5261 8.91405 32.2558L9.32504 29.1863L9.09723 0.407647Z\"\n fill=\"#6CAC48\"\n />\n <path\n d=\"M10.1001 34.2391C10.1412 33.7694 10.3666 33.3796 10.6121 32.9909C10.3655 32.8888 10.1823 32.6856 10.039 32.459C9.91549 32.2444 9.81324 32.0183 9.73372 31.7838C9.44719 30.9243 9.38613 30.0224 9.30394 29.1441V28.6122C9.20177 28.6944 9.18064 29.3895 9.18064 29.4929C9.12088 30.4212 8.99769 31.3443 8.81192 32.2559C8.75086 32.6246 8.70976 32.9921 8.48312 33.3197C8.48312 33.3608 8.48312 33.4019 8.50309 33.463C8.87181 34.548 8.97279 35.6529 9.03503 36.779V37.19C9.03503 37.6808 9.01507 37.5775 9.42254 37.7419C9.58693 37.803 9.77012 37.8241 9.93452 37.9462C10.0578 37.9462 10.0778 37.8441 10.0778 37.7619L10.0167 37.0867V35.2032C9.99675 34.8744 10.0578 34.548 10.0989 34.2403L10.1001 34.2391Z\"\n fill=\"#C2BFBF\"\n />\n </Icon>\n);\n","import { Flex } from \"@chakra-ui/react\";\nimport { FunctionComponent } from \"react\";\nimport { Page } from \"../../components/Page\";\nimport { useCatalog } from \"../../hooks/useCatalog\";\nimport { Categories } from \"./Categories\";\nimport { CDKTypeTabs } from \"./CDKTypeTabs\";\nimport { Featured } from \"./Featured\";\nimport { GradientContainer } from \"./GradientContainer\";\nimport { Hero } from \"./Hero\";\nimport { Info } from \"./Info\";\nimport testIds from \"./testIds\";\n\nexport const Home: FunctionComponent = () => {\n const { data: catalog } = useCatalog();\n const hasPackages = (catalog?.packages.length ?? 0) > 0;\n\n return (\n <Page\n meta={{\n title: \"Construct Hub\",\n description:\n \"Construct Hub helps developers find open-source construct libraries for use with AWS CDK, CDK8s, CDKTF and other construct-based tools.\",\n suffix: false,\n }}\n pageName=\"home\"\n >\n <GradientContainer\n as={Flex}\n data-testid={testIds.page}\n direction=\"column\"\n >\n <Hero />\n\n <Info />\n\n {hasPackages ? (\n <>\n <Categories />\n <CDKTypeTabs />\n <Featured />\n </>\n ) : null}\n </GradientContainer>\n </Page>\n );\n};\n"],"names":["createTestIds","DEFAULT_CATEGORIES","title","url","getSearchPath","keywords","Categories","categories","useConfigValue","testIds","categoriesContainer","direction","my","px","SECTION_PADDING","py","zIndex","as","color","categoriesHeader","fontSize","fontWeight","lineHeight","mb","categoriesDescription","map","category","NavLink","HOME_ANALYTICS","to","Box","boxShadow","colorScheme","size","PackageGrid","dataEvent","packages","packageGrid","gap","mt","templateColumns","base","xl","pkg","PackageCard","name","version","tabs","community","label","tag","aws","hashicorp","PackageTab","data","eventName","cdkTypeTab","isDisabled","page","length","PackageTabPanel","forwardRef","ref","props","cdkTypeGrid","p","justify","w","cdkTypeSeeAllButton","onClick","window","scrollTo","tags","undefined","sort","CatalogSearchSort","CDKTypeTabs","useCatalogResults","limit","key","initialValue","history","useHistory","useState","value","location","state","rawState","rawSetState","replace","useHistoryState","tabIndex","setTabIndex","bg","cdkTypeSection","cdkTypeSectionHeading","cdkTypeSectionDescription","ROUTES","defaultIndex","onChange","index","variant","minH","toLowerCase","Featured","homePackages","DEFAULT_FEATURED_PACKAGES","sections","featured","showLastUpdated","section","showPackages","useCatalog","isLoading","error","results","searchInstance","useSearchContext","useMemo","slice","findByName","dedup","comment","filter","useSection","featuredContainer","featuredHeader","featuredGrid","mx","animation","keyframes","GradientContainer","bgGradient","bgSize","Hero","align","h","textAlign","heroHeader","heroSubtitle","maxW","SearchBar","hasButton","InfoSection","description","children","infoSection","infoSectionHeading","infoSectionDescription","publishers","Icon","useColorMode","colorMode","viewBox","x","y","d","fill","points","clipPath","clipRule","fillRule","id","height","width","query","imgsrc","IconLink","imgFilter","useColorModeValue","infoSectionIcon","spacing","src","ResponsiveDivider","display","orientation","Row","pt","sx","Info","infoContainer","templateRows","Object","entries","CDKTYPE_RENDER_MAP","cdktype","cdkType","LANGUAGE_RENDER_MAP","language","TEMP_SUPPORTED_LANGUAGES","icon","languages","Home","catalog","hasPackages","Page","meta","suffix","pageName","Flex"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunkconstruct_hub_webapp=self.webpackChunkconstruct_hub_webapp||[]).push([[679],{51773:function(e,t,n){n.d(t,{Z0:function(){return o},S1:function(){return i},u9:function(){return c},eI:function(){return l},vy:function(){return d},Dq:function(){return f}});var r=n(28735),s=n(80184),o=function(e){var t=e.children;return(0,s.jsxs)(r.xu,{bg:"bgSecondary",color:"textPrimary",h:"100%",w:"100%",children:[t,(0,s.jsx)(r.xu,{py:5,width:"100%"})]})},i=function(e){var t=e.children;return(0,s.jsx)(r.xu,{bg:"bgPrimary",py:20,width:"100%",children:(0,s.jsx)(r.X6,{as:"h1",color:"textPrimary",mx:"auto",textAlign:"center",children:t})})},a=n(35790),c=function(e){var t=e.question,n=e.children;return(0,s.jsxs)(a.Qd,{children:[(0,s.jsxs)(a.KF,{children:[(0,s.jsx)(r.xu,{flex:"1",py:2,textAlign:"left",children:(0,s.jsx)(r.X6,{as:"h3",ml:8,size:"sm",children:t})}),(0,s.jsx)(a.XE,{})]}),(0,s.jsx)(a.Hk,{px:12,py:4,children:(0,s.jsx)(r.xv,{color:"textPrimary",fontSize:"md",sx:{p:{marginTop:"0",marginBottom:"4"}},children:n})})]})},u=n(6074),l=function(e){var t=e.href,n=e.children;return(0,s.jsx)(u.d,{color:"inherit",hasWarning:!1,href:t,textDecoration:"underline",children:n})},d=function(e){var t=e.heading,n=e.children;return(0,s.jsxs)(a.Qd,{children:[(0,s.jsxs)(a.KF,{children:[(0,s.jsx)(r.xu,{flex:"1",textAlign:"left",children:(0,s.jsx)(r.X6,{as:"h2",ml:4,my:4,size:"lg",children:t})}),(0,s.jsx)(a.XE,{})]}),(0,s.jsx)(a.Hk,{p:0,children:(0,s.jsx)(a.UQ,{allowMultiple:!0,w:"100%",children:n})})]})},h=n(1413),p=n(45987),m=["children"],f=function(e){var t=e.children,n=(0,p.Z)(e,m);return(0,s.jsx)(a.UQ,(0,h.Z)((0,h.Z)({allowMultiple:!0},n),{},{children:t}))}},41712:function(e,t,n){n.d(t,{T:function(){return u}});var r=n(72791),s=n(54270),o={contribute:{event:{name:"Contribute Load"}},home:{event:{name:"Home Load"}},faq:{event:{name:"Frequently Asked Questions Load"}},packageProfile:{event:{name:"Package Profile Load"}},search:{event:{name:"Search Load"}},siteTerms:{event:{name:"Site Terms Load"}},notFound:{page:{pageType:"errorPage"},event:{name:"404 Page Load"}}},i=n(59534),a=n(56804),c=n(80184),u=(["default-src 'self' 'unsafe-inline' http://*.awsstatic.com;","connect-src 'self' https://*.shortbread.aws.dev http://*.shortbread.aws.dev http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;","frame-src http://aws.demdex.net http://dpm.demdex.net;","img-src 'self' https://* http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;","object-src 'none';","style-src 'self' 'unsafe-inline';"].join(" "),function(e){var t=e.children,n=e.meta,u=e.pageName,l=(0,i.aQ)(o[u]);(0,r.useEffect)((function(){l()}),[l]);var d=(0,a.E)("feeds")||[],h=n.suffix,p=void 0===h||h,m=n.title,f=n.description,x=p?"".concat(m," - Construct Hub"):m;return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(s.q,{children:[!1,(0,c.jsx)("meta",{content:"width=device-width, initial-scale=1",name:"viewport"}),(0,c.jsx)("meta",{charSet:"utf-8"}),d.map((function(e){var t=e.url,n=e.mimeType;return(0,c.jsx)("link",{href:t,rel:"alternate",type:n},t)})),(0,c.jsx)("title",{children:x}),(0,c.jsx)("meta",{content:x,property:"og:title"}),(0,c.jsx)("meta",{content:x,name:"twitter:title"}),(0,c.jsx)("meta",{content:"summary",name:"twitter:card"}),(0,c.jsx)("meta",{content:f,name:"description"}),(0,c.jsx)("meta",{content:f,property:"og:description"}),(0,c.jsx)("meta",{content:f,name:"twitter:description"})]}),t]})})},56804:function(e,t,n){n.d(t,{E:function(){return s}});var r=n(24026),s=function(e){var t=(0,r.Z)().data;return(null!==t&&void 0!==t?t:{})[e]}},679:function(e,t,n){n.r(t),n.d(t,{default:function(){return c}});var r=n(28735),s=n(51773),o=n(41712),i=n(76798),a=n(80184),c=function(){return(0,a.jsx)(o.T,{meta:{title:"FAQ",description:"Frequently Asked Questions"},pageName:"faq",children:(0,a.jsxs)(s.Z0,{children:[(0,a.jsx)(s.S1,{children:"Frequently Asked Questions"}),(0,a.jsxs)(s.Dq,{defaultIndex:[0,1],children:[(0,a.jsxs)(s.vy,{heading:"General",children:[(0,a.jsxs)(s.u9,{question:"How can I contribute to Construct Hub?",children:["You are encouraged to contribute to the construct ecosystem by publishing CDK libraries, contributing code to Construct Hub and providing us and libraries\u2019 publishers feedback. For more information, go to"," ",(0,a.jsx)(s.eI,{href:"https://constructs.dev/contribute",children:"https://constructs.dev/contribute"}),"."]}),(0,a.jsx)(s.u9,{question:"What is Construct Hub?",children:(0,a.jsx)("p",{children:"Construct Hub is a place to discover CDK constructs \u2014 a central destination for discovering and sharing cloud application design patterns and reference architectures defined for the AWS CDK, CDK for Kubernetes (CDK8s), CDK for Terraform (CDKtf) and other construct-based tools."})}),(0,a.jsx)(s.u9,{question:"Why should I use Construct Hub?",children:(0,a.jsx)(r.xv,{children:"Construct Hub is a central venue where CDK developers can discover construct libraries to help them build their applications. You can find construct libraries in TypeScript, Python, Java and .NET (Go is coming soon!), browse their developer guides and API references, and explore code samples in all the programming language that the package supports."})}),(0,a.jsx)(s.u9,{question:"What is a construct?",children:(0,a.jsxs)(r.xv,{children:["The Constructs Programming Model (CPM) introduces the notion of"," ",(0,a.jsx)("strong",{children:"constructs"}),", which represent building blocks that can be used to assemble complete cloud applications of any complexity. AWS, enterprises, startups, and individual developers use CDK constructs to share proven architecture patterns as reusable code libraries, so that everyone can benefit from the collective wisdom of the community."]})}),(0,a.jsxs)(s.u9,{question:"What are the prerequisites for using a construct library?",children:[(0,a.jsxs)(r.xv,{children:["To use a construct library in your code, you need to have your preferred programming language installed. In order to synthesize, diff, and deploy collections of resources you will need to install the CDK Toolkit command-line tool. For AWS CDK install the"," ",(0,a.jsx)(s.eI,{href:"https://docs.aws.amazon.com/cdk/latest/guide/cli.html",children:"AWS CDK Toolkit command-line tool,"})," ","for CDK8s install the"," ",(0,a.jsx)(s.eI,{href:"https://cdk8s.io/docs/latest/getting-started/",children:"CDK8s command-line tool"})," ","and for CDKtf install the"," ",(0,a.jsx)(s.eI,{href:"https://learn.hashicorp.com/tutorials/terraform/cdktf-install",children:"CDKtf command-line tool."})]}),(0,a.jsx)(r.xv,{children:"The CDK8s CLI doesn\u2019t require having any registered account nor having a running Kubernetes cluster as it only updates Kubernetes manifests."}),(0,a.jsx)(r.xv,{children:"The CDKtf CLI requires having Terraform, Node, Yarn and Docker installed."}),(0,a.jsx)(r.xv,{children:"Some construct libraries\u2019 documentation may include additional prerequisites which are unique to their implementation."})]}),(0,a.jsx)(s.u9,{question:"Who owns the constructs in Construct Hub?",children:(0,a.jsx)(r.xv,{children:"Constructs are user-generated content owned by the publishers of the individual packages. Each is governed by its own license terms chosen by its publisher (although only packages that were published to the npm registry under Apache, BSD, EPL, MPL-2.0, ISC and CDDL or MIT open source licenses are included in Construct Hub). License information can be accessed directly through the hyperlinked package page."})}),(0,a.jsx)(s.u9,{question:"Is the content served in Construct Hub meant to be consumed programmatically?",children:(0,a.jsxs)(r.xv,{children:["No. The content displayed in the site is user-generated, with some display formatting. We do not advise that you consume constructs from the search results programmatically. Construct Hub is a search engine or portal intended to surface third-party content from a public endpoint. We provide these results for your convenience AS-IS in accordance with our"," ",(0,a.jsx)(s.eI,{href:"https://constructs.dev/terms",children:"Construct Hub Site Terms"}),"."]})}),(0,a.jsx)(s.u9,{question:"Which CDK types are available on the Construct Hub?",children:(0,a.jsx)(r.xv,{children:"Construct Hub currently has constructs for the CDK for CloudFormation (AWS CDK), CDK for Kubernetes (CDK8s) and CDK for Terraform (CDKtf). We are open to adding other construct-based tools as they evolve."})}),(0,a.jsx)(s.u9,{question:"What is CDK for CloudFormation (AWS CDK)?",children:(0,a.jsxs)(r.xv,{children:["CDK for CloudFormation (AWS CDK) is an open-source software development framework for defining applications on AWS and reusable abstractions using familiar programming languages and rich object-oriented APIs. AWS CDK apps synthesize into standard AWS CloudFormation templates, which can be deployed to create infrastructure on AWS. See"," ",(0,a.jsx)(s.eI,{href:"https://aws.amazon.com/cdk/",children:"AWS Cloud Development Kit"})," ","for more information."]})}),(0,a.jsx)(s.u9,{question:"What is CDK for Kubernetes (CDK8s)?",children:(0,a.jsxs)(r.xv,{children:["CDK for Kubernetes (CDK8s, pronounced \u201ccd kates\u201d) is an open-source software development framework for defining Kubernetes applications and reusable abstractions using familiar programming languages and rich object-oriented APIs. CDK8s apps synthesize into standard Kubernetes manifests that can be applied to any Kubernetes cluster. See"," ",(0,a.jsx)(s.eI,{href:"https://cdk8s.io/",children:"CDK for Kubernetes"})," for more information."]})}),(0,a.jsx)(s.u9,{question:"What is CDK for Terraform (CDKtf)?",children:(0,a.jsxs)(r.xv,{children:["The community preview of the Cloud Development Kit for Terraform (CDKtf) allows you to define infrastructure using a familiar programming language such as TypeScript, Python, or Go, while leveraging the hundreds of providers and thousands of module definitions provided by Terraform and the Terraform ecosystem. See"," ",(0,a.jsx)(s.eI,{href:"https://learn.hashicorp.com/tutorials/terraform/cdktf",children:"CDK for Terraform"})," ","for more information."]})}),(0,a.jsx)(s.u9,{question:"What programming languages are supported?",children:(0,a.jsx)(r.xv,{children:"The Construct Hub GA supports constructs available for Python, TypeScript, Java and .NET. Support for Go will be included soon."})}),(0,a.jsx)(s.u9,{question:"Will Go be supported?",children:(0,a.jsx)(r.xv,{children:"Yes! We can\u2019t promise exactly when, but it should be soon."})}),(0,a.jsx)(s.u9,{question:"Can I view the source code of a construct?",children:(0,a.jsx)(r.xv,{children:"Source code is usually available via the repository link provided by the construct\u2019s publisher; this link appears on Construct Hub. We have noticed that the code in the linked repository can sometimes be newer or older than the code in the published package, so exercise care."})}),(0,a.jsx)(s.u9,{question:"How can I install a package?",children:(0,a.jsx)(r.xv,{children:"The details vary by construct. Click \u201cInstall\u201d in the package page to see the construct\u2019s installation instructions."})}),(0,a.jsx)(s.u9,{question:"How can I report abuse?",children:(0,a.jsx)(r.xv,{children:'Your trust is vital to the success of Construct Hub. If you believe a package contains suspicious code, violates its dependencies\u2019 licenses, or is otherwise not behaving as a good citizen of the community, click "Report abuse" at the bottom of the package page and send us an email with explanations and evidence to support your claims. If we can verify the issue, we will take appropriate action, up to and including removing the package from Construct Hub.'})}),(0,a.jsx)(s.u9,{question:"How can I report a bug or contribute code to a construct?",children:(0,a.jsx)(r.xv,{children:'Each package is owned by its publisher, so contributions, such as bug reports and pull requests, should be made via the repository link provided by the publisher. You may press the "Provide feedback" link at the package page to open a new issue in the package\u2019s repository.'})}),(0,a.jsx)(s.u9,{question:"Why isn\u2019t my package displayed on Construct Hub?",children:(0,a.jsxs)(r.xv,{children:["Construct Hub includes publicly-available constructs that are JSII-compatible and that were published to the npm Registry under Apache, BSD, EPL, MPL-2.0, ISC and CDDL or MIT open source licenses and with a CDK keyword: aws-cdk, cdk8s, or cdktf. If you believe your package qualifies, but it still does not appear in Construct Hub, please raise an issue"," ",(0,a.jsx)(s.eI,{href:"".concat(i.Sx,"/issues/new"),children:"here"}),"."]})}),(0,a.jsx)(s.u9,{question:"Can I update my package after it has been displayed?",children:(0,a.jsx)(r.xv,{children:"Yes, you can and should! After you publish a new valid version to the public npm Registry, it should appear on Construct Hub in about 30 minutes."})}),(0,a.jsx)(s.u9,{question:"How does Construct Hub relates to the Construct Catalog?",children:(0,a.jsxs)(r.xv,{children:["The Construct Catalog was built by the CDK community in collaboration with the AWS CDK team. Construct Hub is the official version of the Construct Catalog with ongoing support by the AWS CDK team and essentially replaces the Construct Catalog."," ",(0,a.jsx)(s.eI,{href:"https://awscdk.io/",children:"https://awscdk.io"})," now redirects to Construct Hub."]})}),(0,a.jsx)(s.u9,{question:"Is there a cost for using third-party constructs from Construct Hub?",children:(0,a.jsx)(r.xv,{children:"All packages on Construct Hub are published under Apache, BSD, EPL, MPL-2.0, ISC and CDDL or MIT open source licenses and can be freely used in your applications. For details, review the package\u2019s license via its repository link."})}),(0,a.jsx)(s.u9,{question:"How can I participate in the Construct Hub community?",children:(0,a.jsxs)(r.xv,{children:["Construct Hub is itself an open-source construct! Join the"," ",(0,a.jsx)(s.eI,{href:i.Sx,children:"Construct Hub GitHub community"}),". You are also welcome to join the ",(0,a.jsx)("code",{children:"#construct-hub-dev"})," ","channel in the"," ",(0,a.jsx)(s.eI,{href:"https://cdk.dev/",children:"CDK community"})," Slack workspace."]})}),(0,a.jsx)(s.u9,{question:"Is there a community slack channel for the CDK community?",children:(0,a.jsxs)(r.xv,{children:["Please join the CDK Slack channel (",(0,a.jsx)(s.eI,{href:"https://cdk.dev/",children:"https://cdk.dev/"}),"). This Slack channel is managed by the CDK community for the CDK community."]})})]}),(0,a.jsxs)(s.vy,{heading:"Getting Started",children:[(0,a.jsx)(s.u9,{question:"Do I need a user account for Construct Hub?",children:(0,a.jsx)(r.xv,{children:"No. Construct Hub doesn\u2019t require any signup."})}),(0,a.jsx)(s.u9,{question:"How do I get started?",children:(0,a.jsx)(r.xv,{children:"Start by exploring featured, community and official libraries for the CDK of your interest. Run a free-text search to find libraries for your needs, then filter the results by your preferred programming language, CDK type, CDK major version and/or author type. To learn more about a library, click its card to see helpful information like metadata, README, API reference and code samples in your preferred programing language."})})]})]})]})})}}}]);
2
- //# sourceMappingURL=679.72a0bb1a.chunk.js.map
1
+ "use strict";(self.webpackChunkconstruct_hub_webapp=self.webpackChunkconstruct_hub_webapp||[]).push([[679],{51773:function(e,t,n){n.d(t,{Z0:function(){return o},S1:function(){return i},u9:function(){return c},eI:function(){return l},vy:function(){return d},Dq:function(){return f}});var r=n(28735),s=n(80184),o=function(e){var t=e.children;return(0,s.jsxs)(r.xu,{bg:"bgSecondary",color:"textPrimary",h:"100%",w:"100%",children:[t,(0,s.jsx)(r.xu,{py:5,width:"100%"})]})},i=function(e){var t=e.children;return(0,s.jsx)(r.xu,{bg:"bgPrimary",py:20,width:"100%",children:(0,s.jsx)(r.X6,{as:"h1",color:"textPrimary",mx:"auto",textAlign:"center",children:t})})},a=n(35790),c=function(e){var t=e.question,n=e.children;return(0,s.jsxs)(a.Qd,{children:[(0,s.jsxs)(a.KF,{children:[(0,s.jsx)(r.xu,{flex:"1",py:2,textAlign:"left",children:(0,s.jsx)(r.X6,{as:"h3",ml:8,size:"sm",children:t})}),(0,s.jsx)(a.XE,{})]}),(0,s.jsx)(a.Hk,{px:12,py:4,children:(0,s.jsx)(r.xv,{color:"textPrimary",fontSize:"md",sx:{p:{marginTop:"0",marginBottom:"4"}},children:n})})]})},u=n(6074),l=function(e){var t=e.href,n=e.children;return(0,s.jsx)(u.d,{color:"inherit",hasWarning:!1,href:t,textDecoration:"underline",children:n})},d=function(e){var t=e.heading,n=e.children;return(0,s.jsxs)(a.Qd,{children:[(0,s.jsxs)(a.KF,{children:[(0,s.jsx)(r.xu,{flex:"1",textAlign:"left",children:(0,s.jsx)(r.X6,{as:"h2",ml:4,my:4,size:"lg",children:t})}),(0,s.jsx)(a.XE,{})]}),(0,s.jsx)(a.Hk,{p:0,children:(0,s.jsx)(a.UQ,{allowMultiple:!0,w:"100%",children:n})})]})},h=n(1413),p=n(45987),m=["children"],f=function(e){var t=e.children,n=(0,p.Z)(e,m);return(0,s.jsx)(a.UQ,(0,h.Z)((0,h.Z)({allowMultiple:!0},n),{},{children:t}))}},41712:function(e,t,n){n.d(t,{T:function(){return u}});var r=n(72791),s=n(54270),o={contribute:{event:{name:"Contribute Load"}},home:{event:{name:"Home Load"}},faq:{event:{name:"Frequently Asked Questions Load"}},packageProfile:{event:{name:"Package Profile Load"}},search:{event:{name:"Search Load"}},siteTerms:{event:{name:"Site Terms Load"}},notFound:{page:{pageType:"errorPage"},event:{name:"404 Page Load"}}},i=n(59534),a=n(56804),c=n(80184),u=(["default-src 'self' 'unsafe-inline' http://*.awsstatic.com;","connect-src 'self' https://*.shortbread.aws.dev http://*.shortbread.aws.dev http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;","frame-src http://aws.demdex.net http://dpm.demdex.net;","img-src 'self' https://* http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;","object-src 'none';","style-src 'self' 'unsafe-inline';"].join(" "),function(e){var t=e.children,n=e.meta,u=e.pageName,l=(0,i.aQ)(o[u]);(0,r.useEffect)((function(){l()}),[l]);var d=(0,a.E)("feeds")||[],h=n.suffix,p=void 0===h||h,m=n.title,f=n.description,x=p?"".concat(m," - Construct Hub"):m;return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(s.q,{children:[!1,(0,c.jsx)("meta",{content:"width=device-width, initial-scale=1",name:"viewport"}),(0,c.jsx)("meta",{charSet:"utf-8"}),d.map((function(e){var t=e.url,n=e.mimeType;return(0,c.jsx)("link",{href:t,rel:"alternate",type:n},t)})),(0,c.jsx)("title",{children:x}),(0,c.jsx)("meta",{content:x,property:"og:title"}),(0,c.jsx)("meta",{content:x,name:"twitter:title"}),(0,c.jsx)("meta",{content:"summary",name:"twitter:card"}),(0,c.jsx)("meta",{content:f,name:"description"}),(0,c.jsx)("meta",{content:f,property:"og:description"}),(0,c.jsx)("meta",{content:f,name:"twitter:description"})]}),t]})})},56804:function(e,t,n){n.d(t,{E:function(){return s}});var r=n(24026),s=function(e){var t=(0,r.Z)().data;return(null!==t&&void 0!==t?t:{})[e]}},679:function(e,t,n){n.r(t),n.d(t,{default:function(){return c}});var r=n(28735),s=n(51773),o=n(41712),i=n(76798),a=n(80184),c=function(){return(0,a.jsx)(o.T,{meta:{title:"FAQ",description:"Frequently Asked Questions"},pageName:"faq",children:(0,a.jsxs)(s.Z0,{children:[(0,a.jsx)(s.S1,{children:"Frequently Asked Questions"}),(0,a.jsxs)(s.Dq,{defaultIndex:[0,1],children:[(0,a.jsxs)(s.vy,{heading:"General",children:[(0,a.jsxs)(s.u9,{question:"How can I contribute to Construct Hub?",children:["You are encouraged to contribute to the construct ecosystem by publishing CDK libraries, contributing code to Construct Hub and providing us and libraries\u2019 publishers feedback. For more information, go to"," ",(0,a.jsx)(s.eI,{href:"https://constructs.dev/contribute",children:"https://constructs.dev/contribute"}),"."]}),(0,a.jsx)(s.u9,{question:"What is Construct Hub?",children:(0,a.jsx)("p",{children:"Construct Hub is a place to discover CDK constructs \u2014 a central destination for discovering and sharing cloud application design patterns and reference architectures defined for the AWS CDK, CDK for Kubernetes (CDK8s), CDK for Terraform (CDKTF) and other construct-based tools."})}),(0,a.jsx)(s.u9,{question:"Why should I use Construct Hub?",children:(0,a.jsx)(r.xv,{children:"Construct Hub is a central venue where CDK developers can discover construct libraries to help them build their applications. You can find construct libraries in TypeScript, Python, Java and .NET (Go is coming soon!), browse their developer guides and API references, and explore code samples in all the programming language that the package supports."})}),(0,a.jsx)(s.u9,{question:"What is a construct?",children:(0,a.jsxs)(r.xv,{children:["The Constructs Programming Model (CPM) introduces the notion of"," ",(0,a.jsx)("strong",{children:"constructs"}),", which represent building blocks that can be used to assemble complete cloud applications of any complexity. AWS, enterprises, startups, and individual developers use CDK constructs to share proven architecture patterns as reusable code libraries, so that everyone can benefit from the collective wisdom of the community."]})}),(0,a.jsxs)(s.u9,{question:"What are the prerequisites for using a construct library?",children:[(0,a.jsxs)(r.xv,{children:["To use a construct library in your code, you need to have your preferred programming language installed. In order to synthesize, diff, and deploy collections of resources you will need to install the CDK Toolkit command-line tool. For AWS CDK install the"," ",(0,a.jsx)(s.eI,{href:"https://docs.aws.amazon.com/cdk/latest/guide/cli.html",children:"AWS CDK Toolkit command-line tool,"})," ","for CDK8s install the"," ",(0,a.jsx)(s.eI,{href:"https://cdk8s.io/docs/latest/getting-started/",children:"CDK8s command-line tool"})," ","and for CDKTF install the"," ",(0,a.jsx)(s.eI,{href:"https://learn.hashicorp.com/tutorials/terraform/cdktf-install",children:"CDKTF command-line tool."})]}),(0,a.jsx)(r.xv,{children:"The CDK8s CLI doesn\u2019t require having any registered account nor having a running Kubernetes cluster as it only updates Kubernetes manifests."}),(0,a.jsx)(r.xv,{children:"The CDKTF CLI requires having Terraform, Node, Yarn and Docker installed."}),(0,a.jsx)(r.xv,{children:"Some construct libraries\u2019 documentation may include additional prerequisites which are unique to their implementation."})]}),(0,a.jsx)(s.u9,{question:"Who owns the constructs in Construct Hub?",children:(0,a.jsx)(r.xv,{children:"Constructs are user-generated content owned by the publishers of the individual packages. Each is governed by its own license terms chosen by its publisher (although only packages that were published to the npm registry under Apache, BSD, EPL, MPL-2.0, ISC and CDDL or MIT open source licenses are included in Construct Hub). License information can be accessed directly through the hyperlinked package page."})}),(0,a.jsx)(s.u9,{question:"Is the content served in Construct Hub meant to be consumed programmatically?",children:(0,a.jsxs)(r.xv,{children:["No. The content displayed in the site is user-generated, with some display formatting. We do not advise that you consume constructs from the search results programmatically. Construct Hub is a search engine or portal intended to surface third-party content from a public endpoint. We provide these results for your convenience AS-IS in accordance with our"," ",(0,a.jsx)(s.eI,{href:"https://constructs.dev/terms",children:"Construct Hub Site Terms"}),"."]})}),(0,a.jsx)(s.u9,{question:"Which CDK types are available on the Construct Hub?",children:(0,a.jsx)(r.xv,{children:"Construct Hub currently has constructs for the CDK for CloudFormation (AWS CDK), CDK for Kubernetes (CDK8s) and CDK for Terraform (CDKTF). We are open to adding other construct-based tools as they evolve."})}),(0,a.jsx)(s.u9,{question:"What is CDK for CloudFormation (AWS CDK)?",children:(0,a.jsxs)(r.xv,{children:["CDK for CloudFormation (AWS CDK) is an open-source software development framework for defining applications on AWS and reusable abstractions using familiar programming languages and rich object-oriented APIs. AWS CDK apps synthesize into standard AWS CloudFormation templates, which can be deployed to create infrastructure on AWS. See"," ",(0,a.jsx)(s.eI,{href:"https://aws.amazon.com/cdk/",children:"AWS Cloud Development Kit"})," ","for more information."]})}),(0,a.jsx)(s.u9,{question:"What is CDK for Kubernetes (CDK8s)?",children:(0,a.jsxs)(r.xv,{children:["CDK for Kubernetes (CDK8s, pronounced \u201ccd kates\u201d) is an open-source software development framework for defining Kubernetes applications and reusable abstractions using familiar programming languages and rich object-oriented APIs. CDK8s apps synthesize into standard Kubernetes manifests that can be applied to any Kubernetes cluster. See"," ",(0,a.jsx)(s.eI,{href:"https://cdk8s.io/",children:"CDK for Kubernetes"})," for more information."]})}),(0,a.jsx)(s.u9,{question:"What is CDK for Terraform (CDKTF)?",children:(0,a.jsxs)(r.xv,{children:["The community preview of the Cloud Development Kit for Terraform (CDKTF) allows you to define infrastructure using a familiar programming language such as TypeScript, Python, or Go, while leveraging the hundreds of providers and thousands of module definitions provided by Terraform and the Terraform ecosystem. See"," ",(0,a.jsx)(s.eI,{href:"https://learn.hashicorp.com/tutorials/terraform/cdktf",children:"CDK for Terraform"})," ","for more information."]})}),(0,a.jsx)(s.u9,{question:"What programming languages are supported?",children:(0,a.jsx)(r.xv,{children:"The Construct Hub GA supports constructs available for Python, TypeScript, Java and .NET. Support for Go will be included soon."})}),(0,a.jsx)(s.u9,{question:"Will Go be supported?",children:(0,a.jsx)(r.xv,{children:"Yes! We can\u2019t promise exactly when, but it should be soon."})}),(0,a.jsx)(s.u9,{question:"Can I view the source code of a construct?",children:(0,a.jsx)(r.xv,{children:"Source code is usually available via the repository link provided by the construct\u2019s publisher; this link appears on Construct Hub. We have noticed that the code in the linked repository can sometimes be newer or older than the code in the published package, so exercise care."})}),(0,a.jsx)(s.u9,{question:"How can I install a package?",children:(0,a.jsx)(r.xv,{children:"The details vary by construct. Click \u201cInstall\u201d in the package page to see the construct\u2019s installation instructions."})}),(0,a.jsx)(s.u9,{question:"How can I report abuse?",children:(0,a.jsx)(r.xv,{children:'Your trust is vital to the success of Construct Hub. If you believe a package contains suspicious code, violates its dependencies\u2019 licenses, or is otherwise not behaving as a good citizen of the community, click "Report abuse" at the bottom of the package page and send us an email with explanations and evidence to support your claims. If we can verify the issue, we will take appropriate action, up to and including removing the package from Construct Hub.'})}),(0,a.jsx)(s.u9,{question:"How can I report a bug or contribute code to a construct?",children:(0,a.jsx)(r.xv,{children:'Each package is owned by its publisher, so contributions, such as bug reports and pull requests, should be made via the repository link provided by the publisher. You may press the "Provide feedback" link at the package page to open a new issue in the package\u2019s repository.'})}),(0,a.jsx)(s.u9,{question:"Why isn\u2019t my package displayed on Construct Hub?",children:(0,a.jsxs)(r.xv,{children:["Construct Hub includes publicly-available constructs that are JSII-compatible and that were published to the npm Registry under Apache, BSD, EPL, MPL-2.0, ISC and CDDL or MIT open source licenses and with a CDK keyword: aws-cdk, cdk8s, or cdktf. If you believe your package qualifies, but it still does not appear in Construct Hub, please raise an issue"," ",(0,a.jsx)(s.eI,{href:"".concat(i.Sx,"/issues/new"),children:"here"}),"."]})}),(0,a.jsx)(s.u9,{question:"Can I update my package after it has been displayed?",children:(0,a.jsx)(r.xv,{children:"Yes, you can and should! After you publish a new valid version to the public npm Registry, it should appear on Construct Hub in about 30 minutes."})}),(0,a.jsx)(s.u9,{question:"How does Construct Hub relates to the Construct Catalog?",children:(0,a.jsxs)(r.xv,{children:["The Construct Catalog was built by the CDK community in collaboration with the AWS CDK team. Construct Hub is the official version of the Construct Catalog with ongoing support by the AWS CDK team and essentially replaces the Construct Catalog."," ",(0,a.jsx)(s.eI,{href:"https://awscdk.io/",children:"https://awscdk.io"})," now redirects to Construct Hub."]})}),(0,a.jsx)(s.u9,{question:"Is there a cost for using third-party constructs from Construct Hub?",children:(0,a.jsx)(r.xv,{children:"All packages on Construct Hub are published under Apache, BSD, EPL, MPL-2.0, ISC and CDDL or MIT open source licenses and can be freely used in your applications. For details, review the package\u2019s license via its repository link."})}),(0,a.jsx)(s.u9,{question:"How can I participate in the Construct Hub community?",children:(0,a.jsxs)(r.xv,{children:["Construct Hub is itself an open-source construct! Join the"," ",(0,a.jsx)(s.eI,{href:i.Sx,children:"Construct Hub GitHub community"}),". You are also welcome to join the ",(0,a.jsx)("code",{children:"#construct-hub-dev"})," ","channel in the"," ",(0,a.jsx)(s.eI,{href:"https://cdk.dev/",children:"CDK community"})," Slack workspace."]})}),(0,a.jsx)(s.u9,{question:"Is there a community slack channel for the CDK community?",children:(0,a.jsxs)(r.xv,{children:["Please join the CDK Slack channel (",(0,a.jsx)(s.eI,{href:"https://cdk.dev/",children:"https://cdk.dev/"}),"). This Slack channel is managed by the CDK community for the CDK community."]})})]}),(0,a.jsxs)(s.vy,{heading:"Getting Started",children:[(0,a.jsx)(s.u9,{question:"Do I need a user account for Construct Hub?",children:(0,a.jsx)(r.xv,{children:"No. Construct Hub doesn\u2019t require any signup."})}),(0,a.jsx)(s.u9,{question:"How do I get started?",children:(0,a.jsx)(r.xv,{children:"Start by exploring featured, community and official libraries for the CDK of your interest. Run a free-text search to find libraries for your needs, then filter the results by your preferred programming language, CDK type, CDK major version and/or author type. To learn more about a library, click its card to see helpful information like metadata, README, API reference and code samples in your preferred programing language."})})]})]})]})})}}}]);
2
+ //# sourceMappingURL=679.4c3850de.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"static/js/679.72a0bb1a.chunk.js","mappings":"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","sources":["components/FAQ/FAQ.tsx","components/FAQ/FAQHeading.tsx","components/FAQ/FAQItem.tsx","components/FAQ/FAQLink.tsx","components/FAQ/FAQSection.tsx","components/FAQ/FAQSections.tsx","constants/pageInfo.ts","components/Page/Page.tsx","hooks/useConfigValue/useConfigValue.ts","views/FAQ/FAQ.tsx"],"sourcesContent":["import { Box } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\n\nexport const FAQ: FunctionComponent = ({ children }) => (\n <Box bg=\"bgSecondary\" color=\"textPrimary\" h=\"100%\" w=\"100%\">\n {children}\n <Box py={5} width=\"100%\" />\n </Box>\n);\n","import { Box, Heading } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\n\nexport const FAQHeading: FunctionComponent = ({ children }) => (\n <Box bg=\"bgPrimary\" py={20} width=\"100%\">\n <Heading as=\"h1\" color=\"textPrimary\" mx=\"auto\" textAlign=\"center\">\n {children}\n </Heading>\n </Box>\n);\n","import {\n Heading,\n Text,\n AccordionIcon,\n AccordionButton,\n AccordionItem,\n AccordionPanel,\n Box,\n} from \"@chakra-ui/react\";\nimport type { FunctionComponent, ReactChild } from \"react\";\n\nexport interface FAQItemProps {\n question: ReactChild;\n}\n\nexport const FAQItem: FunctionComponent<FAQItemProps> = ({\n question,\n children,\n}) => (\n <AccordionItem>\n <AccordionButton>\n <Box flex=\"1\" py={2} textAlign=\"left\">\n <Heading as=\"h3\" ml={8} size=\"sm\">\n {question}\n </Heading>\n </Box>\n <AccordionIcon />\n </AccordionButton>\n <AccordionPanel px={12} py={4}>\n <Text\n color=\"textPrimary\"\n fontSize=\"md\"\n sx={{ p: { marginTop: \"0\", marginBottom: \"4\" } }}\n >\n {children}\n </Text>\n </AccordionPanel>\n </AccordionItem>\n);\n","import { FunctionComponent } from \"react\";\nimport { ExternalLink } from \"../../components/ExternalLink\";\n\nexport interface FAQLinkProps {\n href: string;\n}\n\nexport const FAQLink: FunctionComponent<FAQLinkProps> = ({\n href,\n children,\n}) => (\n <ExternalLink\n color=\"inherit\"\n hasWarning={false}\n href={href}\n textDecoration=\"underline\"\n >\n {children}\n </ExternalLink>\n);\n","import {\n AccordionIcon,\n AccordionButton,\n AccordionItem,\n AccordionPanel,\n Heading,\n Box,\n Accordion,\n} from \"@chakra-ui/react\";\n\nimport type { FunctionComponent } from \"react\";\n\nexport interface FAQSectionProps {\n heading: string;\n}\n\nexport const FAQSection: FunctionComponent<FAQSectionProps> = ({\n heading,\n children,\n}) => (\n <AccordionItem>\n <AccordionButton>\n <Box flex=\"1\" textAlign=\"left\">\n <Heading as=\"h2\" ml={4} my={4} size=\"lg\">\n {heading}\n </Heading>\n </Box>\n <AccordionIcon />\n </AccordionButton>\n <AccordionPanel p={0}>\n <Accordion allowMultiple w=\"100%\">\n {children}\n </Accordion>\n </AccordionPanel>\n </AccordionItem>\n);\n","import { Accordion, AccordionProps } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\n\nexport const FAQSections: FunctionComponent<AccordionProps> = ({\n children,\n ...accordionProps\n}) => (\n <Accordion allowMultiple {...accordionProps}>\n {children}\n </Accordion>\n);\n","export const pageInfo = {\n contribute: {\n event: {\n name: \"Contribute Load\",\n },\n },\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\";\nimport { useConfigValue } from \"../../hooks/useConfigValue\";\n\nexport interface PageProps {\n pageName: keyof typeof pageInfo;\n meta: {\n suffix?: boolean;\n title: string;\n description: string;\n };\n}\n\n// Should be the same as the \"real\" CSP, except most things come from HTTP\n// instead of HTTPS (because it is protocol-relative, and the dev site is\n// served over plain HTTP).\nconst csp = [\n \"default-src 'self' 'unsafe-inline' http://*.awsstatic.com;\",\n \"connect-src 'self' https://*.shortbread.aws.dev http://*.shortbread.aws.dev http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;\",\n \"frame-src http://aws.demdex.net http://dpm.demdex.net;\",\n \"img-src 'self' https://* http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;\",\n \"object-src 'none';\",\n \"style-src 'self' 'unsafe-inline';\",\n].join(\" \");\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 feedUrls = useConfigValue(\"feeds\") || [];\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 content={csp} httpEquiv=\"Content-Security-Policy\" />\n )}\n\n <meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n <meta charSet=\"utf-8\" />\n {feedUrls.map(({ url, mimeType }) => (\n <link href={url} key={url} rel=\"alternate\" type={mimeType} />\n ))}\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 type { Config } from \"../../api/config\";\nimport { useConfig } from \"../../contexts/Config\";\n\nexport const useConfigValue = <T extends keyof Config>(key: T) => {\n const { data } = useConfig();\n return (data ?? {})[key];\n};\n","import { Text } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport {\n FAQ,\n FAQHeading,\n FAQSections,\n FAQSection,\n FAQItem,\n FAQLink,\n} from \"../../components/FAQ\";\nimport { Page } from \"../../components/Page\";\nimport { CONSTRUCT_HUB_REPO_URL } from \"../../constants/links\";\n\nexport const FAQPage: FunctionComponent = () => (\n <Page\n meta={{\n title: \"FAQ\",\n description: \"Frequently Asked Questions\",\n }}\n pageName=\"faq\"\n >\n <FAQ>\n <FAQHeading>Frequently Asked Questions</FAQHeading>\n\n <FAQSections defaultIndex={[0, 1]}>\n <FAQSection heading=\"General\">\n <FAQItem question=\"How can I contribute to Construct Hub?\">\n You are encouraged to contribute to the construct ecosystem by\n publishing CDK libraries, contributing code to Construct Hub and\n providing us and libraries’ publishers feedback. For more\n information, go to{\" \"}\n <FAQLink href=\"https://constructs.dev/contribute\">\n https://constructs.dev/contribute\n </FAQLink>\n .\n </FAQItem>\n\n <FAQItem question=\"What is Construct Hub?\">\n <p>\n Construct Hub is a place to discover CDK constructs &mdash; a\n central destination for discovering and sharing cloud application\n design patterns and reference architectures defined for the AWS\n CDK, CDK for Kubernetes (CDK8s), CDK for Terraform (CDKtf) and\n other construct-based tools.\n </p>\n </FAQItem>\n\n <FAQItem question=\"Why should I use Construct Hub?\">\n <Text>\n Construct Hub is a central venue where CDK developers can discover\n construct libraries to help them build their applications. You can\n find construct libraries in TypeScript, Python, Java and .NET (Go\n is coming soon!), browse their developer guides and API\n references, and explore code samples in all the programming\n language that the package supports.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"What is a construct?\">\n <Text>\n The Constructs Programming Model (CPM) introduces the notion of{\" \"}\n <strong>constructs</strong>, which represent building blocks that\n can be used to assemble complete cloud applications of any\n complexity. AWS, enterprises, startups, and individual developers\n use CDK constructs to share proven architecture patterns as\n reusable code libraries, so that everyone can benefit from the\n collective wisdom of the community.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"What are the prerequisites for using a construct library?\">\n <Text>\n To use a construct library in your code, you need to have your\n preferred programming language installed. In order to synthesize,\n diff, and deploy collections of resources you will need to install\n the CDK Toolkit command-line tool. For AWS CDK install the{\" \"}\n <FAQLink href=\"https://docs.aws.amazon.com/cdk/latest/guide/cli.html\">\n AWS CDK Toolkit command-line tool,\n </FAQLink>{\" \"}\n for CDK8s install the{\" \"}\n <FAQLink href=\"https://cdk8s.io/docs/latest/getting-started/\">\n CDK8s command-line tool\n </FAQLink>{\" \"}\n and for CDKtf install the{\" \"}\n <FAQLink href=\"https://learn.hashicorp.com/tutorials/terraform/cdktf-install\">\n CDKtf command-line tool.\n </FAQLink>\n </Text>\n <Text>\n The CDK8s CLI doesn’t require having any registered account nor\n having a running Kubernetes cluster as it only updates Kubernetes\n manifests.\n </Text>\n <Text>\n The CDKtf CLI requires having Terraform, Node, Yarn and Docker\n installed.\n </Text>\n <Text>\n Some construct libraries’ documentation may include additional\n prerequisites which are unique to their implementation.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Who owns the constructs in Construct Hub?\">\n <Text>\n Constructs are user-generated content owned by the publishers of\n the individual packages. Each is governed by its own license terms\n chosen by its publisher (although only packages that were\n published to the npm registry under Apache, BSD, EPL, MPL-2.0, ISC\n and CDDL or MIT open source licenses are included in Construct\n Hub). License information can be accessed directly through the\n hyperlinked package page.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Is the content served in Construct Hub meant to be consumed programmatically?\">\n <Text>\n No. The content displayed in the site is user-generated, with some\n display formatting. We do not advise that you consume constructs\n from the search results programmatically. Construct Hub is a\n search engine or portal intended to surface third-party content\n from a public endpoint. We provide these results for your\n convenience AS-IS in accordance with our{\" \"}\n <FAQLink href=\"https://constructs.dev/terms\">\n Construct Hub Site Terms\n </FAQLink>\n .\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Which CDK types are available on the Construct Hub?\">\n <Text>\n Construct Hub currently has constructs for the CDK for\n CloudFormation (AWS CDK), CDK for Kubernetes (CDK8s) and CDK for\n Terraform (CDKtf). We are open to adding other construct-based\n tools as they evolve.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"What is CDK for CloudFormation (AWS CDK)?\">\n <Text>\n CDK for CloudFormation (AWS CDK) is an open-source software\n development framework for defining applications on AWS and\n reusable abstractions using familiar programming languages and\n rich object-oriented APIs. AWS CDK apps synthesize into standard\n AWS CloudFormation templates, which can be deployed to create\n infrastructure on AWS. See{\" \"}\n <FAQLink href=\"https://aws.amazon.com/cdk/\">\n AWS Cloud Development Kit\n </FAQLink>{\" \"}\n for more information.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"What is CDK for Kubernetes (CDK8s)?\">\n <Text>\n CDK for Kubernetes (CDK8s, pronounced “cd kates”) is an\n open-source software development framework for defining Kubernetes\n applications and reusable abstractions using familiar programming\n languages and rich object-oriented APIs. CDK8s apps synthesize\n into standard Kubernetes manifests that can be applied to any\n Kubernetes cluster. See{\" \"}\n <FAQLink href=\"https://cdk8s.io/\">CDK for Kubernetes</FAQLink> for\n more information.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"What is CDK for Terraform (CDKtf)?\">\n <Text>\n The community preview of the Cloud Development Kit for Terraform\n (CDKtf) allows you to define infrastructure using a familiar\n programming language such as TypeScript, Python, or Go, while\n leveraging the hundreds of providers and thousands of module\n definitions provided by Terraform and the Terraform ecosystem. See{\" \"}\n <FAQLink href=\"https://learn.hashicorp.com/tutorials/terraform/cdktf\">\n CDK for Terraform\n </FAQLink>{\" \"}\n for more information.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"What programming languages are supported?\">\n <Text>\n The Construct Hub GA supports constructs available for Python,\n TypeScript, Java and .NET. Support for Go will be included soon.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Will Go be supported?\">\n <Text>\n Yes! We can’t promise exactly when, but it should be soon.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Can I view the source code of a construct?\">\n <Text>\n Source code is usually available via the repository link provided\n by the construct’s publisher; this link appears on Construct Hub.\n We have noticed that the code in the linked repository can\n sometimes be newer or older than the code in the published\n package, so exercise care.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"How can I install a package?\">\n <Text>\n The details vary by construct. Click “Install” in the package page\n to see the construct’s installation instructions.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"How can I report abuse?\">\n <Text>\n Your trust is vital to the success of Construct Hub. If you\n believe a package contains suspicious code, violates its\n dependencies’ licenses, or is otherwise not behaving as a good\n citizen of the community, click &quot;Report abuse&quot; at the\n bottom of the package page and send us an email with explanations\n and evidence to support your claims. If we can verify the issue,\n we will take appropriate action, up to and including removing the\n package from Construct Hub.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"How can I report a bug or contribute code to a construct?\">\n <Text>\n Each package is owned by its publisher, so contributions, such as\n bug reports and pull requests, should be made via the repository\n link provided by the publisher. You may press the &quot;Provide\n feedback&quot; link at the package page to open a new issue in the\n package’s repository.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Why isn’t my package displayed on Construct Hub?\">\n <Text>\n Construct Hub includes publicly-available constructs that are\n JSII-compatible and that were published to the npm Registry under\n Apache, BSD, EPL, MPL-2.0, ISC and CDDL or MIT open source\n licenses and with a CDK keyword: aws-cdk, cdk8s, or cdktf. If you\n believe your package qualifies, but it still does not appear in\n Construct Hub, please raise an issue{\" \"}\n <FAQLink href={`${CONSTRUCT_HUB_REPO_URL}/issues/new`}>\n here\n </FAQLink>\n .\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Can I update my package after it has been displayed?\">\n <Text>\n Yes, you can and should! After you publish a new valid version to\n the public npm Registry, it should appear on Construct Hub in\n about 30 minutes.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"How does Construct Hub relates to the Construct Catalog?\">\n <Text>\n The Construct Catalog was built by the CDK community in\n collaboration with the AWS CDK team. Construct Hub is the official\n version of the Construct Catalog with ongoing support by the AWS\n CDK team and essentially replaces the Construct Catalog.{\" \"}\n <FAQLink href=\"https://awscdk.io/\">https://awscdk.io</FAQLink> now\n redirects to Construct Hub.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Is there a cost for using third-party constructs from Construct Hub?\">\n <Text>\n All packages on Construct Hub are published under Apache, BSD,\n EPL, MPL-2.0, ISC and CDDL or MIT open source licenses and can be\n freely used in your applications. For details, review the\n package’s license via its repository link.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"How can I participate in the Construct Hub community?\">\n <Text>\n Construct Hub is itself an open-source construct! Join the{\" \"}\n <FAQLink href={CONSTRUCT_HUB_REPO_URL}>\n Construct Hub GitHub community\n </FAQLink>\n . You are also welcome to join the <code>#construct-hub-dev</code>{\" \"}\n channel in the{\" \"}\n <FAQLink href=\"https://cdk.dev/\">CDK community</FAQLink> Slack\n workspace.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Is there a community slack channel for the CDK community?\">\n <Text>\n Please join the CDK Slack channel (\n <FAQLink href=\"https://cdk.dev/\">https://cdk.dev/</FAQLink>). This\n Slack channel is managed by the CDK community for the CDK\n community.\n </Text>\n </FAQItem>\n </FAQSection>\n\n <FAQSection heading=\"Getting Started\">\n <FAQItem question=\"Do I need a user account for Construct Hub?\">\n <Text>No. Construct Hub doesn’t require any signup.</Text>\n </FAQItem>\n\n <FAQItem question=\"How do I get started?\">\n <Text>\n Start by exploring featured, community and official libraries for\n the CDK of your interest. Run a free-text search to find libraries\n for your needs, then filter the results by your preferred\n programming language, CDK type, CDK major version and/or author\n type. To learn more about a library, click its card to see helpful\n information like metadata, README, API reference and code samples\n in your preferred programing language.\n </Text>\n </FAQItem>\n </FAQSection>\n </FAQSections>\n </FAQ>\n </Page>\n);\n"],"names":["FAQ","children","bg","color","h","w","py","width","FAQHeading","as","mx","textAlign","FAQItem","question","flex","ml","size","px","fontSize","sx","p","marginTop","marginBottom","FAQLink","href","ExternalLink","hasWarning","textDecoration","FAQSection","heading","my","allowMultiple","FAQSections","accordionProps","pageInfo","contribute","event","name","home","faq","packageProfile","search","siteTerms","notFound","page","pageType","Page","join","meta","pageName","trackPageView","usePageView","useEffect","feedUrls","useConfigValue","suffix","title","description","formattedTitle","Helmet","process","content","charSet","map","url","mimeType","rel","type","property","key","data","useConfig","FAQPage","defaultIndex","CONSTRUCT_HUB_REPO_URL"],"sourceRoot":""}
1
+ {"version":3,"file":"static/js/679.4c3850de.chunk.js","mappings":"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","sources":["components/FAQ/FAQ.tsx","components/FAQ/FAQHeading.tsx","components/FAQ/FAQItem.tsx","components/FAQ/FAQLink.tsx","components/FAQ/FAQSection.tsx","components/FAQ/FAQSections.tsx","constants/pageInfo.ts","components/Page/Page.tsx","hooks/useConfigValue/useConfigValue.ts","views/FAQ/FAQ.tsx"],"sourcesContent":["import { Box } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\n\nexport const FAQ: FunctionComponent = ({ children }) => (\n <Box bg=\"bgSecondary\" color=\"textPrimary\" h=\"100%\" w=\"100%\">\n {children}\n <Box py={5} width=\"100%\" />\n </Box>\n);\n","import { Box, Heading } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\n\nexport const FAQHeading: FunctionComponent = ({ children }) => (\n <Box bg=\"bgPrimary\" py={20} width=\"100%\">\n <Heading as=\"h1\" color=\"textPrimary\" mx=\"auto\" textAlign=\"center\">\n {children}\n </Heading>\n </Box>\n);\n","import {\n Heading,\n Text,\n AccordionIcon,\n AccordionButton,\n AccordionItem,\n AccordionPanel,\n Box,\n} from \"@chakra-ui/react\";\nimport type { FunctionComponent, ReactChild } from \"react\";\n\nexport interface FAQItemProps {\n question: ReactChild;\n}\n\nexport const FAQItem: FunctionComponent<FAQItemProps> = ({\n question,\n children,\n}) => (\n <AccordionItem>\n <AccordionButton>\n <Box flex=\"1\" py={2} textAlign=\"left\">\n <Heading as=\"h3\" ml={8} size=\"sm\">\n {question}\n </Heading>\n </Box>\n <AccordionIcon />\n </AccordionButton>\n <AccordionPanel px={12} py={4}>\n <Text\n color=\"textPrimary\"\n fontSize=\"md\"\n sx={{ p: { marginTop: \"0\", marginBottom: \"4\" } }}\n >\n {children}\n </Text>\n </AccordionPanel>\n </AccordionItem>\n);\n","import { FunctionComponent } from \"react\";\nimport { ExternalLink } from \"../../components/ExternalLink\";\n\nexport interface FAQLinkProps {\n href: string;\n}\n\nexport const FAQLink: FunctionComponent<FAQLinkProps> = ({\n href,\n children,\n}) => (\n <ExternalLink\n color=\"inherit\"\n hasWarning={false}\n href={href}\n textDecoration=\"underline\"\n >\n {children}\n </ExternalLink>\n);\n","import {\n AccordionIcon,\n AccordionButton,\n AccordionItem,\n AccordionPanel,\n Heading,\n Box,\n Accordion,\n} from \"@chakra-ui/react\";\n\nimport type { FunctionComponent } from \"react\";\n\nexport interface FAQSectionProps {\n heading: string;\n}\n\nexport const FAQSection: FunctionComponent<FAQSectionProps> = ({\n heading,\n children,\n}) => (\n <AccordionItem>\n <AccordionButton>\n <Box flex=\"1\" textAlign=\"left\">\n <Heading as=\"h2\" ml={4} my={4} size=\"lg\">\n {heading}\n </Heading>\n </Box>\n <AccordionIcon />\n </AccordionButton>\n <AccordionPanel p={0}>\n <Accordion allowMultiple w=\"100%\">\n {children}\n </Accordion>\n </AccordionPanel>\n </AccordionItem>\n);\n","import { Accordion, AccordionProps } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\n\nexport const FAQSections: FunctionComponent<AccordionProps> = ({\n children,\n ...accordionProps\n}) => (\n <Accordion allowMultiple {...accordionProps}>\n {children}\n </Accordion>\n);\n","export const pageInfo = {\n contribute: {\n event: {\n name: \"Contribute Load\",\n },\n },\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\";\nimport { useConfigValue } from \"../../hooks/useConfigValue\";\n\nexport interface PageProps {\n pageName: keyof typeof pageInfo;\n meta: {\n suffix?: boolean;\n title: string;\n description: string;\n };\n}\n\n// Should be the same as the \"real\" CSP, except most things come from HTTP\n// instead of HTTPS (because it is protocol-relative, and the dev site is\n// served over plain HTTP).\nconst csp = [\n \"default-src 'self' 'unsafe-inline' http://*.awsstatic.com;\",\n \"connect-src 'self' https://*.shortbread.aws.dev http://*.shortbread.aws.dev http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;\",\n \"frame-src http://aws.demdex.net http://dpm.demdex.net;\",\n \"img-src 'self' https://* http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;\",\n \"object-src 'none';\",\n \"style-src 'self' 'unsafe-inline';\",\n].join(\" \");\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 feedUrls = useConfigValue(\"feeds\") || [];\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 content={csp} httpEquiv=\"Content-Security-Policy\" />\n )}\n\n <meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n <meta charSet=\"utf-8\" />\n {feedUrls.map(({ url, mimeType }) => (\n <link href={url} key={url} rel=\"alternate\" type={mimeType} />\n ))}\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 type { Config } from \"../../api/config\";\nimport { useConfig } from \"../../contexts/Config\";\n\nexport const useConfigValue = <T extends keyof Config>(key: T) => {\n const { data } = useConfig();\n return (data ?? {})[key];\n};\n","import { Text } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport {\n FAQ,\n FAQHeading,\n FAQSections,\n FAQSection,\n FAQItem,\n FAQLink,\n} from \"../../components/FAQ\";\nimport { Page } from \"../../components/Page\";\nimport { CONSTRUCT_HUB_REPO_URL } from \"../../constants/links\";\n\nexport const FAQPage: FunctionComponent = () => (\n <Page\n meta={{\n title: \"FAQ\",\n description: \"Frequently Asked Questions\",\n }}\n pageName=\"faq\"\n >\n <FAQ>\n <FAQHeading>Frequently Asked Questions</FAQHeading>\n\n <FAQSections defaultIndex={[0, 1]}>\n <FAQSection heading=\"General\">\n <FAQItem question=\"How can I contribute to Construct Hub?\">\n You are encouraged to contribute to the construct ecosystem by\n publishing CDK libraries, contributing code to Construct Hub and\n providing us and libraries’ publishers feedback. For more\n information, go to{\" \"}\n <FAQLink href=\"https://constructs.dev/contribute\">\n https://constructs.dev/contribute\n </FAQLink>\n .\n </FAQItem>\n\n <FAQItem question=\"What is Construct Hub?\">\n <p>\n Construct Hub is a place to discover CDK constructs &mdash; a\n central destination for discovering and sharing cloud application\n design patterns and reference architectures defined for the AWS\n CDK, CDK for Kubernetes (CDK8s), CDK for Terraform (CDKTF) and\n other construct-based tools.\n </p>\n </FAQItem>\n\n <FAQItem question=\"Why should I use Construct Hub?\">\n <Text>\n Construct Hub is a central venue where CDK developers can discover\n construct libraries to help them build their applications. You can\n find construct libraries in TypeScript, Python, Java and .NET (Go\n is coming soon!), browse their developer guides and API\n references, and explore code samples in all the programming\n language that the package supports.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"What is a construct?\">\n <Text>\n The Constructs Programming Model (CPM) introduces the notion of{\" \"}\n <strong>constructs</strong>, which represent building blocks that\n can be used to assemble complete cloud applications of any\n complexity. AWS, enterprises, startups, and individual developers\n use CDK constructs to share proven architecture patterns as\n reusable code libraries, so that everyone can benefit from the\n collective wisdom of the community.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"What are the prerequisites for using a construct library?\">\n <Text>\n To use a construct library in your code, you need to have your\n preferred programming language installed. In order to synthesize,\n diff, and deploy collections of resources you will need to install\n the CDK Toolkit command-line tool. For AWS CDK install the{\" \"}\n <FAQLink href=\"https://docs.aws.amazon.com/cdk/latest/guide/cli.html\">\n AWS CDK Toolkit command-line tool,\n </FAQLink>{\" \"}\n for CDK8s install the{\" \"}\n <FAQLink href=\"https://cdk8s.io/docs/latest/getting-started/\">\n CDK8s command-line tool\n </FAQLink>{\" \"}\n and for CDKTF install the{\" \"}\n <FAQLink href=\"https://learn.hashicorp.com/tutorials/terraform/cdktf-install\">\n CDKTF command-line tool.\n </FAQLink>\n </Text>\n <Text>\n The CDK8s CLI doesn’t require having any registered account nor\n having a running Kubernetes cluster as it only updates Kubernetes\n manifests.\n </Text>\n <Text>\n The CDKTF CLI requires having Terraform, Node, Yarn and Docker\n installed.\n </Text>\n <Text>\n Some construct libraries’ documentation may include additional\n prerequisites which are unique to their implementation.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Who owns the constructs in Construct Hub?\">\n <Text>\n Constructs are user-generated content owned by the publishers of\n the individual packages. Each is governed by its own license terms\n chosen by its publisher (although only packages that were\n published to the npm registry under Apache, BSD, EPL, MPL-2.0, ISC\n and CDDL or MIT open source licenses are included in Construct\n Hub). License information can be accessed directly through the\n hyperlinked package page.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Is the content served in Construct Hub meant to be consumed programmatically?\">\n <Text>\n No. The content displayed in the site is user-generated, with some\n display formatting. We do not advise that you consume constructs\n from the search results programmatically. Construct Hub is a\n search engine or portal intended to surface third-party content\n from a public endpoint. We provide these results for your\n convenience AS-IS in accordance with our{\" \"}\n <FAQLink href=\"https://constructs.dev/terms\">\n Construct Hub Site Terms\n </FAQLink>\n .\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Which CDK types are available on the Construct Hub?\">\n <Text>\n Construct Hub currently has constructs for the CDK for\n CloudFormation (AWS CDK), CDK for Kubernetes (CDK8s) and CDK for\n Terraform (CDKTF). We are open to adding other construct-based\n tools as they evolve.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"What is CDK for CloudFormation (AWS CDK)?\">\n <Text>\n CDK for CloudFormation (AWS CDK) is an open-source software\n development framework for defining applications on AWS and\n reusable abstractions using familiar programming languages and\n rich object-oriented APIs. AWS CDK apps synthesize into standard\n AWS CloudFormation templates, which can be deployed to create\n infrastructure on AWS. See{\" \"}\n <FAQLink href=\"https://aws.amazon.com/cdk/\">\n AWS Cloud Development Kit\n </FAQLink>{\" \"}\n for more information.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"What is CDK for Kubernetes (CDK8s)?\">\n <Text>\n CDK for Kubernetes (CDK8s, pronounced “cd kates”) is an\n open-source software development framework for defining Kubernetes\n applications and reusable abstractions using familiar programming\n languages and rich object-oriented APIs. CDK8s apps synthesize\n into standard Kubernetes manifests that can be applied to any\n Kubernetes cluster. See{\" \"}\n <FAQLink href=\"https://cdk8s.io/\">CDK for Kubernetes</FAQLink> for\n more information.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"What is CDK for Terraform (CDKTF)?\">\n <Text>\n The community preview of the Cloud Development Kit for Terraform\n (CDKTF) allows you to define infrastructure using a familiar\n programming language such as TypeScript, Python, or Go, while\n leveraging the hundreds of providers and thousands of module\n definitions provided by Terraform and the Terraform ecosystem. See{\" \"}\n <FAQLink href=\"https://learn.hashicorp.com/tutorials/terraform/cdktf\">\n CDK for Terraform\n </FAQLink>{\" \"}\n for more information.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"What programming languages are supported?\">\n <Text>\n The Construct Hub GA supports constructs available for Python,\n TypeScript, Java and .NET. Support for Go will be included soon.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Will Go be supported?\">\n <Text>\n Yes! We can’t promise exactly when, but it should be soon.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Can I view the source code of a construct?\">\n <Text>\n Source code is usually available via the repository link provided\n by the construct’s publisher; this link appears on Construct Hub.\n We have noticed that the code in the linked repository can\n sometimes be newer or older than the code in the published\n package, so exercise care.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"How can I install a package?\">\n <Text>\n The details vary by construct. Click “Install” in the package page\n to see the construct’s installation instructions.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"How can I report abuse?\">\n <Text>\n Your trust is vital to the success of Construct Hub. If you\n believe a package contains suspicious code, violates its\n dependencies’ licenses, or is otherwise not behaving as a good\n citizen of the community, click &quot;Report abuse&quot; at the\n bottom of the package page and send us an email with explanations\n and evidence to support your claims. If we can verify the issue,\n we will take appropriate action, up to and including removing the\n package from Construct Hub.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"How can I report a bug or contribute code to a construct?\">\n <Text>\n Each package is owned by its publisher, so contributions, such as\n bug reports and pull requests, should be made via the repository\n link provided by the publisher. You may press the &quot;Provide\n feedback&quot; link at the package page to open a new issue in the\n package’s repository.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Why isn’t my package displayed on Construct Hub?\">\n <Text>\n Construct Hub includes publicly-available constructs that are\n JSII-compatible and that were published to the npm Registry under\n Apache, BSD, EPL, MPL-2.0, ISC and CDDL or MIT open source\n licenses and with a CDK keyword: aws-cdk, cdk8s, or cdktf. If you\n believe your package qualifies, but it still does not appear in\n Construct Hub, please raise an issue{\" \"}\n <FAQLink href={`${CONSTRUCT_HUB_REPO_URL}/issues/new`}>\n here\n </FAQLink>\n .\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Can I update my package after it has been displayed?\">\n <Text>\n Yes, you can and should! After you publish a new valid version to\n the public npm Registry, it should appear on Construct Hub in\n about 30 minutes.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"How does Construct Hub relates to the Construct Catalog?\">\n <Text>\n The Construct Catalog was built by the CDK community in\n collaboration with the AWS CDK team. Construct Hub is the official\n version of the Construct Catalog with ongoing support by the AWS\n CDK team and essentially replaces the Construct Catalog.{\" \"}\n <FAQLink href=\"https://awscdk.io/\">https://awscdk.io</FAQLink> now\n redirects to Construct Hub.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Is there a cost for using third-party constructs from Construct Hub?\">\n <Text>\n All packages on Construct Hub are published under Apache, BSD,\n EPL, MPL-2.0, ISC and CDDL or MIT open source licenses and can be\n freely used in your applications. For details, review the\n package’s license via its repository link.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"How can I participate in the Construct Hub community?\">\n <Text>\n Construct Hub is itself an open-source construct! Join the{\" \"}\n <FAQLink href={CONSTRUCT_HUB_REPO_URL}>\n Construct Hub GitHub community\n </FAQLink>\n . You are also welcome to join the <code>#construct-hub-dev</code>{\" \"}\n channel in the{\" \"}\n <FAQLink href=\"https://cdk.dev/\">CDK community</FAQLink> Slack\n workspace.\n </Text>\n </FAQItem>\n\n <FAQItem question=\"Is there a community slack channel for the CDK community?\">\n <Text>\n Please join the CDK Slack channel (\n <FAQLink href=\"https://cdk.dev/\">https://cdk.dev/</FAQLink>). This\n Slack channel is managed by the CDK community for the CDK\n community.\n </Text>\n </FAQItem>\n </FAQSection>\n\n <FAQSection heading=\"Getting Started\">\n <FAQItem question=\"Do I need a user account for Construct Hub?\">\n <Text>No. Construct Hub doesn’t require any signup.</Text>\n </FAQItem>\n\n <FAQItem question=\"How do I get started?\">\n <Text>\n Start by exploring featured, community and official libraries for\n the CDK of your interest. Run a free-text search to find libraries\n for your needs, then filter the results by your preferred\n programming language, CDK type, CDK major version and/or author\n type. To learn more about a library, click its card to see helpful\n information like metadata, README, API reference and code samples\n in your preferred programing language.\n </Text>\n </FAQItem>\n </FAQSection>\n </FAQSections>\n </FAQ>\n </Page>\n);\n"],"names":["FAQ","children","bg","color","h","w","py","width","FAQHeading","as","mx","textAlign","FAQItem","question","flex","ml","size","px","fontSize","sx","p","marginTop","marginBottom","FAQLink","href","ExternalLink","hasWarning","textDecoration","FAQSection","heading","my","allowMultiple","FAQSections","accordionProps","pageInfo","contribute","event","name","home","faq","packageProfile","search","siteTerms","notFound","page","pageType","Page","join","meta","pageName","trackPageView","usePageView","useEffect","feedUrls","useConfigValue","suffix","title","description","formattedTitle","Helmet","process","content","charSet","map","url","mimeType","rel","type","property","key","data","useConfig","FAQPage","defaultIndex","CONSTRUCT_HUB_REPO_URL"],"sourceRoot":""}