construct-hub 0.3.296 → 0.3.297

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. package/.jsii +2 -2
  2. package/changelog.md +1 -1
  3. package/lib/construct-hub.js +1 -1
  4. package/lib/package-sources/code-artifact.js +1 -1
  5. package/lib/package-sources/npmjs.js +1 -1
  6. package/lib/package-tag/index.js +3 -3
  7. package/lib/package-tag-group/index.js +2 -2
  8. package/lib/preload-file/index.js +1 -1
  9. package/lib/s3/storage.js +1 -1
  10. package/lib/spdx-license.js +1 -1
  11. package/package.json +3 -3
  12. package/releasetag.txt +1 -1
  13. package/version.txt +1 -1
  14. package/website/asset-manifest.json +13 -13
  15. package/website/index.html +1 -1
  16. package/website/static/js/{122.a26a1793.chunk.js → 122.133f03c1.chunk.js} +2 -2
  17. package/website/static/js/122.133f03c1.chunk.js.map +1 -0
  18. package/website/static/js/225.36a236f9.chunk.js +2 -0
  19. package/website/static/js/225.36a236f9.chunk.js.map +1 -0
  20. package/website/static/js/{577.99105a65.chunk.js → 577.4e3ff9fc.chunk.js} +2 -2
  21. package/website/static/js/{577.99105a65.chunk.js.map → 577.4e3ff9fc.chunk.js.map} +1 -1
  22. package/website/static/js/634.2970130f.chunk.js +3 -0
  23. package/website/static/js/{634.1bb0efa1.chunk.js.LICENSE.txt → 634.2970130f.chunk.js.LICENSE.txt} +0 -0
  24. package/website/static/js/634.2970130f.chunk.js.map +1 -0
  25. package/website/static/js/639.a2da0946.chunk.js +2 -0
  26. package/website/static/js/{639.9f81d279.chunk.js.map → 639.a2da0946.chunk.js.map} +1 -1
  27. package/website/static/js/main.83e0e93c.js +3 -0
  28. package/website/static/js/{main.f49cb2b1.js.LICENSE.txt → main.83e0e93c.js.LICENSE.txt} +0 -0
  29. package/website/static/js/main.83e0e93c.js.map +1 -0
  30. package/website/static/js/122.a26a1793.chunk.js.map +0 -1
  31. package/website/static/js/225.a341f2ee.chunk.js +0 -2
  32. package/website/static/js/225.a341f2ee.chunk.js.map +0 -1
  33. package/website/static/js/634.1bb0efa1.chunk.js +0 -3
  34. package/website/static/js/634.1bb0efa1.chunk.js.map +0 -1
  35. package/website/static/js/639.9f81d279.chunk.js +0 -2
  36. package/website/static/js/main.f49cb2b1.js +0 -3
  37. package/website/static/js/main.f49cb2b1.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/js/122.133f03c1.chunk.js","mappings":"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","sources":["../node_modules/@chakra-ui/media-query/dist/chakra-ui-media-query.esm.js","../node_modules/@chakra-ui/popover/dist/chakra-ui-popover.esm.js","../node_modules/@chakra-ui/radio/dist/chakra-ui-radio.esm.js","../node_modules/date-fns/esm/compareAsc/index.js","../node_modules/date-fns/esm/_lib/cloneObject/index.js","../node_modules/date-fns/esm/_lib/assign/index.js","../node_modules/date-fns/esm/formatDistanceStrict/index.js","../node_modules/date-fns/esm/formatDistanceToNowStrict/index.js"],"sourcesContent":["import { useTheme } from '@chakra-ui/system';\nimport { isBrowser, __DEV__, memoizedGet, breakpoints, isArray, fromEntries, arrayToObjectNotation } from '@chakra-ui/utils';\nimport * as React from 'react';\nimport React__default from 'react';\nimport { useEnvironment } from '@chakra-ui/react-env';\n\nvar useSafeLayoutEffect = isBrowser ? React.useLayoutEffect : React.useEffect;\n/**\n * React hook that tracks state of a CSS media query\n *\n * @param query the media query to match\n */\n\nfunction useMediaQuery(query) {\n var env = useEnvironment();\n var queries = Array.isArray(query) ? query : [query];\n var isSupported = isBrowser && \"matchMedia\" in env.window;\n\n var _React$useState = React.useState(queries.map(function (query) {\n return isSupported ? !!env.window.matchMedia(query).matches : false;\n })),\n matches = _React$useState[0],\n setMatches = _React$useState[1]; // Specifying matches in the dependency list will cause the event listeners\n // to unload and then load each time the dependency changes. This causes\n // Media Query Events to be missed. The event listeners should only be unloaded\n // when the component unloads.\n\n\n useSafeLayoutEffect(function () {\n if (!isSupported) return undefined;\n var mediaQueryList = queries.map(function (query) {\n return env.window.matchMedia(query);\n });\n var listenerList = mediaQueryList.map(function (_, index) {\n var listener = function listener(mqlEvent) {\n var queryIndex = mediaQueryList.findIndex(function (mediaQuery) {\n return mediaQuery.media === mqlEvent.media;\n }); // As the event listener is on the media query list, any time the\n // listener is called, we know there is a change. There's no need\n // to compare the previous matches with current. Using\n // setMatches(matches => {...}) provides access to the current matches\n // state. Trying to access matches outside the setMatches function\n // would provide data from the the time of instantiation (stale).\n\n setMatches(function (matches) {\n var currentMatches = matches.map(function (x) {\n return x;\n });\n currentMatches[queryIndex] = mqlEvent.matches;\n return currentMatches;\n });\n }; // Listening to the 'change' event on the Media Query List Object\n // is more performant as the callback is only invoked when a specified\n // media query is matched. Using addEventListener on the window object\n // to listen for the resize event will call the callback on every\n // viewport resize.\n\n\n if (typeof mediaQueryList[index].addEventListener === \"function\") {\n mediaQueryList[index].addEventListener(\"change\", listener);\n } else {\n mediaQueryList[index].addListener(listener);\n }\n\n return listener;\n });\n return function () {\n mediaQueryList.forEach(function (_, index) {\n if (typeof mediaQueryList[index].removeEventListener === \"function\") {\n mediaQueryList[index].removeEventListener(\"change\", listenerList[index]);\n } else {\n mediaQueryList[index].removeListener(listenerList[index]);\n }\n });\n };\n }, []);\n return matches;\n}\n\n/**\n * Visibility\n *\n * React component to control the visibility of its\n * children based on the current breakpoint\n */\nvar Visibility = function Visibility(props) {\n var breakpoint = props.breakpoint,\n hide = props.hide,\n children = props.children;\n\n var _useMediaQuery = useMediaQuery(breakpoint),\n show = _useMediaQuery[0];\n\n var isVisible = hide ? !show : show;\n var rendered = isVisible ? children : null;\n return rendered;\n};\n\nvar Hide = function Hide(props) {\n var children = props.children;\n var query = useQuery(props);\n return /*#__PURE__*/React.createElement(Visibility, {\n breakpoint: query,\n hide: true\n }, children);\n};\n\nif (__DEV__) {\n Hide.displayName = \"Hide\";\n}\n\nvar Show = function Show(props) {\n var children = props.children;\n var query = useQuery(props);\n return /*#__PURE__*/React.createElement(Visibility, {\n breakpoint: query\n }, children);\n};\n\nif (__DEV__) {\n Show.displayName = \"Show\";\n}\n\nvar getBreakpoint = function getBreakpoint(theme, value) {\n return memoizedGet(theme, \"breakpoints.\" + value, value);\n};\n\nfunction useQuery(props) {\n var _props$breakpoint = props.breakpoint,\n breakpoint = _props$breakpoint === void 0 ? \"\" : _props$breakpoint,\n below = props.below,\n above = props.above;\n var theme = useTheme();\n var bpBelow = getBreakpoint(theme, below);\n var bpAbove = getBreakpoint(theme, above);\n var query = breakpoint;\n\n if (bpBelow) {\n query = \"(max-width: \" + bpBelow + \")\";\n } else if (bpAbove) {\n query = \"(min-width: \" + bpAbove + \")\";\n }\n\n return query;\n}\n\n/**\n * React hook used to get the user's animation preference.\n */\n\nfunction usePrefersReducedMotion() {\n var _useMediaQuery = useMediaQuery(\"(prefers-reduced-motion: reduce)\"),\n prefersReducedMotion = _useMediaQuery[0];\n\n return prefersReducedMotion;\n}\n/**\n * React hook for getting the user's color mode preference.\n */\n\nfunction useColorModePreference() {\n var _useMediaQuery2 = useMediaQuery([\"(prefers-color-scheme: light)\", \"(prefers-color-scheme: dark)\"]),\n isLight = _useMediaQuery2[0],\n isDark = _useMediaQuery2[1];\n\n if (isLight) return \"light\";\n if (isDark) return \"dark\";\n return undefined;\n}\n\n/**\n * React hook used to get the current responsive media breakpoint.\n *\n * @param [defaultBreakpoint=\"base\"] default breakpoint name\n * (in non-window environments like SSR)\n *\n * For SSR, you can use a package like [is-mobile](https://github.com/kaimallea/isMobile)\n * to get the default breakpoint value from the user-agent\n */\n\nfunction useBreakpoint(defaultBreakpoint // default value ensures SSR+CSR consistency\n) {\n if (defaultBreakpoint === void 0) {\n defaultBreakpoint = \"base\";\n }\n\n var _useTheme = useTheme(),\n __breakpoints = _useTheme.__breakpoints;\n\n var env = useEnvironment();\n var queries = React__default.useMemo(function () {\n var _breakpoints$details;\n\n return (_breakpoints$details = __breakpoints == null ? void 0 : __breakpoints.details.map(function (_ref) {\n var minMaxQuery = _ref.minMaxQuery,\n breakpoint = _ref.breakpoint;\n return {\n breakpoint: breakpoint,\n query: minMaxQuery.replace(\"@media screen and \", \"\")\n };\n })) != null ? _breakpoints$details : [];\n }, [__breakpoints]);\n\n var _React$useState = React__default.useState(function () {\n if (defaultBreakpoint) {\n // use default breakpoint to ensure render consistency in SSR + CSR environments\n // => first render on the client has to match the render on the server\n var fallbackBreakpointDetail = queries.find(function (_ref2) {\n var breakpoint = _ref2.breakpoint;\n return breakpoint === defaultBreakpoint;\n });\n\n if (fallbackBreakpointDetail) {\n return fallbackBreakpointDetail.breakpoint;\n }\n }\n\n if (env.window.matchMedia) {\n // set correct breakpoint on first render if no default breakpoint was provided\n var matchingBreakpointDetail = queries.find(function (_ref3) {\n var query = _ref3.query;\n return env.window.matchMedia(query).matches;\n });\n\n if (matchingBreakpointDetail) {\n return matchingBreakpointDetail.breakpoint;\n }\n }\n\n return undefined;\n }),\n currentBreakpoint = _React$useState[0],\n setCurrentBreakpoint = _React$useState[1];\n\n React__default.useEffect(function () {\n var allUnregisterFns = queries.map(function (_ref4) {\n var breakpoint = _ref4.breakpoint,\n query = _ref4.query;\n var mediaQueryList = env.window.matchMedia(query);\n\n if (mediaQueryList.matches) {\n setCurrentBreakpoint(breakpoint);\n }\n\n var handleChange = function handleChange(ev) {\n if (ev.matches) {\n setCurrentBreakpoint(breakpoint);\n }\n }; // add media query listener\n\n\n if (typeof mediaQueryList.addEventListener === \"function\") {\n mediaQueryList.addEventListener(\"change\", handleChange);\n } else {\n mediaQueryList.addListener(handleChange);\n } // return unregister fn\n\n\n return function () {\n if (typeof mediaQueryList.removeEventListener === \"function\") {\n mediaQueryList.removeEventListener(\"change\", handleChange);\n } else {\n mediaQueryList.removeListener(handleChange);\n }\n };\n });\n return function () {\n allUnregisterFns.forEach(function (unregister) {\n return unregister();\n });\n };\n }, [queries, __breakpoints, env.window]);\n return currentBreakpoint;\n}\n\nfunction getClosestValue(values, breakpoint, breakpoints$1) {\n if (breakpoints$1 === void 0) {\n breakpoints$1 = breakpoints;\n }\n\n var index = Object.keys(values).indexOf(breakpoint);\n\n if (index !== -1) {\n return values[breakpoint];\n }\n\n var stopIndex = breakpoints$1.indexOf(breakpoint);\n\n while (stopIndex >= 0) {\n var key = breakpoints$1[stopIndex];\n\n if (values[key] != null) {\n index = stopIndex;\n break;\n }\n\n stopIndex -= 1;\n }\n\n if (index !== -1) {\n var _key = breakpoints$1[index];\n return values[_key];\n }\n\n return undefined;\n}\n\n/**\n * React hook for getting the value for the current breakpoint from the\n * provided responsive values object.\n *\n * @param values\n * @param [defaultBreakpoint] default breakpoint name\n * (in non-window environments like SSR)\n *\n * For SSR, you can use a package like [is-mobile](https://github.com/kaimallea/isMobile)\n * to get the default breakpoint value from the user-agent\n *\n * @example\n * const width = useBreakpointValue({ base: '150px', md: '250px' })\n */\n\nfunction useBreakpointValue(values, defaultBreakpoint) {\n var _theme$__breakpoints;\n\n var breakpoint = useBreakpoint(defaultBreakpoint);\n var theme = useTheme();\n if (!breakpoint) return undefined;\n /**\n * Get the sorted breakpoint keys from the provided breakpoints\n */\n\n var breakpoints = Array.from(((_theme$__breakpoints = theme.__breakpoints) == null ? void 0 : _theme$__breakpoints.keys) || []);\n var obj = isArray(values) ? fromEntries(Object.entries(arrayToObjectNotation(values, breakpoints)).map(function (_ref) {\n var key = _ref[0],\n value = _ref[1];\n return [key, value];\n })) : values;\n return getClosestValue(obj, breakpoint, breakpoints);\n}\n\nexport { Hide, Show, useBreakpoint, useBreakpointValue, useColorModePreference, useMediaQuery, usePrefersReducedMotion, useQuery };\n","import { CloseButton } from '@chakra-ui/close-button';\nimport { chakra, useMultiStyleConfig, omitThemingProps, useTheme, StylesProvider, forwardRef, useStyles } from '@chakra-ui/system';\nimport { mergeWith, determineLazyBehavior, px, callAllHandlers, getRelatedTarget, contains, runIfFn, __DEV__, callAll, cx } from '@chakra-ui/utils';\nimport * as React from 'react';\nimport React__default, { useRef, useState, useCallback, useEffect } from 'react';\nimport { createContext, mergeRefs } from '@chakra-ui/react-utils';\nimport { motion } from 'framer-motion';\nimport { useDisclosure, useIds, useFocusOnPointerDown, useFocusOnHide, useFocusOnShow } from '@chakra-ui/hooks';\nimport { useAnimationState } from '@chakra-ui/hooks/use-animation-state';\nimport { usePopper, popperCSSVars } from '@chakra-ui/popper';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar _createContext = createContext({\n name: \"PopoverContext\",\n errorMessage: \"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within `<Popover />`\"\n}),\n PopoverProvider = _createContext[0],\n usePopoverContext = _createContext[1];\n\nvar mergeVariants = function mergeVariants(variants) {\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\nvar scaleFade = {\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};\nvar Section = motion(chakra.section);\nvar PopoverTransition = /*#__PURE__*/React__default.forwardRef(function (props, ref) {\n var _usePopoverContext = usePopoverContext(),\n isOpen = _usePopoverContext.isOpen;\n\n return /*#__PURE__*/React__default.createElement(Section, _extends({\n ref: ref,\n variants: mergeVariants(props.variants)\n }, props, {\n initial: false,\n animate: isOpen ? \"enter\" : \"exit\"\n }));\n});\nPopoverTransition.defaultProps = {\n variants: scaleFade\n};\n\nvar _excluded$1 = [\"closeOnBlur\", \"closeOnEsc\", \"initialFocusRef\", \"id\", \"returnFocusOnClose\", \"autoFocus\", \"arrowSize\", \"arrowShadowColor\", \"trigger\", \"openDelay\", \"closeDelay\", \"isLazy\", \"lazyBehavior\", \"computePositionOnMount\"];\nvar TRIGGER = {\n click: \"click\",\n hover: \"hover\"\n};\n\n/**\n * @internal\n */\nfunction usePopover(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n _props$closeOnBlur = _props.closeOnBlur,\n closeOnBlur = _props$closeOnBlur === void 0 ? true : _props$closeOnBlur,\n _props$closeOnEsc = _props.closeOnEsc,\n closeOnEsc = _props$closeOnEsc === void 0 ? true : _props$closeOnEsc,\n initialFocusRef = _props.initialFocusRef,\n id = _props.id,\n _props$returnFocusOnC = _props.returnFocusOnClose,\n returnFocusOnClose = _props$returnFocusOnC === void 0 ? true : _props$returnFocusOnC,\n _props$autoFocus = _props.autoFocus,\n autoFocus = _props$autoFocus === void 0 ? true : _props$autoFocus,\n arrowSize = _props.arrowSize,\n arrowShadowColor = _props.arrowShadowColor,\n _props$trigger = _props.trigger,\n trigger = _props$trigger === void 0 ? TRIGGER.click : _props$trigger,\n _props$openDelay = _props.openDelay,\n openDelay = _props$openDelay === void 0 ? 200 : _props$openDelay,\n _props$closeDelay = _props.closeDelay,\n closeDelay = _props$closeDelay === void 0 ? 200 : _props$closeDelay,\n isLazy = _props.isLazy,\n _props$lazyBehavior = _props.lazyBehavior,\n lazyBehavior = _props$lazyBehavior === void 0 ? \"unmount\" : _props$lazyBehavior,\n computePositionOnMount = _props.computePositionOnMount,\n popperProps = _objectWithoutPropertiesLoose(_props, _excluded$1);\n\n var _useDisclosure = useDisclosure(props),\n isOpen = _useDisclosure.isOpen,\n onClose = _useDisclosure.onClose,\n onOpen = _useDisclosure.onOpen,\n onToggle = _useDisclosure.onToggle;\n\n var anchorRef = useRef(null);\n var triggerRef = useRef(null);\n var popoverRef = useRef(null);\n var isHoveringRef = useRef(false);\n var hasBeenOpened = useRef(false);\n\n if (isOpen) {\n hasBeenOpened.current = true;\n }\n\n var _useState = useState(false),\n hasHeader = _useState[0],\n setHasHeader = _useState[1];\n\n var _useState2 = useState(false),\n hasBody = _useState2[0],\n setHasBody = _useState2[1];\n\n var _useIds = useIds(id, \"popover-trigger\", \"popover-content\", \"popover-header\", \"popover-body\"),\n triggerId = _useIds[0],\n popoverId = _useIds[1],\n headerId = _useIds[2],\n bodyId = _useIds[3];\n\n var _usePopper = usePopper(_extends({}, popperProps, {\n enabled: isOpen || !!computePositionOnMount\n })),\n referenceRef = _usePopper.referenceRef,\n getArrowProps = _usePopper.getArrowProps,\n getPopperProps = _usePopper.getPopperProps,\n getArrowInnerProps = _usePopper.getArrowInnerProps,\n forceUpdate = _usePopper.forceUpdate;\n\n var animated = useAnimationState({\n isOpen: isOpen,\n ref: popoverRef\n });\n useFocusOnPointerDown({\n enabled: isOpen,\n ref: triggerRef\n });\n useFocusOnHide(popoverRef, {\n focusRef: triggerRef,\n visible: isOpen,\n shouldFocus: returnFocusOnClose && trigger === TRIGGER.click\n });\n useFocusOnShow(popoverRef, {\n focusRef: initialFocusRef,\n visible: isOpen,\n shouldFocus: autoFocus && trigger === TRIGGER.click\n });\n var shouldRenderChildren = determineLazyBehavior({\n hasBeenSelected: hasBeenOpened.current,\n isLazy: isLazy,\n lazyBehavior: lazyBehavior,\n isSelected: animated.present\n });\n var getPopoverProps = useCallback(function (props, _ref) {\n var _extends2;\n\n if (props === void 0) {\n props = {};\n }\n\n if (_ref === void 0) {\n _ref = null;\n }\n\n var popoverProps = _extends({}, props, {\n style: _extends({}, props.style, (_extends2 = {\n transformOrigin: popperCSSVars.transformOrigin.varRef\n }, _extends2[popperCSSVars.arrowSize[\"var\"]] = arrowSize ? px(arrowSize) : undefined, _extends2[popperCSSVars.arrowShadowColor[\"var\"]] = arrowShadowColor, _extends2)),\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, function (event) {\n if (closeOnEsc && event.key === \"Escape\") {\n onClose();\n }\n }),\n onBlur: callAllHandlers(props.onBlur, function (event) {\n var relatedTarget = getRelatedTarget(event);\n var targetIsPopover = contains(popoverRef.current, relatedTarget);\n var targetIsTrigger = contains(triggerRef.current, relatedTarget);\n var 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, function () {\n isHoveringRef.current = true;\n });\n popoverProps.onMouseLeave = callAllHandlers(props.onMouseLeave, function () {\n isHoveringRef.current = false;\n setTimeout(onClose, closeDelay);\n });\n }\n\n return popoverProps;\n }, [shouldRenderChildren, popoverId, hasHeader, headerId, hasBody, bodyId, trigger, closeOnEsc, onClose, isOpen, closeOnBlur, closeDelay, arrowShadowColor, arrowSize]);\n var getPopoverPositionerProps = useCallback(function (props, forwardedRef) {\n if (props === void 0) {\n props = {};\n }\n\n if (forwardedRef === void 0) {\n forwardedRef = null;\n }\n\n return getPopperProps(_extends({}, props, {\n style: _extends({\n visibility: isOpen ? \"visible\" : \"hidden\"\n }, props.style)\n }), forwardedRef);\n }, [isOpen, getPopperProps]);\n var getAnchorProps = useCallback(function (props, _ref) {\n if (_ref === void 0) {\n _ref = null;\n }\n\n var anchorProps = _extends({}, props, {\n // If anchor is rendered, it is used as reference.\n ref: mergeRefs(_ref, anchorRef, referenceRef)\n });\n\n return anchorProps;\n }, [anchorRef, referenceRef]);\n var openTimeout = useRef();\n var closeTimeout = useRef();\n var maybeReferenceRef = useCallback(function (node) {\n // Don't override referenceRef in case the PopoverAnchor is rendered.\n if (anchorRef.current == null) {\n referenceRef(node);\n }\n }, [referenceRef]);\n var getTriggerProps = useCallback(function (props, _ref) {\n if (props === void 0) {\n props = {};\n }\n\n if (_ref === void 0) {\n _ref = null;\n }\n\n var triggerProps = _extends({}, props, {\n ref: mergeRefs(triggerRef, _ref, maybeReferenceRef),\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, function (event) {\n var relatedTarget = getRelatedTarget(event);\n var isValidBlur = !contains(popoverRef.current, relatedTarget);\n\n if (isOpen && closeOnBlur && isValidBlur) {\n onClose();\n }\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\n triggerProps.onKeyDown = callAllHandlers(props.onKeyDown, function (event) {\n if (event.key === \"Escape\") {\n onClose();\n }\n });\n triggerProps.onMouseEnter = callAllHandlers(props.onMouseEnter, function () {\n isHoveringRef.current = true;\n openTimeout.current = window.setTimeout(onOpen, openDelay);\n });\n triggerProps.onMouseLeave = callAllHandlers(props.onMouseLeave, function () {\n isHoveringRef.current = false;\n\n if (openTimeout.current) {\n clearTimeout(openTimeout.current);\n openTimeout.current = undefined;\n }\n\n closeTimeout.current = window.setTimeout(function () {\n if (isHoveringRef.current === false) {\n onClose();\n }\n }, closeDelay);\n });\n }\n\n return triggerProps;\n }, [triggerId, isOpen, popoverId, trigger, maybeReferenceRef, onToggle, onOpen, closeOnBlur, onClose, openDelay, closeDelay]);\n useEffect(function () {\n return function () {\n if (openTimeout.current) {\n clearTimeout(openTimeout.current);\n }\n\n if (closeTimeout.current) {\n clearTimeout(closeTimeout.current);\n }\n };\n }, []);\n var getHeaderProps = useCallback(function (props, ref) {\n if (props === void 0) {\n props = {};\n }\n\n if (ref === void 0) {\n ref = null;\n }\n\n return _extends({}, props, {\n id: headerId,\n ref: mergeRefs(ref, function (node) {\n setHasHeader(!!node);\n })\n });\n }, [headerId]);\n var getBodyProps = useCallback(function (props, ref) {\n if (props === void 0) {\n props = {};\n }\n\n if (ref === void 0) {\n ref = null;\n }\n\n return _extends({}, props, {\n id: bodyId,\n ref: mergeRefs(ref, function (node) {\n setHasBody(!!node);\n })\n });\n }, [bodyId]);\n return {\n forceUpdate: forceUpdate,\n isOpen: isOpen,\n onAnimationComplete: animated.onComplete,\n onClose: onClose,\n getAnchorProps: getAnchorProps,\n getArrowProps: getArrowProps,\n getArrowInnerProps: getArrowInnerProps,\n getPopoverPositionerProps: getPopoverPositionerProps,\n getPopoverProps: getPopoverProps,\n getTriggerProps: getTriggerProps,\n getHeaderProps: getHeaderProps,\n getBodyProps: getBodyProps\n };\n}\n\nvar _excluded = [\"children\"],\n _excluded2 = [\"rootProps\"];\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 */\nvar Popover = function Popover(props) {\n var styles = useMultiStyleConfig(\"Popover\", props);\n\n var _omitThemingProps = omitThemingProps(props),\n children = _omitThemingProps.children,\n rest = _objectWithoutPropertiesLoose(_omitThemingProps, _excluded);\n\n var theme = useTheme();\n var context = usePopover(_extends({}, rest, {\n direction: theme.direction\n }));\n return /*#__PURE__*/React.createElement(PopoverProvider, {\n value: context\n }, /*#__PURE__*/React.createElement(StylesProvider, {\n value: styles\n }, runIfFn(children, {\n isOpen: context.isOpen,\n onClose: context.onClose,\n forceUpdate: context.forceUpdate\n })));\n};\n\nif (__DEV__) {\n Popover.displayName = \"Popover\";\n}\n/**\n * PopoverAnchor is element that is used as the positioning reference\n * for the popover.\n */\n\n\nvar PopoverAnchor = function PopoverAnchor(props) {\n // enforce a single child\n var child = React.Children.only(props.children);\n\n var _usePopoverContext = usePopoverContext(),\n getAnchorProps = _usePopoverContext.getAnchorProps;\n\n return /*#__PURE__*/React.cloneElement(child, getAnchorProps(child.props, child.ref));\n};\n\nif (__DEV__) {\n PopoverAnchor.displayName = \"PopoverAnchor\";\n}\n/**\n * PopoverTrigger opens the popover's content. It must be an interactive element\n * such as `button` or `a`.\n */\n\n\nvar PopoverTrigger = function PopoverTrigger(props) {\n // enforce a single child\n var child = React.Children.only(props.children);\n\n var _usePopoverContext2 = usePopoverContext(),\n getTriggerProps = _usePopoverContext2.getTriggerProps;\n\n return /*#__PURE__*/React.cloneElement(child, getTriggerProps(child.props, child.ref));\n};\n\nif (__DEV__) {\n PopoverTrigger.displayName = \"PopoverTrigger\";\n}\n\nvar PopoverContent = /*#__PURE__*/forwardRef(function (props, ref) {\n var rootProps = props.rootProps,\n contentProps = _objectWithoutPropertiesLoose(props, _excluded2);\n\n var _usePopoverContext3 = usePopoverContext(),\n getPopoverProps = _usePopoverContext3.getPopoverProps,\n getPopoverPositionerProps = _usePopoverContext3.getPopoverPositionerProps,\n onAnimationComplete = _usePopoverContext3.onAnimationComplete;\n\n var styles = useStyles();\n\n var contentStyles = _extends({\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\"\n }, styles.content);\n\n return /*#__PURE__*/React.createElement(chakra.div, _extends({}, getPopoverPositionerProps(rootProps), {\n __css: styles.popper,\n className: \"chakra-popover__popper\"\n }), /*#__PURE__*/React.createElement(PopoverTransition, _extends({}, getPopoverProps(contentProps, ref), {\n onAnimationComplete: callAll(onAnimationComplete, contentProps.onAnimationComplete),\n className: cx(\"chakra-popover__content\", props.className),\n __css: contentStyles\n })));\n});\n\nif (__DEV__) {\n PopoverContent.displayName = \"PopoverContent\";\n}\n\n/**\n * PopoverHeader is the accessible header or label\n * for the popover's content and it is first announced by screenreaders.\n */\nvar PopoverHeader = /*#__PURE__*/forwardRef(function (props, ref) {\n var _usePopoverContext4 = usePopoverContext(),\n getHeaderProps = _usePopoverContext4.getHeaderProps;\n\n var styles = useStyles();\n return /*#__PURE__*/React.createElement(chakra.header, _extends({}, getHeaderProps(props, ref), {\n className: cx(\"chakra-popover__header\", props.className),\n __css: styles.header\n }));\n});\n\nif (__DEV__) {\n PopoverHeader.displayName = \"PopoverHeader\";\n}\n\n/**\n * PopoverBody is the main content area for the popover. Should contain\n * at least one interactive element.\n */\nvar PopoverBody = /*#__PURE__*/forwardRef(function (props, ref) {\n var _usePopoverContext5 = usePopoverContext(),\n getBodyProps = _usePopoverContext5.getBodyProps;\n\n var styles = useStyles();\n return /*#__PURE__*/React.createElement(chakra.div, _extends({}, getBodyProps(props, ref), {\n className: cx(\"chakra-popover__body\", props.className),\n __css: styles.body\n }));\n});\n\nif (__DEV__) {\n PopoverBody.displayName = \"PopoverBody\";\n}\n\nvar PopoverFooter = function PopoverFooter(props) {\n var styles = useStyles();\n return /*#__PURE__*/React.createElement(chakra.footer, _extends({}, props, {\n className: cx(\"chakra-popover__footer\", props.className),\n __css: styles.footer\n }));\n};\n\nif (__DEV__) {\n PopoverFooter.displayName = \"PopoverFooter\";\n}\n\nvar PopoverCloseButton = function PopoverCloseButton(props) {\n var _usePopoverContext6 = usePopoverContext(),\n onClose = _usePopoverContext6.onClose;\n\n var styles = useStyles();\n return /*#__PURE__*/React.createElement(CloseButton, _extends({\n size: \"sm\",\n onClick: onClose,\n className: cx(\"chakra-popover__close-btn\", props.className),\n __css: styles.closeButton\n }, props));\n};\n\nif (__DEV__) {\n PopoverCloseButton.displayName = \"PopoverCloseButton\";\n}\n\nvar PopoverArrow = function PopoverArrow(props) {\n var _ref;\n\n var bg = props.bg,\n bgColor = props.bgColor,\n backgroundColor = props.backgroundColor;\n\n var _usePopoverContext7 = usePopoverContext(),\n getArrowProps = _usePopoverContext7.getArrowProps,\n getArrowInnerProps = _usePopoverContext7.getArrowInnerProps;\n\n var styles = useStyles();\n var arrowBg = (_ref = bg != null ? bg : bgColor) != null ? _ref : backgroundColor;\n return /*#__PURE__*/React.createElement(chakra.div, _extends({}, getArrowProps(), {\n className: \"chakra-popover__arrow-positioner\"\n }), /*#__PURE__*/React.createElement(chakra.div, _extends({\n className: cx(\"chakra-popover__arrow\", props.className)\n }, getArrowInnerProps(props), {\n __css: _extends({}, styles.arrow, {\n \"--popper-arrow-bg\": arrowBg ? \"colors.\" + arrowBg + \", \" + arrowBg : undefined\n })\n })));\n};\n\nif (__DEV__) {\n PopoverArrow.displayName = \"PopoverArrow\";\n}\n\nexport { Popover, PopoverAnchor, PopoverArrow, PopoverBody, PopoverCloseButton, PopoverContent, PopoverFooter, PopoverHeader, PopoverTrigger, usePopover, usePopoverContext };\n","import { forwardRef, chakra, useMultiStyleConfig, omitThemingProps, layoutPropNames } from '@chakra-ui/system';\nimport { isInputEvent, cx, __DEV__, warn, dataAttr, callAllHandlers, ariaAttr, callAll, split } from '@chakra-ui/utils';\nimport * as React from 'react';\nimport { useState, useCallback } from 'react';\nimport { mergeRefs, createContext } from '@chakra-ui/react-utils';\nimport { useControllableProp, useId, useBoolean } from '@chakra-ui/hooks';\nimport { useFormControlContext } from '@chakra-ui/form-control';\nimport { visuallyHiddenStyle } from '@chakra-ui/visually-hidden';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nvar _excluded$3 = [\"onChange\", \"value\", \"defaultValue\", \"name\", \"isDisabled\", \"isFocusable\", \"isNative\"];\n\n/**\n * React hook to manage a group of radio inputs\n */\nfunction useRadioGroup(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n onChangeProp = _props.onChange,\n valueProp = _props.value,\n defaultValue = _props.defaultValue,\n nameProp = _props.name,\n isDisabled = _props.isDisabled,\n isFocusable = _props.isFocusable,\n isNative = _props.isNative,\n htmlProps = _objectWithoutPropertiesLoose(_props, _excluded$3);\n\n var _React$useState = React.useState(defaultValue || \"\"),\n valueState = _React$useState[0],\n setValue = _React$useState[1];\n\n var _useControllableProp = useControllableProp(valueProp, valueState),\n isControlled = _useControllableProp[0],\n value = _useControllableProp[1];\n\n var ref = React.useRef(null);\n var focus = React.useCallback(function () {\n var rootNode = ref.current;\n if (!rootNode) return;\n var query = \"input:not(:disabled):checked\";\n var firstEnabledAndCheckedInput = rootNode.querySelector(query);\n\n if (firstEnabledAndCheckedInput) {\n firstEnabledAndCheckedInput.focus();\n return;\n }\n\n query = \"input:not(:disabled)\";\n var firstEnabledInput = rootNode.querySelector(query);\n firstEnabledInput == null ? void 0 : firstEnabledInput.focus();\n }, []);\n /**\n * All radio options must use the same name\n */\n\n var fallbackName = useId(undefined, \"radio\");\n var name = nameProp || fallbackName;\n var onChange = React.useCallback(function (eventOrValue) {\n var nextValue = isInputEvent(eventOrValue) ? eventOrValue.target.value : eventOrValue;\n\n if (!isControlled) {\n setValue(nextValue);\n }\n\n onChangeProp == null ? void 0 : onChangeProp(String(nextValue));\n }, [onChangeProp, isControlled]);\n var getRootProps = React.useCallback(function (props, forwardedRef) {\n if (props === void 0) {\n props = {};\n }\n\n if (forwardedRef === void 0) {\n forwardedRef = null;\n }\n\n return _extends({}, props, {\n ref: mergeRefs(forwardedRef, ref),\n role: \"radiogroup\"\n });\n }, []);\n var getRadioProps = React.useCallback(function (props, ref) {\n var _extends2;\n\n if (props === void 0) {\n props = {};\n }\n\n if (ref === void 0) {\n ref = null;\n }\n\n var checkedKey = isNative ? \"checked\" : \"isChecked\";\n return _extends({}, props, (_extends2 = {\n ref: ref,\n name: name\n }, _extends2[checkedKey] = value != null ? props.value === value : undefined, _extends2.onChange = onChange, _extends2[\"data-radiogroup\"] = true, _extends2));\n }, [isNative, name, onChange, value]);\n return {\n getRootProps: getRootProps,\n getRadioProps: getRadioProps,\n name: name,\n ref: ref,\n focus: focus,\n setValue: setValue,\n value: value,\n onChange: onChange,\n isDisabled: isDisabled,\n isFocusable: isFocusable,\n htmlProps: htmlProps\n };\n}\n\nvar _excluded$2 = [\"colorScheme\", \"size\", \"variant\", \"children\", \"className\", \"isDisabled\", \"isFocusable\"];\n\nvar _createContext = createContext({\n name: \"RadioGroupContext\",\n strict: false\n}),\n RadioGroupProvider = _createContext[0],\n useRadioGroupContext = _createContext[1];\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 */\nvar RadioGroup = /*#__PURE__*/forwardRef(function (props, ref) {\n var colorScheme = props.colorScheme,\n size = props.size,\n variant = props.variant,\n children = props.children,\n className = props.className,\n isDisabled = props.isDisabled,\n isFocusable = props.isFocusable,\n rest = _objectWithoutPropertiesLoose(props, _excluded$2);\n\n var _useRadioGroup = useRadioGroup(rest),\n value = _useRadioGroup.value,\n onChange = _useRadioGroup.onChange,\n getRootProps = _useRadioGroup.getRootProps,\n name = _useRadioGroup.name,\n htmlProps = _useRadioGroup.htmlProps;\n\n var group = React.useMemo(function () {\n return {\n name: name,\n size: size,\n onChange: onChange,\n colorScheme: colorScheme,\n value: value,\n variant: variant,\n isDisabled: isDisabled,\n isFocusable: isFocusable\n };\n }, [name, size, onChange, colorScheme, value, variant, isDisabled, isFocusable]);\n var groupProps = getRootProps(htmlProps, ref);\n\n var _className = cx(\"chakra-radio-group\", className);\n\n return /*#__PURE__*/React.createElement(RadioGroupProvider, {\n value: group\n }, /*#__PURE__*/React.createElement(chakra.div, _extends({}, groupProps, {\n className: _className\n }), children));\n});\n\nif (__DEV__) {\n RadioGroup.displayName = \"RadioGroup\";\n}\n\nvar _excluded$1 = [\"defaultIsChecked\", \"defaultChecked\", \"isChecked\", \"isFocusable\", \"isDisabled\", \"isReadOnly\", \"isRequired\", \"onChange\", \"isInvalid\", \"name\", \"value\", \"id\", \"data-radiogroup\", \"aria-describedby\"];\n/**\n * @todo use the `useClickable` hook here\n * to manage the isFocusable & isDisabled props\n */\n\nfunction useRadio(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n defaultIsChecked = _props.defaultIsChecked,\n _props$defaultChecked = _props.defaultChecked,\n defaultChecked = _props$defaultChecked === void 0 ? defaultIsChecked : _props$defaultChecked,\n isCheckedProp = _props.isChecked,\n isFocusable = _props.isFocusable,\n isDisabledProp = _props.isDisabled,\n isReadOnlyProp = _props.isReadOnly,\n isRequiredProp = _props.isRequired,\n onChange = _props.onChange,\n isInvalidProp = _props.isInvalid,\n name = _props.name,\n value = _props.value,\n idProp = _props.id,\n dataRadioGroup = _props[\"data-radiogroup\"],\n ariaDescribedBy = _props[\"aria-describedby\"],\n htmlProps = _objectWithoutPropertiesLoose(_props, _excluded$1);\n\n var uuid = useId(undefined, \"radio\");\n var formControl = useFormControlContext();\n var group = useRadioGroupContext();\n var isWithinRadioGroup = !!group || !!dataRadioGroup;\n var isWithinFormControl = !!formControl;\n var id = isWithinFormControl && !isWithinRadioGroup ? formControl.id : uuid;\n id = idProp != null ? idProp : id;\n var isDisabled = isDisabledProp != null ? isDisabledProp : formControl == null ? void 0 : formControl.isDisabled;\n var isReadOnly = isReadOnlyProp != null ? isReadOnlyProp : formControl == null ? void 0 : formControl.isReadOnly;\n var isRequired = isRequiredProp != null ? isRequiredProp : formControl == null ? void 0 : formControl.isRequired;\n var isInvalid = isInvalidProp != null ? isInvalidProp : formControl == null ? void 0 : formControl.isInvalid;\n\n var _useBoolean = useBoolean(),\n isFocused = _useBoolean[0],\n setFocused = _useBoolean[1];\n\n var _useBoolean2 = useBoolean(),\n isHovered = _useBoolean2[0],\n setHovering = _useBoolean2[1];\n\n var _useBoolean3 = useBoolean(),\n isActive = _useBoolean3[0],\n setActive = _useBoolean3[1];\n\n var _useState = useState(Boolean(defaultChecked)),\n isCheckedState = _useState[0],\n setChecked = _useState[1];\n\n var _useControllableProp = useControllableProp(isCheckedProp, isCheckedState),\n isControlled = _useControllableProp[0],\n isChecked = _useControllableProp[1];\n\n warn({\n condition: !!defaultIsChecked,\n message: 'The \"defaultIsChecked\" prop has been deprecated and will be removed in a future version. ' + 'Please use the \"defaultChecked\" prop instead, which mirrors default React checkbox behavior.'\n });\n var handleChange = useCallback(function (event) {\n if (isReadOnly || isDisabled) {\n event.preventDefault();\n return;\n }\n\n if (!isControlled) {\n setChecked(event.target.checked);\n }\n\n onChange == null ? void 0 : onChange(event);\n }, [isControlled, isDisabled, isReadOnly, onChange]);\n var onKeyDown = useCallback(function (event) {\n if (event.key === \" \") {\n setActive.on();\n }\n }, [setActive]);\n var onKeyUp = useCallback(function (event) {\n if (event.key === \" \") {\n setActive.off();\n }\n }, [setActive]);\n var getRadioProps = useCallback(function (props, ref) {\n if (props === void 0) {\n props = {};\n }\n\n if (ref === void 0) {\n ref = null;\n }\n\n return _extends({}, props, {\n ref: 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 }, [isActive, isHovered, isDisabled, isInvalid, isChecked, isFocused, isReadOnly, setActive.on, setActive.off, setHovering.on, setHovering.off]);\n\n var _ref = formControl != null ? formControl : {},\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur;\n\n var getInputProps = useCallback(function (props, ref) {\n if (props === void 0) {\n props = {};\n }\n\n if (ref === void 0) {\n ref = null;\n }\n\n var trulyDisabled = isDisabled && !isFocusable;\n return _extends({}, props, {\n id: id,\n ref: ref,\n type: \"radio\",\n name: name,\n value: 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 \"aria-describedby\": ariaDescribedBy,\n style: visuallyHiddenStyle\n });\n }, [isDisabled, isFocusable, id, name, value, handleChange, onBlur, setFocused, onFocus, onKeyDown, onKeyUp, isChecked, isReadOnly, isRequired, isInvalid, ariaDescribedBy]);\n\n var getLabelProps = function getLabelProps(props, ref) {\n if (props === void 0) {\n props = {};\n }\n\n if (ref === void 0) {\n ref = null;\n }\n\n return _extends({}, props, {\n ref: 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\n var getRootProps = function getRootProps(props, ref) {\n if (ref === void 0) {\n ref = null;\n }\n\n return _extends({}, props, {\n ref: ref,\n \"data-disabled\": dataAttr(isDisabled),\n \"data-checked\": dataAttr(isChecked),\n \"data-invalid\": dataAttr(isInvalid)\n });\n };\n\n var state = {\n isInvalid: isInvalid,\n isFocused: isFocused,\n isChecked: isChecked,\n isActive: isActive,\n isHovered: isHovered,\n isDisabled: isDisabled,\n isReadOnly: isReadOnly,\n isRequired: isRequired\n };\n return {\n state: state,\n // the function is renamed to getRadioProps to make the code more consistent. It is renamed towards outside because otherwise this would produce a breaking change\n getCheckboxProps: getRadioProps,\n getInputProps: getInputProps,\n getLabelProps: getLabelProps,\n getRootProps: getRootProps,\n htmlProps: htmlProps\n };\n}\n/**\n * Prevent `onBlur` being fired when the radio label is touched\n */\n\nfunction stop(event) {\n event.preventDefault();\n event.stopPropagation();\n}\n\nvar _excluded = [\"spacing\", \"children\", \"isFullWidth\", \"isDisabled\", \"isFocusable\", \"inputProps\"];\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 */\nvar Radio = /*#__PURE__*/forwardRef(function (props, ref) {\n var _props$name;\n\n var group = useRadioGroupContext();\n var onChangeProp = props.onChange,\n valueProp = props.value;\n var styles = useMultiStyleConfig(\"Radio\", _extends({}, group, props));\n var ownProps = omitThemingProps(props);\n\n var _ownProps$spacing = ownProps.spacing,\n spacing = _ownProps$spacing === void 0 ? \"0.5rem\" : _ownProps$spacing,\n children = ownProps.children,\n isFullWidth = ownProps.isFullWidth,\n _ownProps$isDisabled = ownProps.isDisabled,\n isDisabled = _ownProps$isDisabled === void 0 ? group == null ? void 0 : group.isDisabled : _ownProps$isDisabled,\n _ownProps$isFocusable = ownProps.isFocusable,\n isFocusable = _ownProps$isFocusable === void 0 ? group == null ? void 0 : group.isFocusable : _ownProps$isFocusable,\n htmlInputProps = ownProps.inputProps,\n rest = _objectWithoutPropertiesLoose(ownProps, _excluded);\n\n var isChecked = props.isChecked;\n\n if ((group == null ? void 0 : group.value) != null && valueProp != null) {\n isChecked = group.value === valueProp;\n }\n\n var onChange = onChangeProp;\n\n if (group != null && group.onChange && valueProp != null) {\n onChange = callAll(group.onChange, onChangeProp);\n }\n\n var name = (_props$name = props == null ? void 0 : props.name) != null ? _props$name : group == null ? void 0 : group.name;\n\n var _useRadio = useRadio(_extends({}, rest, {\n isChecked: isChecked,\n isFocusable: isFocusable,\n isDisabled: isDisabled,\n onChange: onChange,\n name: name\n })),\n getInputProps = _useRadio.getInputProps,\n getCheckboxProps = _useRadio.getCheckboxProps,\n getLabelProps = _useRadio.getLabelProps,\n getRootProps = _useRadio.getRootProps,\n htmlProps = _useRadio.htmlProps;\n\n var _split = split(htmlProps, layoutPropNames),\n layoutProps = _split[0],\n otherProps = _split[1];\n\n var checkboxProps = getCheckboxProps(otherProps);\n var inputProps = getInputProps(htmlInputProps, ref);\n var labelProps = getLabelProps();\n var rootProps = Object.assign({}, layoutProps, getRootProps());\n\n var rootStyles = _extends({\n width: isFullWidth ? \"full\" : undefined,\n display: \"inline-flex\",\n alignItems: \"center\",\n verticalAlign: \"top\",\n cursor: \"pointer\"\n }, styles.container);\n\n var checkboxStyles = _extends({\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0\n }, styles.control);\n\n var labelStyles = _extends({\n userSelect: \"none\",\n marginStart: spacing\n }, styles.label);\n\n return /*#__PURE__*/React.createElement(chakra.label, _extends({\n className: \"chakra-radio\"\n }, rootProps, {\n __css: rootStyles\n }), /*#__PURE__*/React.createElement(\"input\", _extends({\n className: \"chakra-radio__input\"\n }, inputProps)), /*#__PURE__*/React.createElement(chakra.span, _extends({\n className: \"chakra-radio__control\"\n }, checkboxProps, {\n __css: checkboxStyles\n })), children && /*#__PURE__*/React.createElement(chakra.span, _extends({\n className: \"chakra-radio__label\"\n }, labelProps, {\n __css: labelStyles\n }), children));\n});\n\nif (__DEV__) {\n Radio.displayName = \"Radio\";\n}\n\nexport { Radio, RadioGroup, useRadio, useRadioGroup, useRadioGroupContext };\n","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * const result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * // Wed Feb 11 1987 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Sun Jul 02 1995 00:00:00\n * // ]\n */\n\nexport default function compareAsc(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var diff = dateLeft.getTime() - dateRight.getTime();\n\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1; // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}","import assign from \"../assign/index.js\";\nexport default function cloneObject(dirtyObject) {\n return assign({}, dirtyObject);\n}","export default function assign(target, dirtyObject) {\n if (target == null) {\n throw new TypeError('assign requires that input parameter not be null or undefined');\n }\n\n dirtyObject = dirtyObject || {};\n\n for (var property in dirtyObject) {\n if (Object.prototype.hasOwnProperty.call(dirtyObject, property)) {\n target[property] = dirtyObject[property];\n }\n }\n\n return target;\n}","import getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport compareAsc from \"../compareAsc/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport cloneObject from \"../_lib/cloneObject/index.js\";\nimport defaultLocale from \"../locale/en-US/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_MINUTE = 1000 * 60;\nvar MINUTES_IN_DAY = 60 * 24;\nvar MINUTES_IN_MONTH = MINUTES_IN_DAY * 30;\nvar MINUTES_IN_YEAR = MINUTES_IN_DAY * 365;\n/**\n * @name formatDistanceStrict\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words, using strict units.\n * This is like `formatDistance`, but does not use helpers like 'almost', 'over',\n * 'less than' and the like.\n *\n * | Distance between dates | Result |\n * |------------------------|---------------------|\n * | 0 ... 59 secs | [0..59] seconds |\n * | 1 ... 59 mins | [1..59] minutes |\n * | 1 ... 23 hrs | [1..23] hours |\n * | 1 ... 29 days | [1..29] days |\n * | 1 ... 11 months | [1..11] months |\n * | 1 ... N years | [1..N] years |\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `distanceInWordsStrict` to `formatDistanceStrict`\n * to make its name consistent with `format` and `formatRelative`.\n *\n * - The order of arguments is swapped to make the function\n * consistent with `differenceIn...` functions.\n *\n * ```javascript\n * // Before v2.0.0\n *\n * distanceInWordsStrict(\n * new Date(2015, 0, 2),\n * new Date(2014, 6, 2)\n * ) //=> '6 months'\n *\n * // v2.0.0 onward\n *\n * formatDistanceStrict(\n * new Date(2014, 6, 2),\n * new Date(2015, 0, 2)\n * ) //=> '6 months'\n * ```\n *\n * - `partialMethod` option is renamed to `roundingMethod`.\n *\n * ```javascript\n * // Before v2.0.0\n *\n * distanceInWordsStrict(\n * new Date(1986, 3, 4, 10, 32, 0),\n * new Date(1986, 3, 4, 10, 33, 1),\n * { partialMethod: 'ceil' }\n * ) //=> '2 minutes'\n *\n * // v2.0.0 onward\n *\n * formatDistanceStrict(\n * new Date(1986, 3, 4, 10, 33, 1),\n * new Date(1986, 3, 4, 10, 32, 0),\n * { roundingMethod: 'ceil' }\n * ) //=> '2 minutes'\n * ```\n *\n * - If `roundingMethod` is not specified, it now defaults to `round` instead of `floor`.\n *\n * - `unit` option now accepts one of the strings:\n * 'second', 'minute', 'hour', 'day', 'month' or 'year' instead of 's', 'm', 'h', 'd', 'M' or 'Y'\n *\n * ```javascript\n * // Before v2.0.0\n *\n * distanceInWordsStrict(\n * new Date(1986, 3, 4, 10, 32, 0),\n * new Date(1986, 3, 4, 10, 33, 1),\n * { unit: 'm' }\n * )\n *\n * // v2.0.0 onward\n *\n * formatDistanceStrict(\n * new Date(1986, 3, 4, 10, 33, 1),\n * new Date(1986, 3, 4, 10, 32, 0),\n * { unit: 'minute' }\n * )\n * ```\n *\n * @param {Date|Number} date - the date\n * @param {Date|Number} baseDate - the date to compare with\n * @param {Object} [options] - an object with options.\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {'second'|'minute'|'hour'|'day'|'month'|'year'} [options.unit] - if specified, will force a unit\n * @param {'floor'|'ceil'|'round'} [options.roundingMethod='round'] - which way to round partial units\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @returns {String} the distance in words\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `baseDate` must not be Invalid Date\n * @throws {RangeError} `options.roundingMethod` must be 'floor', 'ceil' or 'round'\n * @throws {RangeError} `options.unit` must be 'second', 'minute', 'hour', 'day', 'month' or 'year'\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * const result = formatDistanceStrict(new Date(2014, 6, 2), new Date(2015, 0, 2))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00?\n * const result = formatDistanceStrict(\n * new Date(2015, 0, 1, 0, 0, 15),\n * new Date(2015, 0, 1, 0, 0, 0)\n * )\n * //=> '15 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * const result = formatDistanceStrict(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n * addSuffix: true\n * })\n * //=> '1 year ago'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, in minutes?\n * const result = formatDistanceStrict(new Date(2016, 0, 1), new Date(2015, 0, 1), {\n * unit: 'minute'\n * })\n * //=> '525600 minutes'\n *\n * @example\n * // What is the distance from 1 January 2015\n * // to 28 January 2015, in months, rounded up?\n * const result = formatDistanceStrict(new Date(2015, 0, 28), new Date(2015, 0, 1), {\n * unit: 'month',\n * roundingMethod: 'ceil'\n * })\n * //=> '1 month'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = formatDistanceStrict(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n * locale: eoLocale\n * })\n * //=> '1 jaro'\n */\n\nexport default function formatDistanceStrict(dirtyDate, dirtyBaseDate) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n requiredArgs(2, arguments);\n var locale = options.locale || defaultLocale;\n\n if (!locale.formatDistance) {\n throw new RangeError('locale must contain localize.formatDistance property');\n }\n\n var comparison = compareAsc(dirtyDate, dirtyBaseDate);\n\n if (isNaN(comparison)) {\n throw new RangeError('Invalid time value');\n }\n\n var localizeOptions = cloneObject(options);\n localizeOptions.addSuffix = Boolean(options.addSuffix);\n localizeOptions.comparison = comparison;\n var dateLeft;\n var dateRight;\n\n if (comparison > 0) {\n dateLeft = toDate(dirtyBaseDate);\n dateRight = toDate(dirtyDate);\n } else {\n dateLeft = toDate(dirtyDate);\n dateRight = toDate(dirtyBaseDate);\n }\n\n var roundingMethod = options.roundingMethod == null ? 'round' : String(options.roundingMethod);\n var roundingMethodFn;\n\n if (roundingMethod === 'floor') {\n roundingMethodFn = Math.floor;\n } else if (roundingMethod === 'ceil') {\n roundingMethodFn = Math.ceil;\n } else if (roundingMethod === 'round') {\n roundingMethodFn = Math.round;\n } else {\n throw new RangeError(\"roundingMethod must be 'floor', 'ceil' or 'round'\");\n }\n\n var milliseconds = dateRight.getTime() - dateLeft.getTime();\n var minutes = milliseconds / MILLISECONDS_IN_MINUTE;\n var timezoneOffset = getTimezoneOffsetInMilliseconds(dateRight) - getTimezoneOffsetInMilliseconds(dateLeft); // Use DST-normalized difference in minutes for years, months and days;\n // use regular difference in minutes for hours, minutes and seconds.\n\n var dstNormalizedMinutes = (milliseconds - timezoneOffset) / MILLISECONDS_IN_MINUTE;\n var unit;\n\n if (options.unit == null) {\n if (minutes < 1) {\n unit = 'second';\n } else if (minutes < 60) {\n unit = 'minute';\n } else if (minutes < MINUTES_IN_DAY) {\n unit = 'hour';\n } else if (dstNormalizedMinutes < MINUTES_IN_MONTH) {\n unit = 'day';\n } else if (dstNormalizedMinutes < MINUTES_IN_YEAR) {\n unit = 'month';\n } else {\n unit = 'year';\n }\n } else {\n unit = String(options.unit);\n } // 0 up to 60 seconds\n\n\n if (unit === 'second') {\n var seconds = roundingMethodFn(milliseconds / 1000);\n return locale.formatDistance('xSeconds', seconds, localizeOptions); // 1 up to 60 mins\n } else if (unit === 'minute') {\n var roundedMinutes = roundingMethodFn(minutes);\n return locale.formatDistance('xMinutes', roundedMinutes, localizeOptions); // 1 up to 24 hours\n } else if (unit === 'hour') {\n var hours = roundingMethodFn(minutes / 60);\n return locale.formatDistance('xHours', hours, localizeOptions); // 1 up to 30 days\n } else if (unit === 'day') {\n var days = roundingMethodFn(dstNormalizedMinutes / MINUTES_IN_DAY);\n return locale.formatDistance('xDays', days, localizeOptions); // 1 up to 12 months\n } else if (unit === 'month') {\n var months = roundingMethodFn(dstNormalizedMinutes / MINUTES_IN_MONTH);\n return months === 12 && options.unit !== 'month' ? locale.formatDistance('xYears', 1, localizeOptions) : locale.formatDistance('xMonths', months, localizeOptions); // 1 year up to max Date\n } else if (unit === 'year') {\n var years = roundingMethodFn(dstNormalizedMinutes / MINUTES_IN_YEAR);\n return locale.formatDistance('xYears', years, localizeOptions);\n }\n\n throw new RangeError(\"unit must be 'second', 'minute', 'hour', 'day', 'month' or 'year'\");\n}","import formatDistanceStrict from \"../formatDistanceStrict/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name formatDistanceToNowStrict\n * @category Common Helpers\n * @summary Return the distance between the given date and now in words.\n * @pure false\n *\n * @description\n * Return the distance between the given dates in words, using strict units.\n * This is like `formatDistance`, but does not use helpers like 'almost', 'over',\n * 'less than' and the like.\n *\n * | Distance between dates | Result |\n * |------------------------|---------------------|\n * | 0 ... 59 secs | [0..59] seconds |\n * | 1 ... 59 mins | [1..59] minutes |\n * | 1 ... 23 hrs | [1..23] hours |\n * | 1 ... 29 days | [1..29] days |\n * | 1 ... 11 months | [1..11] months |\n * | 1 ... N years | [1..N] years |\n *\n * @param {Date|Number} date - the given date\n * @param {Object} [options] - an object with options.\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {'second'|'minute'|'hour'|'day'|'month'|'year'} [options.unit] - if specified, will force a unit\n * @param {'floor'|'ceil'|'round'} [options.roundingMethod='round'] - which way to round partial units\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @returns {String} the distance in words\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\n *\n * @example\n * // If today is 1 January 2015, what is the distance to 2 July 2014?\n * var result = formatDistanceToNowStrict(\n * new Date(2014, 6, 2)\n * )\n * //=> '6 months'\n *\n * @example\n * // If now is 1 January 2015 00:00:00,\n * // what is the distance to 1 January 2015 00:00:15, including seconds?\n * var result = formatDistanceToNowStrict(\n * new Date(2015, 0, 1, 0, 0, 15)\n * )\n * //=> '20 seconds'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 January 2016, with a suffix?\n * var result = formatDistanceToNowStrict(\n * new Date(2016, 0, 1),\n * {addSuffix: true}\n * )\n * //=> 'in 1 year'\n *\n * @example\n * // If today is 28 January 2015,\n * // what is the distance to 1 January 2015, in months, rounded up??\n * var result = formatDistanceToNowStrict(new Date(2015, 0, 1), {\n * unit: 'month',\n * roundingMethod: 'ceil'\n * })\n * //=> '1 month'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 August 2016 in Esperanto?\n * var eoLocale = require('date-fns/locale/eo')\n * var result = formatDistanceToNowStrict(\n * new Date(2016, 7, 1),\n * {locale: eoLocale}\n * )\n * //=> '1 jaro'\n */\n\nexport default function formatDistanceToNowStrict(dirtyDate, dirtyOptions) {\n requiredArgs(1, arguments);\n return formatDistanceStrict(dirtyDate, Date.now(), dirtyOptions);\n}"],"names":["isBrowser","React","__DEV__","useBreakpointValue","values","defaultBreakpoint","_theme$__breakpoints","breakpoint","__breakpoints","useTheme","env","useEnvironment","queries","React__default","_breakpoints$details","details","map","_ref","minMaxQuery","query","replace","_React$useState","fallbackBreakpointDetail","find","_ref2","window","matchMedia","matchingBreakpointDetail","_ref3","matches","currentBreakpoint","setCurrentBreakpoint","allUnregisterFns","_ref4","mediaQueryList","handleChange","ev","addEventListener","addListener","removeEventListener","removeListener","forEach","unregister","useBreakpoint","theme","breakpoints","Array","from","keys","breakpoints$1","index","Object","indexOf","stopIndex","getClosestValue","isArray","fromEntries","entries","arrayToObjectNotation","_extends","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","_createContext","createContext","name","errorMessage","PopoverProvider","usePopoverContext","mergeVariants","variants","mergeWith","enter","visibility","exit","transitionEnd","Section","motion","chakra","PopoverTransition","props","ref","isOpen","initial","animate","defaultProps","opacity","scale","transition","duration","ease","_excluded$1","TRIGGER","_excluded","_excluded2","Popover","styles","useMultiStyleConfig","_omitThemingProps","omitThemingProps","children","context","_props","_props$closeOnBlur","closeOnBlur","_props$closeOnEsc","closeOnEsc","initialFocusRef","id","_props$returnFocusOnC","returnFocusOnClose","_props$autoFocus","autoFocus","arrowSize","arrowShadowColor","_props$trigger","trigger","_props$openDelay","openDelay","_props$closeDelay","closeDelay","isLazy","_props$lazyBehavior","lazyBehavior","computePositionOnMount","popperProps","_useDisclosure","useDisclosure","onClose","onOpen","onToggle","anchorRef","useRef","triggerRef","popoverRef","isHoveringRef","hasBeenOpened","current","_useState","useState","hasHeader","setHasHeader","_useState2","hasBody","setHasBody","_useIds","useIds","triggerId","popoverId","headerId","bodyId","_usePopper","usePopper","enabled","referenceRef","getArrowProps","getPopperProps","getArrowInnerProps","forceUpdate","animated","useAnimationState","useFocusOnPointerDown","useFocusOnHide","focusRef","visible","shouldFocus","useFocusOnShow","shouldRenderChildren","determineLazyBehavior","hasBeenSelected","isSelected","present","getPopoverProps","useCallback","_extends2","popoverProps","style","transformOrigin","popperCSSVars","px","undefined","mergeRefs","tabIndex","role","onKeyDown","callAllHandlers","event","onBlur","relatedTarget","getRelatedTarget","targetIsPopover","contains","targetIsTrigger","onMouseEnter","onMouseLeave","setTimeout","getPopoverPositionerProps","forwardedRef","getAnchorProps","openTimeout","closeTimeout","maybeReferenceRef","node","getTriggerProps","triggerProps","onClick","onFocus","isValidBlur","clearTimeout","useEffect","getHeaderProps","getBodyProps","onAnimationComplete","onComplete","usePopover","direction","value","StylesProvider","runIfFn","displayName","PopoverTrigger","child","PopoverContent","forwardRef","rootProps","contentProps","_usePopoverContext3","useStyles","contentStyles","position","display","flexDirection","content","__css","popper","className","callAll","cx","PopoverHeader","header","PopoverBody","body","PopoverArrow","bg","bgColor","backgroundColor","_usePopoverContext7","arrowBg","arrow","_excluded$3","_excluded$2","strict","RadioGroupProvider","useRadioGroupContext","RadioGroup","colorScheme","size","variant","isDisabled","isFocusable","_useRadioGroup","onChangeProp","onChange","valueProp","defaultValue","nameProp","isNative","htmlProps","valueState","setValue","_useControllableProp","useControllableProp","isControlled","focus","rootNode","firstEnabledAndCheckedInput","querySelector","firstEnabledInput","fallbackName","useId","eventOrValue","nextValue","isInputEvent","String","getRootProps","getRadioProps","useRadioGroup","group","groupProps","_className","stop","preventDefault","stopPropagation","Radio","_props$name","ownProps","_ownProps$spacing","spacing","isFullWidth","_ownProps$isDisabled","_ownProps$isFocusable","htmlInputProps","inputProps","rest","isChecked","_useRadio","defaultIsChecked","_props$defaultChecked","defaultChecked","isCheckedProp","isDisabledProp","isReadOnlyProp","isReadOnly","isRequiredProp","isRequired","isInvalidProp","isInvalid","idProp","dataRadioGroup","ariaDescribedBy","uuid","formControl","useFormControlContext","_useBoolean","useBoolean","isFocused","setFocused","_useBoolean2","isHovered","setHovering","_useBoolean3","isActive","setActive","Boolean","isCheckedState","setChecked","warn","condition","message","checked","on","onKeyUp","off","dataAttr","onMouseDown","onMouseUp","getInputProps","trulyDisabled","type","disabled","readOnly","required","ariaAttr","visuallyHiddenStyle","state","getCheckboxProps","getLabelProps","onTouchStart","useRadio","_split","split","layoutPropNames","layoutProps","checkboxProps","labelProps","rootStyles","width","alignItems","verticalAlign","cursor","container","checkboxStyles","justifyContent","flexShrink","control","labelStyles","userSelect","marginStart","label","compareAsc","dirtyDateLeft","dirtyDateRight","requiredArgs","dateLeft","toDate","dateRight","diff","getTime","cloneObject","dirtyObject","TypeError","property","MILLISECONDS_IN_MINUTE","MINUTES_IN_DAY","MINUTES_IN_MONTH","MINUTES_IN_YEAR","formatDistanceStrict","dirtyDate","dirtyBaseDate","options","locale","defaultLocale","formatDistance","RangeError","comparison","isNaN","localizeOptions","addSuffix","roundingMethodFn","roundingMethod","Math","floor","ceil","round","unit","milliseconds","minutes","timezoneOffset","getTimezoneOffsetInMilliseconds","dstNormalizedMinutes","seconds","roundedMinutes","hours","days","months","years","formatDistanceToNowStrict","dirtyOptions","Date","now"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunkconstruct_hub_webapp=self.webpackChunkconstruct_hub_webapp||[]).push([[225],{13822:function(e,n,t){t.d(n,{OK:function(){return S},mQ:function(){return z},nP:function(){return Z},td:function(){return k},x4:function(){return M}});var r=t(63209),a=t(96134),i=t(72791),o=t(55336),s=t(4562),u=t(65223),c=t(8185),l=t(29611);function d(){return d=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},d.apply(this,arguments)}function f(e,n){if(null==e)return{};var t,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}var m=["defaultIndex","onChange","index","isManual","isLazy","lazyBehavior","orientation","direction"],v=["isDisabled","isFocusable"],h=["isSelected","id","children"],b=(0,s.n)(),p=b[0],y=b[1],x=b[2],g=b[3];var w=(0,l.kr)({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within <Tabs />"}),_=w[0],T=w[1];function E(e,n){return e+"--tab-"+n}function N(e,n){return e+"--tabpanel-"+n}var D=["children","className"],I=["htmlProps","descendants"],z=(0,r.Gp)((function(e,n){var t=(0,r.jC)("Tabs",e),o=(0,r.Lr)(e),s=o.children,c=o.className,l=function(e){var n=e.defaultIndex,t=e.onChange,r=e.index,a=e.isManual,o=e.isLazy,s=e.lazyBehavior,c=void 0===s?"unmount":s,l=e.orientation,d=void 0===l?"horizontal":l,v=e.direction,h=void 0===v?"ltr":v,b=f(e,m),p=i.useState(null!=n?n:0),y=p[0],g=p[1],w=(0,u.Tx)({defaultValue:null!=n?n:0,value:r,onChange:t}),_=w[0],T=w[1];i.useEffect((function(){null!=r&&g(r)}),[r]);var E=x();return{id:(0,u.Me)(e.id,"tabs"),selectedIndex:_,focusedIndex:y,setSelectedIndex:T,setFocusedIndex:g,isManual:a,isLazy:o,lazyBehavior:c,orientation:d,descendants:E,direction:h,htmlProps:b}}(f(o,D)),v=l.htmlProps,h=l.descendants,b=f(l,I),y=i.useMemo((function(){return b}),[b]),g=(0,a.CE)(v,["isFitted"]);return i.createElement(p,{value:h},i.createElement(_,{value:y},i.createElement(r.Fo,{value:t},i.createElement(r.m$.div,d({className:(0,a.cx)("chakra-tabs",c),ref:n},g,{__css:t.root}),s))))}));a.Ts&&(z.displayName="Tabs");var S=(0,r.Gp)((function(e,n){var t=(0,r.yK)(),s=function(e){var n=e.isDisabled,t=e.isFocusable,r=f(e,v),i=T(),s=i.setSelectedIndex,u=i.isManual,c=i.id,m=i.setFocusedIndex,h=i.selectedIndex,b=g({disabled:n&&!t}),p=b.index,y=b.register,x=p===h,w=(0,o.h)(d({},r,{ref:(0,l.lq)(y,e.ref),isDisabled:n,isFocusable:t,onClick:(0,a.v0)(e.onClick,(function(){s(p)}))}));return d({},w,{id:E(c,p),role:"tab",tabIndex:x?0:-1,type:"button","aria-selected":x,"aria-controls":N(c,p),onFocus:n?void 0:(0,a.v0)(e.onFocus,(function(){m(p),!u&&(!n||!t)&&s(p)}))})}(d({},e,{ref:n})),u=d({outline:"0",display:"flex",alignItems:"center",justifyContent:"center"},t.tab);return i.createElement(r.m$.button,d({},s,{className:(0,a.cx)("chakra-tabs__tab",e.className),__css:u}))}));a.Ts&&(S.displayName="Tab");var k=(0,r.Gp)((function(e,n){var t=function(e){var n=T(),t=n.focusedIndex,r=n.orientation,o=n.direction,s=y(),u=i.useCallback((function(e){var n,i=function(){var e=s.nextEnabled(t);e&&(0,a.T_)(e.node)},u=function(){var e=s.prevEnabled(t);e&&(0,a.T_)(e.node)},c="horizontal"===r,l="vertical"===r,d=(0,a.uh)(e),f="ltr"===o?"ArrowRight":"ArrowLeft",m=((n={})["ltr"===o?"ArrowLeft":"ArrowRight"]=function(){return c&&u()},n[f]=function(){return c&&i()},n.ArrowDown=function(){return l&&i()},n.ArrowUp=function(){return l&&u()},n.Home=function(){var e=s.firstEnabled();e&&(0,a.T_)(e.node)},n.End=function(){var e=s.lastEnabled();e&&(0,a.T_)(e.node)},n)[d];m&&(e.preventDefault(),m(e))}),[s,t,r,o]);return d({},e,{role:"tablist","aria-orientation":r,onKeyDown:(0,a.v0)(e.onKeyDown,u)})}(d({},e,{ref:n})),o=d({display:"flex"},(0,r.yK)().tablist);return i.createElement(r.m$.div,d({},t,{className:(0,a.cx)("chakra-tabs__tablist",e.className),__css:o}))}));a.Ts&&(k.displayName="TabList");var M=(0,r.Gp)((function(e,n){var t=function(e){var n=e.isSelected,t=e.id,r=e.children,o=f(e,h),s=T(),u=s.isLazy,c=s.lazyBehavior,l=i.useRef(!1);return n&&(l.current=!0),d({tabIndex:0},o,{children:(0,a.VI)({hasBeenSelected:l.current,isSelected:n,isLazy:u,lazyBehavior:c})?r:null,role:"tabpanel",hidden:!n,id:t})}(d({},e,{ref:n})),o=(0,r.yK)();return i.createElement(r.m$.div,d({outline:"0"},t,{className:(0,a.cx)("chakra-tabs__tab-panel",e.className),__css:o.tabpanel}))}));a.Ts&&(M.displayName="TabPanel");var Z=(0,r.Gp)((function(e,n){var t=function(e){var n=T(),t=n.id,r=n.selectedIndex;return d({},e,{children:(0,l.WR)(e.children).map((function(e,n){return i.cloneElement(e,{isSelected:n===r,id:N(t,n),"aria-labelledby":E(t,n)})}))})}(e),o=(0,r.yK)();return i.createElement(r.m$.div,d({},t,{width:"100%",ref:n,className:(0,a.cx)("chakra-tabs__tab-panels",e.className),__css:o.tabpanels}))}));a.Ts&&(Z.displayName="TabPanels");var C=(0,r.Gp)((function(e,n){var t=function(){var e=T(),n=y(),t=e.selectedIndex,r=e.orientation,o="horizontal"===r,s="vertical"===r,u=i.useState((function(){return o?{left:0,width:0}:s?{top:0,height:0}:void 0})),l=u[0],f=u[1],m=i.useState(!1),v=m[0],h=m[1];return(0,c.a)((function(){if(!(0,a.o8)(t)){var e=n.item(t);if(!(0,a.o8)(e)){o&&f({left:e.node.offsetLeft,width:e.node.offsetWidth}),s&&f({top:e.node.offsetTop,height:e.node.offsetHeight});var r=requestAnimationFrame((function(){h(!0)}));return function(){r&&cancelAnimationFrame(r)}}}}),[t,o,s,n]),d({position:"absolute",transitionProperty:"left, right, top, bottom, height, width",transitionDuration:v?"200ms":"0ms",transitionTimingFunction:"cubic-bezier(0, 0, 0.2, 1)"},l)}(),o=d({},e.style,t),s=(0,r.yK)();return i.createElement(r.m$.div,d({ref:n},e,{className:(0,a.cx)("chakra-tabs__tab-indicator",e.className),style:o,__css:s.indicator}))}));a.Ts&&(C.displayName="TabIndicator")},11853:function(e,n,t){t.d(n,{Z:function(){return v}});var r=t(4697),a=t(38527),i=t(4522);function o(e,n){(0,i.Z)(2,arguments);var t=(0,a.Z)(e),r=(0,a.Z)(n),o=t.getTime()-r.getTime();return o<0?-1:o>0?1:o}function s(e){return function(e,n){if(null==e)throw new TypeError("assign requires that input parameter not be null or undefined");for(var t in n=n||{})Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e}({},e)}var u=t(56704),c=6e4,l=1440,d=43200,f=525600;function m(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,i.Z)(2,arguments);var m=t.locale||u.Z;if(!m.formatDistance)throw new RangeError("locale must contain localize.formatDistance property");var v=o(e,n);if(isNaN(v))throw new RangeError("Invalid time value");var h,b,p=s(t);p.addSuffix=Boolean(t.addSuffix),p.comparison=v,v>0?(h=(0,a.Z)(n),b=(0,a.Z)(e)):(h=(0,a.Z)(e),b=(0,a.Z)(n));var y,x=null==t.roundingMethod?"round":String(t.roundingMethod);if("floor"===x)y=Math.floor;else if("ceil"===x)y=Math.ceil;else{if("round"!==x)throw new RangeError("roundingMethod must be 'floor', 'ceil' or 'round'");y=Math.round}var g,w=b.getTime()-h.getTime(),_=w/c,T=(0,r.Z)(b)-(0,r.Z)(h),E=(w-T)/c;if("second"===(g=null==t.unit?_<1?"second":_<60?"minute":_<l?"hour":E<d?"day":E<f?"month":"year":String(t.unit))){var N=y(w/1e3);return m.formatDistance("xSeconds",N,p)}if("minute"===g){var D=y(_);return m.formatDistance("xMinutes",D,p)}if("hour"===g){var I=y(_/60);return m.formatDistance("xHours",I,p)}if("day"===g){var z=y(E/l);return m.formatDistance("xDays",z,p)}if("month"===g){var S=y(E/d);return 12===S&&"month"!==t.unit?m.formatDistance("xYears",1,p):m.formatDistance("xMonths",S,p)}if("year"===g){var k=y(E/f);return m.formatDistance("xYears",k,p)}throw new RangeError("unit must be 'second', 'minute', 'hour', 'day', 'month' or 'year'")}function v(e,n){return(0,i.Z)(1,arguments),m(e,Date.now(),n)}},30168:function(e,n,t){function r(e,n){return n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))}t.d(n,{Z:function(){return r}})}}]);
2
+ //# sourceMappingURL=225.36a236f9.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/js/225.36a236f9.chunk.js","mappings":"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","sources":["../node_modules/@chakra-ui/tabs/dist/chakra-ui-tabs.esm.js","../node_modules/date-fns/esm/compareAsc/index.js","../node_modules/date-fns/esm/_lib/cloneObject/index.js","../node_modules/date-fns/esm/_lib/assign/index.js","../node_modules/date-fns/esm/formatDistanceStrict/index.js","../node_modules/date-fns/esm/formatDistanceToNowStrict/index.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js"],"sourcesContent":["import { forwardRef, useMultiStyleConfig, omitThemingProps, StylesProvider, chakra, useStyles } from '@chakra-ui/system';\nimport { normalizeEventKey, callAllHandlers, determineLazyBehavior, isUndefined, focus, omit, cx, __DEV__ } from '@chakra-ui/utils';\nimport * as React from 'react';\nimport { useClickable } from '@chakra-ui/clickable';\nimport { createDescendantContext } from '@chakra-ui/descendant';\nimport { useControllableState, useId, useSafeLayoutEffect } from '@chakra-ui/hooks';\nimport { createContext, mergeRefs, getValidChildren } from '@chakra-ui/react-utils';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar _excluded$1 = [\"defaultIndex\", \"onChange\", \"index\", \"isManual\", \"isLazy\", \"lazyBehavior\", \"orientation\", \"direction\"],\n _excluded2$1 = [\"isDisabled\", \"isFocusable\"],\n _excluded3 = [\"isSelected\", \"id\", \"children\"];\n/* -------------------------------------------------------------------------------------------------\n * Create context to track descendants and their indices\n * -----------------------------------------------------------------------------------------------*/\n\nvar _createDescendantCont = createDescendantContext(),\n TabsDescendantsProvider = _createDescendantCont[0],\n useTabsDescendantsContext = _createDescendantCont[1],\n useTabsDescendants = _createDescendantCont[2],\n useTabsDescendant = _createDescendantCont[3];\n\n/**\n * Tabs hooks that provides all the states, and accessibility\n * helpers to keep all things working properly.\n *\n * Its returned object will be passed unto a Context Provider\n * so all child components can read from it.\n * There is no document link yet\n * @see Docs https://chakra-ui.com/docs/components/useTabs\n */\nfunction useTabs(props) {\n var defaultIndex = props.defaultIndex,\n onChange = props.onChange,\n index = props.index,\n isManual = props.isManual,\n isLazy = props.isLazy,\n _props$lazyBehavior = props.lazyBehavior,\n lazyBehavior = _props$lazyBehavior === void 0 ? \"unmount\" : _props$lazyBehavior,\n _props$orientation = props.orientation,\n orientation = _props$orientation === void 0 ? \"horizontal\" : _props$orientation,\n _props$direction = props.direction,\n direction = _props$direction === void 0 ? \"ltr\" : _props$direction,\n htmlProps = _objectWithoutPropertiesLoose(props, _excluded$1);\n /**\n * We use this to keep track of the index of the focused tab.\n *\n * Tabs can be automatically activated, this means selection follows focus.\n * When we navigate with the arrow keys, we move focus and selection to next/prev tab\n *\n * Tabs can also be manually activated, this means selection does not follow focus.\n * When we navigate with the arrow keys, we only move focus NOT selection. The user\n * will need not manually activate the tab using `Enter` or `Space`.\n *\n * This is why we need to keep track of the `focusedIndex` and `selectedIndex`\n */\n\n\n var _React$useState = React.useState(defaultIndex != null ? defaultIndex : 0),\n focusedIndex = _React$useState[0],\n setFocusedIndex = _React$useState[1];\n\n var _useControllableState = useControllableState({\n defaultValue: defaultIndex != null ? defaultIndex : 0,\n value: index,\n onChange: onChange\n }),\n selectedIndex = _useControllableState[0],\n setSelectedIndex = _useControllableState[1];\n /**\n * Sync focused `index` with controlled `selectedIndex` (which is the `props.index`)\n */\n\n\n React.useEffect(function () {\n if (index != null) {\n setFocusedIndex(index);\n }\n }, [index]);\n /**\n * Think of `useDescendants` as a register for the tab nodes.\n */\n\n var descendants = useTabsDescendants();\n /**\n * Generate a unique id or use user-provided id for the tabs widget\n */\n\n var id = useId(props.id, \"tabs\");\n return {\n id: id,\n selectedIndex: selectedIndex,\n focusedIndex: focusedIndex,\n setSelectedIndex: setSelectedIndex,\n setFocusedIndex: setFocusedIndex,\n isManual: isManual,\n isLazy: isLazy,\n lazyBehavior: lazyBehavior,\n orientation: orientation,\n descendants: descendants,\n direction: direction,\n htmlProps: htmlProps\n };\n}\n\nvar _createContext = createContext({\n name: \"TabsContext\",\n errorMessage: \"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within <Tabs />\"\n}),\n TabsProvider = _createContext[0],\n useTabsContext = _createContext[1];\n\n/**\n * Tabs hook to manage multiple tab buttons,\n * and ensures only one tab is selected per time.\n *\n * @param props props object for the tablist\n */\nfunction useTabList(props) {\n var _useTabsContext = useTabsContext(),\n focusedIndex = _useTabsContext.focusedIndex,\n orientation = _useTabsContext.orientation,\n direction = _useTabsContext.direction;\n\n var descendants = useTabsDescendantsContext();\n var onKeyDown = React.useCallback(function (event) {\n var _keyMap;\n\n var nextTab = function nextTab() {\n var next = descendants.nextEnabled(focusedIndex);\n if (next) focus(next.node);\n };\n\n var prevTab = function prevTab() {\n var prev = descendants.prevEnabled(focusedIndex);\n if (prev) focus(prev.node);\n };\n\n var firstTab = function firstTab() {\n var first = descendants.firstEnabled();\n if (first) focus(first.node);\n };\n\n var lastTab = function lastTab() {\n var last = descendants.lastEnabled();\n if (last) focus(last.node);\n };\n\n var isHorizontal = orientation === \"horizontal\";\n var isVertical = orientation === \"vertical\";\n var eventKey = normalizeEventKey(event);\n var ArrowStart = direction === \"ltr\" ? \"ArrowLeft\" : \"ArrowRight\";\n var ArrowEnd = direction === \"ltr\" ? \"ArrowRight\" : \"ArrowLeft\";\n var keyMap = (_keyMap = {}, _keyMap[ArrowStart] = function () {\n return isHorizontal && prevTab();\n }, _keyMap[ArrowEnd] = function () {\n return isHorizontal && nextTab();\n }, _keyMap.ArrowDown = function ArrowDown() {\n return isVertical && nextTab();\n }, _keyMap.ArrowUp = function ArrowUp() {\n return isVertical && prevTab();\n }, _keyMap.Home = firstTab, _keyMap.End = lastTab, _keyMap);\n var action = keyMap[eventKey];\n\n if (action) {\n event.preventDefault();\n action(event);\n }\n }, [descendants, focusedIndex, orientation, direction]);\n return _extends({}, props, {\n role: \"tablist\",\n \"aria-orientation\": orientation,\n onKeyDown: callAllHandlers(props.onKeyDown, onKeyDown)\n });\n}\n\n/**\n * Tabs hook to manage each tab button.\n *\n * A tab can be disabled and focusable, or both,\n * hence the use of `useClickable` to handle this scenario\n */\nfunction useTab(props) {\n var isDisabled = props.isDisabled,\n isFocusable = props.isFocusable,\n htmlProps = _objectWithoutPropertiesLoose(props, _excluded2$1);\n\n var _useTabsContext2 = useTabsContext(),\n setSelectedIndex = _useTabsContext2.setSelectedIndex,\n isManual = _useTabsContext2.isManual,\n id = _useTabsContext2.id,\n setFocusedIndex = _useTabsContext2.setFocusedIndex,\n selectedIndex = _useTabsContext2.selectedIndex;\n\n var _useTabsDescendant = useTabsDescendant({\n disabled: isDisabled && !isFocusable\n }),\n index = _useTabsDescendant.index,\n register = _useTabsDescendant.register;\n\n var isSelected = index === selectedIndex;\n\n var onClick = function onClick() {\n setSelectedIndex(index);\n };\n\n var onFocus = function onFocus() {\n setFocusedIndex(index);\n var isDisabledButFocusable = isDisabled && isFocusable;\n var shouldSelect = !isManual && !isDisabledButFocusable;\n\n if (shouldSelect) {\n setSelectedIndex(index);\n }\n };\n\n var clickableProps = useClickable(_extends({}, htmlProps, {\n ref: mergeRefs(register, props.ref),\n isDisabled: isDisabled,\n isFocusable: isFocusable,\n onClick: callAllHandlers(props.onClick, onClick)\n }));\n var type = \"button\";\n return _extends({}, clickableProps, {\n id: makeTabId(id, index),\n role: \"tab\",\n tabIndex: isSelected ? 0 : -1,\n type: type,\n \"aria-selected\": isSelected,\n \"aria-controls\": makeTabPanelId(id, index),\n onFocus: isDisabled ? undefined : callAllHandlers(props.onFocus, onFocus)\n });\n}\n\n/**\n * Tabs hook for managing the visibility of multiple tab panels.\n *\n * Since only one panel can be show at a time, we use `cloneElement`\n * to inject `selected` panel to each TabPanel.\n *\n * It returns a cloned version of its children with\n * all functionality included.\n */\nfunction useTabPanels(props) {\n var context = useTabsContext();\n var id = context.id,\n selectedIndex = context.selectedIndex;\n var validChildren = getValidChildren(props.children);\n var children = validChildren.map(function (child, index) {\n return /*#__PURE__*/React.cloneElement(child, {\n isSelected: index === selectedIndex,\n id: makeTabPanelId(id, index),\n // Refers to the associated tab element, and also provides an accessible name to the tab panel.\n \"aria-labelledby\": makeTabId(id, index)\n });\n });\n return _extends({}, props, {\n children: children\n });\n}\n/**\n * Tabs hook for managing the visible/hidden states\n * of the tab panel.\n *\n * @param props props object for the tab panel\n */\n\nfunction useTabPanel(props) {\n var isSelected = props.isSelected,\n id = props.id,\n children = props.children,\n htmlProps = _objectWithoutPropertiesLoose(props, _excluded3);\n\n var _useTabsContext3 = useTabsContext(),\n isLazy = _useTabsContext3.isLazy,\n lazyBehavior = _useTabsContext3.lazyBehavior;\n\n var hasBeenSelected = React.useRef(false);\n\n if (isSelected) {\n hasBeenSelected.current = true;\n }\n\n var shouldRenderChildren = determineLazyBehavior({\n hasBeenSelected: hasBeenSelected.current,\n isSelected: isSelected,\n isLazy: isLazy,\n lazyBehavior: lazyBehavior\n });\n return _extends({\n // Puts the tabpanel in the page `Tab` sequence.\n tabIndex: 0\n }, htmlProps, {\n children: shouldRenderChildren ? children : null,\n role: \"tabpanel\",\n hidden: !isSelected,\n id: id\n });\n}\n/**\n * Tabs hook to show an animated indicators that\n * follows the active tab.\n *\n * The way we do it is by measuring the DOM Rect (or dimensions)\n * of the active tab, and return that as CSS style for\n * the indicator.\n */\n\nfunction useTabIndicator() {\n var context = useTabsContext();\n var descendants = useTabsDescendantsContext();\n var selectedIndex = context.selectedIndex,\n orientation = context.orientation;\n var isHorizontal = orientation === \"horizontal\";\n var isVertical = orientation === \"vertical\"; // Get the clientRect of the selected tab\n\n var _React$useState2 = React.useState(function () {\n if (isHorizontal) return {\n left: 0,\n width: 0\n };\n if (isVertical) return {\n top: 0,\n height: 0\n };\n return undefined;\n }),\n rect = _React$useState2[0],\n setRect = _React$useState2[1];\n\n var _React$useState3 = React.useState(false),\n hasMeasured = _React$useState3[0],\n setHasMeasured = _React$useState3[1]; // Update the selected tab rect when the selectedIndex changes\n\n\n useSafeLayoutEffect(function () {\n if (isUndefined(selectedIndex)) return undefined;\n var tab = descendants.item(selectedIndex);\n if (isUndefined(tab)) return undefined; // Horizontal Tab: Calculate width and left distance\n\n if (isHorizontal) {\n setRect({\n left: tab.node.offsetLeft,\n width: tab.node.offsetWidth\n });\n } // Vertical Tab: Calculate height and top distance\n\n\n if (isVertical) {\n setRect({\n top: tab.node.offsetTop,\n height: tab.node.offsetHeight\n });\n } // Prevent unwanted transition from 0 to measured rect\n // by setting the measured state in the next tick\n\n\n var id = requestAnimationFrame(function () {\n setHasMeasured(true);\n });\n return function () {\n if (id) {\n cancelAnimationFrame(id);\n }\n };\n }, [selectedIndex, isHorizontal, isVertical, descendants]);\n return _extends({\n position: \"absolute\",\n transitionProperty: \"left, right, top, bottom, height, width\",\n transitionDuration: hasMeasured ? \"200ms\" : \"0ms\",\n transitionTimingFunction: \"cubic-bezier(0, 0, 0.2, 1)\"\n }, rect);\n}\n\nfunction makeTabId(id, index) {\n return id + \"--tab-\" + index;\n}\n\nfunction makeTabPanelId(id, index) {\n return id + \"--tabpanel-\" + index;\n}\n\nvar _excluded = [\"children\", \"className\"],\n _excluded2 = [\"htmlProps\", \"descendants\"];\n\n/**\n * Tabs\n *\n * Provides context and logic for all tabs components.\n */\nvar Tabs = /*#__PURE__*/forwardRef(function (props, ref) {\n var styles = useMultiStyleConfig(\"Tabs\", props);\n\n var _omitThemingProps = omitThemingProps(props),\n children = _omitThemingProps.children,\n className = _omitThemingProps.className,\n rest = _objectWithoutPropertiesLoose(_omitThemingProps, _excluded);\n\n var _useTabs = useTabs(rest),\n htmlProps = _useTabs.htmlProps,\n descendants = _useTabs.descendants,\n ctx = _objectWithoutPropertiesLoose(_useTabs, _excluded2);\n\n var context = React.useMemo(function () {\n return ctx;\n }, [ctx]);\n var rootProps = omit(htmlProps, [\"isFitted\"]);\n return /*#__PURE__*/React.createElement(TabsDescendantsProvider, {\n value: descendants\n }, /*#__PURE__*/React.createElement(TabsProvider, {\n value: context\n }, /*#__PURE__*/React.createElement(StylesProvider, {\n value: styles\n }, /*#__PURE__*/React.createElement(chakra.div, _extends({\n className: cx(\"chakra-tabs\", className),\n ref: ref\n }, rootProps, {\n __css: styles.root\n }), children))));\n});\n\nif (__DEV__) {\n Tabs.displayName = \"Tabs\";\n}\n\n/**\n * Tab button used to activate a specific tab panel. It renders a `button`,\n * and is responsible for automatic and manual selection modes.\n */\nvar Tab = /*#__PURE__*/forwardRef(function (props, ref) {\n var styles = useStyles();\n var tabProps = useTab(_extends({}, props, {\n ref: ref\n }));\n\n var tabStyles = _extends({\n outline: \"0\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n }, styles.tab);\n\n return /*#__PURE__*/React.createElement(chakra.button, _extends({}, tabProps, {\n className: cx(\"chakra-tabs__tab\", props.className),\n __css: tabStyles\n }));\n});\n\nif (__DEV__) {\n Tab.displayName = \"Tab\";\n}\n\n/**\n * TabList is used to manage a list of tab buttons. It renders a `div` by default,\n * and is responsible the keyboard interaction between tabs.\n */\nvar TabList = /*#__PURE__*/forwardRef(function (props, ref) {\n var tablistProps = useTabList(_extends({}, props, {\n ref: ref\n }));\n var styles = useStyles();\n\n var tablistStyles = _extends({\n display: \"flex\"\n }, styles.tablist);\n\n return /*#__PURE__*/React.createElement(chakra.div, _extends({}, tablistProps, {\n className: cx(\"chakra-tabs__tablist\", props.className),\n __css: tablistStyles\n }));\n});\n\nif (__DEV__) {\n TabList.displayName = \"TabList\";\n}\n\n/**\n * TabPanel\n * Used to render the content for a specific tab.\n */\nvar TabPanel = /*#__PURE__*/forwardRef(function (props, ref) {\n var panelProps = useTabPanel(_extends({}, props, {\n ref: ref\n }));\n var styles = useStyles();\n return /*#__PURE__*/React.createElement(chakra.div, _extends({\n outline: \"0\"\n }, panelProps, {\n className: cx(\"chakra-tabs__tab-panel\", props.className),\n __css: styles.tabpanel\n }));\n});\n\nif (__DEV__) {\n TabPanel.displayName = \"TabPanel\";\n}\n\n/**\n * TabPanel\n *\n * Used to manage the rendering of multiple tab panels. It uses\n * `cloneElement` to hide/show tab panels.\n *\n * It renders a `div` by default.\n */\nvar TabPanels = /*#__PURE__*/forwardRef(function (props, ref) {\n var panelsProps = useTabPanels(props);\n var styles = useStyles();\n return /*#__PURE__*/React.createElement(chakra.div, _extends({}, panelsProps, {\n width: \"100%\",\n ref: ref,\n className: cx(\"chakra-tabs__tab-panels\", props.className),\n __css: styles.tabpanels\n }));\n});\n\nif (__DEV__) {\n TabPanels.displayName = \"TabPanels\";\n}\n\n/**\n * TabIndicator\n *\n * Used to render an active tab indicator that animates between\n * selected tabs.\n */\nvar TabIndicator = /*#__PURE__*/forwardRef(function (props, ref) {\n var indicatorStyle = useTabIndicator();\n\n var style = _extends({}, props.style, indicatorStyle);\n\n var styles = useStyles();\n return /*#__PURE__*/React.createElement(chakra.div, _extends({\n ref: ref\n }, props, {\n className: cx(\"chakra-tabs__tab-indicator\", props.className),\n style: style,\n __css: styles.indicator\n }));\n});\n\nif (__DEV__) {\n TabIndicator.displayName = \"TabIndicator\";\n}\n\nexport { Tab, TabIndicator, TabList, TabPanel, TabPanels, Tabs, TabsDescendantsProvider, TabsProvider, useTab, useTabIndicator, useTabList, useTabPanel, useTabPanels, useTabs, useTabsContext, useTabsDescendant, useTabsDescendants, useTabsDescendantsContext };\n","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * const result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * // Wed Feb 11 1987 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Sun Jul 02 1995 00:00:00\n * // ]\n */\n\nexport default function compareAsc(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var diff = dateLeft.getTime() - dateRight.getTime();\n\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1; // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}","import assign from \"../assign/index.js\";\nexport default function cloneObject(dirtyObject) {\n return assign({}, dirtyObject);\n}","export default function assign(target, dirtyObject) {\n if (target == null) {\n throw new TypeError('assign requires that input parameter not be null or undefined');\n }\n\n dirtyObject = dirtyObject || {};\n\n for (var property in dirtyObject) {\n if (Object.prototype.hasOwnProperty.call(dirtyObject, property)) {\n target[property] = dirtyObject[property];\n }\n }\n\n return target;\n}","import getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport compareAsc from \"../compareAsc/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport cloneObject from \"../_lib/cloneObject/index.js\";\nimport defaultLocale from \"../locale/en-US/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_MINUTE = 1000 * 60;\nvar MINUTES_IN_DAY = 60 * 24;\nvar MINUTES_IN_MONTH = MINUTES_IN_DAY * 30;\nvar MINUTES_IN_YEAR = MINUTES_IN_DAY * 365;\n/**\n * @name formatDistanceStrict\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words, using strict units.\n * This is like `formatDistance`, but does not use helpers like 'almost', 'over',\n * 'less than' and the like.\n *\n * | Distance between dates | Result |\n * |------------------------|---------------------|\n * | 0 ... 59 secs | [0..59] seconds |\n * | 1 ... 59 mins | [1..59] minutes |\n * | 1 ... 23 hrs | [1..23] hours |\n * | 1 ... 29 days | [1..29] days |\n * | 1 ... 11 months | [1..11] months |\n * | 1 ... N years | [1..N] years |\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `distanceInWordsStrict` to `formatDistanceStrict`\n * to make its name consistent with `format` and `formatRelative`.\n *\n * - The order of arguments is swapped to make the function\n * consistent with `differenceIn...` functions.\n *\n * ```javascript\n * // Before v2.0.0\n *\n * distanceInWordsStrict(\n * new Date(2015, 0, 2),\n * new Date(2014, 6, 2)\n * ) //=> '6 months'\n *\n * // v2.0.0 onward\n *\n * formatDistanceStrict(\n * new Date(2014, 6, 2),\n * new Date(2015, 0, 2)\n * ) //=> '6 months'\n * ```\n *\n * - `partialMethod` option is renamed to `roundingMethod`.\n *\n * ```javascript\n * // Before v2.0.0\n *\n * distanceInWordsStrict(\n * new Date(1986, 3, 4, 10, 32, 0),\n * new Date(1986, 3, 4, 10, 33, 1),\n * { partialMethod: 'ceil' }\n * ) //=> '2 minutes'\n *\n * // v2.0.0 onward\n *\n * formatDistanceStrict(\n * new Date(1986, 3, 4, 10, 33, 1),\n * new Date(1986, 3, 4, 10, 32, 0),\n * { roundingMethod: 'ceil' }\n * ) //=> '2 minutes'\n * ```\n *\n * - If `roundingMethod` is not specified, it now defaults to `round` instead of `floor`.\n *\n * - `unit` option now accepts one of the strings:\n * 'second', 'minute', 'hour', 'day', 'month' or 'year' instead of 's', 'm', 'h', 'd', 'M' or 'Y'\n *\n * ```javascript\n * // Before v2.0.0\n *\n * distanceInWordsStrict(\n * new Date(1986, 3, 4, 10, 32, 0),\n * new Date(1986, 3, 4, 10, 33, 1),\n * { unit: 'm' }\n * )\n *\n * // v2.0.0 onward\n *\n * formatDistanceStrict(\n * new Date(1986, 3, 4, 10, 33, 1),\n * new Date(1986, 3, 4, 10, 32, 0),\n * { unit: 'minute' }\n * )\n * ```\n *\n * @param {Date|Number} date - the date\n * @param {Date|Number} baseDate - the date to compare with\n * @param {Object} [options] - an object with options.\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {'second'|'minute'|'hour'|'day'|'month'|'year'} [options.unit] - if specified, will force a unit\n * @param {'floor'|'ceil'|'round'} [options.roundingMethod='round'] - which way to round partial units\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @returns {String} the distance in words\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `baseDate` must not be Invalid Date\n * @throws {RangeError} `options.roundingMethod` must be 'floor', 'ceil' or 'round'\n * @throws {RangeError} `options.unit` must be 'second', 'minute', 'hour', 'day', 'month' or 'year'\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * const result = formatDistanceStrict(new Date(2014, 6, 2), new Date(2015, 0, 2))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00?\n * const result = formatDistanceStrict(\n * new Date(2015, 0, 1, 0, 0, 15),\n * new Date(2015, 0, 1, 0, 0, 0)\n * )\n * //=> '15 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * const result = formatDistanceStrict(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n * addSuffix: true\n * })\n * //=> '1 year ago'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, in minutes?\n * const result = formatDistanceStrict(new Date(2016, 0, 1), new Date(2015, 0, 1), {\n * unit: 'minute'\n * })\n * //=> '525600 minutes'\n *\n * @example\n * // What is the distance from 1 January 2015\n * // to 28 January 2015, in months, rounded up?\n * const result = formatDistanceStrict(new Date(2015, 0, 28), new Date(2015, 0, 1), {\n * unit: 'month',\n * roundingMethod: 'ceil'\n * })\n * //=> '1 month'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = formatDistanceStrict(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n * locale: eoLocale\n * })\n * //=> '1 jaro'\n */\n\nexport default function formatDistanceStrict(dirtyDate, dirtyBaseDate) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n requiredArgs(2, arguments);\n var locale = options.locale || defaultLocale;\n\n if (!locale.formatDistance) {\n throw new RangeError('locale must contain localize.formatDistance property');\n }\n\n var comparison = compareAsc(dirtyDate, dirtyBaseDate);\n\n if (isNaN(comparison)) {\n throw new RangeError('Invalid time value');\n }\n\n var localizeOptions = cloneObject(options);\n localizeOptions.addSuffix = Boolean(options.addSuffix);\n localizeOptions.comparison = comparison;\n var dateLeft;\n var dateRight;\n\n if (comparison > 0) {\n dateLeft = toDate(dirtyBaseDate);\n dateRight = toDate(dirtyDate);\n } else {\n dateLeft = toDate(dirtyDate);\n dateRight = toDate(dirtyBaseDate);\n }\n\n var roundingMethod = options.roundingMethod == null ? 'round' : String(options.roundingMethod);\n var roundingMethodFn;\n\n if (roundingMethod === 'floor') {\n roundingMethodFn = Math.floor;\n } else if (roundingMethod === 'ceil') {\n roundingMethodFn = Math.ceil;\n } else if (roundingMethod === 'round') {\n roundingMethodFn = Math.round;\n } else {\n throw new RangeError(\"roundingMethod must be 'floor', 'ceil' or 'round'\");\n }\n\n var milliseconds = dateRight.getTime() - dateLeft.getTime();\n var minutes = milliseconds / MILLISECONDS_IN_MINUTE;\n var timezoneOffset = getTimezoneOffsetInMilliseconds(dateRight) - getTimezoneOffsetInMilliseconds(dateLeft); // Use DST-normalized difference in minutes for years, months and days;\n // use regular difference in minutes for hours, minutes and seconds.\n\n var dstNormalizedMinutes = (milliseconds - timezoneOffset) / MILLISECONDS_IN_MINUTE;\n var unit;\n\n if (options.unit == null) {\n if (minutes < 1) {\n unit = 'second';\n } else if (minutes < 60) {\n unit = 'minute';\n } else if (minutes < MINUTES_IN_DAY) {\n unit = 'hour';\n } else if (dstNormalizedMinutes < MINUTES_IN_MONTH) {\n unit = 'day';\n } else if (dstNormalizedMinutes < MINUTES_IN_YEAR) {\n unit = 'month';\n } else {\n unit = 'year';\n }\n } else {\n unit = String(options.unit);\n } // 0 up to 60 seconds\n\n\n if (unit === 'second') {\n var seconds = roundingMethodFn(milliseconds / 1000);\n return locale.formatDistance('xSeconds', seconds, localizeOptions); // 1 up to 60 mins\n } else if (unit === 'minute') {\n var roundedMinutes = roundingMethodFn(minutes);\n return locale.formatDistance('xMinutes', roundedMinutes, localizeOptions); // 1 up to 24 hours\n } else if (unit === 'hour') {\n var hours = roundingMethodFn(minutes / 60);\n return locale.formatDistance('xHours', hours, localizeOptions); // 1 up to 30 days\n } else if (unit === 'day') {\n var days = roundingMethodFn(dstNormalizedMinutes / MINUTES_IN_DAY);\n return locale.formatDistance('xDays', days, localizeOptions); // 1 up to 12 months\n } else if (unit === 'month') {\n var months = roundingMethodFn(dstNormalizedMinutes / MINUTES_IN_MONTH);\n return months === 12 && options.unit !== 'month' ? locale.formatDistance('xYears', 1, localizeOptions) : locale.formatDistance('xMonths', months, localizeOptions); // 1 year up to max Date\n } else if (unit === 'year') {\n var years = roundingMethodFn(dstNormalizedMinutes / MINUTES_IN_YEAR);\n return locale.formatDistance('xYears', years, localizeOptions);\n }\n\n throw new RangeError(\"unit must be 'second', 'minute', 'hour', 'day', 'month' or 'year'\");\n}","import formatDistanceStrict from \"../formatDistanceStrict/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name formatDistanceToNowStrict\n * @category Common Helpers\n * @summary Return the distance between the given date and now in words.\n * @pure false\n *\n * @description\n * Return the distance between the given dates in words, using strict units.\n * This is like `formatDistance`, but does not use helpers like 'almost', 'over',\n * 'less than' and the like.\n *\n * | Distance between dates | Result |\n * |------------------------|---------------------|\n * | 0 ... 59 secs | [0..59] seconds |\n * | 1 ... 59 mins | [1..59] minutes |\n * | 1 ... 23 hrs | [1..23] hours |\n * | 1 ... 29 days | [1..29] days |\n * | 1 ... 11 months | [1..11] months |\n * | 1 ... N years | [1..N] years |\n *\n * @param {Date|Number} date - the given date\n * @param {Object} [options] - an object with options.\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {'second'|'minute'|'hour'|'day'|'month'|'year'} [options.unit] - if specified, will force a unit\n * @param {'floor'|'ceil'|'round'} [options.roundingMethod='round'] - which way to round partial units\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @returns {String} the distance in words\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\n *\n * @example\n * // If today is 1 January 2015, what is the distance to 2 July 2014?\n * var result = formatDistanceToNowStrict(\n * new Date(2014, 6, 2)\n * )\n * //=> '6 months'\n *\n * @example\n * // If now is 1 January 2015 00:00:00,\n * // what is the distance to 1 January 2015 00:00:15, including seconds?\n * var result = formatDistanceToNowStrict(\n * new Date(2015, 0, 1, 0, 0, 15)\n * )\n * //=> '20 seconds'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 January 2016, with a suffix?\n * var result = formatDistanceToNowStrict(\n * new Date(2016, 0, 1),\n * {addSuffix: true}\n * )\n * //=> 'in 1 year'\n *\n * @example\n * // If today is 28 January 2015,\n * // what is the distance to 1 January 2015, in months, rounded up??\n * var result = formatDistanceToNowStrict(new Date(2015, 0, 1), {\n * unit: 'month',\n * roundingMethod: 'ceil'\n * })\n * //=> '1 month'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 August 2016 in Esperanto?\n * var eoLocale = require('date-fns/locale/eo')\n * var result = formatDistanceToNowStrict(\n * new Date(2016, 7, 1),\n * {locale: eoLocale}\n * )\n * //=> '1 jaro'\n */\n\nexport default function formatDistanceToNowStrict(dirtyDate, dirtyOptions) {\n requiredArgs(1, arguments);\n return formatDistanceStrict(dirtyDate, Date.now(), dirtyOptions);\n}","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","_excluded$1","_excluded2$1","_excluded3","_createDescendantCont","createDescendantContext","TabsDescendantsProvider","useTabsDescendantsContext","useTabsDescendants","useTabsDescendant","_createContext","createContext","name","errorMessage","TabsProvider","useTabsContext","makeTabId","id","index","makeTabPanelId","_excluded","_excluded2","Tabs","forwardRef","props","ref","styles","useMultiStyleConfig","_omitThemingProps","omitThemingProps","children","className","_useTabs","defaultIndex","onChange","isManual","isLazy","_props$lazyBehavior","lazyBehavior","_props$orientation","orientation","_props$direction","direction","htmlProps","_React$useState","React","focusedIndex","setFocusedIndex","_useControllableState","useControllableState","defaultValue","value","selectedIndex","setSelectedIndex","descendants","useId","useTabs","ctx","context","rootProps","omit","StylesProvider","chakra","cx","__css","root","__DEV__","displayName","Tab","useStyles","tabProps","isDisabled","isFocusable","_useTabsContext2","_useTabsDescendant","disabled","register","isSelected","clickableProps","useClickable","mergeRefs","onClick","callAllHandlers","role","tabIndex","type","onFocus","undefined","useTab","tabStyles","outline","display","alignItems","justifyContent","tab","TabList","tablistProps","_useTabsContext","onKeyDown","event","_keyMap","nextTab","next","nextEnabled","focus","node","prevTab","prev","prevEnabled","isHorizontal","isVertical","eventKey","normalizeEventKey","ArrowEnd","action","ArrowDown","ArrowUp","Home","first","firstEnabled","End","last","lastEnabled","preventDefault","useTabList","tablistStyles","tablist","TabPanel","panelProps","_useTabsContext3","hasBeenSelected","current","determineLazyBehavior","hidden","useTabPanel","tabpanel","TabPanels","panelsProps","getValidChildren","map","child","useTabPanels","width","tabpanels","TabIndicator","indicatorStyle","_React$useState2","left","top","height","rect","setRect","_React$useState3","hasMeasured","setHasMeasured","useSafeLayoutEffect","isUndefined","item","offsetLeft","offsetWidth","offsetTop","offsetHeight","requestAnimationFrame","cancelAnimationFrame","position","transitionProperty","transitionDuration","transitionTimingFunction","useTabIndicator","style","indicator","compareAsc","dirtyDateLeft","dirtyDateRight","requiredArgs","dateLeft","toDate","dateRight","diff","getTime","cloneObject","dirtyObject","TypeError","property","MILLISECONDS_IN_MINUTE","MINUTES_IN_DAY","MINUTES_IN_MONTH","MINUTES_IN_YEAR","formatDistanceStrict","dirtyDate","dirtyBaseDate","options","locale","defaultLocale","formatDistance","RangeError","comparison","isNaN","localizeOptions","addSuffix","Boolean","roundingMethodFn","roundingMethod","String","Math","floor","ceil","round","unit","milliseconds","minutes","timezoneOffset","getTimezoneOffsetInMilliseconds","dstNormalizedMinutes","seconds","roundedMinutes","hours","days","months","years","formatDistanceToNowStrict","dirtyOptions","Date","now","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunkconstruct_hub_webapp=self.webpackChunkconstruct_hub_webapp||[]).push([[577],{41712:function(e,t,n){n.d(t,{T:function(){return c}});var r=n(72791),a=n(54270),s={contribute:{event:{name:"Contribute Load"}},home:{event:{name:"Home Load"}},faq:{event:{name:"Frequently Asked Questions Load"}},packageProfile:{event:{name:"Package Profile Load"}},search:{event:{name:"Search Load"}},siteTerms:{event:{name:"Site Terms Load"}},notFound:{page:{pageType:"errorPage"},event:{name:"404 Page Load"}}},i=n(59534),o=n(80184),c=(["default-src 'self' 'unsafe-inline' http://*.awsstatic.com;","connect-src 'self' https://*.shortbread.aws.dev http://*.shortbread.aws.dev http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;","frame-src http://aws.demdex.net http://dpm.demdex.net;","img-src 'self' https://* http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;","object-src 'none';","style-src 'self' 'unsafe-inline';"].join(" "),function(e){var t=e.children,n=e.meta,c=e.pageName,l=(0,i.aQ)(s[c]);(0,r.useEffect)((function(){l()}),[l]);var d=n.suffix,u=void 0===d||d,m=n.title,p=n.description,f=u?"".concat(m," - Construct Hub"):m;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(a.q,{children:[!1,(0,o.jsx)("meta",{content:"width=device-width, initial-scale=1",name:"viewport"}),(0,o.jsx)("meta",{charSet:"utf-8"}),(0,o.jsx)("title",{children:f}),(0,o.jsx)("meta",{content:f,property:"og:title"}),(0,o.jsx)("meta",{content:f,name:"twitter:title"}),(0,o.jsx)("meta",{content:"summary",name:"twitter:card"}),(0,o.jsx)("meta",{content:p,name:"description"}),(0,o.jsx)("meta",{content:p,property:"og:description"}),(0,o.jsx)("meta",{content:p,name:"twitter:description"})]}),t]})})},42577:function(e,t,n){n.r(t),n.d(t,{NotFound:function(){return h},default:function(){return h}});var r=n(28735),a=n(82504),s=n(91523),i=n(41712),o=n(1413),c=n(45987),l=n(63209),d=n(53046),u=n(80184),m=["sources"],p=(0,l.Gp)((function(e,t){var n=e.sources,a=(0,c.Z)(e,m);return(0,u.jsxs)(r.xu,{as:"picture",children:[null===n||void 0===n?void 0:n.map((function(e,t){return(0,u.jsx)("source",{media:e.media,srcSet:e.srcSet},t)})),(0,u.jsx)(d.Ee,(0,o.Z)({ref:t},a))]})}));p.displayName="Picture";var f={optimal:[{media:"(max-width:1024px)",srcSet:"/assets/404-hive@50.webp"},{media:"(min-width:1024px)",srcSet:"/assets/404-hive@100.webp"},{media:"(min-width:1024px)",srcSet:"/assets/404-hive@100.png"}],fallback:"/assets/404-hive@50.png"},h=function(){return(0,u.jsx)(i.T,{meta:{title:"Not Found",description:"Oops! The page you were looking for does not exist"},pageName:"notFound",children:(0,u.jsxs)(r.M5,{h:"100%",position:"relative",w:"100%",children:[(0,u.jsx)(p,{alt:"",inset:0,position:"absolute",sources:f.optimal,src:f.fallback,zIndex:"hide"}),(0,u.jsxs)(r.kC,{align:"center",direction:"column",justify:"center",children:[(0,u.jsx)(p,{alt:"404 Image",sources:[{srcSet:"/assets/robot.webp"}],src:"/assets/robot.png"}),(0,u.jsx)(a.zx,{as:s.rU,colorScheme:"brand",to:"/",children:"Take Me Home"})]})]})})}},53046:function(e,t,n){n.d(t,{Ee:function(){return m}});var r=n(63209),a=n(96134),s=n(72791),i=n(73990);function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}function c(e,t){if(null==e)return{};var n,r,a={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}var l=["htmlWidth","htmlHeight","alt"],d=["fallbackSrc","fallback","src","srcSet","align","fit","loading","ignoreFallback","crossOrigin"],u=s.forwardRef((function(e,t){var n=e.htmlWidth,r=e.htmlHeight,a=e.alt,i=c(e,l);return s.createElement("img",o({width:n,height:r,ref:t,alt:a},i))})),m=(0,r.Gp)((function(e,t){var n=e.fallbackSrc,l=e.fallback,m=e.src,p=e.srcSet,f=e.align,h=e.fit,g=e.loading,v=e.ignoreFallback,b=e.crossOrigin,x=c(e,d),w=null!=g||v||void 0===n&&void 0===l,j=function(e){var t=e.loading,n=e.src,r=e.srcSet,a=e.onLoad,o=e.onError,c=e.crossOrigin,l=e.sizes,d=e.ignoreFallback,u=(0,s.useState)("pending"),m=u[0],p=u[1];(0,s.useEffect)((function(){p(n?"loading":"pending")}),[n]);var f=(0,s.useRef)(),h=(0,s.useCallback)((function(){if(n){g();var e=new Image;e.src=n,c&&(e.crossOrigin=c),r&&(e.srcset=r),l&&(e.sizes=l),t&&(e.loading=t),e.onload=function(e){g(),p("loaded"),null==a||a(e)},e.onerror=function(e){g(),p("failed"),null==o||o(e)},f.current=e}}),[n,c,r,l,a,o,t]),g=function(){f.current&&(f.current.onload=null,f.current.onerror=null,f.current=null)};return(0,i.a)((function(){if(!d)return"loading"===m&&h(),function(){g()}}),[m,h,d]),d?"loaded":m}(o({},e,{ignoreFallback:w})),k=o({ref:t,objectFit:h,objectPosition:f},w?x:(0,a.CE)(x,["onError","onLoad"]));return"loaded"!==j?l||s.createElement(r.m$.img,o({as:u,className:"chakra-image__placeholder",src:n},k)):s.createElement(r.m$.img,o({as:u,src:m,srcSet:p,crossOrigin:b,loading:g,className:"chakra-image"},k))}));a.Ts&&(m.displayName="Image")}}]);
2
- //# sourceMappingURL=577.99105a65.chunk.js.map
1
+ "use strict";(self.webpackChunkconstruct_hub_webapp=self.webpackChunkconstruct_hub_webapp||[]).push([[577],{41712:function(e,t,n){n.d(t,{T:function(){return c}});var r=n(72791),a=n(54270),s={contribute:{event:{name:"Contribute Load"}},home:{event:{name:"Home Load"}},faq:{event:{name:"Frequently Asked Questions Load"}},packageProfile:{event:{name:"Package Profile Load"}},search:{event:{name:"Search Load"}},siteTerms:{event:{name:"Site Terms Load"}},notFound:{page:{pageType:"errorPage"},event:{name:"404 Page Load"}}},i=n(59534),o=n(80184),c=(["default-src 'self' 'unsafe-inline' http://*.awsstatic.com;","connect-src 'self' https://*.shortbread.aws.dev http://*.shortbread.aws.dev http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;","frame-src http://aws.demdex.net http://dpm.demdex.net;","img-src 'self' https://* http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;","object-src 'none';","style-src 'self' 'unsafe-inline';"].join(" "),function(e){var t=e.children,n=e.meta,c=e.pageName,l=(0,i.aQ)(s[c]);(0,r.useEffect)((function(){l()}),[l]);var d=n.suffix,u=void 0===d||d,m=n.title,p=n.description,f=u?"".concat(m," - Construct Hub"):m;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(a.q,{children:[!1,(0,o.jsx)("meta",{content:"width=device-width, initial-scale=1",name:"viewport"}),(0,o.jsx)("meta",{charSet:"utf-8"}),(0,o.jsx)("title",{children:f}),(0,o.jsx)("meta",{content:f,property:"og:title"}),(0,o.jsx)("meta",{content:f,name:"twitter:title"}),(0,o.jsx)("meta",{content:"summary",name:"twitter:card"}),(0,o.jsx)("meta",{content:p,name:"description"}),(0,o.jsx)("meta",{content:p,property:"og:description"}),(0,o.jsx)("meta",{content:p,name:"twitter:description"})]}),t]})})},42577:function(e,t,n){n.r(t),n.d(t,{NotFound:function(){return h},default:function(){return h}});var r=n(28735),a=n(82504),s=n(91523),i=n(41712),o=n(1413),c=n(45987),l=n(63209),d=n(53046),u=n(80184),m=["sources"],p=(0,l.Gp)((function(e,t){var n=e.sources,a=(0,c.Z)(e,m);return(0,u.jsxs)(r.xu,{as:"picture",children:[null===n||void 0===n?void 0:n.map((function(e,t){return(0,u.jsx)("source",{media:e.media,srcSet:e.srcSet},t)})),(0,u.jsx)(d.Ee,(0,o.Z)({ref:t},a))]})}));p.displayName="Picture";var f={optimal:[{media:"(max-width:1024px)",srcSet:"/assets/404-hive@50.webp"},{media:"(min-width:1024px)",srcSet:"/assets/404-hive@100.webp"},{media:"(min-width:1024px)",srcSet:"/assets/404-hive@100.png"}],fallback:"/assets/404-hive@50.png"},h=function(){return(0,u.jsx)(i.T,{meta:{title:"Not Found",description:"Oops! The page you were looking for does not exist"},pageName:"notFound",children:(0,u.jsxs)(r.M5,{h:"100%",position:"relative",w:"100%",children:[(0,u.jsx)(p,{alt:"",inset:0,position:"absolute",sources:f.optimal,src:f.fallback,zIndex:"hide"}),(0,u.jsxs)(r.kC,{align:"center",direction:"column",justify:"center",children:[(0,u.jsx)(p,{alt:"404 Image",sources:[{srcSet:"/assets/robot.webp"}],src:"/assets/robot.png"}),(0,u.jsx)(a.zx,{as:s.rU,colorScheme:"brand",to:"/",children:"Take Me Home"})]})]})})}},53046:function(e,t,n){n.d(t,{Ee:function(){return m}});var r=n(63209),a=n(96134),s=n(72791),i=n(8185);function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}function c(e,t){if(null==e)return{};var n,r,a={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}var l=["htmlWidth","htmlHeight","alt"],d=["fallbackSrc","fallback","src","srcSet","align","fit","loading","ignoreFallback","crossOrigin"],u=s.forwardRef((function(e,t){var n=e.htmlWidth,r=e.htmlHeight,a=e.alt,i=c(e,l);return s.createElement("img",o({width:n,height:r,ref:t,alt:a},i))})),m=(0,r.Gp)((function(e,t){var n=e.fallbackSrc,l=e.fallback,m=e.src,p=e.srcSet,f=e.align,h=e.fit,g=e.loading,v=e.ignoreFallback,b=e.crossOrigin,x=c(e,d),w=null!=g||v||void 0===n&&void 0===l,j=function(e){var t=e.loading,n=e.src,r=e.srcSet,a=e.onLoad,o=e.onError,c=e.crossOrigin,l=e.sizes,d=e.ignoreFallback,u=(0,s.useState)("pending"),m=u[0],p=u[1];(0,s.useEffect)((function(){p(n?"loading":"pending")}),[n]);var f=(0,s.useRef)(),h=(0,s.useCallback)((function(){if(n){g();var e=new Image;e.src=n,c&&(e.crossOrigin=c),r&&(e.srcset=r),l&&(e.sizes=l),t&&(e.loading=t),e.onload=function(e){g(),p("loaded"),null==a||a(e)},e.onerror=function(e){g(),p("failed"),null==o||o(e)},f.current=e}}),[n,c,r,l,a,o,t]),g=function(){f.current&&(f.current.onload=null,f.current.onerror=null,f.current=null)};return(0,i.a)((function(){if(!d)return"loading"===m&&h(),function(){g()}}),[m,h,d]),d?"loaded":m}(o({},e,{ignoreFallback:w})),k=o({ref:t,objectFit:h,objectPosition:f},w?x:(0,a.CE)(x,["onError","onLoad"]));return"loaded"!==j?l||s.createElement(r.m$.img,o({as:u,className:"chakra-image__placeholder",src:n},k)):s.createElement(r.m$.img,o({as:u,src:m,srcSet:p,crossOrigin:b,loading:g,className:"chakra-image"},k))}));a.Ts&&(m.displayName="Image")}}]);
2
+ //# sourceMappingURL=577.4e3ff9fc.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"static/js/577.99105a65.chunk.js","mappings":"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","sources":["constants/pageInfo.ts","components/Page/Page.tsx","components/Picture/Picture.tsx","views/NotFound/NotFound.tsx","../node_modules/@chakra-ui/image/dist/chakra-ui-image.esm.js"],"sourcesContent":["export const pageInfo = {\n contribute: {\n event: {\n name: \"Contribute Load\",\n },\n },\n home: {\n event: {\n name: \"Home Load\",\n },\n },\n faq: {\n event: {\n name: \"Frequently Asked Questions Load\",\n },\n },\n packageProfile: {\n event: {\n name: \"Package Profile Load\",\n },\n },\n search: {\n event: {\n name: \"Search Load\",\n },\n },\n siteTerms: {\n event: {\n name: \"Site Terms Load\",\n },\n },\n notFound: {\n page: {\n pageType: \"errorPage\",\n },\n event: {\n name: \"404 Page Load\",\n },\n },\n} as const;\n","import { FunctionComponent, useEffect } from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { pageInfo } from \"../../constants/pageInfo\";\nimport { usePageView } from \"../../contexts/Analytics\";\n\nexport interface PageProps {\n pageName: keyof typeof pageInfo;\n meta: {\n suffix?: boolean;\n title: string;\n description: string;\n };\n}\n\n// Should be the same as the \"real\" CSP, except most things come from HTTP\n// instead of HTTPS (because it is protocol-relative, and the dev site is\n// served over plain HTTP).\nconst csp = [\n \"default-src 'self' 'unsafe-inline' http://*.awsstatic.com;\",\n \"connect-src 'self' https://*.shortbread.aws.dev http://*.shortbread.aws.dev http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;\",\n \"frame-src http://aws.demdex.net http://dpm.demdex.net;\",\n \"img-src 'self' https://* http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;\",\n \"object-src 'none';\",\n \"style-src 'self' 'unsafe-inline';\",\n].join(\" \");\n\nexport const Page: FunctionComponent<PageProps> = ({\n children,\n meta,\n pageName,\n}) => {\n const trackPageView = usePageView(pageInfo[pageName]);\n\n useEffect(() => {\n trackPageView();\n }, [trackPageView]);\n\n const { suffix = true, title, description } = meta;\n const formattedTitle = suffix ? `${title} - Construct Hub` : title;\n\n return (\n <>\n <Helmet>\n {process.env.NODE_ENV === \"development\" && (\n <meta content={csp} httpEquiv=\"Content-Security-Policy\" />\n )}\n\n <meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n <meta charSet=\"utf-8\" />\n\n <title>{formattedTitle}</title>\n <meta content={formattedTitle} property=\"og:title\" />\n <meta content={formattedTitle} name=\"twitter:title\" />\n <meta content=\"summary\" name=\"twitter:card\" />\n\n <meta content={description} name=\"description\" />\n <meta content={description} property=\"og:description\" />\n <meta content={description} name=\"twitter:description\" />\n </Helmet>\n {children}\n </>\n );\n};\n","import { Box, HTMLChakraProps, forwardRef, Image } from \"@chakra-ui/react\";\n\nexport interface PictureProps extends HTMLChakraProps<\"img\"> {\n alt: string;\n src: string;\n sources?: {\n media?: string;\n srcSet: string;\n }[];\n}\n\nexport const Picture = forwardRef<PictureProps, \"img\">(\n ({ sources, ...props }, ref) => (\n <Box as=\"picture\">\n {sources?.map((source, idx) => (\n <source key={idx} media={source.media} srcSet={source.srcSet} />\n ))}\n <Image ref={ref} {...props} />\n </Box>\n )\n);\n\nPicture.displayName = \"Picture\";\n","import { Button, Center, Flex } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Page } from \"../../components/Page\";\nimport { Picture } from \"../../components/Picture\";\n\nconst bgSources = {\n optimal: [\n { media: \"(max-width:1024px)\", srcSet: \"/assets/404-hive@50.webp\" },\n { media: \"(min-width:1024px)\", srcSet: \"/assets/404-hive@100.webp\" },\n { media: \"(min-width:1024px)\", srcSet: \"/assets/404-hive@100.png\" },\n ],\n fallback: \"/assets/404-hive@50.png\",\n};\n\nexport const NotFound: FunctionComponent = () => {\n return (\n <Page\n meta={{\n title: \"Not Found\",\n description: \"Oops! The page you were looking for does not exist\",\n }}\n pageName=\"notFound\"\n >\n <Center h=\"100%\" position=\"relative\" w=\"100%\">\n <Picture\n alt=\"\"\n inset={0}\n position=\"absolute\"\n sources={bgSources.optimal}\n src={bgSources.fallback}\n zIndex=\"hide\"\n />\n <Flex align=\"center\" direction=\"column\" justify=\"center\">\n <Picture\n alt=\"404 Image\"\n sources={[{ srcSet: \"/assets/robot.webp\" }]}\n src=\"/assets/robot.png\"\n />\n <Button as={Link} colorScheme=\"brand\" to=\"/\">\n Take Me Home\n </Button>\n </Flex>\n </Center>\n </Page>\n );\n};\n","import { forwardRef, chakra } from '@chakra-ui/system';\nimport { omit, __DEV__ } from '@chakra-ui/utils';\nimport * as React from 'react';\nimport { useState, useEffect, useRef, useCallback } from 'react';\nimport { useSafeLayoutEffect } from '@chakra-ui/hooks';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\n/**\n * React hook that loads an image in the browser,\n * and let's us know the `status` so we can show image\n * fallback if it is still `pending`\n *\n * @returns the status of the image loading progress\n *\n * @example\n *\n * ```jsx\n * function App(){\n * const status = useImage({ src: \"image.png\" })\n * return status === \"loaded\" ? <img src=\"image.png\" /> : <Placeholder />\n * }\n * ```\n */\nfunction useImage(props) {\n var loading = props.loading,\n src = props.src,\n srcSet = props.srcSet,\n onLoad = props.onLoad,\n onError = props.onError,\n crossOrigin = props.crossOrigin,\n sizes = props.sizes,\n ignoreFallback = props.ignoreFallback;\n\n var _useState = useState(\"pending\"),\n status = _useState[0],\n setStatus = _useState[1];\n\n useEffect(function () {\n setStatus(src ? \"loading\" : \"pending\");\n }, [src]);\n var imageRef = useRef();\n var load = useCallback(function () {\n if (!src) return;\n flush();\n var img = new Image();\n img.src = src;\n if (crossOrigin) img.crossOrigin = crossOrigin;\n if (srcSet) img.srcset = srcSet;\n if (sizes) img.sizes = sizes;\n if (loading) img.loading = loading;\n\n img.onload = function (event) {\n flush();\n setStatus(\"loaded\");\n onLoad == null ? void 0 : onLoad(event);\n };\n\n img.onerror = function (error) {\n flush();\n setStatus(\"failed\");\n onError == null ? void 0 : onError(error);\n };\n\n imageRef.current = img;\n }, [src, crossOrigin, srcSet, sizes, onLoad, onError, loading]);\n\n var flush = function flush() {\n if (imageRef.current) {\n imageRef.current.onload = null;\n imageRef.current.onerror = null;\n imageRef.current = null;\n }\n };\n\n useSafeLayoutEffect(function () {\n /**\n * If user opts out of the fallback/placeholder\n * logic, let's bail out.\n */\n if (ignoreFallback) return undefined;\n\n if (status === \"loading\") {\n load();\n }\n\n return function () {\n flush();\n };\n }, [status, load, ignoreFallback]);\n /**\n * If user opts out of the fallback/placeholder\n * logic, let's just return 'loaded'\n */\n\n return ignoreFallback ? \"loaded\" : status;\n}\n\nvar _excluded = [\"htmlWidth\", \"htmlHeight\", \"alt\"],\n _excluded2 = [\"fallbackSrc\", \"fallback\", \"src\", \"srcSet\", \"align\", \"fit\", \"loading\", \"ignoreFallback\", \"crossOrigin\"];\nvar NativeImage = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var htmlWidth = props.htmlWidth,\n htmlHeight = props.htmlHeight,\n alt = props.alt,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n return /*#__PURE__*/React.createElement(\"img\", _extends({\n width: htmlWidth,\n height: htmlHeight,\n ref: ref,\n alt: alt\n }, rest));\n});\n\n/**\n * React component that renders an image with support\n * for fallbacks\n *\n * @see Docs https://chakra-ui.com/image\n */\nvar Image$1 = /*#__PURE__*/forwardRef(function (props, ref) {\n var fallbackSrc = props.fallbackSrc,\n fallback = props.fallback,\n src = props.src,\n srcSet = props.srcSet,\n align = props.align,\n fit = props.fit,\n loading = props.loading,\n ignoreFallback = props.ignoreFallback,\n crossOrigin = props.crossOrigin,\n rest = _objectWithoutPropertiesLoose(props, _excluded2);\n /**\n * Defer to native `img` tag if `loading` prop is passed\n * @see https://github.com/chakra-ui/chakra-ui/issues/1027\n */\n\n\n var shouldIgnore = loading != null || ignoreFallback || fallbackSrc === undefined && fallback === undefined; // if the user doesn't provide any kind of fallback we should ignore it\n\n var status = useImage(_extends({}, props, {\n ignoreFallback: shouldIgnore\n }));\n\n var shared = _extends({\n ref: ref,\n objectFit: fit,\n objectPosition: align\n }, shouldIgnore ? rest : omit(rest, [\"onError\", \"onLoad\"]));\n\n if (status !== \"loaded\") {\n /**\n * If user passed a custom fallback component,\n * let's render it here.\n */\n if (fallback) return fallback;\n return /*#__PURE__*/React.createElement(chakra.img, _extends({\n as: NativeImage,\n className: \"chakra-image__placeholder\",\n src: fallbackSrc\n }, shared));\n }\n\n return /*#__PURE__*/React.createElement(chakra.img, _extends({\n as: NativeImage,\n src: src,\n srcSet: srcSet,\n crossOrigin: crossOrigin,\n loading: loading,\n className: \"chakra-image\"\n }, shared));\n});\n\n/**\n * Fallback component for most SSR users who want to use the native `img` with\n * support for chakra props\n */\nvar Img = /*#__PURE__*/forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(chakra.img, _extends({\n ref: ref,\n as: NativeImage,\n className: \"chakra-image\"\n }, props));\n});\n\nif (__DEV__) {\n Image$1.displayName = \"Image\";\n}\n\nexport { Image$1 as Image, Img, useImage };\n"],"names":["pageInfo","contribute","event","name","home","faq","packageProfile","search","siteTerms","notFound","page","pageType","Page","join","children","meta","pageName","trackPageView","usePageView","useEffect","suffix","title","description","formattedTitle","Helmet","process","content","charSet","property","Picture","forwardRef","ref","sources","props","as","map","source","idx","media","srcSet","displayName","bgSources","optimal","fallback","NotFound","h","position","w","alt","inset","src","zIndex","align","direction","justify","Link","colorScheme","to","_extends","Object","assign","target","i","arguments","length","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","_excluded","_excluded2","NativeImage","React","htmlWidth","htmlHeight","rest","width","height","Image$1","fallbackSrc","fit","loading","ignoreFallback","crossOrigin","shouldIgnore","undefined","status","onLoad","onError","sizes","_useState","useState","setStatus","imageRef","useRef","load","useCallback","flush","img","Image","srcset","onload","onerror","error","current","useSafeLayoutEffect","useImage","shared","objectFit","objectPosition","omit","chakra","className","__DEV__"],"sourceRoot":""}
1
+ {"version":3,"file":"static/js/577.4e3ff9fc.chunk.js","mappings":"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","sources":["constants/pageInfo.ts","components/Page/Page.tsx","components/Picture/Picture.tsx","views/NotFound/NotFound.tsx","../node_modules/@chakra-ui/image/dist/chakra-ui-image.esm.js"],"sourcesContent":["export const pageInfo = {\n contribute: {\n event: {\n name: \"Contribute Load\",\n },\n },\n home: {\n event: {\n name: \"Home Load\",\n },\n },\n faq: {\n event: {\n name: \"Frequently Asked Questions Load\",\n },\n },\n packageProfile: {\n event: {\n name: \"Package Profile Load\",\n },\n },\n search: {\n event: {\n name: \"Search Load\",\n },\n },\n siteTerms: {\n event: {\n name: \"Site Terms Load\",\n },\n },\n notFound: {\n page: {\n pageType: \"errorPage\",\n },\n event: {\n name: \"404 Page Load\",\n },\n },\n} as const;\n","import { FunctionComponent, useEffect } from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { pageInfo } from \"../../constants/pageInfo\";\nimport { usePageView } from \"../../contexts/Analytics\";\n\nexport interface PageProps {\n pageName: keyof typeof pageInfo;\n meta: {\n suffix?: boolean;\n title: string;\n description: string;\n };\n}\n\n// Should be the same as the \"real\" CSP, except most things come from HTTP\n// instead of HTTPS (because it is protocol-relative, and the dev site is\n// served over plain HTTP).\nconst csp = [\n \"default-src 'self' 'unsafe-inline' http://*.awsstatic.com;\",\n \"connect-src 'self' https://*.shortbread.aws.dev http://*.shortbread.aws.dev http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;\",\n \"frame-src http://aws.demdex.net http://dpm.demdex.net;\",\n \"img-src 'self' https://* http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;\",\n \"object-src 'none';\",\n \"style-src 'self' 'unsafe-inline';\",\n].join(\" \");\n\nexport const Page: FunctionComponent<PageProps> = ({\n children,\n meta,\n pageName,\n}) => {\n const trackPageView = usePageView(pageInfo[pageName]);\n\n useEffect(() => {\n trackPageView();\n }, [trackPageView]);\n\n const { suffix = true, title, description } = meta;\n const formattedTitle = suffix ? `${title} - Construct Hub` : title;\n\n return (\n <>\n <Helmet>\n {process.env.NODE_ENV === \"development\" && (\n <meta content={csp} httpEquiv=\"Content-Security-Policy\" />\n )}\n\n <meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n <meta charSet=\"utf-8\" />\n\n <title>{formattedTitle}</title>\n <meta content={formattedTitle} property=\"og:title\" />\n <meta content={formattedTitle} name=\"twitter:title\" />\n <meta content=\"summary\" name=\"twitter:card\" />\n\n <meta content={description} name=\"description\" />\n <meta content={description} property=\"og:description\" />\n <meta content={description} name=\"twitter:description\" />\n </Helmet>\n {children}\n </>\n );\n};\n","import { Box, HTMLChakraProps, forwardRef, Image } from \"@chakra-ui/react\";\n\nexport interface PictureProps extends HTMLChakraProps<\"img\"> {\n alt: string;\n src: string;\n sources?: {\n media?: string;\n srcSet: string;\n }[];\n}\n\nexport const Picture = forwardRef<PictureProps, \"img\">(\n ({ sources, ...props }, ref) => (\n <Box as=\"picture\">\n {sources?.map((source, idx) => (\n <source key={idx} media={source.media} srcSet={source.srcSet} />\n ))}\n <Image ref={ref} {...props} />\n </Box>\n )\n);\n\nPicture.displayName = \"Picture\";\n","import { Button, Center, Flex } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Page } from \"../../components/Page\";\nimport { Picture } from \"../../components/Picture\";\n\nconst bgSources = {\n optimal: [\n { media: \"(max-width:1024px)\", srcSet: \"/assets/404-hive@50.webp\" },\n { media: \"(min-width:1024px)\", srcSet: \"/assets/404-hive@100.webp\" },\n { media: \"(min-width:1024px)\", srcSet: \"/assets/404-hive@100.png\" },\n ],\n fallback: \"/assets/404-hive@50.png\",\n};\n\nexport const NotFound: FunctionComponent = () => {\n return (\n <Page\n meta={{\n title: \"Not Found\",\n description: \"Oops! The page you were looking for does not exist\",\n }}\n pageName=\"notFound\"\n >\n <Center h=\"100%\" position=\"relative\" w=\"100%\">\n <Picture\n alt=\"\"\n inset={0}\n position=\"absolute\"\n sources={bgSources.optimal}\n src={bgSources.fallback}\n zIndex=\"hide\"\n />\n <Flex align=\"center\" direction=\"column\" justify=\"center\">\n <Picture\n alt=\"404 Image\"\n sources={[{ srcSet: \"/assets/robot.webp\" }]}\n src=\"/assets/robot.png\"\n />\n <Button as={Link} colorScheme=\"brand\" to=\"/\">\n Take Me Home\n </Button>\n </Flex>\n </Center>\n </Page>\n );\n};\n","import { forwardRef, chakra } from '@chakra-ui/system';\nimport { omit, __DEV__ } from '@chakra-ui/utils';\nimport * as React from 'react';\nimport { useState, useEffect, useRef, useCallback } from 'react';\nimport { useSafeLayoutEffect } from '@chakra-ui/hooks';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\n/**\n * React hook that loads an image in the browser,\n * and let's us know the `status` so we can show image\n * fallback if it is still `pending`\n *\n * @returns the status of the image loading progress\n *\n * @example\n *\n * ```jsx\n * function App(){\n * const status = useImage({ src: \"image.png\" })\n * return status === \"loaded\" ? <img src=\"image.png\" /> : <Placeholder />\n * }\n * ```\n */\nfunction useImage(props) {\n var loading = props.loading,\n src = props.src,\n srcSet = props.srcSet,\n onLoad = props.onLoad,\n onError = props.onError,\n crossOrigin = props.crossOrigin,\n sizes = props.sizes,\n ignoreFallback = props.ignoreFallback;\n\n var _useState = useState(\"pending\"),\n status = _useState[0],\n setStatus = _useState[1];\n\n useEffect(function () {\n setStatus(src ? \"loading\" : \"pending\");\n }, [src]);\n var imageRef = useRef();\n var load = useCallback(function () {\n if (!src) return;\n flush();\n var img = new Image();\n img.src = src;\n if (crossOrigin) img.crossOrigin = crossOrigin;\n if (srcSet) img.srcset = srcSet;\n if (sizes) img.sizes = sizes;\n if (loading) img.loading = loading;\n\n img.onload = function (event) {\n flush();\n setStatus(\"loaded\");\n onLoad == null ? void 0 : onLoad(event);\n };\n\n img.onerror = function (error) {\n flush();\n setStatus(\"failed\");\n onError == null ? void 0 : onError(error);\n };\n\n imageRef.current = img;\n }, [src, crossOrigin, srcSet, sizes, onLoad, onError, loading]);\n\n var flush = function flush() {\n if (imageRef.current) {\n imageRef.current.onload = null;\n imageRef.current.onerror = null;\n imageRef.current = null;\n }\n };\n\n useSafeLayoutEffect(function () {\n /**\n * If user opts out of the fallback/placeholder\n * logic, let's bail out.\n */\n if (ignoreFallback) return undefined;\n\n if (status === \"loading\") {\n load();\n }\n\n return function () {\n flush();\n };\n }, [status, load, ignoreFallback]);\n /**\n * If user opts out of the fallback/placeholder\n * logic, let's just return 'loaded'\n */\n\n return ignoreFallback ? \"loaded\" : status;\n}\n\nvar _excluded = [\"htmlWidth\", \"htmlHeight\", \"alt\"],\n _excluded2 = [\"fallbackSrc\", \"fallback\", \"src\", \"srcSet\", \"align\", \"fit\", \"loading\", \"ignoreFallback\", \"crossOrigin\"];\nvar NativeImage = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var htmlWidth = props.htmlWidth,\n htmlHeight = props.htmlHeight,\n alt = props.alt,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n return /*#__PURE__*/React.createElement(\"img\", _extends({\n width: htmlWidth,\n height: htmlHeight,\n ref: ref,\n alt: alt\n }, rest));\n});\n\n/**\n * React component that renders an image with support\n * for fallbacks\n *\n * @see Docs https://chakra-ui.com/image\n */\nvar Image$1 = /*#__PURE__*/forwardRef(function (props, ref) {\n var fallbackSrc = props.fallbackSrc,\n fallback = props.fallback,\n src = props.src,\n srcSet = props.srcSet,\n align = props.align,\n fit = props.fit,\n loading = props.loading,\n ignoreFallback = props.ignoreFallback,\n crossOrigin = props.crossOrigin,\n rest = _objectWithoutPropertiesLoose(props, _excluded2);\n /**\n * Defer to native `img` tag if `loading` prop is passed\n * @see https://github.com/chakra-ui/chakra-ui/issues/1027\n */\n\n\n var shouldIgnore = loading != null || ignoreFallback || fallbackSrc === undefined && fallback === undefined; // if the user doesn't provide any kind of fallback we should ignore it\n\n var status = useImage(_extends({}, props, {\n ignoreFallback: shouldIgnore\n }));\n\n var shared = _extends({\n ref: ref,\n objectFit: fit,\n objectPosition: align\n }, shouldIgnore ? rest : omit(rest, [\"onError\", \"onLoad\"]));\n\n if (status !== \"loaded\") {\n /**\n * If user passed a custom fallback component,\n * let's render it here.\n */\n if (fallback) return fallback;\n return /*#__PURE__*/React.createElement(chakra.img, _extends({\n as: NativeImage,\n className: \"chakra-image__placeholder\",\n src: fallbackSrc\n }, shared));\n }\n\n return /*#__PURE__*/React.createElement(chakra.img, _extends({\n as: NativeImage,\n src: src,\n srcSet: srcSet,\n crossOrigin: crossOrigin,\n loading: loading,\n className: \"chakra-image\"\n }, shared));\n});\n\n/**\n * Fallback component for most SSR users who want to use the native `img` with\n * support for chakra props\n */\nvar Img = /*#__PURE__*/forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(chakra.img, _extends({\n ref: ref,\n as: NativeImage,\n className: \"chakra-image\"\n }, props));\n});\n\nif (__DEV__) {\n Image$1.displayName = \"Image\";\n}\n\nexport { Image$1 as Image, Img, useImage };\n"],"names":["pageInfo","contribute","event","name","home","faq","packageProfile","search","siteTerms","notFound","page","pageType","Page","join","children","meta","pageName","trackPageView","usePageView","useEffect","suffix","title","description","formattedTitle","Helmet","process","content","charSet","property","Picture","forwardRef","ref","sources","props","as","map","source","idx","media","srcSet","displayName","bgSources","optimal","fallback","NotFound","h","position","w","alt","inset","src","zIndex","align","direction","justify","Link","colorScheme","to","_extends","Object","assign","target","i","arguments","length","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","_excluded","_excluded2","NativeImage","React","htmlWidth","htmlHeight","rest","width","height","Image$1","fallbackSrc","fit","loading","ignoreFallback","crossOrigin","shouldIgnore","undefined","status","onLoad","onError","sizes","_useState","useState","setStatus","imageRef","useRef","load","useCallback","flush","img","Image","srcset","onload","onerror","error","current","useSafeLayoutEffect","useImage","shared","objectFit","objectPosition","omit","chakra","className","__DEV__"],"sourceRoot":""}