{"version":3,"file":"static/chunks/5550.02f51ee3cc80f2af.js","mappings":"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","sources":["webpack://_N_E/./ui/shared/DataListDisplay.tsx","webpack://_N_E/./ui/shared/EmptySearchResult.tsx","webpack://_N_E/./ui/shared/ListItemMobile/ListItemMobile.tsx","webpack://_N_E/./ui/shared/Tabs/RoutedTabs.tsx","webpack://_N_E/./ui/shared/Tabs/TabCounter.tsx","webpack://_N_E/./ui/shared/Tabs/utils.ts","webpack://_N_E/./ui/shared/Tabs/TabsMenu.tsx","webpack://_N_E/./ui/shared/Tabs/useAdaptiveTabs.tsx","webpack://_N_E/./ui/shared/Tabs/useScrollToActiveTab.tsx","webpack://_N_E/./ui/shared/Tabs/AdaptiveTabsList.tsx","webpack://_N_E/./ui/shared/Tabs/TabsWithScroll.tsx","webpack://_N_E/./ui/shared/Tabs/useTabIndexFromQuery.tsx","webpack://_N_E/"],"sourcesContent":["import { Box, Text, chakra } from '@chakra-ui/react';\nimport React from 'react';\n\nimport EmptySearchResult from 'ui/shared/EmptySearchResult';\n\nimport DataFetchAlert from './DataFetchAlert';\n\ntype FilterProps = {\n hasActiveFilters: boolean;\n emptyFilteredText: string;\n};\n\ntype Props = {\n isError: boolean;\n items?: Array;\n emptyText: string;\n actionBar?: React.ReactNode;\n content: React.ReactNode;\n className?: string;\n filterProps?: FilterProps;\n}\n\nconst DataListDisplay = (props: Props) => {\n if (props.isError) {\n return ;\n }\n\n if (props.filterProps?.hasActiveFilters && !props.items?.length) {\n return (\n \n { props.actionBar }\n \n \n );\n }\n\n if (!props.items?.length) {\n return props.emptyText ? { props.emptyText } : null;\n }\n\n return (\n \n { props.actionBar }\n { props.content }\n \n );\n};\n\nexport default chakra(DataListDisplay);\n","import { Box, Heading, Text } from '@chakra-ui/react';\nimport React from 'react';\n\nimport IconSvg from 'ui/shared/IconSvg';\n\ninterface Props {\n text: string;\n}\n\nconst EmptySearchResult = ({ text }: Props) => {\n return (\n \n \n\n \n No results\n \n\n \n { text }\n \n \n );\n};\n\nexport default EmptySearchResult;\n","import { Flex, chakra } from '@chakra-ui/react';\nimport { motion } from 'framer-motion';\nimport React from 'react';\n\ninterface Props {\n children: React.ReactNode;\n className?: string;\n isAnimated?: boolean;\n}\n\nconst ListItemMobile = ({ children, className, isAnimated }: Props) => {\n return (\n \n { children }\n \n );\n};\n\nexport default chakra(ListItemMobile);\n","import type { ChakraProps, ThemingProps } from '@chakra-ui/react';\nimport { chakra } from '@chakra-ui/react';\nimport _pickBy from 'lodash/pickBy';\nimport { useRouter } from 'next/router';\nimport React, { useEffect, useRef } from 'react';\n\nimport type { RoutedTab } from './types';\n\nimport TabsWithScroll from './TabsWithScroll';\nimport useTabIndexFromQuery from './useTabIndexFromQuery';\n\ninterface Props extends ThemingProps<'Tabs'> {\n tabs: Array;\n tabListProps?: ChakraProps | (({ isSticky, activeTabIndex }: { isSticky: boolean; activeTabIndex: number }) => ChakraProps);\n rightSlot?: React.ReactNode;\n rightSlotProps?: ChakraProps;\n stickyEnabled?: boolean;\n className?: string;\n onTabChange?: (index: number) => void;\n}\n\nconst RoutedTabs = ({ tabs, tabListProps, rightSlot, rightSlotProps, stickyEnabled, className, onTabChange, ...themeProps }: Props) => {\n const router = useRouter();\n const tabIndex = useTabIndexFromQuery(tabs);\n const tabsRef = useRef(null);\n\n const handleTabChange = React.useCallback((index: number) => {\n const nextTab = tabs[index];\n\n const queryForPathname = _pickBy(router.query, (value, key) => router.pathname.includes(`[${ key }]`));\n router.push(\n { pathname: router.pathname, query: { ...queryForPathname, tab: nextTab.id } },\n undefined,\n { shallow: true },\n );\n\n onTabChange?.(index);\n }, [ tabs, router, onTabChange ]);\n\n useEffect(() => {\n if (router.query.scroll_to_tabs) {\n tabsRef?.current?.scrollIntoView(true);\n delete router.query.scroll_to_tabs;\n router.push(\n {\n pathname: router.pathname,\n query: router.query,\n },\n undefined,\n { shallow: true },\n );\n }\n // replicate componentDidMount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n );\n};\n\nexport default React.memo(chakra(RoutedTabs));\n","import { chakra, useColorModeValue } from '@chakra-ui/react';\nimport React from 'react';\n\nimport getDefaultTransitionProps from 'theme/utils/getDefaultTransitionProps';\n\nconst COUNTER_OVERLOAD = 50;\n\ntype Props = {\n count?: number | null;\n}\n\nconst TabCounter = ({ count }: Props) => {\n\n const zeroCountColor = useColorModeValue('blackAlpha.400', 'whiteAlpha.400');\n\n if (count === undefined || count === null) {\n return null;\n }\n\n return (\n 0 ? 'text_secondary' : zeroCountColor }\n ml={ 1 }\n { ...getDefaultTransitionProps() }\n >\n { count > COUNTER_OVERLOAD ? `${ COUNTER_OVERLOAD }+` : count }\n \n );\n};\n\nexport default TabCounter;\n","import type { MenuButton } from './types';\n\nimport { middot } from 'lib/html-entities';\n\nexport const menuButton: MenuButton = {\n id: null,\n title: `${ middot }${ middot }${ middot }`,\n component: null,\n};\n","import type {\n ButtonProps } from '@chakra-ui/react';\nimport { Popover,\n PopoverTrigger,\n PopoverContent,\n PopoverBody,\n Button,\n useDisclosure,\n} from '@chakra-ui/react';\nimport type { StyleProps } from '@chakra-ui/styled-system';\nimport React from 'react';\n\nimport type { MenuButton, TabItem } from './types';\n\nimport TabCounter from './TabCounter';\nimport { menuButton } from './utils';\n\ninterface Props {\n tabs: Array;\n activeTab?: TabItem;\n tabsCut: number;\n isActive: boolean;\n styles?: StyleProps;\n onItemClick: (index: number) => void;\n buttonRef: React.RefObject;\n size: ButtonProps['size'];\n}\n\nconst TabsMenu = ({ tabs, tabsCut, isActive, styles, onItemClick, buttonRef, activeTab, size }: Props) => {\n const { isOpen, onClose, onOpen } = useDisclosure();\n\n const handleItemClick = React.useCallback((event: React.MouseEvent) => {\n onClose();\n const tabIndex = event.currentTarget.getAttribute('data-index');\n if (tabIndex) {\n onItemClick(tabsCut + Number(tabIndex));\n }\n }, [ onClose, onItemClick, tabsCut ]);\n\n return (\n \n \n \n { menuButton.title }\n \n \n \n \n { tabs.slice(tabsCut).map((tab, index) => (\n \n { typeof tab.title === 'function' ? tab.title() : tab.title }\n \n \n )) }\n \n \n \n );\n};\n\nexport default React.memo(TabsMenu);\n","import React from 'react';\n\nimport type { MenuButton, RoutedTab } from './types';\n\nexport default function useAdaptiveTabs(tabs: Array, disabled?: boolean) {\n // to avoid flickering we set initial value to 0\n // so there will be no displayed tabs initially\n const [ tabsCut, setTabsCut ] = React.useState(disabled ? tabs.length : 0);\n const [ tabsRefs, setTabsRefs ] = React.useState>>([]);\n const listRef = React.useRef(null);\n const rightSlotRef = React.useRef(null);\n\n const calculateCut = React.useCallback(() => {\n const listWidth = listRef.current?.getBoundingClientRect().width;\n const rightSlotWidth = rightSlotRef.current?.getBoundingClientRect().width || 0;\n const tabWidths = tabsRefs.map((tab) => tab.current?.getBoundingClientRect().width);\n const menuWidth = tabWidths[tabWidths.length - 1];\n\n if (!listWidth || !menuWidth) {\n return tabs.length;\n }\n\n const { visibleNum } = tabWidths.slice(0, -1).reduce((result, item, index, array) => {\n if (!item) {\n return result;\n }\n\n if (result.visibleNum < index) {\n // means that we haven't increased visibleNum on the previous iteration, so there is no space left\n // we skip now till the end of the loop\n return result;\n }\n\n if (index === array.length - 1) {\n // last element\n if (result.accWidth + item < listWidth - rightSlotWidth) {\n return { visibleNum: result.visibleNum + 1, accWidth: result.accWidth + item };\n }\n } else {\n if (result.accWidth + item + menuWidth < listWidth - rightSlotWidth) {\n return { visibleNum: result.visibleNum + 1, accWidth: result.accWidth + item };\n }\n }\n\n return result;\n }, { visibleNum: 0, accWidth: 0 });\n\n return visibleNum;\n }, [ tabs.length, tabsRefs ]);\n\n React.useEffect(() => {\n setTabsRefs(tabs.map((_, index) => tabsRefs[index] || React.createRef()));\n setTabsCut(disabled ? tabs.length : 0);\n // update refs only when disabled prop changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ disabled ]);\n\n React.useEffect(() => {\n if (tabsRefs.length > 0 && !disabled) {\n setTabsCut(calculateCut());\n }\n }, [ calculateCut, disabled, tabsRefs ]);\n\n return React.useMemo(() => {\n return {\n tabsCut,\n tabsRefs,\n listRef,\n rightSlotRef,\n };\n }, [ tabsCut, tabsRefs ]);\n}\n","import React from 'react';\n\ninterface Props {\n activeTabIndex: number;\n tabsRefs: Array>;\n listRef: React.RefObject;\n isMobile?: boolean;\n}\n\nexport default function useScrollToActiveTab({ activeTabIndex, tabsRefs, listRef, isMobile }: Props) {\n React.useEffect(() => {\n if (activeTabIndex < tabsRefs.length && isMobile) {\n window.setTimeout(() => {\n const activeTabRef = tabsRefs[activeTabIndex];\n\n if (activeTabRef.current && listRef.current) {\n const activeTabRect = activeTabRef.current.getBoundingClientRect();\n\n listRef.current.scrollTo({\n left: activeTabRect.left + listRef.current.scrollLeft - 16,\n behavior: 'smooth',\n });\n }\n\n // have to wait until DOM is updated and all styles to tabs is applied\n }, 300);\n }\n // run only when tab index or device type is changed\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ activeTabIndex, isMobile ]);\n}\n","import type { StyleProps, ThemingProps } from '@chakra-ui/react';\nimport { Box, Tab, TabList, useColorModeValue } from '@chakra-ui/react';\nimport React from 'react';\n\nimport { useScrollDirection } from 'lib/contexts/scrollDirection';\nimport useIsMobile from 'lib/hooks/useIsMobile';\nimport useIsSticky from 'lib/hooks/useIsSticky';\n\nimport TabCounter from './TabCounter';\nimport TabsMenu from './TabsMenu';\nimport type { Props as TabsProps } from './TabsWithScroll';\nimport useAdaptiveTabs from './useAdaptiveTabs';\nimport useScrollToActiveTab from './useScrollToActiveTab';\nimport { menuButton } from './utils';\n\nconst hiddenItemStyles: StyleProps = {\n position: 'absolute',\n top: '-9999px',\n left: '-9999px',\n visibility: 'hidden',\n};\n\ninterface Props extends TabsProps {\n activeTabIndex: number;\n onItemClick: (index: number) => void;\n themeProps: ThemingProps<'Tabs'>;\n}\n\nconst AdaptiveTabsList = (props: Props) => {\n\n const scrollDirection = useScrollDirection();\n const listBgColor = useColorModeValue('white', 'black');\n const isMobile = useIsMobile();\n\n const tabsList = React.useMemo(() => {\n return [ ...props.tabs, menuButton ];\n }, [ props.tabs ]);\n\n const { tabsCut, tabsRefs, listRef, rightSlotRef } = useAdaptiveTabs(tabsList, isMobile);\n const isSticky = useIsSticky(listRef, 5, props.stickyEnabled);\n useScrollToActiveTab({ activeTabIndex: props.activeTabIndex, listRef, tabsRefs, isMobile });\n\n return (\n \n { tabsList.map((tab, index) => {\n if (!tab.id) {\n return (\n = tabsCut }\n styles={ tabsCut < props.tabs.length ?\n // initially our cut is 0 and we don't want to show the menu button too\n // but we want to keep it in the tabs row so it won't collapse\n // that's why we only change opacity but not the position itself\n { opacity: tabsCut === 0 ? 0 : 1 } :\n hiddenItemStyles\n }\n onItemClick={ props.onItemClick }\n buttonRef={ tabsRefs[index] }\n size={ props.themeProps.size || 'md' }\n />\n );\n }\n\n return (\n \n { typeof tab.title === 'function' ? tab.title() : tab.title }\n \n \n );\n }) }\n {\n props.rightSlot && tabsCut > 0 ?\n { props.rightSlot } :\n null\n }\n \n );\n};\n\nexport default React.memo(AdaptiveTabsList);\n","import type { LazyMode } from '@chakra-ui/lazy-utils';\nimport type { ChakraProps, ThemingProps } from '@chakra-ui/react';\nimport {\n Tabs,\n TabPanel,\n TabPanels,\n chakra,\n} from '@chakra-ui/react';\nimport _debounce from 'lodash/debounce';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport type { TabItem } from './types';\n\nimport AdaptiveTabsList from './AdaptiveTabsList';\nimport { menuButton } from './utils';\n\nexport interface Props extends ThemingProps<'Tabs'> {\n tabs: Array;\n lazyBehavior?: LazyMode;\n tabListProps?: ChakraProps | (({ isSticky, activeTabIndex }: { isSticky: boolean; activeTabIndex: number }) => ChakraProps);\n rightSlot?: React.ReactNode;\n rightSlotProps?: ChakraProps;\n stickyEnabled?: boolean;\n onTabChange?: (index: number) => void;\n defaultTabIndex?: number;\n className?: string;\n}\n\nconst TabsWithScroll = ({\n tabs,\n lazyBehavior,\n tabListProps,\n rightSlot,\n rightSlotProps,\n stickyEnabled,\n onTabChange,\n defaultTabIndex,\n className,\n ...themeProps\n}: Props) => {\n const [ activeTabIndex, setActiveTabIndex ] = useState(defaultTabIndex || 0);\n const [ screenWidth, setScreenWidth ] = React.useState(0);\n\n const tabsRef = useRef(null);\n\n const tabsList = React.useMemo(() => {\n return [ ...tabs, menuButton ];\n }, [ tabs ]);\n\n const handleTabChange = React.useCallback((index: number) => {\n onTabChange ? onTabChange(index) : setActiveTabIndex(index);\n }, [ onTabChange ]);\n\n useEffect(() => {\n if (defaultTabIndex !== undefined) {\n setActiveTabIndex(defaultTabIndex);\n }\n }, [ defaultTabIndex ]);\n\n React.useEffect(() => {\n const resizeHandler = _debounce(() => {\n setScreenWidth(window.innerWidth);\n }, 100);\n const resizeObserver = new ResizeObserver(resizeHandler);\n\n resizeObserver.observe(document.body);\n return function cleanup() {\n resizeObserver.unobserve(document.body);\n };\n }, []);\n\n if (tabs.length === 1) {\n return
{ tabs[0].component }
;\n }\n\n return (\n \n \n \n { tabsList.map((tab) => { tab.component }) }\n \n \n );\n};\n\nexport default React.memo(chakra(TabsWithScroll));\n","import { useRouter } from 'next/router';\n\nimport type { RoutedTab } from './types';\n\nimport getQueryParamString from 'lib/router/getQueryParamString';\n\nexport default function useTabIndexFromQuery(tabs: Array) {\n const router = useRouter();\n const tabFromQuery = getQueryParamString(router.query.tab);\n\n if (!tabFromQuery) {\n return 0;\n }\n\n const tabIndex = tabs.findIndex(({ id, subTabs }) => id === tabFromQuery || subTabs?.some((id) => id === tabFromQuery));\n\n if (tabIndex < 0) {\n return 0;\n }\n\n return tabIndex;\n}\n"],"names":["__webpack_exports__","Z","chakra","props","isError","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","DataFetchAlert","className","filterProps","hasActiveFilters","items","length","jsxs","Box","actionBar","EmptySearchResult","text","emptyFilteredText","content","emptyText","Text","param","display","flexDirection","alignItems","IconSvg","name","boxSize","Heading","as","marginBottom","fontSize","base","sm","fontWeight","variant","align","children","isAnimated","Flex","motion","div","initial","opacity","scale","animate","transitionDuration","transitionTimingFunction","rowGap","paddingY","borderColor","borderTopWidth","_last","borderBottomWidth","lineHeight","React","tabs","tabListProps","rightSlot","rightSlotProps","stickyEnabled","onTabChange","themeProps","router","useRouter","tabIndex","useTabIndexFromQuery","tabsRef","useRef","handleTabChange","nextTab","index","queryForPathname","_pickBy","query","value","key","pathname","includes","concat","push","tab","id","undefined","shallow","useEffect","scroll_to_tabs","current","scrollIntoView","TabsWithScroll","defaultTabIndex","Tabs_TabCounter","count","zeroCountColor","useColorModeValue","jsx_runtime","span","color","ml","getDefaultTransitionProps","menuButton","title","middot","component","Tabs_TabsMenu","tabsCut","isActive","styles","onItemClick","buttonRef","activeTab","size","isOpen","onClose","onOpen","useDisclosure","handleItemClick","event","currentTarget","getAttribute","Number","Popover","isLazy","placement","closeDelay","PopoverTrigger","Button","ref","PopoverContent","w","PopoverBody","flexDir","slice","map","onClick","justifyContent","data-index","sx","TabCounter","hiddenItemStyles","position","top","left","visibility","Tabs_AdaptiveTabsList","scrollDirection","useScrollDirection","listBgColor","isMobile","useIsMobile","tabsList","tabsRefs","listRef","rightSlotRef","useAdaptiveTabs","disabled","setTabsCut","setTabsRefs","calculateCut","listWidth","getBoundingClientRect","width","rightSlotWidth","tabWidths","menuWidth","visibleNum","reduce","result","item","array","accWidth","_","isSticky","useIsSticky","useScrollToActiveTab","activeTabIndex","window","setTimeout","activeTabRef","activeTabRect","scrollTo","scrollLeft","behavior","TabList","lg","mx","px","flexWrap","whiteSpace","overflowX","overscrollBehaviorX","css","bgColor","transitionProperty","boxShadow","zIndex","Tab","scrollSnapAlign","flexShrink","TabsMenu","Tabs_TabsWithScroll","lazyBehavior","setActiveTabIndex","useState","screenWidth","setScreenWidth","resizeHandler","_debounce","innerWidth","resizeObserver","ResizeObserver","observe","document","body","unobserve","Tabs","colorScheme","onChange","AdaptiveTabsList","TabPanels","TabPanel","padding","tabFromQuery","getQueryParamString","findIndex","subTabs","some"],"sourceRoot":""}