{"version":3,"sources":["marketing/shared/images/features.png","marketing/shared/images/ABNB_CompTable_IPOIntelligence_a.png","marketing/shared/images/ABNB_Model_IPOIntelligence_b.png","shared/images/logo-header-orange.png","marketing/shared/optimized-picture/images/overview-meeting/image-576.webp","marketing/shared/optimized-picture/images/overview-meeting/image-768.webp","marketing/shared/optimized-picture/images/overview-meeting/image-992.webp","marketing/shared/optimized-picture/images/overview-meeting/image-1200.webp","marketing/shared/optimized-picture/images/overview-meeting/image.webp","marketing/shared/optimized-picture/images/overview-meeting/image-576.jpg","marketing/shared/optimized-picture/images/overview-meeting/image-768.jpg","marketing/shared/optimized-picture/images/overview-meeting/image-992.jpg","marketing/shared/optimized-picture/images/overview-meeting/image-1200.jpg","marketing/shared/optimized-picture/images/overview-meeting/image.jpg","marketing/shared/optimized-picture/images/research-meeting/image-576.webp","marketing/shared/optimized-picture/images/research-meeting/image-768.webp","marketing/shared/optimized-picture/images/research-meeting/image-992.webp","marketing/shared/optimized-picture/images/research-meeting/image-1200.webp","marketing/shared/optimized-picture/images/research-meeting/image.webp","marketing/shared/optimized-picture/images/research-meeting/image-576.jpg","marketing/shared/optimized-picture/images/research-meeting/image-768.jpg","marketing/shared/optimized-picture/images/research-meeting/image-992.jpg","marketing/shared/optimized-picture/images/research-meeting/image-1200.jpg","marketing/shared/optimized-picture/images/research-meeting/image.jpg","marketing/shared/optimized-picture/images/features-buildings/image-576.webp","marketing/shared/optimized-picture/images/features-buildings/image-768.webp","marketing/shared/optimized-picture/images/features-buildings/image-992.webp","marketing/shared/optimized-picture/images/features-buildings/image-1200.webp","marketing/shared/optimized-picture/images/features-buildings/image.webp","marketing/shared/optimized-picture/images/features-buildings/image-576.jpg","marketing/shared/optimized-picture/images/features-buildings/image-768.jpg","marketing/shared/optimized-picture/images/features-buildings/image-992.jpg","marketing/shared/optimized-picture/images/features-buildings/image-1200.jpg","marketing/shared/optimized-picture/images/features-buildings/image.jpg","marketing/shared/optimized-picture/images/who-uses-us-businessmen/image-576.webp","marketing/shared/optimized-picture/images/who-uses-us-businessmen/image-768.webp","marketing/shared/optimized-picture/images/who-uses-us-businessmen/image-992.webp","marketing/shared/optimized-picture/images/who-uses-us-businessmen/image-1200.webp","marketing/shared/optimized-picture/images/who-uses-us-businessmen/image.webp","marketing/shared/optimized-picture/images/who-uses-us-businessmen/image-576.jpg","marketing/shared/optimized-picture/images/who-uses-us-businessmen/image-768.jpg","marketing/shared/optimized-picture/images/who-uses-us-businessmen/image-992.jpg","marketing/shared/optimized-picture/images/who-uses-us-businessmen/image-1200.jpg","marketing/shared/optimized-picture/images/who-uses-us-businessmen/image.jpg","marketing/shared/optimized-picture/images/about-door-logo/image-576.webp","marketing/shared/optimized-picture/images/about-door-logo/image-768.webp","marketing/shared/optimized-picture/images/about-door-logo/image-992.webp","marketing/shared/optimized-picture/images/about-door-logo/image-1200.webp","marketing/shared/optimized-picture/images/about-door-logo/image.webp","marketing/shared/optimized-picture/images/about-door-logo/image-576.jpg","marketing/shared/optimized-picture/images/about-door-logo/image-768.jpg","marketing/shared/optimized-picture/images/about-door-logo/image-992.jpg","marketing/shared/optimized-picture/images/about-door-logo/image-1200.jpg","marketing/shared/optimized-picture/images/about-door-logo/image.jpg","marketing/shared/images/Sheet_Icon_IPOIntelligence.png","shared/components/icon/rencap-SVG-sprite.svg","marketing/shared/images/PCW_IPOIntelligence_base.png","marketing/shared/images/PCW_IPOIntelligence.png","marketing/shared/images/Pipeline_IPOIntelligence_base.png","marketing/shared/images/Pipeline_IPOIntelligence.png","marketing/shared/images/Profile_IPOIntelligence_base.png","marketing/shared/images/Profile_IPOIntelligence.png","marketing/shared/images/MgmtQuestions_IPOIntelligence_base.png","marketing/shared/images/MgmtQuestions_IPOIntelligence.png","marketing/shared/images/ABNB_Report_IPOIntelligence_a_base.png","marketing/shared/images/ABNB_Report_IPOIntelligence_a.png","marketing/shared/images/ABNB_Report_IPOIntelligence_b.png","marketing/shared/images/ABNB_Report_IPOIntelligence_c.png","marketing/shared/images/ABNB_Report_IPOIntelligence_d.png","marketing/shared/images/ABNB_Report_IPOIntelligence_e.png","marketing/shared/images/ABNB_Report_IPOIntelligence_f.png","marketing/shared/images/ABNB_Report_IPOIntelligence_g.png","marketing/shared/images/ABNB_CompTable_IPOIntelligence_a_base.png","marketing/shared/images/PricingNote_IPOIntelligence_base.png","marketing/shared/images/PricingNote_IPOIntelligence.png","marketing/shared/images/clients/jefferies-logo.png","marketing/shared/images/clients/deutsche-bank-logo.png","marketing/shared/images/clients/t-rowe-price-logo-c.png","marketing/shared/images/clients/federated-logo.png","marketing/shared/images/UnbiasedRatings_IPOIntelligence_resized.png","marketing/shared/images/IPOsWithAlpha_IPOIntelligence.png","marketing/shared/images/DontWasteTime_IPOIntelligence.png","marketing/shared/images/GetPluggedIn_IPOIntelligence.png","marketing/shared/images/ObjectiveBullBear_IPOIntelligence.png","marketing/shared/images/ABNB_CompTable_IPOIntelligence_a_base_wide.png","marketing/shared/images/TimelyActionable_IPOIntelligence.png","marketing/shared/images/clients/wsj-logo.png","marketing/shared/images/clients/the-new-york-times-logo.png","marketing/shared/images/clients/bloomberg-logo.png","marketing/shared/images/clients/fox-news-logo.png","marketing/shared/images/clients/cnn-logo.png","marketing/shared/images/clients/forbes-logo.png","marketing/shared/images/clients/investors-business-daily-logo.png","marketing/shared/images/clients/cnbc-logo.png","marketing/shared/images/clients/fortune-logo.png","marketing/shared/images/clients/barrons-logo.png","marketing/shared/images/clients/npr-logo.png","store/header/types.ts","store/header/actions.ts","shared/enums/RoutePath.ts","shared/constants/environment.ts","shared/components/header/HeaderLogoBem.ts","shared/constants/urls.ts","shared/components/main-menu/MainMenuList.tsx","shared/components/main-menu/MainMenu.tsx","shared/components/header/HeaderPublicMenu.tsx","shared/services/BemService.ts","shared/hooks/useClassName.ts","shared/components/header/HeaderLogo.tsx","shared/components/header/HeaderMainMenu.tsx","marketing/shared/optimized-picture/enums/OptimizedPictureType.ts","shared/effects/escEffect.ts","shared/components/header/Header.tsx","marketing/shared/optimized-picture/constatns/optimizedPicturesLinks.ts","shared/components/primary-section/PrimarySectionIndent.tsx","marketing/shared/optimized-picture/OptimizedPicture.tsx","shared/components/inner-component/InnerComponentBem.ts","shared/enums/AlignTypesHorizontal.ts","shared/components/inner-component/InnerComponent.tsx","shared/components/primary-section/primarySectionAdditionalActionBem.ts","shared/components/primary-section/PrimarySectionAdditionalAction.tsx","shared/components/primary-section/primarySectionSubheaderBem.ts","shared/components/primary-section/PrimarySectionSubheader.tsx","shared/components/primary-section/primarySectionBem.ts","shared/enums/ComponentMessage.ts","shared/components/loader/Loader.tsx","shared/components/EmptyDataBlock.tsx","shared/components/overlay-container/OverlayContainerBem.ts","shared/helpers/ObjectHelper.ts","shared/components/overlay-container/OverlayContainer.tsx","shared/components/loader/loaderContainerBem.ts","shared/components/loader/LoaderContainer.tsx","shared/components/primary-section/primarySectionRowBem.ts","shared/components/loader/PageLoader.tsx","shared/components/primary-section/PrimarySection.tsx","shared/components/primary-section/PrimarySectionRow.tsx","shared/enums/BreakpointSizes.ts","shared/components/forms/LinkButton.tsx","marketing/shared/Feature.tsx","shared/constants/linkText.ts","shared/components/chart/enums/ChartValuesType.ts","shared/enums/NumberFormat.ts","shared/helpers/NumberHelper.ts","shared/components/chart/enums/ChartColorScheme.ts","shared/components/chart/services/ChartTooltipFormatterService.ts","shared/entities/chart/constants/annualRatingsPerfomanceChart.ts","shared/components/chart/constants/options/horizontalColumnChartOptions.ts","shared/enums/AnimationDuration.ts","shared/components/chart/enums/ChartExportButton.ts","shared/components/chart/constants/options/baseChartOptions.ts","shared/components/htmlStringFormatterBem.ts","shared/components/chart/services/ChartService.ts","shared/components/chart/constants/options/chartOptionsSettings.ts","shared/components/chart/ChartBem.ts","shared/components/HtmlStringFormatter.tsx","shared/helpers/convertHtml.ts","shared/components/chart/ChartContent.tsx","shared/components/chart/Chart.tsx","shared/components/chart/constants/options/globalChartOptions.ts","shared/components/chart/enums/ChartType.ts","shared/components/chart/constants/options/lineStockChartOptions.ts","shared/components/chart/services/ChartValueFormatters.ts","shared/components/chart/constants/options/percentageColumnChartOptions.ts","shared/components/chart/constants/options/verticalColumnChartOptions.ts","shared/entities/chart/annualRatingsPerformanceChartBem.ts","shared/components/chart/constants/options/verticalPercentageColumnChartOptions.ts","shared/components/chart/constants/options/verticalCurrencyChartOptions.ts","shared/components/chart/factories/ChartFactory.tsx","shared/entities/chart/AnnualRatingsPerformanceChart.tsx","shared/enums/ColorScheme.ts","marketing/shared/TextContainer.tsx","marketing/shared/performance/MarketingPerformance.tsx","marketing/overview/OverviewPerformance.tsx","marketing/shared/RequestTrial.tsx","shared/components/icon/IconName.ts","shared/components/icon/IconBem.ts","marketing/shared/quotes/QuotesItem.tsx","marketing/shared/quotes/Quotes.tsx","marketing/shared/HeaderLine.tsx","marketing/shared/MultipleQuotes.tsx","shared/components/icon/factories/IconFactory.ts","marketing/research/enum/ResearchTextElement.ts","shared/components/icon/Icon.tsx","shared/components/lightbox/LightBoxContext.tsx","shared/components/lightbox/LightBox.tsx","marketing/shared/ScreenshotDescription.tsx","marketing/overview/features/featuresProps.tsx","marketing/overview/features/OverviewFeatures.tsx","shared/components/carousel/CarouselArrow.tsx","shared/components/carousel/settings.tsx","shared/components/carousel/Carousel.tsx","shared/components/carousel/CarouselItem.tsx","marketing/shared/CarouselWithNewspapers.tsx","marketing/overview/featured/OverviewFeatured.tsx","shared/constants/documentHead.ts","shared/components/DocumentHead.tsx","marketing/shared/CarouselWithAllClients.tsx","marketing/overview/Overview.tsx","marketing/shared/SubheaderQuote.tsx","marketing/research/researchScreenshotDescriptionProps.ts","marketing/research/ResearchProcess.tsx","marketing/pricing/enum/PricingTextElement.ts","marketing/research/ResearchIpoLifecycle.tsx","marketing/research/flow/ResearchFlowItem.tsx","marketing/research/flow/ResearchFlow.tsx","marketing/research/ResearchProcessHeader.tsx","marketing/research/flow/flowProps.ts","marketing/research/Research.tsx","marketing/whoUsesUs/clients.ts","marketing/whoUsesUs/OurClient.tsx","marketing/whoUsesUs/OurClients.tsx","marketing/whoUsesUs/WhoUsesUs.tsx","marketing/pricing/items.ts","marketing/pricing/additionalItems.ts","marketing/about/ipoUnits/enum/AboutUnitTextElement.ts","shared/history.ts","shared/services/ScrollService.ts","shared/services/LocationQueryStringService.ts","shared/services/LocationService.ts","marketing/pricing/PricingDescription.tsx","marketing/pricing/itemsList.ts","marketing/shared/DescriptionList.tsx","marketing/pricing/PricingDescriptionList.tsx","marketing/pricing/Pricing.tsx","marketing/about/ipoUnits/AboutUnit.tsx","marketing/about/ipoUnits/AboutUnits.tsx","shared/enums/ControlSize.ts","marketing/about/unitProps.ts","marketing/about/About.tsx","shared/components/NotFound.tsx","shared/components/typography/ReducedSizeText.tsx","AppBem.ts","shared/components/typography/SizeText.tsx","shared/components/ordered-list/OrderedItem.tsx","shared/components/ordered-list/OrderedList.tsx","marketing/userPrivacy/userPrivacyInfo.tsx","marketing/userPrivacy/UserPrivacy.tsx","disclosures/Disclosures.tsx","routes/Routes.tsx","shared/components/Divider.tsx","shared/components/footer/FooterLogo.tsx","shared/components/footer/FooterFollowUs.tsx","shared/components/footer/Footer.tsx","App.tsx","shared/effects/useHistoryChange.ts","serviceWorker.ts","store/header/reducers.ts","shared/services/RandomizeService.ts","store/notification/helpers.ts","store/notification/reducers.ts","store/index.ts","store/notification/types.ts","index.tsx"],"names":["module","exports","TOGGLE_MOBILE_MENU","CLOSE_MOBILE_MENU","SET_ADDITIONAL_MENU_VISIBILITY","closeMobileMenu","type","payload","RoutePath","process","REACT_APP_LOCK_UPS_VIEW_ID","REACT_APP_EXPIRED_LOCK_UPS_VIEW_ID","HeaderLogoBlock","HeaderLogoElement","PORTAL_SITE_URL","IPO_INTELLIGENCE_CLIENT_SITE_LOGIN_URL","IPO_INTELLIGENCE_CLIENT_SITE_CONTACT_US","IPO_INTELLIGENCE_CLIENT_SITE_FREE_TRIAL","MainMenuList","dispatch","useDispatch","open","useSelector","state","header","isMobileMenuOpen","onLinkClick","useCallback","className","activeClassName","to","Overview","exact","onClick","Features","WhoUsesUs","Pricing","href","target","rel","About","MainMenu","isMenuOpen","classNames","HeaderPublicMenu","BemService","block","element","useClassName","component","additionalComponent","elementOrModifiers","optionalModifiers","modifiers","modifiersDictionary","getElement","mapKeys","value","modifier","HeaderLogo","cn","Root","View","Home","Print","alt","src","require","OptimizedPictureType","HeaderMainMenu","onButtonClick","useEffect","callback","use","onKeyDown","event","includes","key","document","addEventListener","removeEventListener","escEffect","Header","PrimarySectionIndent","optimizedPicturesLinks","OverviewMeeting","webp576","webp768","webp992","webp1200","webp","jpg576","jpg768","jpg992","jpg1200","jpg","ResearchMeeting","FeaturesBuilding","WhoUsesUsBusinessmen","AboutDoorLogo","OptimizedPicture","props","images","srcSet","sizes","InnerComponentBlock","InnerComponentElement","AlignTypesHorizontal","PrimarySectionAdditionalActionBlock","InnerComponent","options","alignTypeHorizontal","Start","Content","PrimarySectionSubheaderBlock","PrimarySectionAdditionalAction","PrimarySectionBlock","PrimarySectionElement","PrimarySectionModifier","PrimarySectionSubheader","ComponentMessage","Loader","Spinner","animation","size","description","OverlayContainerBlock","OverlayContainerElement","EmptyDataBlock","content","NoData","ObjectHelper","isEmpty","newValue","pickBy","obj","Object","values","reduce","res","childObject","object","isNil","objectA","objectB","newObjectA","this","deleteEmptyProps","newObjectB","isEqual","LoaderContainerBlock","LoaderContainerModifier","OverlayContainer","hasBackground","backgroundFill","isBackgroundFill","style","onContainerClick","onMouseDown","onContainerMouseDown","onMouseUp","onContainerMouseUp","Overlay","contentStyle","children","PrimarySectionRowBlock","PrimarySectionRowElement","PrimarySectionRowModifier","LoaderContainer","Absolute","isAbsolute","overlayContentStyle","PageLoader","otherwise","loading","otherwiseContent","isOverlay","useMemo","arePropsEmpty","simpleLoaderContent","overlayLoaderContent","PrimarySection","indent","External","maxContainerSize","containerCn","Container","colorScheme","additionalAction","Underlined","isUnderlinedHeader","subHeader","isLoading","BreakpointSizes","PrimarySectionRow","gridType","HeaderContent","NoBorder","isHeaderNoBorder","alignHorizontal","ButtonIcon","linkUrl","linkText","Feature","Xxl","optimizedPictureType","ChartValuesType","NumberFormat","ChartColorScheme","NumberHelper","format","numeral","toUpperCase","getFormatValue","WithComma","valueToFormat","isString","parseInt","isFinite","ChartTooltipFormatterService","pointsView","getPoints","points","pointsValueType","formatter","getRows","getHeader","title","point","pointValueType","Percentage","y","PercentageInteger","Currency","CurrencyFloatWithLetter","Float","Integer","PercentageFloat","getPointValue","colorIndex","series","name","map","getPoint","getPointValueType","index","isArray","text","tooltipRows","join","annualRatingsPerformanceChart","chart","spacingTop","marginTop","subtitle","yAxis","labels","max","min","xAxis","categories","data","tooltip","getTooltip","x","plotOptions","column","dataLabels","responsive","rules","condition","maxWidth","ExtraSmall","chartOptions","visible","credits","enabled","AnimationDuration","ChartExportButton","horizontalColumnChartOptions","reversed","step","HtmlStringFormatterBlock","baseChartOptions","styledMode","height","exporting","buttons","contextButton","menuItems","DownloadPNG","DownloadJPEG","DownloadPDF","DownloadSVG","legend","line","zIndex","duration","Chart","stackLabels","shared","position","align","ChartService","optionsList","seriesValueFormatter","hasNoIndents","getOptions","getFormattedSeries","hasCredits","spacingLeft","spacingRight","spacingBottom","undefined","rangeSelector","set","length","defaultsDeep","updatedOptions","cloneDeep","seriesOption","ChartBlock","ChartElement","HtmlStringFormatter","reactHtmlParse","str","i","modifiedTxt","nextChar","charAt","test","convertHtml","memo","highcharts","Highcharts","constructorType","immutable","ref","chartRef","HighchartsExporting","setOptions","lang","rangeSelectorZoom","contextButtonTitle","ChartType","getChartOptions","isStock","Title","filters","Filters","hasData","lineStockChartOptions","navigator","scrollbar","ChartValueFormatters","item","Math","round","percentageColumnChartOptions","pointFormat","AnnualRatingsPerformanceChartBlock","verticalColumnChartOptions","stacking","verticalPercentageColumnChartOptions","verticalCurrencyChartOptions","total","CurrencyIntegerWithLetter","ChartFactory","chartProps","additionalOptions","concat","getChartComponent","percentageValueFormatter","Base","getBase","HorizontalColumn","getHorizontalColumn","LineStock","getLineStock","PersentageColumn","getPercentageColumn","VerticalColumn","getVerticalColumn","VerticalPercentageColumn","getVerticalPercentageColumn","VerticalCurrencyColumn","getVerticalCurrencyColumn","ColorScheme","AnnualRatingsPerformanceChart","Performance","getChart","TextContainer","MarketingPerformance","OverviewPerformance","RequestTrial","large","Primary","Center","defaultProps","IconName","IconBlock","IconModifier","QuotesItem","quote","author","Quotes","HeaderLine","MultipleQuotes","ResearchTextElement","IconFactory","Excel","Success","Pdf","Danger","Icon","get","Sheet","Hover","hasHover","LightBoxContextDefaults","LightBoxContext","createContext","LightBox","useContext","setImages","setIndex","onCloseRequest","onMovePrevRequest","onMoveNextRequest","mainSrc","nextSrc","prevSrc","videoCardStyle","top","left","right","bottom","marginRight","transform","overflow","overlay","backgroundColor","ScreenshotDescription","useState","React","modalIsOpen","setIsModalOpen","openModal","contextValue","openLightBox","Array","imageUrl","titleWithIcon","icon","layoutStyle","Provider","reverse","isVideo","isOpen","onRequestClose","contentLabel","width","frameBorder","allow","allowFullScreen","cursor","baseImageUrl","featuresProps","GrowingChart","Eye","Magnifier","Spyglass","Chess","Clock","OverviewFeatures","Gray","CarouselArrow","settings","dots","infinite","arrows","swipeToSlide","slidesToScroll","slidesToShow","touchThreshold","prevArrow","LeftArrow","nextArrow","RightArrow","breakpoint","Large","Medium","Small","Carousel","CarouselItem","CarouselWithNewspapers","OverviewFeatured","DOCUMENT_HEAD","Research","UserPrivacy","NotFound","COMPANY_NAME","DocumentHead","headData","path","custom","compositeDescription","defaultTitle","titleTemplate","meta","CarouselWithAllClients","None","Internal","button","SubheaderQuote","researchScreenshotDescriptionProps","PricingTextElement","ResearchProcess","ContactUs","ResearchIpoLifecycle","ResearchFlowItem","ResearchFlow","items","itemProps","ResearchProcessHeader","researchFlowProps","clients","Money","Bank","ChartBoard","Manager","Suitcase","Manufacturing","MoneyPig","Group","OurClient","OurClients","additionalItems","AboutUnitTextElement","history","createBrowserHistory","ScrollService","window","scrollTo","LOCATION_QUERY_STRING_BASE_OPTIONS","arrayFormat","LocationQueryStringService","searchData","stringify","identity","queryString","parse","routePath","parseUrl","LocationService","getQueryStringFromSearchData","pathname","search","getSearch","createHref","getRelativePath","origin","location","shouldReplace","replace","push","scrollToTop","redirectToLocation","url","self","redirect","routePaths","currentLocation","go","locationA","locationB","isSameLocation","reloadPage","PricingDescription","onContactClick","e","preventDefault","redirectExternalLink","today","Date","getFullYear","CircleCheck","itemsList","DescriptionList","PricingDescriptionList","AboutUnit","link","ControlSize","AboutUnits","units","Contact","unitProps","AppBlock","AppElement","ReducedSizeText","SizeText","OrderedItem","isTitleHighlighted","OrderedList","isItemTitleHighlighted","isTitleSizeAsItem","userPrivacyInfo","Routes","Disclosures","Divider","FooterLogo","FooterFollowUs","Facebook","Twitter","LinkedIn","Youtube","Footer","App","ReactGA","initialize","listen","page","pageview","gaUserId","sessionStorage","getItem","gaAccountId","dimension3","dimension5","prevLocation","setPrevLocation","unlisten","useHistoryChange","reloadPageIfSameLocation","Compact","Boolean","hostname","match","initialState","isAdditionalMenuVisible","RandomizeService","uuidv4","addNotification","notification","notifications","id","generateUuid","removeNotification","filter","rootReducer","combineReducers","action","toast","store","createStore","applyMiddleware","thunk","root","getElementById","hasChildNodes","hydrate","render","serviceWorker","ready","then","registration","unregister"],"mappings":"kIAAAA,EAAOC,QAAU,IAA0B,sC,8ECA3CD,EAAOC,QAAU,IAA0B,8D,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gYCA3CD,EAAOC,QAAU,IAA0B,gD,kJCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,oC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,mC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,oC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,mC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,oC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,mC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,oC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,mC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,oC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,mC,0ECA3CD,EAAOC,QAAU,80I,gBCAjBD,EAAOC,QAAU,IAA0B,+C,gHCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,iD,gBCA3CD,EAAOC,QAAU,IAA0B,2D,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,qD,gBCA3CD,EAAOC,QAAU,IAA0B,gE,gBCA3CD,EAAOC,QAAU,IAA0B,2D,gBCA3CD,EAAOC,QAAU,IAA0B,gE,gBCA3CD,EAAOC,QAAU,IAA0B,2D,gBCA3CD,EAAOC,QAAU,IAA0B,2D,gBCA3CD,EAAOC,QAAU,IAA0B,2D,gBCA3CD,EAAOC,QAAU,IAA0B,2D,gBCA3CD,EAAOC,QAAU,IAA0B,2D,gBCA3CD,EAAOC,QAAU,IAA0B,2D,gBCA3CD,EAAOC,QAAU,IAA0B,2D,gBCA3CD,EAAOC,QAAU,IAA0B,mE,gBCA3CD,EAAOC,QAAU,IAA0B,8D,gBCA3CD,EAAOC,QAAU,IAA0B,yD,4JCA3CD,EAAOC,QAAU,88N,cCAjBD,EAAOC,QAAU,k/O,cCAjBD,EAAOC,QAAU,0vW,gBCAjBD,EAAOC,QAAU,IAA0B,4C,2VCA3CD,EAAOC,QAAU,IAA0B,qE,gBCA3CD,EAAOC,QAAU,IAA0B,2D,gBCA3CD,EAAOC,QAAU,IAA0B,2D,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,+D,gBCA3CD,EAAOC,QAAU,IAA0B,wE,gBCA3CD,EAAOC,QAAU,IAA0B,8D,kCCA3CD,EAAOC,Q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","file":"static/js/main.06b3b0d1.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/features.d917c82d.png\";","module.exports = __webpack_public_path__ + \"static/media/ABNB_CompTable_IPOIntelligence_a.aa9dfeb8.png\";","module.exports = __webpack_public_path__ + \"static/media/ABNB_Model_IPOIntelligence_b.a8d54dbc.png\";","module.exports = __webpack_public_path__ + \"static/media/logo-header-orange.df2ef99f.png\";","module.exports = __webpack_public_path__ + \"static/media/image-576.8d7f9ded.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-768.18540a3c.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-992.2110560a.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-1200.9ccbd81c.webp\";","module.exports = __webpack_public_path__ + \"static/media/image.d50c7257.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-576.7defe43d.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-768.24f18e7a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-992.696b79d4.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-1200.dc0385ae.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image.e36dc5f4.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-576.2d4d756a.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-768.269181e6.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-992.70b7c1b4.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-1200.cfd75d08.webp\";","module.exports = __webpack_public_path__ + \"static/media/image.30879c38.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-576.7cceea74.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-768.7845ff5c.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-992.67ea0107.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-1200.ece046d3.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image.b48eb9e3.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-576.e8123bae.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-768.cca5dbf7.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-992.cd4e3d2a.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-1200.d4fd2fe3.webp\";","module.exports = __webpack_public_path__ + \"static/media/image.eca9f038.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-576.1911e83a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-768.374e1881.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-992.360db616.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-1200.a7db84e5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image.952e0fb3.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-576.fb440585.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-768.c46710ee.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-992.b267c1f3.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-1200.85d1185a.webp\";","module.exports = __webpack_public_path__ + \"static/media/image.9ce6e773.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-576.282431ed.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-768.071448e1.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-992.f895f6b8.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-1200.2c0f99c5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image.82ccdfb5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-576.1c0bcb21.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-768.8cb14694.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-992.1aa4a0ea.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-1200.48ab8a72.webp\";","module.exports = __webpack_public_path__ + \"static/media/image.61c0be53.webp\";","module.exports = __webpack_public_path__ + \"static/media/image-576.0515df92.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-768.ff86100b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-992.eaf03571.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image-1200.7ab8ed8f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image.eeea9433.jpg\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/rencap-SVG-sprite.c81e0d58.svg\";","module.exports = __webpack_public_path__ + \"static/media/PCW_IPOIntelligence_base.0e89708b.png\";","module.exports = __webpack_public_path__ + \"static/media/PCW_IPOIntelligence.c8fea9af.png\";","module.exports = __webpack_public_path__ + \"static/media/Pipeline_IPOIntelligence_base.119198bb.png\";","module.exports = __webpack_public_path__ + \"static/media/Pipeline_IPOIntelligence.c8b6962a.png\";","module.exports = __webpack_public_path__ + \"static/media/Profile_IPOIntelligence_base.6808a4e1.png\";","module.exports = __webpack_public_path__ + \"static/media/Profile_IPOIntelligence.206ad0c5.png\";","module.exports = __webpack_public_path__ + \"static/media/MgmtQuestions_IPOIntelligence_base.2d2b7e11.png\";","module.exports = __webpack_public_path__ + \"static/media/MgmtQuestions_IPOIntelligence.ecd4e411.png\";","module.exports = __webpack_public_path__ + \"static/media/ABNB_Report_IPOIntelligence_a_base.54b772bf.png\";","module.exports = __webpack_public_path__ + \"static/media/ABNB_Report_IPOIntelligence_a.e6e36408.png\";","module.exports = __webpack_public_path__ + \"static/media/ABNB_Report_IPOIntelligence_b.12459913.png\";","module.exports = __webpack_public_path__ + \"static/media/ABNB_Report_IPOIntelligence_c.87446897.png\";","module.exports = __webpack_public_path__ + \"static/media/ABNB_Report_IPOIntelligence_d.19222e09.png\";","module.exports = __webpack_public_path__ + \"static/media/ABNB_Report_IPOIntelligence_e.63f000b7.png\";","module.exports = __webpack_public_path__ + \"static/media/ABNB_Report_IPOIntelligence_f.2bdf230a.png\";","module.exports = __webpack_public_path__ + \"static/media/ABNB_Report_IPOIntelligence_g.2db43c67.png\";","module.exports = __webpack_public_path__ + \"static/media/ABNB_CompTable_IPOIntelligence_a_base.c8d43900.png\";","module.exports = __webpack_public_path__ + \"static/media/PricingNote_IPOIntelligence_base.0ab92a56.png\";","module.exports = __webpack_public_path__ + \"static/media/PricingNote_IPOIntelligence.3a4eccd8.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/federated-logo.581c13f3.png\";","module.exports = __webpack_public_path__ + \"static/media/UnbiasedRatings_IPOIntelligence_resized.0c392183.png\";","module.exports = __webpack_public_path__ + \"static/media/IPOsWithAlpha_IPOIntelligence.9d6306fa.png\";","module.exports = __webpack_public_path__ + \"static/media/DontWasteTime_IPOIntelligence.c1da6310.png\";","module.exports = __webpack_public_path__ + \"static/media/GetPluggedIn_IPOIntelligence.cb42e1f8.png\";","module.exports = __webpack_public_path__ + \"static/media/ObjectiveBullBear_IPOIntelligence.3ab089e7.png\";","module.exports = __webpack_public_path__ + \"static/media/ABNB_CompTable_IPOIntelligence_a_base_wide.f5d41609.png\";","module.exports = __webpack_public_path__ + \"static/media/TimelyActionable_IPOIntelligence.4f5af47a.png\";","module.exports = __webpack_public_path__ + \"static/media/wsj-logo.bfada70b.png\";","module.exports = __webpack_public_path__ + \"static/media/the-new-york-times-logo.0e50b3cf.png\";","module.exports = __webpack_public_path__ + \"static/media/bloomberg-logo.55fb42c8.png\";","module.exports = __webpack_public_path__ + \"static/media/fox-news-logo.0ec6b6de.png\";","module.exports = __webpack_public_path__ + \"static/media/cnn-logo.1cbbf422.png\";","module.exports = __webpack_public_path__ + \"static/media/forbes-logo.07f5cc7a.png\";","module.exports = __webpack_public_path__ + \"static/media/investors-business-daily-logo.149ba246.png\";","module.exports = __webpack_public_path__ + \"static/media/cnbc-logo.3ad1b883.png\";","module.exports = __webpack_public_path__ + \"static/media/fortune-logo.b269c1d6.png\";","module.exports = __webpack_public_path__ + \"static/media/barrons-logo.75c4a9ce.png\";","module.exports = __webpack_public_path__ + \"static/media/npr-logo.dd1097c2.png\";","import { ReducerAction } from '../../shared/interfaces/ReducerAction';\r\n\r\nexport const TOGGLE_MOBILE_MENU = 'TOGGLE_MOBILE_MENU';\r\nexport const CLOSE_MOBILE_MENU = 'CLOSE_MOBILE_MENU';\r\nexport const SET_ADDITIONAL_MENU_VISIBILITY = 'SET_ADDITIONAL_MENU_VISIBILITY';\r\n\r\nexport type State = {\r\n isMobileMenuOpen: boolean;\r\n isAdditionalMenuVisible: boolean;\r\n};\r\n\r\nexport type ToggleMobileMenuAction = ReducerAction;\r\nexport type CloseMobileMenuAction = ReducerAction;\r\nexport type SetAdditionalMenuVisibility = ReducerAction<\r\n typeof SET_ADDITIONAL_MENU_VISIBILITY,\r\n {\r\n isAdditionalMenuVisible: boolean;\r\n }\r\n>;\r\n\r\nexport type ActionTypes = ToggleMobileMenuAction | CloseMobileMenuAction | SetAdditionalMenuVisibility;\r\n","import {\r\n CLOSE_MOBILE_MENU,\r\n CloseMobileMenuAction,\r\n SET_ADDITIONAL_MENU_VISIBILITY,\r\n SetAdditionalMenuVisibility,\r\n TOGGLE_MOBILE_MENU,\r\n ToggleMobileMenuAction,\r\n} from './types';\r\n\r\nexport function toggleMobileMenu(): ToggleMobileMenuAction {\r\n return {\r\n type: TOGGLE_MOBILE_MENU,\r\n payload: {},\r\n };\r\n}\r\n\r\nexport function closeMobileMenu(): CloseMobileMenuAction {\r\n return {\r\n type: CLOSE_MOBILE_MENU,\r\n payload: {},\r\n };\r\n}\r\n\r\nexport function setAdditionalMenuVisibility(isAdditionalMenuVisible: boolean): SetAdditionalMenuVisibility {\r\n return {\r\n type: SET_ADDITIONAL_MENU_VISIBILITY,\r\n payload: { isAdditionalMenuVisible },\r\n };\r\n}\r\n","export enum RoutePath {\r\n Home = '/',\r\n Research = '/ipo-research',\r\n Features = '/features',\r\n WhoUsesUs = '/who-uses-us',\r\n Pricing = '/pricing',\r\n About = '/about',\r\n Overview = '/overview',\r\n UserPrivacy = '/user-privacy',\r\n Disclosures = '/disclosures',\r\n GettingStarted = '/getting-started',\r\n Videos = '/videos',\r\n Faq = '/faq',\r\n NotFound = '/not-found',\r\n}\r\n","export const API_URL = process.env.REACT_APP_API_URL as string;\r\nexport const SOCKET_URL = process.env.REACT_APP_SOCKET_URL as string;\r\nexport const RECAPTCHA_SITE_ID = process.env.REACT_APP_RECAPTCHA_SITE_ID as string;\r\nexport const AG_GRID_LICENSE_KEY = process.env.REACT_APP_AG_GRID_LICENSE_KEY as string;\r\nexport const LOCK_UPS_VIEW_ID = process.env.REACT_APP_LOCK_UPS_VIEW_ID as string;\r\nexport const EXPIRED_LOCK_UPS_VIEW_ID = process.env.REACT_APP_EXPIRED_LOCK_UPS_VIEW_ID as string;\r\nexport const PORTAL_SITE_URL = process.env.REACT_APP_PORTAL_SITE_URL as string;\r\n","export enum HeaderLogoBlock {\r\n Root = 'HeaderLogo',\r\n}\r\n\r\nexport enum HeaderLogoElement {\r\n View = 'view',\r\n Print = 'print',\r\n}\r\n","import { PORTAL_SITE_URL } from './environment';\r\n\r\nexport const RENAISSANCE_CAPITAL_WEBSITE = 'https://www.renaissancecapital.com';\r\nexport const NEWSLETTER_URL = 'https://ipoupdates.renaissancecapital.com/';\r\nexport const ABOUT_RESEARCH_URL = 'https://www.renaissancecapital.com/Docs/About-Research.pdf';\r\nexport const RENAISSANCE_CAPITAL_FACEBOOK_URL = 'https://web.facebook.com/RenaissanceCapitalIPO/?_rdc=1&_rdr';\r\nexport const RENAISSANCE_CAPITAL_TWITTER_URL = 'https://twitter.com/IPOtweet';\r\nexport const RENAISSANCE_CAPITAL_LINKEDIN_URL = 'https://www.linkedin.com/company/renaissance-capital_3';\r\nexport const RENAISSANCE_CAPITAL_YOUTUBE_URL = 'https://www.youtube.com/@RenaissanceCapitalIPO';\r\nexport const IMPORTANT_DISCLOSURES_URL = 'https://ipopro.renaissancecapital.com/Disclosures';\r\nexport const IPO_INTELLIGENCE_CLIENT_SITE_LOGIN_URL = `${PORTAL_SITE_URL}/login`;\r\nexport const IPO_INTELLIGENCE_CLIENT_SITE_CONTACT_US = `${PORTAL_SITE_URL}/contact`;\r\nexport const IPO_INTELLIGENCE_CLIENT_SITE_FREE_TRIAL = `${PORTAL_SITE_URL}/request`;\r\n","import React, { useCallback } from 'react';\r\nimport './MainMenuList.scss';\r\nimport { RootState } from '../../../store';\r\nimport { closeMobileMenu } from '../../../store/header/actions';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { RoutePath } from '../../enums/RoutePath';\r\nimport { IPO_INTELLIGENCE_CLIENT_SITE_CONTACT_US, NEWSLETTER_URL } from '../../constants/urls';\r\nimport { Link, NavLink } from 'react-router-dom';\r\n\r\nconst MainMenuList: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const open = useSelector(state => state.header.isMobileMenuOpen);\r\n\r\n const onLinkClick = useCallback((): void => {\r\n if (open) {\r\n dispatch(closeMobileMenu());\r\n }\r\n }, [dispatch, open]);\r\n\r\n return (\r\n
    \r\n
  • \r\n \r\n Overview\r\n \r\n
  • \r\n {/*
  • \r\n \r\n Research\r\n \r\n
  • \r\n
  • \r\n \r\n Features\r\n \r\n
  • */}\r\n
  • \r\n \r\n Features\r\n \r\n
  • \r\n
  • \r\n \r\n Who Uses Us\r\n \r\n
  • \r\n
  • \r\n \r\n Pricing\r\n \r\n
  • \r\n
  • \r\n \r\n Weekly IPO Updates\r\n \r\n
  • \r\n
  • \r\n \r\n About\r\n \r\n
  • \r\n
  • \r\n
  • \r\n \r\n Contact Us >\r\n \r\n {/* \r\n Contact Usss >\r\n */}\r\n
  • \r\n
\r\n );\r\n};\r\n\r\nexport default MainMenuList;\r\n","import React from 'react';\r\nimport './MainMenu.scss';\r\nimport MainMenuList from './MainMenuList';\r\nimport { RootState } from '../../../store';\r\nimport { useSelector } from 'react-redux';\r\nimport classNames from 'classnames';\r\n\r\nconst MainMenu: React.FC = () => {\r\n const isMenuOpen = useSelector(state => state.header.isMobileMenuOpen);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default MainMenu;\r\n","import React, { FunctionComponent } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport './HeaderPublicMenu.scss';\r\nimport { RoutePath } from '../../enums/RoutePath';\r\nimport {\r\n IPO_INTELLIGENCE_CLIENT_SITE_CONTACT_US,\r\n IPO_INTELLIGENCE_CLIENT_SITE_FREE_TRIAL,\r\n IPO_INTELLIGENCE_CLIENT_SITE_LOGIN_URL,\r\n} from '../../constants/urls';\r\n\r\nconst HeaderPublicMenu: FunctionComponent = () => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default HeaderPublicMenu;\r\n","export class BemService {\r\n static getElement(block: string, element: string): string {\r\n return `${block}__${element}`;\r\n }\r\n}\r\n","import { useCallback } from 'react';\r\nimport { ClassNameFn } from '../interfaces/ClassNameFn';\r\nimport { ClassDictionary } from 'classnames/types';\r\nimport classNames from 'classnames';\r\nimport mapKeys from 'lodash/mapKeys';\r\nimport { BemService } from '../services/BemService';\r\n\r\nexport function useClassName(component: string, additionalComponent?: string): ClassNameFn {\r\n return useCallback(\r\n (elementOrModifiers?: string | ClassDictionary, optionalModifiers?: ClassDictionary) => {\r\n const block = classNames(component);\r\n let element: string | undefined;\r\n let modifiers;\r\n\r\n let modifiersDictionary: ClassDictionary | null = null;\r\n\r\n if (typeof elementOrModifiers === 'string') {\r\n element = BemService.getElement(component, elementOrModifiers);\r\n }\r\n\r\n if (typeof elementOrModifiers === 'object') {\r\n modifiersDictionary = elementOrModifiers;\r\n } else if (typeof optionalModifiers === 'object') {\r\n modifiersDictionary = optionalModifiers;\r\n }\r\n\r\n if (modifiersDictionary) {\r\n modifiers = mapKeys(modifiersDictionary, (value, modifier) => `${element || block}--${modifier}`);\r\n }\r\n\r\n return element ? classNames(element, modifiers) : classNames(block, modifiers, additionalComponent);\r\n },\r\n [component, additionalComponent],\r\n );\r\n}\r\n","import React, { FunctionComponent } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport './HeaderLogo.scss';\r\nimport { useClassName } from '../../hooks/useClassName';\r\nimport { HeaderLogoBlock, HeaderLogoElement } from './HeaderLogoBem';\r\nimport { RoutePath } from '../../enums/RoutePath';\r\n\r\nconst HeaderLogo: FunctionComponent = () => {\r\n const cn = useClassName(HeaderLogoBlock.Root);\r\n\r\n return (\r\n
\r\n \r\n\r\n \"\"\r\n
\r\n );\r\n};\r\n\r\nexport default HeaderLogo;\r\n","import React, { FunctionComponent, useCallback, useEffect } from 'react';\r\nimport './HeaderMainMenu.scss';\r\nimport { RootState } from '../../../store';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { closeMobileMenu, toggleMobileMenu } from '../../../store/header/actions';\r\nimport escEffect from '../../effects/escEffect';\r\n\r\nconst HeaderMainMenu: FunctionComponent = () => {\r\n const dispatch = useDispatch();\r\n const onButtonClick = useCallback(() => dispatch(toggleMobileMenu()), [dispatch]);\r\n const isMenuOpen = useSelector(state => state.header.isMobileMenuOpen);\r\n\r\n useEffect(escEffect(() => dispatch(closeMobileMenu()), isMenuOpen));\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default HeaderMainMenu;\r\n","export enum OptimizedPictureType {\r\n OverviewMeeting = 'overviewMeeting',\r\n ResearchMeeting = 'researchMeeting',\r\n FeaturesBuilding = 'featuresBuildings',\r\n WhoUsesUsBusinessmen = 'whoUsesUsBusinessmen',\r\n AboutDoorLogo = 'aboutDoorLogo',\r\n}\r\n","import { EffectCallback } from 'react';\r\n\r\nexport default function escEffect(callback: () => void, use = true): EffectCallback {\r\n function onKeyDown(event: KeyboardEvent): void {\r\n if (['Escape', 'Esc'].includes(event.key)) {\r\n callback();\r\n }\r\n }\r\n\r\n return (): void | (() => void) => {\r\n if (use) {\r\n document.addEventListener('keydown', onKeyDown);\r\n\r\n return (): void => {\r\n document.removeEventListener('keydown', onKeyDown);\r\n };\r\n }\r\n };\r\n}\r\n","import React from 'react';\r\nimport HeaderPublicMenu from './HeaderPublicMenu';\r\nimport './Header.scss';\r\nimport HeaderLogo from './HeaderLogo';\r\nimport HeaderMainMenu from './HeaderMainMenu';\r\n\r\nconst Header: React.FC = () => {\r\n return (\r\n
\r\n \r\n
Helping Institutional Investors Profit from IPOs.
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Header;\r\n","import { OptimizedPictureType } from '../enums/OptimizedPictureType';\r\n\r\nexport const optimizedPicturesLinks = {\r\n [OptimizedPictureType.OverviewMeeting]: {\r\n webp576: require('../images/overview-meeting/image-576.webp'),\r\n webp768: require('../images/overview-meeting/image-768.webp'),\r\n webp992: require('../images/overview-meeting/image-992.webp'),\r\n webp1200: require('../images/overview-meeting/image-1200.webp'),\r\n webp: require('../images/overview-meeting/image.webp'),\r\n jpg576: require('../images/overview-meeting/image-576.jpg'),\r\n jpg768: require('../images/overview-meeting/image-768.jpg'),\r\n jpg992: require('../images/overview-meeting/image-992.jpg'),\r\n jpg1200: require('../images/overview-meeting/image-1200.jpg'),\r\n jpg: require('../images/overview-meeting/image.jpg'),\r\n },\r\n [OptimizedPictureType.ResearchMeeting]: {\r\n webp576: require('../images/research-meeting/image-576.webp'),\r\n webp768: require('../images/research-meeting/image-768.webp'),\r\n webp992: require('../images/research-meeting/image-992.webp'),\r\n webp1200: require('../images/research-meeting/image-1200.webp'),\r\n webp: require('../images/research-meeting/image.webp'),\r\n jpg576: require('../images/research-meeting/image-576.jpg'),\r\n jpg768: require('../images/research-meeting/image-768.jpg'),\r\n jpg992: require('../images/research-meeting/image-992.jpg'),\r\n jpg1200: require('../images/research-meeting/image-1200.jpg'),\r\n jpg: require('../images/research-meeting/image.jpg'),\r\n },\r\n [OptimizedPictureType.FeaturesBuilding]: {\r\n webp576: require('../images/features-buildings/image-576.webp'),\r\n webp768: require('../images/features-buildings/image-768.webp'),\r\n webp992: require('../images/features-buildings/image-992.webp'),\r\n webp1200: require('../images/features-buildings/image-1200.webp'),\r\n webp: require('../images/features-buildings/image.webp'),\r\n jpg576: require('../images/features-buildings/image-576.jpg'),\r\n jpg768: require('../images/features-buildings/image-768.jpg'),\r\n jpg992: require('../images/features-buildings/image-992.jpg'),\r\n jpg1200: require('../images/features-buildings/image-1200.jpg'),\r\n jpg: require('../images/features-buildings/image.jpg'),\r\n },\r\n [OptimizedPictureType.WhoUsesUsBusinessmen]: {\r\n webp576: require('../images/who-uses-us-businessmen/image-576.webp'),\r\n webp768: require('../images/who-uses-us-businessmen/image-768.webp'),\r\n webp992: require('../images/who-uses-us-businessmen/image-992.webp'),\r\n webp1200: require('../images/who-uses-us-businessmen/image-1200.webp'),\r\n webp: require('../images/who-uses-us-businessmen/image.webp'),\r\n jpg576: require('../images/who-uses-us-businessmen/image-576.jpg'),\r\n jpg768: require('../images/who-uses-us-businessmen/image-768.jpg'),\r\n jpg992: require('../images/who-uses-us-businessmen/image-992.jpg'),\r\n jpg1200: require('../images/who-uses-us-businessmen/image-1200.jpg'),\r\n jpg: require('../images/who-uses-us-businessmen/image.jpg'),\r\n },\r\n [OptimizedPictureType.AboutDoorLogo]: {\r\n webp576: require('../images/about-door-logo/image-576.webp'),\r\n webp768: require('../images/about-door-logo/image-768.webp'),\r\n webp992: require('../images/about-door-logo/image-992.webp'),\r\n webp1200: require('../images/about-door-logo/image-1200.webp'),\r\n webp: require('../images/about-door-logo/image.webp'),\r\n jpg576: require('../images/about-door-logo/image-576.jpg'),\r\n jpg768: require('../images/about-door-logo/image-768.jpg'),\r\n jpg992: require('../images/about-door-logo/image-992.jpg'),\r\n jpg1200: require('../images/about-door-logo/image-1200.jpg'),\r\n jpg: require('../images/about-door-logo/image.jpg'),\r\n },\r\n};\r\n","export enum PrimarySectionIndent {\r\n None = 'none',\r\n External = 'external',\r\n Internal = 'internal',\r\n Compact = 'compact',\r\n Xxl = 'xxl',\r\n}\r\n","import React from 'react';\r\nimport { optimizedPicturesLinks } from './constatns/optimizedPicturesLinks';\r\nimport { OptimizedPictureType } from './enums/OptimizedPictureType';\r\n\r\ninterface Props {\r\n type: OptimizedPictureType;\r\n}\r\n\r\nconst OptimizedPicture: React.FC = props => {\r\n const images = optimizedPicturesLinks[props.type];\r\n\r\n return (\r\n \r\n \r\n \r\n \"\"\r\n \r\n );\r\n};\r\n\r\nexport default OptimizedPicture;\r\n","export enum InnerComponentBlock {\r\n Root = 'InnerComponent',\r\n}\r\n\r\nexport enum InnerComponentElement {\r\n Content = 'content',\r\n}\r\n","export enum AlignTypesHorizontal {\r\n Start = 'start',\r\n End = 'end',\r\n Center = 'center',\r\n}\r\n","import React from 'react';\r\nimport './InnerComponent.scss';\r\nimport { useClassName } from '../../hooks/useClassName';\r\nimport { InnerComponentBlock, InnerComponentElement } from './InnerComponentBem';\r\nimport { InnerComponentOptions } from './/interfaces/InnerComponentOptions';\r\nimport { AlignTypesHorizontal } from '../../enums/AlignTypesHorizontal';\r\n\r\ninterface Props {\r\n className: string;\r\n options: InnerComponentOptions;\r\n}\r\n\r\nconst InnerComponent: React.FC = props => {\r\n const { alignTypeHorizontal = AlignTypesHorizontal.Start } = props.options;\r\n\r\n const cn = useClassName(InnerComponentBlock.Root, props.className);\r\n\r\n return (\r\n
\r\n
\r\n {props.options.component}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default InnerComponent;\r\n","export enum PrimarySectionAdditionalActionBlock {\r\n Root = 'PrimarySectionAdditionalAction',\r\n}\r\n","import React from 'react';\r\nimport { PrimarySectionAdditionalActionOptions } from './interfaces/PrimarySectionAdditionalActionOptions';\r\nimport './PrimarySectionAdditionalAction.scss';\r\nimport InnerComponent from '../inner-component/InnerComponent';\r\nimport { PrimarySectionAdditionalActionBlock } from './primarySectionAdditionalActionBem';\r\n\r\ninterface Props {\r\n options: PrimarySectionAdditionalActionOptions;\r\n}\r\n\r\nconst PrimarySectionAdditionalAction: React.FC = props => {\r\n return ;\r\n};\r\n\r\nexport default PrimarySectionAdditionalAction;\r\n","export enum PrimarySectionSubheaderBlock {\r\n Root = 'PrimarySectionSubheader',\r\n}\r\n","import React from 'react';\r\nimport { useClassName } from '../../hooks/useClassName';\r\nimport './PrimarySectionAdditionalAction.scss';\r\nimport InnerComponent from '../inner-component/InnerComponent';\r\nimport { PrimarySectionSubheaderOptions } from './interfaces/PrimarySectionSubheaderOptions';\r\nimport { PrimarySectionSubheaderBlock } from './primarySectionSubheaderBem';\r\n\r\ninterface Props {\r\n options: PrimarySectionSubheaderOptions;\r\n}\r\n\r\nconst PrimarySectionSubheader: React.FC = props => {\r\n const cn = useClassName(PrimarySectionSubheaderBlock.Root);\r\n\r\n return ;\r\n};\r\n\r\nexport default PrimarySectionSubheader;\r\n","export enum PrimarySectionBlock {\r\n Root = 'PrimarySection',\r\n}\r\n\r\nexport enum PrimarySectionElement {\r\n Container = 'container',\r\n Header = 'header',\r\n Content = 'content',\r\n}\r\n\r\nexport enum PrimarySectionModifier {\r\n MaxContainerSize = 'maxContainerSize',\r\n Underlined = 'underlined',\r\n ExtraPadding = 'extraPadding',\r\n}\r\n","export enum ComponentMessage {\r\n NoData = 'No data to display',\r\n NoDataShort = '—',\r\n NoCompanyData = 'No data to display',\r\n}\r\n","import React, { ReactNode } from 'react';\r\nimport { Spinner } from 'react-bootstrap';\r\nimport './Loader.scss';\r\nimport classNames from 'classnames';\r\n\r\ninterface Props {\r\n description?: ReactNode;\r\n className?: string;\r\n}\r\n\r\nconst Loader: React.FC = props => {\r\n return (\r\n
\r\n {props.description}\r\n
\r\n );\r\n};\r\n\r\nexport default Loader;\r\n","import React from 'react';\r\nimport './EmptyDataBlock.scss';\r\nimport { ComponentMessage } from '../enums/ComponentMessage';\r\n\r\ninterface Props {\r\n content?: React.ReactNode;\r\n}\r\n\r\nconst EmptyDataBlock: React.FC = props => {\r\n return
{props.content || ComponentMessage.NoData}
;\r\n};\r\n\r\nexport default EmptyDataBlock;\r\n","export enum OverlayContainerBlock {\r\n Root = 'OverlayContainer',\r\n}\r\n\r\nexport enum OverlayContainerElement {\r\n Overlay = 'overlay',\r\n Content = 'content',\r\n}\r\n","import { isEmpty, isEqual, pickBy, isNil } from 'lodash';\r\nimport { AnyObject, ObjectWithObjectChildren } from '../types/generics';\r\n\r\nexport class ObjectHelper {\r\n static arePropsEmpty(value: object): boolean {\r\n if (isEmpty(value)) {\r\n return true;\r\n }\r\n\r\n const newValue = pickBy(value);\r\n\r\n return isEmpty(newValue);\r\n }\r\n\r\n static getChildrenObjects(obj: ObjectWithObjectChildren): AnyObject {\r\n return Object.values(obj).reduce(\r\n (res: AnyObject, childObject: AnyObject) => ({\r\n ...res,\r\n ...childObject,\r\n }),\r\n {},\r\n );\r\n }\r\n\r\n static deleteEmptyProps(object: AnyObject): AnyObject {\r\n return pickBy(object, value => !isNil(value));\r\n }\r\n\r\n static isEqualNoEmpty(objectA: AnyObject, objectB: AnyObject): boolean {\r\n const newObjectA = this.deleteEmptyProps(objectA);\r\n const newObjectB = this.deleteEmptyProps(objectB);\r\n\r\n return isEqual(newObjectA, newObjectB);\r\n }\r\n}\r\n","import React, { CSSProperties } from 'react';\r\nimport './OverlayContainer.scss';\r\nimport { useClassName } from '../../hooks/useClassName';\r\nimport { OverlayContainerBlock, OverlayContainerElement } from './OverlayContainerBem';\r\n\r\ninterface Props {\r\n className?: string;\r\n isBackgroundFill?: boolean;\r\n hasBackground?: boolean;\r\n style?: CSSProperties;\r\n contentStyle?: CSSProperties;\r\n onContainerClick?: () => void;\r\n onContainerMouseDown?: () => void;\r\n onContainerMouseUp?: () => void;\r\n}\r\n\r\nconst OverlayContainer: React.FC = props => {\r\n const { hasBackground = true } = props;\r\n\r\n const cn = useClassName(OverlayContainerBlock.Root, props.className);\r\n\r\n return (\r\n \r\n
\r\n
\r\n {props.children}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default OverlayContainer;\r\n","export enum LoaderContainerBlock {\r\n Root = 'LoaderContainer',\r\n}\r\n\r\nexport enum LoaderContainerModifier {\r\n Absolute = 'absolute',\r\n}\r\n","import React, { CSSProperties } from 'react';\r\nimport './LoaderContainer.scss';\r\nimport Loader from './Loader';\r\nimport OverlayContainer from '../overlay-container/OverlayContainer';\r\nimport { useClassName } from '../../hooks/useClassName';\r\nimport { LoaderContainerBlock, LoaderContainerModifier } from './loaderContainerBem';\r\n\r\ninterface Props {\r\n isBackgroundFill?: boolean;\r\n hasBackground?: boolean;\r\n content?: React.ReactNode;\r\n overlayContentStyle?: CSSProperties;\r\n isAbsolute?: boolean;\r\n}\r\n\r\nconst LoaderContainer: React.FC = props => {\r\n const cn = useClassName(LoaderContainerBlock.Root);\r\n\r\n return (\r\n \r\n {props.content}\r\n\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default LoaderContainer;\r\n","export enum PrimarySectionRowBlock {\r\n Root = 'PrimarySectionRow',\r\n}\r\n\r\nexport enum PrimarySectionRowElement {\r\n Header = 'header',\r\n HeaderContent = 'headerContent',\r\n Content = 'content',\r\n}\r\n\r\nexport enum PrimarySectionRowModifier {\r\n NoBorder = 'noBorder',\r\n}\r\n","import React, { useMemo } from 'react';\r\nimport './PageLoader.scss';\r\nimport Loader from './Loader';\r\nimport EmptyDataBlock from '../EmptyDataBlock';\r\nimport { CustomAny } from '../../types/generics';\r\nimport { ObjectHelper } from '../../helpers/ObjectHelper';\r\nimport LoaderContainer from './LoaderContainer';\r\n\r\ninterface Props {\r\n loading?: boolean;\r\n otherwise?: CustomAny;\r\n otherwiseContent?: React.ReactNode;\r\n isOverlay?: boolean;\r\n}\r\n\r\nconst PageLoader: React.FC = props => {\r\n const { otherwise = true, loading, otherwiseContent, isOverlay } = props;\r\n\r\n const content = useMemo(\r\n () =>\r\n !otherwise && ObjectHelper.arePropsEmpty(otherwise) ? (\r\n \r\n ) : (\r\n props.children\r\n ),\r\n [otherwise, otherwiseContent, props],\r\n );\r\n\r\n const simpleLoaderContent = useMemo(() => (loading ? : content), [\r\n loading,\r\n content,\r\n ]);\r\n\r\n const overlayLoaderContent = useMemo(() => (loading ? : content), [\r\n loading,\r\n content,\r\n props.children,\r\n ]);\r\n\r\n return <>{isOverlay ? overlayLoaderContent : simpleLoaderContent};\r\n};\r\n\r\nexport default PageLoader;\r\n","import React from 'react';\r\nimport './PrimarySection.scss';\r\nimport { PrimarySectionIndent } from './PrimarySectionIndent';\r\nimport { PrimarySectionAdditionalActionOptions } from './interfaces/PrimarySectionAdditionalActionOptions';\r\nimport PrimarySectionAdditionalAction from './PrimarySectionAdditionalAction';\r\nimport { PrimarySectionSubheaderOptions } from './interfaces/PrimarySectionSubheaderOptions';\r\nimport PrimarySectionSubheader from './PrimarySectionSubheader';\r\nimport { PrimarySectionBlock, PrimarySectionElement, PrimarySectionModifier } from './primarySectionBem';\r\nimport PageLoader from '../loader/PageLoader';\r\nimport { ColorScheme } from '../../enums/ColorScheme';\r\nimport { ControlSize } from '../../enums/ControlSize';\r\nimport { useClassName } from '../../hooks/useClassName';\r\n\r\nexport interface PrimarySectionProps {\r\n indent?: PrimarySectionIndent;\r\n colorScheme?: ColorScheme;\r\n className?: string;\r\n header?: React.ReactNode;\r\n subHeader?: PrimarySectionSubheaderOptions;\r\n additionalAction?: PrimarySectionAdditionalActionOptions;\r\n isUnderlinedHeader?: boolean;\r\n maxContainerSize?: ControlSize;\r\n isLoading?: boolean;\r\n}\r\n\r\nconst PrimarySection: React.FC = props => {\r\n const { indent = PrimarySectionIndent.External, maxContainerSize } = props;\r\n\r\n const cn = useClassName(PrimarySectionBlock.Root, props.className);\r\n const containerCn = useClassName(PrimarySectionElement.Container);\r\n\r\n return (\r\n \r\n \r\n {props.additionalAction && }\r\n\r\n {props.header && (\r\n \r\n {props.header}\r\n \r\n )}\r\n\r\n {props.subHeader && }\r\n\r\n \r\n
{props.children}
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PrimarySection;\r\n","import React from 'react';\r\nimport './PrimarySectionRow.scss';\r\nimport { AlignTypesHorizontal } from '../../enums/AlignTypesHorizontal';\r\nimport { GridType } from './enum/GridType';\r\nimport { useClassName } from '../../hooks/useClassName';\r\nimport { PrimarySectionRowBlock, PrimarySectionRowElement, PrimarySectionRowModifier } from './primarySectionRowBem';\r\n\r\ninterface Props {\r\n className?: string;\r\n alignHorizontal?: AlignTypesHorizontal;\r\n gridType?: GridType;\r\n header?: React.ReactNode;\r\n isHeaderNoBorder?: boolean;\r\n}\r\n\r\nconst PrimarySectionRow: React.FC = props => {\r\n const cn = useClassName(PrimarySectionRowBlock.Root, props.className);\r\n\r\n return (\r\n \r\n {props.header && (\r\n
\r\n \r\n {props.header}\r\n
\r\n \r\n )}\r\n \r\n {props.children}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PrimarySectionRow;\r\n","export enum BreakpointSizes {\r\n ExtraSmall = 575.98,\r\n Small = 767.98,\r\n Medium = 991.98,\r\n Large = 1199.98,\r\n}\r\n","import React from 'react';\r\n\r\nimport './LinkButton.scss';\r\n\r\nexport interface ButtonIconProps {\r\n linkUrl?: string;\r\n linkText?: string;\r\n}\r\n\r\nconst ButtonIcon: React.FC = props => {\r\n return (\r\n \r\n \r\n {props.linkText}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ButtonIcon;\r\n","import React, { ReactNode } from 'react';\r\nimport './Feature.scss';\r\nimport { OptimizedPictureType } from './optimized-picture/enums/OptimizedPictureType';\r\nimport OptimizedPicture from './optimized-picture/OptimizedPicture';\r\nimport PrimarySection from '../../shared/components/primary-section/PrimarySection';\r\nimport { PrimarySectionIndent } from '../../shared/components/primary-section/PrimarySectionIndent';\r\nimport PrimarySectionRow from '../../shared/components/primary-section/PrimarySectionRow';\r\nimport { IPO_INTELLIGENCE_CLIENT_SITE_FREE_TRIAL } from '../../shared/constants/urls';\r\nimport LinkButton from '../../shared/components/forms/LinkButton';\r\nimport { FREE_TRIAL_LINK_BUTTON_TEXT } from '../../shared/constants/linkText';\r\n\r\ninterface Props {\r\n header: string | ReactNode;\r\n optimizedPictureType: OptimizedPictureType;\r\n}\r\n\r\nconst Feature: React.FC = props => {\r\n return (\r\n
\r\n \r\n \r\n
{props.children}
\r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Feature;\r\n","export const FREE_TRIAL_LINK_BUTTON_TEXT = 'Start your free trial';\r\nexport const FREE_TRIAL_SIGN_UP_LINK_BUTTON_TEXT = 'Sign Up Today';\r\n","export enum ChartValuesType {\r\n Integer = 'integer',\r\n Percentage = 'percentage',\r\n PercentageFloat = 'percentageFloat',\r\n Currency = 'currency',\r\n Float = 'float',\r\n}\r\n","export enum NumberFormat {\r\n Integer = '0',\r\n Float = '0.0',\r\n FloatDecades = '0.00',\r\n FloatHundreds = '0.000',\r\n FloatWithComma = '0,0.0',\r\n WithComma = '0,0',\r\n WithLetter = '0.0 a',\r\n PercentageInteger = '0%',\r\n PercentageFloat = '0.0%',\r\n PercentageFloatDecades = '0.00%',\r\n PercentageFloatHundreds = '0.000%',\r\n CurrencyIntegerWithLetter = '($0 a)',\r\n CurrencyFloatWithLetter = '($0.0 a)',\r\n CurrencyFloatDecadesWithLetter = '($0.00 a)',\r\n Sequence = '0o',\r\n}\r\n","import numeral from 'numeral';\r\nimport { isFinite, isString } from 'lodash';\r\nimport { NumberFormat } from '../enums/NumberFormat';\r\n\r\nexport class NumberHelper {\r\n static getFormatValue(value: number | undefined | null, format: NumberFormat): string {\r\n //Capitalize to show number postfix always in the upper case\r\n return numeral(value)\r\n .format(format)\r\n .toUpperCase();\r\n }\r\n\r\n static getInBillions(value: number): string {\r\n return this.getFormatValue(value / 1000000000, NumberFormat.WithComma);\r\n }\r\n\r\n static getFormatByType(value: string | number, format: NumberFormat): string {\r\n let valueToFormat = value;\r\n\r\n if (isString(value)) {\r\n valueToFormat = parseInt(value);\r\n\r\n // If it's not a number after parse\r\n // Then return value as is\r\n if (!isFinite(valueToFormat)) {\r\n return value;\r\n }\r\n }\r\n\r\n return this.getFormatValue(valueToFormat as number, format);\r\n }\r\n\r\n static percentageToNumber(value: number): number {\r\n return value / 100;\r\n }\r\n}\r\n","export enum ChartColorScheme {\r\n Performance = 'performance',\r\n}\r\n","import { CustomAny } from '../../../types/generics';\r\nimport { HtmlString } from '../../../types/HtmlString';\r\nimport { ChartValuesType } from '../enums/ChartValuesType';\r\nimport { NumberHelper } from '../../../helpers/NumberHelper';\r\nimport { NumberFormat } from '../../../enums/NumberFormat';\r\nimport { isArray } from 'lodash/fp';\r\nimport { ChartTooltipOptions } from '../interfaces/ChartTooltipOptions';\r\n\r\nexport class ChartTooltipFormatterService {\r\n static getTooltip(options: ChartTooltipOptions): HtmlString {\r\n const pointsView = this.getPoints(options.points, options.pointsValueType, options.formatter);\r\n\r\n return this.getRows([this.getHeader(options.title), ...pointsView]);\r\n }\r\n\r\n private static getPointValue(point: CustomAny, pointValueType?: ChartValuesType) {\r\n switch (pointValueType) {\r\n case ChartValuesType.Percentage:\r\n return NumberHelper.getFormatValue(point.y, NumberFormat.PercentageInteger);\r\n case ChartValuesType.Currency:\r\n return NumberHelper.getFormatValue(point.y, NumberFormat.CurrencyFloatWithLetter);\r\n case ChartValuesType.Float:\r\n return NumberHelper.getFormatValue(point.y, NumberFormat.Float);\r\n case ChartValuesType.Integer:\r\n return NumberHelper.getFormatValue(point.y, NumberFormat.WithComma);\r\n case ChartValuesType.PercentageFloat:\r\n return NumberHelper.getFormatValue(point.y, NumberFormat.PercentageFloat);\r\n default:\r\n return point.y;\r\n }\r\n }\r\n\r\n private static getPoint(\r\n point: CustomAny,\r\n pointValueType?: ChartValuesType,\r\n formatter?: (value: number) => string,\r\n ): HtmlString {\r\n let value = this.getPointValue(point, pointValueType);\r\n\r\n if (formatter) {\r\n value = formatter(point.y);\r\n }\r\n\r\n return `
${point.series.name}: ${value}
`;\r\n }\r\n\r\n private static getPoints(\r\n points: CustomAny[],\r\n pointsValueType?: ChartValuesType | ChartValuesType[],\r\n formatter?: (value: number) => string,\r\n ): HtmlString[] {\r\n return points.map((point: CustomAny) =>\r\n this.getPoint(point, pointsValueType && this.getPointValueType(pointsValueType, point.colorIndex), formatter),\r\n );\r\n }\r\n\r\n private static getPointValueType(\r\n pointsValueType: ChartValuesType | ChartValuesType[],\r\n index: number,\r\n ): ChartValuesType {\r\n if (isArray(pointsValueType)) {\r\n return pointsValueType?.[index] as ChartValuesType;\r\n }\r\n\r\n return pointsValueType as ChartValuesType;\r\n }\r\n\r\n private static getHeader(text: string): HtmlString {\r\n return `
${text}
`;\r\n }\r\n\r\n private static getRows(tooltipRows: string[]): HtmlString {\r\n return tooltipRows.join('
');\r\n }\r\n}\r\n","import Highcharts from 'highcharts';\r\nimport { BreakpointSizes } from '../../../enums/BreakpointSizes';\r\nimport { ChartTooltipFormatterService } from '../../../components/chart/services/ChartTooltipFormatterService';\r\nimport { CustomAny } from '../../../types/generics';\r\nimport { ChartValuesType } from '../../../components/chart/enums/ChartValuesType';\r\nimport { HtmlString } from '../../../types/HtmlString';\r\nimport { NumberHelper } from '../../../helpers/NumberHelper';\r\nimport { NumberFormat } from '../../../enums/NumberFormat';\r\n\r\nexport const annualRatingsPerformanceChart: Highcharts.Options = {\r\n chart: {\r\n spacingTop: 0,\r\n marginTop: 50,\r\n },\r\n title: {\r\n text: 'Annual Ratings Performance',\r\n },\r\n subtitle: {\r\n text: '3-Month Returns from Midpoint',\r\n },\r\n yAxis: {\r\n title: {\r\n text: 'Avg. 3-Month Return vs. Midpoint (%)',\r\n },\r\n labels: {\r\n formatter() {\r\n return NumberHelper.getFormatValue(this.value, NumberFormat.PercentageInteger);\r\n },\r\n },\r\n max: 1.5,\r\n min: -1,\r\n },\r\n xAxis: {\r\n categories: [\r\n '2007',\r\n '2008',\r\n '2009',\r\n '2010',\r\n '2011',\r\n '2012',\r\n '2013',\r\n '2014',\r\n '2015',\r\n '2016',\r\n '2017',\r\n '2018',\r\n '2019',\r\n '2020',\r\n '2021',\r\n '2022',\r\n '2023',\r\n ],\r\n },\r\n series: [\r\n {\r\n type: 'column',\r\n name: 'Outperform',\r\n data: [0.52, 0.26, 0.22, 0.54, 0.43, 0.56, 0.75, 0.56, 0.42, 0.79, 0.41, 0.72, 1.03, 1.59, 0.44, 0.33, 0.25],\r\n },\r\n {\r\n type: 'column',\r\n name: 'Underperform',\r\n data: [\r\n -0.01,\r\n -0.51,\r\n -0.03,\r\n -0.28,\r\n -0.01,\r\n -0.26,\r\n 0.37,\r\n -0.17,\r\n -0.27,\r\n -0.12,\r\n -0.22,\r\n -0.11,\r\n -0.03,\r\n -0.48,\r\n -0.06,\r\n null,\r\n -0.34,\r\n ],\r\n },\r\n ],\r\n tooltip: {\r\n formatter() {\r\n return ChartTooltipFormatterService.getTooltip({\r\n points: this.points as CustomAny[],\r\n title: `${this.x}`,\r\n pointsValueType: ChartValuesType.Percentage,\r\n });\r\n },\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n formatter(): HtmlString {\r\n return NumberHelper.getFormatValue(this.y, NumberFormat.PercentageInteger);\r\n },\r\n },\r\n },\r\n },\r\n responsive: {\r\n rules: [\r\n {\r\n condition: {\r\n maxWidth: BreakpointSizes.ExtraSmall,\r\n },\r\n chartOptions: {\r\n yAxis: {\r\n visible: false,\r\n },\r\n },\r\n },\r\n ],\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n};\r\n","import Highcharts from 'highcharts';\r\n\r\nexport const horizontalColumnChartOptions: Highcharts.Options = {\r\n chart: {\r\n type: 'bar',\r\n },\r\n xAxis: [\r\n {\r\n reversed: false,\r\n labels: {\r\n step: 1,\r\n },\r\n },\r\n ],\r\n plotOptions: {\r\n series: {\r\n dataLabels: {\r\n enabled: true,\r\n format: '{y}%',\r\n },\r\n },\r\n },\r\n};\r\n","export enum AnimationDuration {\r\n Chart = 1000,\r\n}\r\n","export enum ChartExportButton {\r\n PrintChart = 'printChart',\r\n Separator = 'separator',\r\n DownloadPNG = 'downloadPNG',\r\n DownloadJPEG = 'downloadJPEG',\r\n DownloadPDF = 'downloadPDF',\r\n DownloadSVG = 'downloadSVG',\r\n}\r\n","import Highcharts from 'highcharts';\r\nimport { RENAISSANCE_CAPITAL_WEBSITE } from '../../../../constants/urls';\r\nimport { AnimationDuration } from '../../../../enums/AnimationDuration';\r\nimport { ChartExportButton } from '../../enums/ChartExportButton';\r\n\r\nconst LINE_SERIES_Z_INDEX = 1;\r\nconst COLUMN_SERIES_Z_INDEX = 0;\r\n\r\nexport const baseChartOptions: Highcharts.Options = {\r\n chart: {\r\n animation: true,\r\n styledMode: true,\r\n height: 400,\r\n },\r\n exporting: {\r\n enabled: true,\r\n buttons: {\r\n contextButton: {\r\n y: 0,\r\n menuItems: [\r\n ChartExportButton.DownloadPNG,\r\n ChartExportButton.DownloadJPEG,\r\n ChartExportButton.DownloadPDF,\r\n ChartExportButton.DownloadSVG,\r\n ],\r\n },\r\n },\r\n },\r\n title: {\r\n text: '',\r\n },\r\n subtitle: {\r\n text: '',\r\n },\r\n legend: {\r\n enabled: true,\r\n },\r\n plotOptions: {\r\n line: {\r\n zIndex: LINE_SERIES_Z_INDEX,\r\n },\r\n column: {\r\n zIndex: COLUMN_SERIES_Z_INDEX,\r\n },\r\n series: {\r\n animation: {\r\n duration: AnimationDuration.Chart,\r\n },\r\n dataLabels: {\r\n enabled: true,\r\n },\r\n },\r\n },\r\n yAxis: {\r\n stackLabels: {\r\n enabled: true,\r\n },\r\n },\r\n tooltip: {\r\n shared: true,\r\n },\r\n credits: {\r\n enabled: true,\r\n position: {\r\n align: 'center',\r\n x: 5,\r\n },\r\n text: ``,\r\n href: ``,\r\n },\r\n};\r\n","export enum HtmlStringFormatterBlock {\r\n Root = 'HtmlStringFormatter',\r\n}\r\n","import Highcharts from 'highcharts';\r\nimport { defaultsDeep, cloneDeep, set } from 'lodash';\r\nimport { baseChartOptions } from '../constants/options/baseChartOptions';\r\nimport { OptionsListProp } from '../types/OptionsListProp';\r\nimport { SeriesValueFormatter } from '../types/SeriesValueFormatter';\r\nimport {\r\n CHART_WITH_RANGE_SELECTOR_CHART_MARGIN_TOP,\r\n CHART_WITHOUT_RANGE_SELECTOR_CHART_MARGIN_TOP,\r\n} from '../constants/options/chartOptionsSettings';\r\n\r\nexport class ChartService {\r\n static getChartOptions(\r\n optionsList: OptionsListProp,\r\n seriesValueFormatter?: SeriesValueFormatter,\r\n hasNoIndents?: boolean,\r\n ): Highcharts.Options {\r\n let options = this.getOptions(optionsList);\r\n\r\n if (seriesValueFormatter) {\r\n options = this.getFormattedSeries(options, seriesValueFormatter);\r\n }\r\n\r\n if (hasNoIndents) {\r\n const hasCredits = options.credits?.enabled || options.credits?.text;\r\n\r\n options.chart = {\r\n ...options.chart,\r\n spacingTop: 0,\r\n spacingLeft: 0,\r\n spacingRight: 0,\r\n spacingBottom: hasCredits ? undefined : 0,\r\n };\r\n }\r\n\r\n const chartMarginTopPath = 'chart.marginTop';\r\n if (options.rangeSelector) {\r\n set(options, chartMarginTopPath, CHART_WITH_RANGE_SELECTOR_CHART_MARGIN_TOP);\r\n } else {\r\n set(options, chartMarginTopPath, CHART_WITHOUT_RANGE_SELECTOR_CHART_MARGIN_TOP);\r\n }\r\n\r\n return options;\r\n }\r\n\r\n static hasData(options: Highcharts.Options): boolean {\r\n return !!options?.series?.length;\r\n }\r\n\r\n private static getOptions(optionsList: OptionsListProp): Highcharts.Options {\r\n return defaultsDeep({}, ...optionsList, baseChartOptions);\r\n }\r\n\r\n private static getFormattedSeries(\r\n options: Highcharts.Options,\r\n seriesValueFormatter: SeriesValueFormatter,\r\n ): Highcharts.Options {\r\n const updatedOptions = cloneDeep(options);\r\n\r\n updatedOptions.series = updatedOptions?.series?.map(seriesOption => seriesValueFormatter(seriesOption));\r\n\r\n return updatedOptions;\r\n }\r\n}\r\n","export const CHART_WITH_RANGE_SELECTOR_CHART_MARGIN_TOP = 0;\r\nexport const CHART_WITHOUT_RANGE_SELECTOR_CHART_MARGIN_TOP = 20;\r\n","export enum ChartBlock {\r\n Root = 'Chart',\r\n}\r\n\r\nexport enum ChartElement {\r\n Title = 'title',\r\n Filters = 'filters',\r\n Chart = 'chart',\r\n}\r\n","import React from 'react';\r\nimport { HtmlString } from '../types/HtmlString';\r\nimport reactHtmlParse from 'react-html-parser';\r\nimport convertHtml from '../helpers/convertHtml';\r\nimport { HtmlStringFormatterBlock } from './htmlStringFormatterBem';\r\nimport { useClassName } from '../hooks/useClassName';\r\nimport './HtmlStringFormatter.scss';\r\n\r\ninterface Props {\r\n content: HtmlString;\r\n}\r\n\r\nconst HtmlStringFormatter: React.FC = props => {\r\n const cn = useClassName(HtmlStringFormatterBlock.Root);\r\n\r\n return
{reactHtmlParse(convertHtml(props.content))}
;\r\n};\r\n\r\nexport default HtmlStringFormatter;\r\n","import { HtmlString } from '../types/HtmlString';\r\n\r\nexport default function convertHTML(str: HtmlString) {\r\n let modifiedTxt = '';\r\n if (!str || str.length === 0) {\r\n return modifiedTxt;\r\n }\r\n let i;\r\n for (i = 0; i < str.length - 1; i++) {\r\n const nextChar = str.charAt(i + 1);\r\n // /\\d/.test(nextChar) checks if the argument contains a number\r\n if (str.charAt(i) === '<' && (nextChar === ' ' || nextChar === '$' || /\\d/.test(nextChar))) {\r\n modifiedTxt += '<';\r\n } else {\r\n modifiedTxt += str.charAt(i);\r\n }\r\n }\r\n\r\n modifiedTxt += str.charAt(i);\r\n return modifiedTxt;\r\n}\r\n","import React, { memo } from 'react';\r\nimport Highcharts from 'highcharts/highstock';\r\nimport HighchartsReact from 'highcharts-react-official';\r\nimport { isEqual } from 'lodash';\r\n\r\ninterface Props {\r\n options: Highcharts.Options;\r\n constructorType: keyof typeof Highcharts;\r\n chartRef?: any;\r\n}\r\n\r\nconst ChartContent: React.FC = props => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default memo(ChartContent, isEqual);\r\n","import React, { useMemo } from 'react';\r\nimport './Chart.scss';\r\nimport Highcharts from 'highcharts/highstock';\r\nimport HighchartsExporting from 'highcharts/modules/exporting';\r\nimport { ChartService } from './services/ChartService';\r\nimport { globalChartOptions } from './constants/options/globalChartOptions';\r\nimport { GenericChartProps } from './interfaces/GenericChartProps';\r\nimport { OptionsListProp } from './types/OptionsListProp';\r\nimport { SeriesValueFormatter } from './types/SeriesValueFormatter';\r\nimport PageLoader from '../loader/PageLoader';\r\nimport HtmlStringFormatter from '../HtmlStringFormatter';\r\nimport { useClassName } from '../../hooks/useClassName';\r\nimport { ChartBlock, ChartElement } from './ChartBem';\r\nimport ChartContent from './ChartContent';\r\n\r\nHighchartsExporting(Highcharts);\r\nHighcharts.setOptions(globalChartOptions);\r\n\r\nexport interface ChartProps extends GenericChartProps {\r\n optionsList: OptionsListProp;\r\n isStock?: boolean;\r\n seriesValueFormatter?: SeriesValueFormatter;\r\n className?: string;\r\n isLoading?: boolean;\r\n hasNoIndents?: boolean;\r\n chartRef?: any;\r\n}\r\n\r\nconst Chart: React.FC = props => {\r\n const cn = useClassName(ChartBlock.Root, props.className);\r\n const options = useMemo(\r\n () => ChartService.getChartOptions(props.optionsList, props.seriesValueFormatter, props.hasNoIndents),\r\n [props.optionsList, props.seriesValueFormatter, props.hasNoIndents],\r\n );\r\n\r\n const constructorType = useMemo(() => (props.isStock ? 'stockChart' : 'chart'), [\r\n props.isStock,\r\n ]);\r\n\r\n return (\r\n \r\n {props.title &&
{props.title}
}\r\n\r\n {props.filters &&
{props.filters}
}\r\n\r\n
\r\n \r\n {ChartService.hasData(options) && (\r\n \r\n )}\r\n \r\n
\r\n\r\n {props.description && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default Chart;\r\n","import Highcharts from 'highcharts';\r\n\r\nexport const globalChartOptions: Highcharts.Options = {\r\n lang: {\r\n rangeSelectorZoom: '',\r\n contextButtonTitle: '',\r\n },\r\n};\r\n","export enum ChartType {\r\n Base = 'base',\r\n LineStock = 'lineStock',\r\n HorizontalColumn = 'horizontalColumn',\r\n PersentageColumn = 'persentageColumn',\r\n VerticalColumn = 'verticalColumn',\r\n VerticalPercentageColumn = 'verticalPercentageColumn',\r\n VerticalCurrencyColumn = 'verticalCurrencyColumn',\r\n}\r\n","import Highcharts from 'highcharts';\r\n\r\nexport const lineStockChartOptions: Highcharts.Options = {\r\n chart: {\r\n type: 'line',\r\n },\r\n plotOptions: {\r\n series: {\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n },\r\n },\r\n navigator: { enabled: false },\r\n scrollbar: { enabled: false },\r\n};\r\n","import { SeriesOptionsType } from 'highcharts';\r\nimport { CustomAny } from '../../../types/generics';\r\n\r\nexport class ChartValueFormatters {\r\n static percentageValueFormatter(seriesOption: CustomAny): SeriesOptionsType {\r\n return {\r\n ...seriesOption,\r\n data: seriesOption.data.map((item: number) => Math.round(item * 100)),\r\n };\r\n }\r\n}\r\n","import Highcharts from 'highcharts';\r\n\r\nexport const percentageColumnChartOptions: Highcharts.Options = {\r\n chart: {\r\n type: 'column',\r\n },\r\n tooltip: {\r\n pointFormat: '{series.name}: {point.y}%
',\r\n },\r\n plotOptions: {\r\n series: {\r\n dataLabels: {\r\n enabled: true,\r\n format: '{y}%',\r\n },\r\n },\r\n },\r\n};\r\n","import Highcharts from 'highcharts';\r\n\r\nexport const verticalColumnChartOptions: Highcharts.Options = {\r\n chart: {\r\n type: 'column',\r\n },\r\n yAxis: {\r\n stackLabels: {\r\n enabled: true,\r\n },\r\n },\r\n plotOptions: {\r\n series: {\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n },\r\n column: {\r\n stacking: 'normal',\r\n },\r\n },\r\n};\r\n","export enum AnnualRatingsPerformanceChartBlock {\r\n Root = 'AnnualRatingsPerformanceChart',\r\n}\r\n","import Highcharts from 'highcharts';\r\nimport { HtmlString } from '../../../../types/HtmlString';\r\nimport { ChartTooltipFormatterService } from '../../services/ChartTooltipFormatterService';\r\nimport { CustomAny } from '../../../../types/generics';\r\nimport { ChartValuesType } from '../../enums/ChartValuesType';\r\nimport { NumberHelper } from '../../../../helpers/NumberHelper';\r\nimport { NumberFormat } from '../../../../enums/NumberFormat';\r\n\r\nexport const verticalPercentageColumnChartOptions: Highcharts.Options = {\r\n chart: {\r\n type: 'column',\r\n },\r\n yAxis: {\r\n stackLabels: {\r\n enabled: false,\r\n },\r\n },\r\n tooltip: {\r\n formatter(): HtmlString {\r\n return ChartTooltipFormatterService.getTooltip({\r\n points: this.points as CustomAny[],\r\n title: `${this.x}`,\r\n pointsValueType: ChartValuesType.Percentage,\r\n });\r\n },\r\n shared: true,\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n formatter(): HtmlString {\r\n return NumberHelper.getFormatValue(this.y, NumberFormat.PercentageInteger);\r\n },\r\n },\r\n stacking: 'percent',\r\n },\r\n series: {\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n },\r\n },\r\n};\r\n","import Highcharts from 'highcharts';\r\nimport { ChartTooltipFormatterService } from '../../services/ChartTooltipFormatterService';\r\nimport { CustomAny } from '../../../../types/generics';\r\nimport { ChartValuesType } from '../../enums/ChartValuesType';\r\nimport { NumberHelper } from '../../../../helpers/NumberHelper';\r\nimport { NumberFormat } from '../../../../enums/NumberFormat';\r\n\r\nexport const verticalCurrencyChartOptions: Highcharts.Options = {\r\n chart: {\r\n type: 'column',\r\n },\r\n yAxis: {\r\n stackLabels: {\r\n enabled: true,\r\n formatter() {\r\n return NumberHelper.getFormatValue(this.total, NumberFormat.CurrencyIntegerWithLetter);\r\n },\r\n },\r\n },\r\n tooltip: {\r\n formatter() {\r\n return ChartTooltipFormatterService.getTooltip({\r\n points: this.points as CustomAny[],\r\n title: `${this.x}`,\r\n pointsValueType: ChartValuesType.Currency,\r\n });\r\n },\r\n shared: true,\r\n },\r\n plotOptions: {\r\n column: {\r\n stacking: 'normal',\r\n },\r\n series: {\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n },\r\n },\r\n};\r\n","import React from 'react';\r\nimport { horizontalColumnChartOptions } from '../constants/options/horizontalColumnChartOptions';\r\nimport Chart, { ChartProps } from '../Chart';\r\nimport { lineStockChartOptions } from '../constants/options/lineStockChartOptions';\r\nimport { ChartValueFormatters } from '../services/ChartValueFormatters';\r\nimport { percentageColumnChartOptions } from '../constants/options/percentageColumnChartOptions';\r\nimport { ChartType } from '../enums/ChartType';\r\nimport { verticalColumnChartOptions } from '../constants/options/verticalColumnChartOptions';\r\nimport { verticalPercentageColumnChartOptions } from '../constants/options/verticalPercentageColumnChartOptions';\r\nimport { verticalCurrencyChartOptions } from '../constants/options/verticalCurrencyChartOptions';\r\n\r\nexport class ChartFactory {\r\n private static getChartComponent(\r\n chartProps: ChartProps,\r\n additionalOptions?: Highcharts.Options,\r\n chartRef?: any,\r\n ): React.ReactNode {\r\n const optionsList = additionalOptions ? chartProps.optionsList.concat([additionalOptions]) : chartProps.optionsList;\r\n const props = { ...chartProps, optionsList };\r\n\r\n return ;\r\n }\r\n\r\n private static getBase(props: ChartProps): React.ReactNode {\r\n return this.getChartComponent(props);\r\n }\r\n\r\n private static getVerticalColumn(props: ChartProps): React.ReactNode {\r\n return this.getChartComponent(props, verticalColumnChartOptions);\r\n }\r\n\r\n private static getHorizontalColumn(props: ChartProps): React.ReactNode {\r\n const chartProps: ChartProps = {\r\n ...props,\r\n seriesValueFormatter: ChartValueFormatters.percentageValueFormatter,\r\n };\r\n\r\n return this.getChartComponent(chartProps, horizontalColumnChartOptions);\r\n }\r\n\r\n private static getLineStock(props: ChartProps, chartRef?: any) {\r\n const chartProps: ChartProps = {\r\n ...props,\r\n isStock: true,\r\n };\r\n\r\n return this.getChartComponent(chartProps, lineStockChartOptions, chartRef);\r\n }\r\n\r\n private static getPercentageColumn(props: ChartProps) {\r\n const chartProps: ChartProps = {\r\n ...props,\r\n seriesValueFormatter: ChartValueFormatters.percentageValueFormatter,\r\n };\r\n\r\n return this.getChartComponent(chartProps, percentageColumnChartOptions);\r\n }\r\n\r\n private static getVerticalPercentageColumn(props: ChartProps) {\r\n return this.getChartComponent(props, verticalPercentageColumnChartOptions);\r\n }\r\n\r\n private static getVerticalCurrencyColumn(props: ChartProps) {\r\n return this.getChartComponent(props, verticalCurrencyChartOptions);\r\n }\r\n\r\n static getChart(props: ChartProps, type?: ChartType, chartRef?: any) {\r\n switch (type) {\r\n case ChartType.Base:\r\n return this.getBase(props);\r\n case ChartType.HorizontalColumn:\r\n return this.getHorizontalColumn(props);\r\n case ChartType.LineStock:\r\n return this.getLineStock(props, chartRef);\r\n case ChartType.PersentageColumn:\r\n return this.getPercentageColumn(props);\r\n case ChartType.VerticalColumn:\r\n return this.getVerticalColumn(props);\r\n case ChartType.VerticalPercentageColumn:\r\n return this.getVerticalPercentageColumn(props);\r\n case ChartType.VerticalCurrencyColumn:\r\n return this.getVerticalCurrencyColumn(props);\r\n default:\r\n return this.getBase(props);\r\n }\r\n }\r\n}\r\n","import React, { useMemo } from 'react';\r\nimport './AnnualRatingsPerformanceChart.scss';\r\nimport { annualRatingsPerformanceChart } from './constants/annualRatingsPerfomanceChart';\r\nimport { ChartColorScheme } from '../../components/chart/enums/ChartColorScheme';\r\nimport { AnnualRatingsPerformanceChartDto } from './interfaces/AnnualRatingsPerformanceChartDto';\r\nimport { ChartFactory } from '../../components/chart/factories/ChartFactory';\r\nimport { useClassName } from '../../hooks/useClassName';\r\nimport { AnnualRatingsPerformanceChartBlock } from './annualRatingsPerformanceChartBem';\r\n\r\ninterface Props {\r\n options?: AnnualRatingsPerformanceChartDto;\r\n}\r\n\r\nconst AnnualRatingsPerformanceChart: React.FC = props => {\r\n const cn = useClassName(AnnualRatingsPerformanceChartBlock.Root);\r\n\r\n const chartProps = useMemo(\r\n () => ({\r\n className: cn(),\r\n optionsList: [props.options, annualRatingsPerformanceChart],\r\n colorScheme: ChartColorScheme.Performance,\r\n }),\r\n [props.options, cn],\r\n );\r\n\r\n const chart = useMemo(() => ChartFactory.getChart(chartProps), [chartProps]);\r\n\r\n return <>{chart};\r\n};\r\n\r\nexport default AnnualRatingsPerformanceChart;\r\n","export enum ColorScheme {\r\n Primary = 'primary',\r\n Secondary = 'secondary',\r\n Info = 'info',\r\n Attention = 'attention',\r\n Success = 'success',\r\n Gray = 'gray',\r\n LightGray = 'lightgray',\r\n Danger = 'danger',\r\n White = 'white',\r\n}\r\n","import React from 'react';\r\nimport './TextContainer.scss';\r\nimport classNames from 'classnames';\r\n\r\ninterface Props {\r\n className?: string;\r\n}\r\n\r\nconst TextContainer: React.FC = props => (\r\n
{props.children}
\r\n);\r\n\r\nexport default TextContainer;\r\n","import React from 'react';\r\nimport AnnualRatingsPerformanceChart from '../../../shared/entities/chart/AnnualRatingsPerformanceChart';\r\nimport TextContainer from '../TextContainer';\r\nimport './MarketingPerformance.scss';\r\n\r\nconst MarketingPerformance: React.FC = () => {\r\n return (\r\n
\r\n
\r\n Distinguishing good IPOs from bad\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n

\r\n Our team of financial analysts evaluate and rate every institutional IPO. We make it easy for you to\r\n distinguish the good from the bad, and give you the insights you need to support your investment decisions.\r\n

\r\n

\r\n After over 30 years of evaluating IPOs, we know the right way to look at a deal, and our ratings track record\r\n proves it. IPO Intelligence is the gold standard in IPO research.\r\n

\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default MarketingPerformance;\r\n","import React from 'react';\r\nimport MarketingPerformance from '../shared/performance/MarketingPerformance';\r\nimport './OverviewPerformance.scss';\r\nimport { ABOUT_RESEARCH_URL } from '../../shared/constants/urls';\r\nimport { OverviewPerformanceText } from './enum/OverviewPerformanceText';\r\n\r\nconst OverviewPerformance: React.FC = () => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default OverviewPerformance;\r\n","import React from 'react';\r\nimport './RequestTrial.scss';\r\nimport PropTypes from 'prop-types';\r\nimport { useClassName } from '../../shared/hooks/useClassName';\r\nimport PrimarySection from '../../shared/components/primary-section/PrimarySection';\r\nimport { ColorScheme } from '../../shared/enums/ColorScheme';\r\nimport PrimarySectionRow from '../../shared/components/primary-section/PrimarySectionRow';\r\nimport { AlignTypesHorizontal } from '../../shared/enums/AlignTypesHorizontal';\r\nimport LinkButton from '../../shared/components/forms/LinkButton';\r\nimport { IPO_INTELLIGENCE_CLIENT_SITE_FREE_TRIAL } from '../../shared/constants/urls';\r\nimport { FREE_TRIAL_SIGN_UP_LINK_BUTTON_TEXT } from '../../shared/constants/linkText';\r\n\r\ninterface Props {\r\n title?: string;\r\n button?: string;\r\n large?: boolean;\r\n}\r\n\r\nconst RequestTrial: React.FC = props => {\r\n const { large } = props;\r\n\r\n const cn = useClassName('RequestTrial');\r\n\r\n return (\r\n
\r\n {props.title}
}\r\n >\r\n \r\n {' '}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nRequestTrial.propTypes = {\r\n title: PropTypes.string,\r\n button: PropTypes.string,\r\n large: PropTypes.bool,\r\n};\r\n\r\nRequestTrial.defaultProps = {\r\n title: 'Request a free trial today',\r\n};\r\n\r\nexport default RequestTrial;\r\n","export enum IconName {\r\n Video = 'video',\r\n LeftArrow = 'left-arrow',\r\n RightArrow = 'right-arrow',\r\n DownArrow = 'down-arrow',\r\n UpArrow = 'up-arrow',\r\n Increase = 'up',\r\n Decrease = 'down',\r\n Eye = 'eye',\r\n GrowingChart = 'growing-chart',\r\n Book = 'book',\r\n CircleCheck = 'circle-check',\r\n Suitcase = 'suitcase',\r\n Manager = 'manager',\r\n ChartBoard = 'chart-board',\r\n Bank = 'bank',\r\n Money = 'money',\r\n Magnifier = 'magnifier',\r\n BoldMagnifier = 'bold-magnifier',\r\n Spyglass = 'spyglass',\r\n Chess = 'chess',\r\n Clock = 'clock',\r\n Check = 'check',\r\n Binoculars = 'binoculars',\r\n Processor = 'processor',\r\n Twitter = 'twitter',\r\n LinkedIn = 'linkedin',\r\n Facebook = 'facebook',\r\n Youtube = 'youtube',\r\n StarFilled = 'star-filled',\r\n Star = 'star',\r\n Chat = 'chat',\r\n User = 'user',\r\n Question = 'question',\r\n Plus = 'plus',\r\n Filter = 'filter',\r\n FilterPlus = 'filter-plus',\r\n Printing = 'printing',\r\n Excel = 'excel',\r\n Save = 'save',\r\n Link = 'link',\r\n VideoCamera = 'videocamera',\r\n MoneyPig = 'business-and-finance',\r\n Manufacturing = 'factory',\r\n Group = 'users-group',\r\n Pdf = 'pdf',\r\n MgmtQ = 'MgmtQ',\r\n TransitionArrow = 'curve-arrow',\r\n MenuDots = 'menu-dots',\r\n Close = 'close',\r\n Paper = 'paper',\r\n Minus = 'minus',\r\n Calendar = 'calendar',\r\n Office = 'urban',\r\n Newspaper = 'newspaper',\r\n Sheet = 'sheet',\r\n}\r\n","export enum IconBlock {\r\n Root = 'Icon',\r\n}\r\n\r\nexport enum IconModifier {\r\n Hover = 'hover',\r\n}\r\n","import React, { FunctionComponent } from 'react';\r\nimport './QuotesItem.scss';\r\n\r\ninterface Props {\r\n quote: string;\r\n author: string;\r\n}\r\n\r\nconst QuotesItem: FunctionComponent = props => {\r\n return (\r\n
\r\n {props.quote}\r\n {props.author}\r\n
\r\n );\r\n};\r\n\r\nexport default QuotesItem;\r\n","import React, { FunctionComponent } from 'react';\r\nimport './Quotes.scss';\r\n\r\nconst Quotes: FunctionComponent = props => {\r\n return
{props.children}
;\r\n};\r\n\r\nexport default Quotes;\r\n","import React, { FunctionComponent } from 'react';\r\nimport './HeaderLine.scss';\r\n\r\ninterface Props {\r\n content?: string;\r\n}\r\n\r\nconst HeaderLine: FunctionComponent = props => {\r\n return
{props.children}
;\r\n};\r\n\r\nexport default HeaderLine;\r\n","import React, { FunctionComponent } from 'react';\r\nimport QuotesItem from './quotes/QuotesItem';\r\nimport Quotes from './quotes/Quotes';\r\n\r\nconst MultipleQuotes: FunctionComponent = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MultipleQuotes;\r\n","import { IconOptions } from '../interfaces/IconOptions';\r\nimport { IconProps } from '../Icon';\r\nimport { IconName } from '../IconName';\r\nimport { ColorScheme } from '../../../enums/ColorScheme';\r\n\r\nexport class IconFactory {\r\n static get(props: IconProps): IconOptions {\r\n let options: IconOptions = {};\r\n\r\n switch (props.name) {\r\n case IconName.Excel:\r\n options = {\r\n colorScheme: ColorScheme.Success,\r\n };\r\n break;\r\n case IconName.Pdf:\r\n options = {\r\n colorScheme: ColorScheme.Danger,\r\n };\r\n break;\r\n }\r\n\r\n return {\r\n colorScheme: props.colorScheme || options.colorScheme,\r\n };\r\n }\r\n}\r\n","export enum ResearchTextElement {\r\n ContactUs = 'Contact Us',\r\n}\r\n","import React, { CSSProperties, useMemo } from 'react';\r\nimport './Icon.scss';\r\nimport { IconName } from './IconName';\r\nimport { ColorScheme } from '../../enums/ColorScheme';\r\nimport { ControlSize } from '../../enums/ControlSize';\r\nimport { IconBlock, IconModifier } from './IconBem';\r\nimport { useClassName } from '../../hooks/useClassName';\r\nimport { Nullable } from '../../types/generics';\r\nimport { IconFactory } from './factories/IconFactory';\r\n\r\nexport interface IconProps {\r\n name?: Nullable;\r\n colorScheme?: ColorScheme;\r\n size?: ControlSize;\r\n className?: string;\r\n hasHover?: boolean;\r\n style?: CSSProperties;\r\n onClick?: () => void;\r\n}\r\n\r\nconst Icon: React.FC = props => {\r\n const cn = useClassName(IconBlock.Root, props.className);\r\n\r\n const options = useMemo(() => IconFactory.get(props), [props]);\r\n\r\n return (\r\n <>\r\n {props.name === IconName.Sheet ? (\r\n <>\r\n {' '}\r\n \"\"\r\n \r\n ) : (\r\n \r\n {props.name && }\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Icon;\r\n","import { createContext } from 'react';\r\nimport { Url } from '../../types';\r\n\r\nexport interface LightBoxContextValue {\r\n index: number;\r\n images: Url[];\r\n\r\n setImages(images: Url[]): void;\r\n setIndex(index: number): void;\r\n}\r\n\r\nclass LightBoxContextDefaults implements LightBoxContextValue {\r\n index = 0;\r\n images: Url[] = [];\r\n\r\n setImages(images: Url[]): void {\r\n this.images = images;\r\n }\r\n\r\n setIndex(index: number): void {\r\n this.index = index;\r\n }\r\n}\r\n\r\nexport const LightBoxContext = createContext(new LightBoxContextDefaults());\r\n","import React, { FunctionComponent, useCallback, useContext } from 'react';\r\nimport Lightbox from 'react-image-lightbox';\r\nimport { LightBoxContext } from './LightBoxContext';\r\n\r\nimport 'react-image-lightbox/style.css';\r\n\r\nconst LightBox: FunctionComponent = () => {\r\n const { images, setImages, index, setIndex } = useContext(LightBoxContext);\r\n\r\n const onCloseRequest = useCallback(() => setImages([]), [setImages]);\r\n const onMovePrevRequest = useCallback(() => setIndex((index + images.length - 1) % images.length), [\r\n setIndex,\r\n index,\r\n images,\r\n ]);\r\n const onMoveNextRequest = useCallback(() => setIndex((index + 1) % images.length), [setIndex, index, images]);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default LightBox;\r\n","import React, { ReactNode, useCallback, useMemo, useState } from 'react';\r\nimport './ScreenshotDescription.scss';\r\nimport classNames from 'classnames';\r\nimport TextContainer from './TextContainer';\r\nimport { IconName } from '../../shared/components/icon/IconName';\r\nimport { ColorScheme } from '../../shared/enums/ColorScheme';\r\nimport Icon from '../../shared/components/icon/Icon';\r\nimport LightBox from '../../shared/components/lightbox/LightBox';\r\nimport { Url } from '../../shared/types';\r\nimport { LightBoxContext, LightBoxContextValue } from '../../shared/components/lightbox/LightBoxContext';\r\nimport Modal from 'react-modal';\r\n\r\n// TODO: Refactor page. Break code into reusable compnents. Import constant variables from an external file.\r\n\r\nexport interface ScreenshotDescriptionProps {\r\n title: ReactNode | string;\r\n description: ReactNode | string;\r\n icon?: IconName;\r\n imageUrl: string | string[];\r\n baseImageUrl?: string;\r\n reverse?: boolean;\r\n colorScheme?: ColorScheme;\r\n header?: boolean;\r\n layoutStyle?: string;\r\n isVideo?: boolean;\r\n}\r\n\r\nconst videoCardStyle = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n overflow: '',\r\n },\r\n overlay: {\r\n zIndex: 999,\r\n backgroundColor: 'rgba(0, 0, 0, 0.75)',\r\n },\r\n};\r\n\r\nconst ScreenshotDescription: React.FC = props => {\r\n const [images, setImages] = useState([]);\r\n const [index, setIndex] = useState(0);\r\n const [modalIsOpen, setIsModalOpen] = React.useState(false);\r\n\r\n function openModal() {\r\n setIsModalOpen(true);\r\n }\r\n\r\n function closeModal() {\r\n setIsModalOpen(false);\r\n }\r\n\r\n const contextValue: LightBoxContextValue = useMemo(\r\n () => ({\r\n images,\r\n setImages,\r\n index,\r\n setIndex,\r\n }),\r\n [images, setImages, index, setIndex],\r\n );\r\n\r\n const openLightBox = useCallback(\r\n (index: number) => {\r\n setIndex(index);\r\n if (Array.isArray(props.imageUrl)) {\r\n setImages(props.imageUrl.map(item => item));\r\n }\r\n },\r\n [props.imageUrl, setIndex, setImages],\r\n );\r\n\r\n const titleWithIcon = (\r\n <>\r\n {props.icon && (\r\n \r\n \r\n \r\n )}\r\n
\r\n {props.title}\r\n
\r\n \r\n );\r\n\r\n return (\r\n \r\n
\r\n {props.header &&
{titleWithIcon}
}\r\n\r\n \r\n \r\n {props.header || titleWithIcon}\r\n\r\n \r\n \r\n {props.description}\r\n
\r\n \r\n \r\n\r\n \r\n {props.isVideo ? (\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n \r\n setIsModalOpen(false)}>\r\n \r\n \r\n \r\n \r\n ) : Array.isArray(props.imageUrl) ? (\r\n openLightBox(index)}\r\n src={props.baseImageUrl ? props.baseImageUrl : props.imageUrl[0]}\r\n alt=\"\"\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n {!!images.length && }\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ScreenshotDescription;\r\n","import React from 'react';\r\nimport { IconName } from '../../../shared/components/icon/IconName';\r\nimport { ScreenshotDescriptionProps } from '../../shared/ScreenshotDescription';\r\n\r\nexport const featuresProps: ScreenshotDescriptionProps[] = [\r\n {\r\n title: 'Back your decisions with unbiased ratings',\r\n description:\r\n 'Renaissance Capital has been rating ' +\r\n 'IPOs for over 30 years. Our clients ' +\r\n 'know that we call them like we see ' +\r\n 'them. All of our ratings are completely ' +\r\n 'independent and unbiased, so you ' +\r\n 'know you’re getting research opinions, ' +\r\n 'not Wall Street sales pitches.',\r\n icon: IconName.GrowingChart,\r\n imageUrl: require('../../shared/images/UnbiasedRatings_IPOIntelligence_resized.png'),\r\n layoutStyle: 'wide',\r\n reverse: true,\r\n },\r\n {\r\n title: (\r\n <>\r\n Find IPOs with Alpha\r\n \r\n ),\r\n description:\r\n 'Our team of analysts review and rate all ' +\r\n 'major IPOs based on the long-term ' +\r\n 'and short-term outlook. Let us do the ' +\r\n 'heavy lifting so you have more time to ' +\r\n 'analyze the winning deals.',\r\n icon: IconName.Eye,\r\n imageUrl: require('../../shared/images/IPOsWithAlpha_IPOIntelligence.png'),\r\n },\r\n {\r\n title: 'Don’t waste time on the laggards',\r\n description: 'Steer clear of the underperforming IPOs, so you can make your bets in the right places.',\r\n icon: IconName.Magnifier,\r\n imageUrl: require('../../shared/images/DontWasteTime_IPOIntelligence.png'),\r\n reverse: true,\r\n },\r\n {\r\n title: 'Get plugged in to the IPO market',\r\n description:\r\n 'The IPO market moves quickly. IPO Intelligence ' +\r\n 'makes tracking upcoming ' +\r\n 'deals easy, so you can spend your time ' +\r\n 'where you need to most.',\r\n icon: IconName.Spyglass,\r\n imageUrl: require('../../shared/images/GetPluggedIn_IPOIntelligence.png'),\r\n },\r\n {\r\n title: 'Get the objective bull and bear case',\r\n description:\r\n 'Get a feel for a deal as quickly as possible. ' +\r\n 'Bull and bear insights on each IPO give you ' +\r\n 'a quick summary of the deal, and highlight ' +\r\n 'the points you should focus on in your research.',\r\n icon: IconName.Chess,\r\n imageUrl: require('../../shared/images/ObjectiveBullBear_IPOIntelligence.png'),\r\n reverse: true,\r\n },\r\n {\r\n title: 'ANALYZE EVERY SCENARIO WITH DYNAMIC COMP TABLES AND CUSTOMIZED DCF MODELS',\r\n description:\r\n 'Our Excel DCF models allows users to ' +\r\n 'scrutinize line-by-line our forward ' +\r\n 'financial estimates, measure the effect ' +\r\n 'of different growth forecasts on our fair ' +\r\n 'value estimate, and integrate the data ' +\r\n 'with their own investment platforms.',\r\n icon: IconName.Sheet,\r\n baseImageUrl: require('../../shared/images/ABNB_CompTable_IPOIntelligence_a_base_wide.png'),\r\n imageUrl: [\r\n require('../../shared/images/ABNB_CompTable_IPOIntelligence_a.png'),\r\n require('../../shared/images/ABNB_Model_IPOIntelligence_b.png'),\r\n ],\r\n },\r\n {\r\n title: 'Get timely, actionable research',\r\n description:\r\n 'Our research is timely. You get early ' +\r\n 'deal color with company profiles up ' +\r\n 'within hours of a filing, Management ' +\r\n 'Questions in your hands in time for the ' +\r\n 'roadshow or 1-on-1’s, and full research ' +\r\n 'reports out before the deal prices.',\r\n icon: IconName.Clock,\r\n imageUrl: require('../../shared/images/TimelyActionable_IPOIntelligence.png'),\r\n reverse: true,\r\n },\r\n];\r\n","import React from 'react';\r\nimport './OverviewFeatures.scss';\r\nimport ScreenshotDescription, { ScreenshotDescriptionProps } from '../../shared/ScreenshotDescription';\r\nimport { featuresProps } from './featuresProps';\r\nimport PrimarySection from '../../../shared/components/primary-section/PrimarySection';\r\nimport { ColorScheme } from '../../../shared/enums/ColorScheme';\r\n\r\nconst OverviewFeatures: React.FC = () => {\r\n return (\r\n
\r\n {featuresProps.map((props: ScreenshotDescriptionProps, index: number) => (\r\n \r\n \r\n \r\n ))}\r\n
\r\n );\r\n};\r\n\r\nexport default OverviewFeatures;\r\n","import React from 'react';\r\nimport Icon from '../icon/Icon';\r\nimport { IconName } from '../icon/IconName';\r\nimport classNames from 'classnames';\r\nimport { CustomArrowProps } from 'react-slick';\r\nimport './CarouselArrow.scss';\r\n\r\ninterface Props extends CustomArrowProps {\r\n icon: IconName;\r\n}\r\n\r\nconst CarouselArrow: React.FC = props => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default CarouselArrow;\r\n","import CarouselArrow from './CarouselArrow';\r\nimport { IconName } from '../icon/IconName';\r\nimport { BreakpointSizes } from '../../enums/BreakpointSizes';\r\nimport React from 'react';\r\nimport { Settings } from 'react-slick';\r\n\r\nexport const settings: Settings = {\r\n dots: false,\r\n infinite: true,\r\n arrows: true,\r\n swipeToSlide: true,\r\n slidesToScroll: 1,\r\n slidesToShow: 4,\r\n touchThreshold: 15,\r\n prevArrow: ,\r\n nextArrow: ,\r\n responsive: [\r\n {\r\n breakpoint: BreakpointSizes.Large,\r\n settings: {\r\n slidesToShow: 4,\r\n touchThreshold: 12,\r\n },\r\n },\r\n {\r\n breakpoint: BreakpointSizes.Medium,\r\n settings: {\r\n slidesToShow: 3,\r\n touchThreshold: 9,\r\n },\r\n },\r\n {\r\n breakpoint: BreakpointSizes.Small,\r\n settings: {\r\n slidesToShow: 2,\r\n touchThreshold: 6,\r\n },\r\n },\r\n {\r\n breakpoint: 460,\r\n settings: {\r\n slidesToShow: 1,\r\n touchThreshold: 3,\r\n },\r\n },\r\n ],\r\n};\r\n","import React from 'react';\r\nimport Slider from 'react-slick';\r\nimport 'slick-carousel/slick/slick.scss';\r\nimport './Carousel.scss';\r\nimport { settings } from './settings';\r\n\r\nconst Carousel: React.FC = props => {\r\n return (\r\n
\r\n {props.children}\r\n
\r\n );\r\n};\r\n\r\nexport default Carousel;\r\n","import React from 'react';\r\nimport './Carouseltem.scss';\r\n\r\nconst CarouselItem: React.FC = props => {\r\n return
{props.children}
;\r\n};\r\n\r\nexport default CarouselItem;\r\n","import React from 'react';\r\nimport Carousel from '../../shared/components/carousel/Carousel';\r\nimport CarouselItem from '../../shared/components/carousel/CarouselItem';\r\n\r\nconst CarouselWithNewspapers: React.FC = () => (\r\n \r\n \r\n \"\"\r\n \r\n\r\n \r\n \"\"\r\n \r\n\r\n \r\n \"\"\r\n \r\n\r\n \r\n \"\"\r\n \r\n\r\n \r\n \"\"\r\n \r\n\r\n \r\n \"\"\r\n \r\n\r\n \r\n \"\"\r\n \r\n\r\n \r\n \"\"\r\n \r\n\r\n \r\n \"\"\r\n \r\n\r\n \r\n \"\"\r\n \r\n\r\n \r\n \"\"\r\n \r\n \r\n);\r\n\r\nexport default CarouselWithNewspapers;\r\n","import React from 'react';\r\nimport CarouselWithNewspapers from '../../shared/CarouselWithNewspapers';\r\nimport './OverviewFeatured.scss';\r\n\r\nconst OverviewFeatured: React.FC = () => {\r\n return (\r\n
\r\n
Featured on:
\r\n\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default OverviewFeatured;\r\n","import { RoutePath } from '../enums/RoutePath';\r\n\r\nexport type DocumentHeadRoutePath =\r\n | RoutePath.Home\r\n | RoutePath.Research\r\n | RoutePath.Features\r\n | RoutePath.WhoUsesUs\r\n | RoutePath.Pricing\r\n | RoutePath.About\r\n | RoutePath.UserPrivacy\r\n | RoutePath.NotFound;\r\n\r\nexport interface DocumentHeadData {\r\n title: string;\r\n description: string;\r\n}\r\n\r\ntype DocumentHead = {\r\n [key in DocumentHeadRoutePath]: DocumentHeadData;\r\n};\r\n\r\nexport const DOCUMENT_HEAD: DocumentHead = {\r\n [RoutePath.Home]: {\r\n title: 'Pre-IPO Research Service',\r\n description:\r\n 'Pre-IPO Institutional Research Service offering IPO ratings, ' +\r\n 'IPO Reports, IPO Alerts, DCF Models and IPO Insights',\r\n },\r\n\r\n [RoutePath.Research]: {\r\n title: 'Pre-IPO Research Reports & Ratings',\r\n description: 'Pre-IPO Institutional Research Reports, IPO Ratings, DCF Models, and Opinions',\r\n },\r\n\r\n [RoutePath.Features]: {\r\n title: 'IPO Alerts, Models & Screening',\r\n description: 'Pre-IPO Reports with Investment Ratings, Financial Models, IPO Email Alerts, IPO Screening',\r\n },\r\n\r\n [RoutePath.WhoUsesUs]: {\r\n title: 'Our Clients',\r\n description:\r\n 'Pre-IPO Research Platform used by Hedge Funds, Investment Banks, Asset Managers and VC/Private Equity Firms',\r\n },\r\n\r\n [RoutePath.Pricing]: {\r\n title: 'Pricing',\r\n description: 'Valuable Pre-IPO Research, IPO Insights, IPO Ratings, IPO Calendars, IPO News and Commentaries',\r\n },\r\n\r\n [RoutePath.About]: {\r\n title: 'Pre-IPO Research',\r\n description:\r\n 'We provide pre-IPO institutional research with our IPO Intelligence paltform, ' +\r\n 'IPO-focused investment products and IPO Pro - an online portal for retail investors. ' +\r\n 'Our mission is to help investors uncover and profit from IPOs. - Renaissance Capital',\r\n },\r\n\r\n [RoutePath.UserPrivacy]: {\r\n title: 'User Privacy',\r\n description: 'Pre-IPO User Privacy',\r\n },\r\n\r\n [RoutePath.NotFound]: {\r\n title: 'Not found (404)',\r\n description: '',\r\n },\r\n};\r\n","import React, { useMemo } from 'react';\r\nimport Helmet from 'react-helmet';\r\nimport { DOCUMENT_HEAD, DocumentHeadData, DocumentHeadRoutePath } from '../constants/documentHead';\r\n\r\ninterface CustomProps {\r\n custom: DocumentHeadData;\r\n}\r\n\r\ninterface PathProps {\r\n path: DocumentHeadRoutePath;\r\n}\r\n\r\nconst COMPANY_NAME = 'IPO Intelligence - Renaissance Capital';\r\n\r\nconst DocumentHead: React.FC = props => {\r\n const headData = useMemo(() => {\r\n const path = (props as PathProps).path;\r\n\r\n if (path) {\r\n return DOCUMENT_HEAD[path];\r\n }\r\n\r\n return (props as CustomProps).custom;\r\n }, [props]);\r\n\r\n const compositeDescription = useMemo(() => {\r\n if (headData.description) {\r\n return `${headData.description} | ${COMPANY_NAME}`;\r\n }\r\n\r\n return COMPANY_NAME;\r\n }, [headData]);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default DocumentHead;\r\n","import React from 'react';\r\nimport Carousel from '../../shared/components/carousel/Carousel';\r\nimport CarouselItem from '../../shared/components/carousel/CarouselItem';\r\n\r\nconst CarouselWithAllClients: React.FC = () => (\r\n \r\n \r\n \"\"\r\n \r\n\r\n \r\n \"\"\r\n \r\n\r\n \r\n \"\"\r\n \r\n\r\n {/* \"\" */}\r\n\r\n \r\n \"\"\r\n \r\n \r\n);\r\n\r\nexport default CarouselWithAllClients;\r\n","import React from 'react';\r\nimport Feature from '../shared/Feature';\r\nimport OverviewPerformance from './OverviewPerformance';\r\nimport RequestTrial from '../shared/RequestTrial';\r\nimport Video from '../shared/Video';\r\nimport QuotesItem from '../shared/quotes/QuotesItem';\r\nimport Quotes from '../shared/quotes/Quotes';\r\nimport HeaderLine from '../shared/HeaderLine';\r\nimport MultipleQuotes from '../shared/MultipleQuotes';\r\nimport OverviewFeatures from './features/OverviewFeatures';\r\nimport OverviewFeatured from './featured/OverviewFeatured';\r\nimport DocumentHead from '../../shared/components/DocumentHead';\r\nimport CarouselWithAllClients from '../shared/CarouselWithAllClients';\r\nimport { OptimizedPictureType } from '../shared/optimized-picture/enums/OptimizedPictureType';\r\nimport { RoutePath } from '../../shared/enums/RoutePath';\r\nimport PrimarySection from '../../shared/components/primary-section/PrimarySection';\r\nimport { ColorScheme } from '../../shared/enums/ColorScheme';\r\nimport { PrimarySectionIndent } from '../../shared/components/primary-section/PrimarySectionIndent';\r\n\r\nconst Overview: React.FC = () => {\r\n return (\r\n
\r\n \r\n\r\n \r\n Evaluate deals with independent\r\n pre-IPO research\r\n \r\n }\r\n optimizedPictureType={OptimizedPictureType.OverviewMeeting}\r\n >\r\n Renaissance Capital’s IPO Intelligence research platform brings you comprehensive, unbiased pre-IPO\r\n research and models on U.S. and international IPOs, so you can\r\n separate the good IPOs from the bad.\r\n \r\n\r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n */}\r\n\r\n \r\n Trusted by the smartest investors and deal makers\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Why IPO intelligence?\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Overview;\r\n","import React from 'react';\r\nimport './SubheaderQuote.scss';\r\n\r\nconst SubheaderQuote: React.FC = props => {\r\n return
{props.children}
;\r\n};\r\n\r\nexport default SubheaderQuote;\r\n","import { ScreenshotDescriptionProps } from '../shared/ScreenshotDescription';\r\n\r\nexport const researchScreenshotDescriptionProps: ScreenshotDescriptionProps = {\r\n title: \"Delivering the best ipo research to the world's top investment firms for over 30 years\",\r\n description:\r\n 'IPO Intelligence gives you an actionable ' +\r\n 'investment opinion on every major IPO. ' +\r\n 'You`ll get the real bull-bear case with an ' +\r\n 'in-depth valuation analysis in enough ' +\r\n 'time to use it.',\r\n imageUrl: require('../shared/images/features.png'),\r\n};\r\n","import React from 'react';\r\nimport './ResearchProcess.scss';\r\nimport { Link } from 'react-router-dom';\r\nimport TextContainer from '../shared/TextContainer';\r\nimport { ResearchTextElement } from './enum/ResearchTextElement';\r\nimport { RoutePath } from '../../shared/enums/RoutePath';\r\nimport { IPO_INTELLIGENCE_CLIENT_SITE_CONTACT_US } from '../../shared/constants/urls';\r\n\r\nconst ResearchProcess: React.FC = () => {\r\n return (\r\n
\r\n \r\n

\r\n IPO Intelligence is the leading independent pre-IPO research platform for institutional investors, financial\r\n sponsors, investment banks and IPO advisory firms. Our service provides real-time IPO alerts and in-depth\r\n fundamental research, valuation analysis and financial models on every US IPO and major global listings.\r\n

\r\n\r\n

\r\n It is the premier resource for comprehensive tracking of the US and global IPO markets. The top institutional\r\n investors rely on IPO Intelligence to help identify and analyze these new investment opportunities.\r\n

\r\n\r\n

\r\n Our research can be tailored to our clients’ areas of interest, including small vs large cap, growth vs value,\r\n U.S. vs International, sector focus, etc. Clients are able to consult with our research analysts and request\r\n custom data sets.\r\n

\r\n\r\n

\r\n \r\n {ResearchTextElement.ContactUs} \r\n \r\n to learn more about our IPO Intelligence Research platform.\r\n

\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ResearchProcess;\r\n","export enum PricingTextElement {\r\n Comment = 'Please send me a pricing sheet and detailed description of features for IPO Intelligence.',\r\n ContactUs = 'here',\r\n}\r\n","import React from 'react';\r\nimport TextContainer from '../shared/TextContainer';\r\nimport './ResearchIpoLifecycle.scss';\r\n\r\nconst ResearchIpoLifecycle: React.FC = () => {\r\n return (\r\n
\r\n \r\n

\r\n In-Depth Pre-IPO Research: \r\n Our Pre-IPO research gives you an actionable investment opinion on every IPO. Within days of an IPO filing\r\n terms, you’ll have an in-depth but highly scannable look at the business, management team and shareholder\r\n makeup, valuation and relevant comparables. You’ll get the real bull and the bear case for every deal,\r\n relevant industry insights and meeting prep questions for management meetings.\r\n

\r\n\r\n

\r\n DCF Models and Comp Sheets: \r\n Our Excel DCF models allows users to scrutinize line-by-line our forward financial estimates, measure the\r\n effect of different growth forecasts on our fair value estimate, and integrate the data with their own\r\n investment platforms. It also integrates with our comp sheets, letting you see the impact of changes in\r\n estimates or multiples and allowing you to customize the peer group.\r\n

\r\n\r\n

\r\n Improved Aerial View: \r\n Our detailed calendars provide a dashboard for all upcoming U.S. and non-U.S. new listings, as well as quiet\r\n period and insider lock-up expirations. Our clients also receive regular top down IPO market commentary,\r\n including weekly, monthly, quarterly and annual IPO reviews.\r\n

\r\n\r\n

\r\n Comprehensive Coverage: \r\n We cover all industries, market capitalizations and institutionally investable foreign listings. Each\r\n prospective IPO flows through the multi-step coverage process shown above.\r\n

\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ResearchIpoLifecycle;\r\n","import React from 'react';\r\nimport './ResearchFlowItem.scss';\r\n\r\nexport interface ResearchFlowProps {\r\n title: string;\r\n imageUrl: string;\r\n openLightBox?: () => void;\r\n baseImageUrl?: string;\r\n}\r\n\r\nconst ResearchFlowItem: React.FC = props => {\r\n return (\r\n <>\r\n {props.title === '' ? null : (\r\n
  • \r\n
    \r\n
    \r\n {props.title}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
  • \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ResearchFlowItem;\r\n","import React, { useCallback, useMemo, useState } from 'react';\r\nimport ResearchFlowItem, { ResearchFlowProps } from './ResearchFlowItem';\r\nimport './ResearchFlow.scss';\r\nimport { LightBoxContext, LightBoxContextValue } from '../../../shared/components/lightbox/LightBoxContext';\r\nimport { Url } from '../../../shared/types';\r\nimport LightBox from '../../../shared/components/lightbox/LightBox';\r\n\r\ninterface Props {\r\n title: string;\r\n items: ResearchFlowProps[];\r\n}\r\n\r\nconst ResearchFlow: React.FC = props => {\r\n const [images, setImages] = useState([]);\r\n const [index, setIndex] = useState(0);\r\n\r\n const contextValue: LightBoxContextValue = useMemo(\r\n () => ({\r\n images,\r\n setImages,\r\n index,\r\n setIndex,\r\n }),\r\n [images, setImages, index, setIndex],\r\n );\r\n\r\n const openLightBox = useCallback(\r\n (index: number) => {\r\n setIndex(index);\r\n setImages(props.items.map(item => item.imageUrl));\r\n },\r\n [props.items, setIndex, setImages],\r\n );\r\n\r\n return (\r\n \r\n
    \r\n
    {props.title}
    \r\n\r\n
      \r\n {props.items.map((itemProps: ResearchFlowProps, index: number) => (\r\n openLightBox(index)} />\r\n ))}\r\n
    \r\n\r\n {!!images.length && }\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ResearchFlow;\r\n","import React from 'react';\r\nimport './ResearchProcessHeader.scss';\r\n\r\nconst ResearchProcessHeader: React.FC = () => {\r\n return (\r\n

    \r\n The research process used by the\r\n \r\n ipo experts at renaissance capital\r\n

    \r\n );\r\n};\r\n\r\nexport default ResearchProcessHeader;\r\n","import { ResearchFlowProps } from './ResearchFlowItem';\r\n\r\nexport const researchFlowProps: ResearchFlowProps[] = [\r\n {\r\n title: 'Private Company Watchlist',\r\n baseImageUrl: require('../../shared/images/PCW_IPOIntelligence_base.png'),\r\n imageUrl: require('../../shared/images/PCW_IPOIntelligence.png'),\r\n },\r\n {\r\n title: 'IPO Pipeline',\r\n baseImageUrl: require('../../shared/images/Pipeline_IPOIntelligence_base.png'),\r\n imageUrl: require('../../shared/images/Pipeline_IPOIntelligence.png'),\r\n },\r\n {\r\n title: 'Profile',\r\n baseImageUrl: require('../../shared/images/Profile_IPOIntelligence_base.png'),\r\n imageUrl: require('../../shared/images/Profile_IPOIntelligence.png'),\r\n },\r\n {\r\n title: 'Mgmt Questions',\r\n baseImageUrl: require('../../shared/images/MgmtQuestions_IPOIntelligence_base.png'),\r\n imageUrl: require('../../shared/images/MgmtQuestions_IPOIntelligence.png'),\r\n },\r\n {\r\n title: 'Pre-IPO Research',\r\n baseImageUrl: require('../../shared/images/ABNB_Report_IPOIntelligence_a_base.png'),\r\n imageUrl: require('../../shared/images/ABNB_Report_IPOIntelligence_a.png'),\r\n },\r\n {\r\n title: '',\r\n imageUrl: require('../../shared/images/ABNB_Report_IPOIntelligence_b.png'),\r\n },\r\n {\r\n title: '',\r\n imageUrl: require('../../shared/images/ABNB_Report_IPOIntelligence_c.png'),\r\n },\r\n {\r\n title: '',\r\n imageUrl: require('../../shared/images/ABNB_Report_IPOIntelligence_d.png'),\r\n },\r\n\r\n {\r\n title: '',\r\n imageUrl: require('../../shared/images/ABNB_Report_IPOIntelligence_e.png'),\r\n },\r\n\r\n {\r\n title: '',\r\n imageUrl: require('../../shared/images/ABNB_Report_IPOIntelligence_f.png'),\r\n },\r\n\r\n {\r\n title: '',\r\n imageUrl: require('../../shared/images/ABNB_Report_IPOIntelligence_g.png'),\r\n },\r\n {\r\n title: 'Comp Table / DCF Model',\r\n baseImageUrl: require('../../shared/images/ABNB_CompTable_IPOIntelligence_a_base.png'),\r\n imageUrl: require('../../shared/images/ABNB_CompTable_IPOIntelligence_a.png'),\r\n },\r\n\r\n {\r\n title: '',\r\n imageUrl: require('../../shared/images/ABNB_Model_IPOIntelligence_b.png'),\r\n },\r\n {\r\n title: 'Pricing Insights',\r\n baseImageUrl: require('../../shared/images/PricingNote_IPOIntelligence_base.png'),\r\n imageUrl: require('../../shared/images/PricingNote_IPOIntelligence.png'),\r\n },\r\n];\r\n\r\nexport const coverageFlowProps: ResearchFlowProps[] = [\r\n {\r\n title: 'Historical IPO Database',\r\n imageUrl: require('../../shared/images/features.png'),\r\n },\r\n {\r\n title: 'Quarterly and Annual Reviews',\r\n imageUrl: require('../../shared/images/features.png'),\r\n },\r\n {\r\n title: 'Trading Tools & Screens',\r\n imageUrl: require('../../shared/images/features.png'),\r\n },\r\n];\r\n","import React from 'react';\r\nimport Feature from '../shared/Feature';\r\nimport SubheaderQuote from '../shared/SubheaderQuote';\r\nimport RequestTrial from '../shared/RequestTrial';\r\nimport Video from '../shared/Video';\r\nimport ScreenshotDescription from '../shared/ScreenshotDescription';\r\nimport { researchScreenshotDescriptionProps } from './researchScreenshotDescriptionProps';\r\nimport MarketingPerformance from '../shared/performance/MarketingPerformance';\r\nimport ResearchProcess from './ResearchProcess';\r\nimport ResearchIpoLifecycle from './ResearchIpoLifecycle';\r\nimport ResearchFlow from './flow/ResearchFlow';\r\nimport ResearchProcessHeader from './ResearchProcessHeader';\r\nimport { coverageFlowProps, researchFlowProps } from './flow/flowProps';\r\nimport DocumentHead from '../../shared/components/DocumentHead';\r\nimport { OptimizedPictureType } from '../shared/optimized-picture/enums/OptimizedPictureType';\r\nimport { RoutePath } from '../../shared/enums/RoutePath';\r\nimport PrimarySection from '../../shared/components/primary-section/PrimarySection';\r\nimport { ColorScheme } from '../../shared/enums/ColorScheme';\r\nimport { PrimarySectionIndent } from '../../shared/components/primary-section/PrimarySectionIndent';\r\nimport PrimarySectionRow from '../../shared/components/primary-section/PrimarySectionRow';\r\n\r\nconst Research: React.FC = () => {\r\n //
    \r\n // \r\n // Now showing Research component on Features' route\r\n return (\r\n
    \r\n \r\n\r\n \r\n Obtain actionable,\r\n independent ipo insights\r\n \r\n }\r\n optimizedPictureType={OptimizedPictureType.ResearchMeeting}\r\n >\r\n Renaissance Capital’s IPO Intelligence research platform brings you comprehensive, unbiased pre-IPO\r\n research and models on U.S. and international IPOs, so you can\r\n separate the good IPOs from the bad.\r\n \r\n\r\n \r\n \r\n IPO Intelligence is your objective, comprehensive way to identify winning IPOs - brought to you by Renaissance\r\n Capital LLC\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n }>\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n {/* */}\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n */}\r\n\r\n \r\n\r\n {/* \r\n \r\n */}\r\n
    \r\n );\r\n};\r\n\r\nexport default Research;\r\n","import { IconName } from '../../shared/components/icon/IconName';\r\nimport { OurClientProps } from './OurClient';\r\n\r\nexport const clients: OurClientProps[] = [\r\n {\r\n icon: IconName.Money,\r\n description: 'Hedge Funds',\r\n },\r\n {\r\n icon: IconName.Bank,\r\n description: 'Investment Banks',\r\n },\r\n {\r\n icon: IconName.ChartBoard,\r\n description: 'Mutual Funds',\r\n },\r\n {\r\n icon: IconName.Manager,\r\n description: 'Alternative Asset Managers',\r\n },\r\n {\r\n icon: IconName.GrowingChart,\r\n description: 'Pension Funds',\r\n },\r\n {\r\n icon: IconName.Suitcase,\r\n description: 'RIAs',\r\n },\r\n {\r\n icon: IconName.Manufacturing,\r\n description: 'IPO Advisory Firms',\r\n },\r\n {\r\n icon: IconName.MoneyPig,\r\n description: 'VC/Private Equity Firms',\r\n },\r\n {\r\n icon: IconName.Group,\r\n description: 'Large Family Offices',\r\n },\r\n];\r\n","import React from 'react';\r\nimport Icon from '../../shared/components/icon/Icon';\r\nimport { IconName } from '../../shared/components/icon/IconName';\r\nimport './OurClient.scss';\r\n\r\nexport interface OurClientProps {\r\n icon: IconName;\r\n description: string;\r\n}\r\n\r\nconst OurClient: React.FC = props => {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    {props.description}
    \r\n
    \r\n );\r\n};\r\n\r\nexport default OurClient;\r\n","import React from 'react';\r\nimport { clients } from './clients';\r\nimport OurClient, { OurClientProps } from './OurClient';\r\nimport './OurClients.scss';\r\n\r\nconst OurClients: React.FC = () => {\r\n return (\r\n
    \r\n

    Our Clients

    \r\n\r\n
      \r\n {clients.map((props: OurClientProps, index: number) => (\r\n
    • \r\n \r\n
    • \r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default OurClients;\r\n","import React from 'react';\r\nimport Feature from '../shared/Feature';\r\nimport RequestTrial from '../shared/RequestTrial';\r\nimport Video from '../shared/Video';\r\nimport MultipleQuotes from '../shared/MultipleQuotes';\r\nimport OurClients from './OurClients';\r\nimport DocumentHead from '../../shared/components/DocumentHead';\r\nimport CarouselWithAllClients from '../shared/CarouselWithAllClients';\r\nimport { OptimizedPictureType } from '../shared/optimized-picture/enums/OptimizedPictureType';\r\nimport { RoutePath } from '../../shared/enums/RoutePath';\r\nimport PrimarySection from '../../shared/components/primary-section/PrimarySection';\r\nimport { ColorScheme } from '../../shared/enums/ColorScheme';\r\n\r\nconst WhoUsesUs: React.FC = () => {\r\n return (\r\n
    \r\n \r\n\r\n \r\n The Renaissance Capital IPO Intelligence research platform brings you comprehensive, reliable\r\n pre-IPO research on U.S. and global deals to help you see\r\n tomorrow's opportunities, today.\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n */}\r\n\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default WhoUsesUs;\r\n","const items: string[] = [\r\n 'Pre-IPO Research Reports and Investment Ratings',\r\n 'Access to the Web-Based IPO Research Portal',\r\n 'Access for 6 users included',\r\n 'IPO News and Market Commentaries',\r\n 'Customizable Financial Models',\r\n 'Proprietary Meeting Prep for 1-on-1s, Analyst Calls and Group Meetings',\r\n 'Real Time IPO Email Alerts on Research and Pricings',\r\n 'Screening of Historical IPO Data Sets and Pre-IPO Reports',\r\n 'Proprietary Private Company Watchlist',\r\n 'Consultations with our Team of IPO Experts',\r\n 'IPO Calendars',\r\n 'Special IPO Market Reports and Quarterly Reviews',\r\n 'Client Only Morning Recap Emails',\r\n];\r\n\r\nexport default items;\r\n","const additionalItems: string[] = ['Data Feeds', 'Access for Additional Users'];\r\n\r\nexport default additionalItems;\r\n","export enum AboutUnitTextElement {\r\n Contact = 'here',\r\n}\r\n","import { createBrowserHistory } from 'history';\r\n\r\nexport const history = createBrowserHistory();\r\n","export class ScrollService {\r\n static scrollToTop(): void {\r\n window.scrollTo(0, 0);\r\n }\r\n}\r\n","import { identity, pickBy } from 'lodash';\r\nimport { stringify, parse, ParsedQuery, StringifyOptions, parseUrl, ParsedUrl } from 'query-string';\r\nimport { LocationSearchData } from '../interfaces/LocationSearchData';\r\n\r\nconst LOCATION_QUERY_STRING_BASE_OPTIONS: StringifyOptions = {\r\n arrayFormat: 'none',\r\n};\r\n\r\nexport class LocationQueryStringService {\r\n static getQueryStringFromSearchData(searchData: LocationSearchData): string {\r\n return stringify(pickBy(searchData, identity), LOCATION_QUERY_STRING_BASE_OPTIONS);\r\n }\r\n\r\n static getSearchDataFromQueryString(queryString: string): ParsedQuery {\r\n return parse(queryString, LOCATION_QUERY_STRING_BASE_OPTIONS);\r\n }\r\n\r\n static getParsedUrlFromRoutePath(routePath: string): ParsedUrl {\r\n return parseUrl(routePath, LOCATION_QUERY_STRING_BASE_OPTIONS);\r\n }\r\n}\r\n","import { Location } from 'history';\r\nimport { history } from '../history';\r\nimport { RoutePath } from '../enums/RoutePath';\r\nimport { store } from '../../store';\r\nimport { default as H, LocationDescriptorObject } from 'history';\r\nimport { LocationSearchData } from '../interfaces/LocationSearchData';\r\nimport { Url } from '../types';\r\nimport { ScrollService } from './ScrollService';\r\nimport { LocationQueryStringService } from './LocationQueryStringService';\r\n\r\nexport default class LocationService {\r\n static get origin(): string {\r\n return window.location.origin;\r\n }\r\n\r\n static getSearch(searchData?: LocationSearchData): string | undefined {\r\n return searchData && LocationQueryStringService.getQueryStringFromSearchData(searchData);\r\n }\r\n\r\n static getRelativePath(pathname: string, searchData?: LocationSearchData): string {\r\n const search = this.getSearch(searchData);\r\n const href = history.createHref({ pathname, search });\r\n\r\n return href[0] === '/' ? href : `/${href}`;\r\n }\r\n\r\n static getUrl(pathname: string, searchData?: LocationSearchData): Url {\r\n const path = this.getRelativePath(pathname, searchData);\r\n\r\n return `${this.origin}${path}`;\r\n }\r\n\r\n static redirectToLocation(location: LocationDescriptorObject, shouldReplace = false): void {\r\n if (shouldReplace) {\r\n history.replace(location);\r\n } else {\r\n history.push(location);\r\n\r\n // Have to scroll directly when navigate to the new page\r\n // https://github.com/ReactTraining/history/issues/710\r\n ScrollService.scrollToTop();\r\n }\r\n }\r\n\r\n static redirect(routePath: RoutePath, searchData?: LocationSearchData, shouldReplace = false): void {\r\n this.redirectToLocation(\r\n {\r\n pathname: routePath,\r\n search: this.getSearch(searchData),\r\n },\r\n shouldReplace,\r\n );\r\n }\r\n\r\n static redirectExternalLink(url: string, self?: boolean): void {\r\n window.open(url, `${self ? '_self' : ''}`);\r\n }\r\n\r\n static updateQueryParams(searchData?: LocationSearchData, shouldReplace = false): void {\r\n this.redirect(history.location.pathname as RoutePath, searchData, shouldReplace);\r\n }\r\n\r\n static isCurrentPath(routePath: RoutePath): boolean {\r\n return history.location.pathname === routePath;\r\n }\r\n\r\n static hasCurrentPath(routePaths: RoutePath[], currentLocation: H.Location): boolean {\r\n return routePaths.includes(currentLocation.pathname as RoutePath);\r\n }\r\n\r\n static get currentPath(): RoutePath {\r\n return history.location.pathname as RoutePath;\r\n }\r\n\r\n static navigateNotFound(): void {\r\n this.redirect(RoutePath.NotFound);\r\n }\r\n\r\n static reloadPage(): void {\r\n history.go(0);\r\n }\r\n\r\n static isSameLocation(locationA: Location, locationB: Location): boolean {\r\n const hrefA = history.createHref(locationA);\r\n const hrefB = history.createHref(locationB);\r\n\r\n return hrefA === hrefB;\r\n }\r\n\r\n static reloadPageIfSameLocation(locationA: Location, locationB: Location): void {\r\n if (LocationService.isSameLocation(locationA, locationB)) {\r\n LocationService.reloadPage();\r\n }\r\n }\r\n}\r\n","import React, { useCallback } from 'react';\r\nimport './PricingDescription.scss';\r\nimport items from './items';\r\nimport additionalItems from './additionalItems';\r\nimport { PricingTextElement } from './enum/PricingTextElement';\r\nimport LocationService from '../../shared/services/LocationService';\r\nimport { IconName } from '../../shared/components/icon/IconName';\r\nimport Icon from '../../shared/components/icon/Icon';\r\nimport { IPO_INTELLIGENCE_CLIENT_SITE_CONTACT_US } from '../../shared/constants/urls';\r\n\r\nconst PricingDescription: React.FC = () => {\r\n const onContactClick = useCallback(e => {\r\n e.preventDefault();\r\n LocationService.redirectExternalLink(IPO_INTELLIGENCE_CLIENT_SITE_CONTACT_US + '/?pricing=true', true);\r\n }, []);\r\n const today = new Date();\r\n\r\n return (\r\n
    \r\n

    Pricing

    \r\n

    \r\n Our unbiased and trusted analysis provides you with valuable IPO insights, saves you time, and gives you the\r\n assurance of knowing that you will never miss an important IPO.\r\n

    \r\n\r\n

    \r\n {today.getFullYear()} IPO Intelligence Pricing\r\n

    \r\n\r\n
    \r\n Base Annual Rate (USD)\r\n $38,100\r\n (Includes up to 6 users)\r\n
    \r\n\r\n

    Included services

    \r\n
      \r\n {items.map((item: string, index: number) => (\r\n
    • \r\n {item}\r\n
    • \r\n ))}\r\n
    \r\n

    Additional services

    \r\n
      \r\n {additionalItems.map((item: string, index: number) => (\r\n
    • \r\n {item}\r\n
    • \r\n ))}\r\n
    \r\n

    \r\n To request a pricing sheet and detailed description of the features above, please click{' '}\r\n \r\n {PricingTextElement.ContactUs}\r\n \r\n .\r\n

    \r\n
    \r\n );\r\n};\r\nexport default PricingDescription;\r\n","const itemsList: string[] = [\r\n 'Independent: Balanced, not just a Wall Street pitch.',\r\n 'Comprehensive: Covers 100% of the U.S. IPOs and major international deals.',\r\n 'Valuable: One smart institutional trade can pay for the subscription fee.',\r\n 'Cost Effective: The service costs a fraction of hiring an analyst.',\r\n 'Timely: Issued before the IPO is priced, when other coverage is not available.',\r\n 'Smart: Enviable track record of distinguishing the good IPOs from the bad.',\r\n 'Disciplined: Uses a time-tested framework for successfully evaluating IPOs.',\r\n];\r\n\r\nexport default itemsList;\r\n","import React from 'react';\r\nimport './DescriptionList.scss';\r\n\r\ninterface Props {\r\n items: React.ReactNode[];\r\n}\r\n\r\nconst DescriptionList: React.FC = props => {\r\n return (\r\n
    \r\n
      \r\n {props.items?.map((item: React.ReactNode, index: number) => (\r\n
    • \r\n

      {item}

      \r\n
    • \r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default DescriptionList;\r\n","import React from 'react';\r\nimport itemsList from './itemsList';\r\nimport DescriptionList from '../shared/DescriptionList';\r\nimport './PricingDescriptionList.scss';\r\n\r\nconst PricingDescriptionList: React.FC = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    IPO Intelligence is
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default PricingDescriptionList;\r\n","import React from 'react';\r\nimport RequestTrial from '../shared/RequestTrial';\r\nimport Video from '../shared/Video';\r\nimport HeaderLine from '../shared/HeaderLine';\r\nimport PricingDescription from './PricingDescription';\r\nimport PricingDescriptionList from './PricingDescriptionList';\r\nimport './Pricing.scss';\r\nimport DocumentHead from '../../shared/components/DocumentHead';\r\nimport CarouselWithAllClients from '../shared/CarouselWithAllClients';\r\nimport { RoutePath } from '../../shared/enums/RoutePath';\r\nimport PrimarySection from '../../shared/components/primary-section/PrimarySection';\r\nimport { ColorScheme } from '../../shared/enums/ColorScheme';\r\nimport { PrimarySectionIndent } from '../../shared/components/primary-section/PrimarySectionIndent';\r\n\r\nconst Pricing: React.FC = () => {\r\n return (\r\n
    \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n Get a team of IPO experts for a fraction of the cost of hiring an analyst\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n */}\r\n\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default Pricing;\r\n","import React from 'react';\r\nimport TextContainer from '../../shared/TextContainer';\r\nimport './AboutUnit.scss';\r\n\r\nexport interface AboutUnitProps {\r\n title: string;\r\n description: string;\r\n link?: string;\r\n}\r\n\r\nconst AboutUnit: React.FC = props => {\r\n return (\r\n
    \r\n
    \r\n {props.link ? (\r\n \r\n {props.title}\r\n \r\n ) : (\r\n <>\r\n {props.title}\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n {props.description}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default AboutUnit;\r\n","import React from 'react';\r\nimport AboutUnit, { AboutUnitProps } from './AboutUnit';\r\nimport './AboutUnits.scss';\r\nimport { RoutePath } from '../../../shared/enums/RoutePath';\r\nimport { Link } from 'react-router-dom';\r\nimport { AboutUnitTextElement } from './enum/AboutUnitTextElement';\r\nimport { IPO_INTELLIGENCE_CLIENT_SITE_CONTACT_US } from '../../../shared/constants/urls';\r\n\r\ninterface Props {\r\n units: AboutUnitProps[];\r\n}\r\n\r\nconst AboutUnits: React.FC = props => {\r\n return (\r\n
    \r\n
    \r\n {props.units.map((item: AboutUnitProps, index: number) => (\r\n
    \r\n \r\n
    \r\n ))}\r\n
    \r\n\r\n
    \r\n Contact us{' '}\r\n \r\n {AboutUnitTextElement.Contact}\r\n {' '}\r\n if you have any questions.\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default AboutUnits;\r\n","export enum ControlSize {\r\n ExtraExtraSmall = 'xxs',\r\n ExtraSmall = 'xs',\r\n SmallerExtraSmall = 'ssx',\r\n SmallExtraSmall = 'sx',\r\n Small = 'sm',\r\n MediumSmall = 'ms',\r\n Medium = 'md',\r\n Large = 'lg',\r\n ExtraLarge = 'xl',\r\n}\r\n","import { AboutUnitProps } from './ipoUnits/AboutUnit';\r\n\r\nexport const unitProps: AboutUnitProps[] = [\r\n {\r\n title: 'IPO ETFs',\r\n description:\r\n 'Thinking of investing in new companies ' +\r\n 'before they become household names? ' +\r\n 'Our IPO focused ETFs for the U.S. ' +\r\n 'market (NYSE: IPO) and international ' +\r\n 'markets (NYSE: IPOS) help you access ' +\r\n 'companies like these early, while minimizing ' +\r\n 'the risk of single stock selection and ' +\r\n 'adding diversification to your portfolio.',\r\n link: 'https://www.renaissancecapital.com/IPO-Investing',\r\n },\r\n {\r\n title: 'IPO Intelligence',\r\n description:\r\n 'We help the world’s largest and most active ' +\r\n 'institutional investors, investment banks and ' +\r\n 'IPO advisory firms track, analyze and gain ' +\r\n 'actionable insights into the global IPO ' +\r\n 'market. Our IPO Intelligence research ' +\r\n 'platform is the gold standard for independent ' +\r\n 'pre-IPO research.',\r\n link: 'https://www.ipointelligence.com/features',\r\n },\r\n {\r\n title: 'IPO Pro',\r\n description:\r\n 'Everything you need to know about the IPO ' +\r\n 'market in one platform. Access premium ' +\r\n 'features like the IPO pipeline, specific trade ' +\r\n 'dates, IPO profiles, preliminary data ' +\r\n 'screening and valuation metrics to stay ahead of ' +\r\n 'the IPO market.',\r\n link: 'https://ipopro.renaissancecapital.com/',\r\n },\r\n {\r\n title: 'IPO Data',\r\n description:\r\n 'We license IPO-focused data feeds through ' +\r\n 'an API to financial institutions. We also ' +\r\n 'license our Renaissance Capital IPO Index ' +\r\n '(IPOUSA) and our Renaissance Capital ' +\r\n 'International IPO Index (IPOXUS).',\r\n link: 'https://www.renaissancecapital.com/Contact?Category=Data-Feeds',\r\n },\r\n {\r\n title: 'IPO Center',\r\n description:\r\n 'Access and utilize the leading source of ' +\r\n 'up-to-date news and information on the IPO ' +\r\n 'market. This free site keeps you informed ' +\r\n 'about upcoming IPOs, helps you analyze ' +\r\n 'them, tracks returns and follows IPO market ' +\r\n 'trends.',\r\n link: 'https://www.renaissancecapital.com/IPO-Center',\r\n },\r\n];\r\n","import React from 'react';\r\nimport Feature from '../shared/Feature';\r\nimport RequestTrial from '../shared/RequestTrial';\r\n//import AboutTeam from './AboutTeam';\r\nimport AboutUnits from './ipoUnits/AboutUnits';\r\nimport { unitProps } from './unitProps';\r\n//import { ColorScheme } from '../../shared/enums/ColorScheme';\r\nimport DocumentHead from '../../shared/components/DocumentHead';\r\nimport { OptimizedPictureType } from '../shared/optimized-picture/enums/OptimizedPictureType';\r\nimport PrimarySection from '../../shared/components/primary-section/PrimarySection';\r\nimport { RoutePath } from '../../shared/enums/RoutePath';\r\n\r\nconst About: React.FC = () => {\r\n return (\r\n
    \r\n \r\n\r\n \r\n Renaissance Capital has been providing comprehensive IPO research to institutional investors\r\n for over 30 years. Find out why the largest and most active\r\n institutional IPO investors from\r\n around the world rely on our IPO Intelligence.\r\n \r\n\r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n */}\r\n\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default About;\r\n","import React from 'react';\r\nimport { RoutePath } from '../enums/RoutePath';\r\nimport PrimarySection from './primary-section/PrimarySection';\r\nimport DocumentHead from './DocumentHead';\r\n\r\nconst NotFound: React.FC = () => {\r\n return (\r\n
    \r\n \r\n\r\n \r\n

    Not Found

    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default NotFound;\r\n","import React from 'react';\r\nimport './ReducedSizeText.scss';\r\nimport { ControlSize } from '../../enums/ControlSize';\r\nimport { useClassName } from '../../hooks/useClassName';\r\nimport { SizeTextProps } from './SizeText';\r\n\r\nconst ReducedSizeText: React.FC = props => {\r\n const { size = ControlSize.Medium, className } = props;\r\n\r\n const cn = useClassName('ReducedSizeText', className);\r\n\r\n return
    {props.children}
    ;\r\n};\r\n\r\nexport default ReducedSizeText;\r\n","export enum AppBlock {\r\n Root = 'App',\r\n}\r\n\r\nexport enum AppElement {\r\n Header = 'header',\r\n}\r\n","import React from 'react';\r\nimport './SizeText.scss';\r\nimport { ControlSize } from '../../enums/ControlSize';\r\nimport { useClassName } from '../../hooks/useClassName';\r\n\r\nexport interface SizeTextProps {\r\n size?: ControlSize;\r\n className?: string;\r\n}\r\n\r\nconst SizeText: React.FC = props => {\r\n const { size = ControlSize.Medium, className } = props;\r\n\r\n const cn = useClassName('SizeText', className);\r\n\r\n return
    {props.children}
    ;\r\n};\r\n\r\nexport default SizeText;\r\n","import React from 'react';\r\nimport './OrderedItem.scss';\r\nimport { OrderedListItem } from './interfaces/OrderedListItem';\r\nimport { ControlSize } from '../../enums/ControlSize';\r\nimport { useClassName } from '../../hooks/useClassName';\r\nimport ReducedSizeText from '../typography/ReducedSizeText';\r\nimport SizeText from '../typography/SizeText';\r\n\r\ninterface Props {\r\n item: OrderedListItem;\r\n size: ControlSize;\r\n isTitleHighlighted: boolean;\r\n}\r\n\r\nconst OrderedItem: React.FC = props => {\r\n const { title, description } = props.item;\r\n\r\n const cn = useClassName('OrderedItem');\r\n\r\n return (\r\n \r\n {title && (\r\n \r\n {title}\r\n \r\n )}\r\n\r\n {description && (\r\n \r\n {description}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default OrderedItem;\r\n","import React, { ReactNode } from 'react';\r\nimport './OrderedList.scss';\r\nimport { OrderedListItem } from './interfaces/OrderedListItem';\r\nimport OrderedItem from './OrderedItem';\r\nimport { useClassName } from '../../hooks/useClassName';\r\nimport { ControlSize } from '../../enums/ControlSize';\r\nimport SizeText from '../typography/SizeText';\r\nimport ReducedSizeText from '../typography/ReducedSizeText';\r\n\r\ninterface Props {\r\n items: OrderedListItem[];\r\n isItemTitleHighlighted?: boolean;\r\n isTitleSizeAsItem?: boolean;\r\n title?: ReactNode;\r\n size?: ControlSize;\r\n className?: string;\r\n}\r\n\r\nconst OrderedList: React.FC = props => {\r\n const { size = ControlSize.Medium, isItemTitleHighlighted = false } = props;\r\n\r\n const cn = useClassName('OrderedList', props.className);\r\n\r\n return (\r\n \r\n {props.title &&\r\n (props.isTitleSizeAsItem ? (\r\n \r\n {props.title}\r\n \r\n ) : (\r\n \r\n {props.title}\r\n \r\n ))}\r\n\r\n
      \r\n {props.items.map((item: OrderedListItem, index: number) => (\r\n \r\n ))}\r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default OrderedList;\r\n","import React from 'react';\r\nimport { OrderedListItem } from '../../shared/components/ordered-list/interfaces/OrderedListItem';\r\n\r\nexport const userPrivacyInfo: OrderedListItem[] = [\r\n {\r\n title: 'What information do we track, and why',\r\n description:\r\n 'This website uses Google Analytics, a web analytics service provided by Google. Google Analytics uses \"cookies\", which are text files placed on your computer, to help the website analyze how users use the site. We track users flow, location by country, language, browser and OS, Internet Service Provider, devices. We track this information so we can improve our service to our clients.',\r\n },\r\n {\r\n title: \"What information we don't track\",\r\n description:\r\n 'We will not upload any data that allows Google to personally identify an individual (such as name, Social Security Number, email address, or any similar data), or data that permanently identifies a particular device (such as a unique device identifier if such an identifier cannot be reset).',\r\n },\r\n {\r\n title: 'Users options',\r\n description: (\r\n <>\r\n Website users who don't want their data collected with Google Analytics can install the Google Analytics\r\n opt-out browser add-on. This add-on instructs the Google Analytics script running on websites to prohibit\r\n sending information to Google Analytics. To opt-out of Analytics for the web, visit the{' '}\r\n \r\n Google Analytics opt-out page\r\n {' '}\r\n and install the add-on for your browser. For more details on installing and uninstalling the add-on, please see\r\n the relevant help resources for your specific browser. Read more about Google Analytics opt-out browser add-on{' '}\r\n \r\n here\r\n \r\n . Users can also opt-out on our website by clicking{' '}\r\n \r\n here\r\n \r\n .\r\n \r\n ),\r\n },\r\n];\r\n","import React from 'react';\r\nimport DocumentHead from '../../shared/components/DocumentHead';\r\nimport OrderedList from '../../shared/components/ordered-list/OrderedList';\r\nimport PrimarySection from '../../shared/components/primary-section/PrimarySection';\r\nimport { ControlSize } from '../../shared/enums/ControlSize';\r\nimport { RoutePath } from '../../shared/enums/RoutePath';\r\nimport { userPrivacyInfo } from './userPrivacyInfo';\r\n\r\nconst UserPrivacy: React.FC = () => {\r\n return (\r\n
    \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default UserPrivacy;\r\n","import React from 'react';\r\nimport Helmet from 'react-helmet';\r\nimport PrimarySection from '../shared/components/primary-section/PrimarySection';\r\nimport PrimarySectionRow from '../shared/components/primary-section/PrimarySectionRow';\r\n\r\nconst Contact: React.FC = () => {\r\n return (\r\n
    \r\n \r\n Important Disclosures — Renaissance Capital\r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n The{' '}\r\n \r\n ADV Part II Disclosure Brochure\r\n {' '}\r\n provides information about the advisory qualifications and business practices of Renaissance Capital LLC.\r\n
    \r\n\r\n
    \r\n Renaissance Capital's{' '}\r\n \r\n Privacy Policy\r\n {' '}\r\n describes how we protect your personal information.\r\n
    \r\n\r\n
    \r\n Renaissance Capital's{' '}\r\n \r\n GDPR Data Protection Policy\r\n {' '}\r\n summarizes our collection, use and control of the personal data of residents of the European Economic\r\n Area.\r\n
    \r\n\r\n
    \r\n Renaissance Capital's{' '}\r\n \r\n Anti-Money Laundering Policy\r\n {' '}\r\n summarizes how we detect and prevent money laundering.\r\n
    \r\n\r\n
    \r\n Renaissance Capital's{' '}\r\n \r\n Business Continuity Plan\r\n {' '}\r\n outlines how we respond to business disruptions.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Contact;\r\n","import React from 'react';\r\nimport { Route, Switch, Redirect } from 'react-router-dom';\r\nimport Overview from '../marketing/overview/Overview';\r\nimport Research from '../marketing/research/Research';\r\nimport Features from '../marketing/features/Features';\r\nimport WhoUsesUs from '../marketing/whoUsesUs/WhoUsesUs';\r\nimport Pricing from '../marketing/pricing/Pricing';\r\nimport About from '../marketing/about/About';\r\nimport NotFound from '../shared/components/NotFound';\r\nimport UserPrivacy from '../marketing/userPrivacy/UserPrivacy';\r\nimport Disclosures from '../disclosures/Disclosures';\r\nimport { RoutePath } from '../shared/enums/RoutePath';\r\n\r\nconst Routes: React.FC = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n *{' '}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Routes;\r\n","import React from 'react';\r\nimport './Divider.scss';\r\n\r\nconst Divider: React.FC = () =>
    ;\r\n\r\nexport default Divider;\r\n","import React from 'react';\r\nimport './FooterLogo.scss';\r\n\r\nconst FooterLogo: React.FC = () =>
    ;\r\n\r\nexport default FooterLogo;\r\n","import React from 'react';\r\nimport './FooterFollowUs.scss';\r\nimport Icon from '../icon/Icon';\r\nimport { IconName } from '../icon/IconName';\r\nimport {\r\n RENAISSANCE_CAPITAL_FACEBOOK_URL,\r\n RENAISSANCE_CAPITAL_TWITTER_URL,\r\n RENAISSANCE_CAPITAL_LINKEDIN_URL,\r\n RENAISSANCE_CAPITAL_YOUTUBE_URL,\r\n} from '../../constants/urls';\r\n\r\nconst FooterFollowUs: React.FC = () => {\r\n return (\r\n
    \r\n
    Follow us
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default FooterFollowUs;\r\n","import React from 'react';\r\nimport Divider from '../Divider';\r\nimport FooterLogo from './FooterLogo';\r\nimport FooterFollowUs from './FooterFollowUs';\r\nimport './Footer.scss';\r\nimport { Link } from 'react-router-dom';\r\n\r\nconst Footer: React.FC = () => {\r\n const today = new Date();\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n \r\n\r\n
    \r\n Renaissance Capital LLC is an SEC-registered investment adviser.\r\n
    \r\n \r\n {' '}\r\n Important Disclosures\r\n \r\n
    \r\n © {today.getFullYear()} Renaissance Capital LLC. All rights reserved.\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Footer;\r\n","import React, { useState } from 'react';\r\nimport './App.scss';\r\nimport MainMenu from './shared/components/main-menu/MainMenu';\r\nimport Header from './shared/components/header/Header';\r\nimport Routes from './routes/Routes';\r\nimport { Router } from 'react-router-dom';\r\nimport { history } from './shared/history';\r\nimport classNames from 'classnames';\r\nimport PrimarySection from './shared/components/primary-section/PrimarySection';\r\nimport { ColorScheme } from './shared/enums/ColorScheme';\r\nimport { PrimarySectionIndent } from './shared/components/primary-section/PrimarySectionIndent';\r\nimport Footer from './shared/components/footer/Footer';\r\nimport { useHistoryChange } from './shared/effects/useHistoryChange';\r\nimport { ScrollService } from './shared/services/ScrollService';\r\nimport { useClassName } from './shared/hooks/useClassName';\r\nimport { AppBlock, AppElement } from './AppBem';\r\nimport LocationService from './shared/services/LocationService';\r\nimport ReactGA from 'react-ga';\r\n\r\nconst App: React.FC = () => {\r\n const cn = useClassName(AppBlock.Root);\r\n\r\n React.useEffect(() => {\r\n const trackingId = 'UA-49249493-2';\r\n ReactGA.initialize(trackingId);\r\n\r\n // Initialize google analytics page view tracking\r\n history.listen(location => {\r\n ReactGA.set({ page: location.pathname }); // Update the user's current page\r\n ReactGA.pageview(location.pathname); // Record a pageview for the given page\r\n });\r\n }, []);\r\n\r\n const gaUserId = sessionStorage.getItem('gaUserId');\r\n const gaAccountId = sessionStorage.getItem('gaAccountId');\r\n React.useEffect(() => {\r\n ReactGA.set({\r\n dimension3: gaAccountId,\r\n dimension5: gaUserId,\r\n });\r\n }, [gaUserId, gaAccountId]);\r\n\r\n useHistoryChange((prevLocation, location) => {\r\n ScrollService.scrollToTop();\r\n LocationService.reloadPageIfSameLocation(prevLocation, location);\r\n });\r\n\r\n return (\r\n
    \r\n {true && (\r\n \r\n
    \r\n \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default App;\r\n","import { useEffect, useState } from 'react';\r\nimport { Location } from 'history';\r\nimport { history } from '../history';\r\n\r\nexport const useHistoryChange = (callback: (prevLocation: Location, location: Location) => void): void => {\r\n const [prevLocation, setPrevLocation] = useState(history.location);\r\n\r\n useEffect(() => {\r\n const unlisten = history.listen((location): void => {\r\n setPrevLocation(location);\r\n\r\n callback(prevLocation, location);\r\n });\r\n\r\n return (): void => {\r\n unlisten();\r\n };\r\n }, [callback, prevLocation]);\r\n};\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/),\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config): void {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = (): void => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = (): void => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.',\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config): void {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (response.status === 404 || (contentType != null && contentType.indexOf('javascript') === -1)) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log('No internet connection found. App is running in offline mode.');\r\n });\r\n}\r\n\r\nexport function unregister(): void {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n\r\nexport function register(config?: Config): void {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL((process as { env: { [key: string]: string } }).env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service worker. To learn more, visit https://bit.ly/CRA-PWA',\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n","import { Reducer } from 'redux';\r\nimport { ActionTypes, CLOSE_MOBILE_MENU, SET_ADDITIONAL_MENU_VISIBILITY, State, TOGGLE_MOBILE_MENU } from './types';\r\n\r\nconst initialState: State = {\r\n isMobileMenuOpen: false,\r\n isAdditionalMenuVisible: false,\r\n};\r\n\r\nexport const reducer: Reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case TOGGLE_MOBILE_MENU:\r\n return {\r\n ...state,\r\n isMobileMenuOpen: !state.isMobileMenuOpen,\r\n };\r\n case CLOSE_MOBILE_MENU:\r\n return {\r\n ...state,\r\n isMobileMenuOpen: false,\r\n };\r\n case SET_ADDITIONAL_MENU_VISIBILITY:\r\n return {\r\n ...state,\r\n isAdditionalMenuVisible: action.payload.isAdditionalMenuVisible,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { v4 as uuidv4 } from 'uuid';\r\nimport { UUID } from '../types';\r\n\r\nexport class RandomizeService {\r\n static generateUuid(): UUID {\r\n return uuidv4();\r\n }\r\n}\r\n","import { Notification } from '../../shared/components/notification/interfaces/Notification';\r\nimport { NotificationAdd } from '../../shared/components/notification/interfaces/NotificationAdd';\r\nimport { RandomizeService } from '../../shared/services/RandomizeService';\r\nimport { UUID } from '../../shared/types';\r\n\r\nexport const addNotification = (notification: NotificationAdd, notifications: Notification[]): Notification[] => [\r\n ...notifications,\r\n {\r\n ...notification,\r\n id: RandomizeService.generateUuid(),\r\n },\r\n];\r\nexport const removeNotification = (id: UUID, notifications: Notification[]): Notification[] =>\r\n notifications.filter(notification => notification.id !== id);\r\n","import { Reducer } from 'redux';\r\nimport { ActionTypes, ADD_NOTIFICATION, CLEAR_NOTIFICATIONS, REMOVE_NOTIFICATION, State } from './types';\r\nimport { addNotification, removeNotification } from './helpers';\r\n\r\nconst initialState: State = {\r\n notifications: [],\r\n};\r\n\r\nexport const reducer: Reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case ADD_NOTIFICATION:\r\n return {\r\n ...state,\r\n notifications: addNotification(action.payload.toast, state.notifications),\r\n };\r\n case REMOVE_NOTIFICATION:\r\n return {\r\n ...state,\r\n notifications: removeNotification(action.payload.id, state.notifications),\r\n };\r\n case CLEAR_NOTIFICATIONS:\r\n return {\r\n ...state,\r\n notifications: [],\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { applyMiddleware, combineReducers, createStore } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { reducer as header } from './header/reducers';\r\nimport { reducer as notification } from './notification/reducers';\r\n\r\nconst rootReducer = combineReducers({\r\n header,\r\n notification,\r\n});\r\n\r\nexport type RootState = ReturnType;\r\n\r\nexport const getStore = () => createStore(rootReducer, applyMiddleware(thunk));\r\n\r\nexport const store = getStore();\r\n","import { ReducerAction } from '../../shared/interfaces/ReducerAction';\r\nimport { Notification } from '../../shared/components/notification/interfaces/Notification';\r\nimport { NotificationAdd } from '../../shared/components/notification/interfaces/NotificationAdd';\r\nimport { UUID } from '../../shared/types';\r\nimport { CustomAny } from '../../shared/types/generics';\r\n\r\nexport const ADD_NOTIFICATION = 'ADD_NOTIFICATION';\r\nexport const REMOVE_NOTIFICATION = 'REMOVE_NOTIFICATION';\r\nexport const CLEAR_NOTIFICATIONS = 'CLEAR_NOTIFICATIONS';\r\n\r\nexport type State = {\r\n notifications: Notification[];\r\n};\r\n\r\nexport type AddNotificationAction = ReducerAction;\r\nexport type RemoveNotificationAction = ReducerAction;\r\nexport type ClearNotifications = ReducerAction;\r\n\r\nexport type ActionTypes = AddNotificationAction | RemoveNotificationAction | ClearNotifications;\r\n\r\nexport type NotificationActionFn = () => Promise;\r\n\r\nexport interface NotificationSuccessMessage {\r\n text: string;\r\n values: string[];\r\n}\r\n\r\nexport type GetNotificationSuccessMessageFn = (data: CustomAny) => NotificationSuccessMessage;\r\n","import './polyfills';\r\nimport React from 'react';\r\nimport './styles/index.scss';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\nimport { Provider } from 'react-redux';\r\nimport { store } from './store';\r\n\r\nimport { hydrate, render } from 'react-dom';\r\n\r\nconst root = document.getElementById('root') as HTMLDivElement;\r\n\r\n(root.hasChildNodes() ? hydrate : render)(\r\n \r\n \r\n ,\r\n root,\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}