construct-hub 0.3.332 → 0.3.333

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. package/.jsii +2 -2
  2. package/changelog.md +1 -6
  3. package/lib/backend/feed-builder/update-feed.lambda.bundle/index.js +1 -1
  4. package/lib/backend/feed-builder/update-feed.lambda.bundle/index.js.map +2 -2
  5. package/lib/backend/transliterator/transliterator.ecs-entrypoint.bundle/index.js +2 -2
  6. package/lib/construct-hub.js +1 -1
  7. package/lib/package-sources/code-artifact.js +1 -1
  8. package/lib/package-sources/npmjs.js +1 -1
  9. package/lib/package-tag/index.js +3 -3
  10. package/lib/package-tag-group/index.js +2 -2
  11. package/lib/preload-file/index.js +1 -1
  12. package/lib/s3/storage.js +1 -1
  13. package/lib/spdx-license.js +1 -1
  14. package/package.json +6 -6
  15. package/releasetag.txt +1 -1
  16. package/version.txt +1 -1
  17. package/website/asset-manifest.json +15 -15
  18. package/website/index.html +1 -1
  19. package/website/static/js/19.d330fc34.chunk.js +2 -0
  20. package/website/static/js/19.d330fc34.chunk.js.map +1 -0
  21. package/website/static/js/29.1c8de512.chunk.js +2 -0
  22. package/website/static/js/29.1c8de512.chunk.js.map +1 -0
  23. package/website/static/js/540.c326d22f.chunk.js +2 -0
  24. package/website/static/js/540.c326d22f.chunk.js.map +1 -0
  25. package/website/static/js/577.b8baa31c.chunk.js +2 -0
  26. package/website/static/js/577.b8baa31c.chunk.js.map +1 -0
  27. package/website/static/js/679.72a0bb1a.chunk.js +2 -0
  28. package/website/static/js/679.72a0bb1a.chunk.js.map +1 -0
  29. package/website/static/js/926.633393a3.chunk.js +2 -0
  30. package/website/static/js/926.633393a3.chunk.js.map +1 -0
  31. package/website/static/js/{main.5abd3692.js → main.f64ed614.js} +3 -3
  32. package/website/static/js/{main.5abd3692.js.LICENSE.txt → main.f64ed614.js.LICENSE.txt} +0 -0
  33. package/website/static/js/main.f64ed614.js.map +1 -0
  34. package/website/static/js/19.6c0c3bb2.chunk.js +0 -2
  35. package/website/static/js/19.6c0c3bb2.chunk.js.map +0 -1
  36. package/website/static/js/283.255108b0.chunk.js +0 -2
  37. package/website/static/js/283.255108b0.chunk.js.map +0 -1
  38. package/website/static/js/540.2b86534a.chunk.js +0 -2
  39. package/website/static/js/540.2b86534a.chunk.js.map +0 -1
  40. package/website/static/js/577.4e3ff9fc.chunk.js +0 -2
  41. package/website/static/js/577.4e3ff9fc.chunk.js.map +0 -1
  42. package/website/static/js/679.dddc0a34.chunk.js +0 -2
  43. package/website/static/js/679.dddc0a34.chunk.js.map +0 -1
  44. package/website/static/js/926.75171058.chunk.js +0 -2
  45. package/website/static/js/926.75171058.chunk.js.map +0 -1
  46. package/website/static/js/main.5abd3692.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/js/29.1c8de512.chunk.js","mappings":"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","sources":["components/Highlight/Highlight.tsx","components/LanguageSupportTooltip/LanguageSupportTooltip.tsx","components/PackageCard/constants.ts","components/PackageCard/testIds.ts","components/PackageCard/Details.tsx","components/PackageCard/EditorsNote.tsx","components/PackageCard/Heading.tsx","components/PackageCard/Highlight.tsx","components/PackageLanguages/PackageLanguages.tsx","components/PackageCard/Languages.tsx","components/PackageCard/Tags.tsx","components/PackageCard/WideCard.tsx","components/PackageCard/PackageCard.tsx","components/PackageTag/PackageTag.tsx","constants/pageInfo.ts","components/Page/Page.tsx","components/Time/Time.tsx","hooks/useConfigValue/useConfigValue.ts","hooks/useLanguage/useLanguage.ts","hooks/useQueryParams/useQueryParams.ts","util/package.ts"],"sourcesContent":["import { Stack, Image, Text, useColorModeValue } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\n\ninterface HighlightProps {\n label: string;\n color?: string;\n icon?: string;\n}\n\nexport const Highlight: FunctionComponent<HighlightProps> = ({\n label,\n color,\n icon,\n}: HighlightProps) => {\n const brightness = useColorModeValue(\"none\", \"brightness(1.75)\");\n return (\n <Stack align=\"center\" direction=\"row\" filter={brightness} spacing={2}>\n <Image alt={`${label} icon`} src={icon} w={4} />\n <Text color={color} fontWeight=\"bold\">\n {label}\n </Text>\n </Stack>\n );\n};\n","import { Tooltip } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport {\n Language,\n LANGUAGE_NAME_MAP,\n TEMP_SUPPORTED_LANGUAGES,\n} from \"../../constants/languages\";\n\nexport interface LanguageSupportTooltipProps {\n language: Language;\n}\n\nexport const LanguageSupportTooltip: FunctionComponent<\n LanguageSupportTooltipProps\n> = ({ children, language }) => {\n const isSupported = TEMP_SUPPORTED_LANGUAGES.has(language);\n const langName = LANGUAGE_NAME_MAP[language];\n\n const message = isSupported\n ? `Click to view documentation in ${langName}`\n : `Documentation support for ${langName} is coming soon!`;\n\n return (\n <Tooltip hasArrow label={message} placement=\"top-start\">\n <span>{children}</span>\n </Tooltip>\n );\n};\n","export enum PackageCardType {\n Wide = \"wide\",\n}\n","import { createTestIds } from \"../../util/createTestIds\";\n\nconst testIds = createTestIds(\"packageCard\", [\n \"author\",\n \"description\",\n \"downloads\",\n \"languages\",\n \"published\",\n \"title\",\n \"version\",\n \"comment\",\n \"wideContainer\",\n] as const);\n\nexport default testIds;\n","import { Text, Tooltip } from \"@chakra-ui/react\";\nimport { formatDistanceToNowStrict } from \"date-fns\";\nimport { FunctionComponent, ReactChild } from \"react\";\nimport { useStats } from \"../../hooks/useStats\";\nimport { getSearchPath } from \"../../util/url\";\nimport { NavLink } from \"../NavLink\";\nimport { Time } from \"../Time\";\nimport { usePackageCard } from \"./PackageCard\";\nimport testIds from \"./testIds\";\n\ninterface DetailProps {\n \"data-testid\": string;\n tooltip?: string;\n value: ReactChild;\n}\n\nconst Detail: FunctionComponent<DetailProps> = ({\n \"data-testid\": dataTestid,\n tooltip,\n value,\n}) => (\n <Tooltip hasArrow isDisabled={!tooltip} label={tooltip} placement=\"left\">\n {/* zIndex required to allow tooltip to display due to card link overlay */}\n <Text data-testid={dataTestid} fontSize=\"xs\" zIndex={1}>\n {value}\n </Text>\n </Tooltip>\n);\n\nexport const Details: FunctionComponent = () => {\n const {\n author,\n metadata: { date },\n name,\n } = usePackageCard();\n\n const { data } = useStats();\n const downloads: number | undefined = data?.packages?.[name]?.downloads?.npm;\n\n const authorName = typeof author === \"string\" ? author : author.name;\n const publishDate = new Date(date);\n\n return (\n <>\n {downloads !== undefined && (\n <Detail\n data-testid={testIds.downloads}\n tooltip=\"Download numbers are periodically sourced from the npm registry\"\n value={`${downloads.toLocaleString()} weekly downloads`}\n />\n )}\n <Detail\n data-testid={testIds.published}\n value={\n <Time\n date={publishDate}\n fontSize=\"xs\"\n formattedDate={formatDistanceToNowStrict(publishDate, {\n addSuffix: true,\n })}\n />\n }\n />\n <Detail\n data-testid={testIds.author}\n value={\n <>\n By{\" \"}\n <NavLink\n color=\"link\"\n to={getSearchPath({\n query: authorName,\n })}\n >\n {authorName}\n </NavLink>\n </>\n }\n />\n </>\n );\n};\n","import { Text } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport testIds from \"./testIds\";\n\nexport const EditorsNote: FunctionComponent<{ comment?: string }> = ({\n comment,\n}) => {\n return (\n <Text\n data-testid={testIds.comment}\n fontSize=\"md\"\n lineHeight=\"tall\"\n noOfLines={4}\n >\n <Text as=\"span\" color=\"blue.500\" fontWeight=\"bold\">\n Editor&apos;s note:{\" \"}\n </Text>\n {comment}\n </Text>\n );\n};\n","import {\n Flex,\n Heading as ChakraHeading,\n LinkOverlay,\n Text,\n} from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { eventName } from \"../../contexts/Analytics\";\nimport { useLanguage } from \"../../hooks/useLanguage\";\nimport { getPackagePath } from \"../../util/url\";\nimport { CDKTypeBadge } from \"../CDKType\";\nimport { EditorsNote } from \"./EditorsNote\";\nimport { usePackageCard } from \"./PackageCard\";\nimport testIds from \"./testIds\";\n\nexport const Heading: FunctionComponent = () => {\n const [currentLanguage] = useLanguage();\n const {\n dataEvent,\n description,\n comment,\n constructFrameworks,\n name,\n version,\n } = usePackageCard();\n\n return (\n <>\n <LinkOverlay\n as={Link}\n data-event={\n dataEvent ? eventName(dataEvent, \"Package Card\", name) : undefined\n }\n to={getPackagePath({\n name,\n version,\n language: currentLanguage,\n })}\n >\n <Flex align=\"center\">\n <CDKTypeBadge\n constructFrameworks={constructFrameworks}\n mr={2}\n zIndex={1}\n />\n <ChakraHeading\n as=\"h3\"\n color=\"textPrimary\"\n data-testid={testIds.title}\n fontSize=\"md\"\n fontWeight=\"bold\"\n wordBreak=\"normal\"\n >\n {name}\n </ChakraHeading>\n </Flex>\n </LinkOverlay>\n {comment ? (\n <EditorsNote comment={comment} />\n ) : (\n <Text\n color=\"textPrimary\"\n data-testid={testIds.description}\n fontSize=\"md\"\n lineHeight=\"tall\"\n noOfLines={4}\n >\n {description || \"No description available.\"}\n </Text>\n )}\n </>\n );\n};\n","import { Box } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { highlightsFrom } from \"../../util/package\";\nimport { Highlight as HighlightComponent } from \"../Highlight\";\nimport { usePackageCard } from \"./PackageCard\";\n\nexport const Highlight: FunctionComponent = () => {\n const { packageTags = [] } = usePackageCard()?.metadata ?? {};\n const [highlight] = highlightsFrom(packageTags);\n\n if (!highlight) return null;\n\n return (\n <Box fontSize=\"xs\">\n <HighlightComponent {...highlight} />\n </Box>\n );\n};\n","import type { FunctionComponent } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport {\n Language,\n LANGUAGES,\n LANGUAGE_RENDER_MAP,\n TEMP_SUPPORTED_LANGUAGES,\n} from \"../../constants/languages\";\nimport { getPackagePath } from \"../../util/url\";\nimport { LanguageSupportTooltip } from \"../LanguageSupportTooltip\";\n\nconst sizes = {\n sm: 5,\n md: 6,\n lg: 8,\n};\n\nexport interface PackageLanguagesProps {\n isRounded?: boolean;\n languages?: Partial<Record<Language, unknown>>;\n name: string;\n size?: \"sm\" | \"md\" | \"lg\";\n version: string;\n}\n\nexport const PackageLanguages: FunctionComponent<PackageLanguagesProps> = ({\n isRounded = false,\n languages,\n name: packageName,\n size = \"md\",\n version,\n}) => {\n const targets = Object.keys(languages ?? {}) as Language[];\n return (\n <>\n {Object.entries(LANGUAGE_RENDER_MAP)\n // Ensure entries are always sorted in a stable way\n .sort(\n ([left], [right]) =>\n LANGUAGES.indexOf(left as Language) -\n LANGUAGES.indexOf(right as Language)\n )\n .map(([lang, info]) => {\n const language = lang as Language;\n\n const isSupportedByLibrary =\n language === Language.TypeScript || targets.includes(language);\n\n const isSupportedByConstructHub =\n language === Language.TypeScript || // TypeScript is always supported\n // Otherwise, the language must be supported by ConstructHub\n TEMP_SUPPORTED_LANGUAGES.has(language);\n\n if (!isSupportedByLibrary) return null;\n\n const { name, icon: Icon } = info;\n\n const icon = (\n <Icon\n aria-label={`Supports ${name}`}\n borderRadius={isRounded ? \"50%\" : 0}\n h={sizes[size]}\n opacity={isSupportedByConstructHub ? 1 : 0.2}\n w={sizes[size]}\n />\n );\n\n return (\n <LanguageSupportTooltip key={language} language={language}>\n {isSupportedByConstructHub ? (\n <Link\n aria-label={`View package docs for ${language}`}\n to={getPackagePath({ name: packageName, version, language })}\n >\n {icon}\n </Link>\n ) : (\n icon\n )}\n </LanguageSupportTooltip>\n );\n })}\n </>\n );\n};\n","import type { FunctionComponent } from \"react\";\nimport { PackageLanguages } from \"../PackageLanguages\";\nimport { usePackageCard } from \"./PackageCard\";\n\nexport const Languages: FunctionComponent = () => {\n const pkg = usePackageCard();\n return <PackageLanguages {...pkg} size=\"sm\" />;\n};\n","import { FunctionComponent } from \"react\";\nimport { tagObjectsFrom } from \"../../util/package\";\nimport { PackageTag } from \"../PackageTag\";\nimport { usePackageCard } from \"./PackageCard\";\n\nexport const Tags: FunctionComponent = () => {\n const {\n keywords = [],\n metadata: { packageTags = [] },\n } = usePackageCard();\n\n const tags = tagObjectsFrom({\n packageTags,\n keywords,\n });\n\n return (\n <>\n {tags.slice(0, 10).map(({ id, keyword: { label, color } = {} }) => (\n <PackageTag key={id} value={id} variant={color}>\n {label}\n </PackageTag>\n ))}\n </>\n );\n};\n","import { Flex, Grid, LinkBox, Stack } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Details } from \"./Details\";\nimport { Heading } from \"./Heading\";\nimport { Highlight } from \"./Highlight\";\nimport { Languages } from \"./Languages\";\nimport { Tags } from \"./Tags\";\nimport testIds from \"./testIds\";\n\nexport const WideCard: FunctionComponent = () => {\n return (\n <LinkBox\n _hover={{\n \"> article\": {\n bg: \"hoverPrimary\",\n },\n }}\n >\n <Grid\n as=\"article\"\n bg=\"bgSecondary\"\n border=\"base\"\n borderRadius=\"sm\"\n boxShadow=\"base\"\n color=\"textPrimary\"\n data-testid={testIds.wideContainer}\n h=\"full\"\n minH=\"12.5rem\"\n templateColumns={{ base: \"1fr\", lg: \"1fr 14rem\" }}\n w=\"full\"\n >\n {/* Top / Left side of card */}\n <Flex\n direction=\"column\"\n justify=\"space-between\"\n overflow=\"hidden\"\n p={5}\n sx={{ gap: \"0.5rem\" }}\n >\n <Stack spacing={3}>\n <Heading />\n </Stack>\n\n <Flex align=\"center\" sx={{ gap: \"0.5rem\" }} wrap=\"wrap\">\n <Tags />\n </Flex>\n </Flex>\n\n {/* Bottom / Right side of card */}\n <Flex\n align={{ base: \"end\", lg: \"initial\" }}\n borderLeft={{ lg: \"base\" }}\n borderTop={{ base: \"base\", lg: \"none\" }}\n direction={{ base: \"row\", lg: \"column\" }}\n justify=\"space-between\"\n p={5}\n sx={{ gap: \"0.5rem\" }}\n >\n <Stack spacing={1}>\n <Highlight />\n <Stack spacing={1}>\n <Details />\n </Stack>\n </Stack>\n\n <Stack data-testid={testIds.languages} direction=\"row\" spacing={2}>\n <Languages />\n </Stack>\n </Flex>\n </Grid>\n </LinkBox>\n );\n};\n","import { createContext, FunctionComponent, useContext } from \"react\";\nimport { ExtendedCatalogPackage } from \"../../api/catalog-search\";\nimport { PackageCardType } from \"./constants\";\nimport { WideCard } from \"./WideCard\";\n\nexport interface PackageCardProps {\n \"data-event\"?: string;\n pkg: ExtendedCatalogPackage;\n variant?: PackageCardType;\n}\n\ninterface PackageCardState extends ExtendedCatalogPackage {\n comment?: string;\n dataEvent?: string;\n}\n\nconst PackageCardContext = createContext<PackageCardState | null>(null);\n\nexport const usePackageCard = () => useContext(PackageCardContext)!;\n\nexport const PackageCard: FunctionComponent<PackageCardProps> = ({\n \"data-event\": dataEvent,\n pkg,\n variant = PackageCardType.Wide,\n}) => {\n return (\n <PackageCardContext.Provider value={{ ...pkg, dataEvent }}>\n {variant === PackageCardType.Wide && <WideCard />}\n </PackageCardContext.Provider>\n );\n};\n","import { Tag, TagLabel, TagProps } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { getSearchPath } from \"../../util/url\";\nimport { NavLink } from \"../NavLink\";\n\nexport interface PackageTagProps extends TagProps {\n value: string;\n label?: string;\n zIndex?: string | number;\n}\n\nexport const PackageTag: FunctionComponent<PackageTagProps> = ({\n children,\n value,\n label = value,\n zIndex,\n ...tagProps\n}) => {\n return (\n <NavLink\n aria-label={`Tag: ${label}`}\n to={getSearchPath({ keywords: [value] })}\n zIndex={zIndex}\n >\n <Tag\n _hover={{\n textDecoration: \"underline\",\n }}\n {...tagProps}\n >\n <TagLabel>{children}</TagLabel>\n </Tag>\n </NavLink>\n );\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 { Box, BoxProps, forwardRef } from \"@chakra-ui/react\";\nimport { format } from \"date-fns\";\n\nexport type TimeOptions = {\n date: Date;\n format?: string;\n formattedDate?: string;\n};\n\nexport interface TimeProps extends BoxProps, TimeOptions {}\n\nexport const Time = forwardRef<TimeProps, \"time\">(\n ({ date, format: formatString, formattedDate, ...boxProps }, ref) => {\n return (\n <Box as=\"time\" dateTime={date.toISOString()} ref={ref} {...boxProps}>\n {formattedDate ?? format(date, formatString ?? \"\")}\n </Box>\n );\n }\n);\n\nTime.displayName = \"Time\";\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 { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport { Language, TEMP_SUPPORTED_LANGUAGES } from \"../../constants/languages\";\nimport { QUERY_PARAMS } from \"../../constants/url\";\nimport { useQueryParams } from \"../../hooks/useQueryParams\";\n\n// Only supported language atm\nconst defaultLang = Language.TypeScript;\n\nconst LOCAL_KEY = \"preferred-language\";\n\nconst isValidLang = (lang?: string | Language): lang is Language =>\n lang != null && TEMP_SUPPORTED_LANGUAGES.has(lang as Language);\n\nconst getInitialLang = (langFromParams: string | Language): Language => {\n // First, use language from query params in url\n if (isValidLang(langFromParams)) {\n return langFromParams;\n }\n\n // Next check for one stored in localStorage\n try {\n const storedLang = (localStorage.getItem(LOCAL_KEY) ?? \"\") as Language;\n if (isValidLang(storedLang)) return storedLang;\n } catch {\n // Do nothing, we just don't want to crash if localStorage access is blocked.\n }\n\n // Otherwise fallback to a default\n return defaultLang;\n};\n\nexport interface UseLanguageOptions {\n /**\n * Syncs the preferred language to a query param in URL\n */\n updateUrl?: boolean;\n /**\n * Saves the selected language to localStorage on select\n */\n updateSaved?: boolean;\n}\n\nexport const useLanguage = (options: UseLanguageOptions = {}) => {\n const { updateUrl, updateSaved } = options;\n const { pathname, hash } = useLocation();\n const { replace } = useHistory();\n const params = useQueryParams();\n const langFromParams = params.get(QUERY_PARAMS.LANGUAGE) as Language;\n\n // Passed as function to guarantee it runs on hook mount\n const [language, setLanguage] = useState<Language>(() =>\n getInitialLang(langFromParams)\n );\n\n // State subscribes to query param changes\n useEffect(() => {\n if (isValidLang(langFromParams) && langFromParams !== language) {\n setLanguage(langFromParams);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [langFromParams]);\n\n // Syncs language changes to URL if updateUrl = true\n useEffect(() => {\n if (langFromParams !== language && updateUrl) {\n params.set(QUERY_PARAMS.LANGUAGE, language);\n replace({ pathname, hash, search: params.toString() });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [language, updateUrl]);\n\n const update = useCallback(\n (val: Language) => {\n setLanguage(val);\n\n if (updateSaved) {\n try {\n localStorage.setItem(LOCAL_KEY, val);\n } catch {\n // OK to fail silently\n }\n }\n },\n [updateSaved]\n );\n\n return useMemo(() => [language, update] as const, [language, update]);\n};\n","import { useMemo } from \"react\";\nimport { useLocation } from \"react-router-dom\";\n\nexport const useQueryParams = () => {\n const { search } = useLocation();\n\n return useMemo(() => new URLSearchParams(search), [search]);\n};\n","import { PackageHighlight, PackageTagConfig } from \"../api/config\";\nimport { KEYWORD_IGNORE_LIST } from \"../constants/keywords\";\n\nexport interface TagObject extends PackageTagConfig {}\n\n/**\n * Reduces package tags to only return highlight tags\n */\nexport const highlightsFrom = (packageTags?: PackageTagConfig[]) => {\n if (!packageTags || packageTags.length < 1) return [];\n\n return packageTags.reduce(\n (accum: PackageHighlight[], tag: PackageTagConfig): PackageHighlight[] => {\n if (tag.highlight) {\n return [...accum, tag.highlight];\n }\n\n return accum;\n },\n []\n );\n};\n\n/**\n * Maps packageTags to an array of TagObjects, which can be rendered by the PackageTags Component\n */\nexport const mapPackageTags = (\n packageTags?: PackageTagConfig[]\n): TagObject[] => {\n return (packageTags ?? [])\n .filter((tag) => {\n return Boolean(tag.keyword?.label);\n })\n .map((tag) => ({\n ...tag,\n id: tag.keyword?.label!,\n }));\n};\n\n/**\n * Maps keywords to an array of TagObjects, which can be rendered by the PackageTags component\n */\nexport const mapPackageKeywords = (keywords?: string[]): TagObject[] => {\n if (!keywords || keywords.length < 1) return [];\n\n return keywords\n .filter((label) => Boolean(label) && !KEYWORD_IGNORE_LIST.has(label))\n .map((label) => ({\n id: label,\n keyword: {\n label,\n },\n }));\n};\n\n/**\n * Maps packageTags and keywords to a list of TagObjects, using mapPackageTags and mapPackageKeywords\n */\nexport const tagObjectsFrom = ({\n packageTags,\n keywords,\n}: {\n packageTags?: PackageTagConfig[];\n keywords?: string[];\n}): TagObject[] => {\n const tagObjects = new Array<TagObject>();\n const tagLabels = new Set<string>();\n\n for (const tag of [\n ...mapPackageTags(packageTags),\n ...mapPackageKeywords(keywords),\n ]) {\n const label = tag.keyword!.label.toLowerCase();\n if (!tagLabels.has(label)) {\n tagObjects.push(tag);\n tagLabels.add(label);\n }\n }\n\n return tagObjects;\n};\n"],"names":["Highlight","label","color","icon","brightness","useColorModeValue","align","direction","filter","spacing","alt","src","w","fontWeight","LanguageSupportTooltip","children","language","isSupported","TEMP_SUPPORTED_LANGUAGES","langName","LANGUAGE_NAME_MAP","message","hasArrow","placement","PackageCardType","createTestIds","Detail","dataTestid","tooltip","value","isDisabled","fontSize","zIndex","Details","usePackageCard","author","date","metadata","name","data","useStats","downloads","packages","npm","authorName","publishDate","Date","undefined","testIds","toLocaleString","Time","formattedDate","formatDistanceToNowStrict","addSuffix","NavLink","to","getSearchPath","query","EditorsNote","comment","lineHeight","noOfLines","as","Heading","useLanguage","currentLanguage","dataEvent","description","constructFrameworks","version","Link","eventName","getPackagePath","CDKType","mr","wordBreak","packageTags","highlightsFrom","highlight","sizes","sm","md","lg","PackageLanguages","isRounded","languages","packageName","size","targets","Object","keys","entries","LANGUAGE_RENDER_MAP","sort","left","right","LANGUAGES","map","lang","info","isSupportedByLibrary","Language","includes","isSupportedByConstructHub","Icon","borderRadius","h","opacity","Languages","pkg","Tags","keywords","tags","tagObjectsFrom","slice","id","keyword","PackageTag","variant","WideCard","_hover","bg","border","boxShadow","minH","templateColumns","base","justify","overflow","p","sx","gap","wrap","borderLeft","borderTop","PackageCardContext","createContext","useContext","PackageCard","Wide","Provider","tagProps","textDecoration","pageInfo","contribute","event","home","faq","packageProfile","search","siteTerms","notFound","page","pageType","Page","join","meta","pageName","trackPageView","usePageView","useEffect","feedUrls","useConfigValue","suffix","title","formattedTitle","Helmet","process","content","charSet","url","mimeType","href","rel","type","property","forwardRef","ref","formatString","format","boxProps","dateTime","toISOString","displayName","key","useConfig","defaultLang","LOCAL_KEY","isValidLang","getInitialLang","langFromParams","storedLang","localStorage","getItem","options","updateUrl","updateSaved","useLocation","pathname","hash","useHistory","replace","params","useQueryParams","get","QUERY_PARAMS","useState","setLanguage","set","toString","update","useCallback","val","setItem","useMemo","URLSearchParams","length","reduce","accum","tag","tagObjects","Array","tagLabels","Set","Boolean","mapPackageTags","KEYWORD_IGNORE_LIST","mapPackageKeywords","toLowerCase","has","push","add"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunkconstruct_hub_webapp=self.webpackChunkconstruct_hub_webapp||[]).push([[540],{41712:function(e,t,n){n.d(t,{T:function(){return d}});var s=n(72791),a=n(54270),r={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),c=n(56804),o=n(80184),d=(["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,d=e.pageName,h=(0,i.aQ)(r[d]);(0,s.useEffect)((function(){h()}),[h]);var m=(0,c.E)("feeds")||[],u=n.suffix,l=void 0===u||u,p=n.title,f=n.description,b=l?"".concat(p," - Construct Hub"):p;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(a.q,{children:[!1,(0,o.jsx)("meta",{content:"width=device-width, initial-scale=1",name:"viewport"}),(0,o.jsx)("meta",{charSet:"utf-8"}),m.map((function(e){var t=e.url,n=e.mimeType;return(0,o.jsx)("link",{href:t,rel:"alternate",type:n},t)})),(0,o.jsx)("title",{children:b}),(0,o.jsx)("meta",{content:b,property:"og:title"}),(0,o.jsx)("meta",{content:b,name:"twitter:title"}),(0,o.jsx)("meta",{content:"summary",name:"twitter:card"}),(0,o.jsx)("meta",{content:f,name:"description"}),(0,o.jsx)("meta",{content:f,property:"og:description"}),(0,o.jsx)("meta",{content:f,name:"twitter:description"})]}),t]})})},56804:function(e,t,n){n.d(t,{E:function(){return a}});var s=n(24026),a=function(e){var t=(0,s.Z)().data;return(null!==t&&void 0!==t?t:{})[e]}},98540:function(e,t,n){n.r(t),n.d(t,{default:function(){return o}});var s=n(28735),a=n(6074),r=n(41712),i=n(76798),c=n(80184),o=function(){return(0,c.jsx)(r.T,{meta:{title:"Site Terms",description:"View the Construct Hub Site Terms"},pageName:"siteTerms",children:(0,c.jsx)(s.xu,{bg:"bgSecondary",h:"100%",py:16,w:"100%",children:(0,c.jsxs)(s.xu,{as:"article",color:"textPrimary",fontSize:"lg",maxW:{base:"80%",md:"38rem"},mx:"auto",textAlign:"justify",w:"100%",children:[(0,c.jsx)(s.X6,{as:"h1",color:"textPrimary",mb:8,mx:"auto",size:"lg",children:"AWS Site Terms for CDK Construct Hub"}),(0,c.jsxs)(s.Kq,{spacing:4,children:[(0,c.jsx)(s.xv,{fontStyle:"italic",children:"Last Updated: July 2021"}),(0,c.jsxs)(s.xv,{children:["Welcome to the AWS CDK Construct Hub site (the \u201cAWS Site\u201d or \u201cConstruct Hub\u201d). Except as specifically follows, the AWS CDK Construct Hub site shall be subject to the"," ",(0,c.jsx)(a.d,{hasWarning:!1,href:"https://aws.amazon.com/terms/",children:"Site Terms"})," ","(\u201cAWS Site Terms\u201d) and considered an AWS Site for purposes of applying the AWS Site Terms (together, the \u201cCDK Construct Hub Site Terms\u201d)."]}),(0,c.jsxs)(s.xv,{children:["In place of the \u201cLicense and Site Access\u201d term of the AWS Site Terms, the Construct Hub is provided to you under this license:"," ",(0,c.jsx)(a.d,{hasWarning:!1,href:"".concat(i.Sx,"/blob/main/LICENSE"),children:"".concat(i.Sx,"/blob/main/LICENSE")}),". Some AWS Content and Third-Party Content may be provided to you under a separate license, such as the Apache License, Version 2.0, or other open source license. In the event of a conflict between the CDK Construct Hub Site Terms and any separate license, the separate license will prevail with respect to the AWS Content or Third-Party Content that is the subject of such separate license. This AWS Site is a construct registry and search site. The links to the CDK constructs displayed may comprise third party user generated content which shall, in any case, be subject to the \u201cDisclaimer of Warranties and Limitation of Liability\u201d section of the AWS Site Terms. Accessing a construct via its hyperlink will send you to a non-affiliated third party website (\u2018Third-Party Website\u201d) and you shall be subject to the terms and conditions of that Third-Party Website upon entering it."]})]})]})})})}}}]);
2
+ //# sourceMappingURL=540.c326d22f.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/js/540.c326d22f.chunk.js","mappings":"4LAAaA,EAAW,CACtBC,WAAY,CACVC,MAAO,CACLC,KAAM,oBAGVC,KAAM,CACJF,MAAO,CACLC,KAAM,cAGVE,IAAK,CACHH,MAAO,CACLC,KAAM,oCAGVG,eAAgB,CACdJ,MAAO,CACLC,KAAM,yBAGVI,OAAQ,CACNL,MAAO,CACLC,KAAM,gBAGVK,UAAW,CACTN,MAAO,CACLC,KAAM,oBAGVM,SAAU,CACRC,KAAM,CACJC,SAAU,aAEZT,MAAO,CACLC,KAAM,mB,iCCTCS,GATD,CACV,6DACA,wNACA,yDACA,qKACA,qBACA,qCACAC,KAAK,KAE2C,SAAC,GAI5C,IAHLC,EAGI,EAHJA,SACAC,EAEI,EAFJA,KACAC,EACI,EADJA,SAEMC,GAAgBC,EAAAA,EAAAA,IAAYlB,EAASgB,KAE3CG,EAAAA,EAAAA,YAAU,WACRF,MACC,CAACA,IAEJ,IAAMG,GAAWC,EAAAA,EAAAA,GAAe,UAAY,GAC5C,EAA8CN,EAAtCO,OAAAA,OAAR,SAAuBC,EAAuBR,EAAvBQ,MAAOC,EAAgBT,EAAhBS,YACxBC,EAAiBH,EAAM,UAAMC,EAAN,oBAAgCA,EAE7D,OACE,iCACE,UAACG,EAAA,EAAD,YACGC,GAID,iBAAMC,QAAQ,sCAAsCzB,KAAK,cACzD,iBAAM0B,QAAQ,UACbT,EAASU,KAAI,gBAAGC,EAAH,EAAGA,IAAKC,EAAR,EAAQA,SAAR,OACZ,iBAAMC,KAAMF,EAAeG,IAAI,YAAYC,KAAMH,GAA3BD,OAGxB,2BAAQN,KACR,iBAAMG,QAASH,EAAgBW,SAAS,cACxC,iBAAMR,QAASH,EAAgBtB,KAAK,mBACpC,iBAAMyB,QAAQ,UAAUzB,KAAK,kBAE7B,iBAAMyB,QAASJ,EAAarB,KAAK,iBACjC,iBAAMyB,QAASJ,EAAaY,SAAS,oBACrC,iBAAMR,QAASJ,EAAarB,KAAK,2BAElCW,Q,qEC7DMO,EAAiB,SAAyBgB,GACrD,IAAQC,GAASC,EAAAA,EAAAA,KAATD,KACR,OAAO,OAACA,QAAD,IAACA,EAAAA,EAAQ,IAAID,K,6HCCTG,EAA+B,kBAC1C,SAAC5B,EAAA,EAAD,CACEG,KAAM,CACJQ,MAAO,aACPC,YAAa,qCAEfR,SAAS,YALX,UAOE,SAAC,KAAD,CAAKyB,GAAG,cAAcC,EAAE,OAAOC,GAAI,GAAIC,EAAE,OAAzC,UACE,UAAC,KAAD,CACEC,GAAG,UACHC,MAAM,cACNC,SAAS,KACTC,KAAM,CAAEC,KAAM,MAAOC,GAAI,SACzBC,GAAG,OACHC,UAAU,UACVR,EAAE,OAPJ,WASE,SAAC,KAAD,CAASC,GAAG,KAAKC,MAAM,cAAcO,GAAI,EAAGF,GAAG,OAAOG,KAAK,KAA3D,mDAGA,UAAC,KAAD,CAAOC,QAAS,EAAhB,WACE,SAAC,KAAD,CAAMC,UAAU,SAAhB,sCACA,UAAC,KAAD,uMAG6C,KAC3C,SAACC,EAAA,EAAD,CACEC,YAAY,EACZzB,KAAK,gCAFP,wBAKgB,IATlB,oKAcA,UAAC,KAAD,sJAEkE,KAChE,SAACwB,EAAA,EAAD,CACEC,YAAY,EACZzB,KAAI,UAAK0B,EAAAA,GAAL,sBAFN,mBAIMA,EAAAA,GAJN,wBAHF","sources":["constants/pageInfo.ts","components/Page/Page.tsx","hooks/useConfigValue/useConfigValue.ts","views/SiteTerms/SiteTerms.tsx"],"sourcesContent":["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 { Box, Heading, Stack, Text } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { ExternalLink } from \"../../components/ExternalLink\";\nimport { Page } from \"../../components/Page\";\nimport { CONSTRUCT_HUB_REPO_URL } from \"../../constants/links\";\n\nexport const SiteTerms: FunctionComponent = () => (\n <Page\n meta={{\n title: \"Site Terms\",\n description: \"View the Construct Hub Site Terms\",\n }}\n pageName=\"siteTerms\"\n >\n <Box bg=\"bgSecondary\" h=\"100%\" py={16} w=\"100%\">\n <Box\n as=\"article\"\n color=\"textPrimary\"\n fontSize=\"lg\"\n maxW={{ base: \"80%\", md: \"38rem\" }}\n mx=\"auto\"\n textAlign=\"justify\"\n w=\"100%\"\n >\n <Heading as=\"h1\" color=\"textPrimary\" mb={8} mx=\"auto\" size=\"lg\">\n AWS Site Terms for CDK Construct Hub\n </Heading>\n <Stack spacing={4}>\n <Text fontStyle=\"italic\">Last Updated: July 2021</Text>\n <Text>\n Welcome to the AWS CDK Construct Hub site (the “AWS Site” or\n “Construct Hub”). Except as specifically follows, the AWS CDK\n Construct Hub site shall be subject to the{\" \"}\n <ExternalLink\n hasWarning={false}\n href=\"https://aws.amazon.com/terms/\"\n >\n Site Terms\n </ExternalLink>{\" \"}\n (“AWS Site Terms”) and considered an AWS Site for purposes of\n applying the AWS Site Terms (together, the “CDK Construct Hub Site\n Terms”).\n </Text>\n <Text>\n In place of the “License and Site Access” term of the AWS Site\n Terms, the Construct Hub is provided to you under this license:{\" \"}\n <ExternalLink\n hasWarning={false}\n href={`${CONSTRUCT_HUB_REPO_URL}/blob/main/LICENSE`}\n >\n {`${CONSTRUCT_HUB_REPO_URL}/blob/main/LICENSE`}\n </ExternalLink>\n . Some AWS Content and Third-Party Content may be provided to you\n under a separate license, such as the Apache License, Version 2.0,\n or other open source license. In the event of a conflict between the\n CDK Construct Hub Site Terms and any separate license, the separate\n license will prevail with respect to the AWS Content or Third-Party\n Content that is the subject of such separate license. This AWS Site\n is a construct registry and search site. The links to the CDK\n constructs displayed may comprise third party user generated content\n which shall, in any case, be subject to the “Disclaimer of\n Warranties and Limitation of Liability” section of the AWS Site\n Terms. Accessing a construct via its hyperlink will send you to a\n non-affiliated third party website (‘Third-Party Website”) and you\n shall be subject to the terms and conditions of that Third-Party\n Website upon entering it.\n </Text>\n </Stack>\n </Box>\n </Box>\n </Page>\n);\n"],"names":["pageInfo","contribute","event","name","home","faq","packageProfile","search","siteTerms","notFound","page","pageType","Page","join","children","meta","pageName","trackPageView","usePageView","useEffect","feedUrls","useConfigValue","suffix","title","description","formattedTitle","Helmet","process","content","charSet","map","url","mimeType","href","rel","type","property","key","data","useConfig","SiteTerms","bg","h","py","w","as","color","fontSize","maxW","base","md","mx","textAlign","mb","size","spacing","fontStyle","ExternalLink","hasWarning","CONSTRUCT_HUB_REPO_URL"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunkconstruct_hub_webapp=self.webpackChunkconstruct_hub_webapp||[]).push([[577],{41712:function(e,t,n){n.d(t,{T:function(){return l}});var r=n(72791),a=n(54270),s={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),o=n(56804),c=n(80184),l=(["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,l=e.pageName,d=(0,i.aQ)(s[l]);(0,r.useEffect)((function(){d()}),[d]);var u=(0,o.E)("feeds")||[],m=n.suffix,f=void 0===m||m,p=n.title,h=n.description,g=f?"".concat(p," - Construct Hub"):p;return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(a.q,{children:[!1,(0,c.jsx)("meta",{content:"width=device-width, initial-scale=1",name:"viewport"}),(0,c.jsx)("meta",{charSet:"utf-8"}),u.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:g}),(0,c.jsx)("meta",{content:g,property:"og:title"}),(0,c.jsx)("meta",{content:g,name:"twitter:title"}),(0,c.jsx)("meta",{content:"summary",name:"twitter:card"}),(0,c.jsx)("meta",{content:h,name:"description"}),(0,c.jsx)("meta",{content:h,property:"og:description"}),(0,c.jsx)("meta",{content:h,name:"twitter:description"})]}),t]})})},56804:function(e,t,n){n.d(t,{E:function(){return a}});var r=n(24026),a=function(e){var t=(0,r.Z)().data;return(null!==t&&void 0!==t?t:{})[e]}},42577:function(e,t,n){n.r(t),n.d(t,{NotFound:function(){return h},default:function(){return h}});var r=n(28735),a=n(82504),s=n(91523),i=n(41712),o=n(1413),c=n(45987),l=n(63209),d=n(53046),u=n(80184),m=["sources"],f=(0,l.Gp)((function(e,t){var n=e.sources,a=(0,c.Z)(e,m);return(0,u.jsxs)(r.xu,{as:"picture",children:[null===n||void 0===n?void 0:n.map((function(e,t){return(0,u.jsx)("source",{media:e.media,srcSet:e.srcSet},t)})),(0,u.jsx)(d.Ee,(0,o.Z)({ref:t},a))]})}));f.displayName="Picture";var p={optimal:[{media:"(max-width:1024px)",srcSet:"/assets/404-hive@50.webp"},{media:"(min-width:1024px)",srcSet:"/assets/404-hive@100.webp"},{media:"(min-width:1024px)",srcSet:"/assets/404-hive@100.png"}],fallback:"/assets/404-hive@50.png"},h=function(){return(0,u.jsx)(i.T,{meta:{title:"Not Found",description:"Oops! The page you were looking for does not exist"},pageName:"notFound",children:(0,u.jsxs)(r.M5,{h:"100%",position:"relative",w:"100%",children:[(0,u.jsx)(f,{alt:"",inset:0,position:"absolute",sources:p.optimal,src:p.fallback,zIndex:"hide"}),(0,u.jsxs)(r.kC,{align:"center",direction:"column",justify:"center",children:[(0,u.jsx)(f,{alt:"404 Image",sources:[{srcSet:"/assets/robot.webp"}],src:"/assets/robot.png"}),(0,u.jsx)(a.zx,{as:s.rU,colorScheme:"brand",to:"/",children:"Take Me Home"})]})]})})}},53046:function(e,t,n){n.d(t,{Ee:function(){return m}});var r=n(63209),a=n(96134),s=n(72791),i=n(8185);function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}function c(e,t){if(null==e)return{};var n,r,a={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}var l=["htmlWidth","htmlHeight","alt"],d=["fallbackSrc","fallback","src","srcSet","align","fit","loading","ignoreFallback","crossOrigin"],u=s.forwardRef((function(e,t){var n=e.htmlWidth,r=e.htmlHeight,a=e.alt,i=c(e,l);return s.createElement("img",o({width:n,height:r,ref:t,alt:a},i))})),m=(0,r.Gp)((function(e,t){var n=e.fallbackSrc,l=e.fallback,m=e.src,f=e.srcSet,p=e.align,h=e.fit,g=e.loading,v=e.ignoreFallback,b=e.crossOrigin,x=c(e,d),w=null!=g||v||void 0===n&&void 0===l,j=function(e){var t=e.loading,n=e.src,r=e.srcSet,a=e.onLoad,o=e.onError,c=e.crossOrigin,l=e.sizes,d=e.ignoreFallback,u=(0,s.useState)("pending"),m=u[0],f=u[1];(0,s.useEffect)((function(){f(n?"loading":"pending")}),[n]);var p=(0,s.useRef)(),h=(0,s.useCallback)((function(){if(n){g();var e=new Image;e.src=n,c&&(e.crossOrigin=c),r&&(e.srcset=r),l&&(e.sizes=l),t&&(e.loading=t),e.onload=function(e){g(),f("loaded"),null==a||a(e)},e.onerror=function(e){g(),f("failed"),null==o||o(e)},p.current=e}}),[n,c,r,l,a,o,t]),g=function(){p.current&&(p.current.onload=null,p.current.onerror=null,p.current=null)};return(0,i.a)((function(){if(!d)return"loading"===m&&h(),function(){g()}}),[m,h,d]),d?"loaded":m}(o({},e,{ignoreFallback:w})),k=o({ref:t,objectFit:h,objectPosition:p},w?x:(0,a.CE)(x,["onError","onLoad"]));return"loaded"!==j?l||s.createElement(r.m$.img,o({as:u,className:"chakra-image__placeholder",src:n},k)):s.createElement(r.m$.img,o({as:u,src:m,srcSet:f,crossOrigin:b,loading:g,className:"chakra-image"},k))}));a.Ts&&(m.displayName="Image")}}]);
2
+ //# sourceMappingURL=577.b8baa31c.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/js/577.b8baa31c.chunk.js","mappings":"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","sources":["constants/pageInfo.ts","components/Page/Page.tsx","hooks/useConfigValue/useConfigValue.ts","components/Picture/Picture.tsx","views/NotFound/NotFound.tsx","../node_modules/@chakra-ui/image/dist/chakra-ui-image.esm.js"],"sourcesContent":["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 { Box, HTMLChakraProps, forwardRef, Image } from \"@chakra-ui/react\";\n\nexport interface PictureProps extends HTMLChakraProps<\"img\"> {\n alt: string;\n src: string;\n sources?: {\n media?: string;\n srcSet: string;\n }[];\n}\n\nexport const Picture = forwardRef<PictureProps, \"img\">(\n ({ sources, ...props }, ref) => (\n <Box as=\"picture\">\n {sources?.map((source, idx) => (\n <source key={idx} media={source.media} srcSet={source.srcSet} />\n ))}\n <Image ref={ref} {...props} />\n </Box>\n )\n);\n\nPicture.displayName = \"Picture\";\n","import { Button, Center, Flex } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Page } from \"../../components/Page\";\nimport { Picture } from \"../../components/Picture\";\n\nconst bgSources = {\n optimal: [\n { media: \"(max-width:1024px)\", srcSet: \"/assets/404-hive@50.webp\" },\n { media: \"(min-width:1024px)\", srcSet: \"/assets/404-hive@100.webp\" },\n { media: \"(min-width:1024px)\", srcSet: \"/assets/404-hive@100.png\" },\n ],\n fallback: \"/assets/404-hive@50.png\",\n};\n\nexport const NotFound: FunctionComponent = () => {\n return (\n <Page\n meta={{\n title: \"Not Found\",\n description: \"Oops! The page you were looking for does not exist\",\n }}\n pageName=\"notFound\"\n >\n <Center h=\"100%\" position=\"relative\" w=\"100%\">\n <Picture\n alt=\"\"\n inset={0}\n position=\"absolute\"\n sources={bgSources.optimal}\n src={bgSources.fallback}\n zIndex=\"hide\"\n />\n <Flex align=\"center\" direction=\"column\" justify=\"center\">\n <Picture\n alt=\"404 Image\"\n sources={[{ srcSet: \"/assets/robot.webp\" }]}\n src=\"/assets/robot.png\"\n />\n <Button as={Link} colorScheme=\"brand\" to=\"/\">\n Take Me Home\n </Button>\n </Flex>\n </Center>\n </Page>\n );\n};\n","import { forwardRef, chakra } from '@chakra-ui/system';\nimport { omit, __DEV__ } from '@chakra-ui/utils';\nimport * as React from 'react';\nimport { useState, useEffect, useRef, useCallback } from 'react';\nimport { useSafeLayoutEffect } from '@chakra-ui/hooks';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\n/**\n * React hook that loads an image in the browser,\n * and let's us know the `status` so we can show image\n * fallback if it is still `pending`\n *\n * @returns the status of the image loading progress\n *\n * @example\n *\n * ```jsx\n * function App(){\n * const status = useImage({ src: \"image.png\" })\n * return status === \"loaded\" ? <img src=\"image.png\" /> : <Placeholder />\n * }\n * ```\n */\nfunction useImage(props) {\n var loading = props.loading,\n src = props.src,\n srcSet = props.srcSet,\n onLoad = props.onLoad,\n onError = props.onError,\n crossOrigin = props.crossOrigin,\n sizes = props.sizes,\n ignoreFallback = props.ignoreFallback;\n\n var _useState = useState(\"pending\"),\n status = _useState[0],\n setStatus = _useState[1];\n\n useEffect(function () {\n setStatus(src ? \"loading\" : \"pending\");\n }, [src]);\n var imageRef = useRef();\n var load = useCallback(function () {\n if (!src) return;\n flush();\n var img = new Image();\n img.src = src;\n if (crossOrigin) img.crossOrigin = crossOrigin;\n if (srcSet) img.srcset = srcSet;\n if (sizes) img.sizes = sizes;\n if (loading) img.loading = loading;\n\n img.onload = function (event) {\n flush();\n setStatus(\"loaded\");\n onLoad == null ? void 0 : onLoad(event);\n };\n\n img.onerror = function (error) {\n flush();\n setStatus(\"failed\");\n onError == null ? void 0 : onError(error);\n };\n\n imageRef.current = img;\n }, [src, crossOrigin, srcSet, sizes, onLoad, onError, loading]);\n\n var flush = function flush() {\n if (imageRef.current) {\n imageRef.current.onload = null;\n imageRef.current.onerror = null;\n imageRef.current = null;\n }\n };\n\n useSafeLayoutEffect(function () {\n /**\n * If user opts out of the fallback/placeholder\n * logic, let's bail out.\n */\n if (ignoreFallback) return undefined;\n\n if (status === \"loading\") {\n load();\n }\n\n return function () {\n flush();\n };\n }, [status, load, ignoreFallback]);\n /**\n * If user opts out of the fallback/placeholder\n * logic, let's just return 'loaded'\n */\n\n return ignoreFallback ? \"loaded\" : status;\n}\n\nvar _excluded = [\"htmlWidth\", \"htmlHeight\", \"alt\"],\n _excluded2 = [\"fallbackSrc\", \"fallback\", \"src\", \"srcSet\", \"align\", \"fit\", \"loading\", \"ignoreFallback\", \"crossOrigin\"];\nvar NativeImage = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var htmlWidth = props.htmlWidth,\n htmlHeight = props.htmlHeight,\n alt = props.alt,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n return /*#__PURE__*/React.createElement(\"img\", _extends({\n width: htmlWidth,\n height: htmlHeight,\n ref: ref,\n alt: alt\n }, rest));\n});\n\n/**\n * React component that renders an image with support\n * for fallbacks\n *\n * @see Docs https://chakra-ui.com/image\n */\nvar Image$1 = /*#__PURE__*/forwardRef(function (props, ref) {\n var fallbackSrc = props.fallbackSrc,\n fallback = props.fallback,\n src = props.src,\n srcSet = props.srcSet,\n align = props.align,\n fit = props.fit,\n loading = props.loading,\n ignoreFallback = props.ignoreFallback,\n crossOrigin = props.crossOrigin,\n rest = _objectWithoutPropertiesLoose(props, _excluded2);\n /**\n * Defer to native `img` tag if `loading` prop is passed\n * @see https://github.com/chakra-ui/chakra-ui/issues/1027\n */\n\n\n var shouldIgnore = loading != null || ignoreFallback || fallbackSrc === undefined && fallback === undefined; // if the user doesn't provide any kind of fallback we should ignore it\n\n var status = useImage(_extends({}, props, {\n ignoreFallback: shouldIgnore\n }));\n\n var shared = _extends({\n ref: ref,\n objectFit: fit,\n objectPosition: align\n }, shouldIgnore ? rest : omit(rest, [\"onError\", \"onLoad\"]));\n\n if (status !== \"loaded\") {\n /**\n * If user passed a custom fallback component,\n * let's render it here.\n */\n if (fallback) return fallback;\n return /*#__PURE__*/React.createElement(chakra.img, _extends({\n as: NativeImage,\n className: \"chakra-image__placeholder\",\n src: fallbackSrc\n }, shared));\n }\n\n return /*#__PURE__*/React.createElement(chakra.img, _extends({\n as: NativeImage,\n src: src,\n srcSet: srcSet,\n crossOrigin: crossOrigin,\n loading: loading,\n className: \"chakra-image\"\n }, shared));\n});\n\n/**\n * Fallback component for most SSR users who want to use the native `img` with\n * support for chakra props\n */\nvar Img = /*#__PURE__*/forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(chakra.img, _extends({\n ref: ref,\n as: NativeImage,\n className: \"chakra-image\"\n }, props));\n});\n\nif (__DEV__) {\n Image$1.displayName = \"Image\";\n}\n\nexport { Image$1 as Image, Img, useImage };\n"],"names":["pageInfo","contribute","event","name","home","faq","packageProfile","search","siteTerms","notFound","page","pageType","Page","join","children","meta","pageName","trackPageView","usePageView","useEffect","feedUrls","useConfigValue","suffix","title","description","formattedTitle","Helmet","process","content","charSet","map","url","mimeType","href","rel","type","property","key","data","useConfig","Picture","forwardRef","ref","sources","props","as","source","idx","media","srcSet","displayName","bgSources","optimal","fallback","NotFound","h","position","w","alt","inset","src","zIndex","align","direction","justify","Link","colorScheme","to","_extends","Object","assign","target","i","arguments","length","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","_excluded","_excluded2","NativeImage","React","htmlWidth","htmlHeight","rest","width","height","Image$1","fallbackSrc","fit","loading","ignoreFallback","crossOrigin","shouldIgnore","undefined","status","onLoad","onError","sizes","_useState","useState","setStatus","imageRef","useRef","load","useCallback","flush","img","Image","srcset","onload","onerror","error","current","useSafeLayoutEffect","useImage","shared","objectFit","objectPosition","omit","chakra","className","__DEV__"],"sourceRoot":""}
@@ -0,0 +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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/js/679.72a0bb1a.chunk.js","mappings":"qTAGaA,EAAyB,SAAC,GAAD,IAAGC,EAAH,EAAGA,SAAH,OACpC,UAAC,KAAD,CAAKC,GAAG,cAAcC,MAAM,cAAcC,EAAE,OAAOC,EAAE,OAArD,UACGJ,GACD,SAAC,KAAD,CAAKK,GAAI,EAAGC,MAAM,aCHTC,EAAgC,SAAC,GAAD,IAAGP,EAAH,EAAGA,SAAH,OAC3C,SAAC,KAAD,CAAKC,GAAG,YAAYI,GAAI,GAAIC,MAAM,OAAlC,UACE,SAAC,KAAD,CAASE,GAAG,KAAKN,MAAM,cAAcO,GAAG,OAAOC,UAAU,SAAzD,SACGV,O,WCSMW,EAA2C,SAAC,GAAD,IACtDC,EADsD,EACtDA,SACAZ,EAFsD,EAEtDA,SAFsD,OAItD,UAAC,KAAD,YACE,UAAC,KAAD,YACE,SAAC,KAAD,CAAKa,KAAK,IAAIR,GAAI,EAAGK,UAAU,OAA/B,UACE,SAAC,KAAD,CAASF,GAAG,KAAKM,GAAI,EAAGC,KAAK,KAA7B,SACGH,OAGL,SAAC,KAAD,QAEF,SAAC,KAAD,CAAgBI,GAAI,GAAIX,GAAI,EAA5B,UACE,SAAC,KAAD,CACEH,MAAM,cACNe,SAAS,KACTC,GAAI,CAAEC,EAAG,CAAEC,UAAW,IAAKC,aAAc,MAH3C,SAKGrB,U,UC3BIsB,EAA2C,SAAC,GAAD,IACtDC,EADsD,EACtDA,KACAvB,EAFsD,EAEtDA,SAFsD,OAItD,SAACwB,EAAA,EAAD,CACEtB,MAAM,UACNuB,YAAY,EACZF,KAAMA,EACNG,eAAe,YAJjB,SAMG1B,KCDQ2B,EAAiD,SAAC,GAAD,IAC5DC,EAD4D,EAC5DA,QACA5B,EAF4D,EAE5DA,SAF4D,OAI5D,UAAC,KAAD,YACE,UAAC,KAAD,YACE,SAAC,KAAD,CAAKa,KAAK,IAAIH,UAAU,OAAxB,UACE,SAAC,KAAD,CAASF,GAAG,KAAKM,GAAI,EAAGe,GAAI,EAAGd,KAAK,KAApC,SACGa,OAGL,SAAC,KAAD,QAEF,SAAC,KAAD,CAAgBT,EAAG,EAAnB,UACE,SAAC,KAAD,CAAWW,eAAa,EAAC1B,EAAE,OAA3B,SACGJ,U,oCC5BI+B,EAAiD,SAAC,GAAD,IAC5D/B,EAD4D,EAC5DA,SACGgC,GAFyD,mBAI5D,SAAC,MAAD,gBAAWF,eAAa,GAAKE,GAA7B,aACGhC,O,gFCRQiC,EAAW,CACtBC,WAAY,CACVC,MAAO,CACLC,KAAM,oBAGVC,KAAM,CACJF,MAAO,CACLC,KAAM,cAGVE,IAAK,CACHH,MAAO,CACLC,KAAM,oCAGVG,eAAgB,CACdJ,MAAO,CACLC,KAAM,yBAGVI,OAAQ,CACNL,MAAO,CACLC,KAAM,gBAGVK,UAAW,CACTN,MAAO,CACLC,KAAM,oBAGVM,SAAU,CACRC,KAAM,CACJC,SAAU,aAEZT,MAAO,CACLC,KAAM,mB,iCCTCS,GATD,CACV,6DACA,wNACA,yDACA,qKACA,qBACA,qCACAC,KAAK,KAE2C,SAAC,GAI5C,IAHL9C,EAGI,EAHJA,SACA+C,EAEI,EAFJA,KACAC,EACI,EADJA,SAEMC,GAAgBC,EAAAA,EAAAA,IAAYjB,EAASe,KAE3CG,EAAAA,EAAAA,YAAU,WACRF,MACC,CAACA,IAEJ,IAAMG,GAAWC,EAAAA,EAAAA,GAAe,UAAY,GAC5C,EAA8CN,EAAtCO,OAAAA,OAAR,SAAuBC,EAAuBR,EAAvBQ,MAAOC,EAAgBT,EAAhBS,YACxBC,EAAiBH,EAAM,UAAMC,EAAN,oBAAgCA,EAE7D,OACE,iCACE,UAACG,EAAA,EAAD,YACGC,GAID,iBAAMC,QAAQ,sCAAsCxB,KAAK,cACzD,iBAAMyB,QAAQ,UACbT,EAASU,KAAI,gBAAGC,EAAH,EAAGA,IAAKC,EAAR,EAAQA,SAAR,OACZ,iBAAMzC,KAAMwC,EAAeE,IAAI,YAAYC,KAAMF,GAA3BD,OAGxB,2BAAQN,KACR,iBAAMG,QAASH,EAAgBU,SAAS,cACxC,iBAAMP,QAASH,EAAgBrB,KAAK,mBACpC,iBAAMwB,QAAQ,UAAUxB,KAAK,kBAE7B,iBAAMwB,QAASJ,EAAapB,KAAK,iBACjC,iBAAMwB,QAASJ,EAAaW,SAAS,oBACrC,iBAAMP,QAASJ,EAAapB,KAAK,2BAElCpC,Q,qEC7DMqD,EAAiB,SAAyBe,GACrD,IAAQC,GAASC,EAAAA,EAAAA,KAATD,KACR,OAAO,OAACA,QAAD,IAACA,EAAAA,EAAQ,IAAID,K,4HCQTG,EAA6B,kBACxC,SAAC1B,EAAA,EAAD,CACEE,KAAM,CACJQ,MAAO,MACPC,YAAa,8BAEfR,SAAS,MALX,UAOE,UAACjD,EAAA,GAAD,YACE,SAACA,EAAA,GAAD,0CAEA,UAACA,EAAA,GAAD,CAAayE,aAAc,CAAC,EAAG,GAA/B,WACE,UAACzE,EAAA,GAAD,CAAY6B,QAAQ,UAApB,WACE,UAAC7B,EAAA,GAAD,CAASa,SAAS,yCAAlB,8NAIqB,KACnB,SAACb,EAAA,GAAD,CAASwB,KAAK,oCAAd,+CALF,QAWA,SAACxB,EAAA,GAAD,CAASa,SAAS,yBAAlB,UACE,yTASF,SAACb,EAAA,GAAD,CAASa,SAAS,kCAAlB,UACE,SAAC,KAAD,iXAUF,SAACb,EAAA,GAAD,CAASa,SAAS,uBAAlB,UACE,UAAC,KAAD,6EACkE,KAChE,2CAFF,2UAWF,UAACb,EAAA,GAAD,CAASa,SAAS,4DAAlB,WACE,UAAC,KAAD,4QAI6D,KAC3D,SAACb,EAAA,GAAD,CAASwB,KAAK,wDAAd,gDAEW,IAPb,wBAQwB,KACtB,SAACxB,EAAA,GAAD,CAASwB,KAAK,gDAAd,qCAEW,IAXb,4BAY4B,KAC1B,SAACxB,EAAA,GAAD,CAASwB,KAAK,gEAAd,0CAIF,SAAC,KAAD,iKAKA,SAAC,KAAD,yFAIA,SAAC,KAAD,8IAMF,SAACxB,EAAA,GAAD,CAASa,SAAS,4CAAlB,UACE,SAAC,KAAD,0aAWF,SAACb,EAAA,GAAD,CAASa,SAAS,gFAAlB,UACE,UAAC,KAAD,iXAM2C,KACzC,SAACb,EAAA,GAAD,CAASwB,KAAK,+BAAd,sCAPF,UAcF,SAACxB,EAAA,GAAD,CAASa,SAAS,sDAAlB,UACE,SAAC,KAAD,8NAQF,SAACb,EAAA,GAAD,CAASa,SAAS,4CAAlB,UACE,UAAC,KAAD,6VAM6B,KAC3B,SAACb,EAAA,GAAD,CAASwB,KAAK,8BAAd,uCAEW,IATb,8BAcF,SAACxB,EAAA,GAAD,CAASa,SAAS,sCAAlB,UACE,UAAC,KAAD,yWAM0B,KACxB,SAACb,EAAA,GAAD,CAASwB,KAAK,oBAAd,gCAPF,+BAYF,SAACxB,EAAA,GAAD,CAASa,SAAS,qCAAlB,UACE,UAAC,KAAD,yUAKqE,KACnE,SAACb,EAAA,GAAD,CAASwB,KAAK,wDAAd,+BAEW,IARb,8BAaF,SAACxB,EAAA,GAAD,CAASa,SAAS,4CAAlB,UACE,SAAC,KAAD,iJAMF,SAACb,EAAA,GAAD,CAASa,SAAS,wBAAlB,UACE,SAAC,KAAD,iFAKF,SAACb,EAAA,GAAD,CAASa,SAAS,6CAAlB,UACE,SAAC,KAAD,2SASF,SAACb,EAAA,GAAD,CAASa,SAAS,+BAAlB,UACE,SAAC,KAAD,qJAMF,SAACb,EAAA,GAAD,CAASa,SAAS,0BAAlB,UACE,SAAC,KAAD,ieAYF,SAACb,EAAA,GAAD,CAASa,SAAS,4DAAlB,UACE,SAAC,KAAD,wSASF,SAACb,EAAA,GAAD,CAASa,SAAS,wDAAlB,UACE,UAAC,KAAD,+WAMuC,KACrC,SAACb,EAAA,GAAD,CAASwB,KAAI,UAAKkD,EAAAA,GAAL,eAAb,kBAPF,UAcF,SAAC1E,EAAA,GAAD,CAASa,SAAS,uDAAlB,UACE,SAAC,KAAD,mKAOF,SAACb,EAAA,GAAD,CAASa,SAAS,2DAAlB,UACE,UAAC,KAAD,kQAI2D,KACzD,SAACb,EAAA,GAAD,CAASwB,KAAK,qBAAd,+BALF,yCAUF,SAACxB,EAAA,GAAD,CAASa,SAAS,uEAAlB,UACE,SAAC,KAAD,4PAQF,SAACb,EAAA,GAAD,CAASa,SAAS,wDAAlB,UACE,UAAC,KAAD,wEAC6D,KAC3D,SAACb,EAAA,GAAD,CAASwB,KAAMkD,EAAAA,GAAf,4CAFF,uCAKqC,iDAAgC,IALrE,iBAMiB,KACf,SAAC1E,EAAA,GAAD,CAASwB,KAAK,mBAAd,2BAPF,0BAYF,SAACxB,EAAA,GAAD,CAASa,SAAS,4DAAlB,UACE,UAAC,KAAD,kDAEE,SAACb,EAAA,GAAD,CAASwB,KAAK,mBAAd,8BAFF,wFASJ,UAACxB,EAAA,GAAD,CAAY6B,QAAQ,kBAApB,WACE,SAAC7B,EAAA,GAAD,CAASa,SAAS,8CAAlB,UACE,SAAC,KAAD,oEAGF,SAACb,EAAA,GAAD,CAASa,SAAS,wBAAlB,UACE,SAAC,KAAD","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":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunkconstruct_hub_webapp=self.webpackChunkconstruct_hub_webapp||[]).push([[926],{50535:function(e,n,t){t.d(n,{y:function(){return c}});var r=t(28227),a=t(28735),o=t(53046),i=t(80184),c=function(e){var n=e.label,t=e.color,c=e.icon,s=(0,r.ff)("none","brightness(1.75)");return(0,i.jsxs)(a.Kq,{align:"center",direction:"row",filter:s,spacing:2,children:[(0,i.jsx)(o.Ee,{alt:"".concat(n," icon"),src:c,w:4}),(0,i.jsx)(a.xv,{color:t,fontWeight:"bold",children:n})]})}},2148:function(e,n,t){t.d(n,{N:function(){return i}});var r=t(81070),a=t(86617),o=t(80184),i=function(e){var n=e.children,t=e.language,i=a.dX.has(t),c=a.k8[t],s=i?"Click to view documentation in ".concat(c):"Documentation support for ".concat(c," is coming soon!");return(0,o.jsx)(r.u,{hasArrow:!0,label:s,placement:"top-start",children:(0,o.jsx)("span",{children:n})})}},29988:function(e,n,t){t.d(n,{X:function(){return d}});var r=t(1413),a=t(45987),o=t(96450),i=t(19748),c=t(67003),s=t(80184),l=["children","value","label","zIndex"],d=function(e){var n=e.children,t=e.value,d=e.label,u=void 0===d?t:d,h=e.zIndex,f=(0,a.Z)(e,l);return(0,s.jsx)(c.O,{"aria-label":"Tag: ".concat(u),to:(0,i.yc)({keywords:[t]}),zIndex:h,children:(0,s.jsx)(o.Vp,(0,r.Z)((0,r.Z)({_hover:{textDecoration:"underline"}},f),{},{children:(0,s.jsx)(o.Sn,{children:n})}))})}},41712:function(e,n,t){t.d(n,{T:function(){return l}});var r=t(72791),a=t(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=t(59534),c=t(56804),s=t(80184),l=(["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 n=e.children,t=e.meta,l=e.pageName,d=(0,i.aQ)(o[l]);(0,r.useEffect)((function(){d()}),[d]);var u=(0,c.E)("feeds")||[],h=t.suffix,f=void 0===h||h,v=t.title,p=t.description,m=f?"".concat(v," - Construct Hub"):v;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(a.q,{children:[!1,(0,s.jsx)("meta",{content:"width=device-width, initial-scale=1",name:"viewport"}),(0,s.jsx)("meta",{charSet:"utf-8"}),u.map((function(e){var n=e.url,t=e.mimeType;return(0,s.jsx)("link",{href:n,rel:"alternate",type:t},n)})),(0,s.jsx)("title",{children:m}),(0,s.jsx)("meta",{content:m,property:"og:title"}),(0,s.jsx)("meta",{content:m,name:"twitter:title"}),(0,s.jsx)("meta",{content:"summary",name:"twitter:card"}),(0,s.jsx)("meta",{content:p,name:"description"}),(0,s.jsx)("meta",{content:p,property:"og:description"}),(0,s.jsx)("meta",{content:p,name:"twitter:description"})]}),n]})})},79227:function(e,n,t){t.d(n,{q:function(){return d}});var r=t(1413),a=t(45987),o=t(63209),i=t(28735),c=t(29158),s=t(80184),l=["date","format","formattedDate"],d=(0,o.Gp)((function(e,n){var t=e.date,o=e.format,d=e.formattedDate,u=(0,a.Z)(e,l);return(0,s.jsx)(i.xu,(0,r.Z)((0,r.Z)({as:"time",dateTime:t.toISOString(),ref:n},u),{},{children:null!==d&&void 0!==d?d:(0,c.Z)(t,null!==o&&void 0!==o?o:"")}))}));d.displayName="Time"},56804:function(e,n,t){t.d(n,{E:function(){return a}});var r=t(24026),a=function(e){var n=(0,r.Z)().data;return(null!==n&&void 0!==n?n:{})[e]}},7991:function(e,n,t){t.d(n,{Z:function(){return f}});var r=t(29439),a=t(72791),o=t(79271),i=t(86617),c=t(29499),s=t(4487),l=i.SQ.TypeScript,d="preferred-language",u=function(e){return null!=e&&i.dX.has(e)},h=function(e){if(u(e))return e;try{var n,t=null!==(n=localStorage.getItem(d))&&void 0!==n?n:"";if(u(t))return t}catch(r){}return l},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.updateUrl,t=e.updateSaved,i=(0,o.TH)(),l=i.pathname,f=i.hash,v=(0,o.k6)(),p=v.replace,m=(0,s.K)(),x=m.get(c.Tx.LANGUAGE),g=(0,a.useState)((function(){return h(x)})),b=(0,r.Z)(g,2),j=b[0],y=b[1];(0,a.useEffect)((function(){u(x)&&x!==j&&y(x)}),[x]),(0,a.useEffect)((function(){x!==j&&n&&(m.set(c.Tx.LANGUAGE,j),p({pathname:l,hash:f,search:m.toString()}))}),[j,n]);var w=(0,a.useCallback)((function(e){if(y(e),t)try{localStorage.setItem(d,e)}catch(n){}}),[t]);return(0,a.useMemo)((function(){return[j,w]}),[j,w])}},4487:function(e,n,t){t.d(n,{K:function(){return o}});var r=t(72791),a=t(79271),o=function(){var e=(0,a.TH)().search;return(0,r.useMemo)((function(){return new URLSearchParams(e)}),[e])}},98371:function(e,n,t){t.d(n,{JA:function(){return i},QX:function(){return c}});var r=t(1413),a=t(93433),o=t(9272),i=function(e){return!e||e.length<1?[]:e.reduce((function(e,n){return n.highlight?[].concat((0,a.Z)(e),[n.highlight]):e}),[])},c=function(e){for(var n=e.packageTags,t=e.keywords,i=new Array,c=new Set,s=0,l=[].concat((0,a.Z)(function(e){return(null!==e&&void 0!==e?e:[]).filter((function(e){var n;return Boolean(null===(n=e.keyword)||void 0===n?void 0:n.label)})).map((function(e){var n;return(0,r.Z)((0,r.Z)({},e),{},{id:null===(n=e.keyword)||void 0===n?void 0:n.label})}))}(n)),(0,a.Z)(function(e){return!e||e.length<1?[]:e.filter((function(e){return Boolean(e)&&!o.h.has(e)})).map((function(e){return{id:e,keyword:{label:e}}}))}(t)));s<l.length;s++){var d=l[s],u=d.keyword.label.toLowerCase();c.has(u)||(i.push(d),c.add(u))}return i}},42577:function(e,n,t){t.r(n),t.d(n,{NotFound:function(){return p},default:function(){return p}});var r=t(28735),a=t(82504),o=t(91523),i=t(41712),c=t(1413),s=t(45987),l=t(63209),d=t(53046),u=t(80184),h=["sources"],f=(0,l.Gp)((function(e,n){var t=e.sources,a=(0,s.Z)(e,h);return(0,u.jsxs)(r.xu,{as:"picture",children:[null===t||void 0===t?void 0:t.map((function(e,n){return(0,u.jsx)("source",{media:e.media,srcSet:e.srcSet},n)})),(0,u.jsx)(d.Ee,(0,c.Z)({ref:n},a))]})}));f.displayName="Picture";var v={optimal:[{media:"(max-width:1024px)",srcSet:"/assets/404-hive@50.webp"},{media:"(min-width:1024px)",srcSet:"/assets/404-hive@100.webp"},{media:"(min-width:1024px)",srcSet:"/assets/404-hive@100.png"}],fallback:"/assets/404-hive@50.png"},p=function(){return(0,u.jsx)(i.T,{meta:{title:"Not Found",description:"Oops! The page you were looking for does not exist"},pageName:"notFound",children:(0,u.jsxs)(r.M5,{h:"100%",position:"relative",w:"100%",children:[(0,u.jsx)(f,{alt:"",inset:0,position:"absolute",sources:v.optimal,src:v.fallback,zIndex:"hide"}),(0,u.jsxs)(r.kC,{align:"center",direction:"column",justify:"center",children:[(0,u.jsx)(f,{alt:"404 Image",sources:[{srcSet:"/assets/robot.webp"}],src:"/assets/robot.png"}),(0,u.jsx)(a.zx,{as:o.rU,colorScheme:"brand",to:"/",children:"Take Me Home"})]})]})})}},67926:function(e,n,t){t.r(n),t.d(n,{default:function(){return Et}});var r=t(79271),a=t(42577),o=t(29439),i=t(28735),c=t(13822),s=t(72791),l=t(41712),d=t(78236),u=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];return d.o.apply(void 0,["Package Page"].concat(n))},h={SCOPE:u(),SELECT_VERSION:u("Select Version"),CDK_BADGE:{eventName:function(e){return u("CDK Badge",e)}},KEYWORD:{eventName:function(e){return u("Keyword",e)}},LANGUAGE:{eventName:function(e){return u("Language",e)}},DOCUMENTATION:{TAB:u("Documentation","Tab")},DEPENDENCIES:{TAB:u("Dependencies","Tab")},FEEDBACK:{PUBLISHER:u("Feedback","Publisher"),CONSTRUCT_HUB:u("Feedback","Construct Hub"),ABUSE:u("Feedback","Abuse")}},f="api",v="Readme",p="docs-container",m=t(29499),x=function(e,n){return n?"".concat(n,"/").concat(e):e},g=function(e,n,t){var r="".concat(m.i0.PACKAGES_PREFIX,"/"),a=x(e,t),o="/v".concat(n);return"".concat(r).concat(a).concat(o)},b=function(e){var n=e;return(n.startsWith("~")||n.startsWith("^"))&&(n=n.substring(1)),n},j=t(67003),y=t(7752),w=t(19748),k=t(1413),C=t(91933),Z=t(15861),S=t(87757),T=t.n(S),E=function(){var e=(0,Z.Z)(T().mark((function e(n,t,r){var a,o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a="".concat(g(n,t,r)).concat(m.i0.ASSEMBLY_SUFFIX),e.next=3,fetch(a);case 3:if((o=e.sent).ok){e.next=6;break}throw new Error("Failed fetching assembly for ".concat(a,": ").concat(o.statusText));case 6:return e.abrupt("return",o.json());case 7:case"end":return e.stop()}}),e)})));return function(n,t,r){return e.apply(this,arguments)}}(),L=function(e,n,t){return"/docs-".concat(t?"".concat(t,"-"):"").concat(e,".").concat(n)},I=function(){var e=(0,Z.Z)(T().mark((function e(n,t,r,a,o){var i,c,s,l,d;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=L(r,"md",o),c="".concat(g(n,t,a)).concat(i),e.next=4,fetch(c);case 4:if((s=e.sent).ok){e.next=7;break}throw new Error("Failed fetching documentation for ".concat(c,": ").concat(s.statusText));case 7:if(l="text/markdown",(d=s.headers.get("Content-Type"))&&d.includes(l)){e.next=11;break}throw new Error("Invalid content type: ".concat(d,". Expected ").concat(l,'"'));case 11:return e.abrupt("return",s.text());case 12:case"end":return e.stop()}}),e)})));return function(n,t,r,a,o){return e.apply(this,arguments)}}(),O=function(){var e=(0,Z.Z)(T().mark((function e(n,t,r,a,o){var i,c,s,l,d;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=L(r,"json",o),c="".concat(g(n,t,a)).concat(i),e.next=4,fetch(c);case 4:if((s=e.sent).ok){e.next=7;break}throw new Error("Failed fetching documentation for ".concat(c,": ").concat(s.statusText));case 7:if(l="application/json",(d=s.headers.get("Content-Type"))&&d.includes(l)){e.next=11;break}throw new Error("Invalid content type: ".concat(d,". Expected ").concat(l,'"'));case 11:return e.abrupt("return",s.json());case 12:case"end":return e.stop()}}),e)})));return function(n,t,r,a,o){return e.apply(this,arguments)}}(),A=function(){var e=(0,Z.Z)(T().mark((function e(n,t,r){var a,o,i;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(a=t).startsWith("^")&&(a=a.substring(1,a.length)),o="".concat(g(n,t,r)).concat(m.i0.METADATA_SUFFIX),e.next=5,fetch(o);case 5:if((i=e.sent).ok){e.next=8;break}throw new Error("Failed fetching metadata for ".concat(o,": ").concat(i.statusText));case 8:return e.abrupt("return",i.json());case 9:case"end":return e.stop()}}),e)})));return function(n,t,r){return e.apply(this,arguments)}}(),P=t(86617),D=t(7991),z=t(4487),N={packages:{},updated:"NOT_FOUND"},M=function(){var e=(0,Z.Z)(T().mark((function e(){var n;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(m.i0.ALL_VERSIONS);case 2:if((n=e.sent).ok){e.next=7;break}return console.error(n.statusText),console.warn("Could not retrieve package versions. Using empty data."),e.abrupt("return",N);case 7:return e.abrupt("return",n.json().catch((function(e){return console.error(e),console.warn("Error in package versions response. Using empty data."),N})));case 8:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),R=t(4942),U=t(93433),B=t(15841),W=t.n(B),F=function(e){return e.toLowerCase().replace(/[^a-zA-Z0-9 ]/g,"").replace(/ /g,"-")},H=function e(n,t){var r=n[n.length-1];return r&&r.level<t.level?(r.children=e(r.children,t),n):(n.push(t),n)},K=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,t=new RegExp("(`{3}[\\s\\S]*?(?:`{3})|^#{1,".concat(n,"}[^#].*)"),"gm");return e.split(t).reduce((function(e,n){var t=e[e.length-1];return n.startsWith("#")||null!==t&&void 0!==t&&t.startsWith("#")?[].concat((0,U.Z)(e),[n]):(e[e.length-1]+=n,e)}),[])},G=function(e){var n,t,r,a,i=(null!==(n=e.match(/(\S+)\s*=\s*(\"?)([^"]*)(\2|\s|$)/g))&&void 0!==n?n:[]).reduce((function(e,n){var t,r=n.split("="),a=(0,o.Z)(r,2),i=a[0],c=a[1],s=null!==(t=/['"](.*?)['"]/.exec(c))&&void 0!==t?t:[],l=(0,o.Z)(s,2),d=(l[0],l[1]);return(0,k.Z)((0,k.Z)({},e),{},(0,R.Z)({},i,d))}),{}),c=null!==(t=/^#*\s*(?:<a\s.*?(?:\/>|<\/a>))?\s*([^<]+?)\s*(?:<|$)/.exec(e))&&void 0!==t?t:[e,e],s=(0,o.Z)(c,2),l=(s[0],s[1].replace(/\[([^\]]+)\](?:\([^)]+\)|\[[^\]]+\])/g,"$1").replace(/:\+1:|:-1:|:[\w-]+:/g,(function(e){var n;return null!==(n=W().get(e))&&void 0!==n?n:e}))),d=null!==(r=i["data-heading-title"])&&void 0!==r?r:l;return{id:null!==(a=i["data-heading-id"])&&void 0!==a?a:encodeURIComponent(F(d)),title:d}},V=function(e,n){var t=n.scope,r=n.language,a=n.name,o=n.version,i=n.submodule,c=t?"".concat(t,"/").concat(a):"".concat(a),s="/packages/".concat(c,"/v/").concat(o),l="?".concat(m.Tx.LANGUAGE,"=").concat(r);i&&(l+="&submodule=".concat(i));var d='# API Reference <span data-heading-title="API Reference" data-heading-id="api-reference"></span>',u=e.split(d),h=u.length>1?u.pop():"",f=u.join(d),p=K(h,3),x=K(f),g=[d.trim()].concat((0,U.Z)(null!==p&&void 0!==p?p:[])),b="".concat(s).concat(l),j=x.reduce((function(e,n){if(n.startsWith("#")){var t,r,a=G(n),o=a.id,i=a.title,c=null!==(t=null===(r=n.match(/(#)/gm))||void 0===r?void 0:r.length)&&void 0!==t?t:1,s=function(e){return(e.endsWith(".")||e.endsWith(":"))&&(e=e.slice(0,-1)),e}(i),l={level:c,id:o,title:s,path:"".concat(b,"#").concat(o),children:[]};return H(e,l)}return e}),[]);1===j.length&&(j=j[0].children);var y,w,C=[].concat([{level:1,id:v,title:"Readme",path:b,children:j}]),Z={};return null===g||void 0===g||g.forEach((function(e){var n,t,r,a=e.match(/(^#{1,3}[^#].*)/g),o=null!==(n=null===(t=e.match(/(#)/gm))||void 0===t?void 0:t.length)&&void 0!==n?n:1;if(null!==a&&void 0!==a&&a.length){var i=G(e),c=i.id,d=i.title,u=3===o?(r=c,"".concat(s,"/api/").concat(r).concat(l)):void 0,h=(0,k.Z)({level:o,id:c,title:d,children:[]},u?{path:u}:{});C=H(C,h),y={id:c,title:d},w=o}else 3===w&&(Z[y.id]={title:y.title,content:e})})),{readme:f,apiReference:Z,menuItems:C}},_=t(80184),q=(0,s.createContext)(void 0),Q=function(){var e=(0,s.useContext)(q);if(!e)throw new Error("This component must be a child of a <PackageStateProvider />");return e},X=function(e){var n,t,i,c,l,d=e.children,u=(0,r.UO)(),h=u.name,f=u.scope,v=u.version,p="".concat(f,"/").concat(h,"/v").concat(v),x=(0,D.Z)(),g=(0,o.Z)(x,1)[0],b=null!==(n=(0,z.K)().get(m.Tx.SUBMODULE))&&void 0!==n?n:"",j=(0,C.useQuery)("Versions",M).data,y=f?"".concat(f,"/").concat(h):h,w=null===j||void 0===j?void 0:j.packages[y],Z=(0,C.useQuery)("".concat(p,"-docs-").concat(g,"-").concat(b,"-md"),(function(){return I(h,v,P.$[g],f,b)})),S=(0,C.useQuery)("".concat(p,"-docs-").concat(g,"-").concat(b,"-json"),(function(){return O(h,v,P.$[g],f,b)})),T=(0,C.useQuery)("".concat(p,"-assembly"),(function(){return E(h,v,f)})),L=(0,C.useQuery)("".concat(p,"-metadata"),(function(){return A(h,v,f)})),N="".concat(f?"".concat(f,"/").concat(h):h," ").concat(v),R=null!==(t=null===(i=T.data)||void 0===i?void 0:i.description)&&void 0!==t?t:"",U=Boolean(Z.error||S.error||T.error),B=Boolean(!Z.isLoading&&!S.isLoading&&!T.isLoading&&Z.data&&S.data&&T.data),W=Boolean(g===P.SQ.TypeScript||T.isLoading||T.error||null!=(null===(c=T.data)||void 0===c||null===(l=c.targets)||void 0===l?void 0:l[g.toString()])),F=Boolean(!L.isLoading&&(T.isLoading||Z.isLoading||S.isLoading)),H=(0,s.useMemo)((function(){return Z.data?V(Z.data,{scope:f,name:h,version:v,language:g,submodule:b}):{menuItems:[]}}),[Z.data,h,f,v,g,b]);return T.error?(0,_.jsx)(a.NotFound,{}):(0,_.jsx)(q.Provider,{value:(0,k.Z)({assembly:T,hasDocs:B,hasError:U,isLoadingDocs:F,isSupported:W,language:g,markdownDocs:Z,jsonDocs:S,metadata:L,name:h,pageDescription:R,pageTitle:N,scope:f,version:v,allVersions:w},H),children:d})},$=t(88606),Y=(0,$.$)("package-page",["page","feedbackLinks","reportLink","reportAbuseLink","githubLink","dependenciesTab","dependenciesList","dependenciesLink","description","markdown","selectVersionButton","selectVersionDropdown","selectVersionItem"]),J=function(){var e,n=Q().assembly.data;if(!n)return(0,_.jsx)(y.w,{});var t=Object.entries(null!==(e=n.dependencies)&&void 0!==e?e:{});return t.length?(0,_.jsx)(i.Kq,{"data-testid":Y.dependenciesList,direction:"row",justify:"center",mx:"auto",spacing:4,wrap:"wrap",children:t.map((function(e){var n=(0,o.Z)(e,2),t=n[0],r=n[1];return(0,_.jsxs)(j.O,{_first:{ml:4},"data-testid":Y.dependenciesLink,fontWeight:"semibold",p:2,to:(0,w.Mt)({name:t,version:b(r)}),children:[t," - ",r]},"".concat(t,"-").concat(r))}))}):(0,_.jsx)(i.M5,{children:"This library does not have any known CDK dependencies"})},ee=t(75272),ne=t(10855),te=t(6074),re=t(76798),ae=t(69113),oe=function(e){return(0,_.jsxs)(ae.JO,(0,k.Z)((0,k.Z)({},e),{},{children:[(0,_.jsx)("path",{clipRule:"evenodd",d:"M10.2532 0C4.59124 0 0 4.59022 0 10.2532C0 14.7835 2.93785 18.6266 7.01174 19.9825C7.524 20.0776 7.71212 19.7601 7.71212 19.4893C7.71212 19.2448 7.70261 18.4371 7.6982 17.5804C4.84576 18.2006 4.24386 16.3706 4.24386 16.3706C3.77745 15.1855 3.10543 14.8704 3.10543 14.8704C2.17499 14.234 3.17555 14.2473 3.17555 14.2473C4.20498 14.3194 4.74728 15.3039 4.74728 15.3039C5.66176 16.871 7.14588 16.418 7.73097 16.1562C7.82299 15.4935 8.08871 15.041 8.38194 14.785C6.10457 14.5261 3.71038 13.6467 3.71038 9.718C3.71038 8.59859 4.11108 7.68394 4.76697 6.96573C4.66035 6.70765 4.30939 5.66481 4.86613 4.25252C4.86613 4.25252 5.72696 3.97695 7.68631 5.3035C8.50435 5.07616 9.38165 4.96189 10.2532 4.95799C11.1242 4.96189 12.002 5.07582 12.8216 5.30317C14.7785 3.97661 15.6383 4.25218 15.6383 4.25218C16.1964 5.6643 15.8455 6.70731 15.739 6.96539C16.3964 7.6836 16.7943 8.59825 16.7943 9.71766C16.7943 13.6557 14.3957 14.5227 12.1125 14.7767C12.4805 15.0949 12.8081 15.719 12.8081 16.6754C12.8081 18.0473 12.7963 19.1514 12.7963 19.4891C12.7963 19.762 12.981 20.0817 13.5005 19.981C17.5721 18.6237 20.5065 14.7818 20.5065 10.2532C20.5063 4.59056 15.9156 0.000169776 10.2532 0.000169776V0Z",fill:"currentColor",fillRule:"evenodd"}),(0,_.jsx)("path",{d:"M3.88318 14.7214C3.86059 14.7724 3.78045 14.7876 3.70744 14.7528C3.63274 14.7195 3.59114 14.6501 3.61525 14.599C3.63732 14.5464 3.71763 14.5319 3.79183 14.5671C3.86654 14.6005 3.90898 14.6706 3.88301 14.7216L3.88318 14.7214ZM4.29848 15.1848C4.24975 15.2301 4.15416 15.209 4.0893 15.1372C4.02206 15.0659 4.0095 14.9703 4.05925 14.9243C4.10984 14.8791 4.20255 14.9005 4.26978 14.9719C4.33668 15.0442 4.34992 15.1389 4.29865 15.1849L4.29848 15.1848ZM4.70291 15.7751C4.64009 15.8189 4.5372 15.778 4.4737 15.6868C4.41088 15.5955 4.41088 15.486 4.4754 15.4423C4.53873 15.3985 4.64009 15.4381 4.70461 15.5284C4.76709 15.621 4.76709 15.7305 4.70291 15.775V15.7751ZM5.25659 16.3458C5.20056 16.4078 5.08069 16.3911 4.99308 16.3067C4.9036 16.224 4.87864 16.1064 4.93484 16.0446C4.99189 15.9824 5.11227 15.9998 5.20039 16.0836C5.28987 16.1661 5.31687 16.284 5.25693 16.3456L5.25659 16.3458ZM6.02064 16.677C5.99568 16.7573 5.88056 16.7939 5.76426 16.7596C5.64829 16.7244 5.5724 16.6305 5.59617 16.5494C5.61994 16.4684 5.7359 16.4305 5.85289 16.467C5.96885 16.502 6.04475 16.5954 6.02064 16.677ZM6.8599 16.7383C6.86279 16.8229 6.76431 16.8928 6.64257 16.8945C6.51982 16.8974 6.42049 16.8288 6.4193 16.7456C6.4193 16.6602 6.51574 16.5911 6.63833 16.5887C6.76007 16.5865 6.86007 16.6545 6.86007 16.7382L6.8599 16.7383ZM7.64059 16.6056C7.65519 16.6879 7.57047 16.7726 7.44941 16.7952C7.33056 16.8173 7.22019 16.766 7.20491 16.6843C7.19031 16.5998 7.27656 16.5151 7.39541 16.4932C7.51664 16.4723 7.62531 16.522 7.64059 16.6057V16.6056Z",fill:"currentColor"})]}))},ie={h:6,ml:2,w:6},ce=function(){var e,n=Q(),t=(0,ne.Sx)({base:"horizontal",md:"vertical"}),r=(0,_.jsx)(i.iz,{borderColor:"white",mr:6,orientation:t}),a=n.metadata.data,o=n.assembly.data;if(!o||!a)return null;var c,s=null!==(e=null===o||void 0===o?void 0:o.repository)&&void 0!==e?e:{},l=void 0;"git"===s.type&&((l=null!==(c=s.url)&&void 0!==c&&c.endsWith(".git")?s.url.replace(".git",""):s.url).endsWith("/")&&(l=l.slice(0,l.length-1)));return(0,_.jsxs)(i.Kq,{align:"center",backgroundColor:"blue.600",borderTop:"1px solid",borderTopColor:"borderColor",color:"white","data-testid":Y.feedbackLinks,direction:{base:"column",md:"row"},justify:"space-evenly",px:8,py:5,spacing:4,children:[l&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(te.d,{color:"currentcolor","data-event":h.FEEDBACK.PUBLISHER,"data-testid":Y.githubLink,fontSize:"lg",fontWeight:"semibold",hasIcon:!1,href:"".concat(l,"/issues"),rightIcon:(0,_.jsx)(oe,(0,k.Z)({color:"white"},ie)),variant:"solid",children:"Provide feedback to publisher"}),r]}),(0,_.jsx)(te.d,{color:"currentcolor","data-event":h.FEEDBACK.CONSTRUCT_HUB,"data-testid":Y.reportLink,fontSize:"lg",fontWeight:"semibold",hasIcon:!1,href:"".concat(re.Sx,"/issues/new"),rightIcon:(0,_.jsx)(oe,(0,k.Z)({color:"white"},ie)),children:"Provide feedback to Construct Hub"}),r,(0,_.jsx)(te.d,{color:"currentcolor","data-event":h.FEEDBACK.ABUSE,"data-testid":Y.reportAbuseLink,fontSize:"lg",fontWeight:"semibold",hasIcon:!1,href:"mailto:abuse@amazonaws.com?subject=".concat(encodeURIComponent("ConstructHub - Report of abusive package: ".concat(null===o||void 0===o?void 0:o.name))),rightIcon:(0,_.jsx)(ee.LQ,(0,k.Z)({},ie)),children:"Report abuse"})]})},se=t(65223),le=t(82504),de=t(86988),ue=t(3669),he=t(63209),fe=t(95798),ve=t(57992),pe=t(89570),me=(0,he.Gp)((function(e,n){var t=e.value,r=e.onChange,a=e.onSubmit,i=(0,s.useState)(t),c=(0,o.Z)(i,2),l=c[0],d=c[1];return(0,pe.N)(l,{onChange:r}),(0,_.jsx)(ve.l,{"data-testid":"choose-submodule-search-form",onSubmit:a,children:(0,_.jsxs)(fe.BZ,{children:[(0,_.jsx)(fe.Z8,{children:(0,_.jsx)(ee.W1,{color:"gray.400"})}),(0,_.jsx)(fe.II,{"data-testid":"choose-submodule-search-input",onChange:function(e){return d(e.target.value)},placeholder:"Search",ref:n,value:l,variant:"filled"})]})})}));me.displayName="SearchInput";var xe=function(e){var n=e.inputValue,t=e.isOpen,a=e.onClose,o=e.onInputChange,c=e.submodules,l=(0,s.useRef)(null),d=(0,r.k6)().push,u=(0,s.useCallback)((function(e){a(),d(e)}),[a,d]),h=(0,s.useCallback)((function(e){if(e.preventDefault(),c.length){var n=c[0].to;u(n)}}),[u,c]);return(0,_.jsx)(de.u_,{initialFocusRef:l,isOpen:t,onClose:a,children:(0,_.jsx)(de.ZA,{children:(0,_.jsxs)(de.hz,{mx:4,children:[(0,_.jsx)(de.ol,{"data-testid":"choose-submodule-modal-close"}),(0,_.jsx)(de.xB,{"data-testid":"choose-submodule-modal-header",fontSize:"lg",fontWeight:"bold",children:"Choose a submodule"}),(0,_.jsxs)(de.fe,{"data-testid":"choose-submodule-modal-body",p:0,children:[(0,_.jsx)(i.xu,{pb:4,px:4,children:(0,_.jsx)(me,{onChange:o,onSubmit:h,ref:l,value:n})}),(0,_.jsx)(i.iz,{}),(0,_.jsx)(i.QI,{"data-testid":"choose-submodule-modal-results",m:0,maxH:"50vh",overflow:"hidden auto",p:0,role:"listbox",tabIndex:-1,children:c.map((function(e){var n=e.name,t=e.to;return(0,_.jsx)(ue.T,{"data-testid":"choose-submodule-result",name:n,onClick:function(){return u(t)}},n)}))})]})]})})})},ge=function(){var e,n,t,a=Q(),c=a.assembly,l=a.name,d=a.language,u=a.scope,h=a.version,f=(0,r.k6)().push,v=(0,z.K)(),p=Object.keys(null!==(e=null===c||void 0===c||null===(n=c.data)||void 0===n?void 0:n.submodules)&&void 0!==e?e:{}),x=(0,se.qY)(),g=x.isOpen,b=x.onOpen,j=x.onClose,y=v.get(m.Tx.SUBMODULE),k=y?"Submodule: ".concat(y):"Choose Submodule",C=(0,s.useState)(""),Z=(0,o.Z)(C,2),S=Z[0],T=Z[1],E=u?"".concat(u,"/").concat(l):l,L=(0,s.useCallback)((function(e){return(0,w.Mt)({name:E,version:h,language:d,submodule:e})}),[d,E,h]),I=(0,s.useMemo)((function(){var e=p;return S&&(e=e.filter((function(e){return e.toLowerCase().includes(S.toLowerCase())}))),e.map((function(e){var n=e.split(".")[1];return{name:n,to:L(n)}}))}),[p,S,L]);return 0===p.length?null:(0,_.jsxs)(i.Kq,{spacing:4,w:"100%",children:[y&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(le.zx,{borderRadius:"none","data-testid":"choose-submodule-go-back",leftIcon:(0,_.jsx)(ee.Rp,{"aria-label":"Back to construct root"}),onClick:function(){f((0,w.Mt)({name:E,version:h,language:d}))},title:"Back to construct root",variant:"link",children:null===c||void 0===c||null===(t=c.data)||void 0===t?void 0:t.name}),(0,_.jsx)(i.iz,{})]}),(0,_.jsx)(le.zx,{borderRadius:"none",color:"blue.500","data-testid":"choose-submodule-search-trigger",flexGrow:1,onClick:b,rightIcon:(0,_.jsx)(ee.v4,{}),title:"Choose Submodule",variant:"link",children:k}),(0,_.jsx)(xe,{inputValue:S,isOpen:g,onClose:j,onInputChange:T,submodules:I})]})},be=t(51922),je=t(59534),ye=function(e){var n=e.children,t=e["data-event"],r=e.path,a=e.title,o=e.showToggle,c=e.variant,s=(0,k.Z)({_hover:{bg:"rgba(0, 124, 253, 0.05)"},overflow:"hidden",pl:1,py:o?2:1,marginLeft:o?0:1,fontWeight:o?"bold":void 0,textOverflow:"ellipsis",whiteSpace:"nowrap",w:"100%"},"sm"===c?{fontSize:"sm"}:{fontSize:"md"});return r?(0,_.jsx)(j.O,(0,k.Z)((0,k.Z)({"data-event":t,title:a,to:r},s),{},{children:n})):(0,_.jsx)(i.xv,(0,k.Z)((0,k.Z)({},s),{},{children:n}))},we=function(e,n){return(0,je.oJ)(e,"NavTree",n)},ke={color:"textTertiary",h:4,w:4},Ce=function e(n){var t,r,a=n.children,o=n["data-event"],c=n.getIsActiveItem,l=n.id,d=n.title,u=n.path,h=n.level,f=n.onOpen,v=n.variant,p=(0,je.z$)().trackCustomEvent,m=h<2,x=(0,se.qY)({onOpen:f,defaultIsOpen:m}),g=null!==(t=null===c||void 0===c?void 0:c({id:l,title:d,path:u,children:a}))&&void 0!==t&&t,b=(null!==(r=null===a||void 0===a?void 0:a.length)&&void 0!==r?r:0)>0,j=x.isOpen&&b,y=(0,s.useMemo)((function(){return null===a||void 0===a?void 0:a.map((function(n,t){return(0,s.createElement)(e,(0,k.Z)((0,k.Z)({"data-event":o},n),{},{getIsActiveItem:c,key:t,level:h+1,onOpen:x.onOpen,variant:v}))}))}),[a,o,c,h,x.onOpen,v]);return(0,_.jsxs)(i.kC,{direction:"column",children:[(0,_.jsxs)(i.kC,{align:"center",color:g?"link":"textPrimary",children:[b&&(0,_.jsx)(le.hU,{"aria-label":"expand-toggle",borderRadius:"md",h:4,icon:x.isOpen?(0,_.jsx)(ee.v4,(0,k.Z)({},ke)):(0,_.jsx)(ee.XC,(0,k.Z)({},ke)),ml:-1,onClick:function(){x.onToggle(),o&&p((0,je.Q5)({name:we(o,"Toggle")}))},size:"xs",variant:"link",w:0}),(0,_.jsx)(ye,{"data-event":o?we(o,"Link"):void 0,path:u,showToggle:b,title:d,variant:v,children:d})]}),(0,_.jsx)(i.xu,{_before:{bg:"borderColor",bottom:0,content:'""',left:0,position:"absolute",top:0,w:"1px"},display:j?"initial":"none",ml:2,mr:2,pl:2,position:"relative",children:y})]})},Ze=function(e){var n=e["data-event"],t=e.getIsActiveItem,r=e.items,a=e.variant;return(0,_.jsx)(i.kC,{direction:"column",maxWidth:"100%",children:r.map((function(e,r){return(0,s.createElement)(Ce,(0,k.Z)((0,k.Z)({},e),{},{"data-event":n,getIsActiveItem:t,key:r,level:0,onOpen:void 0,variant:a}))}))})},Se=function(){var e,n,t=Q(),a=t.assembly,o=t.menuItems,c=(0,se.qY)(),l=(0,r.TH)(),d=Object.keys(null!==(e=null===(n=a.data)||void 0===n?void 0:n.submodules)&&void 0!==e?e:{}).length>0;return(0,s.useEffect)((function(){c.isOpen&&c.onClose()}),[l]),(0,_.jsxs)(i.xu,{bottom:0,display:{lg:"none"},left:0,pos:"fixed",right:0,children:[(0,_.jsx)(le.zx,{bg:"bgPrimary",borderTop:"base",boxShadow:"base",fontSize:"xl",fontWeight:"semibold",h:"3.5rem",onClick:c.onOpen,variant:"unstyled",w:"full",children:(0,_.jsxs)(i.kC,{align:"center",justify:"space-between",px:6,children:["Table of contents",(0,_.jsx)(ee.g8,{})]})}),(0,_.jsx)(be.h_,{children:(0,_.jsxs)(de.dy,(0,k.Z)((0,k.Z)({},c),{},{blockScrollOnMount:!1,placement:"bottom",children:[(0,_.jsx)(de.P1,{}),(0,_.jsxs)(de.sc,{maxH:"60vh",children:[(0,_.jsx)(de.OX,{children:"Table of contents"}),(0,_.jsx)(de.cC,{}),(0,_.jsxs)(de.Ng,{children:[d&&(0,_.jsx)(i.xu,{mb:4,sx:{button:{justifyContent:"initial"}},children:(0,_.jsx)(ge,{})}),(0,_.jsx)(Ze,{items:o})]})]})]}))})]})},Te=t(29370),Ee=t(54915),Le=t.n(Ee),Ie=t(5474),Oe=t.n(Ie),Ae=t(16580),Pe=t.n(Ae),De=t(45618),ze=t(65218),Ne=t.n(ze),Me=t(45987),Re=t(28227),Ue=t(60185),Be=t(1250),We=t(32536),Fe=["value"],He=(0,he.Gp)((function(e,n){var t=e.value,r=(0,Me.Z)(e,Fe),a=(0,se.VP)(t),o=a.hasCopied,i=a.onCopy;return(0,_.jsx)(le.hU,(0,k.Z)({"aria-label":"Copy Button",color:"blue.500",colorScheme:"brand",h:6,icon:o?(0,_.jsx)(ee.nQ,{color:"green.300"}):(0,_.jsx)(ee.TI,{}),minW:"auto",ml:1,onClick:i,ref:n,variant:"ghost",w:6},r))}));He.displayName="CopyButton";var Ke,Ge=function(e){var n=e.code,t=e.tokens,r=e.getLineProps,a=e.getTokenProps;return(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(i.kC,{align:"center",bg:"rgba(0, 124, 253, 0.15)",borderTopRadius:"md",justify:"flex-end",px:2,py:1,children:(0,_.jsx)(He,{value:n})}),(0,_.jsx)(i.xu,{overflowX:"auto",p:2,children:t.map((function(e,n){return(0,_.jsx)("div",(0,k.Z)((0,k.Z)({},r({line:e,key:n})),{},{children:e.map((function(e,n){return(0,_.jsx)(i.xu,(0,k.Z)({as:"span",sx:{wordWrap:"normal"}},a({token:e,key:n})),n)}))}),n)}))})]})},Ve=function(e){var n=e.code,t=e.tokens,r=e.getLineProps,a=e.getTokenProps;return(0,_.jsxs)(i.rj,{p:3,templateColumns:"1fr min-content",w:"full",children:[(0,_.jsx)(i.xu,{m:-3,maxW:"full",overflow:"auto",p:3,children:t.map((function(e,n){return(0,_.jsx)("div",(0,k.Z)((0,k.Z)({},r({line:e,key:n})),{},{children:e.map((function(e,n){return(0,_.jsx)("span",(0,k.Z)({},a({token:e,key:n})),n)}))}),n)}))}),(0,_.jsx)(i.kC,{align:"center",ml:1,children:(0,_.jsx)(He,{value:n})})]})},_e=["code","language"],qe=function(e){var n=e.code,t=e.language,r=(0,Me.Z)(e,_e),a=(0,Re.ff)(We.Z,Be.Z);return(0,_.jsx)(Ue.ZP,(0,k.Z)((0,k.Z)({},Ue.lG),{},{code:n,language:t,theme:a,children:function(e){return(0,_.jsx)(i.xu,(0,k.Z)((0,k.Z)({as:"pre",border:"base",borderRadius:"md",boxShadow:"base",className:e.className,style:e.style},r),{},{children:e.tokens.length>1?(0,_.jsx)(Ge,(0,k.Z)((0,k.Z)({},e),{},{code:n})):(0,_.jsx)(Ve,(0,k.Z)((0,k.Z)({},e),{},{code:n}))}))}}))},Qe=function(e){var n=e.inline,t=e.children,r=e.language,a=void 0===r?"typescript":r;if(n)return(0,_.jsx)(i.EK,{border:"base",marginTop:"md",mx:2,px:2,py:0,children:t});var o=s.Children.toArray(t).reduce((function(e,n){return"string"===typeof n?"".concat(e).concat(n):e}),"").trim();return(0,_.jsx)(qe,{code:o,fontSize:"0.9rem",language:a})},Xe=t(58340),$e=function e(n){return s.Children.toArray(n).reduce((function(n,t){return"string"===typeof t?n+t:"object"===typeof t&&"props"in t?n+e(t.props.children):n}),"").trim()},Ye=function(e){var n=e.id,t=e.level,a=e.title,o=(0,r.TH)().search;return(0,_.jsx)(j.O,{_active:{visibility:"initial"},_focus:{visibility:"initial"},alignItems:"center","data-heading-id":"#".concat(n),"data-heading-level":t,"data-heading-title":a,display:"flex",id:n,lineHeight:1,opacity:"hidden",replace:!0,to:"".concat(o,"#").concat(n),visibility:"hidden",children:(0,_.jsx)(ee.xP,{boxSize:4})})},Je=function(e){var n,t,r=e.level,a=e.children,o=["2xl","xl","lg","md","sm","xs"][r-1],c="h".concat(r),s=(new DOMParser).parseFromString(Xe.renderToStaticMarkup(a),"text/html").querySelector("span[data-heading-title][data-heading-id]"),l=null!==(n=null===s||void 0===s?void 0:s.dataset.headingTitle)&&void 0!==n?n:$e(a),d=null!==(t=null===s||void 0===s?void 0:s.dataset.headingId)&&void 0!==t?t:F(l);return(0,_.jsxs)(i.kC,{_hover:{"> a":{visibility:"initial"}},align:"stretch",borderBottom:"base",justify:"space-between",mb:4,mt:r>=4?"1.5em":4,px:r>=4?2:void 0,py:2,children:[(0,_.jsx)(i.X6,{as:c,color:"textPrimary",level:r,size:o,sx:{"> code":{fontSize:"inherit"}},children:a}),(0,_.jsx)(Ye,{id:d,level:r,title:l})]})},en=t(53046),nn=t(97005),tn=(0,$.$)("markdown",["container"]),rn=["children","href"],an={a:function(e){var n=e.children,t=e.href,r=(0,Me.Z)(e,rn),a={color:"link",sx:{"> img + svg":{display:"none"}}};try{if(t&&t.startsWith("http"))if(new URL(t).hostname!==window.location.hostname)return(0,_.jsx)(te.d,(0,k.Z)((0,k.Z)((0,k.Z)({href:t},a),r),{},{children:n}))}catch(o){}return(0,_.jsx)(j.O,(0,k.Z)((0,k.Z)((0,k.Z)({to:t},a),r),{},{children:n}))},blockquote:function(e){var n=e.children;return(0,_.jsx)(i.xu,{as:"blockquote",borderLeft:"5px solid",borderLeftColor:"borderColor",marginX:"2",px:"2",wordBreak:"break-word",children:n})},caption:nn.Rn,code:Qe,em:function(e){var n=e.children;return(0,_.jsx)(i.xu,{as:"em",fontStyle:"normal",fontWeight:"bold",children:n})},h1:Je,h2:Je,h3:Je,h4:Je,h5:Je,h6:Je,hr:function(){return(0,_.jsx)(_.Fragment,{})},img:function(e){return(0,_.jsx)(en.Ee,(0,k.Z)({display:"inline-block"},e))},li:function(e){var n=e.children;return(0,_.jsx)(i.HC,{lineHeight:"tall",marginX:2,sx:{"em:first-of-type":{fontSize:"small"},code:{fontSize:"small"}},children:n})},ol:function(e){var n=e.children;return(0,_.jsx)(i.GS,{children:n})},p:function(e){var n=e.children;return(0,_.jsx)(i.xv,{lineHeight:"1.5",mx:2,my:4,children:n})},pre:function(e){var n=e.children,t=e.lang;return t?(0,_.jsx)(Qe,{language:t,children:n}):(0,_.jsx)(i.xu,{as:"pre",children:n})},sup:function(e){var n=e.children,t=void 0,r="";if(Array.isArray(n)){var a=(0,o.Z)(n,1)[0];"string"===typeof a&&(r=a)}return"Required"===r?t="orange.700":"Optional"===r&&(t="green.700"),(0,_.jsx)(i.xu,{as:"sup",color:t,fontSize:"xs",ml:-1,top:-1,children:n})},table:function(e){var n=e.children;return(0,_.jsx)(i.xu,{maxW:"100%",overflowX:"auto",children:(0,_.jsx)(nn.iA,{variant:"striped",children:n})})},tbody:nn.p3,td:nn.Td,tfoot:nn.$R,th:nn.Th,thead:nn.hr,tr:nn.Tr,ul:function(e){var n=e.children;return(0,_.jsx)(i.QI,{marginTop:2,padding:0,children:n})}},on=(0,k.Z)({},Te);on.attributes.span=(null!==(Ke=on.attributes.span)&&void 0!==Ke?Ke:[]).concat(["dataHeadingTitle","dataHeadingId"]);var cn=[[Oe()],[Pe(),on]],sn=[Ne(),De.Z],ln=/^(?:(?:git@)?github\.com:|(?:https?:\/\/)github\.com\/)([^/]+)\/([^/]+)(?:\.git)?$/,dn=function(e){var n=e.children,t=function(e){var n=e.type,t=e.url,r=e.directory;if("git"===n){var a=ln.exec(t);if(null!=a){var i=(0,o.Z)(a,3);return{owner:i[1],repo:i[2],directory:r}}}}(e.repository),r=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"HEAD";return null==t?Le().uriTransformer:function(r){var a=Le().uriTransformer(r),i=(0,o.Z)(a,1)[0];if("#"===i||"/"===i)return a;if(a.includes("://"))return a;var c=t.owner,s=t.repo.replace(/\.git$/,""),l=t.directory?"".concat(t.directory,"/"):"";return"https://".concat(e,"/").concat(c,"/").concat(s,"/").concat(n,"/").concat(l).concat(a)}};return(0,_.jsx)(i.xu,{"data-testid":tn.container,px:8,children:(0,_.jsx)(Le(),{components:an,rehypePlugins:cn,remarkPlugins:sn,transformImageUri:r("raw.githubusercontent.com"),transformLinkUri:r("github.com","blob/HEAD"),children:n})})},un=function(e){var n=e.children;return(0,_.jsx)(i.xv,{align:"center",fontSize:"xl",fontStyle:"oblique",px:4,wordBreak:"break-word",children:n})},hn=function(){var e=Q(),n=e.isLoadingDocs,t=e.readme,r=e.assembly.data;return!n&&t&&r?"\n"===t?(0,_.jsx)(un,{children:"No readme available for this module or submodule"}):(0,_.jsx)(dn,{repository:r.repository,children:t}):null},fn=t(91523),vn=function(){var e=Q().language,n=(0,_.jsx)(te.d,{href:"".concat(re.Sx,"/issues/new"),children:"issue"});return(0,_.jsxs)(un,{children:["Documentation in ",e," is still not ready for this package. Come back soon. If this issue persists, please let us know by creating an"," ",n,"."]})},pn=function(e){var n=e.rootId,t=(0,r.TH)(),a=t.pathname,o=t.hash,c=t.search,s=Q(),l=s.isLoadingDocs,d=s.assembly.data,u=function(){var e=(0,r.UO)().typeId,n=Q().apiReference;if(e)return null===n||void 0===n?void 0:n[e]}();if(l)return null;if(!u||!d)return(0,_.jsx)(vn,{});var h=u.title,f=u.content,v="".concat(a).concat(c,"#").concat(o);return(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(i.X6,{as:"h2",p:8,size:"2xl",children:(0,_.jsx)(fn.OL,{id:n,to:v,children:h})}),(0,_.jsx)(dn,{repository:d.repository,children:f})]})},mn=["children"],xn=function(){var e=Q().menuItems,n=(0,r.TH)(),t=n.pathname,a=n.hash,o=(0,s.useMemo)((function(){return e.reduce((function(e,n,t){if(0===t&&(null===n||void 0===n?void 0:n.id)===v){n.children;var r=(0,Me.Z)(n,mn);e.push((0,k.Z)((0,k.Z)({},r),{},{children:[]}))}else e.push(n);return e}),[])}),[e]),i=(0,s.useCallback)((function(e){var n=e.path,r=new URL(null!==n&&void 0!==n?n:"",window.origin);return Boolean(null!==n&&void 0!==n&&n.includes("/".concat(f,"/"))?r.pathname===t:r.hash&&a&&r.hash===a)}),[a,t]);return(0,_.jsx)(Ze,{"data-event":h.SCOPE,getIsActiveItem:i,items:o})},gn=t(84506),bn=function(e){return function(n){var t=n.split(".").slice(-e),r=(0,gn.Z)(t);return{path:r[0],hash:"#"+r.slice(1).join(".")}}},jn={initializer:{header:"Initializer Props",getValues:function(e){var n,t;return null!==(n=null===(t=e.initializer)||void 0===t?void 0:t.parameters)&&void 0!==n?n:[]},getPath:bn(4)},instanceMethods:{header:"Instance Methods",getValues:function(e){return e.instanceMethods},getPath:bn(2)},staticMethods:{header:"Static Methods",getValues:function(e){return e.staticMethods},getPath:bn(2)},properties:{header:"Properties",getValues:function(e){return e.properties},getPath:bn(3)},constants:{header:"Constants",getValues:function(e){return e.constants},getPath:bn(3)},members:{header:"Enum Members",getValues:function(e){return e.members},getPath:bn(2)}},yn=function(){var e,n=(0,r.TH)().pathname,t=(0,r.$B)().path,a=Q(),i=a.menuItems,c=a.jsonDocs,l=(0,r.$B)("".concat(t,"/").concat(f,"/:typeId")),d=null===l||void 0===l?void 0:l.params.typeId,u=(0,D.Z)(),h=(0,o.Z)(u,1)[0],p=null!==(e=(0,z.K)().get(m.Tx.SUBMODULE))&&void 0!==e?e:"",x=(0,s.useMemo)((function(){var e;if(!c.data)return{types:[]};var n=null===(e=c.data)||void 0===e?void 0:e.apiReference;return n?{types:[].concat((0,U.Z)(n.classes),(0,U.Z)(n.constructs),(0,U.Z)(n.interfaces),(0,U.Z)(n.structs),(0,U.Z)(n.enums)),metadata:c.data.metadata}:{types:[]}}),[c]),g=x.types,b=x.metadata;return(0,s.useMemo)((function(){if(!function(e){var n=e.split("/");return n[n.length-2]===f}(n)){var e=(0,o.Z)(i,1)[0];return(null===e||void 0===e?void 0:e.id)===v?e.children:[]}var t=g.find((function(e){return e.displayName===d}));return t&&b?function(e,n,t){for(var r=[],a=function(){var a=(0,o.Z)(c[i],2),s=a[0],l=a[1],d=l.header,u=l.getValues,h=l.getPath;if(s in e){var f,v={level:1,id:d,title:d,children:[]},p=u(e).map((function(e){var r=h(e.id),a=r.path,o=r.hash,i="?".concat(m.Tx.LANGUAGE,"=").concat(n);return t&&(i+="&".concat(m.Tx.SUBMODULE,"=").concat(t)),{level:2,id:o,title:e.displayName,path:"".concat(a).concat(i).concat(o),children:[]}}));p.length>0&&((f=v.children).push.apply(f,(0,U.Z)(p)),r.push(v))}},i=0,c=Object.entries(jn);i<c.length;i++)a();return r}(t,h,p):[]}),[h,i,b,n,p,d,g])},wn=function(e){return e.replace("#","").toLowerCase()},kn=function e(n){var t,r=[wn(n.id)];return null===(t=n.children)||void 0===t||t.forEach((function(n){null!==n&&void 0!==n&&n.id&&r.push.apply(r,(0,U.Z)(e(n)))})),r},Cn=function(e){return wn(e.getAttribute("data-heading-id"))},Zn=function(e){return new Set(e.map(kn).flat())},Sn={rootMargin:"-15% 0% -15% 0%"},Tn={attributes:!1,childList:!0,subtree:!0},En=function(){var e=function(){var e=yn(),n=(0,s.useRef)(Zn(e)),t=(0,s.useState)((0,U.Z)(n.current)[0]),r=(0,o.Z)(t,2),a=r[0],i=r[1],c=(0,s.useMemo)((function(){return new IntersectionObserver((function(e){var n;e.forEach((function(e){e.isIntersecting&&(n=e.target)})),n&&i(Cn(n))}),Sn)}),[]);return(0,s.useEffect)((function(){var t=Zn(e);n.current=t;var r=(0,o.Z)(t,1)[0];return i(r),function(){i(void 0)}}),[e]),(0,s.useEffect)((function(){var e=document.getElementById(p);if(e){var t,r=new MutationObserver((function(e){var r;e.length&&(null===(r=t)||void 0===r||r.forEach((function(e){c.unobserve(e)})),(t=document.querySelectorAll("[data-heading-id]")).forEach((function(e){var t=Cn(e);n.current.has(t)&&c.observe(e)})))}));return r.observe(e,Tn),function(){r.disconnect()}}}),[c]),a}(),n=yn(),t=(0,r.TH)().hash,a=(0,s.useRef)(!1),i=(0,s.useState)(t),c=(0,o.Z)(i,2),l=c[0],d=c[1];(0,s.useEffect)((function(){d(t),a.current=!1,setTimeout((function(){a.current=!0}),500)}),[t]),(0,s.useEffect)((function(){l&&a.current&&d(void 0)}),[e]);var u=(0,s.useCallback)((function(n){var t=n.path,r=n.id;return l?new URL(null!==t&&void 0!==t?t:"",window.origin).hash===l:wn(r)===e}),[e,l]);return(0,_.jsx)(Ze,{"data-event":h.SCOPE,getIsActiveItem:u,items:n,variant:"sm"})},Ln=["offset"],In=function(e){var n=e.offset,t=(0,Me.Z)(e,Ln);return(0,_.jsx)(i.kC,(0,k.Z)({alignSelf:"stretch",as:"nav",direction:"column",display:{base:"none",lg:"flex"},maxHeight:"calc(100vh - ".concat(n,")"),overflow:"hidden auto",position:"sticky"},t))},On="4.5rem",An=function(){var e,n=Q().assembly.data;return Object.keys(null!==(e=null===n||void 0===n?void 0:n.submodules)&&void 0!==e?e:{}).length>0?(0,_.jsx)(i.kC,{borderBottom:"1px solid",borderColor:"borderColor",justify:"center",py:4,children:(0,_.jsx)(ge,{})}):null},Pn=function(){var e=(0,r.$B)().path,n=Q().markdownDocs,t=(0,r.TH)(),a=t.hash,o=t.pathname,c=t.search;return(0,s.useEffect)((function(){window.requestAnimationFrame((function(){if(a){var e=document.querySelector('[data-heading-id="'.concat(a,'"]'));null===e||void 0===e||e.scrollIntoView(!0)}else window.scrollTo(0,0)}))}),[a,o,n.isLoading]),(0,_.jsxs)(i.rj,{columnGap:4,h:"full",templateColumns:{base:"1fr",lg:"minmax(20rem, 1fr) 3fr minmax(16rem, 0.9fr)"},width:"100%",children:[(0,_.jsxs)(In,{borderRight:"1px solid",borderRightColor:"borderColor",offset:On,pl:6,pr:4,top:On,children:[(0,_.jsx)(An,{}),(0,_.jsx)(i.xu,{overflowY:"auto",py:4,children:(0,_.jsx)(xn,{})})]}),(0,_.jsx)(i.xu,{h:"max-content",id:p,maxWidth:"100%",overflow:"hidden",py:4,sx:{a:{scrollMarginTop:On}},children:(0,_.jsxs)(r.rs,{children:[(0,_.jsx)(r.l_,{exact:!0,from:"".concat(e,"/").concat(f),to:{pathname:e,search:c}}),(0,_.jsx)(r.AW,{exact:!0,path:e,children:(0,_.jsx)(hn,{})}),(0,_.jsx)(r.AW,{exact:!0,path:"".concat(e,"/").concat(f,"/:typeId"),children:(0,_.jsx)(pn,{rootId:"apidocs_header"})})]})}),(0,_.jsx)(In,{borderLeft:"1px solid",borderLeftColor:"borderColor",offset:On,pl:6,pr:4,top:On,children:(0,_.jsx)(i.xu,{overflowY:"auto",py:4,children:(0,_.jsx)(En,{})})}),(0,_.jsx)(Se,{})]})},Dn=t(92213),zn=t(2148),Nn=function(e){var n=e.targetLanguages,t=e.selectedLanguage,r=e.setSelectedLanguage,a=(0,je.z$)().trackCustomEvent;return(0,_.jsx)(i.Kq,{align:"center","data-testid":"language-bar",direction:"row",spacing:2,children:(0,U.Z)(n).sort((function(e,n){return P.a2.indexOf(e)-P.a2.indexOf(n)})).map((function(e){var n=!P.dX.has(e),o=e===t,i=P.kP[e].icon;return(0,_.jsx)(zn.N,{language:e,children:(0,_.jsx)(le.hU,{"aria-label":"Select ".concat(e," icon"),bg:"bgSecondary",border:"base",borderColor:o?"brand.500":"borderColor",borderRadius:"lg",boxShadow:"base",colorScheme:"brand",cursor:n?"not-allowed":"pointer","data-testid":"language-".concat(e),disabled:n,icon:(0,_.jsx)(i,{"aria-label":"".concat(e,"-icon"),borderRadius:"sm",height:[4,5,6],width:[4,5,6]}),onClick:function(){o||(a((0,je.Q5)({name:h.LANGUAGE.eventName(e)})),r(e))},p:1,variant:"outline",w:"max-content"})},e)}))})},Mn=new Set(P.a2),Rn=function(){var e,n=Q(),t=n.assembly.data,r=n.language,a=(0,D.Z)({updateSaved:!0,updateUrl:!0}),i=(0,o.Z)(a,2)[1],c=(0,D.Z)({updateUrl:!0}),l=(0,o.Z)(c,2)[1],d=[].concat((0,U.Z)(Object.keys(null!==(e=null===t||void 0===t?void 0:t.targets)&&void 0!==e?e:{})),[P.SQ.TypeScript]),u=d.includes(r);(0,s.useEffect)((function(){u||l(P.SQ.TypeScript)}),[u]);var h={selectedLanguage:u?r:P.SQ.TypeScript,setSelectedLanguage:i,targetLanguages:d.filter((function(e){return Mn.has(e)}))};return(0,_.jsx)(Nn,(0,k.Z)({},h))},Un=t(81070),Bn=t(77231),Wn=t(44717),Fn=t(50535),Hn=["license"],Kn=(0,he.Gp)((function(e,n){var t=e.license,r=(0,Me.Z)(e,Hn),a=Wn[t].url;return(0,_.jsx)(te.d,(0,k.Z)((0,k.Z)({href:a,ref:n},r),{},{children:t}))}));Kn.displayName="LicenseLink";var Gn=t(79227),Vn="MMM dd, yyyy 'at' h:mmaaa",_n=t(56804),qn=t(10297),Qn=t(98371),Xn=["openText","closeText","isOpen"],$n=function(e){var n=e.openText,t=e.closeText,r=e.isOpen,a=(0,Me.Z)(e,Xn);return(0,_.jsx)(le.zx,(0,k.Z)((0,k.Z)({color:"link",colorScheme:"blue",leftIcon:r?(0,_.jsx)(ee.g8,{}):(0,_.jsx)(ee.v4,{}),variant:"link"},a),{},{children:r?t:n}))},Yn=function(e){var n=e.children,t=e.label,r=e.tooltip;return(0,_.jsx)(Un.u,{hasArrow:!0,isDisabled:!r,label:r,placement:"left",children:(0,_.jsxs)(i.xv,{fontWeight:"bold",children:[t," ",(0,_.jsx)(i.xu,{as:"span",fontWeight:"normal",children:n})]})})},Jn=function(e){var n=e.downloads;return(0,_.jsx)(Yn,{label:(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(i.xu,{as:"span",mr:1,children:(0,_.jsx)(ee._8,{})}),n.toLocaleString()]}),tooltip:"Download numbers are periodically sourced from the npm registry",children:"Weekly downloads"})},et=function(e){var n=Q(),t=(0,qn.V)().data,r=(0,se.qY)({defaultIsOpen:!0}),a=(0,_n.E)("packageLinks"),c=n.assembly.data,l=n.metadata.data,d=n.scope?"".concat(n.scope,"/").concat(n.name):n.name,u=(0,Qn.JA)(null===l||void 0===l?void 0:l.packageTags),h=(0,o.Z)(u,1)[0],f=function(e){var n=e.assembly,t=e.metadata,r=e.name,a=e.packageLinks,o=e.stats,i=[];if(n||t||o||a){var c,l,d,u,h,f=null===o||void 0===o||null===(c=o.packages)||void 0===c||null===(l=c[r])||void 0===l||null===(d=l.downloads)||void 0===d?void 0:d.npm;void 0!==f&&i.push((0,_.jsx)(Jn,{downloads:f}));var v=null===n||void 0===n?void 0:n.author.name,p=null===n||void 0===n?void 0:n.repository,m=null===n||void 0===n?void 0:n.license;if(v){var x=(0,_.jsx)(j.O,{color:"link",to:(0,w.yc)({query:v}),children:v});i.push((0,_.jsx)(Yn,{label:"Author",children:x}))}var g=null===t||void 0===t?void 0:t.date;if(g){var b=(0,_.jsx)(Gn.q,{date:new Date(g),fontWeight:"normal",format:Vn});i.push((0,_.jsx)(Yn,{label:"Published",children:b}))}if(p){var y=(0,w.rM)(p.url);if(y){var k=(0,_.jsx)(te.d,{href:y.url,children:y.hostname});i.push((0,_.jsx)(Yn,{label:"Repository",children:k}))}}if(m&&m in Wn){var C=(0,_.jsx)(Kn,{license:m});i.push((0,_.jsx)(Yn,{label:"License",children:C}))}null!==a&&void 0!==a&&a.length&&a.forEach((function(e){var n,r=e.linkLabel,a=e.configKey,o=e.linkText,c=(null!==(n=null===t||void 0===t?void 0:t.packageLinks)&&void 0!==n?n:{})[a];if(c){var s=(0,_.jsx)(te.d,{href:c,children:null!==o&&void 0!==o?o:c});i.push((0,_.jsxs)(Yn,{label:r,children:[r,": ",s]}))}}));var Z=null!==(u=null===t||void 0===t||null===(h=t.links)||void 0===h?void 0:h.npm)&&void 0!==u?u:"https://www.npmjs.com/package/".concat(null===n||void 0===n?void 0:n.name,"/v/").concat(null===n||void 0===n?void 0:n.version);if(Z){var S=(0,_.jsx)(te.d,{href:Z,children:new URL(Z).hostname});i.push((0,_.jsx)(Yn,{label:"Registry",children:S}))}}return i.map((function(e,n){return(0,_.jsx)(s.Fragment,{children:e},n)}))}({assembly:c,metadata:l,name:d,packageLinks:a,stats:t});if(!f.length)return null;var v=f.slice(0,2),p=f.slice(2,f.length);return(0,_.jsxs)(i.Kq,(0,k.Z)((0,k.Z)({align:"start",color:"textPrimary",fontSize:".75rem",mt:2,spacing:2},e),{},{children:[h&&(0,_.jsx)(Fn.y,(0,k.Z)({},h)),v,p.length>0&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(Bn.UO,{animateOpacity:!0,in:r.isOpen,children:(0,_.jsx)(i.Kq,{spacing:2,children:p})}),(0,_.jsx)($n,{closeText:"See fewer details (".concat(v.length,")"),fontSize:"inherit",isOpen:r.isOpen,onClick:r.onToggle,openText:"See more details (".concat(p.length,")")})]})]}))},nt=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];return n.map((function(e){return'"'.concat(e.map((function(e){return null!==e&&void 0!==e?e:"."})).join(" "),'"')})).join(" ")},tt="heading",rt="install",at="languages",ot="meta",it=nt([tt],[ot],[at],[rt]),ct=nt([tt,at,rt],[tt,null,ot]),st=function(e){var n=e.children;return(0,_.jsx)(i.rj,{bg:"bgSecondary",columnGap:{md:6,lg:10},pt:{base:3,lg:6},px:{base:5,md:6,lg:10},rowGap:{base:4,lg:0},templateAreas:{base:it,lg:ct},templateColumns:{base:"1fr",lg:"1fr auto 15rem"},templateRows:{lg:"auto 1fr"},children:n})},lt=t(37864),dt=t(77766),ut=t(29988),ht=t(57640),ft=t(10724),vt=t.n(ft),pt=t(59707),mt=function(){var e=Q(),n=e.scope,t=e.name,a=e.version,i=e.allVersions,c=e.language,l=n?"".concat(n,"/").concat(t):t,d=(0,pt.A)(),u=(0,r.k6)(),f=u.push,v=u.location,p=d.findByName(l),m=(0,s.useMemo)((function(){var e=p.map((function(e){return e.version})),n=(0,U.Z)(new Set([].concat((0,U.Z)(null!==i&&void 0!==i?i:[]),(0,U.Z)(e),[a])));return n.sort(vt().rcompare),n}),[p,a,i]);return(0,_.jsx)(ht.Ph,{"data-event":h.SELECT_VERSION,"data-testid":Y.selectVersionDropdown,fontWeight:"500",onChange:function(e){var n=v.pathname,t=v.hash,r="";if(n.includes("/api/")){var a=n.split("/api/");r=(0,o.Z)(a,2)[1]}var i=[(0,w.Mt)({name:l,version:e.target.value,language:c,api:r}),t].join("");f(i)},size:"sm",value:a,width:"10rem",children:m.map((function(e){return(0,_.jsx)("option",{"data-testid":Y.selectVersionItem,"data-value":e,value:e,children:"v".concat(e)},e)}))})},xt=["assembly","name","description","metadata","version"],gt=function(e){var n,t,r=e.assembly,a=e.name,c=e.description,s=e.metadata,l=(e.version,(0,Me.Z)(e,xt)),d=(0,Qn.QX)({packageTags:null!==(n=null===s||void 0===s?void 0:s.packageTags)&&void 0!==n?n:[],keywords:null!==(t=null===r||void 0===r?void 0:r.keywords)&&void 0!==t?t:[]}),u=(0,lt.eG)(s),f=(0,o.Z)(u,1)[0],v=null!==f&&void 0!==f?f:[],p=(0,o.Z)(v,2),m=p[0],x=p[1],g=1===u.size?h.CDK_BADGE.eventName("".concat(m).concat(void 0!==x?" v".concat(x):"")):void 0;return(0,_.jsxs)(i.Kq,(0,k.Z)((0,k.Z)({lineHeight:"1.5",maxW:"full",overflow:"hidden",spacing:2},l),{},{children:[(0,_.jsxs)(i.kC,{align:"center",wrap:"wrap",children:[(0,_.jsx)(i.X6,{color:"textPrimary",flexShrink:1,fontSize:"1.5rem",isTruncated:!0,mr:4,children:a}),(0,_.jsx)(mt,{})]}),(0,_.jsx)(i.xv,{"data-testid":Y.description,fontSize:"1rem",children:c}),(0,_.jsxs)(i.kC,{align:"center",direction:"row",pt:1,sx:{gap:"0.5rem"},wrap:"wrap",children:[(0,_.jsx)(dt.u,{constructFrameworks:u,"data-event":g}),d.map((function(e){var n=e.id,t=e.keyword,r=(t=void 0===t?{}:t).label,a=t.color;return(0,_.jsx)(ut.X,{"data-event":h.KEYWORD.eventName(r),value:n,variant:a,children:r},n)}))]})]}))},bt=function(e){var n=Q(),t=n.language,r=n.assembly.data,a=(0,se.qY)();if(!r)return null;var o=function(e){var n=e.language,t=e.assembly,r=t.version;if(n===P.SQ.TypeScript){var a=t.name;return"npm install ".concat(a,"@").concat(r)}if(n===P.SQ.Python){var o,i,c=null===(o=t.targets)||void 0===o||null===(i=o.python)||void 0===i?void 0:i.distName;if(!c)return;return"pip install ".concat(c,"==").concat(r)}if(n===P.SQ.Java){var s,l,d,u,h,f,v=null===(s=t.targets)||void 0===s||null===(l=s.java)||void 0===l||null===(d=l.maven)||void 0===d?void 0:d.groupId,p=null===(u=t.targets)||void 0===u||null===(h=u.java)||void 0===h||null===(f=h.maven)||void 0===f?void 0:f.artifactId;if(!v||!p)return;return["// add this to your pom.xml","<dependency>"," <groupId>".concat(v,"</groupId>")," <artifactId>".concat(p,"</artifactId>")," <version>".concat(r,"</version>"),"</dependency>"].join("\n")}if(n===P.SQ.DotNet){var m,x,g=null===(m=t.targets)||void 0===m||null===(x=m.dotnet)||void 0===x?void 0:x.packageId;if(!g)return;return"dotnet add package ".concat(g," --version ").concat(r)}if(n===P.SQ.Go){var b,j,y=null===t||void 0===t||null===(b=t.targets)||void 0===b||null===(j=b.go)||void 0===j?void 0:j.moduleName;if(!y)return;return"go get ".concat(y)}}({language:t,assembly:r});return o&&t?(0,_.jsx)(i.kC,(0,k.Z)((0,k.Z)({align:"start",direction:"column",fontSize:".75rem",w:"full"},e),{},{children:t===P.SQ.Java?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)($n,{closeText:"Hide",fontSize:"inherit",isOpen:a.isOpen,mt:2,onClick:a.onToggle,openText:"Install"}),(0,_.jsx)(i.xu,{maxW:"full",overflow:"hidden",children:(0,_.jsx)(Bn.UO,{in:a.isOpen,children:(0,_.jsx)(qe,{boxShadow:"none",code:o,fontSize:"inherit",language:t,mt:2})})})]}):(0,_.jsx)(qe,{boxShadow:"none",code:o,fontSize:"inherit",language:t,lineHeight:"2",w:"full"})})):null},jt=function(){var e=Q(),n=e.assembly,t=e.metadata,r=e.version,a=n.data,o=t.data;return a&&o?(0,_.jsxs)(st,{children:[(0,_.jsx)(gt,{assembly:a,description:a.description,gridArea:tt,metadata:o,name:a.name,version:r}),(0,_.jsx)(i.kC,{align:"start",gridArea:at,children:(0,_.jsx)(Rn,{})}),(0,_.jsxs)(i.kC,{direction:"column",gridArea:ot,children:[(0,_.jsx)(i.iz,{borderBottom:"base",display:{md:"none"},mb:2}),(0,_.jsx)(et,{}),(0,_.jsx)(i.iz,{borderBottom:"base",display:{md:"none"},mt:2})]}),(0,_.jsx)(i.kC,{align:"start",gridArea:rt,children:(0,_.jsx)(bt,{})})]}):(0,_.jsx)(Dn.$,{mx:"auto",my:10,size:"xl"})},yt=function(){var e=Q(),n=e.pageDescription,t=e.pageTitle,r=(0,s.useState)(0),a=(0,o.Z)(r,2),d=a[0],u=a[1];return(0,s.useEffect)((function(){u(0)}),[t]),(0,_.jsx)(l.T,{meta:{title:t,description:n},pageName:"packageProfile",children:(0,_.jsxs)(i.rj,{bg:"bgPrimary","data-testid":Y.page,maxW:"100vw",templateColumns:"1fr",templateRows:"auto 1fr auto",children:[(0,_.jsx)(jt,{}),(0,_.jsxs)(c.mQ,{index:d,onChange:u,variant:"line",children:[(0,_.jsxs)(c.td,{bg:"bgSecondary",borderBottom:"base",px:{base:0,lg:6},children:[(0,_.jsx)(c.OK,{"data-event":h.DOCUMENTATION.TAB,children:"Documentation"}),(0,_.jsx)(c.OK,{"data-event":h.DEPENDENCIES.TAB,"data-testid":Y.dependenciesTab,children:"Dependencies"})]}),(0,_.jsxs)(c.nP,{maxW:"full",children:[(0,_.jsx)(c.x4,{p:0,children:(0,_.jsx)(Pn,{})}),(0,_.jsx)(c.x4,{children:(0,_.jsx)(J,{})})]})]}),(0,_.jsx)(ce,{})]})})},wt=function(){return(0,_.jsx)(X,{children:(0,_.jsx)(yt,{})})},kt=t(95038),Ct=function(e,n,t){var r=x(n,t),a=function(e,n){var t=e.packages.filter((function(e){return e.name===n}));return t.length>1?t.sort((function(e,n){var t=new Date(e.metadata.date);return new Date(n.metadata.date).getTime()-t.getTime()}))[0]:t[0]}(e,r);if(a){var o=a.version,i="/v/".concat(o);return"".concat("/packages/").concat(r).concat(i)}},Zt=function(){var e=(0,r.UO)(),n=e.name,t=e.scope,o=(0,kt.r)();if(o.isLoading||!o.data)return(0,_.jsx)(i.M5,{minH:"16rem",children:(0,_.jsx)(Dn.$,{size:"xl"})});var c=Ct(o.data,n,t);return c?(0,_.jsx)(r.l_,{to:c}):(0,_.jsx)(a.default,{})},St="[^@\\/]+",Tt="@[^\\/]+",Et=function(){var e=(0,r.$B)().path;return(0,_.jsxs)(r.rs,{children:[(0,_.jsx)(r.AW,{exact:!0,path:"".concat(e,"/:scope(").concat(Tt,")?/:name(").concat(St,")"),children:(0,_.jsx)(Zt,{})}),(0,_.jsx)(r.AW,{path:"".concat(e,"/:scope(").concat(Tt,")?/:name(").concat(St,")/v/:version"),children:(0,_.jsx)(wt,{})}),(0,_.jsx)(r.AW,{path:"*",children:(0,_.jsx)(a.NotFound,{})})]})}}}]);
2
+ //# sourceMappingURL=926.633393a3.chunk.js.map