{"version":3,"file":"static/js/custom-menu.94773cf6.chunk.js","mappings":"iOAmBA,MAAM,SAAEA,IAAaC,EAAAA,EAAAA,IACnB,IACE,6DAgBSC,GAAaC,EAAAA,EAAAA,OACxBC,IAWuC,IAXtC,MACCC,EAAK,UACLC,EAAS,WACTC,EAAU,cACVC,EAAa,cACbC,EAAa,SACbC,EAAQ,MACRC,EAAK,SACLC,EAAQ,UACRC,EAAS,WACTC,GACiBV,EACjB,MAAMW,GAAoCC,EAAAA,EAAAA,QAAO,MAUjD,OARAC,EAAAA,EAAAA,IAAgB,KAAO,IAADC,EACN,QAAdA,EAAAH,EAAOI,eAAO,IAAAD,GAAdA,EAAgBE,eAAe,CAC7BC,SAAU,SACVC,OAAQ,UACRC,MAAO,WACP,GACD,CAAChB,KAGFiB,EAAAA,EAAAA,KAAA,OACEX,WAAWY,EAAAA,EAAAA,GAAG,CACZ,uBAAuBZ,GAAa,KACpC,CACE,+BAA+Ba,EAAAA,EAAAA,KAC/B,iCAAiCA,EAAAA,EAAAA,KACjC,iCAAkCpB,EAClC,+BAAgCG,EAChC,gCAAiCC,KAElCiB,UAEHC,EAAAA,EAAAA,MAAA,OAAKf,UAAU,aAAYc,SAAA,CACxBf,GAAYiB,EAAAA,GAAcC,kBACzBN,EAAAA,EAAAA,KAACO,EAAAA,SAAQ,CAAAJ,UACPH,EAAAA,EAAAA,KAACxB,EAAQ,MAET,KAEHK,EAAM2B,KAAIC,IAAI,IAAAC,EAAA,OACbV,EAAAA,EAAAA,KAAA,OACEW,KAAKT,EAAAA,EAAAA,MAAcnB,IAAe0B,EAAKG,IAAMrB,EAAS,KAEtDF,WAAWY,EAAAA,EAAAA,GAAG,CACZ,mBACA,CACE,4BAA4BC,EAAAA,EAAAA,KAC5B,4BAA6BjB,EAC7B,2BAA4BF,IAAe0B,EAAKG,OAGpDC,QAASA,IAAM7B,EAAcyB,EAAKG,KAClC,cAAuB,QAAvBF,EAAaD,EAAKK,aAAK,IAAAJ,OAAA,EAAVA,EAAYK,cACzBC,MAAO1B,EAAWa,SAEjBM,EAAKQ,UACJjB,EAAAA,EAAAA,KAACkB,EAAAA,EAAQ,CACP7B,UAAU,uBACV8B,MAAO,CAAEC,MAAO,QAChBC,WAAW,KAGbjB,EAAAA,EAAAA,MAAAkB,EAAAA,SAAA,CAAAnB,SAAA,CACGM,EAAKc,OACJvB,EAAAA,EAAAA,KAAA,OACEX,WAAWY,EAAAA,EAAAA,GAAG,CACZ,yBACA,CAAE,kCAAmChB,KACpCkB,SAEFM,EAAKc,QAGVvB,EAAAA,EAAAA,KAAA,QACEX,UAAW,2BACTD,EAAW,sCAAwC,MAEnDL,IAAe0B,EAAKG,KAAO3B,EAAgB,SAAW,KACrDkB,SAEFM,EAAKK,QAEP3B,GAAa,OAAJsB,QAAI,IAAJA,GAAAA,EAAMtB,OACda,EAAAA,EAAAA,KAAA,QAAMX,UAAU,yBAAwBc,SAAEM,EAAKtB,QAE/C,OA3CDsB,EAAKG,KAAOH,EAAKK,MA+ClB,QAGN,G","sources":["components/UI/CustomMenu/index.tsx"],"sourcesContent":["import {\n CSSProperties,\n memo,\n ReactElement,\n RefObject,\n Suspense,\n useRef\n} from 'react';\nimport cc from 'classcat';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { lazy } from 'utils/generic/lazy';\nimport { isMobile } from 'utils/is-mobile';\nimport type { ICustomMenuItem } from 'interfaces/generic';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport { useUpdateEffect } from 'newhooks/generic/useUpdateEffect';\nimport './index.less';\n\n//TODO as CustomMenu is UI component, need to remove Homework logic from here @todo-ignore\n//attention: this should be fixed when we have partner with homework functionality\nconst { Homework } = lazy(\n () =>\n import(/* webpackChunkName: \"homework\" */ 'newelements/Generics/homework')\n);\n\nexport type TCustomMenuProps = {\n items: ICustomMenuItem[];\n setActiveItem: Function;\n activeItem: number | string;\n fullWidth?: boolean;\n inverseColors?: boolean;\n disabled?: boolean;\n count?: boolean;\n homework?: boolean;\n className?: string;\n itemStyles?: CSSProperties;\n};\n\nexport const CustomMenu = memo(\n ({\n items,\n fullWidth,\n activeItem,\n setActiveItem,\n inverseColors,\n disabled,\n count,\n homework,\n className,\n itemStyles\n }: TCustomMenuProps): ReactElement => {\n const tabRef: RefObject = useRef(null);\n\n useUpdateEffect(() => {\n tabRef.current?.scrollIntoView({\n behavior: 'smooth',\n inline: 'nearest',\n block: 'nearest'\n });\n }, [activeItem]);\n\n return (\n \n
\n {homework && SpringConfigs.HOMEWORK_ENABLED ? (\n \n \n \n ) : null}\n\n {items.map(item => (\n setActiveItem(item.key)}\n data-testid={item.value?.toLowerCase()}\n style={itemStyles}\n >\n {item.skeleton ? (\n \n ) : (\n <>\n {item.icon && (\n \n {item.icon}\n
\n )}\n \n {item.value}\n \n {count && item?.count ? (\n {item.count}\n ) : (\n ''\n )}\n \n )}\n \n ))}\n \n \n );\n }\n);\n"],"names":["Homework","lazy","CustomMenu","memo","_ref","items","fullWidth","activeItem","setActiveItem","inverseColors","disabled","count","homework","className","itemStyles","tabRef","useRef","useUpdateEffect","_tabRef$current","current","scrollIntoView","behavior","inline","block","_jsx","cc","isMobile","children","_jsxs","SpringConfigs","HOMEWORK_ENABLED","Suspense","map","item","_item$value","ref","key","onClick","value","toLowerCase","style","skeleton","Skeleton","title","width","paragraph","_Fragment","icon"],"sourceRoot":""}