construct-hub 0.3.56 → 0.3.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +2 -2
- package/lib/construct-hub.js +1 -1
- package/lib/package-sources/code-artifact.js +1 -1
- package/lib/package-sources/npmjs.js +1 -1
- package/lib/package-tag/index.js +2 -2
- package/lib/spdx-license.js +1 -1
- package/package.json +3 -3
- package/website/asset-manifest.json +27 -27
- package/website/assets/checkmark.svg +3 -0
- package/website/index.html +1 -1
- package/website/service-worker.js +1 -1
- package/website/static/js/{1.fa36c516.chunk.js → 1.ddd0fd4b.chunk.js} +2 -2
- package/website/static/js/{1.fa36c516.chunk.js.map → 1.ddd0fd4b.chunk.js.map} +1 -1
- package/website/static/js/{10.02ced27a.chunk.js → 10.b91108a6.chunk.js} +2 -2
- package/website/static/js/10.b91108a6.chunk.js.map +1 -0
- package/website/static/js/{12.ba292c49.chunk.js → 12.309ba8f7.chunk.js} +1 -1
- package/website/static/js/{12.ba292c49.chunk.js.map → 12.309ba8f7.chunk.js.map} +1 -1
- package/website/static/js/{4.d2b9c583.chunk.js → 4.e2ba75d9.chunk.js} +3 -3
- package/website/static/js/{4.d2b9c583.chunk.js.LICENSE.txt → 4.e2ba75d9.chunk.js.LICENSE.txt} +0 -0
- package/website/static/js/4.e2ba75d9.chunk.js.map +1 -0
- package/website/static/js/{5.a2819889.chunk.js → 5.33b63db6.chunk.js} +3 -3
- package/website/static/js/{5.a2819889.chunk.js.LICENSE.txt → 5.33b63db6.chunk.js.LICENSE.txt} +0 -0
- package/website/static/js/{5.a2819889.chunk.js.map → 5.33b63db6.chunk.js.map} +1 -1
- package/website/static/js/{6.7ba5b2e6.chunk.js → 6.0fcd2680.chunk.js} +2 -2
- package/website/static/js/{6.7ba5b2e6.chunk.js.map → 6.0fcd2680.chunk.js.map} +1 -1
- package/website/static/js/{7.ca8ff14b.chunk.js → 7.123067dc.chunk.js} +2 -2
- package/website/static/js/7.123067dc.chunk.js.map +1 -0
- package/website/static/js/8.703cfb42.chunk.js +2 -0
- package/website/static/js/8.703cfb42.chunk.js.map +1 -0
- package/website/static/js/9.a8fecf34.chunk.js +2 -0
- package/website/static/js/9.a8fecf34.chunk.js.map +1 -0
- package/website/static/js/main.ca806cb8.chunk.js +2 -0
- package/website/static/js/main.ca806cb8.chunk.js.map +1 -0
- package/website/static/js/{runtime-main.808c6139.js → runtime-main.9acc4988.js} +2 -2
- package/website/static/js/{runtime-main.808c6139.js.map → runtime-main.9acc4988.js.map} +1 -1
- package/website/static/js/10.02ced27a.chunk.js.map +0 -1
- package/website/static/js/4.d2b9c583.chunk.js.map +0 -1
- package/website/static/js/7.ca8ff14b.chunk.js.map +0 -1
- package/website/static/js/8.bd66730f.chunk.js +0 -2
- package/website/static/js/8.bd66730f.chunk.js.map +0 -1
- package/website/static/js/9.b8a2bbeb.chunk.js +0 -2
- package/website/static/js/9.b8a2bbeb.chunk.js.map +0 -1
- package/website/static/js/main.fd06cc71.chunk.js +0 -2
- package/website/static/js/main.fd06cc71.chunk.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/index.ts","../../../src/use-radio-group.ts","../../../src/radio-group.tsx","../../../src/link-box.tsx","../../../src/ChevronRight.tsx","../../../src/Question.tsx","../../../src/ChevronLeft.tsx","../../../src/popover-context.ts","../../../src/popover-transition.tsx","../../../src/pointer-event.ts","../../../src/use-focus-on-pointerdown.ts","../../../src/user-agent.ts","../../../src/use-pointer-event.ts","../../../src/use-focus-on-show.ts","../../../src/use-popover.ts","../../../src/popover.tsx","../../../src/use-radio.ts","../../../src/radio.tsx"],"names":["useRadioGroup","props","onChange","value","name","isNative","React","defaultValue","useControllableProp","valueProp","ref","focus","rootNode","query","firstEnabledAndCheckedInput","firstEnabledInput","fallbackName","useId","undefined","nameProp","eventOrValue","nextValue","isInputEvent","setValue","onChangeProp","String","getRootProps","forwardedRef","mergeRefs","role","getRadioProps","checkedKey","isDisabled","isFocusable","htmlProps","createContext","strict","RadioGroup","forwardRef","group","size","colorScheme","variant","groupProps","_className","cx","className","LinkOverlay","rel","isExternal","target","__css","position","content","cursor","display","top","left","zIndex","width","height","LinkBox","ChevronRightIcon","createIcon","d","displayName","QuestionIcon","ChevronLeftIcon","errorMessage","mergeVariants","variants","mergeWith","enter","visibility","exit","transitionEnd","Section","motion","chakra","PopoverTransition","isOpen","usePopoverContext","initial","animate","opacity","scale","transition","duration","ease","isTouchEvent","event","defaultPagePoint","pageX","pageY","pointFromTouch","e","pointType","point","x","y","pointFromMouse","extractEventInfo","wrapPointerEventHandler","shouldFilterPrimaryPointer","eventHandler","listener","handler","isMouseEvent","getEventWindow","mouseEventNames","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave","touchEventNames","getPointerEventName","isBrowser","window","useFocusOnPointerDown","browser","enabled","isSafari","navigator","userAgent","vendor","android","test","ua","getUserAgentBrowser","getOwnerDocument","isValidTarget","elements","elementOrRef","el","isRefObject","contains","isActiveElement","useEventListener","eventName","defaultOptions","preventScroll","shouldFocus","TRIGGER","usePopover","closeOnBlur","closeOnEsc","returnFocusOnClose","autoFocus","trigger","openDelay","closeDelay","lazyBehavior","computePositionOnMount","useDisclosure","onToggle","triggerRef","useRef","popoverRef","isHoveringRef","hasBeenOpened","useState","useIds","usePopper","forceUpdate","useFocusOnHide","focusRef","visible","options","element","onFocus","useCallback","document","nextTick","tabbableEls","getAllFocusable","useUpdateEffect","useFocusOnShow","shouldRenderChildren","determineLazyBehavior","hasBeenSelected","isLazy","isSelected","getPopoverProps","_ref","popoverProps","style","transformOrigin","popperCSSVars","arrowSize","px","arrowShadowColor","children","id","tabIndex","onKeyDown","callAllHandlers","onClose","onBlur","relatedTarget","getRelatedTarget","targetIsPopover","targetIsTrigger","hasHeader","headerId","hasBody","bodyId","setTimeout","getPopoverPositionerProps","getPopperProps","openTimeout","closeTimeout","getTriggerProps","triggerProps","popoverId","clearTimeout","useEffect","getHeaderProps","node","setHasHeader","getBodyProps","setHasBody","getArrowProps","getArrowInnerProps","Popover","styles","useMultiStyleConfig","omitThemingProps","context","direction","useTheme","runIfFn","PopoverTrigger","child","PopoverContent","rootProps","useStyles","contentStyles","flexDirection","contentProps","PopoverHeader","header","PopoverBody","body","PopoverCloseButton","onClick","closeButton","PopoverArrow","backgroundColor","arrowBg","bg","useRadio","defaultChecked","isChecked","isReadOnly","isRequired","isInvalid","dataRadioGroup","uuid","formControl","useFormControlContext","useRadioGroupContext","isWithinFormControl","idProp","isDisabledProp","isReadOnlyProp","isRequiredProp","isInvalidProp","useBoolean","Boolean","warn","condition","message","handleChange","setChecked","isControlled","setActive","onKeyUp","getCheckboxProps","dataAttr","onMouseDown","onMouseUp","onMouseEnter","setHovering","onMouseLeave","getInputProps","trulyDisabled","type","setFocused","checked","disabled","readOnly","required","ariaAttr","visuallyHiddenStyle","state","isFocused","isActive","isHovered","getLabelProps","onTouchStart","stop","Radio","ownProps","spacing","callAll","split","checkboxProps","inputProps","labelProps","Object","rootStyles","isFullWidth","alignItems","verticalAlign","checkboxStyles","justifyContent","flexShrink","labelStyles","userSelect","marginStart"],"mappings":"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","file":"static/js/9.b8a2bbeb.chunk.js","sourcesContent":["export * from \"@chakra-ui/color-mode\"\nexport * from \"@chakra-ui/styled-system\"\nexport { keyframes } from \"@emotion/react\"\nexport type { Interpolation } from \"@emotion/react\"\nexport * from \"./hooks\"\nexport * from \"./system.types\"\nexport * from \"./providers\"\nexport { omitThemingProps } from \"./system.utils\"\nexport * from \"./system\"\nexport * from \"./forward-ref\"\nexport * from \"./use-style-config\"\nexport { shouldForwardProp } from \"./should-forward-prop\"\n","import { useControllableProp, useId } from \"@chakra-ui/hooks\"\nimport { StringOrNumber, isInputEvent } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\nimport { mergeRefs, PropGetter } from \"@chakra-ui/react-utils\"\n\ntype EventOrValue = React.ChangeEvent<HTMLInputElement> | StringOrNumber\n\nexport interface UseRadioGroupProps {\n /**\n * The value of the radio to be `checked`\n * (in controlled mode)\n */\n value?: StringOrNumber\n /**\n * The value of the radio to be `checked`\n * initially (in uncontrolled mode)\n */\n defaultValue?: StringOrNumber\n /**\n * Function called once a radio is checked\n * @param nextValue the value of the checked radio\n */\n onChange?(nextValue: string): void\n /**\n * If `true`, all wrapped radio inputs will be disabled\n */\n isDisabled?: boolean\n\n /**\n * If `true` and `isDisabled` is true, all wrapped radio inputs will remain\n * focusable but not interactive.\n */\n isFocusable?: boolean\n /**\n * The `name` attribute forwarded to each `radio` element\n */\n name?: string\n /**\n * If `true`, input elements will receive\n * `checked` attribute instead of `isChecked`.\n *\n * This assumes, you're using native radio inputs\n */\n isNative?: boolean\n}\n\ntype RadioPropGetter = PropGetter<\n HTMLInputElement,\n {\n onChange?: (e: EventOrValue) => void\n value?: StringOrNumber\n /**\n * checked is defined if isNative=true\n */\n checked?: boolean\n /**\n * isChecked is defined if isNative=false\n */\n isChecked?: boolean\n } & Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"onChange\" | \"size\" | \"value\"\n >\n>\n\n/**\n * React hook to manage a group of radio inputs\n */\nexport function useRadioGroup(props: UseRadioGroupProps = {}) {\n const {\n onChange: onChangeProp,\n value: valueProp,\n defaultValue,\n name: nameProp,\n isDisabled,\n isFocusable,\n isNative,\n ...htmlProps\n } = props\n\n const [valueState, setValue] = React.useState<StringOrNumber>(\n defaultValue || \"\",\n )\n const [isControlled, value] = useControllableProp(valueProp, valueState)\n\n const ref = React.useRef<any>(null)\n\n const focus = React.useCallback(() => {\n const rootNode = ref.current\n if (!rootNode) return\n\n let query = `input:not(:disabled):checked`\n\n const firstEnabledAndCheckedInput = rootNode.querySelector(\n query,\n ) as HTMLElement\n\n if (firstEnabledAndCheckedInput) {\n firstEnabledAndCheckedInput.focus()\n return\n }\n\n query = `input:not(:disabled)`\n\n const firstEnabledInput = rootNode.querySelector(query) as HTMLElement\n firstEnabledInput?.focus()\n }, [])\n\n /**\n * All radio options must use the same name\n */\n const fallbackName = useId(undefined, `radio`)\n const name = nameProp || fallbackName\n\n const onChange = React.useCallback(\n (eventOrValue: EventOrValue) => {\n const nextValue = isInputEvent(eventOrValue)\n ? eventOrValue.target.value\n : eventOrValue\n\n if (!isControlled) {\n setValue(nextValue)\n }\n\n onChangeProp?.(String(nextValue))\n },\n [onChangeProp, isControlled],\n )\n\n const getRootProps: PropGetter = React.useCallback(\n (props = {}, forwardedRef = null) => ({\n ...props,\n ref: mergeRefs(forwardedRef, ref),\n role: \"radiogroup\",\n }),\n [],\n )\n\n const getRadioProps: RadioPropGetter = React.useCallback(\n (props = {}, ref = null) => {\n const checkedKey = isNative ? \"checked\" : \"isChecked\"\n return {\n ...props,\n ref,\n name,\n [checkedKey]: value != null ? props.value === value : undefined,\n onChange,\n \"data-radiogroup\": true,\n }\n },\n [isNative, name, onChange, value],\n )\n\n return {\n getRootProps,\n getRadioProps,\n name,\n ref,\n focus,\n setValue,\n value,\n onChange,\n isDisabled,\n isFocusable,\n htmlProps,\n }\n}\n\nexport type UseRadioGroupReturn = ReturnType<typeof useRadioGroup>\n","import {\n chakra,\n forwardRef,\n ThemingProps,\n HTMLChakraProps,\n} from \"@chakra-ui/system\"\nimport { cx, __DEV__ } from \"@chakra-ui/utils\"\nimport { createContext } from \"@chakra-ui/react-utils\"\nimport * as React from \"react\"\nimport {\n useRadioGroup,\n UseRadioGroupProps,\n UseRadioGroupReturn,\n} from \"./use-radio-group\"\n\nexport interface RadioGroupContext\n extends Pick<\n UseRadioGroupReturn,\n \"onChange\" | \"value\" | \"name\" | \"isDisabled\" | \"isFocusable\"\n >,\n Omit<ThemingProps<\"Radio\">, \"orientation\"> {}\n\nconst [\n RadioGroupProvider,\n useRadioGroupContext,\n] = createContext<RadioGroupContext>({\n name: \"RadioGroupContext\",\n strict: false,\n})\n\nexport { useRadioGroupContext }\n\ntype Omitted =\n | \"onChange\"\n | \"value\"\n | \"defaultValue\"\n | \"defaultChecked\"\n | \"children\"\nexport interface RadioGroupProps\n extends UseRadioGroupProps,\n Omit<HTMLChakraProps<\"div\">, Omitted>,\n Omit<ThemingProps<\"Radio\">, \"orientation\"> {\n children: React.ReactNode\n}\n\n/**\n * Used for multiple radios which are bound in one group,\n * and it indicates which option is selected.\n *\n * @see Docs https://chakra-ui.com/radio\n */\nexport const RadioGroup = forwardRef<RadioGroupProps, \"div\">((props, ref) => {\n const {\n colorScheme,\n size,\n variant,\n children,\n className,\n isDisabled,\n isFocusable,\n ...rest\n } = props\n\n const { value, onChange, getRootProps, name, htmlProps } = useRadioGroup(rest)\n\n const group = React.useMemo(\n () => ({\n name,\n size,\n onChange,\n colorScheme,\n value,\n variant,\n isDisabled,\n isFocusable,\n }),\n [\n name,\n size,\n onChange,\n colorScheme,\n value,\n variant,\n isDisabled,\n isFocusable,\n ],\n )\n\n const groupProps = getRootProps(htmlProps, ref)\n const _className = cx(\"chakra-radio-group\", className)\n\n return (\n <RadioGroupProvider value={group}>\n <chakra.div {...groupProps} className={_className}>\n {children}\n </chakra.div>\n </RadioGroupProvider>\n )\n})\n\nif (__DEV__) {\n RadioGroup.displayName = \"RadioGroup\"\n}\n","import { chakra, forwardRef, HTMLChakraProps } from \"@chakra-ui/system\"\nimport { cx } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\n\nexport interface LinkOverlayProps extends HTMLChakraProps<\"a\"> {\n /**\n * If `true`, the link will open in new tab\n */\n isExternal?: boolean\n}\n\nexport const LinkOverlay = forwardRef<LinkOverlayProps, \"a\">((props, ref) => {\n const { isExternal, target, rel, className, ...rest } = props\n return (\n <chakra.a\n {...rest}\n ref={ref}\n className={cx(\"chakra-linkbox__overlay\", className)}\n rel={isExternal ? \"noopener noreferrer\" : rel}\n target={isExternal ? \"_blank\" : target}\n __css={{\n position: \"static\",\n \"&::before\": {\n content: \"''\",\n cursor: \"inherit\",\n display: \"block\",\n position: \"absolute\",\n top: 0,\n left: 0,\n zIndex: 0,\n width: \"100%\",\n height: \"100%\",\n },\n }}\n />\n )\n})\n\nexport interface LinkBoxProps extends HTMLChakraProps<\"div\"> {}\n\n/**\n * `LinkBox` is used to wrap content areas within a link while ensuring semantic html\n *\n * @see Docs https://chakra-ui.com/docs/navigation/link-overlay\n * @see Resources https://www.sarasoueidan.com/blog/nested-links\n */\nexport const LinkBox = forwardRef<LinkBoxProps, \"div\">((props, ref) => {\n const { className, ...rest } = props\n\n return (\n <chakra.div\n ref={ref}\n position=\"relative\"\n {...rest}\n className={cx(\"chakra-linkbox\", className)}\n __css={{\n /* Elevate the links and abbreviations up */\n \"a[href]:not(.chakra-linkbox__overlay), abbr[title]\": {\n position: \"relative\",\n zIndex: 1,\n },\n }}\n />\n )\n})\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const ChevronRightIcon = createIcon({\n d: \"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\",\n displayName: \"ChevronRightIcon\",\n})\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const QuestionIcon = createIcon({\n d:\n \"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,19a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,12,19Zm1.6-6.08a1,1,0,0,0-.6.917,1,1,0,1,1-2,0,3,3,0,0,1,1.8-2.75A2,2,0,1,0,10,9.255a1,1,0,1,1-2,0,4,4,0,1,1,5.6,3.666Z\",\n displayName: \"QuestionIcon\",\n})\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const ChevronLeftIcon = createIcon({\n d: \"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\",\n displayName: \"ChevronLeftIcon\",\n})\n","import { createContext } from \"@chakra-ui/react-utils\"\nimport { UsePopoverReturn } from \"./use-popover\"\n\nexport const [\n PopoverProvider,\n usePopoverContext,\n] = createContext<UsePopoverReturn>({\n name: \"PopoverContext\",\n errorMessage:\n \"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within `<Popover />`\",\n})\n","import { chakra, HTMLChakraProps } from \"@chakra-ui/system\"\nimport { HTMLMotionProps, motion, Variant } from \"framer-motion\"\nimport { mergeWith } from \"@chakra-ui/utils\"\nimport React from \"react\"\nimport { usePopoverContext } from \"./popover-context\"\n\n// TODO: consider moving this to some util\ntype HTMLMotionChakraProps<T extends keyof React.ReactHTML> = Omit<\n HTMLChakraProps<T>,\n keyof HTMLMotionProps<T>\n> &\n Omit<\n HTMLMotionProps<T>,\n | \"style\"\n | \"onDrag\"\n | \"onDragEnd\"\n | \"onDragStart\"\n | \"onAnimationStart\"\n | \"variants\"\n > & {\n variants?: MotionVariants\n }\n\ntype MotionVariants = Partial<Record<\"enter\" | \"exit\", Variant>>\n\nconst mergeVariants = (variants?: MotionVariants) => {\n if (!variants) return\n return mergeWith(variants, {\n enter: {\n visibility: \"visible\",\n },\n exit: {\n transitionEnd: {\n visibility: \"hidden\",\n },\n },\n })\n}\n\nconst scaleFade: MotionVariants = {\n exit: {\n opacity: 0,\n scale: 0.95,\n transition: {\n duration: 0.1,\n ease: [0.4, 0, 1, 1],\n },\n },\n enter: {\n scale: 1,\n opacity: 1,\n transition: {\n duration: 0.15,\n ease: [0, 0, 0.2, 1],\n },\n },\n}\n\nconst Section = motion(chakra.section)\n\nexport interface PopoverTransitionProps\n extends HTMLMotionChakraProps<\"section\"> {}\n\nexport const PopoverTransition = React.forwardRef(\n (props: HTMLMotionChakraProps<\"section\">, ref: React.Ref<any>) => {\n const { isOpen } = usePopoverContext()\n return (\n <Section\n ref={ref}\n variants={mergeVariants(props.variants)}\n {...props}\n initial={false}\n animate={isOpen ? \"enter\" : \"exit\"}\n />\n )\n },\n)\n\nPopoverTransition.defaultProps = {\n variants: scaleFade,\n}\n","/**\n * Credit goes to `framer-motion` of this useful utilities.\n * License can be found here: https://github.com/framer/motion\n */\n\nimport { addDomEvent, getEventWindow, isBrowser } from \"./dom\"\n\nexport type AnyPointerEvent = MouseEvent | TouchEvent | PointerEvent\n\ntype PointType = \"page\" | \"client\"\n\nexport function isMouseEvent(event: AnyPointerEvent): event is MouseEvent {\n const win = getEventWindow(event)\n\n // PointerEvent inherits from MouseEvent so we can't use a straight instanceof check.\n if (\n typeof win.PointerEvent !== \"undefined\" &&\n event instanceof win.PointerEvent\n ) {\n return !!(event.pointerType === \"mouse\")\n }\n\n return event instanceof win.MouseEvent\n}\n\nexport function isTouchEvent(event: AnyPointerEvent): event is TouchEvent {\n const hasTouches = !!(event as TouchEvent).touches\n return hasTouches\n}\n\nexport interface Point {\n x: number\n y: number\n}\n\nexport interface PointerEventInfo {\n point: Point\n}\n\nexport type EventHandler = (\n event: AnyPointerEvent,\n info: PointerEventInfo,\n) => void\n\n/**\n * Filters out events not attached to the primary pointer (currently left mouse button)\n * @param eventHandler\n */\nfunction filterPrimaryPointer(eventHandler: EventListener): EventListener {\n return (event: Event) => {\n const win = getEventWindow(event)\n const isMouseEvent = event instanceof win.MouseEvent\n const isPrimaryPointer =\n !isMouseEvent || (isMouseEvent && (event as MouseEvent).button === 0)\n if (isPrimaryPointer) {\n eventHandler(event)\n }\n }\n}\n\nexport type EventListenerWithPointInfo = (\n e: AnyPointerEvent,\n info: PointerEventInfo,\n) => void\n\nconst defaultPagePoint = { pageX: 0, pageY: 0 }\n\nfunction pointFromTouch(e: TouchEvent, pointType: PointType = \"page\") {\n const primaryTouch = e.touches[0] || e.changedTouches[0]\n const point = primaryTouch || defaultPagePoint\n\n return {\n x: point[`${pointType}X`],\n y: point[`${pointType}Y`],\n }\n}\n\nfunction pointFromMouse(\n point: MouseEvent | PointerEvent,\n pointType: PointType = \"page\",\n) {\n return {\n x: point[`${pointType}X`],\n y: point[`${pointType}Y`],\n }\n}\n\nexport function extractEventInfo(\n event: AnyPointerEvent,\n pointType: PointType = \"page\",\n): PointerEventInfo {\n return {\n point: isTouchEvent(event)\n ? pointFromTouch(event, pointType)\n : pointFromMouse(event, pointType),\n }\n}\n\nexport function getViewportPointFromEvent(event: AnyPointerEvent) {\n return extractEventInfo(event, \"client\")\n}\n\nexport const wrapPointerEventHandler = (\n handler: EventListenerWithPointInfo,\n shouldFilterPrimaryPointer = false,\n): EventListener => {\n const listener: EventListener = (event: any) =>\n handler(event, extractEventInfo(event))\n\n return shouldFilterPrimaryPointer ? filterPrimaryPointer(listener) : listener\n}\n\n// We check for event support via functions in case they've been mocked by a testing suite.\nconst supportsPointerEvents = () => isBrowser && window.onpointerdown === null\nconst supportsTouchEvents = () => isBrowser && window.ontouchstart === null\nconst supportsMouseEvents = () => isBrowser && window.onmousedown === null\n\ninterface PointerNameMap {\n pointerdown: string\n pointermove: string\n pointerup: string\n pointercancel: string\n pointerover?: string\n pointerout?: string\n pointerenter?: string\n pointerleave?: string\n}\n\nconst mouseEventNames: PointerNameMap = {\n pointerdown: \"mousedown\",\n pointermove: \"mousemove\",\n pointerup: \"mouseup\",\n pointercancel: \"mousecancel\",\n pointerover: \"mouseover\",\n pointerout: \"mouseout\",\n pointerenter: \"mouseenter\",\n pointerleave: \"mouseleave\",\n}\n\nconst touchEventNames: PointerNameMap = {\n pointerdown: \"touchstart\",\n pointermove: \"touchmove\",\n pointerup: \"touchend\",\n pointercancel: \"touchcancel\",\n}\n\nexport function getPointerEventName(name: string): string {\n if (supportsPointerEvents()) {\n return name\n }\n if (supportsTouchEvents()) {\n return touchEventNames[name]\n }\n if (supportsMouseEvents()) {\n return mouseEventNames[name]\n }\n\n return name\n}\n\nexport function addPointerEvent(\n target: EventTarget,\n eventName: string,\n handler: EventListenerWithPointInfo,\n options?: AddEventListenerOptions,\n) {\n return addDomEvent(\n target,\n getPointerEventName(eventName),\n wrapPointerEventHandler(handler, eventName === \"pointerdown\"),\n options,\n )\n}\n\nexport function isMultiTouchEvent(event: AnyPointerEvent) {\n return isTouchEvent(event) && event.touches.length > 1\n}\n","import {\n contains,\n detectBrowser,\n focus,\n getOwnerDocument,\n isActiveElement,\n isRefObject,\n} from \"@chakra-ui/utils\"\nimport { RefObject } from \"react\"\nimport { usePointerEvent } from \"./use-pointer-event\"\n\nexport interface UseFocusOnMouseDownProps {\n enabled?: boolean\n ref: RefObject<HTMLElement>\n elements?: Array<RefObject<HTMLElement> | HTMLElement | null>\n}\n\n/**\n * Polyfill to get `relatedTarget` working correctly consistently\n * across all browsers.\n *\n * It ensures that elements receives focus on pointer down if\n * it's not the active active element.\n *\n * @internal\n */\nexport function useFocusOnPointerDown(props: UseFocusOnMouseDownProps) {\n const { ref, elements, enabled } = props\n\n const isSafari = detectBrowser(\"Safari\")\n const doc = () => getOwnerDocument(ref.current)\n\n usePointerEvent(doc, \"pointerdown\", (event) => {\n if (!isSafari || !enabled) return\n const target = event.target as HTMLElement\n\n const els = elements ?? [ref]\n const isValidTarget = els.some((elementOrRef) => {\n const el = isRefObject(elementOrRef) ? elementOrRef.current : elementOrRef\n return contains(el, target)\n })\n\n if (!isActiveElement(target) && isValidTarget) {\n event.preventDefault()\n focus(target)\n }\n })\n}\n","import { isBrowser } from \"./dom\"\n\nfunction getUserAgentBrowser(navigator: Navigator) {\n const { userAgent: ua, vendor } = navigator\n const android = /(android)/i.test(ua)\n\n switch (true) {\n case /CriOS/.test(ua):\n return \"Chrome for iOS\"\n case /Edg\\//.test(ua):\n return \"Edge\"\n case android && /Silk\\//.test(ua):\n return \"Silk\"\n case /Chrome/.test(ua) && /Google Inc/.test(vendor):\n return \"Chrome\"\n case /Firefox\\/\\d+\\.\\d+$/.test(ua):\n return \"Firefox\"\n case android:\n return \"AOSP\"\n case /MSIE|Trident/.test(ua):\n return \"IE\"\n case /Safari/.test(navigator.userAgent) && /Apple Computer/.test(ua):\n return \"Safari\"\n case /AppleWebKit/.test(ua):\n return \"WebKit\"\n default:\n return null\n }\n}\n\nexport type UserAgentBrowser = NonNullable<\n ReturnType<typeof getUserAgentBrowser>\n>\n\nfunction getUserAgentOS(navigator: Navigator) {\n const { userAgent: ua, platform } = navigator\n switch (true) {\n case /Android/.test(ua):\n return \"Android\"\n case /iPhone|iPad|iPod/.test(platform):\n return \"iOS\"\n case /Win/.test(platform):\n return \"Windows\"\n case /Mac/.test(platform):\n return \"Mac\"\n case /CrOS/.test(ua):\n return \"Chrome OS\"\n case /Firefox/.test(ua):\n return \"Firefox OS\"\n default:\n return null\n }\n}\n\nexport type UserAgentOS = NonNullable<ReturnType<typeof getUserAgentOS>>\n\nexport function detectDeviceType(navigator: Navigator) {\n const { userAgent: ua } = navigator\n if (/(tablet)|(iPad)|(Nexus 9)/i.test(ua)) return \"tablet\"\n if (/(mobi)/i.test(ua)) return \"phone\"\n return \"desktop\"\n}\n\nexport type UserAgentDeviceType = NonNullable<\n ReturnType<typeof detectDeviceType>\n>\n\nexport function detectOS(os: UserAgentOS) {\n if (!isBrowser) return false\n return getUserAgentOS(window.navigator) === os\n}\n\nexport function detectBrowser(browser: UserAgentBrowser) {\n if (!isBrowser) return false\n return getUserAgentBrowser(window.navigator) === browser\n}\n\nexport function detectTouch() {\n if (!isBrowser) return false\n return (\n window.ontouchstart === null &&\n window.ontouchmove === null &&\n window.ontouchend === null\n )\n}\n","/**\n * Credit goes to `framer-motion` of this useful utilities.\n * License can be found here: https://github.com/framer/motion\n */\n\nimport {\n EventListenerWithPointInfo,\n getPointerEventName,\n wrapPointerEventHandler,\n} from \"@chakra-ui/utils\"\nimport { EventListenerEnv, useEventListener } from \"./use-event-listener\"\n\n/**\n * @internal\n */\nexport function usePointerEvent(\n env: EventListenerEnv,\n eventName: string,\n handler: EventListenerWithPointInfo,\n options?: AddEventListenerOptions,\n) {\n return useEventListener(\n getPointerEventName(eventName),\n wrapPointerEventHandler(handler, eventName === \"pointerdown\"),\n env,\n options,\n )\n}\n","import {\n contains,\n focus,\n FocusableElement,\n getAllFocusable,\n isRefObject,\n} from \"@chakra-ui/utils\"\nimport React, { useCallback } from \"react\"\nimport { useEventListener } from \"./use-event-listener\"\nimport { useUpdateEffect } from \"./use-update-effect\"\n\nexport interface UseFocusOnShowOptions {\n visible?: boolean\n shouldFocus?: boolean\n preventScroll?: boolean\n focusRef?: React.RefObject<FocusableElement>\n}\n\nconst defaultOptions: UseFocusOnShowOptions = {\n preventScroll: true,\n shouldFocus: false,\n}\n\nexport function useFocusOnShow<T extends HTMLElement>(\n target: React.RefObject<T> | T,\n options = defaultOptions,\n) {\n const { focusRef, preventScroll, shouldFocus, visible } = options\n const element = isRefObject(target) ? target.current : target\n\n const autoFocus = shouldFocus && visible\n\n const onFocus = useCallback(() => {\n if (!element || !autoFocus) return\n\n if (contains(element, document.activeElement as HTMLElement)) return\n\n if (focusRef?.current) {\n focus(focusRef.current, { preventScroll, nextTick: true })\n } else {\n const tabbableEls = getAllFocusable(element)\n if (tabbableEls.length > 0) {\n focus(tabbableEls[0], { preventScroll, nextTick: true })\n }\n }\n }, [autoFocus, preventScroll, element, focusRef])\n\n useUpdateEffect(() => {\n onFocus()\n }, [onFocus])\n\n useEventListener(\"transitionend\", onFocus, element)\n}\n","import {\n useDisclosure,\n useFocusOnHide,\n useFocusOnPointerDown,\n useFocusOnShow,\n useIds,\n} from \"@chakra-ui/hooks\"\nimport { popperCSSVars, usePopper, UsePopperProps } from \"@chakra-ui/popper\"\nimport { HTMLProps, mergeRefs, PropGetter } from \"@chakra-ui/react-utils\"\nimport {\n callAllHandlers,\n contains,\n determineLazyBehavior,\n FocusableElement,\n getRelatedTarget,\n LazyBehavior,\n px,\n} from \"@chakra-ui/utils\"\nimport { RefObject, useCallback, useEffect, useRef, useState } from \"react\"\n\nconst TRIGGER = {\n click: \"click\",\n hover: \"hover\",\n} as const\n\nexport interface UsePopoverProps extends UsePopperProps {\n /**\n * The html `id` attribute of the popover.\n * If not provided, we generate a unique id.\n *\n * This `id` is also used to auto-generate the `aria-labelledby`\n * and `aria-decribedby` attributes that points to the `PopoverHeader` and `PopoverBody`\n */\n id?: string\n /**\n * If `true`, the popover will be opened in controlled mode.\n */\n isOpen?: boolean\n /**\n * If `true`, the popover will be initially opened.\n */\n defaultIsOpen?: boolean\n /**\n * The `ref` of the element that should receive focus when the popover opens.\n */\n initialFocusRef?: RefObject<FocusableElement>\n /**\n * If `true`, focus will be returned to the element that triggers the popover\n * when it closes\n */\n returnFocusOnClose?: boolean\n /**\n * If `true`, focus will be transferred to the first interactive element\n * when the popover opens\n */\n autoFocus?: boolean\n /**\n * If `true`, the popover will close when you blur out it by\n * clicking outside or tabbing out\n */\n closeOnBlur?: boolean\n /**\n * If `true`, the popover will close when you hit the `Esc` key\n */\n closeOnEsc?: boolean\n /**\n * Callback fired when the popover opens\n */\n onOpen?: () => void\n /**\n * Callback fired when the popover closes\n */\n onClose?: () => void\n /**\n * The size of the popover arrow\n */\n arrowSize?: number\n /**\n * The `box-shadow` of the popover arrow\n */\n arrowShadowColor?: string\n /**\n * The interaction that triggers the popover.\n *\n * `hover` - means the popover will open when you hover with mouse or\n * focus with keyboard on the popover trigger\n *\n * `click` - means the popover will open on click or\n * press `Enter` to `Space` on keyboard\n */\n trigger?: keyof typeof TRIGGER\n openDelay?: number\n closeDelay?: number\n /**\n * Performance 🚀:\n * If `true`, the PopoverContent rendering will be deferred\n * until the popover is open.\n */\n isLazy?: boolean\n /**\n * Performance 🚀:\n * The lazy behavior of popover's content when not visible.\n * Only works when `isLazy={true}`\n *\n * - \"unmount\": The popover's content is always unmounted when not open.\n * - \"keepMounted\": The popover's content initially unmounted,\n * but stays mounted when popover is open.\n *\n * @default \"unmount\"\n */\n lazyBehavior?: LazyBehavior\n /**\n * If `true`, the popover will be positioned when it mounts\n * (even if it's not open)\n *\n * Note 🚨: We don't recommend using this in a popover/menu intensive UI or page\n * as it might affect scrolling performance.\n */\n computePositionOnMount?: boolean\n}\n\n/**\n * @internal\n */\nexport function usePopover(props: UsePopoverProps = {}) {\n const {\n closeOnBlur = true,\n closeOnEsc = true,\n initialFocusRef,\n id,\n returnFocusOnClose = true,\n autoFocus = true,\n arrowSize,\n arrowShadowColor,\n trigger = TRIGGER.click,\n openDelay = 200,\n closeDelay = 200,\n isLazy,\n lazyBehavior = \"unmount\",\n computePositionOnMount,\n ...popperProps\n } = props\n\n const { isOpen, onClose, onOpen, onToggle } = useDisclosure(props)\n\n const triggerRef = useRef<HTMLElement>(null)\n const popoverRef = useRef<HTMLElement>(null)\n\n const isHoveringRef = useRef(false)\n\n const hasBeenOpened = useRef(false)\n if (isOpen) {\n hasBeenOpened.current = true\n }\n\n const [hasHeader, setHasHeader] = useState(false)\n const [hasBody, setHasBody] = useState(false)\n\n const [triggerId, popoverId, headerId, bodyId] = useIds(\n id,\n \"popover-trigger\",\n \"popover-content\",\n \"popover-header\",\n \"popover-body\",\n )\n\n const {\n referenceRef,\n getArrowProps,\n getPopperProps,\n getArrowInnerProps,\n forceUpdate,\n } = usePopper({\n ...popperProps,\n enabled: isOpen || !!computePositionOnMount,\n })\n\n useFocusOnPointerDown({\n enabled: isOpen,\n ref: triggerRef,\n })\n\n useFocusOnHide(popoverRef, {\n focusRef: triggerRef,\n visible: isOpen,\n shouldFocus: returnFocusOnClose && trigger === TRIGGER.click,\n })\n\n useFocusOnShow(popoverRef, {\n focusRef: initialFocusRef,\n visible: isOpen,\n shouldFocus: autoFocus && trigger === TRIGGER.click,\n })\n\n const shouldRenderChildren = determineLazyBehavior({\n hasBeenSelected: hasBeenOpened.current,\n isLazy,\n lazyBehavior,\n isSelected: isOpen,\n })\n\n const getPopoverProps: PropGetter = useCallback(\n (props = {}, _ref = null) => {\n const popoverProps: HTMLProps = {\n ...props,\n style: {\n ...props.style,\n transformOrigin: popperCSSVars.transformOrigin.varRef,\n [popperCSSVars.arrowSize.var]: arrowSize ? px(arrowSize) : undefined,\n [popperCSSVars.arrowShadowColor.var]: arrowShadowColor,\n },\n ref: mergeRefs(popoverRef, _ref),\n children: shouldRenderChildren ? props.children : null,\n id: popoverId,\n tabIndex: -1,\n role: \"dialog\",\n onKeyDown: callAllHandlers(props.onKeyDown, (event) => {\n if (closeOnEsc && event.key === \"Escape\") {\n onClose()\n }\n }),\n onBlur: callAllHandlers(props.onBlur, (event) => {\n const relatedTarget = getRelatedTarget(event)\n const targetIsPopover = contains(popoverRef.current, relatedTarget)\n const targetIsTrigger = contains(triggerRef.current, relatedTarget)\n const isValidBlur = !targetIsPopover && !targetIsTrigger\n\n if (isOpen && closeOnBlur && isValidBlur) {\n onClose()\n }\n }),\n \"aria-labelledby\": hasHeader ? headerId : undefined,\n \"aria-describedby\": hasBody ? bodyId : undefined,\n }\n\n if (trigger === TRIGGER.hover) {\n popoverProps.role = \"tooltip\"\n popoverProps.onMouseEnter = callAllHandlers(props.onMouseEnter, () => {\n isHoveringRef.current = true\n })\n popoverProps.onMouseLeave = callAllHandlers(props.onMouseLeave, () => {\n isHoveringRef.current = false\n setTimeout(onClose, closeDelay)\n })\n }\n\n return popoverProps\n },\n [\n shouldRenderChildren,\n popoverId,\n hasHeader,\n headerId,\n hasBody,\n bodyId,\n trigger,\n closeOnEsc,\n onClose,\n isOpen,\n closeOnBlur,\n closeDelay,\n arrowShadowColor,\n arrowSize,\n ],\n )\n\n const getPopoverPositionerProps: PropGetter = useCallback(\n (props = {}, forwardedRef = null) =>\n getPopperProps(\n {\n ...props,\n style: {\n visibility: isOpen ? \"visible\" : \"hidden\",\n ...props.style,\n },\n },\n forwardedRef,\n ),\n [isOpen, getPopperProps],\n )\n\n const openTimeout = useRef<number>()\n const closeTimeout = useRef<number>()\n\n const getTriggerProps: PropGetter = useCallback(\n (props = {}, _ref = null) => {\n const triggerProps: HTMLProps = {\n ...props,\n ref: mergeRefs(triggerRef, _ref, referenceRef),\n id: triggerId,\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": isOpen,\n \"aria-controls\": popoverId,\n }\n\n if (trigger === TRIGGER.click) {\n triggerProps.onClick = callAllHandlers(props.onClick, onToggle)\n }\n\n if (trigger === TRIGGER.hover) {\n /**\n * Any content that shows on pointer hover should also show on keyboard focus.\n * Consider focus and blur to be the `hover` for keyboard users.\n *\n * @see https://www.w3.org/WAI/WCAG21/Understanding/content-on-hover-or-focus.html\n */\n triggerProps.onFocus = callAllHandlers(props.onFocus, onOpen)\n triggerProps.onBlur = callAllHandlers(props.onBlur, onClose)\n\n /**\n * Any content that shows on hover or focus must be dismissible.\n * This case pressing `Escape` will dismiss the popover\n */\n triggerProps.onKeyDown = callAllHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Escape\") {\n onClose()\n }\n })\n\n triggerProps.onMouseEnter = callAllHandlers(props.onMouseEnter, () => {\n isHoveringRef.current = true\n openTimeout.current = window.setTimeout(onOpen, openDelay)\n })\n\n triggerProps.onMouseLeave = callAllHandlers(props.onMouseLeave, () => {\n isHoveringRef.current = false\n\n if (openTimeout.current) {\n clearTimeout(openTimeout.current)\n openTimeout.current = undefined\n }\n\n closeTimeout.current = window.setTimeout(() => {\n if (isHoveringRef.current === false) {\n onClose()\n }\n }, closeDelay)\n })\n }\n\n return triggerProps\n },\n [\n triggerId,\n isOpen,\n popoverId,\n trigger,\n referenceRef,\n onToggle,\n onOpen,\n onClose,\n openDelay,\n closeDelay,\n ],\n )\n\n useEffect(() => {\n return () => {\n if (openTimeout.current) {\n clearTimeout(openTimeout.current)\n }\n if (closeTimeout.current) {\n clearTimeout(closeTimeout.current)\n }\n }\n }, [])\n\n const getHeaderProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n id: headerId,\n ref: mergeRefs(ref, (node: HTMLElement | null) => {\n setHasHeader(!!node)\n }),\n }),\n [headerId],\n )\n\n const getBodyProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n id: bodyId,\n ref: mergeRefs(ref, (node) => {\n setHasBody(!!node)\n }),\n }),\n [bodyId],\n )\n\n return {\n forceUpdate,\n isOpen,\n onClose,\n getArrowProps,\n getArrowInnerProps,\n getPopoverPositionerProps,\n getPopoverProps,\n getTriggerProps,\n getHeaderProps,\n getBodyProps,\n }\n}\n\nexport type UsePopoverReturn = ReturnType<typeof usePopover>\n","import { CloseButton, CloseButtonProps } from \"@chakra-ui/close-button\"\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\"\nimport {\n chakra,\n forwardRef,\n HTMLChakraProps,\n omitThemingProps,\n StylesProvider,\n SystemStyleObject,\n ThemingProps,\n useMultiStyleConfig,\n useStyles,\n useTheme,\n} from \"@chakra-ui/system\"\nimport { cx, runIfFn, __DEV__ } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\nimport { PopoverProvider, usePopoverContext } from \"./popover-context\"\nimport { PopoverTransition, PopoverTransitionProps } from \"./popover-transition\"\nimport { usePopover, UsePopoverProps } from \"./use-popover\"\n\nexport { usePopoverContext }\n\nexport interface PopoverProps extends UsePopoverProps, ThemingProps<\"Popover\"> {\n /**\n * The content of the popover. It is usually the `PopoverTrigger`,\n * and `PopoverContent`\n */\n children?: MaybeRenderProp<{\n isOpen: boolean\n onClose: () => void\n forceUpdate: (() => void) | undefined\n }>\n}\n\n/**\n * Popover is used to bring attention to specific user interface elements,\n * typically to suggest an action or to guide users through a new experience.\n */\nexport const Popover: React.FC<PopoverProps> = (props) => {\n const styles = useMultiStyleConfig(\"Popover\", props)\n\n const { children, ...rest } = omitThemingProps(props)\n const theme = useTheme()\n const context = usePopover({ ...rest, direction: theme.direction })\n\n return (\n <PopoverProvider value={context}>\n <StylesProvider value={styles}>\n {runIfFn(children, {\n isOpen: context.isOpen,\n onClose: context.onClose,\n forceUpdate: context.forceUpdate,\n })}\n </StylesProvider>\n </PopoverProvider>\n )\n}\n\nif (__DEV__) {\n Popover.displayName = \"Popover\"\n}\n\n/**\n * PopoverTrigger opens the popover's content. It must be an interactive element\n * such as `button` or `a`.\n */\nexport const PopoverTrigger: React.FC = (props) => {\n // enforce a single child\n const child: any = React.Children.only(props.children)\n const { getTriggerProps } = usePopoverContext()\n return React.cloneElement(child, getTriggerProps(child.props, child.ref))\n}\n\nif (__DEV__) {\n PopoverTrigger.displayName = \"PopoverTrigger\"\n}\n\nexport interface PopoverContentProps extends PopoverTransitionProps {\n rootProps?: HTMLChakraProps<\"div\">\n}\n\nexport const PopoverContent = forwardRef<PopoverContentProps, \"section\">(\n (props, ref) => {\n const { rootProps, ...contentProps } = props\n\n const { getPopoverProps, getPopoverPositionerProps } = usePopoverContext()\n\n const styles = useStyles()\n const contentStyles: SystemStyleObject = {\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n ...styles.content,\n }\n\n return (\n <chakra.div\n {...getPopoverPositionerProps(rootProps)}\n __css={styles.popper}\n className=\"chakra-popover__popper\"\n >\n <PopoverTransition\n {...getPopoverProps(contentProps, ref)}\n className={cx(\"chakra-popover__content\", props.className)}\n __css={contentStyles}\n />\n </chakra.div>\n )\n },\n)\n\nif (__DEV__) {\n PopoverContent.displayName = \"PopoverContent\"\n}\n\nexport interface PopoverHeaderProps extends HTMLChakraProps<\"header\"> {}\n\n/**\n * PopoverHeader is the accessible header or label\n * for the popover's content and it is first announced by screenreaders.\n */\nexport const PopoverHeader = forwardRef<PopoverHeaderProps, \"header\">(\n (props, ref) => {\n const { getHeaderProps } = usePopoverContext()\n\n const styles = useStyles()\n\n return (\n <chakra.header\n {...getHeaderProps(props, ref)}\n className={cx(\"chakra-popover__header\", props.className)}\n __css={styles.header}\n />\n )\n },\n)\n\nif (__DEV__) {\n PopoverHeader.displayName = \"PopoverHeader\"\n}\n\nexport interface PopoverBodyProps extends HTMLChakraProps<\"div\"> {}\n\n/**\n * PopoverBody is the main content area for the popover. Should contain\n * at least one interactive element.\n */\nexport const PopoverBody = forwardRef<PopoverBodyProps, \"div\">((props, ref) => {\n const { getBodyProps } = usePopoverContext()\n\n const styles = useStyles()\n\n return (\n <chakra.div\n {...getBodyProps(props, ref)}\n className={cx(\"chakra-popover__body\", props.className)}\n __css={styles.body}\n />\n )\n})\n\nif (__DEV__) {\n PopoverBody.displayName = \"PopoverBody\"\n}\nexport interface PopoverFooterProps extends HTMLChakraProps<\"footer\"> {}\n\nexport const PopoverFooter: React.FC<PopoverFooterProps> = (props) => {\n const styles = useStyles()\n return (\n <chakra.footer\n {...props}\n className={cx(\"chakra-popover__footer\", props.className)}\n __css={styles.footer}\n />\n )\n}\n\nif (__DEV__) {\n PopoverFooter.displayName = \"PopoverFooter\"\n}\n\nexport type PopoverCloseButtonProps = CloseButtonProps\n\nexport const PopoverCloseButton: React.FC<CloseButtonProps> = (props) => {\n const { onClose } = usePopoverContext()\n const styles = useStyles()\n return (\n <CloseButton\n size=\"sm\"\n onClick={onClose}\n className={cx(\"chakra-popover__close-btn\", props.className)}\n __css={styles.closeButton}\n {...props}\n />\n )\n}\n\nif (__DEV__) {\n PopoverCloseButton.displayName = \"PopoverCloseButton\"\n}\n\nexport interface PopoverArrowProps extends HTMLChakraProps<\"div\"> {}\n\nexport const PopoverArrow: React.FC<PopoverArrowProps> = (props) => {\n const { bg, bgColor, backgroundColor } = props\n const { getArrowProps, getArrowInnerProps } = usePopoverContext()\n const styles = useStyles()\n const arrowBg = bg ?? bgColor ?? backgroundColor\n return (\n <chakra.div\n {...getArrowProps()}\n className=\"chakra-popover__arrow-positioner\"\n >\n <chakra.div\n className={cx(\"chakra-popover__arrow\", props.className)}\n {...getArrowInnerProps(props)}\n __css={{\n ...styles.arrow,\n \"--popper-arrow-bg\": arrowBg\n ? `colors.${arrowBg}, ${arrowBg}`\n : undefined,\n }}\n />\n </chakra.div>\n )\n}\n\nif (__DEV__) {\n PopoverArrow.displayName = \"PopoverArrow\"\n}\n","import { useFormControlContext } from \"@chakra-ui/form-control\"\nimport { useBoolean, useControllableProp, useId } from \"@chakra-ui/hooks\"\nimport { mergeRefs, PropGetter } from \"@chakra-ui/react-utils\"\nimport { ariaAttr, callAllHandlers, dataAttr, warn } from \"@chakra-ui/utils\"\nimport { visuallyHiddenStyle } from \"@chakra-ui/visually-hidden\"\nimport {\n ChangeEvent,\n SyntheticEvent,\n useCallback,\n useRef,\n useState,\n} from \"react\"\nimport { useRadioGroupContext } from \"./radio-group\"\n\n/**\n * @todo use the `useClickable` hook here\n * to manage the isFocusable & isDisabled props\n */\nexport interface UseRadioProps {\n /**\n * id assigned to input\n */\n id?: string\n /**\n * The name of the input field in a radio\n * (Useful for form submission).\n */\n name?: string\n /**\n * The value to be used in the radio button.\n * This is the value that will be returned on form submission.\n */\n value?: string | number\n /**\n * If `true`, the radio will be checked.\n * You'll need to pass `onChange` to update its value (since it is now controlled)\n */\n isChecked?: boolean\n /**\n * If `true`, the radio will be initially checked.\n *\n * @deprecated Please use `defaultChecked` which mirrors the default prop\n * name for radio elements.\n */\n defaultIsChecked?: boolean\n /**\n * If `true`, the radio will be initially checked.\n */\n defaultChecked?: boolean\n /**\n * If `true`, the radio will be disabled\n */\n isDisabled?: boolean\n /**\n * If `true` and `isDisabled` is true, the radio will remain\n * focusable but not interactive.\n */\n isFocusable?: boolean\n /**\n * If `true`, the radio will be read-only\n */\n isReadOnly?: boolean\n /**\n * If `true`, the radio button will be invalid. This also sets `aria-invalid` to `true`.\n */\n isInvalid?: boolean\n /**\n * If `true`, the radio button will be required. This also sets `aria-required` to `true`.\n */\n isRequired?: boolean\n /**\n * Function called when checked state of the `input` changes\n */\n onChange?: (event: ChangeEvent<HTMLInputElement>) => void\n /**\n * @internal\n */\n \"data-radiogroup\"?: any\n}\n\nexport function useRadio(props: UseRadioProps = {}) {\n const {\n defaultIsChecked,\n defaultChecked = defaultIsChecked,\n isChecked: isCheckedProp,\n isFocusable,\n isDisabled: isDisabledProp,\n isReadOnly: isReadOnlyProp,\n isRequired: isRequiredProp,\n onChange,\n isInvalid: isInvalidProp,\n name,\n value,\n id: idProp,\n \"data-radiogroup\": dataRadioGroup,\n ...htmlProps\n } = props\n\n const uuid = useId(undefined, \"radio\")\n\n const formControl = useFormControlContext()\n const group = useRadioGroupContext()\n\n const isWithinRadioGroup = !!group || !!dataRadioGroup\n const isWithinFormControl = !!formControl\n\n let id = isWithinFormControl && !isWithinRadioGroup ? formControl.id : uuid\n id = idProp ?? id\n\n const isDisabled = isDisabledProp ?? formControl?.isDisabled\n const isReadOnly = isReadOnlyProp ?? formControl?.isReadOnly\n const isRequired = isRequiredProp ?? formControl?.isRequired\n const isInvalid = isInvalidProp ?? formControl?.isInvalid\n\n const [isFocused, setFocused] = useBoolean()\n const [isHovered, setHovering] = useBoolean()\n const [isActive, setActive] = useBoolean()\n\n const ref = useRef<HTMLInputElement>(null)\n\n const [isCheckedState, setChecked] = useState(Boolean(defaultChecked))\n\n const [isControlled, isChecked] = useControllableProp(\n isCheckedProp,\n isCheckedState,\n )\n\n warn({\n condition: !!defaultIsChecked,\n message:\n 'The \"defaultIsChecked\" prop has been deprecated and will be removed in a future version. ' +\n 'Please use the \"defaultChecked\" prop instead, which mirrors default React checkbox behavior.',\n })\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n if (isReadOnly || isDisabled) {\n event.preventDefault()\n return\n }\n\n if (!isControlled) {\n setChecked(event.target.checked)\n }\n\n onChange?.(event)\n },\n [isControlled, isDisabled, isReadOnly, onChange],\n )\n\n const onKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === \" \") {\n setActive.on()\n }\n },\n [setActive],\n )\n\n const onKeyUp = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === \" \") {\n setActive.off()\n }\n },\n [setActive],\n )\n\n const getCheckboxProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n ref,\n \"data-active\": dataAttr(isActive),\n \"data-hover\": dataAttr(isHovered),\n \"data-disabled\": dataAttr(isDisabled),\n \"data-invalid\": dataAttr(isInvalid),\n \"data-checked\": dataAttr(isChecked),\n \"data-focus\": dataAttr(isFocused),\n \"data-readonly\": dataAttr(isReadOnly),\n \"aria-hidden\": true,\n onMouseDown: callAllHandlers(props.onMouseDown, setActive.on),\n onMouseUp: callAllHandlers(props.onMouseUp, setActive.off),\n onMouseEnter: callAllHandlers(props.onMouseEnter, setHovering.on),\n onMouseLeave: callAllHandlers(props.onMouseLeave, setHovering.off),\n }),\n [\n isActive,\n isHovered,\n isDisabled,\n isInvalid,\n isChecked,\n isFocused,\n isReadOnly,\n setActive.on,\n setActive.off,\n setHovering.on,\n setHovering.off,\n ],\n )\n\n const { onFocus, onBlur } = formControl ?? {}\n\n const getInputProps: PropGetter<HTMLInputElement> = useCallback(\n (props = {}, forwardedRef = null) => {\n const trulyDisabled = isDisabled && !isFocusable\n\n return {\n ...props,\n id,\n ref: mergeRefs(forwardedRef, ref),\n type: \"radio\",\n name,\n value,\n onChange: callAllHandlers(props.onChange, handleChange),\n onBlur: callAllHandlers(onBlur, props.onBlur, setFocused.off),\n onFocus: callAllHandlers(onFocus, props.onFocus, setFocused.on),\n onKeyDown: callAllHandlers(props.onKeyDown, onKeyDown),\n onKeyUp: callAllHandlers(props.onKeyUp, onKeyUp),\n checked: isChecked,\n disabled: trulyDisabled,\n readOnly: isReadOnly,\n required: isRequired,\n \"aria-invalid\": ariaAttr(isInvalid),\n \"aria-disabled\": ariaAttr(trulyDisabled),\n \"aria-required\": ariaAttr(isRequired),\n \"data-readonly\": dataAttr(isReadOnly),\n style: visuallyHiddenStyle,\n }\n },\n [\n isDisabled,\n isFocusable,\n id,\n name,\n value,\n handleChange,\n onBlur,\n setFocused,\n onFocus,\n onKeyDown,\n onKeyUp,\n isChecked,\n isReadOnly,\n isRequired,\n isInvalid,\n ],\n )\n\n const getLabelProps: PropGetter = (props = {}, ref = null) => ({\n ...props,\n ref,\n onMouseDown: callAllHandlers(props.onMouseDown, stop),\n onTouchStart: callAllHandlers(props.onTouchStart, stop),\n \"data-disabled\": dataAttr(isDisabled),\n \"data-checked\": dataAttr(isChecked),\n \"data-invalid\": dataAttr(isInvalid),\n })\n\n const getRootProps: PropGetter = (props, ref = null) => ({\n ...props,\n ref,\n \"data-disabled\": dataAttr(isDisabled),\n \"data-checked\": dataAttr(isChecked),\n \"data-invalid\": dataAttr(isInvalid),\n })\n\n return {\n state: {\n isInvalid,\n isFocused,\n isChecked,\n isActive,\n isHovered,\n isDisabled,\n isReadOnly,\n isRequired,\n },\n getCheckboxProps,\n getInputProps,\n getLabelProps,\n getRootProps,\n htmlProps,\n }\n}\n\n/**\n * Prevent `onBlur` being fired when the checkbox label is touched\n */\nfunction stop(event: SyntheticEvent) {\n event.preventDefault()\n event.stopPropagation()\n}\n\nexport type UseRadioReturn = ReturnType<typeof useRadio>\n","import {\n chakra,\n forwardRef,\n layoutPropNames,\n omitThemingProps,\n SystemProps,\n SystemStyleObject,\n ThemingProps,\n useMultiStyleConfig,\n HTMLChakraProps,\n} from \"@chakra-ui/system\"\nimport { callAll, split, __DEV__ } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\nimport { useRadioGroupContext } from \"./radio-group\"\nimport { useRadio, UseRadioProps } from \"./use-radio\"\n\ntype Omitted = \"onChange\" | \"defaultChecked\" | \"checked\"\ninterface BaseControlProps extends Omit<HTMLChakraProps<\"div\">, Omitted> {}\n\nexport interface RadioProps\n extends UseRadioProps,\n ThemingProps<\"Radio\">,\n BaseControlProps {\n /**\n * The spacing between the checkbox and its label text\n * @default 0.5rem\n * @type SystemProps[\"marginLeft\"]\n */\n spacing?: SystemProps[\"marginLeft\"]\n /**\n * If `true`, the radio will occupy the full width of its parent container\n *\n * @deprecated\n * This component defaults to 100% width,\n * please use the props `maxWidth` or `width` to configure\n */\n isFullWidth?: boolean\n}\n\n/**\n * Radio component is used in forms when a user needs to select a single value from\n * several options.\n *\n * @see Docs https://chakra-ui.com/radio\n */\nexport const Radio = forwardRef<RadioProps, \"input\">((props, ref) => {\n const group = useRadioGroupContext()\n const { onChange: onChangeProp, value: valueProp } = props\n\n const styles = useMultiStyleConfig(\"Radio\", { ...group, ...props })\n\n const ownProps = omitThemingProps(props)\n\n const {\n spacing = \"0.5rem\",\n children,\n isFullWidth,\n isDisabled = group?.isDisabled,\n isFocusable = group?.isFocusable,\n ...rest\n } = ownProps\n\n let isChecked = props.isChecked\n if (group?.value != null && valueProp != null) {\n isChecked = group.value === valueProp\n }\n\n let onChange = onChangeProp\n if (group?.onChange && valueProp != null) {\n onChange = callAll(group.onChange, onChangeProp)\n }\n\n const name = props?.name ?? group?.name\n\n const {\n getInputProps,\n getCheckboxProps,\n getLabelProps,\n getRootProps,\n htmlProps,\n } = useRadio({\n ...rest,\n isChecked,\n isFocusable,\n isDisabled,\n onChange,\n name,\n })\n\n const [layoutProps, otherProps] = split(htmlProps, layoutPropNames as any)\n\n const checkboxProps = getCheckboxProps(otherProps)\n const inputProps = getInputProps({}, ref)\n const labelProps = getLabelProps()\n const rootProps = Object.assign({}, layoutProps, getRootProps())\n\n const rootStyles = {\n width: isFullWidth ? \"full\" : undefined,\n display: \"inline-flex\",\n alignItems: \"center\",\n verticalAlign: \"top\",\n ...styles.container,\n }\n\n const checkboxStyles = {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n ...styles.control,\n }\n\n const labelStyles: SystemStyleObject = {\n userSelect: \"none\",\n marginStart: spacing,\n ...styles.label,\n }\n\n return (\n <chakra.label className=\"chakra-radio\" {...rootProps} __css={rootStyles}>\n <input className=\"chakra-radio__input\" {...inputProps} />\n <chakra.span\n className=\"chakra-radio__control\"\n {...checkboxProps}\n __css={checkboxStyles}\n />\n {children && (\n <chakra.span\n className=\"chakra-radio__label\"\n {...labelProps}\n __css={labelStyles}\n >\n {children}\n </chakra.span>\n )}\n </chakra.label>\n )\n})\n\nif (__DEV__) {\n Radio.displayName = \"Radio\"\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(this["webpackJsonpconstruct-hub-webapp"]=this["webpackJsonpconstruct-hub-webapp"]||[]).push([[2],{107:function(e,t,n){"use strict";n.d(t,"b",(function(){return v})),n.d(t,"a",(function(){return m}));var a=n(6),c=n(5),r=n(203),o=n(0),i="prefersWarnOnExternalLinkClick",s=n(204),u=n(46),l=n(201),d=n(226),j=n(156),b=n(229),f=n(45),O=n(1),h=function(e){var t=e.href,n=e.isOpen,a=e.onClick,r=e.onClose,h=e.setShouldWarn,p=Object(o.useState)(!0),v=Object(c.a)(p,2),m=v[0],g=v[1];return Object(O.jsx)(u.a,{closeOnOverlayClick:!1,isOpen:n,onClose:r,children:Object(O.jsx)(u.h,{children:Object(O.jsxs)(u.d,{color:"blue.800",children:[Object(O.jsx)(u.g,{children:"Confirm"}),Object(O.jsxs)(u.b,{children:[Object(O.jsx)(l.a,{fontSize:"lg",mb:2,children:"This link is taking you to an external site"}),Object(O.jsx)(l.a,{bg:"gray.100",borderRadius:"sm",color:"blue.500",fontSize:"sm",mb:4,p:1,children:t}),Object(O.jsx)(d.a,{onChange:function(e){var t=!e.target.checked;g(t)},children:"Do not show this warning again."})]}),Object(O.jsxs)(u.f,{children:[Object(O.jsx)(j.a,{onClick:function(){g(!0),r()},variant:"ghost",children:"Cancel"}),Object(O.jsx)(b.a,{hasArrow:!0,label:t,placement:"top",children:Object(O.jsx)(f.a,{hasIcon:!1,hasWarning:!1,href:t,noFollow:!0,onClick:function(e){if(!m){h(m);try{localStorage.setItem(i,JSON.stringify(m))}catch(t){}}null===a||void 0===a||a(e),r()},children:Object(O.jsx)(j.a,{colorScheme:"blue",ml:4,rightIcon:Object(O.jsx)(s.a,{}),tabIndex:0,variant:"ghost",children:"Proceed"})})})]})]})})})},p=Object(o.createContext)((function(e){return e.onClick})),v=function(){return Object(o.useContext)(p)},m=function(e){var t=e.children,n=Object(o.useState)(null),s=Object(c.a)(n,2),u=s[0],l=s[1],d=Object(r.a)({onClose:function(){l(null)}}),j=d.isOpen,b=d.onOpen,f=d.onClose,v=Object(o.useState)((function(){try{var e,t=null!==(e=localStorage.getItem(i))&&void 0!==e?e:"true";return JSON.parse(t)}catch(n){return!0}})),m=Object(c.a)(v,2),g=m[0],x=m[1],k=Object(o.useCallback)((function(e){var t=e.href,n=e.onClick;if(!g)return n;return function(e){l({href:t,onClick:n}),e.preventDefault(),b()}}),[b,g]);return Object(O.jsxs)(p.Provider,{value:k,children:[t,Object(O.jsx)(h,Object(a.a)({isOpen:j,onClose:f,setShouldWarn:x},u))]})}},110:function(e,t,n){"use strict";n.d(t,"d",(function(){return o})),n.d(t,"f",(function(){return d})),n.d(t,"a",(function(){return j})),n.d(t,"b",(function(){return b})),n.d(t,"e",(function(){return f})),n.d(t,"c",(function(){return O}));var a,c,r,o,i=n(4),s=n(6),u=n(108),l=n(1);!function(e){e.DotNet="dotnet",e.TypeScript="typescript",e.Python="python",e.Go="golang",e.Java="java"}(o||(o={}));var d=(a={},Object(i.a)(a,o.TypeScript,o.TypeScript),Object(i.a)(a,o.Python,o.Python),Object(i.a)(a,o.Go,o.Go),Object(i.a)(a,o.Java,o.Java),Object(i.a)(a,o.DotNet,"csharp"),a),j=[o.TypeScript,o.Python,o.Java,o.Go,o.DotNet],b=(c={},Object(i.a)(c,o.TypeScript,"TypeScript"),Object(i.a)(c,o.Python,"Python"),Object(i.a)(c,o.Java,"Java"),Object(i.a)(c,o.Go,"Go"),Object(i.a)(c,o.DotNet,".NET"),c),f=new Set([o.Python,o.TypeScript,o.Java,o.DotNet]),O=(r={},Object(i.a)(r,o.TypeScript,{name:b.typescript,icon:function(e){return Object(l.jsxs)(u.a,Object(s.a)(Object(s.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 256 256",children:[Object(l.jsx)("path",{d:"M0 128v128h256V0H0z",fill:"#007ACC"}),Object(l.jsx)("path",{d:"M56.611 128.85l-.081 10.483h33.32v94.68h23.57v-94.68h33.32v-10.28c0-5.69-.122-10.444-.284-10.566-.122-.162-20.399-.244-44.983-.203l-44.739.122-.122 10.443zM206.567 118.108c6.501 1.626 11.459 4.51 16.01 9.224 2.357 2.52 5.851 7.112 6.136 8.209.08.325-11.053 7.802-17.798 11.987-.244.163-1.22-.894-2.317-2.52-3.291-4.794-6.745-6.867-12.028-7.232-7.76-.529-12.759 3.535-12.718 10.32 0 1.992.284 3.17 1.097 4.796 1.707 3.535 4.876 5.648 14.832 9.955 18.326 7.884 26.168 13.085 31.045 20.48 5.445 8.25 6.664 21.415 2.966 31.208-4.063 10.646-14.14 17.88-28.323 20.277-4.388.772-14.79.65-19.504-.203-10.28-1.829-20.033-6.908-26.047-13.572-2.357-2.601-6.949-9.387-6.664-9.875.122-.162 1.178-.812 2.356-1.503 1.138-.65 5.446-3.13 9.509-5.486l7.355-4.267 1.544 2.276c2.154 3.291 6.867 7.802 9.712 9.305 8.167 4.308 19.383 3.698 24.909-1.26 2.357-2.153 3.332-4.388 3.332-7.68 0-2.966-.366-4.266-1.91-6.5-1.99-2.845-6.054-5.243-17.595-10.24-13.206-5.69-18.895-9.225-24.096-14.833-3.007-3.25-5.852-8.452-7.03-12.8-.975-3.616-1.22-12.678-.447-16.335 2.723-12.76 12.353-21.658 26.25-24.3 4.51-.853 14.994-.528 19.424.57z",fill:"#FFF"})]}))}}),Object(i.a)(r,o.Python,{name:b.python,icon:function(e){return Object(l.jsxs)(u.a,Object(s.a)(Object(s.a)({},e),{},{version:"1.0",viewBox:"0 0 110.421 109.846",children:[Object(l.jsxs)("defs",{children:[Object(l.jsxs)("linearGradient",{id:"a",children:[Object(l.jsx)("stop",{offset:"0",stopColor:"#ffe052"}),Object(l.jsx)("stop",{offset:"1",stopColor:"#ffc331"})]}),Object(l.jsx)("linearGradient",{gradientUnits:"userSpaceOnUse",id:"d",x1:"89.137",x2:"147.777",xlinkHref:"#a",y1:"111.921",y2:"168.101"}),Object(l.jsxs)("linearGradient",{id:"b",children:[Object(l.jsx)("stop",{offset:"0",stopColor:"#387eb8"}),Object(l.jsx)("stop",{offset:"1",stopColor:"#366994"})]}),Object(l.jsx)("linearGradient",{gradientUnits:"userSpaceOnUse",id:"c",x1:"55.549",x2:"110.149",xlinkHref:"#b",y1:"77.07",y2:"131.853"})]}),Object(l.jsxs)("g",{color:"#000",children:[Object(l.jsx)("path",{d:"M99.75 67.469c-28.032 0-26.281 12.156-26.281 12.156l.031 12.594h26.75V96H62.875s-17.938-2.034-17.938 26.25 15.657 27.281 15.657 27.281h9.343v-13.125s-.503-15.656 15.407-15.656h26.531s14.906.241 14.906-14.406V82.125s2.263-14.656-27.031-14.656zM85 75.938a4.808 4.808 0 014.813 4.812A4.808 4.808 0 0185 85.563a4.808 4.808 0 01-4.813-4.813A4.808 4.808 0 0185 75.937z",fill:"url(#c)",overflow:"visible",style:{marker:"none"},transform:"translate(-44.938 -67.469)"}),Object(l.jsx)("path",{d:"M100.546 177.315c28.032 0 26.281-12.156 26.281-12.156l-.03-12.594h-26.75v-3.781h37.374s17.938 2.034 17.938-26.25c0-28.285-15.657-27.282-15.657-27.282h-9.343v13.125s.503 15.657-15.407 15.657h-26.53s-14.907-.241-14.907 14.406v24.219s-2.263 14.656 27.031 14.656zm14.75-8.469a4.808 4.808 0 01-4.812-4.812 4.808 4.808 0 014.812-4.813 4.808 4.808 0 014.813 4.813 4.808 4.808 0 01-4.813 4.812z",fill:"url(#d)",overflow:"visible",style:{marker:"none"},transform:"translate(-44.938 -67.469)"})]})]}))}}),Object(i.a)(r,o.Java,{name:b.java,icon:function(e){return Object(l.jsxs)(u.a,Object(s.a)(Object(s.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 256 346",children:[Object(l.jsx)("path",{d:"M82.554 267.473s-13.198 7.675 9.393 10.272c27.369 3.122 41.356 2.675 71.517-3.034 0 0 7.93 4.972 19.003 9.279-67.611 28.977-153.019-1.679-99.913-16.517M74.292 229.659s-14.803 10.958 7.805 13.296c29.236 3.016 52.324 3.263 92.276-4.43 0 0 5.526 5.602 14.215 8.666-81.747 23.904-172.798 1.885-114.296-17.532",fill:"#5382A1"}),Object(l.jsx)("path",{d:"M143.942 165.515c16.66 19.18-4.377 36.44-4.377 36.44s42.301-21.837 22.874-49.183c-18.144-25.5-32.059-38.172 43.268-81.858 0 0-118.238 29.53-61.765 94.6",fill:"#E76F00"}),Object(l.jsx)("path",{d:"M233.364 295.442s9.767 8.047-10.757 14.273c-39.026 11.823-162.432 15.393-196.714.471-12.323-5.36 10.787-12.8 18.056-14.362 7.581-1.644 11.914-1.337 11.914-1.337-13.705-9.655-88.583 18.957-38.034 27.15 137.853 22.356 251.292-10.066 215.535-26.195M88.9 190.48s-62.771 14.91-22.228 20.323c17.118 2.292 51.243 1.774 83.03-.89 25.978-2.19 52.063-6.85 52.063-6.85s-9.16 3.923-15.787 8.448c-63.744 16.765-186.886 8.966-151.435-8.183 29.981-14.492 54.358-12.848 54.358-12.848M201.506 253.422c64.8-33.672 34.839-66.03 13.927-61.67-5.126 1.066-7.411 1.99-7.411 1.99s1.903-2.98 5.537-4.27c41.37-14.545 73.187 42.897-13.355 65.647 0 .001 1.003-.895 1.302-1.697",fill:"#5382A1"}),Object(l.jsx)("path",{d:"M162.439.371s35.887 35.9-34.037 91.101c-56.071 44.282-12.786 69.53-.023 98.377-32.73-29.53-56.75-55.526-40.635-79.72C111.395 74.612 176.918 57.393 162.439.37",fill:"#E76F00"}),Object(l.jsx)("path",{d:"M95.268 344.665c62.199 3.982 157.712-2.209 159.974-31.64 0 0-4.348 11.158-51.404 20.018-53.088 9.99-118.564 8.824-157.399 2.421.001 0 7.95 6.58 48.83 9.201",fill:"#5382A1"})]}))}}),Object(i.a)(r,o.Go,{name:b.golang,icon:function(e){return Object(l.jsx)(u.a,Object(s.a)(Object(s.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 512 192",children:Object(l.jsx)("path",{d:"M292.533 13.295l1.124.75c13.212 8.725 22.685 20.691 28.917 35.15 1.496 2.243.499 3.49-2.493 4.237l-5.063 1.296c-11.447 2.949-20.53 5.429-31.827 8.378l-6.443 1.678c-2.32.574-2.96.333-5.428-2.477l-.348-.399c-3.519-3.988-6.155-6.652-10.817-9.03l-.899-.443c-15.705-7.727-30.911-5.484-45.12 3.74-16.952 10.968-25.677 27.172-25.428 47.364.25 19.942 13.96 36.395 33.654 39.137 16.951 2.244 31.16-3.739 42.378-16.452 2.244-2.743 4.238-5.734 6.73-9.224h-48.11c-5.235 0-6.481-3.24-4.736-7.478l.864-2.035c3.204-7.454 8.173-18.168 11.4-24.294l.704-1.319c.862-1.494 2.612-3.513 5.977-3.513h80.224c3.603-11.415 9.449-22.201 17.246-32.407 18.198-23.931 40.135-36.396 69.8-41.63 25.427-4.488 49.359-1.995 71.046 12.713 19.694 13.461 31.909 31.66 35.15 55.59 4.237 33.654-5.485 61.075-28.668 84.508-16.453 16.702-36.645 27.172-59.829 31.908-6.73 1.247-13.461 1.496-19.942 2.244-22.685-.499-43.376-6.98-60.826-21.937-12.273-10.61-20.727-23.648-24.928-38.828a104.937 104.937 0 01-10.47 16.89c-17.949 23.683-41.381 38.39-71.046 42.38-24.43 3.24-47.115-1.497-67.058-16.454-18.447-13.96-28.917-32.407-31.66-55.34-3.24-27.173 4.737-51.603 21.19-73.041 17.7-23.184 41.132-37.891 69.8-43.126 22.999-4.16 45.037-1.595 64.936 11.464zM411.12 49.017l-.798.178c-23.183 5.235-38.14 19.942-43.624 43.375-4.488 19.444 4.985 39.138 22.934 47.115 13.71 5.983 27.421 5.235 40.633-1.496 19.694-10.22 30.413-26.175 31.66-47.613-.25-3.24-.25-5.734-.749-8.227-4.436-24.401-26.664-38.324-50.056-33.332zM116.416 94.564c.997 0 1.496.748 1.496 1.745l-.499 5.983c0 .997-.997 1.745-1.745 1.745l-54.344-.249c-.997 0-1.246-.748-.748-1.496l3.49-6.232c.499-.748 1.496-1.496 2.493-1.496h49.857zM121.9 71.63c.997 0 1.496.748 1.247 1.496l-1.995 5.983c-.249.997-1.246 1.495-2.243 1.495l-117.912.25c-.997 0-1.246-.499-.748-1.247l5.235-6.73c.499-.748 1.745-1.247 2.742-1.247H121.9zm12.963-22.934c.997 0 1.246.748.748 1.496l-4.238 6.481c-.499.748-1.745 1.496-2.493 1.496l-90.24-.25c-.998 0-1.247-.498-.749-1.246l5.235-6.73c.499-.748 1.745-1.247 2.742-1.247h88.995z",fill:"#00ACD7"})}))}}),Object(i.a)(r,o.DotNet,{name:b.dotnet,icon:function(e){return Object(l.jsx)(u.a,Object(s.a)(Object(s.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 32 32",children:Object(l.jsx)("path",{d:"M4.224 10.089v11.667h1.365v-8.438a12.58 12.58 0 00-.068-1.599h.052c.099.255.224.5.37.729l6 9.302h1.672V10.089h-1.359v8.203c-.016.573.016 1.146.083 1.714h-.031a13.986 13.986 0 00-.474-.781L5.995 10.09zm12.417 0v11.667h6.203l.005-1.281h-4.813v-4.047h4.214v-1.229h-4.214v-3.875h4.521V10.09zm7.25 0v1.234h3.354v10.432h1.365V11.323h3.391v-1.234zm-23.021 10a.86.86 0 00-.609.276.91.91 0 00-.26.641.901.901 0 001.542.641c.172-.167.271-.401.271-.641s-.099-.474-.271-.641a.876.876 0 00-.641-.276H.871z",fill:"#626262"})}))}}),r)},121:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return u}));var a=n(0),c=n(21),r=n(1),o=Object(a.createContext)({trackPageView:function(){}}),i=function(e){var t=e.children,n=Object(c.h)().pathname,i=Object(a.useRef)(null),s=Object(a.useCallback)((function(e){var t,a,c;i.current!==n&&(null===(t=window)||void 0===t||null===(a=t.AWSMA)||void 0===a||null===(c=a.ready)||void 0===c||c.call(a,(function(){document.dispatchEvent(new CustomEvent(window.AWSMA.TRIGGER_EVENT,{detail:e})),i.current=n})))}),[n]);return Object(r.jsx)(o.Provider,{value:{trackPageView:s},children:t})},s=n(6),u=function(e){var t=Object(a.useContext)(o).trackPageView,n=Object(c.h)().pathname,r=Object(a.useMemo)((function(){return{page:Object(s.a)({pageURL:window.location.href.replace("://localhost:3000","://constructs.local.dev")},e.page),event:{type:"pageview",name:e.event.name,description:e.event.description}}}),[n,e]);return Object(a.useCallback)((function(){return t(r)}),[t,r])}},123:function(e,t,n){"use strict";n.d(t,"a",(function(){return j})),n.d(t,"b",(function(){return b}));var a=n(6),c=n(24),r=n(17),o=n(234),i=n(201),s=n(65),u=n(1),l=["name"],d=["name","majorVersion"],j=Object(r.a)((function(e,t){var n=e.name,r=Object(c.a)(e,l);return n?Object(u.jsx)(o.a,Object(a.a)({alt:"".concat(s.b[n].name," Logo"),h:5,ref:t,src:s.b[n].imgsrc,w:5},r)):null})),b=Object(r.a)((function(e,t){var n=e.name,r=e.majorVersion,o=Object(c.a)(e,d);return n?Object(u.jsxs)(i.a,Object(a.a)(Object(a.a)({ref:t},o),{},{children:[s.b[n].name,void 0!==r?" v".concat(r):""]})):null}))},128:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(0),c=function(e,t){var n=t.limit,a=t.offset*n,c=a+n;return e.slice(a,c)},r=n(18),o=n(93),i=function(e){var t=e.cdkMajor,n=e.cdkType,i=e.limit,s=e.offset,u=void 0===s?0:s,l=e.query,d=void 0===l?"":l,j=e.language,b=void 0===j?null:j,f=e.languages,O=e.sort,h=e.tags,p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.query,n=e.filters,c=e.sort,i=Object(o.b)();if(!i)throw new Error("This hook can only be called within a descendant of a <SearchProvider />");return Object(a.useMemo)((function(){return Object(r.a)(i.search({query:t,filters:n,sort:c}).values())}),[i,t,n,c])}({filters:Object(a.useMemo)((function(){return{cdkMajor:t,cdkType:n,language:null!==b&&void 0!==b?b:void 0,languages:f,tags:h}}),[t,n,b,f,h]),query:d,sort:O}),v=function(e,t){var n=null!==t&&void 0!==t?t:{},r=n.limit,o=void 0===r?25:r,i=n.offset,s=void 0===i?0:i,u=e?Math.floor(e.length/o):0;return Object(a.useMemo)((function(){return{page:c(e,{limit:o,offset:s>u?u:s}),pageLimit:u}}),[e,o,s,u])}(p,{offset:u,limit:i}),m=v.page,g=v.pageLimit;return Object(a.useMemo)((function(){return{results:p,page:m,pageLimit:g}}),[m,g,p])}},13:function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return c})),n.d(t,"c",(function(){return r}));var a={PACKAGES_PREFIX:"/data",CATALOG_SUFFIX:"/catalog.json",ASSEMBLY_SUFFIX:"/assembly.json",METADATA_SUFFIX:"/metadata.json",CONFIG:"/config.json",STATS:"/stats.json"},c={CDK_TYPE:"cdk",LANGUAGE:"lang",LANGUAGES:"langs",OFFSET:"offset",SEARCH_QUERY:"q",SORT:"sort",SUBMODULE:"submodule",CDK_MAJOR:"cdkver",TAGS:"tags"},r={FAQ:"/faq",HOME:"/",PACKAGES:"/packages",SEARCH:"/search",SITE_TERMS:"/terms"}},138:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return u}));var a=n(27),c=n.n(a),r=n(41),o=n(13),i={sections:[{name:"Recently updated",showLastUpdated:10}]},s={featureFlags:{},packageLinks:[],featuredPackages:i},u=function(){var e=Object(r.a)(c.a.mark((function e(){var t;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!window.configOverride){e.next=2;break}return e.abrupt("return",window.configOverride);case 2:return e.next=4,fetch(o.a.CONFIG);case 4:if((t=e.sent).ok){e.next=8;break}return console.log("Failed to fetch application config, using default values"),e.abrupt("return",s);case 8:return e.abrupt("return",t.json().catch((function(e){return console.error(e),console.log("Invalid config response, using default values"),s})));case 9:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()},140:function(e,t,n){"use strict";n.d(t,"a",(function(){return O}));var a=n(207),c=n(209),r=n(203),o=n(197),i=n(206),s=n(201),u=n(208),l=n(53),d=n(94),j=n(45),b=n(1),f="showing-dev-preview-banner",O=function(){var e,t=Object(r.a)({defaultIsOpen:JSON.parse(null!==(e=window.sessionStorage.getItem(f))&&void 0!==e?e:"true"),onClose:function(){return window.sessionStorage.setItem(f,"false")}}),n=t.isOpen,O=t.onClose;return Object(b.jsx)(o.a,{h:"max-content",children:Object(b.jsx)(i.a,{in:n,children:Object(b.jsxs)(d.a,{"aria-label":"Preview Banner",bg:"blue.500",border:"none",boxShadow:"none",color:"white",mt:4,mx:4,p:4,position:"relative",role:"alertdialog",children:[Object(b.jsx)(a.a,{h:5,left:4,position:"absolute",top:4,w:5}),Object(b.jsxs)(s.a,{fontSize:"md",mx:8,textAlign:"center",children:["This application is in Dev Preview. Some features may change. If you find any issues, please report them"," ",Object(b.jsx)(j.a,{color:"inherit",hasWarning:!1,href:"".concat(l.a,"/issues"),textDecoration:"underline",children:"here"})]}),Object(b.jsx)(u.a,{"aria-label":"Dismiss banner",colorScheme:"white",icon:Object(b.jsx)(c.a,{}),onClick:O,position:"absolute",right:4,size:"xs",top:3,variant:"ghost"})]})})})}},142:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(6),c=n(17),r=n(20),o=n(1),i=Object(c.a)((function(e,t){return Object(o.jsx)(r.a.form,Object(a.a)(Object(a.a)({},e),{},{ref:t}))}));i.displayName="Form"},143:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var a=n(5),c=n(0),r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Object(c.useState)(e),r=Object(a.a)(n,2),o=r[0],i=r[1],s=t.delay,u=void 0===s?250:s,l=t.onChange;return Object(c.useEffect)((function(){var t=setTimeout((function(){i(e),null===l||void 0===l||l(e)}),u);return function(){clearTimeout(t)}}),[e,u,l]),o}},144:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var a=n(6),c=n(24),r=n(17),o=n(220),i=n(1),s=["name","onClick"],u=Object(r.a)((function(e,t){var n=e.name,r=e.onClick,u=Object(c.a)(e,s);return Object(i.jsx)(o.a,Object(a.a)(Object(a.a)({_hover:{cursor:"pointer"},alignItems:"center",display:"flex",fontSize:"md",lineHeight:"base",listStyleType:"none",minH:8,onClick:r,onKeyDown:function(e){["Enter"," "].includes(e.key)&&(e.preventDefault(),r())},px:4,ref:t,role:"option",sx:{":hover, :focus":{bg:"gray.100"}},tabIndex:0},u),{},{children:n}))}));u.displayName="SearchItem"},172:function(e,t,n){},179:function(e,t,n){"use strict";n.r(t);var a={};n.r(a),n.d(a,"initialize",(function(){return S})),n.d(a,"access",(function(){return T})),n.d(a,"checkForCookieConsent",(function(){return A})),n.d(a,"customizeCookies",(function(){return M})),n.d(a,"getConsentCookie",(function(){return I})),n.d(a,"hasConsent",(function(){return F}));var c,r,o=n(0),i=n.n(o),s=n(84),u=n.n(s),l=n(33),d=(n(172),n(150)),j=n(21),b=n(140),f=n(5),O=n(210),h=n(211),p=n(197),v=n(212),m=n(201),g=n(156),x=n(24),k=n(27),y=n.n(k),w=n(41),C=function(){new URLSearchParams(window.location.search).get("sb")},S=function(){var e=Object(w.a)(y.a.mark((function e(){return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,t){window.addEventListener("load",Object(w.a)(y.a.mark((function a(){var r,o,i;return y.a.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,r={domain:window.location.hostname,language:navigator.language,__storeWriter:C()},a.next=4,n.e(13).then(n.t.bind(null,603,7));case 4:o=a.sent,i=o.AWSCShortbread,c=i(r),e(),a.next=13;break;case 10:a.prev=10,a.t0=a.catch(0),t(a.t0);case 13:case"end":return a.stop()}}),a,null,[[0,10]])}))))})));case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),E=function(e){return function(){var t;if(!c)throw new Error("shortbread has not been initialized");return(t=c)[e].apply(t,arguments)}},T=E("access"),A=E("checkForCookieConsent"),M=E("customizeCookies"),I=E("getConsentCookie"),F=E("hasConsent"),z=n(1),P=S,D=Object(x.a)(a,["initialize"]),L=Object(o.createContext)({}),R=function(e){var t=e.children,n=Object(o.useState)(!1),a=Object(f.a)(n,2),c=a[0],r=a[1];return Object(o.useEffect)((function(){var e=!1;return P().then((function(){e||(D.checkForCookieConsent(),r(!0))})).catch((function(t){console.error(t),e||r(!1)})),function(){e=!0,r(!1)}}),[]),Object(z.jsx)(L.Provider,{value:c?D:{},children:t})},G=n(45),N=n(72),H=n(13),U={SERVICE_TERMS:{display:"AWS Service Terms",url:"https://aws.amazon.com/service-terms/",testId:"service-terms"},PRIVACY:{display:"Privacy",url:"https://aws.amazon.com/privacy/",testId:"privacy"},SITE_TERMS:{display:"Construct Hub Site Terms",url:H.c.SITE_TERMS,testId:"site-terms",isExternal:!1},LEGAL:{display:"Legal",url:"https://aws.amazon.com/legal/",testId:"legal"}},W=n(18),_=n(61),B=Object(_.a)("footer",["container","links","disclaimer","manageCookies"].concat(Object(W.a)(Object.values(U).map((function(e){return e.testId}))))),V=function(){var e=Object(o.useContext)(L).customizeCookies;return Object(z.jsxs)(O.a,{align:"center",as:"footer",bg:"blue.800",color:"white","data-testid":B.container,direction:"column",justify:"center",py:4,children:[Object(z.jsx)(h.a,{columnGap:6,columns:[1,2,4],"data-testid":B.links,children:Object.entries(U).map((function(e,t){var n=Object(f.a)(e,2),a=n[0],c=n[1],r=c.display,o=c.isExternal,i=void 0===o||o,s=c.testId,u=c.url;return Object(z.jsxs)(O.a,{align:"center",direction:{base:"column",md:"row"},children:[Object(z.jsx)(p.a,{display:{base:"none",md:0!==t?"initial":"none"},h:5,children:Object(z.jsx)(v.a,{borderColor:"white",mr:6,orientation:"vertical"})}),i?Object(z.jsx)(G.a,{color:"currentcolor","data-testid":B[s],hasWarning:!1,href:u,lineHeight:10,mx:"auto",children:r}):Object(z.jsx)(N.a,{color:"currentcolor","data-testid":B[s],lineHeight:10,mx:"auto",to:u,children:r}),Object(z.jsx)(p.a,{display:{base:"none",sm:t<2?"initial":"none",md:"none"},w:"100%",children:Object(z.jsx)(v.a,{borderColor:"white"})})]},a)}))}),Object(z.jsx)(m.a,{"data-testid":B.disclaimer,fontSize:"xs",mt:4,children:"2021 Amazon Web Services, Inc. All rights reserved."}),Object(z.jsx)(g.a,{color:"white","data-testid":B.manageCookies,fontSize:"xs",fontWeight:"normal",mt:4,onClick:e,variant:"link",children:"Manage Cookies"})]})},q=n(6),J=n(53),K=n(227),Q=["children"],Y=function(e){var t=e.children,n=Object(x.a)(e,Q);return Object(z.jsx)(K.a,Object(q.a)(Object(q.a)({colorScheme:"blue.800",strategy:"fixed"},n),{},{children:t}))},X=n(17),Z=["items"],$=function(e){var t=e.display,n=e.isNavLink,a=e.url;return n?Object(z.jsx)(N.a,{color:"blue.500",to:a,w:"100%",children:t}):Object(z.jsx)(G.a,{alignItems:"center",display:"flex",hasWarning:!1,href:a,justifyContent:"space-between",w:"100%",children:t})},ee=Object(X.a)((function(e,t){var n=e.items,a=Object(x.a)(e,Z);return Object(z.jsx)(K.f,Object(q.a)(Object(q.a)({},a),{},{ref:t,children:n.map((function(e,t){return"links"in e?Object(z.jsxs)(o.Fragment,{children:[Object(z.jsx)(K.d,{align:"left",title:e.display,children:e.links.map((function(e,t){return Object(z.jsx)(K.e,{children:Object(z.jsx)($,Object(q.a)({},e))},"".concat(e.display,"-").concat(t))}))}),t!==n.length-1&&Object(z.jsx)(K.c,{})]},"".concat(e.display,"-").concat(t)):Object(z.jsx)(K.e,{children:Object(z.jsx)($,Object(q.a)({},e))},"".concat(e.display,"-").concat(t))}))}))})),te=n(215),ne=["children"],ae=Object(X.a)((function(e,t){var n=e.children,a=Object(x.a)(e,ne);return Object(z.jsx)(K.b,Object(q.a)(Object(q.a)({as:g.a,color:"blue.800",fontWeight:"500",ref:t,rightIcon:Object(z.jsx)(te.a,{h:6,w:6}),size:"md",variant:"link"},a),{},{children:n}))})),ce=Object(_.a)("header",["container","title","gettingStartedTrigger","gettingStartedMenu","resourcesTrigger","resourcesMenu","navOpen","navClose","searchInput","searchIcon","mobileNav"]),re=function(){return Object(z.jsxs)(Y,{children:[Object(z.jsx)(ae,{"data-testid":ce.gettingStartedTrigger,children:"Getting Started"}),Object(z.jsx)(ee,{"data-testid":ce.gettingStartedMenu,items:J.b})]})},oe=n(218),ie=n(203),se=n(208),ue=n(73),le=n(232),de=n(46),je=n(235),be=n(95),fe=Object(_.a)("searchModal",["container"]),Oe=function(e){var t=e.isOpen,n=e.onClose,a=Object(be.a)(),c=a.query,r=a.onQueryChange,o=a.onSubmit,i=a.onSearch;return Object(z.jsx)(le.a,{children:Object(z.jsx)(de.a,{isOpen:t,onClose:n,children:Object(z.jsx)(de.h,{children:Object(z.jsxs)(de.d,{"data-testid":fe.container,children:[Object(z.jsx)(de.c,{}),Object(z.jsx)(de.g,{children:"Search"}),Object(z.jsx)(de.b,{children:Object(z.jsxs)(je.a,{pb:4,spacing:4,children:[Object(z.jsx)(ue.a,{onChange:r,onSubmit:o,value:c}),Object(z.jsx)(g.a,{colorScheme:"blue",onClick:function(){return i()},children:"Find Constructs"})]})})]})})})})},he=function(){var e=Object(ie.a)();return Object(z.jsxs)(j.d,{children:[Object(z.jsx)(j.b,{exact:!0,path:[H.c.HOME,H.c.SEARCH]}),Object(z.jsxs)(j.b,{path:"*",children:[Object(z.jsx)(p.a,{"data-testid":ce.searchInput,display:{base:"none",md:"initial"},children:Object(z.jsxs)(ue.a,{bg:"gray.50",children:[Object(z.jsx)(ue.b,{}),Object(z.jsx)(ue.c,{})]})}),Object(z.jsxs)(p.a,{display:{base:"initial",md:"none"},children:[Object(z.jsx)(se.a,{"aria-label":"Search Icon",borderRadius:"md","data-testid":ce.searchIcon,icon:Object(z.jsx)(oe.a,{color:"gray.600"}),onClick:e.onOpen,variant:"ghost"}),Object(z.jsx)(Oe,Object(q.a)({},e))]})]})]})},pe=n(222),ve=n(237),me=n(236),ge=n(221),xe={color:"blue.500",py:2,w:"full"},ke=function(e){var t=e.display,n=e.isNavLink,a=e.url;return n?Object(z.jsx)(N.a,Object(q.a)(Object(q.a)({to:a},xe),{},{children:t})):Object(z.jsx)(G.a,Object(q.a)(Object(q.a)({alignItems:"center",display:"flex",hasWarning:!1,href:a,justifyContent:"space-between"},xe),{},{children:t}))},ye=function(e){var t=e.title,n=e.items,a=e.testId;return Object(z.jsxs)(me.d,{"data-testid":a,w:"full",children:[Object(z.jsxs)(me.b,{px:0,py:4,children:[Object(z.jsx)(p.a,{flex:"1",textAlign:"left",children:Object(z.jsx)(ge.a,{as:"h3",size:"sm",children:t})}),Object(z.jsx)(me.c,{})]}),Object(z.jsx)(me.e,{p:0,w:"full",children:Object(z.jsx)(O.a,{direction:"column",w:"full",children:n.map((function(e,t){return"links"in e?Object(z.jsxs)(o.Fragment,{children:[Object(z.jsx)(ge.a,{as:"h4",borderBottom:"base",pb:2,pt:4,size:"xs",children:e.display}),e.links.map((function(e,t){return Object(o.createElement)(ke,Object(q.a)(Object(q.a)({},e),{},{key:"".concat(e.display,"-").concat(t)}))}))]},"".concat(e.display,"-").concat(t)):Object(o.createElement)(ke,Object(q.a)(Object(q.a)({},e),{},{key:"".concat(e.display,"-").concat(t)}))}))})})]})},we=function(e){var t=e.sections;return Object(z.jsx)(me.a,{allowMultiple:!0,allowToggle:!0,defaultIndex:t.map((function(e,t){return t})),w:"full",children:t.map((function(e,t){return Object(z.jsx)(ye,Object(q.a)({},e),"section-".concat(t))}))})},Ce=function(){return Object(z.jsx)(ge.a,{as:"h1",color:"blue.800","data-testid":ce.title,size:"lg",children:Object(z.jsxs)(l.b,{to:"/",children:[Object(z.jsx)(p.a,{as:"span",color:"blue.500",children:"Construct"})," ","Hub"]})})},Se=function(e){var t=e.isOpen,n=e.onClose;return Object(z.jsx)(le.a,{children:Object(z.jsxs)(ve.a,{isOpen:t,onClose:n,placement:"left",size:"xs",children:[Object(z.jsx)(de.h,{}),Object(z.jsxs)(ve.b,{"data-testid":ce.mobileNav,children:[Object(z.jsx)(de.c,{}),Object(z.jsx)(de.g,{display:"flex",justifyContent:"start",children:Object(z.jsx)(Ce,{})}),Object(z.jsx)(de.b,{children:Object(z.jsx)(je.a,{align:"start",justify:"start",spacing:4,children:Object(z.jsx)(we,{sections:[{title:"Getting Started",items:J.b,testId:ce.gettingStartedMenu},{title:"Resources",items:J.c,testId:ce.resourcesMenu}]})})})]})]})})},Ee=function(){var e=Object(ie.a)();return Object(z.jsxs)(z.Fragment,{children:[Object(z.jsx)(se.a,{"aria-label":"Navigation Menu",borderRadius:"md","data-testid":ce.navOpen,display:{md:"none"},icon:Object(z.jsx)(pe.a,{}),onClick:e.onOpen,variant:"ghost"}),Object(z.jsx)(Se,Object(q.a)({},e))]})},Te=function(){return Object(z.jsxs)(Y,{children:[Object(z.jsx)(ae,{"data-testid":ce.resourcesTrigger,children:"Resources"}),Object(z.jsx)(ee,{"data-testid":ce.resourcesMenu,items:J.c})]})},Ae=function(e){return Object(z.jsx)(d.b,Object(q.a)({align:"center",justify:"center",rowStart:1},e))},Me=function(){return Object(z.jsxs)(d.a,{alignItems:"center",as:"header",bg:"white",boxShadow:"base","data-testid":ce.container,gap:6,gridTemplateColumns:{base:"1fr max-content 1fr",md:"max-content minmax(12rem, 31rem) auto"},gridTemplateRows:"1fr",maxW:"100vw",position:"sticky",px:4,py:4,top:0,w:"100%",zIndex:"sticky",children:[Object(z.jsx)(Ae,{colStart:{base:2,md:1},justifySelf:{base:"center",md:"start"},children:Object(z.jsx)(Ce,{})}),Object(z.jsx)(Ae,{colStart:{base:3,md:2},justifySelf:{base:"end",md:"stretch"},children:Object(z.jsx)(he,{})}),Object(z.jsxs)(Ae,{colStart:{base:1,md:3},justifySelf:{base:"start",md:"end"},children:[Object(z.jsxs)(d.a,{display:{base:"none",md:"grid"},gap:4,gridTemplateColumns:"1fr 1fr",gridTemplateRows:"1fr",placeItems:"center",w:"100%",children:[Object(z.jsx)(p.a,{children:Object(z.jsx)(re,{})}),Object(z.jsx)(p.a,{children:Object(z.jsx)(Te,{})})]}),Object(z.jsx)(Ee,{})]})]})},Ie=n(74),Fe=["component"],ze=function(e){var t=e.component,n=Object(x.a)(e,Fe);return Object(z.jsx)(j.b,Object(q.a)(Object(q.a)({},n),{},{children:Object(z.jsx)(o.Suspense,{fallback:Object(z.jsx)(Ie.a,{}),children:Object(z.jsx)(t,{})})}))},Pe=Object(o.lazy)((function(){return Promise.all([n.e(0),n.e(10)]).then(n.bind(null,610))})),De=Object(o.lazy)((function(){return Promise.all([n.e(0),n.e(1),n.e(7)]).then(n.bind(null,608))})),Le=Object(o.lazy)((function(){return Promise.all([n.e(0),n.e(11)]).then(n.bind(null,289))})),Re=Object(o.lazy)((function(){return Promise.all([n.e(0),n.e(1),n.e(4),n.e(6)]).then(n.bind(null,605))})),Ge=Object(o.lazy)((function(){return Promise.all([n.e(0),n.e(1),n.e(9),n.e(8)]).then(n.bind(null,607))})),Ne=Object(o.lazy)((function(){return Promise.all([n.e(0),n.e(12)]).then(n.bind(null,611))})),He=function(){var e="/"!==Object(j.h)().pathname;return Object(z.jsxs)(d.a,{as:"main",bg:"bgPrimary",gridTemplateColumns:"1fr",gridTemplateRows:"auto auto 1fr auto",h:"100%",maxW:"100%",minH:"100vh",children:[Object(z.jsx)(Me,{}),e?Object(z.jsx)(b.a,{}):Object(z.jsx)("div",{}),Object(z.jsxs)(j.d,{children:[Object(z.jsx)(ze,{component:Pe,exact:!0,path:H.c.FAQ}),Object(z.jsx)(ze,{component:De,exact:!0,path:H.c.HOME}),Object(z.jsx)(ze,{component:Ne,exact:!0,path:H.c.SITE_TERMS}),Object(z.jsx)(ze,{component:Re,path:H.c.PACKAGES}),Object(z.jsx)(ze,{component:Ge,exact:!0,path:H.c.SEARCH}),Object(z.jsx)(ze,{component:Le,path:"*"})]}),Object(z.jsx)(V,{})]})},Ue=n(121),We=n(90),_e=n(89),Be=n(107),Ve=n(93),qe=n(88),Je=n(228),Ke=n(223),Qe=n(103),Ye=Qe.theme.components.Code,Xe=Object(q.a)(Object(q.a)({},Ye),{},{variants:Object(q.a)(Object(q.a)({},Ye.variants),{},{"code-block":Object(q.a)(Object(q.a)({},Ye.variants.subtle),{},{display:"block",whiteSpace:"pre"})})}),Ze={defaultProps:{borderColor:"rgba(0, 124, 253, 0.15)"}},$e=n(4),et=n(225),tt=function(e,t){return function(n){var a="function"===typeof e?e(n):e;return Object(q.a)(Object(q.a)({},a),{},{container:Object(q.a)(Object(q.a)({},a.container),t)})}},nt=Qe.theme.components.Tag,at=function(e){var t=e.reduce((function(e,t){var n=t.keyword;return(null===n||void 0===n?void 0:n.color)?Object(q.a)(Object(q.a)({},e),{},Object($e.a)({},n.color,tt(nt.variants.subtle,{background:Object(et.e)(n.color,.1),color:n.color}))):e}),{});return Object(q.a)(Object(q.a)({},nt),{},{baseStyle:{container:{fontWeight:"normal"}},variants:Object(q.a)(Object(q.a)({},nt.variants),{},{subtle:tt(nt.variants.subtle,{background:"#F2F2F2",color:"blue.800"})},t)})},ct=function(e){return Object(q.a)(Object(q.a)({},Qe.theme.components),{},{Code:Xe,Divider:Ze,Tag:at(e.Tag)})},rt={borders:{base:"1px solid rgba(0, 124, 253, 0.15)"},colors:Object(q.a)(Object(q.a)({},Qe.theme.colors),{},{blue:{50:"#dcf3ff",100:"#aed9ff",200:"#7dbeff",300:"#4aa4ff",400:"#1a8aff",500:"#0070e6",600:"#0057b4",700:"#003e82",800:"#002551",900:"#000d21"},bgPrimary:"#F8F8F8"}),radii:{card:"0.75rem"},sizes:{container:{"2xl":"120rem"}},shadows:{base:"0px 4px 15px rgba(40, 132, 178, 0.15)"}},ot=function(e){var t,n={Tag:null!==(t=e.packageTags)&&void 0!==t?t:[]};return Object(Ke.a)(Object(q.a)(Object(q.a)({},rt),{},{components:ct(n)}))},it=function(e){var t=e.children,n=Object(_e.b)(),a=n.loading,c=n.data;return a?Object(z.jsx)(Ie.a,{}):Object(z.jsx)(Je.a,{resetCSS:!0,theme:ot(c),children:t})};Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));u.a.render(Object(z.jsx)(i.a.StrictMode,{children:Object(z.jsx)(l.a,{children:Object(z.jsx)(R,{children:Object(z.jsx)(Ue.a,{children:Object(z.jsx)(_e.a,{children:Object(z.jsx)(We.a,{children:Object(z.jsx)(qe.a,{children:Object(z.jsx)(Ve.a,{children:Object(z.jsx)(it,{children:Object(z.jsx)(Be.a,{children:Object(z.jsx)(He,{})})})})})})})})})})}),document.getElementById("root")),r&&r instanceof Function&&n.e(14).then(n.bind(null,604)).then((function(e){var t=e.getCLS,n=e.getFID,a=e.getFCP,c=e.getLCP,o=e.getTTFB;t(r),n(r),a(r),c(r),o(r)}),(function(){})),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()})).catch((function(e){console.error(e.message)}))},45:function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var a=n(6),c=n(24),r=n(204),o=n(17),i=n(205),s=n(107),u=n(1),l=["children","hasIcon","hasWarning","href","onClick","noFollow"],d=Object(o.a)((function(e,t){var n=e.children,o=e.hasIcon,d=void 0===o||o,j=e.hasWarning,b=void 0===j||j,f=e.href,O=e.onClick,h=e.noFollow,p=Object(c.a)(e,l),v=Object(s.b)(),m="noopener noreferrer";return(b||h)&&(m+=" nofollow"),Object(u.jsxs)(i.a,Object(a.a)(Object(a.a)({color:"blue.500",href:f,isExternal:!0,onClick:b?v({href:f,onClick:O}):O,ref:t,rel:m},p),{},{children:[n," ",d&&Object(u.jsx)(r.a,{mb:1,ml:2})]}))}));d.displayName="ExternalLink"},53:function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return c})),n.d(t,"c",(function(){return r}));var a="https://github.com/cdklabs/construct-hub",c=[{display:"FAQ",isNavLink:!0,url:"/faq"},{display:"Construct Hub on GitHub",url:a},{display:"Issues on GitHub",url:"".concat(a,"/issues")}],r=[{display:"AWS CDK",links:[{display:"Home",url:"https://aws.amazon.com/cdk/"},{display:"Getting Started",url:"https://docs.aws.amazon.com/cdk/latest/guide/getting_started.html"},{display:"Workshop",url:"https://cdkworkshop.com/"},{display:"Best Practices",url:"https://aws.amazon.com/blogs/devops/best-practices-for-developing-cloud-applications-with-aws-cdk"}]},{display:"CDK for Terraform",links:[{display:"Getting Started",url:"https://learn.hashicorp.com/tutorials/terraform/cdktf"},{display:"Tutorials",url:"https://learn.hashicorp.com/collections/terraform/cdktf"}]},{display:"CDK for Kubernetes",links:[{display:"Home",url:"https://cdk8s.io"},{display:"Getting Started",url:"https://cdk8s.io/docs/latest/getting-started"},{display:"Documentation",url:"https://cdk8s.io/docs/latest"},{display:"API Reference",url:"https://cdk8s.io/docs/latest/reference/index.html"}]},{display:"Community",links:[{display:"Slack",url:"https://join.slack.com/t/cdk-dev/shared_invite/zt-mso6p56d-qJp7SOTBvMaQuDrx7R2wHg"},{display:"Community Hub",url:"https://cdk.dev"}]}]},54:function(e,t,n){"use strict";var a;n.d(t,"a",(function(){return a})),function(e){e.NameAsc="asc",e.NameDesc="desc",e.PublishDateAsc="oldest",e.PublishDateDesc="newest",e.DownloadsAsc="downloadsAsc",e.DownloadsDesc="downloadsDesc"}(a||(a={}))},61:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var a=function(e,t){return t.reduce((function(t,n){return t[n]="".concat(e,"-").concat(n),t}),{})}},65:function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var a,c,r,o=n(4);!function(e){e.awscdk="aws-cdk",e.cdktf="cdktf",e.cdk8s="cdk8s"}(r||(r={}));var i=(a={},Object(o.a)(a,r.awscdk,"AWS CDK"),Object(o.a)(a,r.cdktf,"CDKtf"),Object(o.a)(a,r.cdk8s,"CDK8s"),a),s=(c={},Object(o.a)(c,r.awscdk,{name:i[r.awscdk],imgsrc:"/assets/awscdk-icon.png"}),Object(o.a)(c,r.cdk8s,{name:i[r.cdk8s],imgsrc:"/assets/cdk8s-icon.png"}),Object(o.a)(c,r.cdktf,{name:i[r.cdktf],imgsrc:"/assets/cdktf-icon.png"}),c)},70:function(e,t,n){"use strict";n.d(t,"b",(function(){return l})),n.d(t,"a",(function(){return d}));var a,c=n(4),r=n(110),o=n(54),i=function(e){return function(t,n){var a=new Date(t.metadata.date),c=new Date(n.metadata.date);return a===c?0:e?c<a?1:-1:a<c?1:-1}},s=function(e){return function(t,n){return t.name.localeCompare(n.name)*(e?1:-1)}},u=function(e){return function(t,n){return t.downloads!==n.downloads?(t.downloads-n.downloads)*(e?1:-1):s(!e)(t,n)}},l=(a={},Object(c.a)(a,o.a.NameAsc,s(!0)),Object(c.a)(a,o.a.NameDesc,s(!1)),Object(c.a)(a,o.a.PublishDateAsc,i(!0)),Object(c.a)(a,o.a.PublishDateDesc,i(!1)),Object(c.a)(a,o.a.DownloadsAsc,u(!0)),Object(c.a)(a,o.a.DownloadsDesc,u(!1)),a),d={cdkType:function(e){if(e)return function(t){var n,a;return(null===(n=t.metadata)||void 0===n||null===(a=n.constructFramework)||void 0===a?void 0:a.name)===e}},cdkMajor:function(e){if("number"===typeof e)return function(t){var n,a;return(null===(n=t.metadata)||void 0===n||null===(a=n.constructFramework)||void 0===a?void 0:a.majorVersion)===e}},language:function(e){if(e&&e!==r.d.TypeScript)return function(t){var n;return void 0!==(null===(n=t.languages)||void 0===n?void 0:n[e])}},languages:function(e){var t,n=(null!==(t=null===e||void 0===e?void 0:e.length)&&void 0!==t?t:0)>0?new Set(e):void 0;if(n&&!n.has(r.d.TypeScript))return function(e){var t;return Object.keys(null!==(t=e.languages)&&void 0!==t?t:{}).some((function(e){return n.has(e)}))}},tags:function(e){if(e&&e.length)return function(t){var n,a,c;return null!==(n=null===(a=t.metadata)||void 0===a||null===(c=a.packageTags)||void 0===c?void 0:c.some((function(t){return e.includes(t.id)})))&&void 0!==n&&n}}}},72:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(6),c=n(205),r=n(33),o=n(1),i=function(e){return Object(o.jsx)(c.a,Object(a.a)({as:r.b},e))}},73:function(e,t,n){"use strict";n.d(t,"a",(function(){return g})),n.d(t,"b",(function(){return y})),n.d(t,"c",(function(){return D}));var a=n(6),c=n(24),r=n(218),o=n(203),i=n(216),s=n(217),u=n(233),l=n(156),d=n(0),j=n(95),b=n(142),f=n(61),O=Object(f.a)("searchBar",["input","searchIcon","searchButton","overlay","suggestionsList","suggestion"]),h=n(1),p=["children","hasButton","onSubmit","value","onChange"],v=Object(d.createContext)(void 0),m=function(){var e=Object(d.useContext)(v);if(!e)throw new Error("This component must be a child of a <SearchBar />");return e},g=function(e){var t=e.children,n=e.hasButton,f=e.onSubmit,m=e.value,g=e.onChange,x=Object(c.a)(e,p),k=Object(o.a)(),y=Object(d.useRef)(null),w=Object(j.a)();return Object(d.useEffect)((function(){var e=function(e){y.current&&e.target&&(y.current.contains(e.target)||k.onClose())},t=function(e){var t,n;"Escape"===e.key&&(null===(t=y.current)||void 0===t||null===(n=t.blur)||void 0===n||n.call(t),k.onClose())};return window.addEventListener("keyup",t),window.addEventListener("click",e),function(){window.removeEventListener("keyup",t),window.removeEventListener("click",e)}}),[]),Object(h.jsx)(v.Provider,{value:{query:null!==m&&void 0!==m?m:w.query,isOpen:k.isOpen},children:Object(h.jsxs)(b.a,{color:"initial",onSubmit:null!==f&&void 0!==f?f:w.onSubmit,pos:"relative",children:[Object(h.jsxs)(i.a,{pos:"relative",zIndex:k.isOpen?3:"initial",children:[n&&Object(h.jsx)(s.a,{children:Object(h.jsx)(r.a,{"data-testid":O.searchIcon})}),Object(h.jsx)(u.a,Object(a.a)({_focus:{boxShadow:"base",borderColor:"inherit"},bg:"white",boxShadow:k.isOpen?"base":"none","data-testid":O.input,onChange:null!==g&&void 0!==g?g:w.onQueryChange,onFocus:k.onOpen,placeholder:"Search 600+ construct libraries",ref:y,value:null!==m&&void 0!==m?m:w.query},x)),n?Object(h.jsx)(s.b,{display:{base:"none",md:"initial"},w:"9rem",children:Object(h.jsx)(l.a,{borderLeftRadius:"0",colorScheme:"blue","data-testid":O.searchButton,type:"submit",children:"Find Constructs"})}):Object(h.jsx)(s.b,{children:Object(h.jsx)(r.a,{"data-testid":O.searchIcon})})]}),t]})})},x=n(17),k=n(197),y=Object(x.a)((function(e,t){var n=m().isOpen;return Object(h.jsx)(k.a,Object(a.a)({bg:"gray.700","data-testid":O.overlay,display:n?"initial":"none",inset:"0",opacity:"0.5",pos:"fixed",ref:t,zIndex:"1"},e))})),w=n(220),C=n(212),S=n(235),E=n(201),T=n(21),A=n(128),M=n(143),I=n(87),F=n(94),z=n(123),P=n(144),D=Object(x.a)((function(e,t){var n=m(),c=n.query,r=n.isOpen,o=Object(M.a)(c),i=Object(T.g)().push,s=Object(A.a)({limit:5,offset:0,query:o}).page;return!r||s.length<1||!o?null:Object(h.jsx)(F.a,Object(a.a)(Object(a.a)({as:w.c,"data-testid":O.suggestionsList,left:0,ml:0,pos:"absolute",pt:10,px:0,ref:t,right:0,top:0,zIndex:2},e),{},{children:s.map((function(e,t){var n,c,r=null!==(n=null===(c=e.metadata)||void 0===c?void 0:c.constructFramework)&&void 0!==n?n:{},o=Boolean(r.name);return Object(h.jsxs)(h.Fragment,{children:[t>0&&Object(h.jsx)(C.a,{mx:4,w:"auto"}),Object(h.jsx)(P.a,{"data-testid":O.suggestion,name:Object(h.jsxs)(S.a,{align:"center",direction:"row",spacing:4,children:[Object(h.jsx)(z.a,Object(a.a)({},r)),Object(h.jsx)(E.a,{ml:o?0:9,children:e.name})]}),onClick:function(){return i(Object(I.a)(e))},py:2,textAlign:"left"},e.id)]})}))}))}))},74:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var a=n(219),c=n(202),r=n(1),o=function(){return Object(r.jsx)(a.a,{children:Object(r.jsx)(c.a,{size:"xl"})})}},75:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var a=n(27),c=n.n(a),r=n(41),o=n(5),i=n(0),s=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.initialValue,a=t.onSuccess,s=t.onError,u=Object(i.useState)(!1),l=Object(o.a)(u,2),d=l[0],j=l[1],b=Object(i.useState)(n),f=Object(o.a)(b,2),O=f[0],h=f[1],p=Object(i.useState)(),v=Object(o.a)(p,2),m=v[0],g=v[1],x=Object(i.useRef)(!1);Object(i.useEffect)((function(){return x.current=!0,function(){x.current=!1}}),[]);var k=Object(i.useCallback)(Object(r.a)(c.a.mark((function t(){var r,o=arguments;return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(x.current){t.next=2;break}return t.abrupt("return");case 2:return j(!0),g(void 0),t.prev=4,t.next=7,e.apply(void 0,o);case 7:r=t.sent,null===a||void 0===a||a(r),x.current&&(h(r),j(!1)),t.next=17;break;case 12:t.prev=12,t.t0=t.catch(4),console.error(t.t0),null===s||void 0===s||s(t.t0),x.current&&(h(n),g(t.t0),j(!1));case 17:case"end":return t.stop()}}),t,null,[[4,12]])}))),[s,a]);return Object(i.useMemo)((function(){return[k,{data:O,loading:d,error:m}]}),[k,O,d,m])}},87:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return u})),n.d(t,"a",(function(){return l}));var a=n(4),c=n(5),r=n(13),o=new RegExp(/git@github\.com:([a-zA-Z-]+)+\/?([a-zA-Z-]+)*(\.git)?/),i=function(e){try{var t=e,n=e.match(o);if(n){var a=Object(c.a)(n,3),r=a[1],i=a[2];t="https://github.com/".concat(r,"/").concat(i)}return{hostname:new URL(t).hostname,url:t}}catch(s){return}},s=function(e,t){var n=e;if(t){var a=function(e,t){var n=new URLSearchParams(t);return Object.entries(e).filter((function(e){return null!=Object(c.a)(e,2)[1]})).forEach((function(e){var t=Object(c.a)(e,2),a=t[0],r=t[1];n.set(a,"".concat(r))})),n.toString()}(t);a&&(n+="?".concat(a))}return n},u=function(e){var t,n=e.cdkMajor,c=e.cdkType,o=e.query,i=e.offset,u=e.language,l=e.languages,d=e.sort,j=e.tags;return s(r.c.SEARCH,(t={},Object(a.a)(t,r.b.SEARCH_QUERY,o),Object(a.a)(t,r.b.CDK_TYPE,c),Object(a.a)(t,r.b.CDK_MAJOR,n),Object(a.a)(t,r.b.LANGUAGE,u),Object(a.a)(t,r.b.LANGUAGES,(null===l||void 0===l?void 0:l.length)?l.join(","):null),Object(a.a)(t,r.b.SORT,d),Object(a.a)(t,r.b.OFFSET,null!==i&&void 0!==i?i:0),Object(a.a)(t,r.b.TAGS,(null===j||void 0===j?void 0:j.length)?j.join(","):null),t))},l=function(e){var t,n=e.name,c=e.version,o=e.language,i=e.submodule;return s("".concat(r.c.PACKAGES,"/").concat(n,"/v/").concat(c),(t={},Object(a.a)(t,r.b.SUBMODULE,i),Object(a.a)(t,r.b.LANGUAGE,o),t))}},88:function(e,t,n){"use strict";n.d(t,"b",(function(){return f})),n.d(t,"a",(function(){return O}));var a=n(5),c=n(0),r=n(27),o=n.n(r),i=n(41),s=n(13),u={packages:{},updated:"NOT_FOUND"},l=function(){var e=Object(i.a)(o.a.mark((function e(){var t;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(s.a.STATS);case 2:if((t=e.sent).ok){e.next=6;break}return console.error("Could not retrieve package stats. Using empty stats."),e.abrupt("return",u);case 6:return e.abrupt("return",t.json().catch((function(e){return console.error(e),console.error("Error in package stats response. Using empty stats."),u})));case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),d=n(75),j=n(1),b=Object(c.createContext)({loading:!1,data:void 0,error:void 0}),f=function(){return Object(c.useContext)(b)},O=function(e){var t=e.children,n=Object(d.a)(l),r=Object(a.a)(n,2),o=r[0],i=r[1];return Object(c.useEffect)((function(){o()}),[o]),Object(j.jsx)(b.Provider,{value:i,children:t})}},89:function(e,t,n){"use strict";n.d(t,"a",(function(){return j})),n.d(t,"b",(function(){return d}));var a=n(6),c=n(5),r=n(0),o=n(138),i=n(75),s=n(1),u=Object(r.createContext)({loading:!1,data:void 0,error:void 0}),l="construct-hub-config",d=function(){return Object(r.useContext)(u)},j=function(e){var t=e.children,n=Object(r.useState)((function(){try{var e=localStorage.getItem(l);return e?JSON.parse(e):void 0}catch(t){console.error(t)}})),d=Object(c.a)(n,2),j=d[0],b=d[1],f=Object(i.a)(o.b,{onSuccess:function(e){b(e);try{localStorage.setItem(l,JSON.stringify(e))}catch(t){console.error(t)}}}),O=Object(c.a)(f,2),h=O[0],p=O[1];return Object(r.useEffect)((function(){h()}),[]),Object(s.jsx)(u.Provider,{value:Object(a.a)(Object(a.a)({},p),{},{data:j}),children:t})}},90:function(e,t,n){"use strict";n.d(t,"b",(function(){return b})),n.d(t,"a",(function(){return f}));var a=n(5),c=n(0),r=n(27),o=n.n(r),i=n(41),s=n(13),u=function(){var e=Object(i.a)(o.a.mark((function e(){var t;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(s.a.CATALOG_SUFFIX);case 2:if((t=e.sent).ok){e.next=6;break}throw console.error(t.statusText),new Error("Failed fetching packages index: ".concat(t.statusText));case 6:return e.abrupt("return",t.json());case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),l=n(75),d=n(1),j=Object(c.createContext)({loading:!1,data:void 0,error:void 0}),b=function(){return Object(c.useContext)(j)},f=function(e){var t=e.children,n=Object(l.a)(u),r=Object(a.a)(n,2),o=r[0],i=r[1];return Object(c.useEffect)((function(){o()}),[o]),Object(d.jsx)(j.Provider,{value:i,children:t})}},93:function(e,t,n){"use strict";n.d(t,"b",(function(){return x})),n.d(t,"a",(function(){return k}));var a=n(0),c=n(4),r=n(5),o=n(18),i=n(6),s=n(67),u=n(76),l=n(152),d=n.n(l),j=n(65),b=n(54),f=n(70),O=function(){function e(t,n){Object(s.a)(this,e),this.map=void 0,this.index=void 0,this.constructFrameworks=void 0;var a=t.reduce((function(e,t){var a,c,r,o=t.name,s=[o,t.version].join("@"),u=null!==(a=null===(c=n.packages[o])||void 0===c||null===(r=c.downloads)||void 0===r?void 0:r.npm)&&void 0!==a?a:0;return e.set(s,Object(i.a)(Object(i.a)({},t),{},{downloads:u,id:s})),e}),new Map);this.map=this.sort(a,b.a.PublishDateDesc),this.constructFrameworks=this.detectConstructFrameworks(),this.index=d()((function(){var e=this;this.ref("id"),this.field("name"),this.field("scope"),this.field("packageName"),this.field("description"),this.field("authorName"),this.field("authorEmail"),Object(o.a)(a.values()).forEach((function(t){var n=t.author,a=t.name.split("/"),c=Object(r.a)(a,2),o=c[0],i=c[1];o&&i&&(t.scope=o,t.packageName=i),"string"===typeof n&&(t.authorName=n),(null===n||void 0===n?void 0:n.name)&&(t.authorName=n.name),(null===n||void 0===n?void 0:n.email)&&(t.authorEmail=n.email),e.add(t)}))}))}return Object(u.a)(e,[{key:"search",value:function(e){var t=null!==e&&void 0!==e?e:{},n=t.query,a=t.filters,c=t.sort,r=n?this.query(n):new Map(this.map);return a&&(r=this.filter(r,a)),c&&(r=this.sort(r,c)),r}},{key:"query",value:function(e){var t=this,n=[];try{n=this.index.search(e)}catch(a){console.error(a)}return n.reduce((function(e,n){var a=n.ref,c=t.map.get(a);return c&&e.set(a,c),e}),new Map)}},{key:"filter",value:function(e,t){var n=t.cdkType,a=t.cdkMajor,c=t.language,r=t.languages,o=t.tags,i=new Map(e),s=[f.a.cdkType(n),f.a.cdkMajor(n?a:void 0),f.a.language(c),f.a.languages(r),f.a.tags(o)].filter(Boolean);return i.forEach((function(e){var t=!1;s.forEach((function(n){t||n(e)||(t=!0)})),t&&i.delete(e.id)})),i}},{key:"sort",value:function(e,t){return t?new Map(Object(o.a)(e.entries()).sort((function(e,n){var a=Object(r.a)(e,2)[1],c=Object(r.a)(n,2)[1];return f.b[t](a,c)}))):e}},{key:"detectConstructFrameworks",value:function(){var e;return Object(o.a)(this.map.values()).reduce((function(e,t){var n,a,c=t.metadata,r=null===c||void 0===c||null===(n=c.constructFramework)||void 0===n?void 0:n.name,o=null===c||void 0===c||null===(a=c.constructFramework)||void 0===a?void 0:a.majorVersion;if(r){var i=e[r];void 0===o||i.majorVersions.includes(o)||i.majorVersions.push(o),i.pkgCount+=1}return e}),(e={},Object(c.a)(e,j.c.awscdk,{majorVersions:[],pkgCount:0}),Object(c.a)(e,j.c.cdk8s,{majorVersions:[],pkgCount:0}),Object(c.a)(e,j.c.cdktf,{majorVersions:[],pkgCount:0}),e))}}]),e}(),h=n(74),p=n(90),v=n(88),m=n(1),g=Object(a.createContext)(void 0),x=function(){return Object(a.useContext)(g)},k=function(e){var t=e.children,n=Object(p.b)(),c=n.data,r=n.loading,o=Object(v.b)(),i=o.data,s=o.loading,u=Object(a.useMemo)((function(){if(void 0!==(null===c||void 0===c?void 0:c.packages)&&!r&&(void 0!==i&&!s))return new O(c.packages,i)}),[c,r,i,s]);return u?Object(m.jsx)(g.Provider,{value:u,children:t}):Object(m.jsx)(h.a,{})}},94:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(6),c=n(17),r=n(197),o=n(1),i=Object(c.a)((function(e,t){return Object(o.jsx)(r.a,Object(a.a)({bg:"white",border:"base",borderRadius:"card",boxShadow:"base",p:2,ref:t},e))}));i.displayName="Card"},95:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(5),c=n(0),r=n(21),o=n(87),i=function(){var e,t,n,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=Object(c.useState)(null!==(e=i.defaultQuery)&&void 0!==e?e:""),u=Object(a.a)(s,2),l=u[0],d=u[1],j=Object(c.useState)(i.defaultCdkType),b=Object(a.a)(j,2),f=b[0],O=b[1],h=Object(c.useState)(i.defaultCdkMajor),p=Object(a.a)(h,2),v=p[0],m=p[1],g=Object(c.useState)(null!==(t=i.defaultLanguages)&&void 0!==t?t:[]),x=Object(a.a)(g,2),k=x[0],y=x[1],w=Object(c.useState)(null!==(n=i.defaultTags)&&void 0!==n?n:[]),C=Object(a.a)(w,2),S=C[0],E=C[1],T=Object(c.useState)(i.defaultLanguage),A=Object(a.a)(T,2),M=A[0],I=A[1],F=Object(c.useState)(i.defaultSort),z=Object(a.a)(F,2),P=z[0],D=z[1],L=Object(r.g)(),R=L.push,G=L.replace,N=function(e){e.preventDefault(),d(e.target.value)},H=Object(c.useCallback)((function(e){((null===e||void 0===e?void 0:e.replace)?G:R)(Object(o.c)({cdkType:f,cdkMajor:v,language:M,languages:k,query:l,sort:P,tags:S}))}),[f,v,M,k,R,l,G,P,S]),U=Object(c.useCallback)((function(e){null===e||void 0===e||e.preventDefault(),H()}),[H]);return Object(c.useMemo)((function(){return{cdkMajor:v,cdkType:f,language:M,languages:k,onLanguageChange:I,onQueryChange:N,onSearch:H,onSubmit:U,query:l,setCdkMajor:m,setCdkType:O,setLanguage:I,setLanguages:y,setTags:E,setQuery:d,setSort:D,sort:P,tags:S}}),[v,f,M,k,H,U,l,P,S])}}},[[179,3,5]]]);
|
|
2
|
-
//# sourceMappingURL=main.fd06cc71.chunk.js.map
|