construct-hub 0.3.296 → 0.3.297

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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":""}