{"version":3,"sources":["util/onKeyPress.js","constants/siteTextTypes.js","translations/TranslationText.js","mk-pattern-library-react/utils/visualisationColors.js","shared/styles/mixins/ellipsis.js","mk-pattern-library-react/images/HSBC_Logo.svg","shared/components/ResponsiveEllipsis.js","mk-pattern-library-react/components/SvgIcon/SvgIcon.js","selectors/index.js","constants/chartTypes.js","mk-pattern-library-react/utils/siteConstants.js","mk-pattern-library-react/utils/sorters.js","mk-pattern-library-react/utils/niceScale.js","mk-pattern-library-react/components/HsbcButton/HsbcButton.js","util/homeModules.js","mk-pattern-library-react/layouts/NavMain/NavMain.js","mk-pattern-library-react/layouts/AppContainer/AppContainer.js","mk-pattern-library-react/layouts/NewTabsContainer/NewTabsContainer.js","mk-pattern-library-react/layouts/IsvNavMain/IsvNavMain.js","mk-pattern-library-react/layouts/IsvAppContainer/IsvAppContainer.js","mk-pattern-library-react/components/SvgIcon/index.js","mk-pattern-library-react/components/ScrollingNav/ScrollingNav.js","mk-pattern-library-react/components/StackedBarChart/StackedBar.js","mk-pattern-library-react/components/DonutChart/DonutChart.js","shared/styles/mixins/browser.js","mk-pattern-library-react/components/HsbcCheckbox/index.js","mk-pattern-library-react/components/HsbcButtonGroup/HsbcButtonGroup.js","mk-pattern-library-react/components/Flag/Flag.js","mk-pattern-library-react/index.js","shared/accessibility/components/Dropdown/index.js","shared/components/Grid/Col.js","shared/components/Grid/Row.js","shared/components/Grid/index.js","shared/hoc/withModals.js","actions/AnalyticsActions.js","util/navigationFeatures.js","components/PageContentNotAvailable.js","shared/styles/mixins/flexbox.js","shared/components/Loading/index.js","Roadshow/Roadshow.routing.js","shared/styles/variables/resolution.js","shared/styles/mixins/responsiveness.js","shared/styles/components/containers.js","shared/styles/components/headings.js","shared/styles/components/date.js","shared/components/ScrollableTable.js","shared/components/SortIcon.js","shared/components/SortState.js","shared/components/SortableTableHeader.js","constants/homeTiles.js","actions/MyDocsActions.js","MyDocs/Documents/DocumentList/DocumentList.js","Roadshow/DocumentMode/DocumentMode.container.js","actions/RoadShowActions.js","shared/styles/variables/colors.js","shared/components/Notifications/index.js","shared/accessibility/functions/keyboardEvents.js","shared/accessibility/components/Link/index.js","Roadshow/DailySchedule/modals/MultiTeam/index.js","constants/multiteam.js","shared/accessibility/components/HorizontalTabs/HorizontalTab.js","shared/functions/events.js","shared/hoc/withTabs.js","shared/accessibility/components/HorizontalTabs/index.js","shared/styles/mixins/outline.js","shared/components/PopupSystem.js","Roadshow/DailySchedule/modals/CombinedContacts/ContactsModal.component.js","Roadshow/DailySchedule/modals/CombinedContacts/CoordinatorsModal.component.js","Roadshow/DailySchedule/modals/CombinedContacts/OnlineRoadshowModal.component.js","Roadshow/DailySchedule/modals/CombinedContacts/index.js","Roadshow/DailySchedule/modals/CombinedContacts/indexContacts.js","Roadshow/DailySchedule/modals/CombinedContacts/indexDetails.js","Roadshow/DailySchedule/modals/CombinedContacts/indexCoordinators.js","util/siteConstants.js","Roadshow/DailySchedule/DayView.container.js","Roadshow/DailySchedule/EventDetails/EventSummary/EventSummary.js","Roadshow/DailySchedule/EventDetails/CoordinatorComments/CoordinatorComments.js","Roadshow/DailySchedule/EventDetails/LogisticsDetails/LogisticsDetails.js","Roadshow/DailySchedule/EventDetails/MeetingsDetails/MeetingsDetails.js","Roadshow/DailySchedule/EventDetails/InvestorDetails/InvestorDetails.js","Roadshow/DailySchedule/EventDetails/BankerDetails/BankerDetails.js","Roadshow/DailySchedule/EventDetails/ParticipantDetails/ParticipantDetails.js","Roadshow/DailySchedule/EventDetails/DetailsView/DetailsView.js","Roadshow/DailySchedule/DailySchedule.container.js","OrderBook/OrderBook.routing.js","actions/OrderBookActions.js","shared/components/Buttons/ButtonGroup.js","OrderBook/ecm/OrderBookEcmHeader.js","OrderBook/dcm/OrderBookDcmHeader.js","OrderBook/shared/summary/OrderbookHeader.js","shared/functions/formatters.js","OrderBook/ecm/FullOrderBook/FullOrderBookFooter.js","OrderBook/shared/table/OrderbookTable.js","OrderBook/SharedTableComponents/formatters.js","OrderBook/SharedTableComponents/baseColumnProps.js","OrderBook/shared/table/styles.js","OrderBook/ecm/FullOrderBook/FullOrderBookTable.js","OrderBook/ecm/FullOrderBook/FullOrderBook.container.js","OrderBook/dcm/FullOrderBook/FullOrderBookFooter.js","OrderBook/dcm/FullOrderBook/FullOrderBookTable.js","OrderBook/dcm/FullOrderBook/FullOrderBookAllTranchesTable.js","OrderBook/dcm/FullOrderBook/FullOrderBook.container.js","OrderBook/FullOrderBook.container.js","OrderBook/shared/summary/ColorChip.js","shared/components/Table.js","shared/components/PieChart.js","OrderBook/shared/summary/DemandByCarouselPanelPie.js","shared/components/ChartTableContainer.js","OrderBook/shared/summary/DemandByCarouselPanelBar.js","OrderBook/shared/summary/TopTenTable.js","OrderBook/shared/summary/StatusBar.js","OrderBook/ecm/OrderSummary/OrderSummary.container.js","OrderBook/dcm/OrderSummary/OrderSummaryDetailView.js","Landing/dcm/Landing.styles.js","Landing/dcm/Tiles/styles.js","OrderBook/dcm/OrderSummary/OrderSummaryTable.js","OrderBook/dcm/OrderSummary/OrderSummaryDropdownList.js","OrderBook/dcm/OrderSummary/OrderSummaryLineChart.js","OrderBook/dcm/OrderSummary/OrderSummary.container.js","OrderBook/OrderSummary.container.js","OrderBook/dcm/TableContainer/Table.js","OrderBook/dcm/TableContainer/TableHead.js","OrderBook/dcm/TableContainer/TableBody.js","OrderBook/dcm/TableContainer/TableRow.js","OrderBook/dcm/TableContainer/TableHeaderCell.js","OrderBook/dcm/TableContainer/TableColumnCell.js","OrderBook/dcm/AmendedSummary/AmendedSummaryTable.js","OrderBook/dcm/AmendedSummary/AmendedSummary.container.js","OrderBook/dcm/BookEvolution/BookEvolutionOrderSummaryDetailView.js","OrderBook/dcm/BookEvolution/AmendedOrderInvestorTable.js","OrderBook/dcm/BookEvolution/SpecificTimePopup.js","OrderBook/dcm/BookEvolution/SetStagesPopup.js","OrderBook/dcm/BookEvolution/AmendedOrderDropdownFiltersList.js","OrderBook/dcm/BookEvolution/BookEvolution.container.js","shared/styles/variables/dimensions.js","Landing/dcm/Tiles/LatestFeedback.component.js","Landing/dcm/Tiles/LatestDocuments.component.js","Landing/dcm/Tiles/ecm/LatestOrders.component.js","Landing/dcm/Tiles/dcm/LatestOrders.component.js","Landing/dcm/Tiles/dcm/LatestOrder.component.js","Landing/dcm/Hero.component.js","Landing/dcm/Landing.container.js","Isv/actions/IsvInformationBannerAction.js","Isv/components/InformationBanner/InformationBanner.js","Isv/styles/buttonStyle.js","Isv/components/common/ConfirmationDialog.js","Isv/constants/isvDocumentReviewStatus.js","Isv/Landing/DashboardTable.js","Isv/Landing/Landing.container.js","Landing/index.js","Isv/components/FileUpload/FileMetaForm/styles.js","Isv/components/FileUpload/FileMetaForm/FileMetaForm.js","Isv/components/FileUpload/DocumentFileUploader/styles.js","Isv/components/FileUpload/DocumentFileUploader/DocumentFileUploader.js","Isv/components/common/ProgressBar.js","Isv/util/util.js","Isv/constants/fileUploadStates.js","Isv/components/FileUpload/FileUploadOverlays/FileUploadOverlay.js","Isv/components/DealInformation/DealInformationCommentBoxContainer.js","Isv/components/DealInformation/DealInformationTable.js","Isv/components/DealInformation/DealInformation.js","Isv/components/FileUpload/FileUploadOverlays/RefFileUploadOverlay.js","Isv/components/ReferenceInformation/ReferenceInformationTable.js","Isv/components/ReferenceInformation/ReferenceInformation.js","Isv/components/EcbToReturn/EcbToReturnTable.js","Isv/components/EcbToReturn/EcbToReturn.js","MyDocs/MyDocs.routing.js","MyDocs/Documents/CategoryList/CategoryListItem.styles.js","MyDocs/Documents/CategoryList/AllCategoryListItem.js","MyDocs/Documents/CategoryList/CategoryListItem.js","MyDocs/Documents/CategoryList/CategoryList.js","MyDocs/Documents/Documents.container.js","InvestorFeedback/InvestorFeedback.routing.js","util/sentimentColorProvider.js","constants/colors.js","util/translationMappings.js","InvestorFeedback/Details/FeedbackDetail/FeedbackDetailHeader.js","InvestorFeedback/Details/FeedbackDetail/FeedbackDetailFeedback.js","InvestorFeedback/Details/FeedbackModal/Header.js","shared/accessibility/components/Caption.js","InvestorFeedback/Details/FeedbackModal/ThemeBar.js","InvestorFeedback/Details/FeedbackModal/Themes.js","InvestorFeedback/Details/FeedbackModal/util.js","InvestorFeedback/Details/FeedbackModal/dcm/MultipleTranche.js","InvestorFeedback/Details/FeedbackModal/ecm/SingleTranche.js","InvestorFeedback/Details/FeedbackModal/Comment.js","InvestorFeedback/Details/FeedbackModal/index.js","InvestorFeedback/Details/FeedbackDetail/FeedbackDetail.js","InvestorFeedback/Details/Details.container.js","actions/InvestorFeedbackActions.js","InvestorFeedback/Summary/tabsContent/shared/Buttons.js","InvestorFeedback/Summary/tabsContent/shared/NoContent.js","InvestorFeedback/Summary/tabsContent/tables/ThemeDistributionTable.js","InvestorFeedback/Summary/tabsContent/charts/ThemeDistributionChart/index.js","InvestorFeedback/Summary/tabsContent/charts/ThemeDistributionChart/FeedbackHighlightContainer.js","InvestorFeedback/Summary/tabsContent/ThemeDistributionTabContent.js","InvestorFeedback/Summary/tabsContent/tables/SentimentTables.js","InvestorFeedback/Summary/tabsContent/charts/SentimentChart/index.js","InvestorFeedback/Summary/tabsContent/SentimentTabContent.js","shared/functions/converters.js","InvestorFeedback/Summary/tabsContent/shared/provideTranslationStringForTitle.js","InvestorFeedback/Summary/tabsContent/charts/PriceDemandChart/index.js","InvestorFeedback/Summary/tabsContent/tables/PriceDemandTable.js","InvestorFeedback/Summary/tabsContent/PriceDemandTabContent.js","InvestorFeedback/Summary/Summary.container.js","Pricing/Pricing.routing.js","Pricing/PricingDocuments.js","Pricing/PricingDocuments.container.js","components/TermsAndConditionsLink.js","components/SiteTextModal.js","Settings/Settings.js","components/DealSwitcher/DealSwitcher.js","shared/accessibility/components/ISVDropdown/index.js","Isv/components/IsvDealSwitcher/IsvDealSwitcher.js","Isv/constants/isvModalIds.js","actions/HeartBeatActions.js","components/AlertModal.js","components/SessionTimer.js","components/styles/Login.js","components/InternalLogin.js","constants/laasConfig.js","components/ExternalLogin.js","components/ExternalTotpLogin.js","components/ExternalPnLogin.js","components/TermsAndConditionsModal.js","constants/storageKeys.js","components/OneWayLetter.js","components/App.js","components/CookiePolicy.js","components/PrivacyPolicy.js","components/DataPrivacy.js","Root.js","util/dataChecks.js","reducers/OrderBookReducer.js","reducers/RoadShowReducer.js","reducers/MyDocsReducer.js","reducers/PricingReducer.js","reducers/InvestorFeedbackReducer.js","reducers/LanguageReducer.js","reducers/LoginReducer.js","reducers/UtilityReducer.js","constants/animations.js","Isv/reducers/IsvUtilityReducer.js","Isv/reducers/IsvInformationBannerReducer.js","Isv/reducers/IsvDocumentsReducer.js","Isv/reducers/IsvSnackBarReducer.js","reducers/index.js","sagas/Login/index.js","sagas/HeartBeat/index.js","sagas/File/index.js","sagas/Storage/index.js","sagas/Requests/index.js","services/api.js","sagas/AppSetup/index.js","sagas/CheckFeature/index.js","util/teamSelection.js","sagas/DealSetup/index.js","constants/eventTypes.js","sagas/EventNotifications/index.js","sagas/HomeFeatures/index.js","sagas/Logout/index.js","sagas/LoginForm/index.js","sagas/SiteText/index.js","sagas/Devices/index.js","sagas/CheckFeature/MyDocs.js","actions/PricingActions.js","sagas/CheckFeature/Pricing.js","sagas/CheckFeature/Roadshow.js","sagas/CheckFeature/InvestorFeedback.js","sagas/CheckFeature/Orderbook.js","Isv/sagas/Dashboard/index.js","Isv/services/isvApi.js","Isv/sagas/FileOperation/index.js","Isv/sagas/DealInformation/index.js","Isv/sagas/Ecb2Return/index.js","Isv/sagas/ReferenceInformation/index.js","sagas/UnauthorizedHandler/index.js","sagas/Analytics/index.js","services/MarkitApi.js","sagas/index.js","Store.js","index.js","components/LanguagePicker/LanguagePicker.js","Isv/constants/isvNavLinks.js","shared/styles/variables/theme.js","Isv/actions/SnackBarAction.js","mk-pattern-library-react/components/ColorChip/ColorChip.js","actions/LanguageActions.js","constants/dealFeatures.js","Isv/actions/IsvTypes.js","constants/featurePages.js","mk-pattern-library-react/utils/valueFormatters.js","actions/UtilityActions.js","constants/orders.js","Isv/selectors/index.js","actions/LoginActions.js","shared/accessibility/components/Dropdown/DropdownSystem.js","shared/styles/variables/indexes.js","constants/analytics.js","shared/hoc/withTranslate.js","Isv/actions/IsvDocumentsAction.js","shared/hoc/withAnalytics.js","shared/components/Icon/FontIcon.js","shared/components/Icon/ImgIcon.js","shared/components/Icon/SvgIcon.js","shared/components/Icon/index.js","constants/tabIds.js","constants/modalIds.js","translations/withLanguage.js","shared/components/Popup.js","Isv/actions/IsvUtilityActions.js","mk-pattern-library-react/components/Icon/Icon.js","shared/components/Icon/doc-download.svg","mk-pattern-library-react/images/Close X/Modal.png","mk-pattern-library-react/images/Close X/Regular.png","mk-pattern-library-react/images/Close X/Regular@2x.png","mk-pattern-library-react/images/Table-card Toggle/Card Dark.svg","mk-pattern-library-react/images/Table-card Toggle/Card Light.svg","mk-pattern-library-react/images/Table-card Toggle/Table Dark.svg","mk-pattern-library-react/images/Table-card Toggle/Table Light.svg","mk-pattern-library-react/images/Checkmark/Dark Blue.svg","mk-pattern-library-react/images/Checkmark/Light Gray.svg","mk-pattern-library-react/images/deal-switch.svg","mk-pattern-library-react/images/doc-download.svg","Isv/images/upload.png","images/landing/landing-hd.jpg","images/landing/landing-fhd.jpg","images/landing/landing-5k.jpg","Isv/images/welcome-step-1.png","Isv/images/welcome-step-2.png","Isv/images/welcome-step-3.jpg","Isv/images/calender.png","images/Orderbook-bg.png","images/MyDealTotpFlow.png","images/HsbcnetPnFlow.png","actions/Types.js","shared/components/Scrollable.js","shared/accessibility/constants/keys.js"],"names":["__webpack_require__","d","__webpack_exports__","btnKeyPress","buttonKeyHandler","ev","fn","type","key","code","which","TERMS","name","path","EULA","C_POLICY","CONTACT_US","PRIVACY","BIOMETRIC_TERMS","BIOMETRIC_FAQ","ONE_WAY_LETTER","SHOW_UNFOUND_LANG_KEYS","window","__SHOW_UNFOUND_LANG_KEYS","LANGUAGE_KEY_UNDEFINED","concat","TRANSLATION_UNDEFINED","TranslationText","_React$Component","_classCallCheck","this","_possibleConstructorReturn","_getPrototypeOf","apply","arguments","_inherits","_createClass","value","_this$props","props","defaultText","dictionaryKey","replace","language","style","languageDictionary","languages","text","length","forEach","_ref","_ref2","_slicedToArray","React","createElement","Component","translationString","undefined","_ref3","_ref4","withLanguage","r","palette","primaryColorOther","colors","extendedColors","extendedColorsForLineChart","asSmallArray","asArray","colorHex","description","index","toLowerCase","trim","tableEllipsis","ellipsis","styledEllipsis","maxWidth","whiteSpace","overflow","textOverflow","module","exports","p","recompose__WEBPACK_IMPORTED_MODULE_0__","react_lines_ellipsis__WEBPACK_IMPORTED_MODULE_1__","react_lines_ellipsis__WEBPACK_IMPORTED_MODULE_1___default","n","react_lines_ellipsis_lib_responsiveHOC__WEBPACK_IMPORTED_MODULE_2__","react_lines_ellipsis_lib_responsiveHOC__WEBPACK_IMPORTED_MODULE_2___default","EnhancedRespEllipsis","compose","lifecycle","componentDidMount","elements","Array","from","document","querySelectorAll","element","visibility","setAttribute","responsiveHOC","LinesEllipsis","SvgIcon","children","_ref$viewBoxMinWidth","title","viewBoxMinWidth","_ref$viewBoxMinHeight","viewBoxMinHeight","_ref$width","viewBoxWidth","viewBoxHeight","width","_ref$height","height","_ref$isCheckedIndicat","isCheckedIndicator","_ref$isDisabled","isDisabled","otherProps","_objectWithoutProperties","attributes","Object","assign","viewBox","getColor","color","uncheckedIcon","checkedIcon","StatusIcon","aria-hidden","focusable","fill","points","RoadshowIcon","PricingIcon","FeedbackIcon","x","y","OrdersIcon","DocumentsIcon","selectRoadshowReducer","state","roadShowData","selectUtilityReducer","utility","selectLoginReducer","login","selectOrderbookReducer","orderBookData","selectMyDocsReducer","myDocsData","selectInvestorFeedbackReducer","investorFeedbackData","selectLanguageReducer","selectIsAmended","isAmended","getSelectedLanguage","selectedLanguage","getAvailableLanguages","availableLanguages","getPollings","polling","getDeals","allDeals","getCurrentDeal","dealsData","getCurrentDealId","dealId","getIssuerName","orderbookIssuerName","getAllNavigationFeatures","navigationFeatures","getPollingFrequency","pollingFrequency","isBaseFetchCompleted","baseFetchCompleted","isModalOpen","modalId","modals","getSelectedTab","tabsId","tabs","getHomeTileStatus","tile","isAnyModalOpened","createSelector","keys","getCurrentDealInfo","deals","find","isDCMDealType","deal","dealType","isECMDealType","getAllowedNavigationFeatures","allowedNavigationFeatures","allNavigationFeatures","noDeals","allowedNavFeatures","prototype","push","map","feature","_objectSpread","visibleInHeroMenu","visibleInMainMenu","sort","a","b","url","getDealTypeFromDeals","i","isFeatureAvailable","dealFeature","available","selectAvailableNavigationFeatures","getDemandByTypeData","getShareDemandData","shareDemandData","getTranches","tranches","getInvestorNames","investorNames","getTrancheLists","trancheLists","getOrderSummaryData","orderSummaryData","getAmendedOrderSummaryData","amendedOrderSummaryData","getBookEvolutionData","bookEvolutionSummary","getBookEvolutionDataForAmendedOrderByInvestor","bookEvolutionSummaryForAmendedOrderByInvestorTable","getCurrentTrancheId","currentTrancheId","getOrders","orderData","getSelectedInvestor","selectedInvestor","getSelectedTranche","selectedTranche","getSelectedInterval","selectedInterval","getSelectedInvestorType","selectedInvestorType","getSelectedTimeRange","selectedTimeRange","getSelectedDate","selectedDate","getSelectedOrderBookTab","currentActiveOrderSummaryTab","getStages","stages","getIsSetStagesModalOpen","isSetStagesModalOpen","getTrancheLoader","trancheLoader","isDCMOrderbookContentAvailable","trancheId","isECMOrderbookContentAvailable","orders","areECMOrdersFetched","ordersReceived","shareDemandReceived","areDCMOrdersFetched","tranchesReceived","getECMLatestOrders","Sorters","doubleSort","getDCMLatestOrders","getFullOrderBookSort","fullOrderBookSort","getFullOrderBookTable","tableData","_step","_iterator","_createForOfIteratorHelper","s","done","item","tableRecord","investorLongName","investorCountry","investorType","targetDemandAmount","shareDemandSummary","demandAtTargetSharePrice","demandAmount","targetAllocationAmount","allocationAtTargetPrice","allocationAmount","targetAllocationPercentage","allocationVDemandPercentage","demandAtBottom","demandAtBottomSharePrice","demandAtMidpoint","demandAtMidSharePrice","demandAtTop","demandAtTopSharePrice","currentLimit","_step2","_iterator2","_loop","share","shareDemand","demandSharePrice","sharePrice","toString","err","e","f","topTierInvestor","earlyLookParticipantInvestor","preDealEducationInvestor","physicalRoadshow","investorRoadshowAttendance","hasComments","investorFeedbackLeft","externalSourceCreated","externalSourceLastModified","direction","column","getDCMFullOrderBookTable","ALL_TRANCHES_RECORD","id","_step3","_iterator3","allocation","softAmount","firmAmount","spread","limitSecurity","hedge","allocationPercent","investorRegion","keyInvestor","historicalInvestor","netRoadshow","getDCMAllTranchesFullOrderBookTable","allTranchesFullOrderBookSort","amended","_step4","_iterator4","status","orderId","issuerName","currency","orderAmount","trancheName","isLatest","amendedAmount","tempTableData","JSON","parse","stringify","updatedTableGroups","_toConsumableArray","Map","values","newData","filter","order","getFullOrderBookTableData","getDemandDataForSummary","demandData","chartData","demand","_step5","_iterator5","dataItem","categoryName","totalOrders","percent","percentage","totalNumberOfOrders","otherValues","Math","abs","getTrancheTitles","_step6","_iterator6","demandDetail","trancheNameShort","orderbookStatusDetail","currentStatus","getCurrentTranche","trancheLookup","getLowestSharePrice","dealTotalDemandSummary","getShareDemand","ShareDemands","getRoadShowEventDates","isDCM","utilityReducer","tranche","eventDates","getRoadShowSummaryOnline","onlineRoadshow","getRoadShowSummaryCoordinators","coordinators","getRoadShowContacts","contacts","getRoadShowSelectedDay","selectedDay","getSelectedTeam","selectedTeam","getTeams","teams","getMultiTeamMode","multiTeamMode","getDailyEventId","dailyEventId","getRoadshowDataArrivedFlag","summaryArrived","eventsArrived","getTeamsDetails","teamsEventDates","keyBy","teamName","getEventsForSelectedDay","events","fullSchedule","multiteamMode","indexOf","event","moment","startDateLocal","utc","isSame","date","isLoggedInError","error","getBeatingStatus","beating","getUniqueName","uniqueName","isInternalUser","isISVUser","isIsvCsmUser","isIsvRRTeamUser","getSUniqueName","sha256","substring","getLoggedInStatus","isAuthenticated","loggedIn","selectLoginFormInvalidFields","_","pickBy","invalidFields","field","getInvestorFeedbackDealFeedback","dealFeedback","getInvestorFeedbackThemeTypes","feedbackThemeTypes","getInvestorFeedbackChartTypes","chartTypes","getSelectedChartSubTab","selectedChartSubTab","getSelectedChartSubTabTitle","selectedChartSubTabTitle","getChartTypeDetails","chartTypeId","chartType","selectActualChart","chartTypeDetails","selectedChartTab","tabIds","INVESTOR_FEEDBACK_CHART_TABS","investorFeedbackChartTabs","THEME_DISTRIBUTION","chartTypeIds","SENTIMENT","PRICE_DEMAND","isEqual","selectFirstAvailableChart","selectFirstAvailableChartTab","getSentimentsAndThemeTypesFetchedStatus","invFeedback","sentimentsFetched","themeTypesFetched","getInvestorFeedbackHighlightsByTheme","highlightsThemeStore","highlightData","getInvestorFeedbackChartDataByChart","chartDataStore","getFeedbackCardData","summaryThemeStore","summaryData","currentMonth","chartSeries","chartKeys","get","summaryDataItems","summary","Date","getTime","_step7","_iterator7","barItem","format","countSum","series","count","reduce","topText","_step8","_iterator8","bar","themeId","monthText","bottomText","_step9","themeItems","themes","SiteConstants","secondaryChartColors","_iterator9","keyItem","themeName","dealThemes","feedbackSentiments","feedbackItems","sentiments","feedbackCardItems","sentimentDescriptionFromId","sentimentId","sentiment","sentimentDescription","feedback","feedbackId","companyName","investor","investorName","investorContact","created","recordedDateTime","banksRecorded","bank","cityRecorded","city","positive","themesRaw","theme","themeTypeName","t","negative","valuation","comment","minIndicationOfInterest","maxIndicationOfInterest","lastModified","positiveHighlight","negativeHighlight","valuationHighlight","feedbackTranchePriceDemand","tranchesValue","trancheConfigId","trancheDescription","getCurrentFeedbackChartTypeName","selectedChartId","chartId","chartTypesList","c","chartTypeName","getLatestFeedback","getMyDocsFetchedStatus","fetchedDocs","fetchedSummary","getDocumentsFetchedStatus","getMyDocsSummaryData","myDocsSummary","getMyDocsData","myDocs","getMyDocsActiveCategoryId","activeCategoryId","getMyDocsReceivedDate","dateReceived","getActualCategoryTitle","category","documentCategoryId","documentCategoryName","getAllNotArchivedDocumentsCount","total","archived","getMyDocsForActiveCategory","doc","categoryId","getLastDocuments","getSiteTextState","siteText","makeGetSiteTextSelector","siteTextTypeName","langCode","getSiteTextValue","SITE_TEXT_TYPES","getTermsAndConditionsText","termsAndConditions","termsAndConditionsText","PRICE_DEMENT_CHART_TYPE","THEME_DISTRIBUTION_CHART_TYPE","SENTIMENT_CHART_TYPE","otherColor","primaryChartColors","HSBC_RAG_COLORS","HSBC_RAG_RED","HSBC_RAG_AMBER","HSBC_RAG_GREEN","roadShowEventTypes","set","participantsTitle","eventTypeId","host","num","icon","Icon","iconName","verticalAlign","fontSize","summaryIcon","position","ValueFormatters","require","secondary","prop","fallbackProp","secondaryOrder","aVal1","accessor","bVal1","aVal2","bVal2","doubleSortFlat","badAVal","badBVal","aVal1Type","bVal1Type","aVal2Type","bVal2Type","themeSort","aContains","themeType","bContains","NiceScale","min","max","maxTicks","minPoint","maxPoint","tickSpacing","range","niceMin","niceMax","ticks","weight","calculate","calcTicksArray","niceMinimum","niceMaximum","numTicks","niceNum","floor","ceil","localRange","round","exponent","fraction","log10","pow","localMinPoint","localMaxPoint","localMaxTicks","HsbcButton","_PureComponent","_getPrototypeOf2","_this","_len","args","_key","call","throttledEvent","throttle","disabled","onClick","trailing","leading","eventToThrottle","persist","preventDefault","className","size","other","baseStyle","sizes","marginRight","onKeyPress","PureComponent","defaultProps","small","regular","normal","large","styled","_templateObject","_taggedTemplateLiteral","SecondarySlateButton","_templateObject2","PrimaryButton","_templateObject3","SecondaryButton","_templateObject4","LegacyButton","_templateObject5","mapLinkToKey","link","dealFeatures","PRICING","INVESTORS","ROADSHOW","ORDERBOOK","MY_DOCS","INVESTOR_FEEDBACK","mapLinkToAnalyticEvent","NAVIGATION_MY_DEAL_BUTTON","NAVIGATION_PRICING_BUTTON","NAVIGATION_INVESTORS_BUTTON","NAVIGATION_ROADSHOW_BUTTON","NAVIGATION_ORDERS_BUTTON","NAVIGATION_MY_DOCS_BUTTON","NAVIGATION_INVESTOR_FEEDBACK_BUTTON","NavContainer","Navbar","BodgedHeaderStyle","div","VersionHover","Link","Logo","img","Container","typography","NavItem","_templateObject6","EnhancedNav","Nav","_templateObject7","FakeLink","span","_templateObject8","active","SettingsNavLink","li","_templateObject9","NavMain","activeRoute","location","pathname","navlinks","links","isActive","linkItem","linkUrl","getLinkIconAndStatus","idAttr","role","display","paddingTop","paddingBottom","aria-label","tabIndex","navigateToUrl","onKeyDown","nav","Header","Brand","to","featurePageIds","LANDING_PAGE","src","logo","alt","version","LanguagePicker","isDeals","popoverElement","logout","Fragment","connect","ownProps","dispatch","browserHistory","eventTriggered","withRouter","routerProps","user","CONTAINER_STYLE","bottom","top","right","left","FLUID_STYLE","padding","minHeight","AppContainer","_React$PureComponent","innerHeight","updateHeight","bind","_assertThisInitialized","addEventListener","removeEventListener","setState","Scrollable","scrollHeight","detectUserInteraction","company","project","Grid","fluid","NewTabsContainer","_Component","changeTab","tab","activeTab","_this2","tabsCount","tabWidth","tabContent","child","_child$props","tabActiveIndex","changeTabActiveIndex","aria-selected","onTabClicked","titleKey","ResponsiveEllipsis","maxLine","background","fontWeight","marginTop","IsvNavMain","_useState","useState","_useState2","headerLinks","setHeaderLinks","useEffect","isvDealData","handleECBStatus","handleReferenceInformationStatus","ecbDocuments","isECBEnabled","navbarData","clientDocumentFile","monthYear","findIndex","el","isIsvExternalUser","acceptedBy","startDate","isvUtility","getIsvCurrentDeal","requestIsvDealClick","IsvAppContainer","allowedUiDealFeatures","Snackbar","open","message","onClose","closeSnackBar","autoHideDuration","anchorOrigin","vertical","horizontal","selectSnackBarStatus","selectSnackBarMessage","SvgIcons","ScrollingNav","keyboardEvent","keyboardKeys","prevElement","titles","querySelector","focus","nextElement","pagination","updatePagination","prevPagination","refs","scrollNav","$track","getElementsByClassName","$list","tot","btn","offsetWidth","forceUpdate","eventIcon","iconStyle","pastDay","hasFlights","hasTrain","hasCars","sliderBtnWidth","btnWidth","buttons","getEventTypeIcon","buttonClass","noEvents","meetingCount","statusText","btnAriaLabel","aria-pressed","handleClick","onKeyUp","textAlign","details","navGrpStyle","backgroundColor","settings","dots","arrows","infinite","speed","swipeToSlide","touchMove","variableWidth","draggable","slickGoTo","ref","Slider","prevArrow","nextArrow","DefaultBar","stroke","strokeWidth","BackBar","opacity","FrontBar","renderLegend","payload","hasTarget","colorPalette","paddingLeft","float","reverse","entry","ColorChip","fullChip","margin","topBarLegend","engagementModule","xCoord","iconFont","Text","textAnchor","verticalAnchor","dy","fontFamily","align","renderLabel","legendTitle","fullWidth","transform","customYTick","dx","customXTick","StackedBar","data","barGap","barSize","legendHeight","xLegend","animate","wideColorPalette","yAxixWidth","baseAxisWidth","axisWidth","arrayOfValues","setVals","k","parseInt","maxLength","adjustYAxisOnMaxData","barStyle","niceScale","maxVal","feedbackChart","reducedData","dataObj","maxYTicks","ResponsiveContainer","ComposedChart","XAxis","orientation","dataKey","axisLine","tickLine","label","tick","YAxis","domain","tickFormatter","val","interval","Legend","content","wrapperStyle","CartesianGrid","Bar","stackId","shape","barAnimate","barAnimateDelay","animationEasing","animationBegin","animationDuration","maxBarSize","isAnimationActive","bars","renderCustomizedLabel","units","primary","DonutChart","colorsPalette","PieChart","Pie","startAngle","endAngle","labelLine","outerRadius","Cell","StyledLabel","StyledInput","input","Checkbox","onCheckedChange","checked","htmlFor","classNames","labelStyle","HsbcButtonGroup","btnGrpStyle","disablePagination","Flag","lineHeight","marginLeft","visualisationColors","valueFormatters","siteConstants_namespaceObject","sorters_namespaceObject","niceScale_NiceScale","layouts_AppContainer_AppContainer","layouts_IsvAppContainer_IsvAppContainer","components_ScrollingNav_ScrollingNav","StackedBarChart_StackedBar","components_HsbcButton_HsbcButton","HsbcCheckbox","CustomIcon","FontIcon","Chevron","reversed","isDropdownOpen","isMasthead","ItemContent","MastheadStyleOverrides","ScrollContent","maxHeight","overflowY","CustomButton","button","DropdownText","DropdownOption","isSelected","outlines","light","StyledRow","Row","StyledColumn","Col","DropdownList","select","ReactDOM","findDOMNode","focusNext","items","focusPrev","focusFirst","focusLast","printable","character","String","fromCharCode","keysSoFar","clearKeysSoFarAfterDelay","nextMatch","findMatchInRange","keyClear","clearTimeout","setTimeout","startIndex","endIndex","toUpperCase","keyCode","shiftKey","enter","click","close","esc","down","up","end","home","container","createRef","domNode","current","parentNode","buttonNode","childNodes","listRight","getClientRects","buttonNodeRight","innerWidth","list","listId","listStyle","selected","onFocus","renderOption","renderOptionContent","isItemBorder","borderBottom","Popup","Dropdown","_PureComponent2","_this3","dropdownOpenClick","openDropdown","dropdownOpened","dropdownCloseClick","closeDropdown","buttonKeyPressed","_this4","DropdownSystem","modalID","dropdownId","closeModal","clickableElement","aria-expanded","aria-haspopup","aria-owns","dropdownText","aria-activedescendant","clickableContent","withModals","selection","react_redux__WEBPACK_IMPORTED_MODULE_0__","actions_UtilityActions__WEBPACK_IMPORTED_MODULE_1__","selectors__WEBPACK_IMPORTED_MODULE_2__","mapStateToModals","mapModalActions","Cmp","openModal","viewChange","actions_Types__WEBPACK_IMPORTED_MODULE_0__","viewId","AnalyticsTypes","VIEW_CHANGE","eventDetails","EVENT_TRIGGERED","checkAllowedUiFeatures","isInThatFeaturePage","constants_featurePages__WEBPACK_IMPORTED_MODULE_0__","constants_dealFeatures__WEBPACK_IMPORTED_MODULE_1__","features","visibleProperty","uIElementIndex","featurePages","infoStyles","PageContentNotAvailable","sm","flexbox","justify","wrap","FeaturePageLoadingContainer","LoadingContainer","checkBackground","fontColors","white","LoadingText","spinnerInlineStyles","def","border","xsmall","Loading","hasBackground","MDSpinner","singleColor","borderSize","coverContainer","Roadshow","checkFeature","roadshowId","roadshowDocMode","ROADSHOW_DAILY_SCHEDULE_PAGE","ROADSHOW_DOCUMENT_MODE_PAGE","dataArrived","roadshowDocId","fullScheduleDocumentId","documentOnlyMode","resolution","responsiveness","styles","resolutions","ContentAdjuster","FeatureContainer","HeaderContainer","FeatureHeading","h1","_ref5","invisible","HeadingDescription","_ref6","_ref7","_ref8","_ref9","_ref10","DateAsOf","h3","ScrollableBody","calcHeight","body","scrollToTopFlag","update","ScrollableTable","updateColumnWidths","node","widthPerFlex","getBoundingClientRect","columns","columnFlex","header","dim","tableRow","cell","thead","tbody","tfoot","dimensions","enhancedColumns","col","onSort","BootstrapTable","StyledIcon","InactiveIcon","SortIcon","SORT","SortState","defaultColumn","defaultDirection","logEventFn","dispatchAction","setFromHeader","getAriaLabel","aria-sort","dataField","getHeaderAttributes","data-field","handleKeyDown","stopPropagation","target","SortableTableHeader","components","SortIcons","HOME_ORDERS_TILE","receiveMyDocsSummary","response","Types","API_RECEIVE_DOCUMENTS_SUMMARY","myDocsSummaryData","requestMyDocsSummary","loader","API_REQUEST_DOCUMENTS_SUMMARY","endPoint","params","ajaxType","onSuccess","receiveMyDocs","API_RECEIVE_DOCUMENTS","requestMyDocs","API_REQUEST_DOCUMENTS","requestDoc","documentId","documentName","API_REQUEST_DOC","navigator","userAgent","sessionStorage","getItem","headerStyles","textDecoration","borderTop","paddingRight","cellStyle","borderLeft","borderRight","descriptionStyle","grey","withAnalytics","documentRequestedEvent","MY_DOCS_OPEN_DOCUMENT","docId","docName","useRef","baseColumnProps","sortCaret","headerAttrs","headerFormatter","headerEvents","currentTarget","dataset","sortOrder","getAttribute","bordered","rowStyle","keyField","headerClasses","headerStyle","formatter","cursor","marginBottom","documentVersionId","letterSpacing","dateFormatter","Columns","defaultSorted","EmptyDocumentList","DocumentMode","roadshowDocs","master","roadshowDocument","latestRoadshowDocument","dataAsOf","md","lg","DocumentList","noDocumentsAvailable","__","view","withTranslate","translate","updateSelectedDay","day","ROADSHOW_UPDATE_SELECTED_DAY","changeRoadshowTeam","team","ROADSHOW_CHANGE_TEAM","setRoadshowTeam","ROADSHOW_EFFECT_SET_TEAM","receiveRoadShowSummary","API_RECEIVE_ROADSHOW_SUMMARY","RoadshowData","requestRoadShowSummary","API_REQUEST_ROADSHOW_SUMMARY","receiveRoadShowEvents","API_RECEIVE_ROADSHOW_EVENTS","roadShowEventsData","requestRoadShowEvents","API_REQUEST_ROADSHOW_EVENTS","receiveRoadShowContacts","API_RECEIVE_ROADSHOW_CONTACTS","roadShowContactsData","requestRoadShowContacts","API_REQUEST_ROADSHOW_CONTACTS","notificationColors","provideNotificationColorPalette","warning","info","Error","nightGrey","IconContainer","Headline","family","bold","Description","Action","Notification","headline","action","actionContent","buttonEventHandling","anchorEventHandling","StyledLink","dark","HSBCLink","navigateEvent","EnhancedItemContent","provideBtnContent","allTeams","chooseTeam","teamDetails","roadshowTeamCode","MultiTeamDropdown","roadshowMultiTeamButtonEvent","multiple","teamSelected","teamNotSelected","teamColor","displayAllTeams","modalIds","ROADSHOW_MULTITEAM_BUTTON","HorizontalTab","visible","simulateResize","Event","dispatchEvent","createEvent","initUIEvent","withTabs","TabList","Tab","TabDiv","TabSpan","TabContent","TabHeader","tabHeaderClicked","keyDown","tabHeaderKeyDownEvent","keyUp","tabHeaderKeyUpEvent","aria-controls","tabId","HorizontalTabs","_getPrototypeOf3","_len2","_key2","selectPrevious","Children","toArray","array","selectNext","selectFirst","selectLast","idx","isLast","isFirst","prevProps","getElementById","aria-orientation","aria-labelledby","Tick","tickTop","tickLeft","tickWhite","BackgroundLayer","zIndex","CloseIconContainer","smallIcon","PopupSystem","keyboardCloseEvent","fallbackFocus","calcModalLocation","provideStylesForModal","modalHandler","modalWidth","modalHeight","clickableElementID","buttonHandler","_buttonHandler$getCli","clickableHeight","clickableWidth","prevState","shadow","boxShadow","centered","clickableElementStyle","Portal","backgroundLayer","FocusTrap","focusTrapOptions","clickOutsideDeactivates","escapeDeactivates","onDeactivate","aria-modal","closeIcon","ContactsModal","roadShowCoordinators","contactMasterList","issuers","banks","travelContacts","people","personTypeId","person","overflowX","ind","directTelephone","mobileTelephone","href","email","coordinator","CoordinatorsModal","clickCopy","execCommand","hiddenInput","OnlineRoadshowModal","openInBrowser","roadShowSummaryOnline","rel","appendChild","removeChild","_this$props$roadShowS","psCode","readOnly","EnhancedDivider","Divider","EmptySpace","CombinedContacts","modalOpenClick","adobeOpenModalEvent","static","headerKey","primaryButton","primaryButtonContent","primaryButtonKey","primaryButtonAction","visibleTab","roadshowContactTabs","ALL_CONTACTS","ROADSHOW_CONTACT_TABS","allContactsTabText","ContactsModalContent","COORDINATORS","roadshowCoordinatorsText","CoordinatorsContent","ONLINE","onlineRoadshowText","OnlineRoadshowContent","HsbcLink","btnText","isBtnDisabled","isOnlineRoadshowAvailable","areAllContactsAvailable","areRoadshowCoordinatorsAvailable","withAnalytics2","ROADSHOW_CONTACTS_BUTTON","ROADSHOW_ONLINE_BUTTON","RoadShowDayView","findNextEvent","handleDayViewCellClick","selectedEvent","handleDayViewUpdate","elem","now","startDateUtc","isAfter","nextEvents","isBefore","eventId","imminentEvents","diff","some","ie","minuteDiff","setInterval","clearInterval","sortBy","dayEvents","containerRegionAriaLabel","findNextEvents","findEventsStartingInNextHour","eventCells","xNum","eventType","has","investors","persons","investorsByFirm","cellClass","ne","titleClass","booked","findTeamColor","eventLabel","getEventLabel","ListGroupItem","activeEvent","startTimeZone","endDateLocal","endTimeZone","justifyContent","ListGroup","allTeamsSelected","flexDirection","alignItems","EventSummary","eventTitle","startTime","endTime","eventText","CoordinatorComments","commentText","comments","dangerouslySetInnerHTML","__html","split","commentBlock","commentLine","LogisticsDetails","location1","location2","driver","spacingSm","spacingLg","travelWithIcon","carrier","place","roomNumber","addressLine1","addressLine2","addressLine3","addressLine4","telephone","travelNumber","notes","logisticsSections","country","travelCar","travelHotel","console","log","section","MeetingsDetails","eventLocation","meetingLocation","meetingSections","investorIconStyle","profileIconStyle","feedbackIconStyle","historicalIconStyle","investorLinkStyle","downloadIconStyle","invProStyle","investorProfiles","pastGroupEvent","investorInfo","choosePhoneFormatter","investorDetailSection","firmName","investorList","handleDownloadClick","ImgIcon","profile","history","investorDetailSections","investorDetailSections2","aSplit","bSplit","name1","name2","attendedInvestors","notAttendedInvestors","attended","investorProfilesObj","investorProfile","attendedInvestorsSection","notAttendedInvestorsSection","BankerDetails","bankers","salesContacts","salesContact","banker","ParticipantDetails","participants","participant","booking","eventDetailRegion","typeId","drivers","InvestorDetails","documentIconStyle","RoadShowContainer","scrollToTopDayViewFlag","scrollToTopDetailViewFlag","handleRoadShowNavClick","handleDocumentClick","timer","changeDailyEvent","eventDetailButtonEvent","carouselChangeEvent","roadShowSummaryDates","planeText","trainText","carText","join","selectedDayEvents","eventsForSelectedDay","date1","date2","activeDay","cityList","dayViewStyle","calendarRegionAriaLabel","mapNavEvents","MultiTeam","fullScheduleButtonEvent","CombinedCoordinators","CombinedDetails","DetailsView","notificationHeadlineText","notificationDescText","ROADSHOW_CAROUSEL_DATE_CHANGE","ROADSHOW_FULL_SCHEDULE_BUTTON","ROADSHOW_EVENT_DETAIL","SET_ROADSHOW_DAILY_EVENT","setRoadShowDailyEvent","OrderBook","isDCMFetching","isECM","isECMFetching","receiveOrders","responseDetails","API_RECEIVE_ORDERS","requestOrders","API_REQUEST_ORDERS","tiles","requestOrdersForAllTranches","API_REQUEST_ORDERS_FOR_ALL_TRANCHES","requestEcmOrders","API_REQUEST_ECM_ORDERS","receiveShareDemand","API_RECEIVE_SHARE_DEMAND","requestShareDemand","API_REQUEST_SHARE_DEMAND","receiveDemandSummaryByShareAndType","API_RECEIVE_DEMAND_SUMMARY_BY_SHARE_AND_TYPE","responseData","requestDemandSummaryByShareAndType","lowestSharePrice","maxSize","API_REQUEST_DEMAND_SUMMARY_BY_SHARE_AND_TYPE","receiveDemandSummaryByType","API_RECEIVE_DEMAND_SUMMARY_BY_TYPE","requestDemandSummaryByType","API_REQUEST_DEMAND_SUMMARY_BY_TYPE","typeName","receiveTranches","API_RECEIVE_TRANCHES","requestTranches","API_REQUEST_TRANCHES","receiveInvestorNames","API_RECEIVE_INVESTOR_NAMES","requestInvestorNames","API_REQUEST_INVESTOR_NAMES","receiveTranchLists","API_RECEIVE_TRANCHE_LISTS","requestTranchLists","API_REQUEST_TRANCHE_LISTS","receiveOrderSummary","API_RECEIVE_ORDER_SUMMARY","orderSummary","requestOrderSummary","intvl","investorId","API_REQUEST_ORDER_SUMMARY","requestUpdateOrderSummary","isFilter","UPDATE_SELECTION_ORDER_SUMMARY","requestUpdateFullOrderBook","fullOrderBookData","REFRESH_FULLORDERBOOK_DATA","requestUpdateAmendedOrderSummary","UPDATE_SELECTION_AMENDED_ORDER_SUMMARY","requestUpdateBookEvolutionSummary","UPDATE_SELECTION_BOOK_EVOLUTION_SUMMARY","requestUpdateBookEvolutionSummaryForAmendedOrderByInvestorTable","UPDATE_SELECTION_BOOK_EVOLUTION_SUMMARY_AMENDED_ORDER_BY_INVESTOR","requestUpdateStages","UPDATE_STAGES","dataFetching","DATAFETCHING","updateCurrentTranche","UPDATE_CURRENT_TRANCHE","filterOrderSummary","UPDATE_ORDER_SUMMARY","filterBookEvolutionSummary","UPDATE_BOOK_EVOLUTION_SUMMARY","filterBookEvolutionSummaryForAmendedOrderByInvestor","UPDATE_BOOK_EVOLUTION_SUMMARY_FOR_AMENDED_ORDER_BY_INVESTOR","requestStages","API_RECEIVE_STAGES","changeFullOrderBookSort","CHANGE_FULL_ORDERBOOK_SORT","openOrderSummaryDetailView","ORDER_SUMMARY_MODAL","selectInvestorTypeDropdown","SELECT_INVESTOR_TYPE","resetOrderBookDropDowns","RESET_ORDER_SUMMARY_DROPDOWN","getCurrentActiveSummaryTab","CURRENT_ACTIVE_ORDER_SUMMARY_TAB","changeLoderStatus","CHANGE_TRANCHE_LOADER_STATUS","default","ButtonGroupBase","ButtonGroup","OrderBookEcmHeader","headerDisplayData","defaultButtonGroup","mainName","flagStatus","currentStatusDate","allTranchesButtonGroup","trancheActive","fullOrderbook","prevActiveTranche","usePrevious","ALL_INVESTORS","ALL_TRANCHES","DEFAULT_TIME_INTERVAL","carouselEvent","ORDERS_SUMMARY_CAROUSEL_BUTTON","fullOrderBookEvent","ORDERS_SUMMARY_FULL_ORDERBOOK_BUTTON","orderSummaryEvent","FULL_ORDERBOOK_SUMMARY_BUTTON","amendedOrderEvent","ORDERBOOK_AMENDED_SUMMARY_BOTTON","bookEvolutionEvent","BOOK_EVOLUTION_SUMMARY_BOTTON","viewFullOrderBook","viewSummary","viewAmendedOrderSummary","viewBookEvolution","stickyToggleFullOrderBook","stickyToggleSummary","stickyAmendedOrderSummary","stickyBookEvolution","includeAmendedOrders","INCLUDE_AMENDED_ORDERS","refreshFullOrderBook","UPDATE_FULL_ORDERBOOK","filterAmendedOrderSummary","UPDATE_AMENDED_ORDER_SUMMARY","headerData","trancheTitles","trancheClick","amendedSummary","bookEvolution","dealName","dealFlagStatus","dealDescription","trancheFlagStatus","ORDERBOOK_FULL_PAGE","ORDERBOOK_SUMMARY_PAGE","ORDER_SUMMARY_TABS","FULLORDERBOOK","ORDERBOOKSUMMARY","ORDERBOOK_AMENDED_PAGE","AMENDEDORDERSUMMARY","ORDERBOOK_EVOLUTION_PAGE","ORDEREVOLUTION","OrderBookDcmHeader","commaFormatter","numeral","numberFormatters","oneDecimalPointPercent","toFixed","oneDecimalPoint","twoDecimalPoint","million","dayMonthYear","validTime","timeAbbr","abbr","tz","zone","guess","dateFormatters","dayMonth","time","isValid","dayMonthYearZoneShort","zoneTime","timeAbbreviation","dayMonthYearWithProvidedZone","timeZone","parseZone","dateTime","TopValue","BottomValue","FullOrderBookFooter","millionFormatter","topValue","bottomValue","commaDecimalFormatter","ScrollbleContainer","OrderBookTable","classes","caption","isCellEmpty","row","rowIndex","formatterExtraData","emptyCellFormatter","emptyValue","SharedTableComponents_baseColumnProps","isSorted","footer","formatExtraData","rightAlignedHeaderStyle","centerAlignedHeaderStyle","sortedHeaderStyle","leftAlignedHeaderStyle","wordBreak","wordWrap","rightAlignedCellStyle","centerAlignedCellStyle","investorCellStyle","leftAlignedCellStyle","investorLongNameColumn","attrs","investorText","headerSortingStyle","viewType","footerTitle","investorCountryColumn","countryText","investorTypeColumn","typeText","getColumns","targetDemandText","footerAlign","footerFormatter","Footer","totalDemandAmount","totalDemandFactor","allocationAmountText","dealTotalAllocationSummary","totalAllocationAmount","allocationPercentageText","AllocationColumns","demandAtBottomText","demandAtMidpointText","demandAtTopText","currentLimitText","SummaryColumns","shareDemandPrice","createdText","modifiedText","DemandDetailColumns","topTierText","earlyLookText","educationInvestorText","physicalRoadshowText","feedbackText","EngagementColumns","DemandDetails","updatePosition","parent","tableHeader","investorLongNameHeader","offsetLeft","demandDetails","FullOrderBookTable","columnSortEvent","tableCaption","dealCurrency","nullResponseCharacter","dealTargetPrice","FULL_ORDERBOOK_SORT","ECMFullOrderBookContainer","activeView","inAllocationPhase","handleViewToggle","createCells","$cells","rect","cellDivStyle","currentTrancheData","OrderbookHeader","buttonChangeEvent","FULL_ORDERBOOK_TAB_ALLOCATION","FULL_ORDERBOOK_TAB_ORDER_OVERVIEW","FULL_ORDERBOOK_TAB_DEMAND_DETAIL","FULL_ORDERBOOK_TAB_ENGAGEMENT","fullOrderBookTable","Value","FullOrderBook_FullOrderBookFooter","defaultColumnProps","trancheTotalOrderAmount","softText","trancheTotalSoft","firmText","trancheTotalFirm","spreadText","limitSecurityText","hedgeText","trancheTotalAllocation","allocationPercentText","regionText","investorTypeText","keyInvestorText","booleanFormatter","historicalInvestorText","FullorderTableContainer","DropDownContainer","InvestorTypeDropDownContainer","DropDownLabel","textStyle","textTransform","arrowUpIconStyle","arrowDownIconStyle","arrowUpHeaderStyle","arrowDownHeaderStyle","arrowDropdownIconStyle","applyRowbackground","orderIdText","investorNameText","investorCountryText","currencyText","orderAmountText","trancheNameText","dateText","isDummyField","amendedAmountText","FullOrderBookAllTranchesTable","setRowBackgroundStyle","ORDER_STATUS","DELETED","CANCELLED","INACTIVE","onDropdownChange","option","getFullOrderBookData","allInvestorType","getInvestorTypes","uniqueInvestorTypes","obj","unshift","DEFAULT_ALL","Autocomplete","disablePortal","options","disableClearable","sx","popupIcon","slice","onChange","isOptionEqualToValue","renderInput","TextField","variant","notAvailable","LoadingWrapper","FullOrderBookContainer","handleTrancheNavClick","FULL_ORDERBOOK_TAB_ORDER_DETAIL","FULL_ORDERBOOK_TAB_INVESTOR_TYPE","loading","allTranchesFullOrderBookTable","changeAllTranchesFullOrderBookSort","CHANGE_ALL_TRANCHES_FULL_ORDERBOOK_SORT","FullOrderBookComponent","isDCMAvailable","isECMAvailable","DCMFullOrderBookContainer","EnhancedFullOrderBook","isFetching","fetching","ChipSection","itemStyle","DescriptionSection","chipStyle","minWidth","chipWidth","headerBase","firstHeaderAlignedLeftStyle","firstHeaderAlignedCenterStyle","otherHeaderAlignedRightStyle","lastHeaderAlignedRightStyle","otherHeaderAlignedLeftStyle","rowBase","outline","firstRowAlignedLeftStyle","lastRowAlignedRightStyle","otherRowAlignedLeft","otherRowAlignedRight","otherRowAlignedCenter","Table","memo","ChartContainer","Chart","timeout","VisualisationColors","slices","createCell","Wrapper","PanelLabel","PieChartWrapper","EnhancedCol","closeBtnStyle","DemandByCarouselPanelPie","isNotMainScreen","handleColorFormatter","columnIndex","defaultPosition","clientY","handlePopOver","tableType","percentText","titleHoverEl","colorChipFormatterEl","demandModalStatus","onDragStart","lastX","lastY","_this$state","panelLabel","rowClasses","popoverData","isPopOverEnabled","Draggable","bounds","onDrag","Popover","Boolean","anchorEl","marginThreshold","otherTableData","ButtonContainer","legendKeyStyle","ChartTableContainer","showChart","showTable","buttonStyle","tableStyle","tableTitle","table","convertDataFieldNameToColumnTranslationKey","dataFormatter","Number","isNaN","ChartLegend","h4","keyFieldText","keyFieldFormatter","yAxisTickFormatter","DemandByCarouselPanelBar","transformedData","keyIndex","_defineProperty","valuesData","valuesIndex","transformData","tableSort","panelStyle","StackedBarChart","xAxisLabel","keyData","TablesContainer","onlyUpdateForKeys","pure","ictionaryKey","TopTenTable","topTenOrders","ordersSortedByDate","topTenChangedOrders","lastModifiedOrder","comparisonTimeEnd","comparisonTimeStart","subtract","last24HoursTopTenChanged","isBetween","TOP_TEN_ORDERS_TABS","topTenOrdersTabs","TOP_TEN_ORDERS","tab1Title","tabChangeEvent","ORDERS_SUMMARY_TOP10_TAB_ORDERS","tab1TableCaption","MOST_RECENT_TOP_TEN","tab2Title","ORDERS_SUMMARY_TOP10_TAB_NEW_OR_CHANGED","tab2TableCaption","DLContainer","dl","trancheTargetAmount","orderPercentage","barType","currentTranche","trancheTotalSubscribed","dealIpoValue","dealTotalDemandAmountAtLowestPrice","dealTotalDemandCoverage","progress","progressBarOver","ProgressBar","dealDemandSharePrice","panelStyleTopTen","demandButtonGroupStyle","dayKeyFieldFormatter","OrderSummaryContainer","carouselIndex","chartTabView","carouselChange","chartColors","isMillion","barData","dataPointKeys","priceDemandDetail","priceDemandDataSeries","sortedDataSeries","mergedDataSeries","barKeys","keyItems","keyTotals","barDatum","barDatumKey","abbreviateFullDate","ordersTableTab","stackedBarDayData","formatDemandByData","externalSourceLastModifiedSummaryDataByShare","stackedBarCountryData","investorCountrySummaryDataByShare","stackedBarInvestorTypeData","investorTypeSummaryDataByShare","tableDataCountry","investorCountrySummaryData","countryPieData","tableDataInvestor","investorTypeSummaryData","investorPieData","stackedXAxisLegendLabel","StatusBar","dealSize","dealTotalNumberOfOrdersAtLowestPrice","ECM_SUMMARY_DEMAND_TABS","ecmSummaryDemandTabs","BY_INVESTOR_TYPE","ORDERS_SUMMARY_DEMAND_TAB_BY_INVESTOR_TYPE","handleChartTabViewToggle","BY_COUNTRY","ORDERS_SUMMARY_DEMAND_TAB_BY_COUNTRY","BY_DAY","tab3Title","ORDERS_SUMMARY_DEMAND_TAB_BY_DAY","dealDemandLowestSharePrice","defaultTab","ModalAlignCenter","ModalContent","OrderSummaryModal","amendedOrderColumn","splice","closeModalClick","closeOrderSummaryDetailView","modalSummary","CLOSE_ORDER_SUMMARY_MODAL","issuerNameText","landingDimensions","TileContainerOuter","backgrounds","gray","TileContentInner","TileHeader","TileContent","DateContent","darkGrey","linkContainerIconStyle","ChevronIcon","EmptyContent","OrderSummaryTableContainer","timeIntervalText","orderSummaryList","cursorStyle","getTableColumnHeader","tableColumnKeys","columnHeader","getOrderSummaryDetails","selectedIndividualOrder","structuredIndividualOrders","individualOrders","acc","timeInterval","selectedColumnOrders","columnData","sortedColumns","numberTranches","getSortedColumns","InvestorDropDownContainer","TranchesDropDownContainer","selectOrderSummaryDropdown","SELECT_ORDER_SUMMARY_DROPDOWN","allInvestorLists","allTranchelists","isOrderBookSummary","getDateSummary","isAmenededOrderSummary","isBookEvolution","amendedInvestor","setAmendedInvestor","isDateUpdated","setDateSummary","TIME_INTERVALS","AmendedOrderLegendsContainer","AmendedOrderLegendsUlList","ul","AmendedOrderLegendsList","AmendedOrderLegendsWrapper","AmendedOrderLegendItem","legendIconStyle","AxisLabel","axisType","xDy","isVert","cx","cy","rot","renderCusomizedLegend","lineChartSummary","lineChartList","trancheOrders","barIndex","getOrdersList","dateTimeInterval","yAxisLabel","chartLabel","tooltipLabel","aspect","LineChart","angle","commaWithoutDecimalFormatter","Tooltip","labelFormatter","filteredTrancheList","includes","isAnimation","Line","activeDot","connectNulls","getChartSlices","DropDownPicker","CumulativeTextWrapper","InvestorCountrySummaryData","InvestorTypeSummaryData","InvestorRegionSummaryData","investorNameList","trancheNameList","isOrderSummaryFiltererd","handleHomeFeature","viewChart","viewTable","trancheTotalNumberOfOrders","getOrderSummaryList","isTable","tempOrderSummaryData","trancheList","entries","orderList","showCumulativeRow","getOrderSummaryByDate","orderSummaryListByDate","orderSummaryTableKeys","grandTotalRow","each","getDateFilterdSummaryData","checkPopOverStatus","tableDataRegion","regionPieData","isOrderSummaryEnable","trancheCurrency","flexWrap","DCM_SUMMARY_DEMAND_TABS","dcmSummaryDemandTabs","BY_REGION","ORDERS_SUMMARY_DEMAND_TAB_BY_REGION","OrderSummaryDropdownList","orderDateSummary","getSummaryDates","ALL_TRANCHES_SUB_TABS","allTranchesOrderSummarySubTabs","VIEW_CHART","OrderSummaryLineChart","VIEW_TABLE","OrderSummaryTable","OrderSummaryDetailView","ECMOrderSummaryContainer","DCMOrderSummaryContainer","EnhancedOrderSummary","TableHead","setTheadRef","tableHeadRef","resizeTheadRef","TableBody","TableRow","TableHeaderCell","TableColumnCell","columnHeight","getCellWidthCell","cellWidth","dateColumnWidth","timeEnteredColumnWidth","AmendedSummaryTable","timeEntered","setTableStyle","_useState3","_useState4","setCellWidth","_useState5","_useState6","setHeaderStyle","rows","offsetParent","tbodyHeight","clientHeight","clientWidth","rowSpan","colSpan","amendedOrderIdList","dateEntered","setAmendedOrderSummaryData","amendedInvestorList","setAmendedInvestorList","setOrderSummary","_useState7","_useState8","setTrancheOrders","_useState9","_useState10","setAmendedOrderIdList","getUpdatedStructuredOrders","getFilteredStructuredOrders","investorID","sortedOrderSummary","filteredData","filteredTrancheData","isIntialInvestor","isIntialTranche","sameData","getFilterdData","orderIdList","subItem","updatedOrderSummary","getMappedAmendedOrderList","getColumnCount","arr","nextIndex","isAmendedOrderSummaryEnable","ALL_TRANCHES_AMENDED_SUMMARY_SUB_TABS","allTranchesAmendedSummarySubTabs","BookEvolutionsOrderSummaryDetailView","setIsModalOpen","timeIntervalStyle","timeIntervalStyleHighlighted","stageTextStyle","NoWrapRow","AmendedOrderInvestorTable","amendedOrderByInvestorSummaryData","firstOrderText","lastOrderText","lastMinusPeakText","peakOrderText","intervals","showFilterForAmendedOrderbyinvestor","orderDetails","isShowStagesChecked","timeIntervals","setTimeIntervals","tableArray","setTableArray","modalData","setModalData","intervalStagesObject","setIntervalStagesObject","TableHeaderslist","labelText","columnProperty","dataType","_useState11","sortColumn","_useState12","sortObject","setSortObject","formatTooltipHoverText","convertIntToDecimal","amount","parseFloat","formatDataForAmendOrderinvestorTable","arrayToProcess","sortedArray","arrayToReturn","orderDetail","orderResponse","ordersArray","isExists","modifiedArray","amounts","checkIfOrderExists","firstOrderAmount","lastOrderAmount","peakOrderAmount","lastMinusPeak","sortArrayBasedOnProperty","arrayToSort","fieldToSort","orderofSort","comparison","value1","value2","comparisonFunction","selectedTimeRangeInFilter","intervalsArray","DEFAULT_ALL_DAY","istimeInRange","timeIntervalObject","stage","formattedDate","stageDate","stageShortname","stageName","stageTime","filterTimeIntervals","isInRange","fromHour","fromMin","toHour","toMin","elementHour","elementMin","tableHeaderObject","activeSort","caretColor","pickCaret","selectedDateToFilter","stageExistingForDateAndTime","formatDataForModal","trancheContainerStyles","closeIconStyle","SpecificTimePopup","hour","setHour","setMin","isValidHour","hourValue","dividerStyle","secondaryButton","secondaryButtonStyle","pointerEvents","secondaryButtonAction","hourToDisplay","minToDisplay","disableTimeInterval","secondaryButtonKey","IconButton","helperText","InputProps","inputProps","STATIC_MINUTES","useStateWithCallback","initialValue","setValue","newValue","callback","prevValue","updateStages","stagesDataArray","API_UPDATE_STAGES","allDatesList","_useStateWithCallback","_useStateWithCallback2","arrayOfStages","setArrayOfStages","dataNotLoaded","setDataNotLoaded","checkIfDateSelected","hourValueString","isStagesDataChanged","initialStageData","newStageData","isValidMinute","minValueString","minValue","handleChange","clearTimeValue","dateDropdownvalue","tempArrayOfStages","objectToSet","stageTimeToSet","stageDateToSet","hh","mm","confirm","selectAmendedOrderByInvestorDropDown","SELECT_AMENDED_ORDER_BY_INVESTOR_DROPDOWN","setIsSetStagesModalOpen","UPDATE_SET_STAGES_MODAL_OPEN","orginalOrderbookData","setIsShowStagesChecked","investorTypeList","setInvestorTypeList","datesList","setDatesList","isFromSpecificTimeModalOpen","setIsFromSpecificTimeModalOpen","DEFAULT_MIN","datesArray","uniqueDates","timeRange","applyLocalFilter","initialSelectedTranche","initialSelectedDate","TIME_RANGES","minToSet","SetStagesPopup","Transition","forwardRef","Slide","ButtonRight","NoteTextWrapper","dataForAmendedOrderByInvestor","isBookEvolutionFiltererd","amendedOrder","timeRangeText","dateTimeText","showAmendedOrderInvestorFilters","setShowAmendedOrderInvestorFilters","getFormattedOrdersFromBookEvolution","summaryDates","tranchNameToCompare","dateToCompare","getAmendedOrderByInvestorByInvestorType","dataForDates","BookEvolutionTableKeys","_React$useState","_React$useState2","setOpen","_React$useState3","_React$useState4","showFilters","setShowFilters","handleClose","buttonText","LoadOrderByInvestorFilter","ALL_TRANCHES_BOOK_EVOLUTION_SUB_TABS","allTranchesBookEvolutionSubTabs","AMEND_ORDERS","FullScreenTip","placement","FullScreenIcon","Dialog","fullScreen","TransitionComponent","AppBar","Toolbar","Typography","ml","flex","component","Box","gap","Button","edge","CloseIcon","DialogContent","LoadOrderByInvestorTable","AmendedOrderDropdownFiltersList","amendedOrderbyInvestorTableData","orderdetails","FeedbackInvestor","FeedbackInvestorContact","FeedbackText","INVESTOR_FEEDBACK_DETAILS_PAGE","LatestFeedback","linkChange","loadingText","linkAriaLabel","linkText","LATEST_FEEDBACK","DocumentContainer","DocumentTitle","DocumentTextContainer","MY_DOCS_DOCUMENTS_PAGE","LatestDocuments","documentTitleEvent","documents","documentAriaLabel","lastModifiedTimeZone","createDateTimeZone","LATEST_DOCUMENTS","LatestOrders","colIndex","demandPrice","modified","dealDemandBottomPointSharePrice","LATEST_ORDERS","InvestorName","LatestTranche","trancheText","totalOrderText","HeroContainer","LinkContainer","sharedStyle","NavigableLink","NotNavigable","FeatureDescription","Hero","onHeroClicked","featureIcon","LandingContainer","landingImageHD","landingImage5K","landingImageFHD","WelcomeContainer","EnhancedContentAdjuster","HeadingContainer","LandingH1","LandingH2","h2","HeroItems","CarouselContainer","tileMargin","Landing","providePricing","pricing","pricingDescription","pricingEvent","provideRoadshow","roadshow","roadshowDescription","roadshowEvent","provideOrders","ordersDescription","ordersEvent","provideMyDocs","myDocuments","myDocsDescription","myDocsEvent","provideInvestorFeedback","investorFeedback","investorFeedbackDescription","investorFeedbackEvent","provideInvestors","investorsDescription","investorsEvent","icons","sortChildrens","activeHomeModules","sortNo","LatestECMORders","LatestDCMOrders","LatestDCMOrder","headingTitle","headingDescription","eventTrigger","eventIds","EXPLORE_MY_DOCS","EXPLORE_PRICING","EXPLORE_ORDERS","EXPLORE_ROADSHOW","EXPLORE_INVESTOR_FEEDBACK","EXPLORE_INVESTORS","viewIds","applyIsvCloseBanner","IsvTypes","APPLY_CLOSE_INFORMATION_BANNER","handleConfirmationDialogue","deleteDealDocumentId","APPLY_HANDLE_CONFIRMATION_DIALOUGE","handleDashboardResponse","API_RECEIVE_DASHBOARD_DATA","InformationBanner","InformationBannerWrapper","InformationIconWrapper","InformationContentWrapper","BannerText","BannerCloseIcon","informationIconStyle","IsvInformationBanner","bannerText","bannerHeading","handleCloseBanner","onCloseOverlay","defaultBtnStyle","primaryBtnStyle","ConfirmationContainer","DialoguePara","ConfirmationDialog","isCancelButtonNotRequired","dialogActionStyle","dialogActionButtonStyle","subHeader","DialogActions","onConfirmClick","confirmButtonText","onDeclineClick","declineButtonText","ISV_DOCUMENT_REVIEW_STATUS","PENDING_ONE_WAY_LETTER","PENDING_FIRST_REVIEW","PENDING_FINAL_CLIENT_SUBMISSION","SUBMITTED_TO_RBI","COMPLETED","MATURED","WORKFLOW_STATUS","DRAFT_ECB_SUBMISSION","FINAL_ECB_SUBMISSION","REJECTED_STATUS","NEXT_ACTION_OWNER","CLIENT","CSM","RR_TEAM","HSBC","ISV_DOCUMENT_TYPE","widthAlign","disabledLRNRef","dialogAction","lrnReferenceInput","lrnReferenceCancelButton","svgIconStyle","TableContainer","DealTextWrapper","DatePickerWrapper","calender","SvgIconContainer","LrnReferenceContainer","LrnReferenceTextWrapper","LrnReferenceButtonContainer","LrnReferenceField","maturityDate","handleEdit","isLrnReferenceEditable","statusName","workflowName","DatePicker","_Component2","isDatePickerOpen","handleOpen","currentDate","setHours","getCurrentLocation","_this$props$data","isFinalSubmission","fromDealInformation","nextAction","LocalizationProvider","dateAdapter","AdapterDateFns","DesktopDatePicker","inputFormat","onAccept","onOpen","disablePast","placeholder","DashboardTable","_Component3","lrnRef","handleOnAccept","childRef","handleChangeDatePicker","isECBStatusEnabled","lrnReference","isLrnReferenceAlreadyAdded","isEditLrnReferenceNo","isMaturityDatePassed","hasMaturityDate","isMaturityDateAlready","fromDealInfo","handlePostDashboardData","showMaturityDateWarning","_this2$props","_this2$props$data","handleMaturityDateDialog","_this2$props2","_this2$props2$data","handleCloseConfirmation","lastSelectedValue","handleOkConfirmation","postedData","toDateString","handleLrnPopoverClose","handleSaveLrnReference","handleLrnRefNoChange","test","handleLrnRefCancel","handleLrnRefernceDialog","isMaturityDateUpdateWarning","nextProps","_this$props2","isOpen","transformOrigin","InputLabelProps","selectConfirmationBannerStatus","getIsvCurrentDealId","selectedEcb2ReturnStatus","isopen","API_REQUEST_DASHBOARD_DATA","_regeneratorRuntime","hasOwnProperty","o","defineProperty","Symbol","iterator","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","Generator","create","Context","makeInvokeMethod","tryCatch","arg","h","l","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","v","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","pop","prev","charAt","stop","rval","handle","complete","finish","catch","delegateYield","CarousalWrapper","black","LandingPara","ImageContainer","IndexContainer","LandingMessageContainer","_templateObject10","image","landingImageStepOne","landingImageStepTwo","landingImageStepThree","Item","ButtonIcon","_asyncToGenerator","_callee","currentIndex","newIndex","_context","_x","getData","selectedDealData","latestSelectedDealData","isDashboardBannerOpen","showECB2ReturnBannerForClient","ecB2ReturnStatus","selectInformationBannerReducer","getLatestIsvCurrentDeal","ISVLandingPage","DCMLandingPage","StyledForm","form","RowWrapper","ActionBar","FieldContainer","isMargin","selectUploadedTitle","file","selectUploadedFile","selectedDocument","isReferenceInformationEnabled","selectIsReferenceInformationEnabled","handleOpenUploadOverlay","onSubmit","supportingData","isClientSupportingDocument","isSupportingDocument","ReferenceData","formData","updateFormData","handleUploadFormChange","clientFileId","docRefId","uploadedBy","Heading","DropzoneInner","DropzoneWrapper","DropzoneHeading","DropzoneSubheading","uploadFileDocument","onDrop","useCallback","acceptedFiles","heading","subheading","prepareContent","_useDropzone","useDropzone","accept","image/jpg","image/jpeg","image/png","image/gif","application/pdf","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/msword","getRootProps","getInputProps","ProgressWrapper","isvDocuments","LinearProgress","utils","isState","validStates","FILE_UPLOAD_STATES","READY","IN_PROGRESS","selectUploadedOverlayStatus","selectedClientDealData","selectClientDocumentData","currentDeal","isEcbClientDocUploaded","selectIsEcbClientUploaded","isRefDocumentUploaded","selectIsRefDocumentUploaded","uploadPostDocument","isTitleAlreadyExist","isEcbDocument","startUploadingFile","onBackdropClick","DialogTitle","dividers","DocumentFileUploader","FileMetaForm","dataFD","FormData","append","fileUploadWorkflowStatus","CheckClientTitle","CommentsWrapper","CommentsInnerWrapper","CommentsHeader","CommentsContainer","TextFieldContainer","LatestComment","LatestCommentValue","CommentValue","CommentDateWrapper","commentData","selectLatestCommentsDataForCurrentComment","isCommentsPopupOpen","selectIsCommentPopUpOpen","rejectLabel","selectIsvRejectButtonLabel","handlePostDocumentComment","getLatestCommentsByCommentId","commentId","isClientScreen","isEcbReturn","handleGetLatestCommentsByCommentsId","handleCommentsPopup","handleSubmitDealInformation","lastComment","isRejectButtonClick","onCloseDialog","isAdditionalComment","onRejectCommentPosted","selectedLastCommentId","rejectToggleClicked","fromEcb2Return","commentRow","userRoles","setComment","setIsOpen","userSelection","setUserSelection","latestComment","setLatestComment","handleCloseDialog","getFullNameInitals","getUserName","UserName","From","initials","shift","getuserKey","borderRadius","Cdate","IsECBReturnVisible","getCommentsData","commentValue","autoComplete","defaultValue","handleCommentInput","isUserSelected","isInputValid","checkButtonStatus","isClientVisible","postData","userName","fontSizeDefault","iconStyles","toggleButton","approveButton","selectedToggleButton","commentsHeader","uploadCellwidth","deleteCellwidth","disabledButton","commentsColumn","LinkTableRowColumn","UpArrowContainer","FileNameText","ApproveRejectText","UpArrowIcon","InformationTitleColumn","latestCommentsDataForCurrentDeal","selectLatestCommentsDataForCurrentDeal","handleDocumentApproveReject","handleClientDocuments","getLatestCommentsByDealId","handleGetLatestCommentsByDealIdResponse","setTitleColumnWidth","viewDocument","handleDeleteConfirmationDialogue","documentStatus","setDocumentStatus","selectedDocumentIndex","setSelectedDocumentIndex","dealInformationTableData","setDealInformationTableData","setClientSupportingDocument","setIsRejectButtonClick","selectedDealDocumentData","setSelectedDealDocumentData","_useState13","_useState14","setSelectedLastCommentId","_useState15","_useState16","selectedLastCommentTitle","setSelectedLastCommentTitle","_useState17","_useState18","isCSMApproved","setIsCSMApproved","_useState19","_useState20","isRRApproved","setIsRRApproved","titleTableColumnWidth","latestTableData","dealDocumentMapping","titleColumnWidth","getApproveRejectPostData","dealDocumentData","isCsmApproved","isRrApproved","onDialogClose","handleRejectCommentPosted","isDocument","fileName","isClientFile","isToggleButtonDisabled","isCsmDocReviewed","isRrDocReviewed","isCsmApprovedInformation","isClientDocReviewed","isSubmittedForReview","isCsmRejected","isEnableUploadAndDeleteForCsmUser","isCsmFinalStatus","clientDocument","adminDocument","dealDocumentId","clientFieldId","fileSelected","viewSelectedDocument","DealInformationCommentBoxContainer","ToggleButtonGroup","exclusive","newStatus","lastCommentId","lastCommentTitle","handleDocumentStatusChange","ToggleButton","disableFocusRipple","createdDate","InformationButtonContainer","CommentStyle","DocumentActionContainer","AdditionalCommentContainer","isClientData","AdditonalCommentHeader","DealInformation","isSupportingUploadButtonDisabled","documentStatusrole","isFinalReviewCompleted","CheckReviewSubmitted","dealDocuments","isSubmitReviewButtonDisabled","CheckSubmitEnabled","isSubmitButtonDisabled","enableDisableInformationBanner","CheckInformationBannerText","handleUploadSubmitButton","deleteDocumentId","isCSMFinalSubmission","deleteSupportingDocument","enableSubmitForReviewButton","isClientSubmit","areAllFinalDocsUploaded","isdocsUploaded","fileUploadWorkflow","isRejectButtonEnabled","approver","rejectUser","documentCount","enableClientUploadButton","handleRejectInformation","handeFinalSubmission","finalReview","checkIsFinalReviewCompleted","getConfirmationDialogueSubheader","isDealInformationBannerOpen","downloadAllDocuments","isFinalCSMSubmission","FileUploadOverlay","DealInformationTable","referenceId","dealInformationBannerReducer","selectDocumentDeleteId","selectIsvTableColumnWidth","isAdditonalComment","selectedReferenceInformationData","selectedReferenceInformationDataForCurrentDeal","isRrUser","uploadRefPostDocument","CheckReferenceFileTitle","reUploadCellwidth","selectedReferenceData","getReferenceDataForCurrentDeal","handleReferenceInformationDataForCurrentDeal","referenceInformationData","setReferenceInformationData","refDocument","ReferenceInformation","viewReferenceDocument","handleDeleteReferenceDocument","deleteReferenceDocument","deleteDocRefId","handleReferenceDocUpload","isReviewSubmitted","isReferenceInformationBannerOpen","RefFileUploadOverlay","ReferenceInformationTable","referenceInformationBannerReducer","isReferenceDocUploaded","selectedEcb2ReturnDataForCurrentDeal","getECB2ReturnDataForCurrentDeal","handleECB2ReturnDataForCurrentDeal","ecb2ReturnTableData","setEcb2ReturnTableData","ecb2ReturnDocumentStatus","setEcb2ReturnDocumentStatus","selectedDealEcb2ReturnDocumentData","setSelectedDealEcb2ReturnDocumentData","mergedData","dealEcb2ReturnDocumentData","ecbReturnStatus","isDocumentfile","isUploadDisabled","isEcb2ReturnApproved","clientDocFile","uniqueId","isRrFinalStatus","ecbDeadlineDate","EcbToReturn","checkSubmitDisabled","isSubmitButtonEnabled","checkRejectToClientDisabled","handleECBSubmit","userAction","handleECbDocUpload","EcbToReturnTable","MyDocs","dataFetched","FloatedRightSpan","ListItemContainer","listGroupItemInlineStyles","AllCategoryListItem","itemClicked","itemPressed","listItemAriaLabel","allDocumentsText","mappingsForCategoryTypes","categoryType","CategoryListItem","categoryClick","categoryPress","documentCategoryText","activeDocumentCount","listGroupInlineStyles","CategoryList","changeCategory","changeActiveCategory","categoryEvent","allNotArchived","MyDocsTypes","CHANGE_ACTIVE_CATEGORY","MY_DOCS_LEFT_NAV","categoryListColumnInlineStyles","documentListColumnInlineStyles","MyDocsContainer","documentsFromSelectedCategoryAriaLabel","InvestorFeedback","chartTypesFetched","sentimentColorProvider","mapThemeTypeOrSentimentToKey","mapChartTypeTitleToKeys","CompanyName","FeedbackDetailHeader","isInvestorFeedbackDetailModalOpen","modalCloseClick","commentStyles","ThemeContainer","TrancheInfoContainer","FeedbackDetailFeedback","ecmValuation","priceDemand","trimRight","basedOn","trancheShortName","Figure","figure","FigCaption","figcaption","ThemeLabel","ThemeList","ThemeListItem","ThemeBar","listDefinition","labelKey","headerInlineStyles","sentimentGroupStyles","positiveInlineStyles","negativeInlineStyles","valuationInlineStyles","Themes","beautifyPriceDemand","MultipleTranche","ioi","notProvidedText","priceSensitvity","trancheHeader","ioiHeader","priceSensitivityHeader","SingleTranche","commentTitleInlineStyle","commentTextInlineStyles","Comment","Tranches","ScrollableContent","scrollableInlineStyles","InvestorFeedbackModal","DCMMultipleTranche","ECMSingleTranche","FeedbackDetail","FeedbackModal","ButtonsContainer","HSBCLinkContainer","switchVisible","HsbcLinkContent","PADDING_LEFT_0PX","ROW_STYLE","OUTER_COL_STYLE","sortPopoverItems","content1","content2","content3","content4","content5","content6","content7","content8","content9","content10","content11","content12","content13","content14","Details","sortTheme","sortLabel","feedbackIdModalDetail","setSort","sortInd","scrollSwitcher","SortList","currentlySortingBy","dealTheme","currentlySortingByThemeName","sortByThemeName","chartsDisabled","fullFeedbackDocument","fullFeedbackDoc","fullFeedbackButtonEvent","INVESTOR_FEEDBACK_SUMMARY_PAGE","invFeedbackSummaryEvent","stickyToggleInvestorFeedback","invFeedbackButtonEvent","sortFeedbackLabel","feedbackCardData","feedbackDetail","leftBorderColor","feedbackSentimentColor","showDetails","changeFeedbackModalVisibility","INVESTOR_FEEDBACK_SUMMARY_BUTTON","INVESTOR_FEEDBACK_BUTTON","INVESTOR_FULL_FEEDBACK_BUTTON","sortFeedbackEvent","INVESTOR_FEEDBACK_SORT_FEEDBACK_BUTTON","dataReceived","themeTypes","investorFeedbackHighlightsByTheme","investorFeedbackChartDataByChart","routing","locationBeforeTransitions","isInvestorFeedbackSortModalOpen","receiveFeedbackThemeTypes","API_RECEIVE_FEEDBACK_THEME_TYPES","requestFeedbackThemeTypes","API_REQUEST_FEEDBACK_THEME_TYPES","receiveFeedbackSentiments","API_RECEIVE_FEEDBACK_SENTIMENTS","requestFeedbackSentiments","API_REQUEST_FEEDBACK_SENTIMENTS","receiveFeedbackDealThemes","API_RECEIVE_DEAL_THEMES","requestFeedbackDealThemes","API_REQUEST_DEAL_THEMES","receiveFeedbackForDeal","API_RECEIVE_FEEDBACK_FOR_DEAL","requestFeedbackForDeal","API_REQUEST_FEEDBACK_FOR_DEAL","receiveFeedbackHighlightsForDealAndTheme","API_RECEIVE_FEEDBACK_HIGHLIGHTS_FOR_DEAL_AND_THEMETYPE","dealAndSentimentSummary","requestFeedbackHighlightsForDealAndTheme","themeTypeId","API_REQUEST_FEEDBACK_HIGHLIGHTS_FOR_DEAL_AND_THEMETYPE","receiveFeedbackChartTypes","API_RECEIVE_FEEDBACK_CHART_TYPES","requestFeedbackChartTypes","API_REQUEST_FEEDBACK_CHART_TYPES","receiveFeedbackChartData","API_RECEIVE_FEEDBACK_CHART_DATA","requestFeedbackChartData","API_REQUEST_FEEDBACK_CHART_DATA","selectChartSubTab","chartIndex","chartTitle","SELECT_CHART_SUB_TAB","btnInlineStyles","buttonGroupInlineStyles","Buttons","chartNames","chartName","activeIndex","buttonClicked","chartPageTitle","ContentWrapper","NoContent","customWordBreak","seriesType","totals","lastMonth","lastDay","categoryAxis","categoryLabel","splitDate","fromPairs","seriesTitle","plots","cumulativeText","dateOfFeedbackText","plot","chartAxisText","textIndent","keyTitle","result","targetColor","createPortal","CustomBar","FeedbackChartThemeDistribution","LinkToFeedback","provideKeyForHighlightHeader","FeedbackHighlightContainer","navigateToFeedback","ThemeDistributionTabContent","themeDistributionTabEvent","dataSetChart","dataKeys","renderChart","getHighlightData","barHeight","dataSet","splitLabel","chartObj","aVal","bVal","seriesForTotal","ThemeDistributionTable","ThemeDistributionChart","THEME_DISTRIBUTION_TAB_BUTTON","chartDetails","pageTitle","halfWidth","sentimentType","ColumnLabel","chartHeight","maxNum","maxRows","dataSeries","rowHeight","seriesIndex","highlightColor","xs","lastIndex","WebkitTransform","ChartWrapper","SentimentTabContent","SentimentTables","SentimentChart","convertNumbersToFullKey","short","provideTranslationStringForTitle","originalText","_mapPriceSensitivityT","sensitivity","mapPriceSensitivityToKey","FeedbackChartPriceDemand","cumulativeData","demandMaxData","demandLowData","targetSize","demandUnit","valueTitle","valueAxis","d3","nice","paddingInner","x2","xAxis","xAxis2","tickFormat","yAxis","tickSize","html","svg","attr","chartg","classed","gridlines","scale","rects","selectAll","bandwidth","font-weight","font-size","font-family","line-height","remove","buildChart","TargetSizeContainer","Title","curr","minPlot","maxPlot","demandUncertaintyText","unit","PriceDemandTabContent","cumulativeDemandData","isData","PriceDemandTable","PriceDemandChart","convertNumbersToFullName","TabContainer","InvestorFeedbackSummary","isChartTypeAvailable","chart","selectFirstSubTab","requestChartData","themeDistChartTypeDetails","tabSwitchEvent","sentimentChartTypeDetails","priceDemChartTypeDetails","SELECT_CHART_ID","selectChartId","tabTitle","INVESTOR_FEEDBACK_SUMMARY_TAB","Pricing","documentsFetched","PricingDocuments","DocumentsList","pricingData","pricingDocumentId","PRICING_DOCUMENTS_PAGE","PricingDocs","TermsAndConditionsLink","requestTermsAndConditions","ModalIcon","SiteTextModal","openModalClick","siteTextType","getSiteText","openSiteText","SettingsHeader","h5","SettingsList","SwitchContainer","StyledListItem","DATAPRIVACY_NOTICE_PAGE","cookieurl","COOKIE_NOTICE_PAGE","ManageDevice","device","deviceName","Switch","updateFlag","enabled","Settings","updatePopUpFlag","_device$userRegistere","userRegisteredDeviceId","_device$deviceName","popUpFlag","deactivateThisDevice","deactivateDevice","SETTINGS_PAGE","viewDeviceBiometrics","EULA_MODAL_ID","eulaText","dataPrivacyPolicyText","cookiePolicyText","CONTACT_US_MODAL_ID","contactUsText","deviceDeactivationMessage","BIOMETRIC_TERMS_MODAL_ID","biometricTermsText","BIOMETRIC_FAQ_MODAL_ID","biometricFaqText","faqText","manageDevices","primaryButtonStyle","secondaryButtonContent","devices","deviceId","DropdownItemContainer","DropdownTemplateContainer","ProjectName","ClientName","DropdownListItem","DropdownTemplate","DealSwitcher","dealSwitchEvent","selectedDeal","projectName","dealSwitcherAriaLabel","onSwitchDeal","DEAL_SWITCH","search","setSearchState","ISVDropdown","Lrn","DropdownProductListItem","productTypeName","DropdownProductTemplate","IsvDealSwitcher","selectedProduct","allDealsProductType","getIsvDeals","clientname","getIsvUniqueProductType","productType","renewTokenSuccess","access_token","RENEW_TOKEN_RECEIVE","token_type","expires_in","renewToken","RENEW_TOKEN","checkingPulse","onFailure","loginFailure","LogOffSuccess","LOGOFF_SUCCESS","logOff","LOGOFF","sessionExpired","heartBeatPulse","HEARTBEAT_PULSE","checkPulse","pulseExpire","CHECK_PULSE","killHeartBeat","KILL_HEARTBEAT","AlertModal","timeLeft","expire","countDown","startTimer","resetTimer","secondsToMinutes","seconds","secondsDisplay","newTimeLeft","toggleModalLogout","pulseMessage","toggleModalContinue","continueEvent","logoutEvent","SESSION_EXPIRY_LOGOUT","SESSION_EXPIRY_CONTINUE","overlayIds","SESSION_EXPIRY_OVERLAY","SessionTimer","showModal","LoginContainer","LoginBackground","InnerContainer","SecurityKeyInfo","PnStepsSection","SecurityKeyInfoTotp","HeaderSection","ExtOptions","OptionOne","OptionTwo","_templateObject11","LoginForm","_templateObject12","_templateObject13","LoginFormFields","_templateObject14","UserNameInfo","_templateObject15","PnUserNameInfo","_templateObject16","LoginExtFormFields","_templateObject17","StaffIdContainer","_templateObject18","PContainer","_templateObject19","UserNameContainer","_templateObject20","_templateObject21","SpinnerSection","_templateObject22","TotpButtonContainer","_templateObject23","PnButtonContainer","_templateObject24","_templateObject25","StyledExtInput","_templateObject26","StyledTotpInput","_templateObject27","StyledIntInput","_templateObject28","TotpSteps","_templateObject29","_templateObject30","_templateObject31","_templateObject32","PnSteps","_templateObject33","List","ol","_templateObject34","ExtFooterLinks","_templateObject35","PnFooterLinks","_templateObject36","TotpFooterLinks","_templateObject37","Left","_templateObject38","Right","_templateObject39","TotpStepList","_templateObject40","PnStepList","_templateObject41","EnhancedSecondaryButton","_templateObject42","LanguagePickerContainer","loginBtnStyle","InternalLogin","onSubmitClick","onStaffIdChange","onPasswordChange","userNameField","passwordField","setInvalidFields","loginFormSubmit","loginSubmit","loginFormChanged","authenticationResponse","attemptSSO","isPendingAuth","pendingAuthentication","INTERNAL_LOGIN_PAGE","LOGIN_BUTTON","invalid","unauthorised","pristine","fieldName","fieldValue","fields","APP_NAME","AUTH_TYPES","PASSWORD","MOBILE_APPROVE","TOTP","IU","LAAS_API_METHODS","VERIFY_USERNAME","VERIFY_TOTP_CODE","PUSH_NOTIFICATION","CANCLE_PUSH_NOTIFICATION","radioStyle","radioGroupStyle","contactVirtualSvgStyle","securityPasswordSvgStyle","DATAPRIVACY_NOTICE_PAGE_EXTERNAL","COOKIE_NOTICE_PAGE_EXTERNAL","ExternalLogin","authTypeField","onUserNameChange","onAuthTypeChange","setAuthType","transmitContainer","loginFormExtSubmit","for","RadioGroup","FormControlLabel","control","Radio","EXTERNAL_LOGIN_PAGE","aT","cancelBtnStyle","ExternalTotpLogin","onCancelClick","setLoginModal","loginFormTotpSubmit","setPendingAuthentication","setUsername","setLoginError","totpStepsImage","LOG_ON_SCREEN_MODAL_ID","showLoginModal","EXTERNAL_TOTP_LOGIN_PAGE","authType","username","lM","pA","fillCircleSvgStyle","notificationTextStyle","ExternalPnLogin","onCancelPnClick","loginFormPnSubmit","cancelLoginFormPnSubmit","pnStepsImage","EXTERNAL_PN_LOGIN_PAGE","actionBarControlsStyle","AcceptTermsCheckbox","TermsAndConditionsModal","componentWillUnmount","onTermsCheckedChange","acceptTermsAndConditions","termsAndConditionsId","cancelTermsAndConditions","primaryButtonDisabled","acceptTermsChecked","actionBarControls","accepted","ROADSHOW_SELECTED_TEAMS","SELECTED_LANGUAGE","TEMP_SELECTED_LANGUAGE","SELECTED_DEAL","SELECTED_ISV_DEAL","TOKEN","EXPIRATION","IS_INTERNAL","__MyDealEnv","LogoIcon","popupStyle","OneWayLetter","openOneWayLetter","cancelOneWayLetter","acceptOneWayLetter","oneWayLetter","dealSwitch","currentDealId","acceptLetterClick","App","initialize","storageKeys","dealSwitchClick","logoutMethod","token","expiration","setupIsvDeal","setupDeal","isvSwitchDeal","showTermsAndConditions","isvBaseFetchCompleted","currentDealInfo","DevTools","initializing","LOGOUT","languageCode","isIsvBaseFetchCompleted","isInternal","dealSetup","manageCookieSettingClick","utag","gdpr","showConsentPreferences","topFunction","hash","scrollTop","documentElement","onscroll","mybutton","pageYOffset","onScrollEvent","CookiePolicy","cellspacing","cellpadding","colspan","class","valign","PrivacyPolicy","ContentStyle","DataPrivacy","routeParams","routeValue","http-equiv","privacyUrl","cookieUrl","Root","Router","Route","SETTINGS","IndexRoute","isvNavLinks","DEAL_INFORMATION","DealInformationContainer","REFERENCE_INFORMATION","ReferenceInformationContainer","ECB_TO_RETURN","EcbToReturnContainer","IndexRedirect","OrderSummary","FullOrderBook","AmendedSummary","BookEvolution","DailySchedule","DocumentsContainer","SummaryContainer","DetailsContainer","isResponseNull","isArray","INITIAL_STATE","historicalOrderData","historicalShareDemandData","historicalDemandSummaryByShareAndType","investorRegionSummaryData","historicalDemandSummaryByType","sortListData","tempList","tempListMap","ACTION_HANDLERS","_ACTION_HANDLERS","isNull","demandSummaryForLowestShare","lowestDemandKey","typeData","otherFields","typeObj","ShareDemand","UtilityTypes","DEAL_PURGE","createReducer","mapEventDates","eventDatesSource","summaryDate","titleCity","handleMultiTeam","multiTeam","_handleMultiTeam2","onLineRoadShow","_action$roadShowEvent","roadShowId","_handleMultiTeam","newState","nullData","API_RECEIVE_PRICING_DOCUMENT_ID","API_REQUEST_PRICING_DOCUMENT_ID","feedbackDocumentId","API_RECEIVE_FEEDBACK_FOR_DEAL_AND_THEME","dealAndThemeSummary","SELECT_CHART_TAB","langHashMap","lang","LanguageTypes","SELECT_LANGUAGE","shim","INITIALIZING","ATTEMPT_AUTHENTICATION","SET_AUTH_TYPE","SET_LOGIN_ERROR","SET_IS_ISV_USER","SET_USERNAME","SET_LOGIN_MODAL","SET_INVALID_FIELDS","LOGIN_FORM_EXT_SUBMIT","SET_AUTHENTICATION","context","given_name","unique_name","LOGIN_FAILURE","loginStatus","preventSSO","userType","setItem","LOGIN_FORM_INVALID","LOGIN_FORM_VALID","SET_PENDING_AUTHENTICATION","pending","SET_AUTHENTICATION_RESPONSE","SHOW_TERMS_AND_CONDITIONS","ACCEPT_TERMS_CONDITIONS","ON_TERMS_CHECKED_CHANGE","RECEIVE_TERMS_AND_CONDITIONS","locale","API_ATTEMPT_SSO","SET_SITE_TEXT","SET_MANAGE_DEVICES","SET_DEVICE_DEACTIVATE_MESSAGES","CLEAR_DEVICE_DEACTIVATE_MESSAGES","lastUserInteraction","homeTiles","homeFetched","dirty","calledUrls","API_REQUEST","API_FAILURE","USER_INTERACTION","KILL_ACTIVE_SAGA_WORKERS","API_GET_NAV_FEATURES_RESPONSE","API_GET_DEALS_RESPONSE","API_GET_DEAL_RESPONSE","API_GET_DEAL_INFO_RESPONSE","dealInfo","MARK_FEATURE","API_GET_POLLING_FREQUENCY_RESPONSE","TILE_MODULE_FETCHED","SET_HOME_FEATURE_FETCH_STATUS","ADD_CALLED_ENDPOINT_FROM_NOTIFICATION_CYCLE","BASE_FETCH_COMPLETED","OPEN_MODAL","CLOSE_MODAL","_state$modals","otherModals","_toPropertyKey","CHANGE_TAB","CHANGE_CHART_ANIMATE_STATE","animations","notificationInterval","IsvUtilityTypes","API_GET_ISV_DEALS_RESPONSE","API_GET_ISV_DEAL_RESPONSE","OPEN_ONE_WAY_LETTER","showOneWayLetter","ACCEPT_ONE_WAY_LETTER","ISV_SWITCH_DEAL","ISV_BASE_FETCH_COMPLETED","isConfirmationDialogueOpen","isMaturityDatePickerOpen","latestIsvCurrentDealData","isOverlayOpen","clientDocumentData","latestCommentsDataForCurrentComment","ecb2ReturnDataForCurrentDeal","referenceInformationDataForCurrentDeal","APPLY_HANDLE_FILE_UPLOAD","fileWithoutExtension","APPLY_HANDLE_UPLOAD_OVERLAY","START_UPLOADING","UPLOAD_PROGRESS","HANDLE_CLIENT_DOCUMENT_DATA","API_RECEIVE_LATEST_COMMENTS_DATA_FOR_CURRENT_DEAL","API_RECEIVE_LATEST_COMMENTS_DATA_FOR_CURRENT_COMMENT","HANDLE_COMMENTS_POPUP","HANDLE_TITLE_COLUMN_WIDTH","API_RECEIVE_ECB2_RETURN_DATA_FOR_CURRENT_DEAL","HANDLE_ECB_STATUS","HANDLE_REFERENCE_INFORMATION_STATUS","API_RECEIVE_REFERENCE_INFORMATION_DATA_FOR_CURRENT_DEAL","CLOSE_SNACK_BAR","showSnackbar","SET_SNACK","snackBarMessage","appReducer","combineReducers","OrderBookData","RoadShowData","MyDocsData","InvestorFeedbackData","Login","Utility","IsvUtility","routerReducer","languageReducer","isvInformationBanner","isvSnackBar","rootReducer","jwt","api","_marked","worker","_marked2","handleInitialize","_marked3","watcher","userInfo","expirationDate","_yield$take","put","userData","noExtension","termsAndConditionsAccepted","take","cancel","requestAcceptTerms","API_GET_ACCEPT_TERMS_RESPONSE","setAuthentication","setIsIsvUser","appSetup","_context2","attemptAuthentication","requestAuthTokenGet","attemptAuthenticationTask","initializeTask","_context3","fork","takeEvery","INITIALIZE","removeItem","HeartBeat","cancelWorkerSaga","sessionCountdown","timeUntilExpire","delayTime","getLastUserInteraction","t0","delay","ok","watcherTasks","takeLatest","task","File","apiType","isIe","blobData","objectUrl","getDataDownload","msSaveOrOpenBlob","baseURL","req","URL","createObjectURL","t1","apiFailure","Storage","utilLocalStorageParser","roadshowTeams","_dealId","_dealId2","localStorage","DEAL_SETUP","SETUP_ISV_DEAL","smartEndpointFilter","handleBatchedRequests","pollings","addCalledEndpoint","calls","actions","responses","batched","_i","_args2","all","tileModuleFetched","unauthorizedResponseEffect","batchActions","Requests","getState","_marked4","_marked5","patchData","putData","deleteData","getDataCreds","apiRequest","t2","_context4","API_REQUEST_FEEDBACK_FOR_DEAL_AND_THEME","API_PRE_AUTH_ERR_LOG","API_ATTEMPT_LOGIN","API_GET_DEAL_REQUEST","API_GET_DEAL_INFO_REQUEST","API_GET_DEALS_REQUEST","API_GET_SITE_TEXT_REQUEST","API_GET_ISV_DEALS_REQUEST","API_GET_ISV_DEAL_REQUEST","API_ACCEPT_LETTER","API_GET_ACCEPT_TERMS_REQUEST","API_GET_TERMS_AND_CONDITIONS","_context5","apisauce","headers","Accept","Pragma","Cache-Control","createCancelTokenSource","axios","CancelToken","source","getBearerToken","parameters","withCredentials","Authorization","cancelToken","cancelReq","responseType","getHtml","post","patch","delete","etagGetData","etag","Etag","AppSetup","handleRequest","success","_api","requestDealsAction","dealsList","selectedDealId","tempLanguage","langBrowserPreference","savedLanguage","_requestDealsAction","requestNavFeaturesAction","_dealsList","_selectedDealId","requestPollingIntervalAction","process","requestIsvDeals","selectLanguage","userLanguage","requestDeals","requestNavigationFeatures","requestPollingInterval","APP_SETUP","CheckFeature","areWeOnThatFeaturePage","DEAL","mapDealFeatureToPageTitle","markFeature","requestFeatureData","CHECK_FEATURE","selectTeamFromLocalStorage","triggerCheckFeatureIfOnFeaturePage","previousDealId","DealSetup","redirect","allowedUiFeatures","allowedDealFeatures","redirectWhenOnNotAllowedPage","dealPurge","requestDealInfo","requestDeal","stopEventNotificationSaga","startEventNotificationSaga","isvWorker","_callee2","requestIsvDealAction","requestIsvDeal","letterCounter","isvWorkerDeal","_callee3","acceptLetter","isvwatcherTasks","isvwatcherTasksDeal","_context6","API_REQUEST_ISV_DEAL_CLICK","API_ACCEPT_LETTER_CLICK","_context7","eventTypes","CONFIGURATION","DEAL_ACCESS","EventNotifications","workerEN","lastUpdated","_data$","eventNotifications","notifications","previousAvailableFeatures","nextAvailableFeatures","filtered","without","setHomeFeatureStatus","START_EVENT_NOTIFICATION_SAGA","STOP_EVENT_NOTIFICATION_SAGA","HomeFeatures","EFFECT_HANDLE_HOME_FEATURE_SETUP","Logout","killActiveSagaWorkers","sagas_LoginForm","handlePnSubmit","handleCancelPnSubmit","handleSubmit","handleFailure","_marked6","fetchTotpJsLaasApi","verifyTotpCode","res","fetchPnJsLaasApi","pushNotification","cancelPnOnLaasApi","cancelPushNotification","fetchUserLaasApi","verifyUsername","env","__LaaSEnv","appName","setErrorResponse","errorData","getMessage","getErrorCode","replaceSpecialChars","str","handleTotpSubmit","isError","_yield$call","random","requestExtAuthTokenPost","getInternalData","json_data","laas_token","requestPreAuthErrLogPost","errorCode","errorDescription","_yield$call2","requestAuthTokenPost","setAuthenticationResponse","handleExtSubmit","_yield$call3","authenticationTypes","loginFormInvalid","loginFormValid","_context8","LOGIN_FORM_SUBMIT","LOGIN_FORM_PN_SUBMIT","CANCEL_LOGIN_FORM_PN_SUBMIT","LOGIN_FORM_TOTP_SUBMIT","LOGIN_FORM_CHANGE","SiteText","requestSiteText","setSiteText","OPEN_SITE_TEXT","Devices","viewBiometricsWorker","requestManageDevice","setManageDevices","deactivateBiometricsWorker","setDeviceDeactivationMessages","clearDeviceDeactivationMessages","VIEW_DEVICE_BIOMETRICS","DEACTIVE_BIOMETRICS_DEVICE","CheckFeature_MyDocs","EFFECT_REQUEST_FEATURE_DATA","receivePricingDocumentId","requestPricingDocumentId","CheckFeature_Pricing","CheckFeature_Roadshow","CheckFeature_InvestorFeedback","areThemeTypesAndSentimentsFetched","actionsToDispatch","chartCandidate","tabCandidate","_chartTypeDetails","newChartState","newIdx","chartSubTabData","Orderbook","bookEvolutionRequestAPI","amendedResponse","orderEvolutionResponse","_currentTrancheId","_isDCM","_currentTrancheId2","_apiType","_response","_apiType2","_response2","_apiType3","_response3","_apiType4","_response4","_apiType5","_response5","_apiType6","stagesApi","_apiType7","_response7","Dashboard","receiveIsvDeal","getFileData","postFileData","onProgress","onUploadProgress","downloadFileChannel","channel","buffers","expanding","FileOperation","blobType","isTitleWithExtensionUpdated","_action$params","titleWithExtension","extension","wind","anchor","_api2","_currentDealId","_api3","_requestIsvDealAction","API_REQUEST_DOWNLOAD_ALL_DOCUMENTS","API_REQUEST_DOWNLOAD_DOCUMENT","API_REQUEST_UPLOAD_DOCUMENTS","API_REQUEST_DELETE_SUPPORTING_DOCUMENTS","toLocaleLowerCase","Blob","webkitURL","download","getElementsByTagName","revokeObjectURL","progressEvent","loaded","setUploadProgress","setSnackBar","sagas_DealInformation","updatedObjIndex","_requestIsvDealAction2","_api4","_api5","isIsvExtUser","_api6","API_APPROVE_REJECT_REQUEST_STATUS","API_REQUEST_SUBMIT_INFO","API_REQUEST_SUBMIT_FINAL_SUBMISSION","API_REQUEST_CLIENT_ECB_SUBMIT","API_REQUEST_SUBMIT_DOCUEMENT_COMMENT","API_REQUEST_LATEST_COMMENTS_FOR_CURRENT_DEAL","API_REQUEST_LATEST_COMMENTS_DATA_FOR_CURRENT_COMMENT","Ecb2Return","API_REQUEST_ECB2_RETURN_DATA_FOR_CURRENT_DEAL","sagas_ReferenceInformation","_isRrUser","referenceData","API_REQUEST_UPLOAD_REFERENCE_DOCUMENT","API_REQUEST_REFERENCE_INFORMATION_DATA_FOR_CURRENT_DEAL","API_REQUEST_DELETE_REFERENCE_DOCUMENTS","UnauthorizedHandler","UNAUTHORIZED_EFFECT_RESPONSE_FEATURE","TRACK_EVENT","TRACK_VIEW","trackEvent","TMS","trackView","globalTealiumArgs","Analytics","sCustomerId","actualTabTitle","actualTabName","trackViewFields","PAGE_LANGUAGE","views","TRANSACTION_ID","CUSTOMER_GROUP","CUSTOMER_ID","MarkitApi","authToken","store","rootSaga","apiUrl","root","MarkitDataApi","markitApi","loginForm","loginSaga","heartBeatSaga","storageSaga","fileSaga","baseRequest","homeFeatures","orderbook","dashboard","fileOperation","dealInformation","ecb2Return","referenceInformation","unauthorizedHandler","analytics","sagaMiddleware","createSagaMiddleware","middleware","applyMiddleware","createStore","enableBatching","run","render","Provider","languageEvent","langNames","listItemSelectedAriaLabel","listItemNotSelectedAriaLabel","dropdownAriaLabel","MULTI_LANGUAGE","DASHBOARD","navBlue","lightGrey","tertiary","accent","alternateText","disabledText","9px","11px","12px","13px","14px","15px","16px","18px","20px","24px","37px","45px","lineHeights","slateBlue","--state","--focus","--disabled","--hover","--default","_IsvTypes__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","prefix","All","createTypes","INVESTORS_PAGE","nullFormat","darkGray","lightGray","medGray","darkBlue","aria-checked","boolIconPicker","tableDateFormatter","initialDate","getHours","setMinutes","getMinutes","dateToFormat","titleHover","colorChipFormatter","propsToAccess","currentProp","summer","arrayProp","summee","runningTotal","currentEl","badNumFormatter","percentFormatter","percentFormatterWithDecimals","numDecimals","nullValFormatter","fullDate","totalOrderFormatter","renderDateTime","teamNames","actions_LoginActions__WEBPACK_IMPORTED_MODULE_1__","actionType","receiveTermsAccepted","receiveDeal","receiveDealInfo","receiveDeals","receiveNavigationFeatures","API_GET_NAV_FEATURES_REQUEST","receivePollingInterval","API_GET_POLLING_FREQUENCY_REQUEST","API_REQUEST_MANAGE_DEVICE","API_DEACTIVATE_DEVICE","ACTIVE","isvDeals","isvDeal","userId","dealUserMapping","ele","pdword","request","receiveTermsAndConditions","ContainerWrapper","ModalContainer","dropdownInlineStyles","page_channel","site_region","site_subregion","site_country","site_entity","site_brand","page_language","page_business_line","page_customer_group","PAGE_NAME","PAGE_TYPE","PAGE_CATEGORY","_views","trackEventCategories","trackEventActions","formatEvent","event_category","event_action","event_content","sortType","selectors__WEBPACK_IMPORTED_MODULE_1__","translations_TranslationText__WEBPACK_IMPORTED_MODULE_2__","ariaLabels","urlText","cdate","empty","BaseFontIcon","chevronAlt","documentAlt","profileAlt","ordersAlt","chatAlt","calendarAlt","percentageAlt","BaseImgIcon","DocumentDownload","documentUploadAlt","documentDownloadAlt","IconWrapper","xxxsmall","xxsmall","xlarge","xxlarge","xxxlarge","BaseSvgIcon","svgSize","preserveAspectRatio","warningAlt","notificationAlt","infoAlt","ROADSHOW_MULTITEAM_MODAL_ID","ROADSHOW_COMBINED_CONTACTS_MODAL_ID_1","ROADSHOW_COMBINED_CONTACTS_MODAL_ID_2","ROADSHOW_COMBINED_CONTACTS_MODAL_ID_3","INVESTOR_FEEDBACK_DETAIL_MODAL_ID","INVESTOR_FFEDBACK_SORT_MODAL_ID","MULTILANGUAGE_PICKER_MODAL_ID","DEAL_SWITCHER_MODAL_ID","CONTINUE_SESSION_MODAL_ID","TERMS_AND_CONDITIONS_MODAL_ID","BIOMETRIC_ON_DEVICE_MODAL_ID","ORDER_SUMMARY_TABLE_ROW_MODAL_ID","BOOK_EVOLUTION_TABLE_ROW_MODAL_ID","WrappedComponent","baseBtnStyle","secondarySlateButton","secondaryButtonDisabled","secondarySlateButtonDisabled","secondarySlateButtonAction","secondarySlateButtonKey","secondarySlateButtonContent","primaryButtonHasPopup","receiveIsvDeals","translations_TranslationText__WEBPACK_IMPORTED_MODULE_1__","translations_withLanguage__WEBPACK_IMPORTED_MODULE_2__","_images_Close_X_Modal_png__WEBPACK_IMPORTED_MODULE_3__","_images_Close_X_Modal_png__WEBPACK_IMPORTED_MODULE_3___default","_images_Close_X_Regular_png__WEBPACK_IMPORTED_MODULE_4__","_images_Close_X_Regular_png__WEBPACK_IMPORTED_MODULE_4___default","_images_Close_X_Regular_2x_png__WEBPACK_IMPORTED_MODULE_5__","_images_Close_X_Regular_2x_png__WEBPACK_IMPORTED_MODULE_5___default","_images_HSBC_Logo_svg__WEBPACK_IMPORTED_MODULE_6__","_images_HSBC_Logo_svg__WEBPACK_IMPORTED_MODULE_6___default","_images_Table_card_Toggle_Card_Dark_svg__WEBPACK_IMPORTED_MODULE_7__","_images_Table_card_Toggle_Card_Dark_svg__WEBPACK_IMPORTED_MODULE_7___default","_images_Table_card_Toggle_Card_Light_svg__WEBPACK_IMPORTED_MODULE_8__","_images_Table_card_Toggle_Card_Light_svg__WEBPACK_IMPORTED_MODULE_8___default","_images_Table_card_Toggle_Table_Dark_svg__WEBPACK_IMPORTED_MODULE_9__","_images_Table_card_Toggle_Table_Dark_svg__WEBPACK_IMPORTED_MODULE_9___default","_images_Table_card_Toggle_Table_Light_svg__WEBPACK_IMPORTED_MODULE_10__","_images_Table_card_Toggle_Table_Light_svg__WEBPACK_IMPORTED_MODULE_10___default","_images_Checkmark_Dark_Blue_svg__WEBPACK_IMPORTED_MODULE_11__","_images_Checkmark_Dark_Blue_svg__WEBPACK_IMPORTED_MODULE_11___default","_images_Checkmark_Light_Gray_svg__WEBPACK_IMPORTED_MODULE_12__","_images_Checkmark_Light_Gray_svg__WEBPACK_IMPORTED_MODULE_12___default","_images_deal_switch_svg__WEBPACK_IMPORTED_MODULE_13__","_images_deal_switch_svg__WEBPACK_IMPORTED_MODULE_13___default","_images_doc_download_svg__WEBPACK_IMPORTED_MODULE_14__","_images_doc_download_svg__WEBPACK_IMPORTED_MODULE_14___default","Isv_images_upload_png__WEBPACK_IMPORTED_MODULE_15__","Isv_images_upload_png__WEBPACK_IMPORTED_MODULE_15___default","isIcon","closeX","close2X","cardOn","tableOn","cardOff","tableOff","CheckMarkOn","CheckMarkOff","Doc","Upload","createPrefix","Scroll","_scroll","_scrollContainer","targetObserver","MutationObserver","childObserver","scrollUpdate","observe","subtree","PerfectScroll","suppressScrollX","rail","thumb","destroy","disconnect","space"],"mappings":"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","file":"static/js/main.985476fa.chunk.js","sourcesContent":["export const enterKeyPress = (ev, fn) => {\n if (ev.key === \"Enter\") {\n fn();\n }\n};\n\n\n\nexport const btnKeyPress = (ev, fn) => {\n if (ev.type === 'click') {\n fn();\n }\n}\n\nexport const buttonKeyHandler = (ev, fn) => {\n if (\n // enter support\n ev.key === \"Enter\" ||\n ev.code === \"Enter\" ||\n ev.which === 13 ||\n // space support\n ev.key === \" \" ||\n ev.code === \"Space\" ||\n ev.which === 32\n ) {\n fn();\n }\n};\n\nexport const escKeyHandler = (ev, fn) => {\n if (\n // esc support\n ev.key === \"Escape\" ||\n ev.code === \"Escape\" ||\n ev.which === 27\n ) {\n fn();\n }\n}","export default {\n TERMS: {\n name: 'TERMS',\n path: 'terms.html',\n },\n EULA: {\n name: 'EULA',\n path: 'eula.html',\n },\n C_POLICY: {\n name: 'C_POLICY',\n path: 'cpolicy.html',\n },\n CONTACT_US: {\n name: 'CONTACT_US',\n path: 'contactus.html',\n },\n PRIVACY: {\n name: 'PRIVACY',\n path: 'privacy.html',\n },\n BIOMETRIC_TERMS: {\n name: 'BIOMETRIC_TERMS',\n path: 'biometricterms.html'\n },\n BIOMETRIC_FAQ: {\n name: 'BIOMETRIC_FAQ',\n path: 'biometricfaq.html'\n },\n ONE_WAY_LETTER: {\n name: 'ONE_WAY_LETTER',\n path: 'onewayletter.html'\n }\n};","import React from 'react';\nimport withLanguage from './withLanguage';\nimport languages from './languages.json';\n\nconst SHOW_UNFOUND_LANG_KEYS = window.__SHOW_UNFOUND_LANG_KEYS === 'true';\n\nconst LANGUAGE_KEY_UNDEFINED = (key) => `@@@ ${key} does not exist @@@`;\nconst TRANSLATION_UNDEFINED = (key) =>`@@@ ${key} not translated @@@`;\n\nclass TranslationText extends React.Component {\n render() {\n const { defaultText, dictionaryKey, replace, language, style } = this.props;\n\n const languageDictionary = languages[language];\n\n if (languageDictionary[dictionaryKey] || languageDictionary[dictionaryKey] === '') {\n let text = languageDictionary[dictionaryKey];\n\n if (!text) {\n if (SHOW_UNFOUND_LANG_KEYS) {\n return {TRANSLATION_UNDEFINED(dictionaryKey)};\n }\n\n return {defaultText}\n }\n\n if (replace && replace.length) {\n replace.forEach(([ key, value ]) => {\n text = text.replace(key, value);\n })\n }\n\n return {text};\n }\n\n if (SHOW_UNFOUND_LANG_KEYS) {\n return {LANGUAGE_KEY_UNDEFINED(dictionaryKey)};\n }\n\n return {defaultText}\n }\n}\n\nexport const translationString = (key, language, defaultText, replace = []) => {\n if (!languages || !languages[language]) {\n return defaultText;\n }\n\n const languageDictionary = languages[language];\n\n if (languageDictionary[key] || languageDictionary[key] === '') {\n let text = languageDictionary[key];\n\n if(!text) {\n if (SHOW_UNFOUND_LANG_KEYS) {\n return TRANSLATION_UNDEFINED(key);\n }\n\n return defaultText;\n }\n\n if (replace && replace.length) {\n replace.forEach(([ key, value ]) => {\n text = text.replace(key, value);\n })\n }\n\n return text;\n }\n\n if (SHOW_UNFOUND_LANG_KEYS) {\n return LANGUAGE_KEY_UNDEFINED(key);\n }\n\n return defaultText;\n}\n\n\nexport default withLanguage(TranslationText);\n","export const palette = [\n {\n colorHex: '#008580',\n description: 'violet',\n },\n {\n colorHex: '#004F4B',\n description: 'amber',\n },\n {\n colorHex: '#E9A115',\n description: 'indigo',\n },\n {\n colorHex: '#9E6D0E',\n description: 'emerald',\n },\n {\n colorHex: '#716196',\n description: 'aquamarine',\n },\n {\n colorHex: '#1C1A49',\n description: 'teal',\n },\n {\n colorHex: '#588942',\n description: 'violet2',\n },\n {\n colorHex: '#142E01',\n description: 'amber2',\n },\n {\n colorHex: '#547DA7',\n description: 'indigo2',\n },\n {\n colorHex: '#002951',\n description: 'emerald2',\n },\n {\n colorHex: '#E54D58',\n description: 'aquamarine2',\n },\n {\n colorHex: '#6F0008',\n description: 'teal2',\n },\n {\n colorHex: '#1087EF',\n description: 'teal2',\n },\n {\n colorHex: '#0C62AE',\n description: 'teal2',\n },\n {\n colorHex: '#B57DA4',\n description: 'teal2',\n },\n];\n\n//\n// Chart colors\n//\nconst primaryColorOne = '#00716C';\nconst primaryColorTwo = '#E9A115';\nconst primaryColorThree = '#4E3A7C';\nconst primaryColorFour = '#588942';\nconst primaryColorFive = '#003466';\nconst primaryColorSix = '#6F0008';\nconst primaryColorSeven = '#1087EF';\n\nconst primaryAcrossOne = '#008580';\nconst secondaryAcrossOne = '#004F4B';\n\nconst primaryAcrossTwo = '#E9A115';\nconst secondaryAcrossTwo = '#9E6D0E';\n\nconst primaryAcrossThree = '#716196';\nconst secondaryAcrossThree = '#1C1A49';\n\nconst primaryAcrossFour = '#588942';\nconst secondaryAcrossFour = '#142E01';\n\nconst primaryAcrossFive = '#547DA7';\nconst secondaryAcrossFive = '#002951';\n\nconst primaryAcrossSix = '#E54D58';\nconst secondaryAcrossSix = '#6F0008';\n\nconst primaryAcrossSeven = '#1087EF';\nconst secondaryAcrossSeven = '#0C62AE';\n\nconst primaryAcrossEight = '#B57DA4';\n\nexport const primaryColorOther = '#D7D8D6';\n\n// export const otherColor = '#eeeeee';\n\nexport const colors = (index, key) => {\n if (key && key.toLowerCase().trim() === 'other') {\n return primaryColorOther;\n }\n switch (index) {\n case 0: return primaryColorOne;\n case 1: return primaryColorTwo;\n case 2: return primaryColorThree;\n case 3: return primaryColorFour;\n case 4: return primaryColorFive;\n case 5: return primaryColorSix;\n case 6: return primaryColorSeven;\n default: return primaryColorOther;\n }\n};\n\nexport const extendedColors = (index, key) => {\n if (key && key.toLowerCase().trim() === 'other') {\n return primaryColorOther;\n }\n switch (index) {\n case 0: return primaryAcrossOne;\n case 1: return secondaryAcrossOne;\n case 2: return primaryAcrossTwo;\n case 3: return secondaryAcrossTwo;\n case 4: return primaryAcrossThree;\n case 5: return secondaryAcrossThree;\n case 6: return primaryAcrossFour;\n case 7: return secondaryAcrossFour;\n case 8: return primaryAcrossFive;\n case 9: return secondaryAcrossFive;\n case 10: return primaryAcrossSix;\n case 11: return secondaryAcrossSix;\n case 12: return primaryAcrossSeven;\n case 13: return secondaryAcrossSeven;\n case 14: return primaryAcrossEight;\n default: return primaryColorOther;\n }\n};\n\nexport const extendedColorsForLineChart = (index, key) => {\n if (key && key.toLowerCase().trim() === 'other') {\n return primaryColorOther;\n }\n switch (index) {\n case 0: return primaryAcrossOne;\n case 1: return primaryAcrossTwo;\n case 2: return primaryAcrossThree;\n case 3: return primaryAcrossFour;\n case 4: return primaryAcrossFive;\n case 5: return primaryAcrossSix;\n case 6: return primaryAcrossSeven;\n case 7: return primaryAcrossEight;\n case 8: return secondaryAcrossOne;\n case 9: return secondaryAcrossTwo;\n case 10: return secondaryAcrossThree;\n case 11: return secondaryAcrossFour;\n case 12: return secondaryAcrossFive;\n case 13: return secondaryAcrossSix;\n case 14: return secondaryAcrossSeven;\n default: return primaryColorOther;\n }\n};\n\nexport const asSmallArray = [\n primaryColorOne,\n primaryColorTwo,\n primaryColorThree,\n primaryColorFour,\n primaryColorFive,\n primaryColorSix,\n primaryColorSeven,\n];\nexport const asArray = [\n primaryAcrossOne,\n secondaryAcrossOne,\n primaryAcrossTwo,\n secondaryAcrossTwo,\n primaryAcrossThree,\n secondaryAcrossThree,\n primaryAcrossFour,\n secondaryAcrossFour,\n primaryAcrossFive,\n secondaryAcrossFive,\n primaryAcrossSix,\n secondaryAcrossSix,\n primaryAcrossSeven,\n secondaryAcrossSeven,\n primaryAcrossEight,\n primaryColorOther,\n];","\n// for min-width is required \nexport const tableEllipsis = {\n maxWidth: 0,\n\twhiteSpace: 'nowrap',\n\toverflow: 'hidden',\n\ttextOverflow: 'ellipsis',\n};\n\nexport const ellipsis = {\n whiteSpace: 'nowrap',\n\toverflow: 'hidden',\n\ttextOverflow: 'ellipsis',\n}\n\nexport const styledEllipsis = `\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n`;","module.exports = __webpack_public_path__ + \"static/media/HSBC_Logo.9609bbd5.svg\";","import { lifecycle, compose } from 'recompose';\n\nimport LinesEllipsis from 'react-lines-ellipsis';\nimport responsiveHOC from 'react-lines-ellipsis/lib/responsiveHOC';\n\n//\n// Accessibility solution\n//\nconst EnhancedRespEllipsis = compose(\n lifecycle({\n componentDidMount() {\n const elements = Array.from(document.querySelectorAll(\"body > div.LinesEllipsis-canvas\"));\n if (elements.length) {\n elements.forEach(element => {\n if (element) {\n element.style.visibility = 'hidden';\n element.setAttribute('aria-hidden', true);\n }\n })\n }\n }\n }),\n responsiveHOC(),\n)(LinesEllipsis);\n\nexport default EnhancedRespEllipsis;","import React from 'react';\n\nimport { palette } from 'shared/styles/variables/theme'\n\nconst SvgIcon = ({\n children,\n title,\n viewBoxMinWidth = 0,\n viewBoxMinHeight = 0,\n viewBoxWidth = 16,\n viewBoxHeight = 16,\n width = '16',\n height = '16',\n isCheckedIndicator = true,\n isDisabled = false,\n ...otherProps\n }) => {\n const attributes = {};\n\n if (isCheckedIndicator) {\n attributes['aria-checked'] = !isDisabled;\n }\n\n return (\n \n {children}\n \n )\n }\n\nconst getColor = props => {\n if(props.color) {\n return props.color;\n } else if(props.isCheckedIndicator) {\n return props.isDisabled ? palette.uncheckedIcon : palette.checkedIcon\n }\n\n return '#000';\n}\n\nexport const StatusIcon = props =>\n \n \n \n\nexport const RoadshowIcon = props =>\n \n \n \n\nexport const PricingIcon = props =>\n \n \n \n\nexport const FeedbackIcon = props =>\n \n \n \n \n \n \n \n \n\nexport const OrdersIcon = props =>\n \n \n \n\nexport const DocumentsIcon = props =>\n \n \t\n \t\t\n \t\t\n \t\n \n","import moment from 'moment-timezone';\nimport { createSelector } from 'reselect';\nimport _, { get, keyBy } from 'lodash';\n// import sha1 from 'sha1';\nimport sha256 from 'sha256';\n// TODO\nimport { SiteConstants, Sorters } from 'mk-pattern-library-react';\n\nimport * as chartTypeIds from 'constants/chartTypes';\nimport { tabIds, investorFeedbackChartTabs } from 'constants/tabIds';\nimport { selectAvailableNavigationFeatures } from 'util/navigationFeatures';\nimport { ALL_TRANCHES_RECORD } from 'constants/orders';\nimport SITE_TEXT_TYPES from 'constants/siteTextTypes';\n// reducer selectors\nconst selectRoadshowReducer = state => state.roadShowData;\nconst selectUtilityReducer = state => state.utility;\nconst selectLoginReducer = state => state.login;\nconst selectOrderbookReducer = state => state.orderBookData;\nconst selectMyDocsReducer = state => state.myDocsData;\nconst selectInvestorFeedbackReducer = state => state.investorFeedbackData;\nconst selectLanguageReducer = state => state.language;\nexport const selectIsAmended = state => state.orderBookData.isAmended;\n//\n// Language Selectors\n//\nexport const getSelectedLanguage = state => selectLanguageReducer(state).selectedLanguage;\nexport const getAvailableLanguages = state => selectLanguageReducer(state).availableLanguages;\n\n//\n// Utility Selectors\n//\nexport const getPollings = state => selectUtilityReducer(state).polling;\nexport const getDeals = state => selectUtilityReducer(state).allDeals;\nexport const getCurrentDeal = state => selectUtilityReducer(state).dealsData;\nexport const getCurrentDealId = state => selectUtilityReducer(state).dealsData.dealId;\nexport const getIssuerName = state => selectUtilityReducer(state).dealsData.orderbookIssuerName;\nexport const getAllNavigationFeatures = state => selectUtilityReducer(state).navigationFeatures;\nexport const getPollingFrequency = state => selectUtilityReducer(state).pollingFrequency;\nexport const isGeneralFetchPending = state => selectUtilityReducer(state).fetching;\nexport const isBaseFetchCompleted = state => selectUtilityReducer(state).baseFetchCompleted;\nexport const isModalOpen = (state, modalId) => !!selectUtilityReducer(state).modals[modalId];\nexport const getSelectedTab = (state, tabsId) => selectUtilityReducer(state).tabs[tabsId];\nexport const getChartAnimationState = (state, chart) => selectUtilityReducer(state).animations[chart];\n\nexport const getHomeTileStatus = (state, tile) => selectUtilityReducer(state)[tile];\n\nexport const isAnyModalOpened = createSelector(\n [state => selectUtilityReducer(state).modals],\n modals => !!Object.keys(modals).length,\n);\n\nexport const getCurrentDealInfo = createSelector(\n [getDeals, getCurrentDealId],\n (deals, dealId) => deals.find(x => x.dealId === dealId) || {},\n);\n\nexport const isDCMDealType = createSelector(\n getCurrentDealInfo,\n deal => (deal.dealType || '').toLowerCase() === 'dcm',\n);\n\nexport const isECMDealType = createSelector(\n getCurrentDealInfo,\n deal => (deal.dealType || '').toLowerCase() === 'ecm',\n);\n\nexport const getAllowedNavigationFeatures = createSelector(\n [\n state => selectUtilityReducer(state).allowedNavigationFeatures,\n state => getAllNavigationFeatures(state),\n state => selectUtilityReducer(state).allDeals.length === 0\n ],\n (allowedNavigationFeatures, allNavigationFeatures, noDeals) => {\n const allowedNavFeatures = [];\n\n if (!noDeals) {\n allowedNavigationFeatures.forEach(feature => allowedNavFeatures.push(feature));\n\n allowedNavFeatures.sort((a, b) => {\n if (a.url === '/') {\n return -1;\n } else if (b.url === '/') {\n return 1;\n } else {\n return 0;\n }\n });\n } else {\n \n Array.prototype.push.apply(allowedNavFeatures, allNavigationFeatures.map(feature => ({\n ...feature,\n visibleInHeroMenu: true,\n visibleInMainMenu: feature.title === \"MyDeal\",\n })));\n }\n\n return allowedNavFeatures;\n },\n);\n\nexport const getDealTypeFromDeals = (state, dealId) => {\n const deals = getDeals(state);\n for (let i = 0; i < deals.length; i++) {\n if (deals[i].dealId === dealId) {\n return deals[i].dealType;\n }\n }\n return null;\n}\n\nexport const isFeatureAvailable = (state, dealFeature) => {\n const available = getAllowedNavigationFeatures(state)\n const castedToDealFeatures = selectAvailableNavigationFeatures(available);\n\n return !!castedToDealFeatures[dealFeature];\n}\n\nexport const isHomeTileFetched = (state, dealFeature) => {\n const pollings = getPollings(state);\n return pollings[dealFeature].homeFetched;\n}\n\n//\n// Investor Engagement Selectors (disabled feature)\n//\n// const getECMInvestorEngagement = state => selectInvestorEngagementReducer(state).ECMInvestorsInvestorEngagement;\n// const getInvestorEngagement = state => selectInvestorEngagementReducer(state).investorEngagement;\n//\n// export const getInvestorEngagementData = createSelector(\n// [getInvestorEngagement],\n// (engagement) => engagement,\n// );\n//\n// export const getECMInvestorEngagementData = createSelector(\n// [getECMInvestorEngagement],\n// (engagement) => engagement,\n// );\n\n//\n// Orderbook Selectors\n//\nexport const getDemandByTypeData = (state, type) => selectOrderbookReducer(state)[type];\nconst getShareDemandData = state => selectOrderbookReducer(state).shareDemandData;\n\nexport const getTranches = state => selectOrderbookReducer(state).tranches;\nexport const getInvestorNames = state => selectOrderbookReducer(state).investorNames;\nexport const getTrancheLists = state => selectOrderbookReducer(state).trancheLists;\nexport const getOrderSummaryData = state => selectOrderbookReducer(state).orderSummaryData[0];\nexport const getAmendedOrderSummaryData = state => selectOrderbookReducer(state).amendedOrderSummaryData;\nexport const getBookEvolutionData = state => selectOrderbookReducer(state).bookEvolutionSummary[0];\nexport const getBookEvolutionDataForAmendedOrderByInvestor = state => selectOrderbookReducer(state).bookEvolutionSummaryForAmendedOrderByInvestorTable[0];\n\nexport const getCurrentTrancheId = state => selectOrderbookReducer(state).currentTrancheId;\nexport const getOrders = state => selectOrderbookReducer(state).orderData;\nexport const getSelectedInvestor = state => selectOrderbookReducer(state).selectedInvestor;\nexport const getSelectedTranche = state => selectOrderbookReducer(state).selectedTranche;\nexport const getSelectedInterval = state => selectOrderbookReducer(state).selectedInterval;\nexport const getSelectedInvestorType = state => selectOrderbookReducer(state).selectedInvestorType;\nexport const getSelectedTimeRange = state => selectOrderbookReducer(state).selectedTimeRange;\nexport const getSelectedDate = state => selectOrderbookReducer(state).selectedDate;\nexport const getOrderSummary = state => selectOrderbookReducer(state).orderSummaryData[0]\nexport const getSelectedOrderBookTab = state => selectOrderbookReducer(state).currentActiveOrderSummaryTab;\nexport const getStages = state => selectOrderbookReducer(state).stages;\nexport const getIsSetStagesModalOpen = state => selectOrderbookReducer(state).isSetStagesModalOpen;\n\nexport const getTrancheLoader = state => selectOrderbookReducer(state).trancheLoader;\n\nexport const isDCMOrderbookContentAvailable = createSelector(\n [getTranches],\n tranches => (tranches[0] || {}).trancheId\n);\n\nexport const isECMOrderbookContentAvailable = createSelector(\n [getOrders],\n orders => (orders[0] || {}).trancheId\n);\n\nexport const areECMOrdersFetched = state => selectOrderbookReducer(state).ordersReceived && selectOrderbookReducer(state).shareDemandReceived;\nexport const areDCMOrdersFetched = state => selectOrderbookReducer(state).ordersReceived && selectOrderbookReducer(state).tranchesReceived;\n\nexport const getECMLatestOrders = createSelector(\n [getOrders],\n orders => orders\n .sort((a, b) => Sorters.doubleSort('investorLongName', a, b, 'desc', 'externalSourceLastModified'))\n)\n\nexport const getDCMLatestOrders = createSelector(\n [getOrders],\n orders => orders\n .sort((a, b) => Sorters.doubleSort('investorLongName', a, b, 'desc', 'externalSourceLastModified'))\n)\n\nexport const getFullOrderBookSort = state => selectOrderbookReducer(state).fullOrderBookSort;\nexport const getAllTranchesFullOrderBookSort = state => selectOrderbookReducer(state).allTranchesFullOrderBookSort;\n\nexport const getFullOrderBookTable = createSelector(\n [getOrders, getShareDemandData, getFullOrderBookSort],\n (orderData, shareDemandData, sort) => {\n let tableData = [];\n if (orderData) {\n for (let item of orderData) {\n let tableRecord = {};\n // common fields across table views\n tableRecord.investorLongName = item.investorLongName;\n tableRecord.investorCountry = item.investorCountry;\n tableRecord.investorType = item.investorType;\n // allocation\n tableRecord.targetDemandAmount = item.shareDemandSummary.demandAtTargetSharePrice.demandAmount;\n tableRecord.targetAllocationAmount = item.allocationAtTargetPrice.allocationAmount;\n tableRecord.targetAllocationPercentage = item.allocationAtTargetPrice.allocationVDemandPercentage;\n // order summary\n tableRecord.demandAtBottom = item.shareDemandSummary.demandAtBottomSharePrice.demandAmount;\n tableRecord.demandAtMidpoint = item.shareDemandSummary.demandAtMidSharePrice.demandAmount;\n tableRecord.demandAtTop = item.shareDemandSummary.demandAtTopSharePrice.demandAmount;\n tableRecord.currentLimit = item.currentLimit;\n // demand detail\n // loop through share price array and find corresponding amounts.\n // add corresponding amount or null with share price as key\n for (let share of shareDemandData) {\n const demandAmount = item.shareDemand.find(x => x.demandSharePrice === share.sharePrice);\n tableRecord[share.sharePrice.toString().replace('.', '_')] = demandAmount ? demandAmount.demandAmount : null;\n }\n // engagement\n tableRecord.topTierInvestor = item.topTierInvestor;\n tableRecord.earlyLookParticipantInvestor = item.earlyLookParticipantInvestor;\n tableRecord.preDealEducationInvestor = item.preDealEducationInvestor;\n tableRecord.physicalRoadshow = item.investorRoadshowAttendance;\n tableRecord.hasComments = item.investorFeedbackLeft;\n tableRecord.externalSourceCreated = item.externalSourceCreated;\n tableRecord.externalSourceLastModified = item.externalSourceLastModified;\n\n tableData.push(tableRecord)\n }\n\n tableData.sort((a, b) => {\n if(sort.direction === \"Ascending\") {\n return a[sort.column] > b[sort.column] ? 1 : -1;\n } else {\n return a[sort.column] < b[sort.column] ? 1 : -1;\n }\n });\n\n \n }\n return tableData;\n }\n);\n\n\nexport const getDCMFullOrderBookTable = createSelector(\n [getOrders, getFullOrderBookSort, getCurrentTrancheId],\n (orderData, sort, currentTrancheId) => {\n let tableData = [];\n if (orderData && currentTrancheId !== ALL_TRANCHES_RECORD.id) {\n for (let item of orderData) {\n item.allocation[0] = item.allocation[0] || {}\n let tableRecord = {};\n\n // common fields acocss table views\n tableRecord.investorLongName = item.investorLongName;\n tableRecord.softAmount = item.softAmount;\n tableRecord.firmAmount = item.firmAmount;\n tableRecord.externalSourceCreated = item.externalSourceCreated;\n tableRecord.externalSourceLastModified = item.externalSourceLastModified;\n\n // orderDetail\n tableRecord.spread = item.spread;\n tableRecord.limitSecurity = item.limitSecurity;\n tableRecord.hedge = item.hedge;\n tableRecord.allocationAmount = item.allocation[0].allocationAmount;\n tableRecord.allocationPercent = item.allocation[0].allocationVDemandPercentage;\n\n // investorType\n tableRecord.investorRegion = item.investorRegion;\n tableRecord.investorCountry = item.investorCountry;\n tableRecord.investorType = item.investorType;\n\n // engagementLevel\n tableRecord.keyInvestor = item.keyInvestor;\n tableRecord.historicalInvestor = item.historicalInvestor;\n tableRecord.netRoadshow = item.netRoadshow;\n tableRecord.physicalRoadshow = item.physicalRoadshow;\n \n tableData.push(tableRecord)\n }\n tableData.sort((a, b) => {\n if(sort.direction === \"Ascending\") {\n return a[sort.column] > b[sort.column] ? 1 : -1;\n } else {\n return a[sort.column] < b[sort.column] ? 1 : -1;\n }\n });\n }\n return tableData;\n }\n);\n\nconst getFullOrderBookTableData = (orderData, sort, currentTrancheId, amended) => {\n let tableData = [];\n if (orderData && currentTrancheId === ALL_TRANCHES_RECORD.id) {\n for (let item of orderData) {\n if ((!amended && item.status === 'Active') || (amended)) {\n let tableRecord = {};\n // common fields acocss table views\n tableRecord.orderId = item.orderId;\n tableRecord.issuerName = item.issuerName;\n tableRecord.investorLongName = item.investorLongName.trim();\n tableRecord.investorType = item.investorType;\n tableRecord.investorCountry = item.investorCountry;\n tableRecord.currency = item.currency;\n tableRecord.orderAmount = item.orderAmount;\n tableRecord.limitSecurity = item.limitSecurity;\n tableRecord.trancheName = item.trancheName;\n tableRecord.externalSourceLastModified = item.externalSourceLastModified;\n amended && (tableRecord.isLatest = item.amendedAmount);\n amended && (tableRecord.amendedAmount = item.amendedAmount);\n tableRecord.status = item.status;\n tableData.push(tableRecord)\n }\n }\n tableData.sort((a, b) => {\n if (sort.direction === \"Ascending\") {\n if (typeof a[sort.column] === 'string') {\n return a[sort.column].toLowerCase() > b[sort.column].toLowerCase() ? 1 : -1;\n } else return a[sort.column] > b[sort.column] ? 1 : -1;\n\n } else {\n if (typeof a[sort.column] === 'string') {\n return a[sort.column].toLowerCase() < b[sort.column].toLowerCase() ? 1 : -1;\n } else return a[sort.column] < b[sort.column] ? 1 : -1;\n }\n });\n\n if (sort.column === \"amendedAmount\") {\n const tempTableData = JSON.parse(JSON.stringify(tableData));\n const updatedTableGroups = [];\n const uniqueOrderIDList = [...new Map(tempTableData.map((item) => [item['orderId'], item])).values()];\n uniqueOrderIDList.forEach((item) => {\n const newData = tempTableData.filter((order) => order.orderId === item.orderId);\n newData.length && updatedTableGroups.push(newData)\n })\n tableData = [].concat.apply([], updatedTableGroups);\n }\n }\n return tableData;\n}\n\nexport const getDCMAllTranchesFullOrderBookTable = createSelector(\n [getOrders, getAllTranchesFullOrderBookSort, getCurrentTrancheId, selectIsAmended],\n (orderData, sort, currentTrancheId, amended) => {\n return getFullOrderBookTableData(orderData, sort, currentTrancheId, amended)\n }\n);\n\nexport const getDemandDataForSummary = createSelector(\n [getDemandByTypeData],\n (demandData) => {\n let tableData = [];\n let chartData = [];\n if (demandData) {\n if (demandData[0] && \"demand\" in demandData[0]) {\n demandData = demandData[0].demand;\n }\n if (\"demand\" in demandData) {\n demandData = demandData.demand;\n }\n for (let item of demandData) {\n if (item) {\n tableData.push({\n dataItem: item.categoryName,\n totalOrders: item.demand,\n percent: item.percentage,\n orders: item.totalNumberOfOrders,\n otherValues: item.otherValues,\n })\n chartData.push({\n name: item.categoryName,\n value: Math.abs(item.demand)\n });\n }\n }\n }\n return {\n tableData,\n chartData\n }\n }\n);\n\n\nexport const getDemandShareDataForSummary = createSelector(\n [getDemandByTypeData],\n (demandData) => {\n let tableData = [];\n let chartData = [];\n if (demandData && demandData[0]) {\n demandData = demandData[0].demandDetail;\n\n for (let item of demandData) {\n tableData.push({\n dataItem: item.categoryName,\n totalOrders: item.demand,\n percent: item.percentage\n })\n chartData.push({\n name: item.categoryName,\n value: item.demand\n });\n }\n }\n return {\n tableData,\n chartData\n }\n }\n);\n\nexport const getTrancheTitles = createSelector(\n [getTranches],\n (tranches) => {\n return tranches.map(item => ({\n title: item.trancheNameShort,\n status: item.orderbookStatusDetail.currentStatus.status,\n id: item.trancheId,\n }))\n }\n);\n\n\nexport const getCurrentTranche = createSelector(\n [getTranches, getCurrentTrancheId],\n (tranches, trancheId) => {\n let trancheLookup = tranches.find(x => x.trancheId === trancheId);\n const currentTrancheData = trancheLookup ? trancheLookup : tranches[0];\n return currentTrancheData;\n }\n);\n\nexport const getLowestSharePrice = createSelector(\n getCurrentDeal,\n dealsData => {\n return (\n dealsData.dealTotalDemandSummary &&\n dealsData.dealTotalDemandSummary.demandAtBottomSharePrice &&\n dealsData.dealTotalDemandSummary.demandAtBottomSharePrice.sharePrice\n ) || null;\n }\n);\n\nexport const getShareDemand = createSelector(\n [getShareDemandData],\n (ShareDemands) => {\n return ShareDemands.sort((a, b) => {\n if (a.sharePrice < b.sharePrice) {\n return -1\n }\n else if (a.sharePrice > b.sharePrice) {\n return 1\n }\n else {\n return 0\n }\n })\n }\n);\n\nexport const getTrancheIdByDealType = createSelector(\n [isDCMDealType, getCurrentTrancheId, selectUtilityReducer], (isDCM, currentTrancheId, utilityReducer) => {\n if (isDCM) {\n if (currentTrancheId) {\n return getCurrentTrancheId;\n }\n return 'Empty Data';\n }\n\n // ECM\n const tranche = (utilityReducer.dealsData.tranche && utilityReducer.dealsData.tranche.length && utilityReducer.dealsData.tranche[0]) || {}\n const { trancheId } = tranche;\n\n if (trancheId) {\n return trancheId;\n }\n\n return 'Empty Data';\n }\n\n)\n\n//\n// Roadshow Selectors\n//\nconst selectTeamEventDates = state => selectRoadshowReducer(state).teamsEventDates;\nexport const getRoadShowEventDates = state => selectRoadshowReducer(state).eventDates;\nexport const getRoadShowFullSchedule = state => selectRoadshowReducer(state).events;\nexport const getRoadShowSummaryOnline = state => selectRoadshowReducer(state).onlineRoadshow;\nexport const getRoadShowSummaryCoordinators = state => selectRoadshowReducer(state).coordinators;\nexport const getRoadShowContacts = state => selectRoadshowReducer(state).contacts;\nexport const getRoadShowSelectedDay = state => selectRoadshowReducer(state).selectedDay;\nexport const getSelectedTeam = state => selectRoadshowReducer(state).selectedTeam;\nexport const getTeams = state => selectRoadshowReducer(state).teams;\nexport const getMultiTeamMode = state => selectRoadshowReducer(state).multiTeamMode;\nexport const getDailyEventId = state => selectRoadshowReducer(state).dailyEventId;\nexport const getRoadshowDataArrivedFlag = state => selectRoadshowReducer(state).summaryArrived && selectRoadshowReducer(state).eventsArrived;\n\nexport const getTeamsDetails = createSelector(\n [\n selectTeamEventDates \n ],\n (eventDates) => keyBy(eventDates, e => e.teamName)\n);\n\nexport const getEventsForSelectedDay = createSelector(\n [\n getRoadShowFullSchedule,\n getRoadShowSelectedDay,\n getSelectedTeam,\n getMultiTeamMode,\n ],\n (fullSchedule, selectedDay, selectedTeam, multiteamMode) => {\n let events = [];\n\n if (fullSchedule.length) {\n if (multiteamMode) {\n events = fullSchedule.filter(ev => ev.teams.indexOf(selectedTeam) >= 0);\n } else {\n events = fullSchedule;\n }\n\n if (selectedDay) {\n events = events.filter(event => moment(event.startDateLocal).utc().isSame(moment(selectedDay.date).utc(), 'day'));\n }\n }\n\n return events;\n },\n);\n\n//\n// Auth Selectors\n//\nconst getLoggedIn = state => selectLoginReducer(state).isAuthenticated;\n\nexport const isLoggedInError = state => selectLoginReducer(state).error;\nexport const getBeatingStatus = state => selectLoginReducer(state).beating;\nexport const getUniqueName = state => selectLoginReducer(state).uniqueName;\nexport const isInternalUser = state => selectLoginReducer(state).isInternalUser;\nexport const isISVUser = state => selectLoginReducer(state).isISVUser;\nexport const isIsvCsmUser = state => selectLoginReducer(state).isIsvCsmUser;\nexport const isIsvRRTeamUser = state => selectLoginReducer(state).isIsvRRTeamUser;\nexport const getSUniqueName = createSelector(\n getUniqueName,\n uniqueName => {\n const hash = sha256(uniqueName);\n const shortHash = hash.substring(30, 40);\n return shortHash;\n }\n);\n\nexport const getLoggedInStatus = createSelector(\n [getLoggedIn],\n (loggedIn) => loggedIn,\n);\n\nexport const selectLoginFormInvalidFields = (state) =>\n _.keys(_.pickBy(state.login.invalidFields, field => field === true));\n\n//\n// Investor Feedback Selectors\n//\nconst getInvestorFeedbackSentiments = state => selectInvestorFeedbackReducer(state).feedbackSentiments;\nconst getInvestorFeedbackDealFeedback = state => selectInvestorFeedbackReducer(state).dealFeedback;\nconst getInvestorFeedbackDealThemes = state => selectInvestorFeedbackReducer(state).dealThemes;\nconst getInvestorFeedbackSummaryByThemeType = (state, summaryThemeStore) => selectInvestorFeedbackReducer(state)[summaryThemeStore];\nconst getInvestorFeedbackHighlightsByThemeType = (state, highlightsThemeStore) => selectInvestorFeedbackReducer(state)[highlightsThemeStore];\nconst getInvestorFeedbackChartDataByChartType = (state, chartDataStore) => selectInvestorFeedbackReducer(state)[chartDataStore];\n\nexport const getInvestorFeedbackThemeTypes = state => selectInvestorFeedbackReducer(state).feedbackThemeTypes;\nexport const getInvestorFeedbackChartTypes = state => selectInvestorFeedbackReducer(state).chartTypes;\nexport const getSelectedChartId = state => selectInvestorFeedbackReducer(state).selectedChartId;\nexport const getSelectedChartTab = state => selectInvestorFeedbackReducer(state).selectedChartTab;\nexport const getSelectedChartSubTab = state => selectInvestorFeedbackReducer(state).selectedChartSubTab;\nexport const getSelectedChartSubTabTitle = state => selectInvestorFeedbackReducer(state).selectedChartSubTabTitle;\nexport const areChartTypesFetched = state => selectInvestorFeedbackReducer(state).chartTypesFetched;\n\nexport const getChartTypeDetails = (state, chartTypeId) => {\n const chartTypes = getInvestorFeedbackChartTypes(state);\n return _.find(chartTypes, chartData => chartData.chartType.chartTypeId === chartTypeId) || {};\n};\n\nexport const selectActualChart = state => {\n const selectedChartTab = getSelectedTab(state, tabIds.INVESTOR_FEEDBACK_CHART_TABS);\n\n let chartTypeDetails;\n if (selectedChartTab === investorFeedbackChartTabs.THEME_DISTRIBUTION) {\n chartTypeDetails = getChartTypeDetails(state, +chartTypeIds.THEME_DISTRIBUTION_CHART_TYPE);\n } else if (selectedChartTab === investorFeedbackChartTabs.SENTIMENT) {\n chartTypeDetails = getChartTypeDetails(state, +chartTypeIds.SENTIMENT_CHART_TYPE);\n } else if (selectedChartTab === investorFeedbackChartTabs.PRICE_DEMAND) {\n chartTypeDetails = getChartTypeDetails(state, +chartTypeIds.PRICE_DEMENT_CHART_TYPE);\n }\n\n // if there is a data => still available ( + visible prop )\n const isEmpty = _.isEqual(chartTypeDetails, {});\n if (!isEmpty) {\n return chartTypeDetails;\n }\n\n // no charts available now\n return null;\n};\n\nexport const selectFirstAvailableChart = createSelector(\n [getInvestorFeedbackChartTypes],\n chartTypes => {\n if (chartTypes.length) {\n return chartTypes[0];\n }\n\n return null;\n }\n);\n\nexport const selectFirstAvailableChartTab = createSelector(\n [getInvestorFeedbackChartTypes],\n chartTypes => {\n if (chartTypes.length) {\n if(chartTypes[0].chartType.chartTypeId === +chartTypeIds.THEME_DISTRIBUTION_CHART_TYPE)\n return investorFeedbackChartTabs.THEME_DISTRIBUTION;\n if(chartTypes[0].chartType.chartTypeId === +chartTypeIds.SENTIMENT_CHART_TYPE)\n return investorFeedbackChartTabs.SENTIMENT;\n if(chartTypes[0].chartType.chartTypeId === +chartTypeIds.PRICE_DEMENT_CHART_TYPE)\n return investorFeedbackChartTabs.PRICE_DEMAND;\n }\n\n return null;\n }\n);\n\nexport const getSentimentsAndThemeTypesFetchedStatus = createSelector(\n [selectInvestorFeedbackReducer],\n invFeedback => invFeedback.sentimentsFetched && invFeedback.themeTypesFetched,\n);\n\nexport const getInvestorFeedbackHighlightsByTheme = createSelector(\n [getInvestorFeedbackHighlightsByThemeType],\n (highlightData) => highlightData || [],\n);\n\nexport const getInvestorFeedbackChartDataByChart = createSelector(\n [getInvestorFeedbackChartDataByChartType],\n (chartData) => (chartData && chartData.chartData) || [],\n);\n\nexport const getInvestorFeedbackSummaryChartData = createSelector(\n [getInvestorFeedbackSummaryByThemeType], (summaryData) => {\n let chartSeries = [];\n let chartKeys = [];\n let currentMonth;\n if (get(summaryData, '[0].summary')) {\n let summaryDataItems = summaryData[0].summary;\n summaryDataItems.sort((a, b) => new Date(a.date).getTime() - new Date(b.date).getTime());\n for (let item of summaryDataItems) {\n let barItem = {};\n barItem.name = moment.utc(item.date).format(\"D\");\n\n const countSum = item.series.map(item => item.count).reduce((a, b) => a + b);\n barItem.topText = countSum;\n for (let bar of item.series) {\n barItem[bar.themeId] = (bar.count / countSum) * 100;\n }\n const monthText = moment.utc(item.date).format(\"MMM\");\n if (moment.utc(item.date).format(\"MMM\") !== currentMonth) {\n barItem.bottomText = monthText;\n currentMonth = monthText;\n }\n chartSeries.push(barItem);\n }\n }\n if (get(summaryData, '[0].themes')) {\n const themeItems = summaryData[0].themes;\n const colors = SiteConstants.secondaryChartColors;\n for (let item of themeItems) {\n const keyItem = {\n key: item.themeId,\n value: item.themeName,\n color: colors[chartKeys.length % colors.length]\n };\n chartKeys.push(keyItem);\n }\n }\n return {\n chartSeries,\n chartKeys\n }\n\n }\n);\n\nexport const getFeedbackCardData = createSelector(\n [\n getInvestorFeedbackDealFeedback,\n getInvestorFeedbackDealThemes,\n getInvestorFeedbackSentiments,\n getTranches,\n ], (feedbackItems, dealThemes, sentiments, tranches) => {\n const feedbackCardItems = [];\n\n const sentimentDescriptionFromId = (sentimentId) => {\n const sentiment = sentiments.find(item => item.sentimentId === sentimentId);\n return sentiment ? sentiment.sentimentDescription : '';\n };\n\n if (feedbackItems) {\n for (let i = 0; i < feedbackItems.length; i += 1) {\n const item = feedbackItems[i];\n const feedback = {};\n\n feedback.feedbackId = item.feedbackId;\n feedback.companyName = item.investor;\n feedback.investorType = item.investorType; // Data gap\n feedback.investorName = item.investorContact;\n feedback.created = item.recordedDateTime;\n feedback.banksRecorded = item.bank;\n feedback.cityRecorded = item.city;\n feedback.themes = {\n positive: item.themesRaw.filter(theme => theme.themeTypeName === 'Positive').map(t => t.themeName),\n negative: item.themesRaw.filter(theme => theme.themeTypeName === 'Concern').map(t => t.themeName),\n valuation: item.themesRaw.filter(theme => theme.themeTypeName === 'Valuation').map(t => t.themeName),\n };\n feedback.sentiment = sentimentDescriptionFromId(item.sentimentId);\n feedback.comment = item.text;\n feedback.minIndicationOfInterest = item.minIndicationOfInterest;\n feedback.maxIndicationOfInterest = item.maxIndicationOfInterest;\n feedback.valuation = item.valuation;\n feedback.keyInvestor = item.keyInvestor;\n feedback.lastModified = item.lastModified;\n // do we need them ? \n feedback.positiveHighlight = item.positiveHighlight;\n feedback.negativeHighlight = item.negativeHighlight;\n feedback.valuationHighlight = item.valuationHighlight;\n feedback.feedbackTranchePriceDemand = item.feedbackTranchePriceDemand && item.feedbackTranchePriceDemand.length ? item.feedbackTranchePriceDemand.map(tranche => {\n const tranchesValue = tranches && tranches.filter(t => t.trancheConfigId === tranche.trancheConfigId)\n const trancheDescription = tranchesValue && tranchesValue.length ? tranchesValue[0].trancheDescription : undefined;\n return {\n ...tranche,\n trancheDescription,\n }\n }) : undefined;\n //\n feedbackCardItems.push(feedback);\n }\n }\n return feedbackCardItems;\n },\n);\n\nexport const getCurrentFeedbackChartTypeName = createSelector(\n [getSelectedChartId, getInvestorFeedbackChartTypes], (chartId, chartTypesList) => {\n if (chartId) {\n const { chartType } = _.find(chartTypesList, c => c.chartId === chartId);\n return chartType.chartTypeName;\n\n } else {\n return 'Empty';\n }\n }\n)\n\nexport const getLatestFeedback = createSelector(\n [getInvestorFeedbackDealFeedback],\n dealFeedback => dealFeedback\n .sort((a, b) => Sorters.doubleSort('investorLongName', a, b, 'desc', 'recordedDateTime'))[0] || {}\n)\n\n//\n// MyDocs Selectors\n//\nexport const getMyDocsFetchedStatus = state => selectMyDocsReducer(state).fetchedDocs && selectMyDocsReducer(state).fetchedSummary;\nexport const getDocumentsFetchedStatus = state => selectMyDocsReducer(state).fetchedDocs;\nexport const getMyDocsSummaryData = state => selectMyDocsReducer(state).myDocsSummary;\nexport const getMyDocsData = state => selectMyDocsReducer(state).myDocs;\nexport const getMyDocsActiveCategoryId = state => selectMyDocsReducer(state).activeCategoryId;\nexport const getMyDocsReceivedDate = state => selectMyDocsReducer(state).dateReceived;\n\nexport const getActualCategoryTitle = createSelector(\n [getMyDocsSummaryData, getMyDocsActiveCategoryId], (summary, activeCategoryId) => {\n if (!activeCategoryId) {\n return 'All Documents'\n }\n\n return _.find(summary, category => category.documentCategoryId === activeCategoryId).documentCategoryName;\n }\n)\n\nexport const getAllNotArchivedDocumentsCount = createSelector(\n [getMyDocsData],\n myDocs => myDocs.reduce((total, document) => {\n if (document.archived) {\n return total;\n }\n\n return ++total;\n }, 0)\n);\n\nexport const getMyDocsForActiveCategory = createSelector(\n [getMyDocsActiveCategoryId, getMyDocsData],\n (activeCategoryId, myDocs) => {\n return activeCategoryId\n // category is set\n ? myDocs.filter(doc => doc.categoryId === activeCategoryId)\n // null -> all documents\n : myDocs;\n }\n);\n\nexport const getLastDocuments = createSelector(\n [getMyDocsData],\n myDocs => myDocs\n .sort((a, b) => Sorters.doubleSort('title', a, b, 'desc', 'lastModified'))\n);\n\nconst getSiteTextState = state => state.login.siteText;\n\n// NOTE: Temporarily hardcoded the site text to en-gb\nexport const makeGetSiteTextSelector = (siteTextTypeName) =>\n createSelector(\n [getSiteTextState, getSelectedLanguage],\n (siteText, langCode) => {\n return siteText && siteText[siteTextTypeName] && siteText[siteTextTypeName][/*langCode*/'en-gb']\n }\n )\nexport const getSiteTextValue = (value) => {\n return value === 'privacynotice' ? SITE_TEXT_TYPES.PRIVACY : SITE_TEXT_TYPES.C_POLICY\n}\nexport const getTermsAndConditions = state => state.login.termsAndConditions;\n\nexport const getTermsAndConditionsText = createSelector(\n [getSelectedLanguage, getTermsAndConditions],\n (langCode, termsAndConditions) => {\n if (termsAndConditions[langCode.toLowerCase()]) {\n return termsAndConditions[langCode.toLowerCase()].termsAndConditionsText;\n }\n\n return null;\n }\n);","export const PRICE_DEMENT_CHART_TYPE = 1;\n// export const INTERESTED_INVESTORS_CHART_TYPE = 2\nexport const THEME_DISTRIBUTION_CHART_TYPE = 3;\nexport const SENTIMENT_CHART_TYPE = 4; ","/* @flow */\nimport React from 'react';\nimport Icon from '../components/Icon/Icon';\n\nimport TranslationText from 'translations/TranslationText';\n\nexport const otherColor = '#eeeeee';\n\nexport const primaryChartColors = [\n '#00716C',\n '#E9A115',\n '#4E3A7C',\n '#588942',\n '#003466',\n '#6F0008',\n '#1087EF',\n];\n\nexport const secondaryChartColors = [\n '#008580',\n '#004F4B',\n '#E9A115',\n '#9E6D0E',\n '#716196',\n '#1C1A49',\n '#588942',\n '#142E01',\n '#547DA7',\n '#002951',\n '#E54D58',\n '#6F0008',\n '#1087EF',\n '#0C62AE',\n '#B57DA4',\n];\n\nexport const HSBC_RAG_COLORS = {\n HSBC_RAG_RED: '#AF000D',\n HSBC_RAG_AMBER: '#E9A115',\n HSBC_RAG_GREEN: '#008580',\n};\n\nexport const roadShowEventTypes:Map = new Map();\n\nroadShowEventTypes.set(0, {\n title : () => ``,\n participantsTitle: (\n \n ),\n eventTypeId : 0,\n});\nroadShowEventTypes.set(1, {\n title : (host:?string) => `1:1 Call ${(host) ? `(${host})` : ``}`,\n participantsTitle: (\n \n ),\n eventTypeId : 1,\n});\nroadShowEventTypes.set(2, {\n title : (host:?string) => `1:1 Conference Call ${(host) ? `(${host})` : ``}`,\n participantsTitle: (\n \n ),\n eventTypeId : 2,\n});\nroadShowEventTypes.set(3, {\n title : (host:?string, num:number) => `${num || 'X'}:1 ${(host) ? `(${host})` : ``}`,\n participantsTitle: (\n \n ),\n eventTypeId : 3,\n});\nroadShowEventTypes.set(4, {\n title : () => (\n \n ),\n participantsTitle: (\n \n ),\n eventTypeId : 4,\n});\nroadShowEventTypes.set(5, {\n title : () => (\n \n ),\n participantsTitle: (\n \n ),\n eventTypeId : 5,\n});\nroadShowEventTypes.set(6, {\n title : () => (\n \n ),\n participantsTitle: (\n \n ),\n eventTypeId : 6,\n});\nroadShowEventTypes.set(7, {\n title : () => (\n \n ),\n participantsTitle: (\n \n ),\n eventTypeId : 7,\n});\nroadShowEventTypes.set(8, {\n title : () => (\n \n ),\n icon : ,\n summaryIcon : ,\n participantsTitle: (\n \n ),\n eventTypeId : 8,\n});\nroadShowEventTypes.set(9, {\n title : () => (\n \n ),\n icon : ,\n summaryIcon : ,\n participantsTitle: (\n \n ),\n eventTypeId : 9,\n});\nroadShowEventTypes.set(10, {\n title : () => (\n \n ),\n icon : ,\n summaryIcon : ,\n participantsTitle: (\n \n ),\n eventTypeId : 10\n});\nroadShowEventTypes.set(11, {\n title : () => (\n \n ),\n icon : ,\n summaryIcon : ,\n participantsTitle: (\n \n ),\n eventTypeId : 11\n});\nroadShowEventTypes.set(12, {\n title : () => (\n \n ),\n icon : ,\n summaryIcon : ,\n participantsTitle: (\n \n ),\n eventTypeId : 12\n});\nroadShowEventTypes.set(17, {\n title : () => (\n \n ),\n participantsTitle: (\n \n ),\n eventTypeId : 17,\n});","var ValueFormatters = require('./valueFormatters');\nexport const doubleSort = (secondary, a, b, order, prop, fallbackProp, secondaryOrder) => {\n order = order || 'asc';\n\n let aVal1 = ValueFormatters.accessor(null, a, prop);\n let bVal1 = ValueFormatters.accessor(null, b, prop);\n\n let aVal2 = ValueFormatters.accessor(null, a, secondary);\n let bVal2 = ValueFormatters.accessor(null, b, secondary);\n\n\n if ((typeof aVal1 === 'undefined' || aVal1 === null) || (aVal1 === '--')) {\n if (prop !== secondary) {\n if (aVal2 < bVal2) {\n return secondaryOrder ? 1 : -1\n }\n else if (aVal2 > bVal2) {\n return secondaryOrder ? -1 : 1\n }\n else {\n\n return 0\n }\n }\n else {\n return 0\n }\n }\n else if (typeof aVal1 === 'string') {\n aVal1 = aVal1.toLowerCase().trim();\n }\n if ((typeof bVal1 === 'undefined' || bVal1 === null) || (bVal1 === '--')) {\n if (prop !== secondary) {\n if (aVal2 < bVal2) {\n return secondaryOrder ? 1 : -1\n }\n else if (aVal2 > bVal2) {\n return secondaryOrder ? -1 : 1\n }\n else {\n\n return 0\n }\n }\n else {\n return 0\n }\n\n }\n else if (typeof bVal1 === 'string') {\n bVal1 = bVal1.toLowerCase().trim();\n }\n if (typeof aVal2 === 'string') {\n aVal2 = aVal2.toLowerCase().trim();\n }\n if (typeof bVal2 === 'string') {\n bVal2 = bVal2.toLowerCase().trim();\n }\n\n\n if (order === 'asc') {\n if (aVal1 < bVal1) {\n return -1\n }\n else if (aVal1 > bVal1) {\n return 1\n }\n else {\n if (prop !== secondary) {\n if (aVal2 < bVal2) {\n return secondaryOrder ? 1 : -1\n }\n else if (aVal2 > bVal2) {\n return secondaryOrder ? -1 : 1\n }\n else {\n\n return 0\n }\n }\n else {\n return 0\n }\n }\n }\n else {\n if (aVal1 < bVal1) {\n return 1\n }\n else if (aVal1 > bVal1) {\n return -1\n }\n else {\n if (prop !== secondary) {\n if (aVal2 < bVal2) {\n return secondaryOrder ? 1 : -1\n }\n else if (aVal2 > bVal2) {\n return secondaryOrder ? -1 : 1\n }\n else {\n\n return 0\n }\n }\n else {\n return 0\n }\n }\n }\n}\n\nexport const doubleSortFlat = (a, b, prop, secondary, direction, fallbackProp) => {\n\n let aVal1 = a[prop]\n let bVal1 = b[prop]\n\n let badAVal = false\n let badBVal = false\n if (aVal1 === null || typeof aVal1 === 'undefined' || aVal1 === \"\") {\n aVal1 = a[fallbackProp]\n if (aVal1 === null || typeof aVal1 === 'undefined' || aVal1 === \"\") {\n badAVal = true;\n }\n }\n if (bVal1 === null || typeof bVal1 === 'undefined' || bVal1 === \"\") {\n bVal1 = b[fallbackProp]\n if (bVal1 === null || typeof bVal1 === 'undefined' || bVal1 === \"\") {\n badBVal = true\n }\n }\n\n let aVal2 = a[secondary]\n let bVal2 = b[secondary]\n\n let aVal1Type = typeof aVal1;\n let bVal1Type = typeof bVal1;\n let aVal2Type = typeof aVal2;\n let bVal2Type = typeof bVal2;\n\n aVal1 = aVal1Type === 'string' ? aVal1.toLowerCase().trim() : aVal1;\n bVal1 = bVal1Type === 'string' ? bVal1.toLowerCase().trim() : bVal1;\n aVal2 = aVal2Type === 'string' ? aVal2.toLowerCase().trim() : aVal2;\n bVal2 = bVal2Type === 'string' ? bVal2.toLowerCase().trim() : bVal2;\n\n if (badAVal && badBVal) {\n if (prop !== secondary) {\n if (aVal2 < bVal2) {\n return -1\n }\n else if (aVal2 > bVal2) {\n return 1\n }\n else {\n\n return 0\n }\n }\n else {\n return 0\n }\n }\n else if (badAVal) {\n switch (bVal1Type) {\n case 'number':\n aVal1 = 0;\n break;\n case 'string':\n aVal1 = '';\n break;\n default:\n aVal1 = null;\n break;\n\n }\n }\n else if (badBVal) {\n switch (aVal1Type) {\n case 'number':\n bVal1 = 0;\n break;\n case 'string':\n bVal1 = '';\n break;\n default:\n bVal1 = null;\n break;\n\n }\n\n }\n\n\n if (direction === 'asc') {\n\n if (aVal1 < bVal1) {\n return -1\n }\n else if (aVal1 > bVal1) {\n return 1\n }\n else {\n\n if (aVal2 < bVal2) {\n return -1\n }\n else if (aVal2 > bVal2) {\n return 1\n }\n\n else {\n return 0\n }\n\n }\n }\n else {\n\n if (aVal1 < bVal1) {\n return 1\n }\n else if (aVal1 > bVal1) {\n return -1\n }\n else {\n\n if (aVal2 < bVal2) {\n return -1\n }\n else if (aVal2 > bVal2) {\n return 1\n }\n\n else {\n return 0\n }\n\n }\n }\n\n\n}\n\nexport const themeSort = (secondary, a, b, theme) => {\n\n // Check to see if the theme is inside of any themeType within either feedback data object\n let aContains = false;\n for (let themeType in a.themes) {\n if (a.themes[themeType].indexOf(theme) > -1) {\n aContains = true;\n break;\n }\n }\n\n let bContains = false;\n for (let themeType in a.themes) {\n if (b.themes[themeType].indexOf(theme) > -1) {\n bContains = true;\n break;\n }\n }\n\n // If both objects have a theme, sort by date\n if (aContains && bContains) {\n if (a[secondary] > b[secondary]) {\n return -1\n }\n else if (a[secondary] < b[secondary]) {\n return 1\n }\n else {\n return 0\n }\n }\n else {\n if (aContains) {\n return -1\n }\n else if (bContains) {\n return 1\n }\n // If no objects have theme, sort by date\n else {\n if (a[secondary] > b[secondary]) {\n return -1\n }\n else if (a[secondary] < b[secondary]) {\n return 1\n }\n else {\n return 0\n }\n }\n }\n\n}","/* eslint-disable */\nexport class NiceScale {\n\n constructor(min, max, maxTicks) {\n this.minPoint = min;\n this.maxPoint = max;\n this.maxTicks = maxTicks || 8;\n this.tickSpacing;\n this.range;\n this.niceMin;\n this.niceMax;\n this.ticks = [];\n }\n\n niceScale(weight) {\n let min = this.minPoint;\n let max = this.maxPoint * (weight ? weight : 1);\n this.calculate(min, max);\n this.calcTicksArray();\n\n return {\n tickSpacing: this.tickSpacing,\n niceMinimum: this.niceMin,\n niceMaximum: this.niceMax,\n maxTicks: this.maxTicks,\n ticks: this.ticks,\n maxPoint : max,\n };\n }\n calcTicksArray() {\n this.ticks = [];\n const numTicks = this.niceMax / this.tickSpacing; // determine how many ticks we need\n for (var i = 0; i <= numTicks; i++) {\n this.ticks.push(i * this.tickSpacing)\n }\n }\n\n /**\n * Calculate and update values for tick spacing and nice\n * minimum and maximum data points on the axis.\n */\n calculate(min, max) {\n this.range = this.niceNum(max - min, false);\n this.tickSpacing = this.niceNum(this.range / (this.maxTicks - 1), true);\n this.niceMin =\n Math.floor(min / this.tickSpacing) * this.tickSpacing;\n this.niceMax =\n Math.ceil(max / this.tickSpacing) * this.tickSpacing;\n }\n\n /**\n * Returns a \"nice\" number approximately equal to range Rounds\n * the number if round = true Takes the ceiling if round = false.\n *\n * localRange the data range\n * round whether to round the result\n * a \"nice\" number to be used for the data range\n */\n niceNum(localRange, round) {\n let exponent; /** exponent of localRange */\n let fraction; /** fractional part of localRange */\n let niceFraction; /** nice, rounded fraction */\n\n exponent = Math.floor(Math.log10(localRange));\n fraction = localRange / Math.pow(10, exponent);\n \n if (round) {\n if (fraction <= 1.5)\n niceFraction = 1;\n else if (fraction <= 3)\n niceFraction = 2;\n else if (fraction <= 7)\n niceFraction = 5;\n else\n niceFraction = 10;\n } else {\n if (fraction <= 1)\n niceFraction = 1;\n else if (fraction <= 2)\n niceFraction = 2;\n else if (fraction <= 5)\n niceFraction = 5;\n else\n niceFraction = 10;\n }\n\n return niceFraction * Math.pow(10, exponent);\n }\n\n /**\n * Sets the minimum and maximum data points for the axis.\n *\n * minPoint the minimum data point on the axis\n * maxPoint the maximum data point on the axis\n */\n setMinMaxPoints(localMinPoint, localMaxPoint) {\n this.minPoint = localMinPoint;\n this.maxPoint = localMaxPoint;\n }\n\n /**\n * Sets maximum number of tick marks we're comfortable with\n *\n * maxTicks the maximum number of tick marks for the axis\n */\n setMaxTicks(localMaxTicks) {\n this.maxTicks = localMaxTicks;\n }\n}\n","import React, { PureComponent } from 'react';\nimport styled from 'styled-components'\nimport _ from 'lodash';\nimport PropTypes from 'prop-types';\n\nimport {\n\tbuttonKeyHandler,\n\tbtnKeyPress,\n} from 'util/onKeyPress';\n/**\n * The only true button.\n */\nclass HsbcButton extends PureComponent {\n\n\tthrottledEvent = _.throttle(e => {\n\t\tif (this.props.disabled) return;\n\n\t\tbuttonKeyHandler(e, this.props.onClick);\n\t\tbtnKeyPress(e, this.props.onClick);\n\t}, 1000, { trailing: false, leading: true });\n\n\teventToThrottle = e => {\n\t\te.persist()\n\t\te.preventDefault()\n\t\tthis.throttledEvent(e);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tonClick,\n\t\t\tclassName,\n\t\t\tsize,\n\t\t\tchildren,\n\t\t\tstyle,\n\t\t\tdisabled,\n\t\t\t...other\n\t\t} = this.props;\n\n\t\tlet baseStyle = {\n\t\t\tfontSize: HsbcButton.sizes[size],\n\t\t};\n\n\t\tif (style) {\n\t\t\tbaseStyle = Object.assign(baseStyle,style);\n\t\t}\n\n\t\tif (className && className.indexOf('btn-tranche-underline') > -1) {\n\t\t\tbaseStyle.marginRight = '0px';\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t);\n\t}\n}\n\nHsbcButton.propTypes = {\n\t/**\n\t * Button label.\n\t */\n\tsize: PropTypes.oneOf(['small', 'normal', 'large']),\n};\nHsbcButton.defaultProps = {\n\tsize: 'normal',\n};\n\nHsbcButton.sizes = {\n\tsmall: '0.625rem',\n\tregular : '0.813rem',\n\tnormal: '0.875rem',\n\tlarge: '1.125rem',\n};\n\nexport default styled(HsbcButton)`\n\t&:focus {\n\t\toutline: dotted 1px white;\n\t}\n\n\t&:focus:not(.active) {\n\t\tbackground-color: rgb(62, 80, 93);\n\t}\n`;\n\nexport const SecondarySlateButton = styled(HsbcButton)`\n background-color: #4D6474;\n color: #FFF;\n\tpadding: 10px;\n margin-left: 10px;\n\toutline: none;\n\tborder: none;\n\n &:hover, &:focus {\n background-color: #3E505D;\n }\n\n &:active {\n background-color: #253038;\n }\n\n &:disabled {\n cursor: not-allowed;\n\t\t\topacity: 0.5;\n\t\t\tbackground-color: none;\n }\n\n\t&.btn-masthead {\n\t\tbackground-color: #415562;\n\t}\n`;\n\nexport const PrimaryButton = styled(HsbcButton)`\n background-color: #db0011;\n\t\tcolor: #fff;\n\n margin-left: 10px;\n\n &:hover, &:focus {\n background-color: #af000d;\n\t\t\t\toutline:0;\n }\n\n &:active {\n background-color: #83000A;\n padding-top: 20px;\n padding-left: 20px;\n }\n\n &:disabled {\n cursor: not-allowed;\n\t\t\t\tcolor: #fff;\n\t\t\t\topacity: 0.5;\n\t\t\t\tbackground-color: none;\n }\n`;\n\nexport const SecondaryButton = styled(HsbcButton)`\n background-color: #fff;\n\t\tcolor: #333333;\n\t\tborder: solid 1px #333333;\n\n margin-left: 10px;\n\n &:hover, &:focus {\n background-color: #D9D9D9;\n\t\t\t\toutline:0;\n }\n\n &:active {\n background-color: #B6B7B6;\n padding-top: 20px;\n padding-left: 20px;\n }\n\n &:disabled {\n cursor: not-allowed;\n\t\topacity: 0.5;\n\t\tbackground-color: #D9D9D9;\n }\n`;\n\nexport const LegacyButton = styled(HsbcButton)`\n background-color: #00847f;\n\tcolor: #fff;\n margin-left: 10px;\n\n &:hover, &:focus {\n background-color: #005e59;\n\t\toutline:0;\n }\n\n &:active {\n background-color: #004f4b;\n padding-top: 20px;\n padding-left: 20px;\n }\n\n &:disabled {\n cursor: not-allowed;\n\t\tcolor: #fff;\n\t\topacity: 0.5;\n\t\tbackground-color: none;\n }\n`;","import dealFeatures from 'constants/dealFeatures';\nimport isvNavLinks from 'Isv/constants/isvNavLinks';\nimport { events } from 'constants/analytics';\n\nexport const mapLinkToKey = link => {\n switch (link) {\n case dealFeatures.PRICING: \n return 'home_page.pricing';\n case dealFeatures.INVESTORS: \n return 'home_page.investors';\n case dealFeatures.ROADSHOW: \n return 'home_page.roadshow';\n case dealFeatures.ORDERBOOK: \n return 'home_page.orders';\n case dealFeatures.MY_DOCS: \n return 'home_page.my_docs';\n case dealFeatures.INVESTOR_FEEDBACK: \n return 'home_page.investor_feedback';\n case '/':\n return 'home_page.mydeal';\n default:\n return '';\n }\n}\n\nexport const mapIsvLinkToKey = link => {\n switch (link) {\n case isvNavLinks.DASHBOARD:\n return 'home_page.dashboard';\n case isvNavLinks.DEAL_INFORMATION:\n return 'home_page.deal_information';\n case isvNavLinks.REFERENCE_INFORMATION:\n return 'home_page.reference_information';\n case '/':\n return 'home_page.dashboard';\n default:\n return ''; \n }\n}\n\nexport const mapLinkToAnalyticEvent = link => {\n switch (link) {\n case '/':\n return events.NAVIGATION_MY_DEAL_BUTTON;\n case dealFeatures.PRICING: \n return events.NAVIGATION_PRICING_BUTTON;\n case dealFeatures.INVESTORS: \n return events.NAVIGATION_INVESTORS_BUTTON;\n case dealFeatures.ROADSHOW: \n return events.NAVIGATION_ROADSHOW_BUTTON;\n case dealFeatures.ORDERBOOK: \n return events.NAVIGATION_ORDERS_BUTTON;\n case dealFeatures.MY_DOCS: \n return events.NAVIGATION_MY_DOCS_BUTTON;\n case dealFeatures.INVESTOR_FEEDBACK: \n return events.NAVIGATION_INVESTOR_FEEDBACK_BUTTON;\n default:\n return {};\n }\n}\n","import React, { Fragment } from 'react';\nimport { connect } from 'react-redux';\nimport { Nav, Navbar } from 'react-bootstrap';\nimport { browserHistory, Link, withRouter } from 'react-router';\nimport styled from 'styled-components';\n\nimport { SecondarySlateButton } from '../../components/HsbcButton';\nimport logo from '../../images/HSBC_Logo.svg';\n\nimport LanguagePicker from 'components/LanguagePicker/LanguagePicker';\nimport withLanguage from 'translations/withLanguage';\nimport TranslationText, { translationString } from 'translations/TranslationText';\n\nimport { mapLinkToKey, mapLinkToAnalyticEvent } from 'util/homeModules';\nimport { buttonKeyHandler } from 'util/onKeyPress';\n\nimport { eventTriggered } from 'actions/AnalyticsActions';\n\nimport { featurePageIds } from 'constants/featurePages';\n\nimport { typography } from 'shared/styles/variables/theme'\n\nimport { version } from 'constants/buildDetails.json';\n\nconst NavContainer = styled(Navbar)`\n height: 100px;\n & .container {\n position: relative\n }\n`;\n\nconst BodgedHeaderStyle = styled.div`\n position: absolute;\n bottom: 0px;\n height: 40px;\n width: 10000px;\n overflow: visible;\n left: -1000px;\n background-color: #253038;\n border-top: solid 1px rgba(255,255,255,0.1);\n`;\n\nconst VersionHover = styled(Link)`\n .version-text {\n position: fixed;\n top: 46px;\n left: calc((100vw - 1280px) / 2 + 71px);\n font-size: 10px;\n visibility: hidden;\n }\n &:hover {\n .version-text {\n visibility: visible;\n }\n }\n`;\n\nconst Logo = styled.img`\n position: relative;\n top: -23px;\n height: 71px;\n width: auto;\n left: -24px;\n`;\n\nconst Container = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n height: 100%;\n font-size: ${typography.sizes['12px']};\n\n *[tabindex=\"0\"]:focus {\n outline: 1px dotted #7d7d7d;\n }\n`;\n\nconst NavItem = styled.div`\n height: 100%;\n border-right: 1px solid rgba(255, 255, 255, .1);\n &:first-child {\n border-left: 1px solid rgba(255, 255, 255, .1);\n }\n`;\n\nconst EnhancedNav = styled(Nav)`\n *[tabindex=\"0\"]:focus {\n outline: 1px dotted #7d7d7d;\n }\n position: relative;\n padding-right: 0;\n background-color: #253038;\n border-top: solid 1px rgba(255, 255, 255, 0.1);\n`;\n\nconst FakeLink = styled.span`\n color: ${props => props.active ? '#fff' : '#969696'};\n width: 100%;\n height: 39px;\n padding-left: 0;\n padding-right: 0;\n border-bottom: ${props => props.active ? '4px solid #DB0011' : '4px solid transparent'};\n padding-top: 9.5px;\n padding-bottom: 11.5px;\n line-height: 20px;\n position: relative;\n display: block;\n cursor: pointer;\n\n &:hover {\n text-decoration: ${props => !props.active ? 'underline' : 'none'};\n }\n`;\n\nconst SettingsNavLink = styled.li`\n position: absolute !important;\n right: 0px;\n margin-right: 20px !important;\n`;\n\nconst getLinkIconAndStatus = (linkItem, activeRoute) => {\n const link = activeRoute.toLowerCase();\n const linkUrl = linkItem.url.toLowerCase();\n\n return (link === '/' || linkUrl === '/')\n ? link === linkUrl\n : (link.indexOf(linkUrl) > -1) || false;\n};\n\nconst NavMain = (props) => {\n const activeRoute = props.location.pathname;\n const navlinks = props.links.map((link, index) => {\n if (link.visibleInMainMenu) {\n const isActive = getLinkIconAndStatus(link, activeRoute);\n const idAttr = link.url.substring(1) ? link.url.substring(1) :'myDeal';\n return (\n \n _module',\n props.language,\n `Navigate to ${link.title} module`,\n [\n ['', link.title]\n ]\n )\n }, ${isActive ? 'selected' : 'not selected'}`\n }\n tabIndex={0}\n onClick={() => !isActive && props.navigateToUrl(link.url)}\n onKeyDown={e => buttonKeyHandler(e, () => !isActive && props.navigateToUrl(link.url))}\n active={isActive}\n >\n \n \n \n );\n } else {\n // Do not create a link - flagged as NOT visible in MainMenu\n return false;\n }\n },\n ).filter((nav) => nav);\n\n return (\n \n \n \n \n { e.preventDefault(); props.navigateToUrl(featurePageIds.LANDING_PAGE) }}\n title=\"Click to view the home page\"\n >\n \n {props.title}\n {\n version && \n \n MyDeal version: {version}\n \n }\n \n \n\n \n \n \n \n {props.isDeals ?\n \n {props.popoverElement}\n : null\n }\n \n \n \n \n \n \n \n {navlinks}\n \n props.navigateToUrl(\"/settings\")}\n onKeyDown={e => {}}\n active={false}\n >\n \n \n \n \n \n \n );\n};\n\nconst mapStateToProps = (state, ownProps) => ({\n isDeals: state.utility.allDeals.length > 0,\n})\n\nconst mapDispatchToProps = (dispatch, state) => ({\n navigateToUrl: url => {\n browserHistory.push(url);\n dispatch(eventTriggered(mapLinkToAnalyticEvent(url)));\n \n }\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(\n withLanguage(\n withRouter(routerProps => )\n )\n);\n\nNavMain.defaultProps = {\n links: [{ url: '/', title: 'MyDeal' }],\n user: 'Username',\n};\n","import React from 'react';\nimport { Grid } from 'react-bootstrap';\nimport NavMain from '../NavMain/NavMain';\n\nimport Scrollable from 'shared/components/Scrollable';\n\nimport '../../styles/application.scss';\n\nconst CONTAINER_STYLE = {\n position: 'absolute',\n bottom: 0,\n top: 0,\n right: 0,\n left: 0,\n}\n\nconst FLUID_STYLE = {\n padding: 0,\n minHeight: 'calc(100% - 100px)',\n}\n\nclass AppContainer extends React.PureComponent {\n constructor(props) {\n super(props);\n\n this.state = {\n height: window.innerHeight,\n };\n\n this.updateHeight = this.updateHeight.bind(this);\n }\n\n componentDidMount() {\n window.addEventListener(\"resize\", this.updateHeight);\n window.addEventListener(\"orientationChange\", this.updateHeight);\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"resize\", this.updateHeight);\n window.removeEventListener(\"orientationChange\", this.updateHeight);\n }\n\n updateHeight() {\n this.setState({ height: window.innerHeight });\n }\n\n render() {\n const { props } = this;\n return (\n \n
\n \n \n {props.children}\n \n
\n
\n );\n }\n}\n\nexport default AppContainer;\n\nAppContainer.defaultProps = {\n links: [{ url: '/', title: 'MyDeal' }],\n};\n","import React, { Component } from 'react';\n\nimport withLanguage from 'translations/withLanguage';\nimport { translationString } from 'translations/TranslationText';\n\nimport { buttonKeyHandler } from 'util/onKeyPress';\n\nimport ResponsiveEllipsis from 'shared/components/ResponsiveEllipsis';\n\n/**\n * A container to tab between different views\n */\n\nclass NewTabsContainer extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n activeTab: 0,\n }\n\n this.changeTab = this.changeTab.bind(this);\n }\n\n changeTab = (tab, event) => {\n this.setState({\n activeTab: tab\n }); \n }\n\n render() {\n const { language } = this.props;\n let tabsCount = this.props.children.length,\n tabWidth = tabsCount > 1 ? 100 / tabsCount + '%' : '50%',\n tabs = [],\n tabContent = [],\n children = this.props.children;\n\n if (!children.length) {\n children = [children];\n }\n\n children.forEach((child, index) => {\n if (child && child.props) {\n const { tabActiveIndex, changeTabActiveIndex } = child.props;\n let activeTab = this.state.activeTab;\n\n if ((tabActiveIndex === 0 || tabActiveIndex) && changeTabActiveIndex) {\n activeTab = tabActiveIndex;\n }\n\n tabs.push(\n buttonKeyHandler(e, () => {\n if (changeTabActiveIndex) {\n changeTabActiveIndex(index);\n } else {\n this.changeTab(index);\n }\n\n if (child.props.onTabClicked) {\n child.props.onTabClicked();\n }\n })}\n onClick={() => {\n if (changeTabActiveIndex) {\n changeTabActiveIndex(index);\n } else {\n this.changeTab(index);\n }\n\n if (child.props.onTabClicked) {\n child.props.onTabClicked();\n }\n }}\n >\n
\n \n {\n child.props.titleKey && child.props.title ? (\n \n ) : (\n \n )\n }\n \n
\n \n )\n if (activeTab === index) {\n tabContent.push(child);\n }\n }\n });\n\n\n return (\n \n { /* TODO REFACTOR H4 -> div */ }\n \n {tabs}\n \n \n {tabContent}\n \n \n )\n }\n\n}\n\nexport default withLanguage(NewTabsContainer);\n","import React, { Fragment, useState, useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { Nav, Navbar } from 'react-bootstrap';\nimport { browserHistory, Link, withRouter } from 'react-router';\nimport styled from 'styled-components';\n\nimport { SecondarySlateButton } from '../../components/HsbcButton';\nimport logo from '../../images/HSBC_Logo.svg';\n\nimport { mapLinkToAnalyticEvent } from 'util/homeModules';\nimport { buttonKeyHandler } from 'util/onKeyPress';\n\nimport { eventTriggered } from 'actions/AnalyticsActions';\n\nimport { featurePageIds } from 'constants/featurePages';\n\nimport { typography } from 'shared/styles/variables/theme';\n\nimport { version } from 'constants/buildDetails.json';\nimport { getIsvCurrentDeal, isIsvExternalUser } from 'Isv/selectors';\nimport { requestIsvDealClick } from \"Isv/actions/IsvUtilityActions\";\nimport { handleECBStatus } from 'Isv/actions/IsvDocumentsAction';\nimport { handleReferenceInformationStatus } from 'Isv/actions/IsvDocumentsAction';\n\nconst NavContainer = styled(Navbar)`\n height: 100px;\n & .container {\n position: relative;\n width: 100%;\n }\n & .navbar-header {\n max-width: 100%\n }\n`;\n\nconst BodgedHeaderStyle = styled.div`\n position: absolute;\n bottom: 0px;\n height: 40px;\n width: 10000px;\n overflow: visible;\n left: -1000px;\n background-color: #253038;\n border-top: solid 1px rgba(255,255,255,0.1);\n`;\n\nconst VersionHover = styled(Link)`\n .version-text {\n position: fixed;\n top: 46px;\n left: 40px;\n font-size: 10px;\n visibility: hidden;\n }\n &:hover {\n .version-text {\n visibility: visible;\n }\n }\n`;\n\nconst Logo = styled.img`\n position: relative;\n top: -23px;\n height: 71px;\n width: auto;\n left: -24px;\n`;\n\nconst Container = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n height: 100%;\n font-size: ${typography.sizes['12px']};\n *[tabindex=\"0\"]:focus {\n outline: 1px dotted #7d7d7d;\n }\n`;\n\nconst NavItem = styled.div`\n height: 100%;\n border-right: 1px solid rgba(255, 255, 255, .1);\n &:first-child {\n border-left: 1px solid rgba(255, 255, 255, .1);\n }\n`;\n\nconst EnhancedNav = styled(Nav)`\n *[tabindex=\"0\"]:focus {\n outline: 1px dotted #7d7d7d;\n }\n position: relative;\n padding-right: 0;\n background-color: #253038;\n border-top: solid 1px rgba(255, 255, 255, 0.1);\n width: 100%;\n max-width: 100%;\n`;\n\nconst FakeLink = styled.span`\n color: ${props => props.active ? '#fff' : '#969696'};\n width: 100%;\n height: 39px;\n padding-left: 0;\n padding-right: 0;\n border-bottom: ${props => props.active ? '4px solid #DB0011' : '4px solid transparent'};\n padding-top: 9.5px;\n padding-bottom: 11.5px;\n line-height: 20px;\n position: relative;\n display: block;\n cursor: pointer;\n &:hover {\n text-decoration: ${props => !props.active ? 'underline' : 'none'};\n }\n`;\n\nconst getLinkIconAndStatus = (linkItem, activeRoute) => {\n const link = activeRoute.toLowerCase();\n const linkUrl = linkItem.url.toLowerCase();\n return (link === '/' || linkUrl === '/')\n ? link === linkUrl\n : (link.indexOf(linkUrl) > -1) || false;\n};\n\nconst IsvNavMain = (props) => {\n\n const [headerLinks, setHeaderLinks] = useState(props.links);\n\n useEffect(() => {\n const { isvDealData, links, handleECBStatus, handleReferenceInformationStatus } = props;\n let ecbDocuments = [];\n let isECBEnabled = false;\n const navbarData = JSON.parse(JSON.stringify(links));\n if (isvDealData && isvDealData.clientDocumentFile && isvDealData.clientDocumentFile.length) {\n ecbDocuments = isvDealData.clientDocumentFile.filter((doc) => doc.monthYear !== null)\n const isEcb2ReturnEnable = ecbDocuments && ecbDocuments.length;\n if (isEcb2ReturnEnable) {\n navbarData[navbarData.findIndex(el => el.title === 'ECB 2 Return')].visibleInMainMenu = true;\n isECBEnabled = true;\n }\n }\n if (!props.isIsvExternalUser) {\n navbarData[navbarData.findIndex(el => el.title === 'Reference Information')].visibleInMainMenu = true;\n handleReferenceInformationStatus(true);\n }\n setHeaderLinks(navbarData);\n handleECBStatus(isECBEnabled);\n\n }, [props.isvDealData])\n\n const activeRoute = props.location.pathname;\n const navlinks = headerLinks.map((link, index) => {\n const isActive = getLinkIconAndStatus(link, activeRoute);\n const idAttr = link.url.substring(1) ? link.url.substring(1) :'dashboard';\n\n if ((link.visibleInMainMenu && props.isvDealData && props.isvDealData.dealId) || link.url === '/') {\n return (\n \n !isActive && props.navigateToUrl(link.url)}\n onKeyDown={e => buttonKeyHandler(e, () => !isActive && props.navigateToUrl(link.url))}\n active={isActive}\n >\n {link.title}\n \n \n );\n } else {\n // Do not create a link - flagged as NOT visible in MainMenu\n return false;\n }\n },\n ).filter((nav) => nav);\n return (\n \n \n \n \n { e.preventDefault(); props.navigateToUrl(featurePageIds.LANDING_PAGE) }}\n title=\"Click to view the home page\"\n >\n \n {props.title}\n {\n version &&\n \n MyDeal version: {version}\n \n }\n \n \n\n \n {props.isDeals ?\n \n {props.popoverElement}\n : null\n }\n \n Logout\n \n \n \n \n \n { !props.isIsvExternalUser || (props.isvDealData && props.isvDealData.acceptedBy && props.isvDealData.startDate) ? navlinks : navlinks[0]}\n \n \n \n );\n};\n\nconst mapStateToProps = (state, ownProps) => ({\n isDeals: state.isvUtility.allDeals.length > 0,\n isvDealData: getIsvCurrentDeal(state),\n isIsvExternalUser: isIsvExternalUser(state)\n})\n\nconst mapDispatchToProps = (dispatch, state) => ({\n navigateToUrl: url => {\n browserHistory.push(url);\n dispatch(eventTriggered(mapLinkToAnalyticEvent(url)));\n\n },\n requestIsvDealClick : dealId => {\n dispatch(requestIsvDealClick(dealId))\n },\n handleECBStatus: (status) => {\n dispatch(handleECBStatus(status))\n },\n handleReferenceInformationStatus: (status) => {\n dispatch(handleReferenceInformationStatus(status))\n }\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(\n withRouter(routerProps => )\n);\n\nIsvNavMain.defaultProps = {\n links: [{ url: '/', title: 'Dashboard' }],\n user: 'Username',\n};\n","import React from 'react';\nimport { Grid } from 'react-bootstrap';\nimport IsvNavMain from '../IsvNavMain/IsvNavMain';\nimport { allowedUiDealFeatures } from '../../../Isv/constants/isvNavLinks';\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport Snackbar from '@mui/material/Snackbar';\nimport Scrollable from 'shared/components/Scrollable';\nimport '../../styles/application.scss';\nimport { closeSnackBar } from 'Isv/actions/SnackBarAction'\nimport { getIsvCurrentDeal, selectSnackBarStatus, selectSnackBarMessage } from 'Isv/selectors';\n\nconst CONTAINER_STYLE = {\n position: 'absolute',\n bottom: 0,\n top: 0,\n right: 0,\n left: 0,\n}\n\nconst FLUID_STYLE = {\n padding: '0 40px',\n minHeight: 'calc(100% - 100px)',\n}\n\nclass IsvAppContainer extends React.PureComponent {\n constructor(props) {\n super(props);\n\n this.state = {\n height: window.innerHeight,\n };\n\n this.updateHeight = this.updateHeight.bind(this);\n }\n\n componentDidMount() {\n window.addEventListener(\"resize\", this.updateHeight);\n window.addEventListener(\"orientationChange\", this.updateHeight);\n }\n \n componentWillUnmount() {\n window.removeEventListener(\"resize\", this.updateHeight);\n window.removeEventListener(\"orientationChange\", this.updateHeight);\n }\n\n updateHeight() {\n this.setState({ height: window.innerHeight });\n }\n\n render() {\n const { props } = this;\n return (\n \n
\n \n \n {props.children}\n \n \n
\n
\n );\n }\n}\n\nexport default compose(\n connect(\n state => ({\n isvDealData: getIsvCurrentDeal(state),\n open: selectSnackBarStatus(state),\n message: selectSnackBarMessage(state)\n }),\n (dispatch) => ({\n closeSnackBar: () => {\n dispatch(closeSnackBar())\n }\n })\n )\n)(IsvAppContainer);\n\nIsvAppContainer.defaultProps = {\n links: [{ url: '/', title: 'Dashboard' }],\n};\n","import * as SvgIcons from './SvgIcon';\n\nexport default {\n StatusIcon: SvgIcons.StatusIcon\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Slider from 'react-slick';\n\nimport withLanguage from 'translations/withLanguage';\n\nimport HsbcButton from '../HsbcButton/HsbcButton.js';\nimport Icon from '../Icon/Icon';\n\nimport keyboardKeys from 'shared/accessibility/constants/keys';\n/**\n * Scrolling Navigation - A variation on a special case button group\n */\nclass ScrollingNav extends Component {\n\n constructor(props) {\n super(props);\n\n this.pagination = false;\n this.updatePagination = this.updatePagination.bind(this);\n }\n\n keyboardEvent = (event, index) => {\n event.preventDefault();\n const { which } = event;\n\n switch (which) {\n case keyboardKeys.left: {\n const prevElement = index === 0 ? this.props.titles[0] : this.props.titles[index - 1];\n const element = document.querySelector(`#carousel-${prevElement.id}`);\n\n element && element.focus();\n\n break;\n }\n case keyboardKeys.right: {\n const nextElement = index === this.props.titles.length - 1 ? this.props.titles[this.props.titles.length - 1] : this.props.titles[index +1];\n const element = document.querySelector(`#carousel-${nextElement.id}`);\n\n element && element.focus();\n\n break;\n }\n default :\n // Do nothing\n }\n }\n\n // might need to throw this in the render\n updatePagination() {\n const prevPagination = this.pagination;\n\n if (this.refs && this.refs.scrollNav) {\n let $track = this.refs.scrollNav.getElementsByClassName('slick-track')[0];\n let btnWidth;\n\n if ($track && $track.children && $track.children.length) {\n let $list = this.refs.scrollNav.getElementsByClassName('slick-list')[0];\n\n\n btnWidth = Array.prototype.reduce.call($track.children, (tot, btn) => {\n return tot + btn.offsetWidth\n }, 0)\n\n if (btnWidth >= $list.offsetWidth) {\n this.pagination = true;\n }\n else {\n // remove scrolling buttons when screen becomes large again\n this.pagination = false;\n }\n }\n }\n\n if (this.pagination !== prevPagination) {\n this.forceUpdate();\n }\n }\n\n componentDidMount() {\n this.updatePagination();\n\n window.addEventListener(\"resize\", this.updatePagination);\n window.addEventListener(\"orientationChange\", this.updatePagination);\n }\n componentWillUnmount() {\n window.removeEventListener(\"resize\", this.updatePagination);\n window.removeEventListener(\"orientationChange\", this.updatePagination);\n }\n\n componentDidUpdate() {\n this.updatePagination();\n }\n\n getEventTypeIcon(event) {\n // reference C:\\Projects\\hsbc-mydeal\\src\\util\\siteConstants.js for eventType mappings\n let eventIcon = \"\";\n let iconStyle = { color: event.pastDay ? '#999999' : '#4F595F' }\n if (event.hasFlights) {\n eventIcon = 'Plane';\n iconStyle.fontSize = 14\n }\n else if (event.hasTrain) {\n eventIcon = 'Train';\n iconStyle.fontSize = 14\n }\n else if (event.hasCars) {\n eventIcon = 'Car';\n iconStyle.fontSize = 10\n }\n\n\n return {\n eventIcon,\n iconStyle,\n };\n }\n\n render() {\n let sliderBtnWidth = this.props.btnWidth || 114;\n\n const buttons = this.props.titles.map((title, index) => {\n const active = this.props.active.id === title.id;\n\n const icon = this.getEventTypeIcon(title);\n let buttonClass = this.props.className;\n let noEvents = title.meetingCount === 0;\n buttonClass += (active ? \" active\" : \"\");\n // buttonClass += (noEvents ? \" no-events\" : \"\");\n buttonClass += title.pastDay ? \" past-day\" : \"\";\n let statusText = title.status;\n // If we receive an array for the status (roadshow multiple cities)\n if(title.status && title.status.map){\n if(title.status.length - 1 > 0){\n statusText = `${title.status[0]} +${title.status.length - 1}`\n }\n }\n\n if(statusText && statusText.length === 0){\n statusText = null\n }\n\n return (\n
\n this.keyboardEvent(e, index)}\n tabIndex={active ? 0 : -1}\n >\n
\n \n {title.title}\n \n
\n {title.title === 'Book Evolution' ? this.props.issuerName : statusText ||
 
}
\n\n
\n {!noEvents ? title.details ||
 
:
 
}\n
\n {icon.eventIcon && }\n
\n
\n\n
\n
\n \n
\n )\n\n });\n\n let navGrpStyle = {\n width: this.props.width,\n backgroundColor: this.props.color,\n overflow: 'hidden',\n }\n\n let settings = {\n dots : false,\n arrows : this.pagination,\n infinite : false,\n speed : 250,\n swipeToSlide : true,\n touchMove : true,\n variableWidth: true,\n draggable : this.pagination,\n }\n\n if (!this.pagination) {\n // settings.slickGoTo = 0;\n if (this.refs.scrollNav && this.refs.scrollNav.slickGoTo) {\n this.refs.scrollNav.slickGoTo(0);\n }\n }\n\n return (\n
\n \n \n
\n }\n nextArrow={\n
\n \n
\n }\n >\n {\n buttons.filter(btn => btn)\n }\n \n \n );\n\n }\n\n}\n\nScrollingNav.propTypes = {\n\t/**\n\t * string `title` : Button Label\n\t *\n\t * string `status` : Button Subtext\n\t */\n titles: PropTypes.arrayOf(PropTypes.object),\n width: PropTypes.string,\n color: PropTypes.string,\n issuerName: PropTypes.string,\n};\nScrollingNav.defaultProps = {\n titles: [{}],\n width: \"100%\",\n color: \"#fff\",\n};\n\nexport default withLanguage(ScrollingNav);\n","/* eslint-disable */\nimport React from 'react';\nimport { ResponsiveContainer, ComposedChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend, Text } from 'recharts';\nimport ColorChip from '../ColorChip/ColorChip';\nimport PropTypes from 'prop-types';\nimport { NiceScale } from '../../utils/niceScale';\nimport * as ValueFormatters from '../../utils/valueFormatters';\nimport { colors, extendedColors } from '../../utils/visualisationColors';\n\nconst selectPalette = extended => extended ? extendedColors : colors;\n\nconst DefaultBar = (props) => {\n const { fill, x, y, width, height } = props;\n\n return (\n \n ;\n \n \n );\n};\n\nconst BackBar = (props) => {\n const { fill, x, y, width, height } = props;\n\n return (\n \n ;\n \n \n );\n\n // return ;\n};\n\nconst FrontBar = (props) => {\n const { fill, x, y, width, height } = props;\n\n return (\n \n ;\n \n \n );\n\n // return ;\n};\n\nFrontBar.propTypes = {\n fill: PropTypes.string,\n x: PropTypes.number,\n y: PropTypes.number,\n width: PropTypes.number,\n height: PropTypes.number,\n};\n\nconst renderLegend = (props) => {\n const { payload, title, hasTarget, colorPalette } = props;\n return (\n
\n {title && ({title})}\n
    \n {\n [...payload].reverse().map((entry, index) => {\n return (\n \n )\n })\n }\n
\n
\n );\n}\n\nconst topBarLegend = (index, height, marginTop, engagementModule, props) => {\n const { x, payload, width } = props;\n\n if (index === 0) {\n const xCoord = x - (width / 2);\n\n let iconFont = payload.name === 'plane' ? 'Glyphter' : 'icomoon'\n\n\n return (\n \n\n {payload.topText && ({payload.topText})}\n {/* Bottom Text Maybe a tracker object with last Month in it?*/}\n\n {/*engagementModule && () */}\n\n {(engagementModule && payload.name === 'desktop') && (\n \n )}\n\n {(engagementModule && payload.name === 'chatbubble') && (\n \n )}\n\n {(engagementModule && payload.name === 'notebook') && (\n \n )}\n\n {(engagementModule && payload.name === 'plane') && (\n A\n )}\n\n\n {!engagementModule && ({payload.name})}\n {payload.bottomText && ({payload.bottomText})}\n\n\n \n )\n }\n}\nconst renderLabel = (props) => {\n const { x, y, width, height, legendTitle } = props;\n const fullWidth = width + x;\n return (\n \n \n {legendTitle}\n \n );\n}\n\nconst customYTick = (props) => {\n const { payload } = props;\n return (\n {payload.value + '%'}\n )\n}\n\nconst customXTick = (props) => {\n const { payload, fill, ...other } = props;\n return (\n {payload.value}\n )\n}\n\nconst adjustYAxisOnMaxData = (data, baseAxisWidth = 60, fontSize = 14) => {\n let axisWidth = baseAxisWidth;\n let arrayOfValues = [];\n data.map((set) => {\n const setVals = Object.keys(set).map((k) => parseInt(set[k]))\n .filter(i => (typeof i == \"number\" && i));\n arrayOfValues.push(...setVals);\n });\n\n const maxLength = Math.max(...arrayOfValues).toString().length;\n\n if (maxLength > 6) {\n axisWidth = (maxLength - 6) * fontSize * (1.2) + baseAxisWidth;\n }\n\n return axisWidth\n}\n\nconst StackedBar = (props) => {\n const { data, keys, title, barGap, barSize, legendHeight, legendTitle, xLegend, hasTarget, animate, wideColorPalette } = props;\n const colorPalette = wideColorPalette ? extendedColors : colors;\n const fontSize = 14;\n const yAxixWidth = adjustYAxisOnMaxData(data, 60, fontSize);\n const animationDuration = 650;\n let barStyle = ;\n if (hasTarget) {\n barStyle = ;\n }\n\n let niceScale = {};\n let maxVal = 0;\n if (!props.feedbackChart) {\n let reducedData = data.map((dataObj) => {\n let total = 0;\n for (let key in dataObj) {\n if (key !== 'name' && key !== 'target') {\n total += dataObj[key]\n }\n }\n return total\n })\n\n reducedData.sort((a, b) => {\n if (a > b) {\n return -1\n }\n else if (a < b) {\n return 1\n }\n else {\n return 0\n }\n })\n\n maxVal = reducedData[0]; // MAX VAL\n niceScale = (new NiceScale(0, maxVal, props.maxYTicks).niceScale());\n }\n\n const tickFormatter = val => {\n if (props.feedbackChart) {\n return `${val}%`;\n }\n\n if (props.tickFormatter) {\n return props.tickFormatter(val);\n }\n\n return ValueFormatters.commaFormatter(val)\n }\n\n const bars = (keys) => {\n \n return (\n keys.map((key, i) => {\n const index = keys.length - 1 - i;\n // if the key does not have an assigned color, pick one from the color array\n let barAnimate = animationDuration / keys.length;\n let barAnimateDelay = animationDuration - ((i + 1) * barAnimate)\n return (\n props.feedbackChart ? (\n \n ) : (\n \n )\n )\n })\n );\n };\n\n return (\n \n \n {/* tickFormatter={()=> \"TOCK\"} */}\n {xLegend\n ? ()\n : false}\n\n \n\n {!props.engagementModule && ()}\n \n {hasTarget &&\n } fill={colors[0]} />\n }\n {bars(keys)}\n \n \n );\n};\n\nexport default StackedBar;\n\nStackedBar.defaultProps = {\n animate: false,\n title: \"\",\n hasTarget: false,\n units: \" (m)\",\n xLegend: false,\n height: 400,\n primary: true,\n barGap: 0,\n legendHeight: 40,\n keys: [\n { key: 'da', value: 'A' },\n { key: 'db', value: 'B' },\n { key: 'dc', value: 'C' },\n { key: 'dd', value: 'D' },\n { key: 'de', value: 'E' },\n { key: 'df', value: 'F' },\n { key: 'dg', value: 'G' },\n { key: 'dh', value: 'H' },\n ],\n};\n","import React from 'react';\nimport { ResponsiveContainer, PieChart, Pie, Cell } from 'recharts';\nimport { colors, extendedColors } from '../../utils/visualisationColors';\n\nfunction renderCustomizedLabel({ payload, ...item }) {\n return (\n \n {item.name}\n \n )\n}\n\nconst DonutChart = (props) => {\n const { data, animate, wideColorPalette } = props;\n const colorsPalette = wideColorPalette ? extendedColors : colors;\n\n const slices = () => (\n data.map((entry, index) => {\n const color = colorsPalette(index, entry.name);\n return ;\n })\n );\n\n return (\n
\n \n \n \n {slices()}\n \n \n \n
\n );\n};\n\nexport default DonutChart;\n\nDonutChart.defaultProps = {\n animate: false,\n wideColorPalette: true,\n};\n","export const isIE = content => `\n @media all and (-ms-high-contrast: none), (-ms-hight-contrast: active) {\n ${/* IE 10/11 */''}\n ${content}\n }\n\n @supports (-ms-accelerator: true) {\n ${/* Edge 12- 15 */''}\n ${content}\n }\n @supports (-ms-ime-align: auto) {\n ${/* Edge 16+ */''}\n ${content}\n }\n`;\n\nexport const isChromeOrSafari = content => `\n @supports (-webkit-appearance-) {\n ${content}\n }\n`;","import React, { Fragment, Component } from 'react'\nimport styled from 'styled-components';\n\nimport { isIE } from 'shared/styles/mixins/browser';\n\nconst StyledLabel = styled.label`\n display: inline-block;\n cursor: pointer;\n position: relative;\n padding-left: 2rem;\n line-height: 2.4rem;\n font-size: 1rem;\n font-family: \"Univers Next for HSBC Regular\",sans-serif;\n font-weight: 500;\n color: #333;\n outline: none;\n &:before {\n content: \"\";\n display: inline-block;\n width: 1.4rem;\n height: 1.4rem;\n position: absolute;\n left: 0;\n bottom: .5rem;\n border: 1px solid #929292;\n margin-right: 1rem;\n }\n`\n\nconst StyledInput = styled.input`\n display: none;\n &:checked+label:before {\n content: \"\\f00a\";\n font-family: 'HSBC Icons';\n font-size: 1.4rem;\n line-height: 1.4rem;\n color: #008580;\n text-align: center;\n\n ${\n isIE(`\n line-height: 1.1;\n `)\n }\n }\n`;\n\nclass Checkbox extends Component {\n\n onClick = () => {\n if(this.props.disabled !== false) {\n this.props.onCheckedChange && this.props.onCheckedChange(!this.props.checked);\n }\n }\n\n render() {\n return (\n \n \n \n {this.props.label}\n \n \n );\n }\n}\n\nexport default Checkbox;\n","import React, { Component } from 'react';\n\nimport PropTypes from 'prop-types';\n// import { ButtonGroup } from 'react-bootstrap';\nimport HsbcButton from '../HsbcButton/HsbcButton.js';\n\n/**\n * The only true button group.\n */\n\nclass HsbcButtonGroup extends Component {\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t}\n\n\t}\n\n\n\trender() {\n\t\tconst buttons = this.props.titles.map((title, index) => {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{title.title}\n\t\t\t\t\t
\n\t\t\t\t\t\t{title.status}\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t)\n\t\t});\n\n\t\tlet btnGrpStyle = {\n\t\t\twidth: this.props.width,\n\t\t\tbackgroundColor: this.props.color,\n\n\t\t}\n\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t\t{buttons}\n\t\t\t
\n\t\t);\n\t}\n\n}\n\nHsbcButtonGroup.propTypes = {\n\t/**\n\t * string `title` : Button Label\n\t *\n\t * string `status` : Button Subtext (Tranche nav)\n\t */\n\ttitles: PropTypes.arrayOf(PropTypes.object),\n\twidth: PropTypes.string,\n\tcolor: PropTypes.string,\n\t/**\n\t * Bool value to disable tranche nav horizontal scroll\n\t */\n\tdisablePagination: PropTypes.bool\n};\nHsbcButtonGroup.defaultProps = {\n\ttitles: [{ title: \"Home\" }, { title: \"1st\" }, { title: \"2nd\" }],\n\twidth: \"100%\",\n\tcolor: \"#fff\",\n\tdisablePagination: false,\n};\n\nexport default HsbcButtonGroup;\n","/* @flow weak */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function Flag({\n props,\n onClick,\n className,\n size,\n children,\n}) {\n\n let flagStyle = {\n color: '#000',\n height:'21px',\n fontFamily: 'Univers Next',\n fontSize : '12px',\n lineHeight:'14px',\n display: 'inline-block',\n marginLeft : '10px',\n position:'relative',\n verticalAlign:'middle',\n }\n\n let textContainerStyle = {\n height:'100%',\n backgroundColor : '#EDB343',\n // float:'left',\n padding:'4px 10px'\n }\n\n // let tailStyle = {\n // height:'100%',\n // // float:'left',\n // position:'absolute',\n // left:'calc(100% - 1px)',\n // top : '0px'\n\n // }\n\n return (\n
\n {children && (
{children}
)}\n {/* */}\n
\n )\n\n}\n\nFlag.propTypes = {\n\t/**\n\t * Flag label\n\t */\n\tchildren: PropTypes.string,\n};\n\nFlag.defaultProps = {\n children: \"\"\n};\n","/* eslint-disable */\n//\n// Home\n//\n// import _HeroBanner from './Home/HeroBanner/HeroBanner';\n// export { _HeroBanner as HeroBanner };\n// import _HomeModule from './Home/HomeModule/HomeModule';\n// export { _HomeModule as HomeModule };\n// import _HomeModuleCarousel from './Home/HomeModuleCarousel/HomeModuleCarousel';\n// export { _HomeModuleCarousel as HomeModuleCarousel };\n// import _LatestEcmOrders from './Home/LatestEcmOrders/LatestEcmOrders';\n// export { _LatestEcmOrders as LatestEcmOrders };\n// import _DocumentsModule from './Home/DocumentsModule/DocumentsModule';\n// export { _DocumentsModule as DocumentsModule };\n// import _LatestDcmOrders from './Home/LatestDcmOrders/LatestDcmOrders';\n// export { _LatestDcmOrders as LatestDcmOrders };\n// import _LatestDcm2Orders from './Home/LatestDcm2Orders/LatestDcm2Orders';\n// export { _LatestDcm2Orders as LatestDcm2Orders };\n// import _LatestFeedback from './Home/LatestFeedback/LatestFeedback';\n// export { _LatestFeedback as LatestFeedback };\n// import _EngagementChart from './Home/EngagementChart/EngagementChart';\n// export { _EngagementChart as EngagementChart };\n\n\n//\n// Investor Engagement\n//\n// import _EngagementTable from './InvestorEngagement/EngagementTable/EngagementTable';\n// export { _EngagementTable as EngagementTable }\n// import _InvestorCardView from './InvestorEngagement/InvestorCardView/InvestorCardView';\n// export { _InvestorCardView as InvestorCardView }\n// import _InvestorEngagementIconBlock from './InvestorEngagement/InvestorEngagementIconBlock/InvestorEngagementIconBlock';\n// export { _InvestorEngagementIconBlock as InvestorEngagementIconBlock }\n// import _OrderDetail from './InvestorEngagement/OrderDetail/OrderDetail';\n// export { _OrderDetail as OrderDetail };\n// import _EmptyStateTab from './InvestorEngagement/EmptyStateTab/EmptyStateTab';\n// export { _EmptyStateTab as EmptyStateTab };\n// import _EngagementDetail from './InvestorEngagement/EngagementDetail/EngagementDetail';\n// export { _EngagementDetail as EngagementDetail };\n// import _EmptyEngagementDetail from './InvestorEngagement/EmptyEngagementDetail/EmptyEngagementDetail';\n// export { _EmptyEngagementDetail as EmptyEngagementDetail };\n\n//\n// Utils\n//\nimport * as _VisualisationColors from './utils/visualisationColors';\nexport { _VisualisationColors as VisualisationColors };\nimport * as _ValueFormatters from './utils/valueFormatters';\nexport { _ValueFormatters as ValueFormatters };\nimport * as _SiteConstants from './utils/siteConstants';\nexport { _SiteConstants as SiteConstants };\nimport * as _Sorters from './utils/sorters';\nexport { _Sorters as Sorters };\nimport { NiceScale as _NiceScale } from './utils/niceScale';\nexport { _NiceScale as NiceScale };\n\n//\n// Investor Feedback\n//\n// import _FeedbackDetail from './InvestorFeedback/FeedbackDetail/FeedbackDetail';\n// export { _FeedbackDetail as FeedbackDetail }\n// import _FeedbackHighlight from './InvestorFeedback/FeedbackHighlight/FeedbackHighlight';\n// export { _FeedbackHighlight as FeedbackHighlight }\n// import _FeedbackHighlightContainer from './InvestorFeedback/FeedbackHighlightContainer/FeedbackHighlightContainer';\n// export { _FeedbackHighlightContainer as FeedbackHighlightContainer }\n// import _FeedbackChartSentiment from './InvestorFeedback/FeedbackChartSentiment/FeedbackChartSentiment';\n// export { _FeedbackChartSentiment as FeedbackChartSentiment }\n// import _AccessibleChartData from './InvestorFeedback/FeedbackChartSentiment/AccessibleChartData';\n// export { _AccessibleChartData as AccessibleChartData }\n// import _FeedbackChartPriceDemand from './InvestorFeedback/FeedbackChartPriceDemand/FeedbackChartPriceDemand';\n// export { _FeedbackChartPriceDemand as FeedbackChartPriceDemand }\n// import _FeedbackChartThemeDistribution from './InvestorFeedback/FeedbackChartThemeDistribution/FeedbackChartThemeDistribution';\n// export { _FeedbackChartThemeDistribution as FeedbackChartThemeDistribution }\n\n//\n// Layout\n//\nimport _AppContainer from './layouts/AppContainer/AppContainer';\nexport { _AppContainer as AppContainer };\nimport _NavMain from './layouts/NavMain/NavMain';\nexport { _NavMain as NavMain };\nimport _StandardTable from './layouts/StandardTable/StandardTable';\nexport { _StandardTable as StandardTable };\nimport _Tab from './layouts/Tab/Tab';\nexport { _Tab as Tab };\nimport _NewTabsContainer from './layouts/NewTabsContainer/NewTabsContainer';\nexport { _NewTabsContainer as NewTabsContainer };\n\nimport _IsvAppContainer from './layouts/IsvAppContainer/IsvAppContainer';\nexport { _IsvAppContainer as IsvAppContainer };\n// import _ScrollingContainer from './layouts/ScrollingContainer/ScrollingContainer';\n// export { _ScrollingContainer as ScrollingContainer }\n// import _DynamicScrollContainer from './layouts/DynamicScrollContainer/DynamicScrollContainer';\n// export { _DynamicScrollContainer as DynamicScrollContainer };\n// import _TabsContainer from './layouts/TabsContainer/TabsContainer';\n// export { _TabsContainer as TabsContainer };\n// import _HorizontalScrollTable from './layouts/HorizontalScrollTable/HorizontalScrollTable';\n// export { _HorizontalScrollTable as HorizontalScrollTable };\n\n//\n// My Docs\n//\n// import _CategoryList from './MyDocs/CategoryList/CategoryList';\n// export { _CategoryList as CategoryList };\n// import _DocumentsContainer from './MyDocs/DocumentsContainer/DocumentsContainer';\n// export { _DocumentsContainer as DocumentsContainer }\n// import _Document from './MyDocs/Document/Document';\n// export { _Document as Document }\n\n//\n// Components\n//\nimport _LoadingAnimation from './components/LoadingAnimation/LoadingAnimation';\nexport { _LoadingAnimation as LoadingAnimation }\nimport _Icon from './components/Icon/Icon';\nexport { _Icon as Icon };\nimport * as _SvgIcons from './components/SvgIcon';\nexport {_SvgIcons as SvgIcons};\nimport _ScrollingNav from './components/ScrollingNav/ScrollingNav';\nexport { _ScrollingNav as ScrollingNav };\nimport _StackedBarChart from './components/StackedBarChart/StackedBar';\nexport { _StackedBarChart as StackedBarChart };\nimport _ColorChip from './components/ColorChip/ColorChip';\nexport { _ColorChip as ColorChip };\nimport _DonutChart from './components/DonutChart/DonutChart';\nexport { _DonutChart as DonutChart };\nimport _HsbcButton, {\n PrimaryButton as _PrimaryButton,\n SecondarySlateButton as _SecondarySlateButton,\n SecondaryButton as _SecondaryButton,\n LegacyButton as _LegacyButton\n} from './components/HsbcButton';\nexport { _HsbcButton as HsbcButton };\nexport { _PrimaryButton as PrimaryButton };\nexport { _SecondarySlateButton as SecondarySlateButton };\nexport { _SecondaryButton as SecondaryButton };\nexport { _LegacyButton as LegacyButton };\n\nimport _Checkbox from './components/HsbcCheckbox';\nexport { _Checkbox as Checkbox }\n\nimport _HsbcButtonGroup from './components/HsbcButtonGroup/HsbcButtonGroup';\nexport { _HsbcButtonGroup as HsbcButtonGroup };\nimport _Flag from './components/Flag/Flag';\nexport { _Flag as Flag };\n// import _PopOverSystem from './components/PopOverSystem/PopOverSystem';\n// export { _PopOverSystem as PopOverSystem };\n// import _PopOverWrapper from './components/PopOverWrapper/PopOverWrapper';\n// export { _PopOverWrapper as PopOverWrapper };\n// import _Carousel from './components/Carousel/Carousel';\n// export { _Carousel as Carousel };\n// import _DetailsTable from './components/DetailsTable/DetailsTable';\n// export { _DetailsTable as DetailsTable }\n\n\n//\n// Roadshow\n//\n// import _DetailsView from './EventDetails/DetailsView/DetailsView';\n// export { _DetailsView as DetailsView }\n","import React, { PureComponent } from 'react';\nimport ReactDOM from 'react-dom';\nimport { compose } from 'recompose';\nimport styled from 'styled-components';\n\nimport { FontIcon } from 'shared/components/Icon';\n\nimport withModals from 'shared/hoc/withModals';\nimport Popup from 'shared/components/Popup';\nimport DropdownSystem from './DropdownSystem';\nimport Scrollable from 'shared/components/Scrollable';\nimport { Row, Col } from 'shared/components/Grid';\n\nimport { styledEllipsis } from 'shared/styles/mixins/ellipsis';\nimport keys from 'shared/accessibility/constants/keys';\nimport { outlines, typography } from 'shared/styles/variables/theme'\n\nconst CustomIcon = styled(FontIcon)`\n display: inline-block;\n\n font-size: 10px;\n margin-top: 2px;\n margin-right: 2px;\n\n transition: transform .3s linear;\n\n &.opened {\n transform: rotateX(180deg) rotateZ(90deg);\n }\n &.closed {\n transform: rotateX(0deg) rotateZ(90deg);\n }\n`;\n\nconst Chevron = ({ reversed, isDropdownOpen, isMasthead }) => (\n \n);\n\nexport const ItemContent = styled.span`\n display: inline-block;\n width: 100%;\n ${styledEllipsis}\n`;\n\nconst MastheadStyleOverrides = {\n background: '#253038',\n color: '#969696',\n}\n\nconst ScrollContent = {\n maxHeight: '350px', \n overflowY: 'auto' \n}\n\nconst CustomButton = styled.button`\n font-size: ${typography.sizes['12px']};\n display: flex;\n flex-direction: row;\n align-items: center;\n\n &.btn-action.btn-masthead:before {\n content: '';\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n margin-right: -0.25em; /* Adjusts for spacing */\n }\n &.btn-action.btn-masthead {\n text-align:center;\n height: 100%;\n border: none;\n &.btn-action {\n\n color: #fff;\n background: transparent;\n }\n & span {\n display: inline-block;\n vertical-align: middle;\n }\n }\n &.btn-action {\n border-color: ${props => props.reversed ? '#969696' : '#333'};\n color: ${props => props.reversed ? '#969696' : '#333'};\n background: transparent;\n\n &:hover, &:active {\n border-color: ${props => props.reversed ? '#969696' : '#333'};\n color: ${props => props.reversed ? '#969696' : '#333'};\n background: transparent;\n }\n\n &:focus {\n border-color: ${props => props.reversed ? '#969696' : '#333'};\n color: ${props => props.reversed ? '#969696' : '#333'};\n background: ${props => props.reversed ? 'transparent' : '#f2f2f2'};\n outline: ${props => props.reversed ? '1px solid #7d7d7d' : '1 px solid black'};\n }\n }\n`;\n\nconst DropdownText = styled.span`\n display: inline-block;\n width: calc(100% - 10px);\n text-align: left;\n line-height: 1.3;\n margin: -4px 0;\n ${styledEllipsis}\n`;\n\nconst DropdownOption = styled.li`\n cursor: pointer;\n line-height: 20px;\n list-style: none;\n &:hover .LinesEllipsis {\n text-decoration: underline;\n }\n\n &:hover {\n background-color: ${props => props.isMasthead ? '#1D262C' : '#d9d9d9'};\n color: ${props => props.isMasthead ? '#FFF' : 'inherit'};\n }\n\n ${/*border-left: ${props => props.isSelected ? 'solid 4px rgb(224, 224, 223)': 'none'};*/''}\n\n ${props => (props.isSelected ?\n props.isMasthead ? 'border-left: solid 4px #DB0011': 'border-left: solid 4px rgb(224, 224, 223)' : '')};\n ${props => (props.isSelected && props.isMasthead ? 'background-color: #1D262C': 'transparent')};\n\n &:focus {\n ${props => props.reversed ? `outline: ${outlines.light};` : ''}\n }\n`;\n\nconst StyledRow = styled(Row)`\n position: relative;\n padding: 10px 15px;\n`;\n\nconst StyledColumn = styled(Col)`\n height: 20px;\n padding-left: 0;\n padding-right: 0;\n margin-right: 0;\n`;\n\nclass DropdownList extends PureComponent {\n\n constructor() {\n super()\n\n this.container = React.createRef()\n }\n\n select = i => {\n const node = ReactDOM.findDOMNode(this);\n node.querySelector(`#dropdown-item-${i}`).focus();\n }\n\n focusNext = i => {\n if (i === this.props.items.length - 1) return;\n this.select(i + 1);\n }\n focusPrev = i => {\n if (i === 0) return;\n this.select(i - 1);\n }\n focusFirst = () => this.select(0);\n focusLast = () => this.select(this.props.items.length - 1);\n\n printable = key => {\n const character = String.fromCharCode(key);\n\n // get index of current focused element\n\n this.keysSoFar = `${this.keysSoFar || ''}${character}`;\n this.clearKeysSoFarAfterDelay();\n\n // firstly check if from currently selected is match\n\n // otherwise find all before current focused element\n\n const nextMatch = this.findMatchInRange(0, this.props.items.length - 1);\n if (typeof nextMatch === 'number') {\n this.select(nextMatch);\n }\n }\n\n clearKeysSoFarAfterDelay = () => {\n if (this.keyClear) {\n clearTimeout(this.keyClear);\n this.keyClear = null;\n }\n this.keyClear = setTimeout(() => {\n this.keysSoFar = '';\n this.keyClear = null;\n }, 500);\n };\n\n findMatchInRange = (startIndex, endIndex) => {\n for (let n = startIndex; n < endIndex; n++) {\n const label = this.props.items[n].content;\n if (label && label.toUpperCase().indexOf(this.keysSoFar) === 0) {\n return n;\n }\n }\n return null;\n };\n\n keyboardEvent = (e, i) => {\n e.persist();\n e.preventDefault();\n\n const code = e.which || e.keyCode;\n\n switch(code) {\n case keys.tab: {\n if (e.shiftKey) {\n this.focusPrev(i);\n } else {\n this.focusNext(i);\n }\n break;\n }\n case keys.enter: {\n this.props.items[i].click();\n this.props.close();\n break;\n }\n case keys.esc: {\n this.props.close();\n break;\n }\n case keys.down: {\n this.focusNext(i);\n break;\n }\n case keys.up: {\n this.focusPrev(i)\n break;\n }\n case keys.end: {\n this.focusLast();\n break;\n }\n case keys.home: {\n this.focusFirst();\n break;\n }\n default: {\n this.printable(code);\n break;\n }\n }\n }\n\n componentDidMount() {\n if(this.container) {\n const domNode = ReactDOM.findDOMNode(this.container.current).parentNode;\n const buttonNode = domNode.parentNode.parentNode.childNodes[0]\n\n const listRight = domNode.getClientRects()[0].right;\n const buttonNodeRight = buttonNode.getClientRects()[0].right;\n\n if ( listRight > window.innerWidth ) {\n domNode.style.left = buttonNodeRight - listRight + 'px';\n }\n }\n }\n\n render() {\n const list = (\n \n {\n this.props.items.map((item, i) => {\n // Only one dropdown will be opened so ID's are fine\n return (\n this.keyboardEvent(e, i)}\n onKeyUp={e => e.preventDefault()}\n onKeyPress={e => e.preventDefault()}\n onClick={() => {\n item.click()\n this.props.close();\n }}\n onFocus={item.onFocus}\n isSelected={item.selected}\n isMasthead={this.props.isMasthead}\n reversed={this.props.reversed}\n >\n {\n this.props.renderOption\n ? this.props.renderOption(item)\n : \n \n {\n this.props.renderOptionContent ? (\n this.props.renderOptionContent(item)\n ) : (\n \n {item.content}\n \n )\n }\n \n \n }\n {\n this.props.isItemBorder && this.props.items.length - 1 !== i && (\n
\n )\n }\n \n )\n })\n }\n \n )\n\n const style = this.props.isMasthead ? MastheadStyleOverrides : {};\n\n return (\n \n\n \n {\n this.props.items.length > 6 && (\n \n {list}\n \n )\n }\n {\n this.props.items.length <= 6 && (\n list\n )\n }\n \n )\n }\n}\n\nclass Dropdown extends PureComponent {\n\n state = {\n index: 0,\n };\n\n dropdownOpenClick = () => {\n if (!this.props.isDropdownOpen) {\n this.props.openDropdown();\n }\n if (this.props.dropdownOpened) {\n // additional tasks\n this.props.dropdownOpened();\n }\n }\n\n dropdownCloseClick = () => {\n this.props.closeDropdown();\n }\n\n buttonKeyPressed = e => {\n const code = e.which || e.keyCode;\n switch (code) {\n case keys.down: {\n this.props.openDropdown();\n break;\n }\n default: {\n break;\n }\n }\n }\n\n render() {\n const items = [...this.props.items.map((e, index) => ({\n ...e,\n onFocus: () => this.setState({ index }),\n }))];\n\n return (\n \n }\n\t\t\t\tclickableElement={\n\t\t\t\t\t\n {\n this.props.clickableContent ? (\n this.props.clickableContent\n ) : (\n \n {this.props.dropdownText}\n \n )\n }\n\t\t\t\t\t\t   \n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n width={this.props.width || 280}\n\t\t\t/>\n );\n }\n}\n\nexport default compose(\n withModals(\n (selection, ownProps) => ({\n isDropdownOpen: selection(ownProps.dropdownId),\n }),\n (close, open, ownProps) => ({\n openDropdown: () => open(ownProps.dropdownId),\n closeDropdown: () => close(ownProps.dropdownId),\n }),\n ),\n)(Dropdown);\n","import styled from 'styled-components';\n\nconst calcColumnWidth = num => 100 / 12 * num + '%';\n\nexport const Col = styled.div`\n width: ${props => calcColumnWidth(props.size)};\n`;\n","import styled from 'styled-components';\n\nexport const Row = styled.div`\n display: flex;\n`;","export { Col } from './Col';\nexport { Row } from './Row';","import { connect } from 'react-redux';\n\nimport { openModal, closeModal } from 'actions/UtilityActions';\nimport { isModalOpen } from 'selectors';\n\nfunction withModals(mapStateToModals, mapModalActions) {\n return Cmp => connect(\n mapStateToModals && ((state, ownProps) => mapStateToModals(\n isModalOpen.bind(this, state),\n ownProps,\n )),\n mapModalActions && ((dispatch, ownProps) => mapModalActions(\n modalId => dispatch(closeModal(modalId)),\n modalId => dispatch(openModal(modalId)),\n ownProps,\n )),\n )(Cmp);\n}\n\nexport default withModals;\n","import { AnalyticsTypes } from 'actions/Types';\n\nconst viewChange = viewId => ({\n type: AnalyticsTypes.VIEW_CHANGE,\n viewId,\n});\n\nconst eventTriggered = eventDetails => ({\n type: AnalyticsTypes.EVENT_TRIGGERED,\n eventDetails,\n});\n\nexport {\n viewChange,\n eventTriggered,\n};\n","import featurePages from 'constants/featurePages';\nimport { allowedUiDealFeatures } from 'constants/dealFeatures';\n\nexport const selectAvailableNavigationFeatures = allowedNavFeatures => {\n const features = {};\n\n if (allowedNavFeatures.length) {\n allowedNavFeatures.forEach((feature) => {\n if (feature.visibleInMainMenu && feature.url !== '/') {\n features[feature.url] = feature.url;\n }\n });\n }\n\n return features;\n}\n\nexport const checkAllowedUiFeatures = ( allowedNavigationFeatures, visibleProperty = 'visibleInMainMenu' ) => {\n if (allowedNavigationFeatures.length) {\n allowedNavigationFeatures.filter((e)=> e.url !== '/' && e[visibleProperty] === true).forEach((feature) => {\n const uIElementIndex = allowedUiDealFeatures.findIndex((i) => (i.url === feature.url)) || -1;\n if (uIElementIndex !== -1 && allowedUiDealFeatures[uIElementIndex][visibleProperty] === false) {\n allowedNavigationFeatures[uIElementIndex][visibleProperty] = false;\n }\n });\n } \n\n return allowedNavigationFeatures;\n}\n\nexport const isInThatFeaturePage = dealFeature => {\n\n const pathname = window.location.pathname;\n const isInThatFeature = featurePages[dealFeature] && featurePages[dealFeature].indexOf(pathname) >= 0;\n\n return isInThatFeature;\n}\n","import React, { PureComponent } from 'react';\nimport { Row, Col } from 'react-bootstrap';\n\nimport TranslationText from 'translations/TranslationText';\n\nconst infoStyles = { marginTop: 50 };\n\nclass PageContentNotAvailable extends PureComponent {\n render() {\n return (\n \n \n

\n \n

\n \n
\n )\n }\n}\n\nexport default PageContentNotAvailable;\n","const flexbox = (direction, align, justify, wrap = 'nowrap', content = 'stretch') => `\n display: flex;\n flex-direction: ${direction};\n align-items: ${align};\n justify-content: ${justify};\n flex-wrap: ${wrap};\n align-content: ${content};\n`;\n\nexport default flexbox;\n","import React, { PureComponent } from 'react';\nimport styled from 'styled-components';\nimport MDSpinner from 'react-md-spinner';\n\nimport { typography, fontColors } from 'shared/styles/variables/theme';\nimport flexbox from 'shared/styles/mixins/flexbox';\n\nexport const FeaturePageLoadingContainer = styled.div`\n position: fixed;\n left: 0;\n\n height: calc(100vh - 100px);\n width: 100vw;\n`;\n\nconst LoadingContainer = styled.div`\n ${flexbox('column', 'center', 'center')}\n position: relative;\n top: 50%;\n transform: translateY(-50%);\n height: 100%;\n background: ${props => props.checkBackground ? '' : 'rgba(0, 0, 0, .4)'};\n \n p {\n font-size: ${typography.sizes['12px']};\n color: ${fontColors.white};\n }\n`;\n\nconst LoadingText = styled.p`\n width: 100%;\n text-align: center;\n`;\n\nconst spinnerInlineStyles = {\n margin: 10,\n bottom: 2,\n}\n\nconst sizes = {\n def: {\n value: 60,\n border: 3,\n },\n xsmall: {\n value: 16,\n border: 1,\n },\n small: {\n value: 30,\n border: 2,\n },\n large: {\n value: 120,\n border: 6,\n },\n};\n\nclass Loading extends PureComponent {\n render() {\n return (\n \n \n {\n this.props.text && (\n {this.props.text}\n )\n }\n \n )\n }\n}\n\nLoading.defaultProps = {\n size: 'def',\n // to cover whole container\n coverContainer: true,\n}\n\nexport default Loading;\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { browserHistory } from 'react-router';\n\nimport { featurePageIds } from 'constants/featurePages';\nimport dealFeatures from 'constants/dealFeatures';\nimport { checkFeature } from 'actions/UtilityActions';\nimport { getRoadshowDataArrivedFlag } from 'selectors';\n\nimport PageContentNotAvailable from 'components/PageContentNotAvailable';\n\nimport Loading, { FeaturePageLoadingContainer } from 'shared/components/Loading';\n\nclass Roadshow extends PureComponent {\n componentDidMount() {\n this.props.checkFeature(dealFeatures.ROADSHOW);\n }\n\n render() {\n if (this.props.roadshowId && !this.props.roadshowDocMode) {\n if (this.props.location.pathname !== featurePageIds.ROADSHOW_DAILY_SCHEDULE_PAGE) {\n browserHistory.push(featurePageIds.ROADSHOW_DAILY_SCHEDULE_PAGE);\n return null;\n }\n }\n\n if (this.props.roadshowDocMode) {\n if (this.props.location.pathname !== featurePageIds.ROADSHOW_DOCUMENT_MODE_PAGE) {\n browserHistory.push(featurePageIds.ROADSHOW_DOCUMENT_MODE_PAGE);\n return null;\n }\n }\n\n if (!this.props.dataArrived && !this.props.roadshowId && !this.props.roadshowDocId) {\n return (\n \n \n \n )\n }\n\n if (this.props.dataArrived && !this.props.roadshowId && !this.props.roadshowDocId) {\n return ; // or null if DI\n }\n\n return this.props.children;\n }\n}\n\nconst mapStateToProps = state => ({\n roadshowId: state.roadShowData.roadshowId,\n roadshowDocId: state.roadShowData.fullScheduleDocumentId,\n roadshowDocMode: state.roadShowData.documentOnlyMode,\n dataArrived: getRoadshowDataArrivedFlag(state),\n});\n\nconst mapDispatchToProps = dispatch => ({\n // polling\n checkFeature: feature => dispatch(checkFeature(feature)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Roadshow);\n","\n//\n// Once defined should never change !\n//\n\nconst LARGE_SCREEN = 1920; // Wide Monitors (1920x1080)\nconst MEDIUM_SCREEN = 1365; // ThinkPad (1366x768)\nconst SMALL_SCREEN = 768; // iPad (768x1024) P/L mode\n\nexport default {\n LARGE_SCREEN,\n MEDIUM_SCREEN,\n SMALL_SCREEN,\n};\n","import resolutions from '../variables/resolution';\n\n//\n// Once defined should never change !\n//\nconst largeScreen = styles => `\n @media screen and (min-width: ${resolutions.LARGE_SCREEN}px) {\n ${styles}\n }\n`;\n\nconst mediumScreen = styles => `\n @media screen and (min-width: ${resolutions.MEDIUM_SCREEN}px) and (max-width: ${resolutions.LARGE_SCREEN - 1}px) {\n ${styles}\n }\n`;\n\nconst smallScreen = styles => `\n @media screen and (min-width: ${resolutions.SMALL_SCREEN}px) and (max-width: ${resolutions.MEDIUM_SCREEN - 1}px) {\n ${styles}\n }\n`;\n\n//\n// iPad / landscape / portrait / Retina 2x\n//\nconst portraitMode = styles => `\n @media (orientation: portrait) {\n ${styles}\n }\n`;\nconst landscapeMode = styles => `\n @media (orientation: landscape) {\n ${styles}\n }\n`;\n// optional \nconst retinaScreen = styles => `\n @media (-webkit-min-device-pixel-ratio: 2) and (min-resolution: 192dpi) {\n ${styles}\n }\n`;\n\n//\n// For smaller viewport ( < 800 px we should display that our app does not support this dimensions - UX perspective )\n//\n\nexport default {\n largeScreen,\n mediumScreen,\n smallScreen,\n // proto\n portraitMode,\n landscapeMode,\n retinaScreen,\n};\n","import styled from 'styled-components';\nimport { Row } from 'react-bootstrap';\n\nimport responsiveness from '../mixins/responsiveness';\n\nexport const ContentAdjuster = styled.div`\n width: calc(100vw - 40px);\n max-width: 1240px;\n\n margin: 0 auto;\n padding: 0;\n\n ${responsiveness.largeScreen(`\n width: 1240px;\n `)}\n\n ${responsiveness.mediumScreen(`\n width: 1240px;\n `)}\n`;\n\nexport const FeatureContainer = styled.div`\n position: relative;\n padding: 20px 0;\n background-color: #FFF;\n`;\n\nexport const HeaderContainer = styled(Row)`\n min-height: 77px;\n`;\n","import styled from 'styled-components';\n\nimport { typography } from 'shared/styles/variables/theme'\n//\n// Feature Headings -> Investor Feedback, Pricing, ...etc\n//\nexport const FeatureHeading = styled.h1`\n line-height: 20px;\n margin: 0;\n\n ${({ top }) => top !== undefined ? `margin-top: ${top}px;` : ''}\n ${({ bottom }) => bottom !== undefined ? `margin-bottom: ${bottom}px;` : ''}\n ${({ left }) => left !== undefined ? `margin-left: ${left}px;` : ''}\n ${({ right }) => right !== undefined ? `margin-right: ${right}px;` : ''}\n\n ${({ invisible }) => invisible !== undefined ? 'visibility: hidden; width: 0; height: 0; overflow: hidden;' : ''}\n`;\n//\n// Feature Headings description\n//\nexport const HeadingDescription = styled.div`\n display: block;\n font-size: ${typography.sizes['18px']};\n margin: 0;\n\n ${({ top }) => top !== undefined ? `margin-top: ${top}px;` : ''}\n ${({ bottom }) => bottom !== undefined ? `margin-bottom: ${bottom}px;` : ''}\n ${({ left }) => left !== undefined ? `margin-left: ${left}px;` : ''}\n ${({ right }) => right !== undefined ? `margin-right: ${right}px;` : ''}\n\n ${({ invisible }) => invisible !== undefined ? 'visibility: hidden; width: 0; height: 0; overflow: hidden;' : ''}\n`;\n\nexport const FeatureCarouselHeading = styled.h3`\n margin-top: 0;\n`;","import styled from 'styled-components';\n\nexport const DateAsOf = styled.p`\n text-align: right;\n`;","import React, { Component, PureComponent } from 'react';\nimport ReactDOM from 'react-dom';\nimport BootstrapTable from 'react-bootstrap-table-next';\n\nimport Scrollable from './Scrollable';\n\nclass ScrollableBody extends PureComponent {\n /*\n * This component is responsible for displaying element with height equal to rest of the viewport\n */\n constructor(props) {\n super(props);\n\n this.body = null;\n }\n\n calcHeight = () => {\n let height = 0;\n\n if (this.body && this.body.getClientRects) {\n height = Math.floor(window.innerHeight - this.body.getClientRects()[0].top);\n }\n\n return height;\n }\n\n updateHeight = () => {\n this.forceUpdate();\n }\n\n componentDidMount() {\n this.body = ReactDOM.findDOMNode(this);\n\n window.addEventListener(\"resize\", this.updateHeight);\n window.addEventListener(\"orientationChange\", this.updateHeight);\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"resize\", this.updateHeight);\n window.removeEventListener(\"orientationChange\", this.updateHeight);\n }\n\n render() {\n return (\n \n {this.props.children}\n \n )\n }\n}\n\nclass ScrollableTable extends Component {\n\n componentDidMount() {\n this.updateColumnWidths();\n\n window.addEventListener(\"resize\", this.updateColumnWidths);\n window.addEventListener(\"orientationChange\", this.updateColumnWidths);\n }\n\n componentDidUpdate() {\n this.updateColumnWidths();\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"resize\", this.updateColumnWidths);\n window.removeEventListener(\"orientationChange\", this.updateColumnWidths);\n }\n\n updateColumnWidths = () => {\n const node = ReactDOM.findDOMNode(this);\n if (!node) return\n\n const { width } = node.parentNode.getBoundingClientRect();\n\n const totalFlex = this.props.columns.reduce((total, column, index) =>\n total += column.columnFlex || 1\n , 0)\n\n const widthPerFlex = width / totalFlex;\n\n //\n // HEADER\n //\n Array.from(node.querySelectorAll('thead th')).forEach((header, index) => {\n const dim = widthPerFlex * this.props.columns[index].columnFlex + 'px';\n header.style['max-width'] = dim;\n header.style['min-width'] = dim;\n header.style.width = dim;\n })\n\n //\n // BODY\n //\n Array.from(node.querySelectorAll('tbody tr')).forEach(tableRow => {\n Array.from(tableRow.querySelectorAll('td')).forEach((cell, index) => {\n const dim = widthPerFlex * this.props.columns[index].columnFlex + 'px';\n cell.style['max-width'] = dim;\n cell.style['min-width'] = dim;\n cell.style.width = dim;\n })\n })\n\n //\n // FOOTER\n //\n Array.from(node.querySelectorAll('tfoot tr')).forEach(tableRow => {\n Array.from(tableRow.querySelectorAll('th')).forEach((cell, index) => {\n const dim = widthPerFlex * this.props.columns[index].columnFlex + 'px' || '100%';\n cell.style['max-width'] = dim;\n cell.style['min-width'] = dim;\n cell.style.width = dim;\n })\n })\n\n const thead = node.querySelector('thead');\n const tbody = node.querySelector('tbody');\n const tfoot = node.querySelector('tfoot');\n if (tbody && thead) {\n const dimensions = tbody.getBoundingClientRect();\n thead.style.width = `${dimensions.width}px`;\n\n if (tbody) {\n tbody.style.width = `${dimensions.width}px`;\n }\n if (tfoot) {\n tfoot.style.width = `${dimensions.width}px`;\n }\n }\n }\n\n render() {\n const { columns, ...props } = this.props;\n\n const enhancedColumns = columns.map(col => ({\n ...col,\n onSort: () => {\n setTimeout(() => this.updateColumnWidths && this.updateColumnWidths(), 0);\n }\n }));\n\n return (\n \n this.container = container}\n columns={enhancedColumns}\n { ...props }\n />\n \n )\n }\n}\n\nexport default ScrollableTable;\n","import React, { Fragment } from 'react';\nimport styled from 'styled-components';\n// TODO\nimport { Icon } from 'mk-pattern-library-react';\n\nconst StyledIcon = styled(Icon)`\n font-size: 7px;\n padding-left: 10px;\n padding-bottom: 2px;\n`;\n\nconst InactiveIcon = styled(StyledIcon)`\n opacity: .3;\n`;\n\nexport default (order, column) =>\n \n \n \n \n \n","export const SORT = {\n ASCENDING: 'Ascending',\n DESCENDING: 'Descending',\n}\n\nexport default class SortState {\n constructor(defaultColumn, defaultDirection, logEventFn, dispatchAction) {\n this.column = defaultColumn;\n this.direction = defaultDirection;\n this.logEventFn = logEventFn;\n this.dispatchAction = dispatchAction;\n }\n\n set = (column, direction) => {\n this.column = column;\n this.direction = direction;\n\n this.dispatchAction && this.dispatchAction(this.column, this.direction)\n\n this.logEventFn && this.logEventFn(column, direction);\n }\n\n setFromHeader = (column, order) => {\n this.column = column;\n this.direction = order === 'asc' ? SORT.ASCENDING : SORT.DESCENDING;\n }\n\n getAriaLabel = (column) => ({\n 'aria-sort': this.column === column.dataField ? this.direction : 'none',\n })\n\n getHeaderAttributes = (column) => ({\n 'aria-sort': this.column === column.dataField ? this.direction : 'none',\n 'data-field': column.dataField,\n })\n}\n","import React from 'react';\nimport SortIcons from 'shared/components/SortIcon';\n\nconst handleKeyDown = (e, b, c) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.stopPropagation();\n e.target.click();\n }\n}\n\nexport default (column, index, components) =>\n \n {column.text} \n \n","export const HOME_FEEDBACK_TILE = 'homeFetchedFeedback';\nexport const HOME_ORDERS_TILE = 'homeFetchedOrders';\nexport const HOME_DOCUMENTS_TILE = 'homeFetchedDocuments';\n\nexport default {\n HOME_FEEDBACK_TILE,\n HOME_ORDERS_TILE,\n HOME_DOCUMENTS_TILE,\n};\n","import Types, { MyDocsTypes } from 'actions/Types';\n\nimport dealFeatures from 'constants/dealFeatures';\nimport * as tiles from 'constants/homeTiles';\n\nconst receiveMyDocsSummary = response => ({\n type: Types.API_RECEIVE_DOCUMENTS_SUMMARY,\n myDocsSummaryData: response,\n});\nconst requestMyDocsSummary = (dealId, loader) => ({\n type: Types.API_REQUEST_DOCUMENTS_SUMMARY,\n endPoint: `/v1/${dealId}/document/categories`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveMyDocsSummary,\n loader,\n //\n feature: dealFeatures.MY_DOCS,\n});\n\nconst receiveMyDocs = response => ({\n type: Types.API_RECEIVE_DOCUMENTS,\n myDocsData: response,\n});\nconst requestMyDocs = (dealId, loader) => ({\n type: Types.API_REQUEST_DOCUMENTS,\n endPoint: `/v1/documents/${dealId}`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveMyDocs,\n loader,\n tile: tiles.HOME_DOCUMENTS_TILE,\n //\n feature: dealFeatures.MY_DOCS,\n});\n\nconst requestDoc = (documentId, documentName) => ({\n type: Types.API_REQUEST_DOC,\n endPoint: navigator.userAgent.indexOf('GoodAccess') >= 0\n ? `/v1/documents/file/${documentId}?MyDealAuthToken=${window.sessionStorage.getItem('_mydeal_')}`\n : `/v1/documents/file/${documentId}`,\n documentName,\n params: {},\n ajaxType: 'GETFILE',\n loader: false,\n});\n\nconst changeActiveCategory = categoryId => ({\n type: MyDocsTypes.CHANGE_ACTIVE_CATEGORY,\n categoryId,\n});\n\nexport {\n receiveMyDocsSummary,\n requestMyDocsSummary,\n receiveMyDocs,\n requestMyDocs,\n requestDoc,\n changeActiveCategory,\n};\n","import React, { useRef } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose'\nimport { ValueFormatters, Icon } from 'mk-pattern-library-react';\n\nimport { translationString } from 'translations/TranslationText';\nimport withLanguage from 'translations/withLanguage';\nimport ScrollableTable from 'shared/components/ScrollableTable';\nimport SortIcons from 'shared/components/SortIcon';\nimport SortState, { SORT } from 'shared/components/SortState';\nimport SortableTableHeader from 'shared/components/SortableTableHeader';\n\nimport { buttonKeyHandler } from 'util/onKeyPress';\nimport { requestDoc } from 'actions/MyDocsActions';\n\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { events } from 'constants/analytics';\n\nimport { fontColors, typography } from 'shared/styles/variables/theme';\n\nconst headerStyles = {\n backgroundColor: \"#ededed\",\n minHeight : \"30px\",\n fontSize : typography.sizes['12px'],\n color : \"#000\",\n lineHeight : \"17px\",\n marginLeft : 0,\n marginRight : 0,\n verticalAlign : \"middle\",\n textDecoration: \"none\",\n borderTop: 'solid 2px rgb(221, 221, 221)',\n fontWeight: 500,\n paddingLeft: 20,\n paddingRight: 20,\n};\n\nconst cellStyle = {\n borderLeft: 'none',\n borderTop: 'none',\n borderRight: 'none',\n padding: '9px 15px 17px 15px',\n height: '65px',\n borderBottom: 'solid 1px rgb(221, 221, 221)',\n}\n\nconst descriptionStyle = {\n color: fontColors.grey,\n}\n\nconst DocumentsContainer = (props) => {\n\n const sort = useRef(new SortState('lastModified', SORT.DESCENDING)).current;\n\n const baseColumnProps = (sort) => ({\n sort: true,\n sortCaret: SortIcons,\n headerAttrs: sort.getHeaderAttributes,\n title: true,\n headerFormatter: SortableTableHeader,\n columnFlex: 1,\n headerEvents: {\n onClick: (e, a) => {\n const column = e.currentTarget;\n const field = column.dataset.field;\n const sortOrder = e.currentTarget.getAttribute('aria-sort') === SORT.DESCENDING\n ? SORT.ASCENDING : SORT.DESCENDING;\n \n sort.set(field, sortOrder);\n }\n },\n });\n\n const Columns = (props, sort) => {\n const columns = [{\n ...baseColumnProps(sort),\n dataField: 'title',\n text: translationString(\"common.document_title\", props.language, \"Document Title\"),\n headerClasses: 'doc-header',\n headerStyle: {\n ...headerStyles,\n marginTop: 7,\n borderLeft: 'none',\n borderRight: 'none',\n borderBottom: 'none',\n },\n style: {\n ...cellStyle,\n width: '75%',\n },\n columnFlex: 3,\n formatter: (value, data, index) => (\n
\n \n
\n

\n \",\n props.language,\n `Open document ${data.title}`,\n [\n ['', data.title]\n ]\n )\n }\n onKeyDown={e => buttonKeyHandler(e, () => { props.documentRequestedEvent(); props.requestDoc(data.documentVersionId, data.title) })}\n onClick={() => { props.documentRequestedEvent(); props.requestDoc(data.documentVersionId, data.title) }}\n tabIndex={0}\n >\n {data.title}\n \n

\n
\n \n {data.description || translationString(\"my_docs.no_comments\", props.language, \"No Comments\")}\n \n
\n
\n
\n ),\n }, {\n ...baseColumnProps(sort),\n dataField: 'lastModified',\n text: translationString(\"common.upload_date\", props.language, \"Upload Date\"),\n headerClasses: 'doc-header',\n headerStyle: {\n ...headerStyles,\n marginTop: 7,\n textAlign: 'right',\n borderLeft: 'none',\n borderBottom: 'none',\n },\n style: {\n ...cellStyle,\n width: '25%',\n fontFamily: 'Univers Next Lt',\n color: fontColors.grey,\n fontSize: typography.sizes['12px'],\n paddingTop: 16,\n textAlign: 'right',\n },\n formatter: (value, data) => ValueFormatters.dateFormatter('dayMonthYearZoneShort', data.lastModified || data.created),\n }];\n \n return columns;\n }\n\n return (\n
\n \n
\n );\n}\n\nconst mapDispatchToProps = dispatch => ({\n requestDoc: (docId, docName) => dispatch(requestDoc(docId, docName)),\n})\n\nexport default compose(\n withAnalytics((ev) => ({\n documentRequestedEvent: () => ev(events.MY_DOCS_OPEN_DOCUMENT),\n })),\n connect(null, mapDispatchToProps),\n withLanguage\n)(DocumentsContainer);\n","import React, { Component } from 'react';\nimport { Row, Col } from 'react-bootstrap';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport styled from 'styled-components';\n// TODO\nimport { ValueFormatters, Sorters } from 'mk-pattern-library-react';\n\nimport { FeatureContainer, HeaderContainer } from 'shared/styles/components/containers';\nimport { FeatureHeading, HeadingDescription } from 'shared/styles/components/headings';\nimport { DateAsOf } from 'shared/styles/components/date';\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport { featurePageIds } from 'constants/featurePages';\nimport { getMyDocsData } from 'selectors';\n\nimport DocumentList from 'MyDocs/Documents/DocumentList/DocumentList';\n\nconst ROADSHOW_CATEGORY_ID = 6;\n\nconst EmptyDocumentList = styled.div`\n width: 100%;\n text-align: center;\n`;\n\nclass DocumentMode extends Component {\n componentDidMount() {\n this.props.viewChange();\n }\n\n render() {\n const roadshowDocs = this.props.myDocs\n .filter((document) => ((ROADSHOW_CATEGORY_ID === document.category.documentCategoryId)))\n .sort((a, b) => Sorters.doubleSort('title', a, b, 'desc', 'created'))\n .filter(doc => doc.master)\n\n return (\n \n \n \n \n {this.props.roadshowDocument}\n \n \n {this.props.latestRoadshowDocument}\n \n \n \n \n {this.props.dataAsOf}\n \n \n \n \n \n {\n !roadshowDocs.length ? (\n \n {this.props.noDocumentsAvailable}\n \n ) : (\n \n )\n }\n \n \n \n );\n }\n}\n\nexport default compose(\n withAnalytics((__, view) => ({\n viewChange: () => view(featurePageIds.ROADSHOW_DOCUMENT_MODE_PAGE),\n })),\n withTranslate((translate, props) => ({\n roadshowDocument: translate('roadshow.roadshow_document', 'Roadshow Document'),\n latestRoadshowDocument: translate('roadshow.the_latest_roadshow_document', 'The latest roadshow document'),\n noDocumentsAvailable: translate('common.no_documents_available', 'No documents available'),\n dataAsOf: translate(\n 'common.data_as_of_',\n `Data as of ${ValueFormatters.dateFormatter('dayMonthYearZoneShort', props.dateReceived)}`,\n [\n [\"\", ValueFormatters.dateFormatter('dayMonthYearZoneShort', props.dateReceived)]\n ]\n )\n })),\n connect(\n state => ({\n myDocs: getMyDocsData(state),\n dateReceived: state.myDocsData.dateReceived,\n }),\n ),\n)(DocumentMode);\n","import Types from 'actions/Types';\n\nimport dealFeatures from 'constants/dealFeatures';\n\nconst updateSelectedDay = (day) => ({\n type: Types.ROADSHOW_UPDATE_SELECTED_DAY,\n day,\n});\n\nconst changeRoadshowTeam = team => ({\n type: Types.ROADSHOW_CHANGE_TEAM,\n team,\n});\n\nconst setRoadshowTeam = team => ({\n type: Types.ROADSHOW_EFFECT_SET_TEAM,\n team,\n});\n\nconst receiveRoadShowSummary = ({ data }) => ({\n type: Types.API_RECEIVE_ROADSHOW_SUMMARY,\n RoadshowData: data,\n});\nconst requestRoadShowSummary = (dealId, loader) => ({\n type: Types.API_REQUEST_ROADSHOW_SUMMARY,\n endPoint: `/v1/roadshow/${dealId}/summary`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveRoadShowSummary,\n dealId,\n loader,\n //\n feature: dealFeatures.ROADSHOW,\n});\n\nconst receiveRoadShowEvents = ({ data }) => ({\n type: Types.API_RECEIVE_ROADSHOW_EVENTS,\n roadShowEventsData: data,\n});\nconst requestRoadShowEvents = (dealId, loader) => ({\n type: Types.API_REQUEST_ROADSHOW_EVENTS,\n endPoint: `/v1/roadshow/${dealId}`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveRoadShowEvents,\n dealId,\n loader,\n //\n feature: dealFeatures.ROADSHOW,\n});\n\nconst receiveRoadShowContacts = ({ data }) => ({\n type: Types.API_RECEIVE_ROADSHOW_CONTACTS,\n roadShowContactsData: data,\n});\nconst requestRoadShowContacts = (dealId, loader) => ({\n type: Types.API_REQUEST_ROADSHOW_CONTACTS,\n endPoint: `/v1/roadshow/${dealId}/contacts`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveRoadShowContacts,\n loader,\n //\n feature: dealFeatures.ROADSHOW,\n});\n\nconst setRoadShowDailyEvent = eventId => ({\n type: Types.SET_ROADSHOW_DAILY_EVENT,\n eventId,\n})\n\nexport {\n updateSelectedDay,\n receiveRoadShowSummary,\n requestRoadShowSummary,\n receiveRoadShowEvents,\n requestRoadShowEvents,\n receiveRoadShowContacts,\n requestRoadShowContacts,\n changeRoadshowTeam,\n setRoadshowTeam,\n setRoadShowDailyEvent,\n};\n","export const palette = [\n {\n colorHex: '#008580',\n description: 'violet',\n },\n {\n colorHex: '#004F4B',\n description: 'amber',\n },\n {\n colorHex: '#E9A115',\n description: 'indigo',\n },\n {\n colorHex: '#9E6D0E',\n description: 'emerald',\n },\n {\n colorHex: '#716196',\n description: 'aquamarine',\n },\n {\n colorHex: '#1C1A49',\n description: 'teal',\n },\n {\n colorHex: '#588942',\n description: 'violet2',\n },\n {\n colorHex: '#142E01',\n description: 'amber2',\n },\n {\n colorHex: '#547DA7',\n description: 'indigo2',\n },\n {\n colorHex: '#002951',\n description: 'emerald2',\n },\n {\n colorHex: '#E54D58',\n description: 'aquamarine2',\n },\n {\n colorHex: '#6F0008',\n description: 'teal2',\n },\n {\n colorHex: '#1087EF',\n description: 'teal2',\n },\n {\n colorHex: '#0C62AE',\n description: 'teal2',\n },\n {\n colorHex: '#B57DA4',\n description: 'teal2',\n },\n];\n\n//\n// Notification colors\n//\nexport const notificationColors = {\n INFO: {\n border: '#1A4875',\n container: '#EBEFF4',\n icon: '#1A4875', \n },\n WARNING: {\n border: '#E9A115',\n container: '#FBF8F3',\n icon: '#E9A115', \n },\n ERROR: {\n border: '#AF000D',\n container: '#F9F2F3',\n icon: '#AF000D', \n },\n}\n\n//\n// Chart colors\n//\nconst primaryColorOne = '#00716C';\nconst primaryColorTwo = '#E9A115';\nconst primaryColorThree = '#4E3A7C';\nconst primaryColorFour = '#588942';\nconst primaryColorFive = '#003466';\nconst primaryColorSix = '#6F0008';\nconst primaryColorSeven = '#1087EF';\n\nconst primaryAcrossOne = '#008580';\nconst secondaryAcrossOne = '#004F4B';\n\nconst primaryAcrossTwo = '#E9A115';\nconst secondaryAcrossTwo = '#9E6D0E';\n\nconst primaryAcrossThree = '#716196';\nconst secondaryAcrossThree = '#1C1A49';\n\nconst primaryAcrossFour = '#588942';\nconst secondaryAcrossFour = '#142E01';\n\nconst primaryAcrossFive = '#547DA7';\nconst secondaryAcrossFive = '#002951';\n\nconst primaryAcrossSix = '#E54D58';\nconst secondaryAcrossSix = '#6F0008';\n\nconst primaryAcrossSeven = '#1087EF';\nconst secondaryAcrossSeven = '#0C62AE';\n\nconst primaryAcrossEight = '#B57DA4';\n\nexport const primaryColorOther = '#D7D8D6';\n\n// export const otherColor = '#eeeeee';\n\nexport const colors = (index, key) => {\n if (key && key.toLowerCase().trim() === 'other') {\n return primaryColorOther;\n }\n switch (index) {\n case 0: return primaryColorOne;\n case 1: return primaryColorTwo;\n case 2: return primaryColorThree;\n case 3: return primaryColorFour;\n case 4: return primaryColorFive;\n case 5: return primaryColorSix;\n case 6: return primaryColorSeven;\n default: return primaryColorOther;\n }\n};\n\nexport const extendedColors = (index, key) => {\n if (key && key.toLowerCase().trim() === 'other') {\n return primaryColorOther;\n }\n switch (index) {\n case 0: return primaryAcrossOne;\n case 1: return secondaryAcrossOne;\n case 2: return primaryAcrossTwo;\n case 3: return secondaryAcrossTwo;\n case 4: return primaryAcrossThree;\n case 5: return secondaryAcrossThree;\n case 6: return primaryAcrossFour;\n case 7: return secondaryAcrossFour;\n case 8: return primaryAcrossFive;\n case 9: return secondaryAcrossFive;\n case 10: return primaryAcrossSix;\n case 11: return secondaryAcrossSix;\n case 12: return primaryAcrossSeven;\n case 13: return secondaryAcrossSeven;\n case 14: return primaryAcrossEight;\n default: return primaryColorOther;\n }\n};\n\nexport const asSmallArray = [\n primaryColorOne,\n primaryColorTwo,\n primaryColorThree,\n primaryColorFour,\n primaryColorFive,\n primaryColorSix,\n primaryColorSeven,\n];\nexport const asArray = [\n primaryAcrossOne,\n secondaryAcrossOne,\n primaryAcrossTwo,\n secondaryAcrossTwo,\n primaryAcrossThree,\n secondaryAcrossThree,\n primaryAcrossFour,\n secondaryAcrossFour,\n primaryAcrossFive,\n secondaryAcrossFive,\n primaryAcrossSix,\n secondaryAcrossSix,\n primaryAcrossSeven,\n secondaryAcrossSeven,\n primaryAcrossEight,\n primaryColorOther,\n];\n\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport { SvgIcon } from 'shared/components/Icon';\n\nimport { typography, fontColors } from 'shared/styles/variables/theme';\nimport { notificationColors } from 'shared/styles/variables/colors';\nimport flexbox from 'shared/styles/mixins/flexbox';\n \nconst provideNotificationColorPalette = props => {\n if (props.warning) return notificationColors.WARNING;\n if (props.info) return notificationColors.INFO;\n if (props.error) return notificationColors.ERROR;\n\n throw new Error('Notification prop missing ( info / warning / error )');\n}\n\nconst Container = styled.div`\n ${flexbox('row', 'center', 'flex-start')}\n padding: 20px;\n border: 2px solid ${props => provideNotificationColorPalette(props).border};\n background: ${props => provideNotificationColorPalette(props).container};\n font-size: ${typography.sizes['14px']};\n color: ${fontColors.nightGrey};\n`;\n\nconst IconContainer = styled.div`\n ${flexbox('row', 'center', 'flex-start')}\n margin-right: 10px;\n`;\n\nconst Headline = styled.div`\n font-family: ${typography.family.bold};\n`;\n\nconst Description = styled.div``;\nconst Action = styled.div``;\n\nclass Notification extends React.PureComponent {\n render() {\n const type = {};\n ({\n warning: type.warning,\n error: type.error,\n info: type.info\n } = this.props);\n\n return (\n \n \n \n \n {\n this.props.headline && (\n {this.props.headline} \n )\n }\n {\n this.props.description && (\n {this.props.description}\n )\n }\n {\n this.props.action && this.props.actionContent && (\n Link with action (optional) - TODO if needed\n )\n } \n \n )\n }\n}\n\nexport default Notification;\n","//\n// All events that are matching WCAG WAI-ARIA requirements should be moved here\n//\n\n\n// Button events (onKeyPress - check if each key is supported for all browsers - IE)\nexport const buttonEventHandling = ev => {\n if (\n // click support (easier checking)\n ev.type === 'click' ||\n // enter support\n ev.key === \"Enter\" ||\n ev.code === \"Enter\" ||\n ev.which === 13 ||\n // space support\n ev.key === \" \" ||\n ev.code === \"Space\" ||\n ev.which === 32 \n ) {\n return true;\n }\n return false;\n}\n\n// Link Event (onKeyPress - check if each key is supported for all browsers - IE)\nexport const anchorEventHandling = ev => {\n if (\n // click support (easier checking)\n ev.type === 'click' ||\n // enter support\n ev.key === \"Enter\" ||\n ev.code === \"Enter\" ||\n ev.which === 13\n ) {\n return true;\n }\n return false;\n}\n\n//\n// ...\n// ","import React from 'react';\nimport styled from 'styled-components';\n\nimport { anchorEventHandling } from 'shared/accessibility/functions/keyboardEvents';\nimport { components, outlines } from 'shared/styles/variables/theme';\n\nconst StyledLink = styled.a`\n ${components.link['--default']}\n\n &:focus {\n ${components.link['--state']['--focus']}\n outline: ${outlines.dark};\n }\n\n &:hover {\n ${components.link['--state']['--hover']}\n text-decoration: underline;\n }\n\n &.disabled {\n ${components.link['--state']['--disabled']}\n }\n`;\n\nclass HSBCLink extends React.PureComponent {\n navigateEvent = (e) => {\n e.preventDefault();\n\n if (this.props.disabled) {\n return;\n }\n\n if (anchorEventHandling(e)) {\n this.props.onClick && this.props.onClick();\n }\n }\n\n render() {\n const { disabled, style, ...other } = this.props;\n return (\n \n {this.props.children}\n \n )\n }\n}\n\nexport default HSBCLink;\n","import React from 'react';\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport styled from 'styled-components';\n\nimport { ValueFormatters } from 'mk-pattern-library-react';\n\nimport * as modalIds from 'constants/modalIds';\nimport { ALL_TEAMS_SELECTED } from 'constants/multiteam';\n\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { events } from 'constants/analytics';\n\nimport Dropdown, { ItemContent } from 'shared/accessibility/components/Dropdown';\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport { setRoadshowTeam, changeRoadshowTeam } from 'actions/RoadShowActions';\nimport { getMultiTeamMode, getSelectedTeam, getTeams, getTeamsDetails } from 'selectors';\n\nimport { ellipsis } from 'shared/styles/mixins/ellipsis';\n\nconst EnhancedItemContent = styled(ItemContent)`\n padding-left: 0px;\n`;\n\nconst provideBtnContent = ({ selected, allTeams, chooseTeam, teamDetails }) => {\n\tif (!selected) {\n\t\treturn chooseTeam;\n }\n\n\tif (selected === ALL_TEAMS_SELECTED) {\n\t\treturn allTeams;\n\t}\n\n\treturn `${selected} (${teamDetails[selected].roadshowTeamCode})`;\n};\n\nclass MultiTeamDropdown extends React.PureComponent {\n dropdownOpened = () => {\n this.props.roadshowMultiTeamButtonEvent();\n }\n\n render() {\n if (!this.props.multiple) return;\n\n const teams = this.props.teams.map((team, i) => {\n const isSelected = this.props.selected === team || this.props.selected === ALL_TEAMS_SELECTED;\n return ({\n selected: isSelected,\n content: `${team} (${this.props.teamDetails[team].roadshowTeamCode})`,\n label: isSelected\n ? this.props.teamSelected(this.props.teamDetails[team])\n : this.props.teamNotSelected(this.props.teamDetails[team]),\n click: () => this.props.changeRoadshowTeam(team),\n color: ValueFormatters.teamColor(i),\n })\n }).concat({\n selected: this.props.selected === ALL_TEAMS_SELECTED,\n content: this.props.allTeams,\n label: this.props.selected === ALL_TEAMS_SELECTED\n ? this.props.teamSelected({ teamName: this.props.allTeams, roadshowTeamCode: 'ALL' })\n : this.props.teamNotSelected({ teamName: this.props.allTeams, roadshowTeamCode: 'ALL' }),\n click: this.props.displayAllTeams,\n color: ValueFormatters.teamColor(-1),\n });\n\n return (\n (\n \n
\n \n {item.content}\n \n \n )}\n clickableContent={\n \n
\n \n {provideBtnContent(this.props)}\n \n \n }\n />\n )\n }\n}\n\nexport default compose(\n withAnalytics(\n ev => ({\n roadshowMultiTeamButtonEvent: () => ev(events.ROADSHOW_MULTITEAM_BUTTON),\n }),\n ),\n withTranslate(translate => ({\n chooseTeam: translate('roadshow.please_choose_your_team','Please choose your team...'),\n allTeams: translate('roadshow.all_teams', 'All teams'),\n btnAriaLabel: translate('roadshow.open_multiteam_select', 'Open MultiTeam Select'),\n teamSelected: team => translate(\n 'roadshow.filtering_by__team',\n `Filtering by ${team.teamName} (${team.roadshowTeamCode}) team`,\n [\n ['', `${team.teamName} (${team.roadshowTeamCode})`],\n ],\n ),\n teamNotSelected: team => translate(\n 'roadshow.select_to_filter_events_by__team',\n `Select to filter events by ${team.teamName} (${team.roadshowTeamCode}) team`,\n [\n ['', `${team.teamName} (${team.roadshowTeamCode})`]\n ]\n )\n })),\n connect(\n\t\tstate => ({\n selected: getSelectedTeam(state),\n multiple: getMultiTeamMode(state),\n teams: getTeams(state),\n teamDetails: getTeamsDetails(state),\n }),\n dispatch => ({\n changeRoadshowTeam: team => {\n\t\t\t\tdispatch(setRoadshowTeam(team));\n\t\t\t\tdispatch(changeRoadshowTeam(team));\n\t\t\t},\n\t\t\tdisplayAllTeams: () => {\n\t\t\t\tdispatch(setRoadshowTeam(ALL_TEAMS_SELECTED));\n\t\t\t\tdispatch(changeRoadshowTeam(ALL_TEAMS_SELECTED));\n\t\t\t},\n }),\n // (stateProps, dispatchProps, ownProps) => ({\n // ...ownProps, ...stateProps, ...dispatchProps,\n\n\t\t// })\n\t)\n)(MultiTeamDropdown);\n","export const ALL_TEAMS_SELECTED = '##ALL##';\nexport const DEFAULT_ALL_TEAMS_EVENTS = '##ALL##';\n","import { PureComponent } from 'react';\nimport propTypes from 'prop-types';\n\nclass HorizontalTab extends PureComponent {\n render() {\n if (!this.props.visible) {\n return null;\n }\n \n return this.props.children;\n }\n}\n\nHorizontalTab.propTypes = {\n // identified by \n tabId: propTypes.string.isRequired,\n // tab title\n title: propTypes.string.isRequired,\n // additional actions ( adobe event etc. )\n onTabClicked: propTypes.func,\n // optimisation purposes\n visivble: propTypes.bool,\n}\n\nHorizontalTab.defaultProps = {\n visible: true,\n};\n\nexport default HorizontalTab;\n","export const simulateResize = () => {\n setTimeout(() => {\n if (typeof(Event) === 'function') {\n // modern\n window.dispatchEvent(new Event('resize'));\n } else {\n // IE\n const ev = window.document.createEvent('UIEvents');\n ev.initUIEvent('resize', true, false, window, 0);\n window.dispatchEvent(ev);\n }\n }, 1);\n}","import { connect } from 'react-redux';\n\nimport { getSelectedTab } from 'selectors';\nimport { changeTab } from 'actions/UtilityActions';\n\nfunction withTabs(action) {\n return Cmp => connect(\n (state, ownProps) => ({\n activeTab: getSelectedTab(state, ownProps.tabsId),\n }),\n (dispatch, ownProps) => (\n action(id => dispatch(changeTab(ownProps.tabsId, id)))\n )\n )(Cmp);\n}\n\nexport default withTabs;\n","import React, { PureComponent } from 'react';\nimport styled from 'styled-components';\nimport { compose } from 'recompose';\n\nimport { simulateResize } from 'shared/functions/events';\n\nimport withTabs from 'shared/hoc/withTabs';\nimport keys from 'shared/accessibility/constants/keys'; \n\nimport { styledDarkOutline } from 'shared/styles/mixins/outline';\nimport { typography } from 'shared/styles/variables/theme';\n\nconst height = 40;\nconst border = 3;\nconst font = 14;\n\nconst TabList = styled.div`\n width: 100%;\n background: #fff;\n \n margin-top: 0;\n margin-bottom: 0;\n\n height: ${height}px;\n width: 100%; \n`;\n\nconst Tab = styled.div`\n display: inline-block;\n box-sizing: border-box;\n\n height: ${height}px;\n\n padding: ${(height - 2 * border - font) / 2 - 2}px 20px;\n margin-right: 2px;\n\n color: #000;\n background-color: #f3f3f3;\n\n cursor: pointer;\n \n font-size: ${typography.sizes['14px']};\n font-weight: bold;\n text-align: center;\n\n border-top: ${border}px solid #f3f3f3; \n border-bottom: ${border}px solid #f3f3f3; \n\n border-right: 1px solid #fff;\n border-left: 1px solid #fff;\n\n &.active {\n position: relative;\n\n background-color: #fff;\n border-top: ${border}px solid #db0011; \n border-bottom: ${border}px solid #fff;\n\n border-left: 1px solid #D7D8D6;\n border-right: 1px solid #D7D8D6;\n\n &:after {\n position: absolute;\n bottom: -5px;\n left: 0;\n content: '';\n width: 100%;\n height: 4px;\n background-color: #fff;\n }\n }\n\n &:hover:not(.active) {\n padding: ${(height - 2 - font) / 2 - 2}px 20px;\n background-color: #fff;\n border-top: 1px solid #d7d8d6;\n border-bottom: 1px solid #fff;\n border-right: 1px solid #D7D8D6;\n border-left: 1px solid #D7D8D6;\n }\n\n &:focus {\n z-index: 3000;\n ${styledDarkOutline}\n }\n`;\n\nconst TabDiv = styled.div`\n height: 100%;\n`;\n\nconst TabSpan = styled.span`\n line-height: ${font}px;\n`;\n\nconst TabContent = styled.div`\n border: 1px solid #c9c9c9;\n\n .react-bs-table{\n margin: 0;\n }\n\n .react-bs-table TABLE THEAD TR {\n &:first-child > TH {\n border-top: none;\n }\n }\n`;\n\nclass TabHeader extends PureComponent {\n\n click = () => {\n this.props.tabHeaderClicked(this.props.child);\n }\n\n keyDown = e => {\n e.persist();\n this.props.tabHeaderKeyDownEvent(e, this.props.child);\n }\n\n keyUp = e => {\n e.persist();\n this.props.tabHeaderKeyUpEvent(e, this.props.child);\n }\n\n render() {\n const {\n selected,\n tabsId,\n child\n } = this.props;\n\n return (\n \n \n \n { child.props.title }\n \n \n \n )\n }\n}\n\nclass HorizontalTabs extends PureComponent {\n\n selectPrevious = child => React.Children\n .toArray(this.props.children)\n .map((c, index, array) => {\n if (c.props.tabId === child.props.tabId) {\n if (index === 0) {\n return array[array.length - 1];\n }\n return array[index - 1];\n }\n return null;\n })\n .filter(c => !!c)[0]; \n\n selectNext = child => React.Children\n .toArray(this.props.children)\n .map((c, index, array) => {\n if (c.props.tabId === child.props.tabId) {\n if (index === array.length -1) {\n return array[0];\n }\n return array[index + 1];\n }\n return null;\n })\n .filter(c => !!c)[0];\n\n selectFirst = () => React.Children\n .toArray(this.props.children)[0];\n\n selectLast = () => React.Children\n .toArray(this.props.children)\n .map((child , index, array) => {\n if (index === array.length -1) return child;\n return null;\n })\n .filter(c => !!c)[0];\n\n tabHeaderClicked = child => {\n this.props.changeTab(child.props.tabId);\n \n simulateResize();\n\n // activate tab\n if (child.props.onTabClicked) {\n // additional actions\n child.props.onTabClicked();\n }\n }\n\n tabHeaderKeyDownEvent = (e, child) => {\n switch (e.keyCode) {\n case keys.end:\n e.preventDefault();\n this.tabHeaderClicked(this.selectLast());\n \n break;\n case keys.home:\n e.preventDefault();\n this.tabHeaderClicked(this.selectFirst());\n\n break;\n default:\n break;\n };\n }\n\n tabHeaderKeyUpEvent = (e, child) => {\n const idx = this.props.children.indexOf(child);\n const total = this.props.children.length;\n const isLast = idx === total - 1;\n const isFirst = idx === 0;\n\n switch (e.keyCode) {\n case keys.left:\n if (isFirst) {\n this.tabHeaderClicked(this.selectLast());\n } else {\n this.tabHeaderClicked(this.selectPrevious(child));\n }\n\n break;\n case keys.right:\n if (isLast) {\n this.tabHeaderClicked(this.selectFirst());\n } else {\n this.tabHeaderClicked(this.selectNext(child));\n }\n\n break;\n default: \n break;\n };\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.activeTab !== this.props.activeTab) {\n const node = document.getElementById(this.props.activeTab);\n if (node) node.focus();\n }\n }\n\n render() {\n return (\n \n \n {\n React.Children\n .toArray(this.props.children)\n .filter(child => child && child.props.visible)\n .map(child => (\n \n ))\n }\n \n \n {\n React.Children\n .toArray(this.props.children)\n .filter(child => child && child.props.tabId === this.props.activeTab)\n }\n \n \n )\n }\n}\n\nexport default compose(\n withTabs(changeTab => ({\n changeTab: tabId => changeTab(tabId),\n }))\n)(HorizontalTabs);\n","export const styledLightOutline = 'outline: 1px dotted white;';\nexport const styledDarkOutline = 'outline: 1px dotted black;';","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { Portal } from 'react-portal';\nimport FocusTrap from 'focus-trap-react';\nimport styled from 'styled-components';\nimport _ from 'lodash';\n// TODO\nimport { Icon } from 'mk-pattern-library-react';\n\nimport withLanguage from 'translations/withLanguage';\nimport { translationString } from 'translations/TranslationText';\n\nimport { buttonKeyHandler } from 'util/onKeyPress';\n\nconst tickSpace = 10;\n\nconst Tick = styled.div`\n position: fixed;\n top: ${props => props.tickTop + 3}px;\n left: ${props => props.tickLeft}px;\n\n width: 13px;\n height: 13px;\n transform: rotate(45deg);\n background: black;\n\n ${\n props => {\n if (props.tickWhite) {\n return `\n z-index: 2001;\n background: white\n border-left: 1px solid #979797;\n border-top: 1px solid #979797;\n `\n }\n\n return '';\n }\n }\n`;\n\nconst BackgroundLayer = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(76,76,76,.5);\n z-index: ${props => props.zIndex};\n`;\n\nexport const CloseIconContainer = styled.div`\n position: absolute;\n top: 20px;\n right: 20px;\n z-index: 2000;\n\n img, span {\n width: ${props => props.smallIcon ? 12 : 14}px;\n height: ${props => props.smallIcon ? 12 : 14}px;\n\n color: #333;\n\n &:hover {\n color: #b6b7b6;\n cursor: pointer;\n }\n }\n`;\n\nclass PopupSystem extends PureComponent {\n constructor(props) {\n super(props);\n\n this.state = {\n top: 0,\n left: 0,\n //\n width: 0,\n height: 0,\n // tick\n tickTop: 0,\n tickLeft: 0,\n };\n\n this.calcModalLocation = this.calcModalLocation.bind(this);\n this.provideStylesForModal = this.provideStylesForModal.bind(this);\n }\n\n throttledEvent = _.throttle(e => {\n\t\tif (this.props.disabled) return;\n\n buttonKeyHandler(e, this.props.closeModal);\n\n\t}, 100, { trailing: true, leading: false });\n\n\tkeyboardCloseEvent = e => {\n\t\te.persist()\n\t\tthis.throttledEvent(e);\n }\n\n calcModalLocation(e) {\n const modalHandler = document.getElementById(this.props.modalID);\n let {\n width: modalWidth,\n height: modalHeight\n } = (modalHandler ? modalHandler.getClientRects()[0] : {});\n\n if (this.props.clickableElement) {\n const { id: clickableElementID } = this.props.clickableElement.props;\n const buttonHandler = document.getElementById(clickableElementID);\n\n if (buttonHandler && buttonHandler.getClientRects) {\n let tickTop, tickLeft;\n let {\n left,\n top,\n height: clickableHeight,\n width: clickableWidth\n } = buttonHandler.getClientRects()[0];\n\n tickLeft = Math.round(left + clickableWidth/2 - 10);\n tickTop = Math.round(top + clickableHeight) + 1;\n\n if (left > (window.innerWidth / 2)) {\n left = left - modalWidth + clickableWidth;\n } else if (window.innerWidth < modalWidth) {\n left = 0;\n modalWidth = window.innerWidth;\n }\n\n this.setState(() => ({\n // fixed part\n top: top + clickableHeight + tickSpace,\n left,\n // centered part (modal dimensions)\n width: modalWidth || 0,\n height: modalHeight || 0,\n // tick\n tickTop,\n tickLeft\n }))\n }\n } else {\n // clickable is null\n this.setState(prevState => ({\n ...prevState,\n // centered part (modal dimensions)\n width: modalWidth || 0,\n height: modalHeight || 0,\n }))\n\n // not the best i know\n this.forceUpdate();\n }\n }\n\n componentDidMount() {\n if (this.props.isModalOpen) {\n this.calcModalLocation();\n }\n\n window.addEventListener('resize', this.calcModalLocation);\n window.addEventListener('orientationChange', this.calcModalLocation);\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.isModalOpen !== this.props.isModalOpen && this.props.isModalOpen) {\n this.calcModalLocation();\n }\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.calcModalLocation);\n window.removeEventListener('orientationChange', this.calcModalLocation);\n }\n\n provideStylesForModal() {\n const shadow = { boxShadow: '0 5px 10px rgba(0,0,0,.2)' };\n const zIndex = this.props.zIndex || 2000;\n\n if (this.props.centered) {\n return {\n ...shadow,\n position: 'fixed',\n top: window.innerHeight / 2 - this.state.height / 2,\n left: window.innerWidth / 2 - this.state.width / 2 || 0,\n zIndex,\n };\n }\n\n return {\n ...shadow,\n position: 'fixed',\n top: this.state.top,\n left: this.state.left,\n zIndex,\n }\n }\n\n fallbackFocus = () => {\n const id = this.props.modalID;\n setTimeout(() => {\n const clickableElement = document.getElementById(`${id}-btn`);\n\n if (this && this.props && this.props.closeModal) {\n this.props.closeModal(id);\n }\n\n if (clickableElement) {\n clickableElement.focus();\n }\n }, 100);\n }\n\n render() {\n const { language } = this.props;\n let style = !this.props.clickableElement\n ? { width: 0, height: 0 }\n : { display: 'inline-block' };\n\n if (this.props.clickableElementStyle) {\n style = {\n ...style,\n ...this.props.clickableElementStyle\n }\n }\n \n return (\n \n {\n this.props.clickableElement\n }\n {\n this.props.isModalOpen && (\n \n
\n {\n /* Transparent Layer for large modal (all contacts/feedback detail) */\n this.props.backgroundLayer && (\n \n )\n }\n {\n !this.props.centered && (\n \n )\n }\n \n \n {\n this.props.closeIcon && (\n \n \n \n )\n }\n {\n this.props.content\n }\n
\n \n
\n \n )\n }\n
\n );\n }\n}\n\nPopupSystem.propTypes = {\n // required\n modalID: PropTypes.string.isRequired,\n isModalOpen: PropTypes.bool.isRequired,\n closeModal: PropTypes.func.isRequired,\n content: PropTypes.element.isRequired,\n // optional\n closeIcon: PropTypes.bool,\n clickableElement: (props, propName, componentName) => {\n if (props.clickableElement && props.clickableElement.props) {\n const clickableProps = props.clickableElement.props;\n const clickablePropTypes = {\n // required\n id: PropTypes.string.isRequired,\n // WAI-AIRA - default for all\n 'aria-label': PropTypes.string.isRequired,\n 'aria-haspopup': PropTypes.bool.isRequired,\n // actions\n onClick: PropTypes.func.isRequired,\n };\n\n // special format (required)\n if (clickableProps.id !== `${props.modalID}-btn`) {\n return new Error(`Invalid format of clickableElement ID in ${componentName}`)\n }\n\n //\n // focusable & visible for screen reader\n //\n if (\n props.clickableElement &&\n props.clickableElement.type.name !== 'HsbcButton'\n ) {\n clickablePropTypes.role = PropTypes.oneOf(['button','link']).isRequired;\n clickablePropTypes.tabIndex = PropTypes.number.isRequired;\n }\n\n PropTypes.checkPropTypes(clickablePropTypes, clickableProps, props.modalID, componentName)\n }\n },\n // optional styling\n centered: PropTypes.bool, // in central part of viewport\n backgroundLayer: PropTypes.bool, // layer to show on first plan only modal\n smallIcon: PropTypes.bool, // -> smaller X icon\n};\n\nPopupSystem.defaultProps = {\n // needed ?\n};\n\nexport default withLanguage(PopupSystem);\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport { Row, Col } from 'react-bootstrap';\nimport TranslationText from 'translations/TranslationText';\nimport { getRoadShowContacts, getRoadShowSummaryCoordinators } from 'selectors';\nimport Scrollable from 'shared/components/Scrollable';\n\nclass ContactsModal extends PureComponent {\n render() {\n const { contacts, roadShowCoordinators } = this.props;\n\n const contactMasterList = {\n issuers: [],\n banks: [],\n travelContacts: [],\n };\n\n contacts.forEach((company) => {\n if (company.people.length) {\n switch (company.people[0].personTypeId) {\n case 1:\n contactMasterList.issuers.push(company);\n break;\n case 2:\n case 3:\n contactMasterList.banks.push(company);\n break;\n case 4:\n contactMasterList.travelContacts = contactMasterList.travelContacts.concat(company.people.map(person => person));\n break;\n default:\n break;\n }\n }\n });\n\n contactMasterList.banks.sort((a, b) => {\n // HSBC needs to be listed first\n if (a.companyName.toLowerCase() === 'hsbc') {\n return -1;\n } else if (b.companyName.toLowerCase() === 'hsbc') {\n return 1;\n }\n\n if (a.companyName < b.companyName) {\n return -1;\n } else if (a.companyName > b.companyName) {\n return 1;\n } else {\n return 0;\n }\n });\n\n return (\n \n \n {\n contactMasterList.issuers.map((company, ind) => (\n \n

\n {company.companyName}\n

\n {\n company.people.map((person, ind) => (\n
\n \n \n {person.name}\n \n \n \n \n \n {person.title}\n \n T: {person.directTelephone}\n M: {person.mobileTelephone}\n {person.email}\n \n \n \n
\n ))\n }\n \n ))\n }\n\n \n

\n \n

\n {\n contactMasterList.banks.map((company, ind) => (\n \n \n

\n {company.companyName}\n

\n \n \n {\n company.people.map((person, ind) => (\n
\n \n \n {person.name}\n \n \n \n \n \n {person.title}\n \n T: {person.directTelephone}\n M: {person.mobileTelephone}\n {person.email}\n \n \n \n
\n ))\n }\n \n
\n ))\n }\n \n \n

\n \n

\n \n \n {\n roadShowCoordinators.length > 0 && roadShowCoordinators.map((coordinator) => (\n
\n \n \n {coordinator.name}\n \n \n \n \n \n \n \n , {coordinator.title}\n \n T: {coordinator.directTelephone}\n M: {coordinator.mobileTelephone}\n {coordinator.email}\n \n \n \n
\n ))\n }\n\n {\n contactMasterList.travelContacts.map((person, ind) => (\n
\n \n \n {person.title}\n \n \n \n \n \n {person.company}\n \n \n \n : {person.directTelephone}\n \n \n \n : {person.mobileTelephone}\n \n \n \n \n
\n ))\n }\n \n
\n \n
\n \n );\n }\n}\n\nexport default compose(\n connect(\n state => ({\n roadShowCoordinators: getRoadShowSummaryCoordinators(state),\n contacts: getRoadShowContacts(state),\n }),\n ),\n)(ContactsModal);\n","import React, { Fragment } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport styled from 'styled-components';\n\nimport { getRoadShowSummaryCoordinators } from 'selectors';\nimport TranslationText from 'translations/TranslationText';\n\nconst Container = styled.div`\n display: flex;\n flex-direction: row;\n align\n -items: center;\n justify-content: flex-start;\n flex-wrap: wrap;\n`;\n\nclass CoordinatorsModal extends React.PureComponent {\n render() {\n return (\n \n \n {\n this.props.coordinators.length > 0 && this.props.coordinators.map((coordinator, index) => (\n
\n
{coordinator.name}
\n
\n \n
\n {\n coordinator.title && (
{coordinator.title}
)\n }\n {\n coordinator.directTelephone && (
T: {coordinator.directTelephone}
)\n }\n {\n coordinator.mobileTelephone && (
M: {coordinator.mobileTelephone}
)\n }\n
{coordinator.email}
\n
\n ))\n }\n
\n {\n (this.props.coordinators.length === 0) && (\n
\n \n
\n )\n }\n
\n )\n }\n}\n\nexport default compose(\n connect(\n state => ({\n coordinators: getRoadShowSummaryCoordinators(state),\n }),\n )\n)(CoordinatorsModal);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\n\nimport { getRoadShowSummaryOnline } from 'selectors';\n\nimport TranslationText from 'translations/TranslationText';\n\nimport { buttonKeyHandler } from 'util/onKeyPress';\n\nconst clickCopy = (id) => {\n var $input = document.getElementById(id);\n $input.select();\n document.execCommand('copy');\n};\n\nconst hiddenInput = {\n position: 'absolute',\n left: '-9999px',\n};\n\nclass OnlineRoadshowModal extends React.PureComponent {\n openInBrowser = () => {\n const link = document.createElement('a');\n link.href = this.props.roadShowSummaryOnline.url;\n link.target = \"_blank\";\n link.rel = \"noopener noreferrer\";\n\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n\n render() {\n const {\n psCode,\n url\n } = this.props.roadShowSummaryOnline;\n \n if (!this.props.roadShowSummaryOnline || !url) {\n return (\n
\n \n
\n )\n }\n\n return (\n
\n
{url}
\n
\n \n  : \n {psCode}\n
\n
\n { clickCopy('link-input') }}\n onKeyDown={e => buttonKeyHandler(e, () => clickCopy('link-input'))}\n tabIndex={0}\n >\n \n \n \n\n      \n\n { clickCopy('pass-input') }}\n onKeyDown={e => buttonKeyHandler(e, () => clickCopy('pass-input'))}\n >\n \n \n \n
\n
\n )\n }\n}\n\nexport default compose(\n connect(\n state => ({\n roadShowSummaryOnline: getRoadShowSummaryOnline(state),\n }),\n )\n)(OnlineRoadshowModal);\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport styled from 'styled-components';\n\nimport { SvgIcon } from 'shared/components/Icon';\n\nimport { tabIds, roadshowContactTabs } from 'constants/tabIds';\nimport HorizontalTab from 'shared/accessibility/components/HorizontalTabs/HorizontalTab';\nimport HorizontalTabs from 'shared/accessibility/components/HorizontalTabs';\n\nimport Popup, { Divider } from 'shared/components/Popup';\nimport PopupSystem from 'shared/components/PopupSystem';\nimport Scrollable from 'shared/components/Scrollable';\n\nimport withTranslate from 'shared/hoc/withTranslate';\nimport HsbcLink from 'shared/accessibility/components/Link';\n\nimport {\n getRoadShowSummaryOnline,\n getRoadShowContacts,\n getRoadShowSummaryCoordinators\n} from 'selectors';\n\nimport ContactsModalContent from './ContactsModal.component';\nimport CoordinatorsContent from './CoordinatorsModal.component';\nimport OnlineRoadshowContent from './OnlineRoadshowModal.component';\n\nconst EnhancedDivider = styled(Divider)`\n margin: 0 0 30px;\n`;\n\nconst EmptySpace = styled.div`\n height: 20px;\n width: 100%;\n`;\n\nclass CombinedContacts extends PureComponent {\n modalOpenClick = () => {\n if (!this.props.isModalOpen) {\n this.props.openModal();\n this.props.adobeOpenModalEvent();\n }\n }\n\n render() {\n return (\n \n \n \n {\n // adobe analytics event (?)\n }}\n >\n \n \n \n\n \n {\n // adobe analytics event (?)\n }}\n >\n \n \n \n \n {\n // adobe analytics event (?)\n }}\n >\n \n \n \n \n \n \n \n }\n clickableElement={\n \n
\n \n
\n {this.props.btnText}\n \n }\n />\n );\n }\n}\n\nexport default compose(\n withTranslate(\n translate => ({\n // tabs\n allContactsTabText: translate('roadshow.all_contacts', 'All Contacts'),\n roadshowCoordinatorsText: translate('roadshow.roadshow_coordinators', 'Roadshow Coordinators'),\n onlineRoadshowText: translate('roadshow.online_roadshow', 'Online Roadshow'),\n })\n ),\n connect(\n state => ({\n // duplication in each dedicated hoc ( we're aware of that )\n isOnlineRoadshowAvailable: getRoadShowSummaryOnline(state) && getRoadShowSummaryOnline(state).url,\n areAllContactsAvailable: getRoadShowContacts(state).length > 0,\n areRoadshowCoordinatorsAvailable: getRoadShowSummaryCoordinators(state).length > 0,\n }),\n ),\n)(CombinedContacts);\n","import { connect } from 'react-redux';\nimport { compose } from 'recompose';\n\nimport withTranslate from 'shared/hoc/withTranslate';\nimport { withAnalytics2 } from 'shared/hoc/withAnalytics';\n\nimport { tabIds, roadshowContactTabs } from 'constants/tabIds';\nimport { changeTab } from 'actions/UtilityActions';\n\nimport * as modalIds from 'constants/modalIds';\nimport withModals from 'shared/hoc/withModals';\n\nimport { getRoadShowContacts } from 'selectors';\n\nimport CombinedContacts from './index';\n\nexport default compose(\n withTranslate(\n translate => ({\n btnText: translate('roadshow.all_contacts', 'All Contacts'),\n })\n ),\n connect(\n state => {\n const areAllContactsAvailable = getRoadShowContacts(state).length > 0;\n return ({\n isBtnDisabled: !areAllContactsAvailable,\n visibleTab: roadshowContactTabs.ALL_CONTACTS,\n })\n },\n dispatch => ({\n changeTab: () => dispatch(changeTab(tabIds.ROADSHOW_CONTACT_TABS, roadshowContactTabs.ALL_CONTACTS)) \n })\n ),\n withModals(\n selection => ({\n modalId: modalIds.ROADSHOW_COMBINED_CONTACTS_MODAL_ID_2,\n isModalOpen: selection(modalIds.ROADSHOW_COMBINED_CONTACTS_MODAL_ID_2),\n }),\n (close, open, props) => ({\n openModal: () => {\n props.changeTab(); // to default\n open(modalIds.ROADSHOW_COMBINED_CONTACTS_MODAL_ID_2);\n },\n closeModal: () => close(modalIds.ROADSHOW_COMBINED_CONTACTS_MODAL_ID_2),\n }),\n ),\n withAnalytics2(\n (ev, events) => ({\n adobeOpenModalEvent: () => ev(events.ROADSHOW_CONTACTS_BUTTON),\n }),\n ),\n)(CombinedContacts);","import { connect } from 'react-redux';\nimport { compose } from 'recompose';\n\nimport withTranslate from 'shared/hoc/withTranslate';\nimport { withAnalytics2 } from 'shared/hoc/withAnalytics';\n\nimport { changeTab } from 'actions/UtilityActions';\nimport { tabIds, roadshowContactTabs } from 'constants/tabIds';\n\nimport * as modalIds from 'constants/modalIds';\nimport withModals from 'shared/hoc/withModals';\n\nimport { getRoadShowSummaryOnline } from 'selectors';\n\nimport CombinedContacts from './index';\n\nexport default compose(\n withTranslate(\n translate => ({\n btnText: translate('roadshow.online_roadshow', 'Online Roadshow'),\n })\n ),\n connect(\n state => {\n const isOnlineRoadshowAvailable = getRoadShowSummaryOnline(state) && getRoadShowSummaryOnline(state).url;\n return ({\n isBtnDisabled: !isOnlineRoadshowAvailable,\n visibleTab: roadshowContactTabs.ONLINE,\n })\n },\n dispatch => ({\n changeTab: () => dispatch(changeTab(tabIds.ROADSHOW_CONTACT_TABS, roadshowContactTabs.ONLINE)) \n })\n ),\n withModals(\n selection => ({\n modalId: modalIds.ROADSHOW_COMBINED_CONTACTS_MODAL_ID_1,\n isModalOpen: selection(modalIds.ROADSHOW_COMBINED_CONTACTS_MODAL_ID_1),\n }),\n (close, open, props) => ({\n openModal: () => {\n props.changeTab(); // to default\n open(modalIds.ROADSHOW_COMBINED_CONTACTS_MODAL_ID_1);\n },\n closeModal: () => close(modalIds.ROADSHOW_COMBINED_CONTACTS_MODAL_ID_1),\n }),\n ),\n withAnalytics2(\n (ev, events) => ({\n adobeOpenModalEvent: () => ev(events.ROADSHOW_ONLINE_BUTTON),\n }),\n ),\n)(CombinedContacts);","import { connect } from 'react-redux';\nimport { compose } from 'recompose';\n\nimport withTranslate from 'shared/hoc/withTranslate';\nimport { withAnalytics2 } from 'shared/hoc/withAnalytics';\n\nimport { tabIds, roadshowContactTabs } from 'constants/tabIds';\nimport { changeTab } from 'actions/UtilityActions';\n\nimport * as modalIds from 'constants/modalIds';\nimport withModals from 'shared/hoc/withModals';\n\nimport { getRoadShowSummaryCoordinators } from 'selectors';\n\nimport CombinedContacts from './index';\n\nexport default compose(\n withTranslate(\n translate => ({\n btnText: translate('roadshow.roadshow_coordinators', 'Roadshow Coordinators'),\n })\n ),\n connect(\n state => {\n const areRoadshowCoordinatorsAvailable = getRoadShowSummaryCoordinators(state).length > 0;\n return ({\n isBtnDisabled: !areRoadshowCoordinatorsAvailable,\n visibleTab: roadshowContactTabs.COORDINATORS,\n });\n },\n dispatch => ({\n changeTab: () => dispatch(changeTab(tabIds.ROADSHOW_CONTACT_TABS, roadshowContactTabs.COORDINATORS)) \n })\n ),\n withModals(\n selection => ({\n modalId: modalIds.ROADSHOW_COMBINED_CONTACTS_MODAL_ID_3,\n isModalOpen: selection(modalIds.ROADSHOW_COMBINED_CONTACTS_MODAL_ID_3),\n }),\n (close, open, props) => ({\n openModal: () => {\n props.changeTab(); // to default\n open(modalIds.ROADSHOW_COMBINED_CONTACTS_MODAL_ID_3);\n },\n closeModal: () => close(modalIds.ROADSHOW_COMBINED_CONTACTS_MODAL_ID_3),\n }),\n ),\n withAnalytics2(\n (ev, events) => ({\n adobeOpenModalEvent: () => null, // missing event ev(events.ROADSHOW_COORDINATORS_BUTTON),\n }),\n ),\n)(CombinedContacts);","import React from 'react';\n// TODO\nimport { Icon } from 'mk-pattern-library-react';\n\nexport const debounce = (func, wait, immediate) => {\n var timeout;\n return () => {\n /* eslint-disable-next-line */\n const context = this, args = arguments;\n const later = function() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n};\n\nexport const roadShowEventTypes = new Map();\nroadShowEventTypes.set(0, {\n title : () => ``,\n participantsTitle: 'Team Attendees',\n eventTypeId : 0,\n});\nroadShowEventTypes.set(1, {\n title : (host) => `1:1 Call ${(host) ? `(${host})` : ``}`,\n participantsTitle: 'Team Attendees',\n eventTypeId : 1,\n});\nroadShowEventTypes.set(2, {\n title : (host) => `1:1 Conference Call ${(host) ? `(${host})` : ``}`,\n participantsTitle: 'Team Attendees',\n eventTypeId : 2,\n});\nroadShowEventTypes.set(3, {\n title : (host, num) => `${num || 'X'}:1 ${(host) ? `(${host})` : ``}`,\n participantsTitle: 'Team Attendees',\n eventTypeId : 3,\n});\nroadShowEventTypes.set(4, {\n title : () => `Group Meeting`,\n participantsTitle: 'Team Attendees',\n eventTypeId : 4,\n});\nroadShowEventTypes.set(5, {\n title : () => `Conference Call`,\n participantsTitle: 'Team Attendees',\n eventTypeId : 5,\n});\nroadShowEventTypes.set(6, {\n title : () => `Private Meeting`,\n participantsTitle: 'Team Attendees',\n eventTypeId : 6,\n});\nroadShowEventTypes.set(7, {\n title : () => `Placeholder`,\n participantsTitle: 'Team Attendees',\n eventTypeId : 7,\n});\nroadShowEventTypes.set(8, {\n title : () => `Flight`,\n icon : ,\n summaryIcon : ,\n participantsTitle: 'Passengers',\n eventTypeId : 8,\n});\nroadShowEventTypes.set(9, {\n title : () => `Flight`,\n icon : ,\n summaryIcon : ,\n participantsTitle: 'Passengers',\n eventTypeId : 9,\n});\nroadShowEventTypes.set(10, {\n title : () => `Train`,\n icon : ,\n summaryIcon : ,\n participantsTitle: 'Passengers',\n eventTypeId : 10\n});\nroadShowEventTypes.set(11, {\n title : () => `Car`,\n icon : ,\n summaryIcon : ,\n participantsTitle: 'Passengers',\n eventTypeId : 11\n});\nroadShowEventTypes.set(12, {\n title : () => `Hotel`,\n icon : ,\n summaryIcon : ,\n participantsTitle: 'Team',\n eventTypeId : 12\n});\nroadShowEventTypes.set(17, {\n title : () => `Investor Call`,\n participantsTitle: 'Team Attendees',\n eventTypeId : 17,\n});","import React, { Component } from 'react';\nimport { Row, Col, ListGroup, ListGroupItem } from 'react-bootstrap';\nimport { connect } from 'react-redux';\nimport { sortBy, some } from 'lodash';\nimport moment from 'moment-timezone';\nimport { compose } from 'recompose';\n// TODO\nimport { ValueFormatters } from 'mk-pattern-library-react';\n\nimport { ALL_TEAMS_SELECTED } from 'constants/multiteam';\nimport { getTeams, getMultiTeamMode, getSelectedTeam, getTeamsDetails } from 'selectors';\nimport { roadShowEventTypes } from 'util/siteConstants';\nimport TranslationText from 'translations/TranslationText';\nimport withTranslate from 'shared/hoc/withTranslate';\nimport { buttonKeyHandler } from 'util/onKeyPress';\n\nclass RoadShowDayView extends Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n interval: null,\n }\n this.findNextEvent = this.findNextEvent.bind(this);\n this.handleDayViewCellClick = this.handleDayViewCellClick.bind(this);\n }\n\n handleDayViewCellClick(selectedEvent) {\n this.props.handleDayViewUpdate(selectedEvent);\n\n const elem = document.getElementById('event-detail-container')\n if (elem) elem.focus();\n }\n\n findNextEvent(events, now) {\n for (let i = 0; i < events.length; i++) {\n //if the event is today and in the future\n if ((moment().utc().isSame(moment(events[i].startDateUtc).utc(), 'day')) && moment(events[i].startDateUtc).utc().isAfter(now)) {\n return events[i];\n }\n }\n }\n\n findNextEvents(events) {\n return events.reduce((nextEvents, event) => {\n if(!moment(event.startDateUtc).isSame(moment().utc(), 'day') || moment(event.startDateUtc).isBefore(moment().utc())) {\n return nextEvents;\n }\n\n if(!nextEvents.length || moment(event.startDateUtc).isBefore(moment(nextEvents[0].startDateUtc))) {\n return [event];\n }\n\n if(moment(event.startDateUtc).isSame(moment(nextEvents[0].startDateUtc))) {\n nextEvents.push({\n eventId: event.eventId,\n startDateUtc: event.startDateUtc,\n });\n }\n\n return nextEvents\n }, []);\n }\n\n findEventsStartingInNextHour(events, now) {\n return events.reduce((imminentEvents, event) => {\n if(moment(event.startDateUtc).isBefore(moment.utc())) {\n return imminentEvents;\n }\n\n if(moment(event.startDateUtc).diff(moment().utc(), 'minutes') < 60) {\n imminentEvents.push({\n eventId: event.eventId,\n startDateUtc: event.startDateUtc,\n });\n }\n\n return imminentEvents\n }, []);\n }\n\n getEventLabel(nextEvents, imminentEvents, event) {\n if(imminentEvents.length > 0) {\n if(some(imminentEvents, ie => ie.eventId === event.eventId)) {\n const minuteDiff = moment(event.startDateUtc).utc().diff(moment().utc(), 'minutes');\n\n if (minuteDiff > 1) {\n return (\n _mins\"}\n replace={[\n [\"\", minuteDiff]\n ]}\n defaultText={\"Next Event\"}\n />\n )\n } else {\n return (\n _min\"}\n replace={[\n [\"\", minuteDiff]\n ]}\n defaultText={\"Next Event\"}\n />\n )\n }\n }\n } else if(some(nextEvents, ie => ie.eventId === event.eventId)) {\n return (\n \n )\n }\n\n return \"\";\n }\n\n componentDidMount() {\n this.interval = setInterval(this.forceUpdate.bind(this), 1000);\n }\n\n componentWillUnmount() {\n clearInterval(this.interval);\n }\n\n render() {\n const events = sortBy(this.props.dayEvents, ['startDateUtc', 'startDateLocal']);\n const hasEvents = (events.length);\n if (!hasEvents) {\n return (\n \n \n
\n )\n }\n\n const nextEvents = this.findNextEvents(events);\n const imminentEvents = this.findEventsStartingInNextHour(events);\n\n // need 1st row to also have top border\n const eventCells = events.map((event, index) => {\n const eventType = roadShowEventTypes.has(event.eventTypeId) ? roadShowEventTypes.get(event.eventTypeId) : roadShowEventTypes.get(0);\n let xNum;\n\n if (event.eventTypeId === 3) {\n\n let investors = [];\n if (event.persons && event.persons.length) {\n event.persons.forEach((person) => {\n switch (person.personTypeId) {\n case 2:\n investors.push(person);\n break\n default:\n break\n }\n });\n }\n\n let investorsByFirm = {};\n if (investors) {\n investors.forEach((investor) => {\n if (!investorsByFirm[investor.company]) {\n investorsByFirm[investor.company] = true;\n }\n xNum = Object.keys(investorsByFirm).length\n });\n }\n }\n\n // Add class to denote past event\n const cellClass = \"day-view-cell \" + (moment(event.startDateUtc) < moment().utc() ? \"past-event \" : \"\") +\n (nextEvents.some(ne => ne.eventId === event.eventId) ? \"day-view-next-event \" : \"\")\n\n\n let titleClass = (event.booked === null || event.booked === true ? \"text-univ-bd \" : \" \");\n\n const teams = event.teams && event.teams\n .filter(teamName => this.props.teams.indexOf(teamName) >= 0)\n .map(teamName => ({ teamName, color: ValueFormatters.findTeamColor(this.props.teams, teamName) }));\n\n const eventLabel = this.getEventLabel(nextEvents, imminentEvents, event);\n return (\n buttonKeyHandler(e, () => this.handleDayViewCellClick(event))}\n active={(this.props.activeEvent ? (this.props.activeEvent.eventId === event.eventId) : false)}\n className={cellClass}\n >\n \n {\n (eventLabel !== \"\") && (\n
\n
\n \n {eventLabel}\n \n
\n )\n }\n\n \n \n \n {event.eventTypeId !== 12 && ValueFormatters.dateFormatter('zoneTime', moment(event.startDateLocal))}\n \n \n \n \n {event.eventTypeId !== 12 && event.startTimeZone}\n \n \n \n\n \n
\n {eventType.icon}\n
\n
\n \n \n {event.title}\n \n \n \n \n \n {eventType.title(event.host, xNum)}\n {\n (event.eventTypeId >= 8 && event.eventTypeId < 12) && (event.endDateLocal) && (\n \n   |  \n \n  \n {\n ValueFormatters.dateFormatter('zoneTime', event.endDateLocal)\n }\n  \n {\n event.endTimeZone\n }\n \n )\n }\n \n {\n event.teams && (\n \n {\n teams.map(({ teamName, color }) => (\n \n
\n {\n this.props.teamDetails[teamName].roadshowTeamCode\n }\n \n ))\n }\n \n )\n }\n \n \n
\n \n
\n \n )\n })\n\n return (\n \n {eventCells}\n \n )\n }\n};\n\nexport default compose(\n connect(\n state => ({\n teams: getTeams(state),\n multiteamMode: getMultiTeamMode(state),\n allTeamsSelected: getSelectedTeam(state) !== ALL_TEAMS_SELECTED,\n teamDetails: getTeamsDetails(state),\n }),\n ),\n withTranslate(translate => ({\n containerRegionAriaLabel: translate('', 'Day view list'),\n }))\n)(RoadShowDayView);\n","import React from 'react';\nimport { Row, Col } from 'react-bootstrap';\n// TODO\nimport { ValueFormatters } from 'mk-pattern-library-react';\n\nconst iconStyle = {\n marginLeft: 7,\n width: 16,\n display: 'inline-block',\n color: 'rgb(153, 153, 153)'\n} \n\nconst flexbox = {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-start',\n justifyContent: 'flex-end',\n}\n\nconst EventSummary = (props) => {\n\n const spacingLg = { marginBottom: 8 };\n\n const { eventTitle, startTime, endTime, eventText, eventIcon, eventTypeId, startTimeZone } = props;\n\n let endTimeZone = props.endTimeZone;\n if ((typeof endTimeZone === 'undefined' || endTimeZone === null) && endTime) {\n endTimeZone = startTimeZone; // if no timezone, make them equal to one another\n }\n\n return (\n \n \n
\n

{eventTitle}

\n {eventText}{eventIcon && (
{eventIcon}
)}\n
\n \n\n {startTime && (eventTypeId !== 12) &&\n (\n
\n
\n
\n {\n ValueFormatters.dateFormatter('zoneTime', startTime)\n }\n
\n {\n (\n endTimeZone && (endTimeZone === startTimeZone) && null\n ) || (\n endTimeZone && (endTimeZone !== startTimeZone) && (\n
{startTimeZone}
\n )\n ) || null\n }\n
\n {\n endTime && (\n
\n  to \n
\n )\n }\n {\n endTime && (\n
\n
\n {\n ValueFormatters.dateFormatter('zoneTime', endTime)\n }\n
\n {\n (\n !endTimeZone && (\n
{startTimeZone}
\n )\n ) || (\n
{endTimeZone}
\n )\n }\n
\n )\n }\n
\n )\n }\n
\n )\n}\n\nexport default EventSummary\n","/* @flow */\nimport React from 'react';\n\nimport { Col } from 'react-bootstrap';\nimport TranslationText from 'translations/TranslationText';\n\nfunction createComment(commentText) {\n return commentText.split('\\n').reduce((commentBlock, commentLine)=>{\n return commentBlock += `
${commentLine}`;\n })\n}\n\nconst CoordinatorComments = (props) => {\n const comments = props.comments;\n return (\n \n
\n
\n \n
\n
\n \n )\n}\n\nexport default CoordinatorComments","/* @flow */\nimport React from 'react';\nimport { Row, Col } from 'react-bootstrap';\n// TODO\nimport { ValueFormatters } from 'mk-pattern-library-react';\n\nimport CoordinatorComments from '../CoordinatorComments/CoordinatorComments';\n\nimport TranslationText from 'translations/TranslationText';\n\nconst LogisticsDetails = (props) => {\n const { event, driver, eventType } = props,\n spacingSm = { marginBottom: 5 },\n spacingLg = { marginBottom: 8 },\n dealType = props.dealType;\n\n // Planes and Trains\n const travelWithIcon = (location1, location2, carrier) => (\n \n {\n location1 && (\n \n
\n \n  \n {location1.city}\n
\n
\n {ValueFormatters.dateFormatter('zoneTime', event.startDateLocal || '--')}\n {event.startTimeZone}\n
\n
{location1.place}
\n
{location1.roomNumber}
\n
{location1.addressLine1}
\n
{location1.addressLine2}
\n
{location1.addressLine3}
\n
{location1.addressLine4}
\n
{location1.telephone}
\n {/*
Terminal --
*/}\n \n )\n }\n\n { \n location1 && (\n \n
{(eventType.eventTypeId === 8 || eventType.eventTypeId === 9) ? 'Flight' : 'Train'}
\n
{event.travelNumber}
\n
{carrier}
\n \n )\n }\n\n {\n location2 && (\n \n
\n \n  \n {location2.city}\n
\n
\n {ValueFormatters.dateFormatter('zoneTime', event.endDateLocal || '--')}\n {event.endTimeZone}\n
\n
{location2.place}
\n
{location1.roomNumber}
\n
{location2.addressLine1}
\n
{location2.addressLine2}
\n
{location2.addressLine3}
\n
{location2.addressLine4}
\n
{location2.telephone}
\n {/*
Terminal --
*/}\n\n \n )\n }\n {\n event.notes && ()\n }\n
\n )\n\n // Car\n const travelCar = (location1, location2, driver, carrier) => (\n \n {location1 && (\n
\n \n
\n
{location1.place}
\n
{location1.roomNumber}
\n
{location1.addressLine1}
\n
{location1.addressLine2}
\n
{location1.addressLine3}
\n
{location1.addressLine4}
\n\n {dealType && dealType === \"DCM\" && (\n
\n {location1.city && (location1.city + ', ')}\n {location1.country}\n
\n )}\n \n )}\n {location2 && (\n
\n \n
\n
{location2.place}
\n
{location2.roomNumber}
\n
{location2.addressLine1}
\n
{location2.addressLine2}
\n
{location2.addressLine3}
\n
{location2.addressLine4}
\n\n {dealType && dealType === \"DCM\" && (\n
\n {location2.city && (location2.city + ', ')}\n {location2.country}\n
\n )}\n )}\n\n \n
\n \n\n {driver && (\n \n
\n \n
\n
{driver.name}
\n
{driver.mobileTelephone && `Tel: ${driver.mobileTelephone}`}
\n \n )}\n {carrier && (\n \n
\n \n
\n
{carrier}
\n {/*
{driver.directTelephone && `Tel: ${driver.directTelephone}`}
*/}\n \n )}\n {event.notes &&\n ()\n }\n
\n )\n\n // Hotel\n const travelHotel = (location1) => (\n \n {location1 && (\n
{location1.place}
\n
\n
{location1.roomNumber}
\n
{location1.addressLine1}
\n
{location1.addressLine2}
\n
{location1.addressLine3}
\n
{location1.addressLine4}
\n {dealType && dealType === \"DCM\" && (\n
\n {location1.city && (location1.city + ', ')}\n {location1.country}\n
\n )}\n\n {location1.telephone && (\n
{location1.telephone}
\n )}\n
\n \n )}\n\n\n {event.notes &&\n ()\n }\n
\n )\n\n // This is used for unknown events that contain 2 locations in data\n const travelUnknown = (location1, location2) => (\n \n {location1 && (\n
\n \n  \n {location1.city}\n
\n
\n {ValueFormatters.dateFormatter('zoneTime', event.startDateLocal || '--')}\n {event.startTimeZone}\n
\n
{location1.place}
\n
{location1.roomNumber}
\n
{location1.addressLine1}
\n
{location1.addressLine2}
\n
{location1.addressLine3}
\n
{location1.addressLine4}
\n\n {dealType && dealType === \"DCM\" && (\n
\n {location1.city && (location1.city + ', ')}\n {location1.country}\n
\n )}\n )}\n {location2 && (\n
\n \n  \n {location2.city}\n
\n
\n {ValueFormatters.dateFormatter('zoneTime', event.endDateLocal || '--')}\n {event.endTimeZone}\n
\n
{location2.place}
\n
{location2.roomNumber}
\n
{location2.addressLine1}
\n
{location2.addressLine2}
\n
{location2.addressLine3}
\n
{location2.addressLine4}
\n\n {dealType && dealType === \"DCM\" && (\n
\n {location2.city && (location2.city + ', ')}\n {location2.country}\n
\n )}\n\n )}\n\n {event.notes &&\n ()\n }\n
\n )\n\n let logisticsSections = [];\n\n switch (eventType.eventTypeId) {\n case 0:\n logisticsSections.push(\n travelUnknown(event.location1, event.location2)\n )\n break\n case 8:\n case 10:\n logisticsSections.push(\n travelWithIcon(event.location1, event.location2, event.carrier)\n )\n break\n case 9:\n // Multi-leg - how do we get more than one flight section out of the data?\n logisticsSections.push(\n travelWithIcon(event.location1, event.location2, event.carrier),\n travelWithIcon(event.location1, event.location2, event.carrier)\n )\n break\n case 11:\n logisticsSections.push(\n travelCar(event.location1, event.location2, driver, event.carrier)\n )\n break\n case 12:\n logisticsSections.push(\n travelHotel(event.location1)\n )\n break\n default :\n console.log(`Invalid eventTypeId in LogisticsDetails ${eventType.eventTypeId}`)\n }\n\n\n\n\n\n return (\n \n \n {logisticsSections.map((section, ind) => { return
{section}
})}\n \n
\n )\n\n}\n\nexport default LogisticsDetails\n","/* @flow */\nimport React from 'react';\nimport { Row, Col } from 'react-bootstrap';\nimport CoordinatorComments from '../CoordinatorComments/CoordinatorComments';\n\n// import '../../styles/roadShow.scss';\n\nconst MeetingsDetails = (props) => {\n const event = props.event,\n spacingLg = { marginBottom: 8 },\n spacingXl = { marginBottom: 20 },\n eventLocation = event.location1 || event.location2 || {},\n\n dealType = props.dealType;\n\n const meetingLocation = (\n
\n {/* {event.booked == false &&\n \n \n Unconfirmed Event\n \n \n } */}\n\n \n {eventLocation &&\n (\n
{eventLocation.place}
\n
\n
{eventLocation.roomNumber}
\n
{eventLocation.addressLine1}
\n
{eventLocation.addressLine2}
\n
{eventLocation.addressLine3}
\n
{eventLocation.addressLine4}
\n {dealType && dealType === \"DCM\" && (\n
\n {eventLocation.city && (eventLocation.city + ', ')}\n {eventLocation.country}\n
\n )}\n\n {eventLocation.telephone && (\n
{eventLocation.telephone}
\n )}\n
\n )\n }\n\n\n\n {event.notes &&\n ()\n }\n
\n\n
\n\n )\n let meetingSections = [];\n\n meetingSections.push(\n meetingLocation\n )\n\n return (\n \n \n {meetingSections.map((section, ind) => { return
{section}
})}\n \n
\n )\n\n}\n\nexport default MeetingsDetails\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\n\nimport { Row, Col, ListGroup, ListGroupItem } from 'react-bootstrap';\nimport moment from 'moment-timezone';\n// TODO\nimport { ValueFormatters, Icon } from 'mk-pattern-library-react';\n\nimport TranslationText from 'translations/TranslationText';\nimport { ImgIcon } from 'shared/components/Icon';\nimport { requestDoc } from 'actions/MyDocsActions';\n\nimport HsbcLink from 'shared/accessibility/components/Link';\n\n\nconst InvestorDetails = (props) => {\n const now = moment(),\n investorIconStyle = {\n verticalAlign: 'super',\n marginRight : 10,\n paddingLeft : 15,\n height:15\n },\n\n profileIconStyle = Object.assign({ height: 15 }, investorIconStyle),\n feedbackIconStyle = Object.assign({ height: 14 }, investorIconStyle),\n historicalIconStyle = Object.assign({ height: 16 }, investorIconStyle),\n\n investorLinkStyle = {\n display : 'inline-block',\n width : 80,\n fontSize: 12,\n },\n downloadIconStyle = {\n width: '18px',\n marginRight: 5,\n },\n spacingLg = { marginBottom: 8 },\n invProStyle = {\n ...spacingLg,\n paddingLeft: 15\n };\n\n const { event, eventTypeId, investors } = props;\n const { startDateLocal, investorProfiles } = event;\n // Meeting types 4 and 5 (Group, Group Conference) need logic surrounding present / past states and which investors were present\n // True if a group AND is in the past\n const pastGroupEvent = (moment(startDateLocal).isBefore(now)) && (eventTypeId === 4 || eventTypeId === 5) ? true : false;\n\n const handleDownloadClick = (documentVersionId) => {\n if(!documentVersionId) return;\n \n props.requestDoc(documentVersionId, \"Investor Profile\");\n }\n\n const investorInfo = (investor, ind) => (\n \n \n \n {investor.name}\n \n \n {ValueFormatters.choosePhoneFormatter(investor)}\n \n \n \n )\n\n const investorDetailSection = (firmName, documentVersionId, investorList) => {\n if (investorList.length > 0) {\n return (\n
\n { \n documentVersionId && \n handleDownloadClick(documentVersionId)}\n >\n { \n \n \n
\n }\n {firmName}\n {/* {investorList.keyInvestor && ()} */}\n \n }\n { !documentVersionId &&\n
\n {firmName}\n
\n }\n \n {/* Need logic surrounding these buttons - do we have this information for the firm? */}\n {investorList.profile && (\n \n \n \n \n )}\n {investorList.feedback && (\n \n \n \n \n )}\n {investorList.history && (\n \n \n \n \n )}\n \n \n \n \n {/*Need to map over investors */}\n {investorList.map(investorInfo)}\n \n \n \n
\n )\n }\n else {\n return null\n }\n }\n\n // Create objects of investors to group them by firm\n let investorsByFirm = {};\n\n investors.forEach((investor) => {\n\n if (!investorsByFirm[investor.company]) {\n investorsByFirm[investor.company] = [];\n }\n\n investorsByFirm[investor.company].push(investor);\n });\n\n let investorDetailSections = [],\n investorDetailSections2 = [];\n\n const firmNames = Object.keys(investorsByFirm).sort((a, b) => {\n if (a < b) {\n return -1\n }\n else if (a > b) {\n return 1\n }\n else {\n return 0\n }\n });\n firmNames.forEach((firmName) => {\n // sort by lastname\n investorsByFirm[firmName].sort((a, b) => {\n let aSplit = a.name.split(' '),\n bSplit = b.name.split(' '),\n\n name1 = aSplit[aSplit.length - 1],\n name2 = bSplit[bSplit.length - 1];\n\n if (name1 < name2) {\n return -1\n }\n else if (name1 > name2) {\n return 1\n }\n else {\n return 0\n }\n\n });\n\n let attendedInvestors = [],\n notAttendedInvestors = [];\n\n for (var i = 0; i < investorsByFirm[firmName].length; i++) {\n const investor = investorsByFirm[firmName][i];\n\n if (pastGroupEvent) {\n if (investor.attended) {\n attendedInvestors.push(investor);\n }\n else {\n notAttendedInvestors.push(investor);\n }\n }\n else {\n attendedInvestors.push(investor);\n }\n\n }\n const investorProfilesObj = investorProfiles.find( \n investorProfile => investorProfile.company === firmName\n );\n\n const documentVersionId = (investorProfilesObj) ? investorProfilesObj.documentVersionId : null;\n\n const attendedInvestorsSection = investorDetailSection(firmName, documentVersionId, attendedInvestors),\n notAttendedInvestorsSection = investorDetailSection(firmName, documentVersionId, notAttendedInvestors);\n if (attendedInvestorsSection) {\n investorDetailSections.push(attendedInvestorsSection);\n }\n if (notAttendedInvestorsSection) {\n investorDetailSections2.push(notAttendedInvestorsSection);\n }\n })\n\n return (\n \n {!pastGroupEvent && (\n
\n \n
\n )}\n\n {(pastGroupEvent && (investorDetailSections.length > 0)) && (\n
\n \n
\n )}\n\n {(investorDetailSections.length > 0) && investorDetailSections.map((section, ind) => { return {section} })}\n\n {(pastGroupEvent && (investorDetailSections2.length > 0)) && (\n
\n \n
\n )}\n {pastGroupEvent && (investorDetailSections2.length > 0) && investorDetailSections2.map((section, ind) => { return {section} })}\n\n
\n )\n}\n\nexport default compose(\n connect(\n null,\n dispatch => ({\n requestDoc: (docId, docName) => dispatch(requestDoc(docId, docName)),\n })\n ),\n)(InvestorDetails);","import React from 'react';\nimport { Row, Col } from 'react-bootstrap';\n// TODO\nimport { ValueFormatters } from 'mk-pattern-library-react';\n\nimport TranslationText from 'translations/TranslationText';\n\nconst BankerDetails = (props) => {\n const spacingSm = { marginBottom: 5 };\n\n const bankerInfo = (banker, ind) => (\n \n\n
\n \n
\n
{banker.company}
\n
{banker.name}
\n
{ValueFormatters.choosePhoneFormatter(banker)}
\n \n )\n\n const salesInfo = (salesContact, ind) => (\n \n\n
\n \n
\n
{salesContact.company}
\n
{salesContact.name}
\n
{ValueFormatters.choosePhoneFormatter(salesContact)}
\n \n )\n\n const { bankers, salesContacts } = props;\n return (\n \n {salesContacts && salesContacts.map(salesInfo)}\n {bankers && bankers.map(bankerInfo)}\n \n )\n}\n\nexport default BankerDetails","import React from 'react';\nimport { Row, Col } from 'react-bootstrap';\n\nconst ParticipantDetails = (props) => {\n\n const { participants, participantsTitle } = props,\n spacingSm = { marginBottom: 5 },\n spacingXl = { marginBottom: 20 };\n const participantInfo = (participant, ind) => (\n \n
{participant.name}
\n
{participant.booking}
\n {/* There may be 2 lines of information to display here */}\n {/*
{participant.telephone}
*/}\n \n )\n\n return (\n \n \n
\n \n \n
{participantsTitle}
\n \n {participants.map(participantInfo)}\n \n \n
\n )\n}\n\nexport default ParticipantDetails\n","import React from 'react';\nimport { Row, Col } from 'react-bootstrap';\nimport { compose } from 'recompose';\n// TODO\nimport { SiteConstants } from 'mk-pattern-library-react';\n\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport EventSummary from '../EventSummary/EventSummary';\nimport LogisticsDetails from '../LogisticsDetails/LogisticsDetails';\nimport MeetingsDetails from '../MeetingsDetails/MeetingsDetails';\nimport InvestorDetails from '../InvestorDetails/InvestorDetails';\nimport BankerDetails from '../BankerDetails/BankerDetails';\nimport ParticipantDetails from '../ParticipantDetails/ParticipantDetails';\n\n// TODO\nconst { roadShowEventTypes } = SiteConstants;\n\nconst DetailsView = (props) => {\n const event = props.event;\n const knownType = roadShowEventTypes.has(event.eventTypeId);\n const typeId = knownType ? event.eventTypeId : 0\n const eventType = roadShowEventTypes.get(typeId);\n const dealType = props.dealType;\n\n let investors = [];\n let bankers = [];\n let participants = [];\n let drivers = [];\n let salesContacts = [];\n\n // Split persons associated with the evet into the proper lists\n if (event.persons && event.persons.length) {\n event.persons.forEach((person) => {\n switch (person.personTypeId) {\n case 1:\n participants.push(person);\n break\n case 2:\n investors.push(person);\n break\n case 3:\n bankers.push(person);\n break\n case 4:\n drivers.push(person);\n break\n case 5:\n salesContacts.push(person);\n break\n default:\n throw new Error(`Invalid person type Id: ${person.personTypeId}`);\n }\n });\n }\n\n let xNum;\n\n if (event.eventTypeId === 3) {\n let investorsByFirm = {};\n if (investors.length) {\n investors.forEach((investor) => {\n if (!investorsByFirm[investor.company]) {\n investorsByFirm[investor.company] = true;\n }\n xNum = Object.keys(investorsByFirm).length\n });\n }\n }\n\n return (\n \n \n {/* Top summary of event */}\n \n\n {/* Checking against unknown event type */}\n {eventType.eventTypeId === 0\n && (\n // Event is unknown, check to see if we need a logistic or meeting view based on data returned\n (event.location1 && event.location2)\n ?\n (\n // Show Logistics Info\n \n )\n :\n (\n // Show Meeting Info\n \n )\n )}\n\n {(eventType.eventTypeId !== 0\n &&\n (eventType.eventTypeId >= 8) && (\n // Show Logistics Info\n \n ))\n ||\n ((eventType.eventTypeId < 8) && (\n // Show Meeting Info\n \n ))\n }\n\n\n\n {/* Only show investor sections if we have them */}\n {(investors.length !== 0) && (\n \n )}\n\n {/* Only show banker section if we have them */}\n {(bankers.length !== 0 || salesContacts.length !== 0) && (\n \n )}\n\n {/* Only show participants section if we have them */}\n {(participants.length !== 0) && (\n \n )}\n\n \n \n )\n};\n\nexport default compose(\n withTranslate(translate => ({\n eventDetailRegion: translate('', 'Event detail content'),\n }))\n)(DetailsView);\n","/* eslint-disable */\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Row, Col } from 'react-bootstrap';\nimport moment from 'moment-timezone';\nimport styled from 'styled-components';\nimport { compose } from 'recompose';\n// TODO\nimport { ScrollingNav, ValueFormatters, HsbcButton } from 'mk-pattern-library-react';\n\nimport { updateSelectedDay, setRoadShowDailyEvent } from 'actions/RoadShowActions';\nimport { requestDoc } from 'actions/MyDocsActions';\nimport { viewChange } from 'actions/AnalyticsActions';\nimport { openModal, closeModal } from 'actions/UtilityActions';\n\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { events } from 'constants/analytics';\n\nimport * as modalIds from 'constants/modalIds';\nimport { ALL_TEAMS_SELECTED } from 'constants/multiteam';\nimport { featurePageIds } from 'constants/featurePages';\n// multilang\nimport TranslationText, { translationString } from 'translations/TranslationText';\nimport withLanguage from 'translations/withLanguage';\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport { FeatureHeading, HeadingDescription } from 'shared/styles/components/headings';\n\nimport {\n getRoadShowSummaryOnline,\n getRoadShowContacts,\n getRoadShowSummaryCoordinators,\n getEventsForSelectedDay,\n getRoadShowSelectedDay,\n getSelectedTeam,\n getMultiTeamMode,\n getRoadShowEventDates,\n getRoadShowFullSchedule,\n getDailyEventId,\n isModalOpen\n} from 'selectors';\n\nimport { ImgIcon } from 'shared/components/Icon';\nimport Notification from 'shared/components/Notifications';\nimport HsbcLink from 'shared/accessibility/components/Link';\n\n// modal cnt\nimport MultiTeam from './modals/MultiTeam';\n\nimport CombinedContacts from './modals/CombinedContacts/indexContacts';\nimport CombinedDetails from './modals/CombinedContacts/indexDetails';\nimport CombinedCoordinators from './modals/CombinedContacts/indexCoordinators';\n// cmp\nimport RoadShowDayView from './DayView.container';\nimport DetailsView from './EventDetails/DetailsView/DetailsView';\n\nconst documentIconStyle = {\n height: '18px',\n width: '18px',\n position: 'absolute',\n display: \"inline-block\",\n color: '#4D6474',\n left: -23,\n top: 1,\n};\n\nclass RoadShowContainer extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n scrollToTopDayViewFlag: false,\n scrollToTopDetailViewFlag: false,\n };\n\n this.handleRoadShowNavClick = this.handleRoadShowNavClick.bind(this);\n this.handleDayViewUpdate = this.handleDayViewUpdate.bind(this);\n this.handleDocumentClick = this.handleDocumentClick.bind(this);\n\n this.dealType = props.dealType;\n }\n\n componentDidMount() {\n this.props.viewChange();\n }\n\n componentWillUnmount() {\n clearInterval(this.timer)\n }\n\n handleDocumentClick(docId, docName) {\n this.props.requestDoc(docId, docName);\n }\n\n handleDayViewUpdate(selectedEvent) {\n this.props.changeDailyEvent(selectedEvent.eventId);\n this.props.eventDetailButtonEvent();\n\n this.setState({\n scrollToTopDetailViewFlag: !this.state.scrollToTopDetailViewFlag\n });\n }\n\n handleRoadShowNavClick(selectedDay) {\n this.props.updateSelectedDay(selectedDay);\n this.props.changeDailyEvent(null);\n\n this.setState({\n scrollToTopDayViewFlag: !this.state.scrollToTopDayViewFlag,\n scrollToTopDetailViewFlag: !this.state.scrollToTopDetailViewFlag\n });\n\n this.props.carouselChangeEvent();\n }\n\n mapNavEvents() {\n return this.props.roadShowSummaryDates.map(date => {\n let eventText;\n\n if (date.hasFlights) {\n eventText = this.props.planeText;\n }\n else if (date.hasTrain) {\n eventText = this.props.trainText;\n }\n else if (date.hasCars) {\n eventText = this.props.carText;\n }\n\n return {\n ...date,\n details: `${date.meetingCount} ${date.meetingCount > 1\n ? translationString('roadshow.meetings', this.props.language, 'meetings')\n : translationString('roadshow.meeting', this.props.language, 'meeting')\n }`,\n btnAriaLabel: translationString(\n 'roadshow.,_places:_,_meetings:_',\n this.props.language,\n `${date.view}, places: ${date.status.length}${date.status.length > 0 ? `(${date.status.join(', ')})` : ''}, meetings: ${date.meetingCount}, ${date.eventIcon}, ${eventText}`,\n [\n ['', date.view],\n ['', `${date.status.length}${date.status.length > 0 ? `(${date.status.join(', ')})` : ''}`],\n ['', date.meetingCount],\n ]\n )\n }\n });\n }\n\n render() {\n const selectedDayEvents = this.props.eventsForSelectedDay ? this.props.eventsForSelectedDay.sort((a, b) => {\n const date1 = moment(a.startDateLocal)\n const date2 = moment(b.startDateLocal)\n\n //\n // ─── HOTELS AT BOTTOM OF LIST ────────────────────────────────────\n //\n if (a.eventTypeId === 12) {\n return 1\n }\n if (b.eventTypeId === 12) {\n return -1\n }\n // ────────────────────────────────────────────────────────────────────────────────\n\n if (date1.isBefore(date2)) {\n return -1\n }\n else if (date1.isAfter(date2)) {\n return 1\n }\n else {\n return 0\n }\n }) : [];\n\n let selectedEvent;\n if (this.props.dailyEventId) {\n if (selectedDayEvents.some(ev => ev.eventId === this.props.dailyEventId)) {\n selectedEvent = selectedDayEvents.filter(ev => ev.eventId === this.props.dailyEventId)[0];\n } else {\n // Improve this -> select first one from the list\n selectedEvent = selectedDayEvents[0];\n }\n } else {\n // Improve that too - if empty list then dispatch null !\n selectedEvent = selectedDayEvents[0];\n }\n\n let activeDay = this.props.selectedDay || {};\n\n let cityList = activeDay.status;\n\n if(activeDay.status && activeDay.status.map){\n cityList = activeDay.status.map((city, index) => `${city}${index < activeDay.status.length - 1 ? ', ' : ''}`);\n }\n\n let dayViewStyle = {\n marginLeft: 0,\n backgroundColor: '#FFFFFF',\n marginRight: 0,\n paddingRight: 0,\n width: window.innerWidth < 768 ? '100%' : '50%',\n }\n\n return (\n
\n \n \n \n \n \n
\n \n
\n \n
\n \n \n
\n

\n \"}\n replace={[\n [\"\", ValueFormatters.dateFormatter('dayMonthYearZoneShort', this.props.dateReceived)]\n ]}\n defaultText={`Data as of ${ValueFormatters.dateFormatter('dayMonthYearZoneShort', this.props.dateReceived)}`}\n />\n

\n
\n \n\n \n {\n this.props.multiTeamMode && (\n
\n )\n }\n\n \n {activeDay.view}\n \n \n\n \n {\n this.handleDocumentClick(this.props.fullScheduleDocumentId, \"Full Roadshow Schedule\");\n this.props.fullScheduleButtonEvent();\n }}\n disabled={!this.props.fullScheduleDocumentId}\n >\n \n \n \n\n \n \n \n \n \n \n {cityList}\n \n \n
\n \n \n \n \n \n {\n this.props.selectedTeam && (\n \n \n \n \n \n {\n selectedEvent && (\n \n )\n }\n \n \n )\n }\n {\n this.props.multiTeamMode && !this.props.selectedTeam && (\n \n \n \n \n \n )\n }\n
\n );\n }\n}\n\nexport default compose(\n withLanguage,\n withTranslate(translate => ({\n calendarRegionAriaLabel: translate('', 'Calendar day list'),\n notificationHeadlineText: translate('', 'Warning.'),\n notificationDescText: translate('roadshow.to_view_the_correct_schedule_please_choose_your_ro', 'To view the correct schedule please choose your Roadshow Team from the Team Selector above...'),\n planeText: translate('roadshow.plane', 'plane'),\n trainText: translate('roadshow.plane', 'train'),\n carText: translate('roadshow.plane', 'car'),\n })),\n withAnalytics((ev, view) => ({\n // view\n viewChange: () => view(featurePageIds.ROADSHOW_DAILY_SCHEDULE_PAGE),\n // events\n carouselChangeEvent: () => ev(events.ROADSHOW_CAROUSEL_DATE_CHANGE),\n fullScheduleButtonEvent: () => ev(events.ROADSHOW_FULL_SCHEDULE_BUTTON),\n eventDetailButtonEvent: () => ev(events.ROADSHOW_EVENT_DETAIL),\n })),\n connect(\n state => ({\n selectedTeam: getSelectedTeam(state),\n multiTeamMode: getMultiTeamMode(state),\n eventsForSelectedDay: getEventsForSelectedDay(state),\n roadShowSummaryDates: getRoadShowEventDates(state),\n dateReceived: state.roadShowData.dateReceived,\n fullScheduleDocumentId: state.roadShowData.fullScheduleDocumentId,\n selectedDay: getRoadShowSelectedDay(state),\n dailyEventId: getDailyEventId(state),\n }),\n dispatch => ({\n updateSelectedDay: day => dispatch(updateSelectedDay(day)),\n requestDoc: (docId, docName) => dispatch(requestDoc(docId, docName)),\n changeDailyEvent: eventId => dispatch(setRoadShowDailyEvent(eventId)),\n })\n ),\n)(RoadShowContainer)\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\n\nimport dealFeatures from 'constants/dealFeatures';\nimport { checkFeature } from 'actions/UtilityActions';\n\nimport { isDCMDealType, isECMDealType, areDCMOrdersFetched, areECMOrdersFetched, getTrancheLoader } from 'selectors';\n\nimport Loading, { FeaturePageLoadingContainer } from 'shared/components/Loading';\n\nclass OrderBook extends PureComponent {\n componentDidMount() {\n this.props.checkFeature(dealFeatures.ORDERBOOK);\n }\n\n render() {\n if (this.props.isDCM) {\n if (this.props.trancheLoader ? false : this.props.isDCMFetching) {\n return (\n \n \n \n );\n }\n\n return this.props.children;\n }\n\n if (this.props.isECM) {\n if (this.props.isECMFetching) {\n return (\n \n \n \n );\n }\n\n return this.props.children;\n }\n \n return null;\n }\n}\n\nexport default connect(\n state => ({\n isDCM: isDCMDealType(state),\n isECM: isECMDealType(state),\n isDCMFetching: !areDCMOrdersFetched(state),\n isECMFetching: !areECMOrdersFetched(state),\n trancheLoader: getTrancheLoader(state),\n }),\n dispatch => ({\n // polling\n checkFeature: feature => dispatch(checkFeature(feature)),\n }),\n)(OrderBook);\n","import Types from 'actions/Types';\n\nimport dealFeatures from 'constants/dealFeatures';\nimport * as tiles from 'constants/homeTiles';\n\nconst receiveOrders = ({ data }, responseDetails) => ({\n type: Types.API_RECEIVE_ORDERS,\n orderData: data,\n responseDetails\n});\n// DCM\nconst requestOrders = (trancheId, loader) => ({\n type: Types.API_REQUEST_ORDERS,\n endPoint: `/v1/tranches/${trancheId}/orders`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveOrders,\n loader,\n tile: tiles.HOME_ORDERS_TILE,\n feature: dealFeatures.ORDERBOOK,\n //\n responseDetails: {\n trancheId,\n },\n});\n\n// DCM\nconst requestOrdersForAllTranches = (dealId, loader) => ({\n type: Types.API_REQUEST_ORDERS_FOR_ALL_TRANCHES,\n endPoint: `/v1/Orderbook/Deals/${dealId}/FullOrderBook`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveOrders,\n loader,\n tile: tiles.HOME_ORDERS_TILE,\n feature: dealFeatures.ORDERBOOK,\n responseDetails: {\n trancheId: 'aT',\n }\n});\n\n// ECM\nconst requestEcmOrders = (dealId, loader) => ({\n type: Types.API_REQUEST_ECM_ORDERS,\n endPoint: `/v1/deals/${dealId}/orders`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveOrders,\n loader,\n tile: tiles.HOME_ORDERS_TILE,\n feature: dealFeatures.ORDERBOOK,\n //\n responseDetails: {\n trancheId: dealId,\n },\n});\n\n// ECM\nconst receiveShareDemand = ({ data }, responseDetails) => ({\n type: Types.API_RECEIVE_SHARE_DEMAND,\n shareDemandData: data,\n responseDetails\n});\nconst requestShareDemand = (dealId, loader) => ({\n type: Types.API_REQUEST_SHARE_DEMAND,\n endPoint: `/v1/deals/${dealId}/shareDemand`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveShareDemand,\n loader,\n //\n feature: dealFeatures.ORDERBOOK,\n responseDetails: {\n dealId,\n },\n});\n\n// ECM\nconst receiveDemandSummaryByShareAndType = ({ data }, responseDetails) => ({\n type: Types.API_RECEIVE_DEMAND_SUMMARY_BY_SHARE_AND_TYPE,\n responseData: data,\n responseDetails,\n});\nconst requestDemandSummaryByShareAndType = (type, dealId, lowestSharePrice, maxSize, loader) => ({\n type: Types.API_REQUEST_DEMAND_SUMMARY_BY_SHARE_AND_TYPE,\n endPoint: `/v1/deals/${dealId}/shareDemandSummaryBySharePrice?query.groupByColumnName=${type}${maxSize ? '&query.maxGroupBySize=' + maxSize : ''}`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveDemandSummaryByShareAndType,\n responseDetails: {\n dealId,\n type: `${type}SummaryDataByShare`,\n lowestSharePrice,\n },\n loader,\n //\n feature: dealFeatures.ORDERBOOK,\n});\n\n// DCM\nconst receiveDemandSummaryByType = ({ data }, responseDetails) => ({\n type: Types.API_RECEIVE_DEMAND_SUMMARY_BY_TYPE,\n responseData: data,\n responseDetails,\n});\nconst requestDemandSummaryByType = (type, dealId, currentTrancheId, maxSize, loader) => ({\n type: Types.API_REQUEST_DEMAND_SUMMARY_BY_TYPE,\n endPoint: `/v1/deals/${dealId}/tranches/${currentTrancheId}/demandSummaryByTranche?query.groupByColumnName=${type}${maxSize ? '&query.maxGroupBySize=' + maxSize : ''}`,\n params: {},\n typeName: `${type}SummaryData`,\n ajaxType: 'GET',\n onSuccess: receiveDemandSummaryByType,\n responseDetails: {\n type: `${type}SummaryData`,\n trancheId: currentTrancheId,\n },\n loader,\n //\n feature: dealFeatures.ORDERBOOK,\n});\n\nconst receiveTranches = ({ data }) => ({\n type: Types.API_RECEIVE_TRANCHES,\n tranches: data,\n});\nconst requestTranches = (dealId, loader) => ({\n type: Types.API_REQUEST_TRANCHES,\n endPoint: `/v1/deals/${dealId}/tranches`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveTranches,\n loader,\n feature: dealFeatures.ORDERBOOK,\n});\n\nconst receiveInvestorNames = ({ data }) => ({\n type: Types.API_RECEIVE_INVESTOR_NAMES,\n investorNames: data\n})\n\nconst requestInvestorNames = (dealId, loader) => ({\n type: Types.API_REQUEST_INVESTOR_NAMES,\n endPoint: `/v1/Orderbook/Deals/${dealId}/Investors`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveInvestorNames,\n loader,\n feature: dealFeatures.ORDERBOOK,\n});\n\nconst receiveTranchLists = ({ data }) => ({\n type: Types.API_RECEIVE_TRANCHE_LISTS,\n trancheLists: data\n})\n\nconst requestTranchLists = (dealId, loader) => ({\n type: Types.API_REQUEST_TRANCHE_LISTS,\n endPoint: `/v1/Orderbook/Deals/${dealId}/Tranches`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveTranchLists,\n loader,\n feature: dealFeatures.ORDERBOOK,\n});\n\nconst receiveOrderSummary = ({ data }) => ({\n type: Types.API_RECEIVE_ORDER_SUMMARY,\n orderSummary: data,\n});\n\nconst requestOrderSummary = (dealId, intvl, investorId, trancheId, loader) => ({\n type: Types.API_REQUEST_ORDER_SUMMARY,\n endPoint: `/v1/Orderbook/Deals/${dealId}/${intvl}/${investorId}/${trancheId}/OrderSummary`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveOrderSummary,\n loader,\n feature: dealFeatures.ORDERBOOK,\n});\n\nconst requestUpdateOrderSummary = (orderData, isFilter) => ({\n type: Types.UPDATE_SELECTION_ORDER_SUMMARY,\n orderSummary: orderData.data,\n isFilter: isFilter\n})\n\nconst requestUpdateFullOrderBook = (fullOrderBookData) => ({\n type: Types.REFRESH_FULLORDERBOOK_DATA,\n orderData: fullOrderBookData.data\n})\n\nconst requestUpdateAmendedOrderSummary = (amendedOrderSummaryData) => ({\n type: Types.UPDATE_SELECTION_AMENDED_ORDER_SUMMARY,\n amendedOrderSummaryData: amendedOrderSummaryData.data\n})\n\nconst setIsSetStagesModalOpen = (isSetStagesModalOpen) => ({\n type: Types.UPDATE_SET_STAGES_MODAL_OPEN,\n data: isSetStagesModalOpen\n})\n\nconst requestUpdateBookEvolutionSummary = (orderData,isFilter) => ({\n type: Types.UPDATE_SELECTION_BOOK_EVOLUTION_SUMMARY,\n bookEvolutionSummary: orderData.data,\n isFilter: isFilter\n})\n\nconst requestUpdateBookEvolutionSummaryForAmendedOrderByInvestorTable = (orderData,isFilter) => ({\n type: Types.UPDATE_SELECTION_BOOK_EVOLUTION_SUMMARY_AMENDED_ORDER_BY_INVESTOR,\n bookEvolutionSummaryForAmendedOrderByInvestorTable: orderData.data,\n isFilter: isFilter\n})\n\nconst requestUpdateStages = (data) => ({\n type: Types.UPDATE_STAGES,\n stages: data.data,\n})\n\nconst dataFetching = (dataFetching) => ({\n type: Types.DATAFETCHING,\n dataFetching,\n });\n\nconst updateCurrentTranche = (trancheId, dealType) => ({\n type: Types.UPDATE_CURRENT_TRANCHE,\n trancheId,\n dealType,\n});\n\nconst filterOrderSummary = (dealId, investorId, trancheId, interval, isFilter) => ({\n type: Types.UPDATE_ORDER_SUMMARY,\n endPoint: `/v1/Orderbook/Deals/${dealId}/${interval}/${investorId}/${trancheId}/OrderSummary`,\n ajaxType: 'GET',\n dealId,\n investorId,\n trancheId,\n interval,\n isFilter\n});\n\nconst refreshFullOrderBook = (dealId) => ({\n type: Types.UPDATE_FULL_ORDERBOOK,\n endPoint: `/v1/Orderbook/Deals/${dealId}/FullOrderBook`,\n ajaxType: 'GET',\n dealId,\n});\n\nconst filterBookEvolutionSummary = (dealId, investorId, trancheId, interval, isFilter) => ({\n type: Types.UPDATE_BOOK_EVOLUTION_SUMMARY,\n endPoint: `/v1/Orderbook/Deals/${dealId}/${interval}/${investorId}/${trancheId}/BookEvolution`,\n ajaxType: 'GET',\n dealId,\n investorId,\n trancheId,\n interval,\n isFilter\n});\n\nconst filterBookEvolutionSummaryForAmendedOrderByInvestor = (dealId, interval, investorId, trancheId, isFilter) => ({\n type: Types.UPDATE_BOOK_EVOLUTION_SUMMARY_FOR_AMENDED_ORDER_BY_INVESTOR,\n endPoint: `/v1/Orderbook/Deals/${dealId}/${interval}/${investorId}/${trancheId}/BookEvolutionByInvestor`,\n ajaxType: 'GET',\n dealId,\n investorId,\n trancheId,\n interval,\n isFilter\n});\n\nconst requestStages = (dealId) => ({\n type: Types.API_RECEIVE_STAGES,\n endPoint: `/v1/Orderbook/Deals/${dealId}/GetBookEvolutionStage`,\n ajaxType: 'GET',\n dealId\n});\n\n\nconst updateStages = (dealId, stagesDataArray) => ({\n type: Types.API_UPDATE_STAGES,\n endPoint: `/v1/Orderbook/Deals/${dealId}/UpdateBookEvolutionStage`,\n ajaxType: \"POST\",\n params: stagesDataArray,\n dealId,\n });\n\nconst filterAmendedOrderSummary = (dealId, investorId, trancheId) => ({\n type: Types.UPDATE_AMENDED_ORDER_SUMMARY,\n endPoint: `/v1/Orderbook/Deals/${dealId}/${investorId}/${trancheId}/AmendedOrderSummaryByInvestor`,\n ajaxType: 'GET',\n dealId,\n investorId,\n trancheId,\n})\n\nconst changeFullOrderBookSort = (column, direction) => ({\n type: Types.CHANGE_FULL_ORDERBOOK_SORT,\n direction,\n column,\n});\n\nconst changeAllTranchesFullOrderBookSort = (column, direction) => ({\n type: Types.CHANGE_ALL_TRANCHES_FULL_ORDERBOOK_SORT,\n direction,\n column,\n});\n\nconst includeAmendedOrders = (checked) => ({\n type: Types.INCLUDE_AMENDED_ORDERS,\n checked,\n});\n\nconst openOrderSummaryDetailView = (summaryData) => ({\n type: Types.ORDER_SUMMARY_MODAL,\n summaryData,\n})\n\nconst closeOrderSummaryDetailView = () => ({\n type: Types.CLOSE_ORDER_SUMMARY_MODAL,\n})\n\nconst selectOrderSummaryDropdown = (selectedInvestor, selectedTranche, selectedInterval, selectedDate) => ({\n type: Types.SELECT_ORDER_SUMMARY_DROPDOWN,\n selectedInvestor,\n selectedTranche,\n selectedInterval,\n selectedDate,\n})\n\nconst selectAmendedOrderByInvestorDropDown = (selectedTranche, selectedDate, selectedInterval, selectedTimeRange, selectedInvestorType ) => ({\n type: Types.SELECT_AMENDED_ORDER_BY_INVESTOR_DROPDOWN,\n selectedTranche,\n selectedDate,\n selectedInterval,\n selectedTimeRange,\n selectedInvestorType,\n})\n\nconst selectInvestorTypeDropdown = (selectedInvestorType) => ({\n type: Types.SELECT_INVESTOR_TYPE,\n selectedInvestorType,\n})\n\nconst resetOrderBookDropDowns = () => ({\n type: Types.RESET_ORDER_SUMMARY_DROPDOWN,\n})\n\nconst getCurrentActiveSummaryTab = (activeTab) => ({\n type: Types.CURRENT_ACTIVE_ORDER_SUMMARY_TAB,\n activeTab\n})\n\nconst changeLoderStatus = (value) => ({\n type: Types.CHANGE_TRANCHE_LOADER_STATUS,\n value,\n})\n\nexport {\n receiveOrders,\n requestOrders,\n requestOrdersForAllTranches,\n requestEcmOrders,\n receiveTranches,\n requestTranches,\n receiveInvestorNames,\n requestInvestorNames,\n receiveTranchLists,\n requestTranchLists,\n requestOrderSummary,\n receiveOrderSummary,\n requestDemandSummaryByType,\n receiveDemandSummaryByType,\n receiveDemandSummaryByShareAndType,\n requestDemandSummaryByShareAndType,\n updateCurrentTranche,\n receiveShareDemand,\n requestShareDemand,\n changeFullOrderBookSort,\n openOrderSummaryDetailView,\n closeOrderSummaryDetailView,\n selectOrderSummaryDropdown,\n selectAmendedOrderByInvestorDropDown,\n resetOrderBookDropDowns,\n filterOrderSummary,\n refreshFullOrderBook,\n filterAmendedOrderSummary,\n changeAllTranchesFullOrderBookSort,\n includeAmendedOrders,\n requestUpdateOrderSummary,\n requestUpdateFullOrderBook,\n requestUpdateAmendedOrderSummary,\n setIsSetStagesModalOpen,\n filterBookEvolutionSummary,\n filterBookEvolutionSummaryForAmendedOrderByInvestor,\n requestStages,\n updateStages,\n requestUpdateBookEvolutionSummary,\n requestUpdateBookEvolutionSummaryForAmendedOrderByInvestorTable,\n requestUpdateStages,\n selectInvestorTypeDropdown,\n dataFetching,\n getCurrentActiveSummaryTab,\n changeLoderStatus,\n};","import React, { PureComponent } from 'react';\nimport { ButtonGroup } from 'react-bootstrap';\n\nimport { HsbcButton } from 'mk-pattern-library-react';\n\nconst sizes = {\n large: 'not-defined',\n default: 36,\n small: 28,\n}\n\nclass ButtonGroupBase extends PureComponent {\n render() {\n const size = sizes[this.props.size || 'default'];\n return (\n \n {\n this.props.buttons.map(btn => (\n \n {btn.text}\n \n ))\n }\n \n )\n }\n}\n\nexport default ButtonGroupBase;\n","import React from 'react';\nimport { Row, Col } from 'react-bootstrap';\nimport { FeatureHeading, HeadingDescription } from 'shared/styles/components/headings';\nimport { ValueFormatters, Flag } from 'mk-pattern-library-react';\nimport TranslationText from 'translations/TranslationText';\nimport ButtonGroup from 'shared/components/Buttons/ButtonGroup';\n\nconst OrderBookEcmHeader = ({\n headerDisplayData,\n dateReceived,\n defaultButtonGroup\n}) => {\n return(\n \n \n {headerDisplayData.mainName} {`${headerDisplayData.flagStatus}`}\n {\n {headerDisplayData.description}\n }\n \n \n
\n

\n\n {ValueFormatters.dateFormatter('dayMonth', headerDisplayData.currentStatusDate) === '' ? '' : ` ${ValueFormatters.dateFormatter('dayMonth', headerDisplayData.currentStatusDate)}`}\n\n \"}\n replace={[\n [\"\", ValueFormatters.dateFormatter('dayMonthYearZoneShort', dateReceived)]\n ]}\n defaultText={`Data as of ${ValueFormatters.dateFormatter('dayMonthYearZoneShort', dateReceived)}`}\n />\n

\n
\n \n
\n
\n \n
\n )\n};\n\nexport default OrderBookEcmHeader;","import React, { useRef, useEffect } from 'react';\nimport { Row, Col } from 'react-bootstrap';\nimport _ from \"lodash\";\nimport { FeatureHeading, HeadingDescription } from 'shared/styles/components/headings';\nimport { ValueFormatters, Flag } from 'mk-pattern-library-react';\nimport { resetOrderBookDropDowns, filterOrderSummary } from 'actions/OrderBookActions';\nimport TranslationText from 'translations/TranslationText';\nimport ButtonGroup from 'shared/components/Buttons/ButtonGroup';\nimport { ALL_TRANCHES_RECORD, ALL_INVESTORS, ALL_TRANCHES, DEFAULT_TIME_INTERVAL } from 'constants/orders';\nimport { getSelectedInvestor, getSelectedTranche, getSelectedInterval } from 'selectors';\nimport { connect } from 'react-redux';\n\nconst OrderBookDcmHeader = ({\n headerDisplayData,\n dateReceived,\n allTranchesButtonGroup,\n defaultButtonGroup,\n trancheActive,\n fullOrderbook,\n resetOrderBookDropDowns,\n selectedInvestor,\n selectedTranche,\n selectedInterval,\n filterOrderSummary,\n dealId,\n}) => {\n\n const usePrevious = value => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n }\n\n const prevActiveTranche = usePrevious(trancheActive);\n\n useEffect(() => {\n if (prevActiveTranche && trancheActive.id === ALL_TRANCHES_RECORD.id && prevActiveTranche.id !== ALL_TRANCHES_RECORD.id) {\n resetOrderBookDropDowns();\n if (!(_.isEqual(selectedInvestor, ALL_INVESTORS)) || !(_.isEqual(selectedTranche, ALL_TRANCHES)) || !(_.isEqual(selectedInterval, DEFAULT_TIME_INTERVAL))) {\n filterOrderSummary(dealId, DEFAULT_TIME_INTERVAL.key, ALL_INVESTORS.key, ALL_TRANCHES.key)\n }\n }\n }, [prevActiveTranche])\n\n return (\n \n \n {headerDisplayData.mainName} {`${headerDisplayData.flagStatus}`}\n {\n (fullOrderbook || trancheActive.id !== ALL_TRANCHES_RECORD.id) &&\n {headerDisplayData.description}\n }\n \n \n
\n

\n\n {ValueFormatters.dateFormatter('dayMonth', headerDisplayData.currentStatusDate) === '' ? '' : ` ${ValueFormatters.dateFormatter('dayMonth', headerDisplayData.currentStatusDate)}`}\n\n \"}\n replace={[\n [\"\", ValueFormatters.dateFormatter('dayMonthYearZoneShort', dateReceived)]\n ]}\n defaultText={`Data as of ${ValueFormatters.dateFormatter('dayMonthYearZoneShort', dateReceived)}`}\n />\n

\n
\n \n
\n
\n \n
\n )\n};\n\nexport default connect(\n state => ({\n dealId: state.utility.dealsData.dealId,\n selectedInvestor: getSelectedInvestor(state),\n selectedTranche: getSelectedTranche(state),\n selectedInterval: getSelectedInterval(state),\n }),\n dispatch => ({\n resetOrderBookDropDowns: () => dispatch(resetOrderBookDropDowns()),\n filterOrderSummary: (dealId, interval, investorId, trancheId, loader) => dispatch(filterOrderSummary(dealId, investorId, trancheId, interval, loader)),\n })\n)(OrderBookDcmHeader);","import React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { Row, Col } from 'react-bootstrap';\nimport { browserHistory } from 'react-router';\nimport { compose } from 'recompose';\n// TODO\nimport { ScrollingNav, Checkbox } from 'mk-pattern-library-react';\nimport { getIssuerName, selectIsAmended } from 'selectors';\n\nimport { featurePageIds } from 'constants/featurePages';\nimport { ALL_TRANCHES_RECORD } from 'constants/orders';\nimport TranslationText from 'translations/TranslationText';\nimport withTranslate from 'shared/hoc/withTranslate';\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { events } from 'constants/analytics';\nimport { HeadingDescription } from 'shared/styles/components/headings';\nimport {\n includeAmendedOrders,\n resetOrderBookDropDowns,\n filterOrderSummary,\n filterAmendedOrderSummary,\n filterBookEvolutionSummary,\n getCurrentActiveSummaryTab,\n refreshFullOrderBook,\n} from 'actions/OrderBookActions';\nimport OrderBookEcmHeader from 'OrderBook/ecm/OrderBookEcmHeader';\nimport OrderBookDcmHeader from 'OrderBook/dcm/OrderBookDcmHeader';\nimport { ALL_TRANCHES, ALL_INVESTORS, DEFAULT_TIME_INTERVAL, ORDER_SUMMARY_TABS } from 'constants/orders';\n\n\nconst OrderbookHeader = ({\n headerData,\n dateReceived,\n dealType,\n dealId,\n fullOrderbook,\n trancheTitles,\n trancheClick,\n trancheActive,\n issuerName,\n orderSummary,\n amendedSummary,\n bookEvolution,\n viewFullOrderBook,\n viewSummary,\n viewAmendedOrderSummary,\n viewBookEvolution,\n stickyToggleFullOrderBook,\n stickyToggleSummary,\n stickyAmendedOrderSummary,\n stickyBookEvolution,\n fullOrderBookEvent,\n orderSummaryEvent,\n amendedOrderEvent,\n bookEvolutionEvent,\n carouselEvent,\n isAmended,\n includeAmendedOrders,\n resetOrderBookDropDowns,\n filterOrderSummary,\n filterAmendedOrderSummary,\n filterBookEvolutionSummary,\n getCurrentActiveSummaryTab,\n refreshFullOrderBook,\n}) => {\n let headerDisplayData = {};\n\n if (dealType === 'ecm') {\n headerDisplayData.mainName = headerData.dealName;\n headerDisplayData.flagStatus = headerData.dealFlagStatus;\n headerDisplayData.description = headerData.dealDescription;\n headerDisplayData.currentStatusDate = headerData.orderbookStatusDetail.currentStatus.date;\n }\n else {\n headerDisplayData.mainName = headerData.trancheNameShort;\n headerDisplayData.flagStatus = headerData.trancheFlagStatus;\n headerDisplayData.description = headerData.trancheDescription;\n headerDisplayData.currentStatusDate = headerData.orderbookStatusDetail.currentStatus.date;\n if(trancheActive && trancheActive.id === ALL_TRANCHES_RECORD.id) {\n headerDisplayData.mainName = 'Book Evolution';\n headerDisplayData.description = \n }\n onCheckedChange={includeAmendedOrders}\n checked={isAmended}\n />\n ;\n }\n }\n\n includeAmendedOrders = checked => {\n includeAmendedOrders(checked);\n }\n const defaultButtonGroup = [\n {\n id:'btn-obh-f',\n active: fullOrderbook,\n text: stickyToggleFullOrderBook,\n label: viewFullOrderBook,\n action: () => {\n browserHistory.push(featurePageIds.ORDERBOOK_FULL_PAGE);\n fullOrderBookEvent();\n },\n },\n {\n id:'btn-obh-s',\n active: !fullOrderbook,\n text: stickyToggleSummary,\n label: viewSummary,\n action: () => {\n browserHistory.push(featurePageIds.ORDERBOOK_SUMMARY_PAGE);\n orderSummaryEvent();\n },\n }\n ];\n\n const allTranchesButtonGroup = [\n {\n id:'btn-obh-f-at',\n active: fullOrderbook,\n text: stickyToggleFullOrderBook,\n label: viewFullOrderBook,\n action: () => {\n browserHistory.push(featurePageIds.ORDERBOOK_FULL_PAGE);\n fullOrderBookEvent();\n getCurrentActiveSummaryTab(ORDER_SUMMARY_TABS.FULLORDERBOOK);\n refreshFullOrderBook(dealId)\n },\n },\n {\n id:'btn-obh-s-at',\n active: orderSummary,\n text: stickyToggleSummary,\n label: viewSummary,\n action: () => {\n browserHistory.push(featurePageIds.ORDERBOOK_SUMMARY_PAGE);\n orderSummaryEvent();\n getCurrentActiveSummaryTab(ORDER_SUMMARY_TABS.ORDERBOOKSUMMARY);\n resetOrderBookDropDowns();\n filterOrderSummary(dealId, DEFAULT_TIME_INTERVAL.key, ALL_INVESTORS.key, ALL_TRANCHES.key)\n },\n },\n {\n id: 'btn-obh-aos',\n active: amendedSummary,\n text: stickyAmendedOrderSummary,\n label: viewAmendedOrderSummary,\n action: () => {\n browserHistory.push(featurePageIds.ORDERBOOK_AMENDED_PAGE);\n amendedOrderEvent();\n getCurrentActiveSummaryTab(ORDER_SUMMARY_TABS.AMENDEDORDERSUMMARY);\n resetOrderBookDropDowns();\n filterAmendedOrderSummary(dealId, ALL_INVESTORS.key, ALL_TRANCHES.key);\n },\n },\n {\n id:'btn-obh-be',\n active: bookEvolution,\n text: stickyBookEvolution,\n label: viewBookEvolution,\n action: () => {\n browserHistory.push(featurePageIds.ORDERBOOK_EVOLUTION_PAGE);\n bookEvolutionEvent();\n getCurrentActiveSummaryTab(ORDER_SUMMARY_TABS.ORDEREVOLUTION);\n resetOrderBookDropDowns();\n },\n }\n ];\n\n useEffect(\n () => {\n if (dealType === 'dcm') {\n if ((trancheActive.id !== ALL_TRANCHES_RECORD.id) && (amendedSummary || bookEvolution)) {\n browserHistory.push(featurePageIds.ORDERBOOK_SUMMARY_PAGE);\n }\n }\n },\n [trancheActive, dealType]\n )\n\n return (\n
\n {trancheTitles && (\n \n \n
\n = 1 ?\n [\n ...trancheTitles,\n ALL_TRANCHES_RECORD\n ] : trancheTitles\n }\n btnWidth='auto'\n handleClick={(...a) => {\n trancheClick(...a);\n carouselEvent();\n }}\n active={trancheActive}\n issuerName={issuerName}\n />\n
\n \n
\n )}\n {\n dealType === 'ecm' &&\n \n }\n {\n dealType === 'dcm' &&\n \n }\n {!fullOrderbook && (\n \n
\n \n
)}\n
\n );\n};\n\nexport default compose(\n withAnalytics(\n (ev) => ({\n carouselEvent: () => ev(events.ORDERS_SUMMARY_CAROUSEL_BUTTON),\n fullOrderBookEvent: () => ev(events.ORDERS_SUMMARY_FULL_ORDERBOOK_BUTTON),\n orderSummaryEvent: () => ev(events.FULL_ORDERBOOK_SUMMARY_BUTTON),\n amendedOrderEvent: () => ev(events.ORDERBOOK_AMENDED_SUMMARY_BOTTON),\n bookEvolutionEvent: () => ev(events.BOOK_EVOLUTION_SUMMARY_BOTTON)\n })\n ),\n withTranslate(\n translate => ({\n viewFullOrderBook: translate('', 'View full order book'),\n viewSummary: translate('', 'View order summary'),\n viewAmendedOrderSummary: translate('', 'View Amended Order Summary'),\n viewBookEvolution: translate('', 'View Book Evolution'),\n stickyToggleFullOrderBook: translate('orders.full_order_book', 'Full Order Book'),\n stickyToggleSummary: translate('orders.order_book_summary', 'Order Book Summary'),\n stickyAmendedOrderSummary: translate('orders.amended_order_summary', 'Amended Order Summary'),\n stickyBookEvolution: translate('orders.order_evolution', 'Order Evolution'),\n })\n ),\n connect(\n state => ({\n issuerName: getIssuerName(state),\n isAmended: selectIsAmended(state),\n dealId: state.utility.dealsData.dealId,\n }),\n dispatch => ({\n includeAmendedOrders: checked => {\n dispatch(includeAmendedOrders(checked));\n },\n resetOrderBookDropDowns: (dealId) => dispatch(resetOrderBookDropDowns(dealId)),\n refreshFullOrderBook: (dealId) => dispatch(refreshFullOrderBook(dealId)),\n filterOrderSummary: (dealId, interval, investorId, trancheId, loader) => dispatch(filterOrderSummary(dealId, investorId, trancheId, interval, loader)),\n filterAmendedOrderSummary: (dealId, investorId, trancheId) => dispatch(filterAmendedOrderSummary(dealId, investorId, trancheId)),\n filterBookEvolutionSummary: (dealId, investorId, trancheId, interval, loader) => dispatch(filterBookEvolutionSummary(dealId, investorId, trancheId, interval, loader)),\n getCurrentActiveSummaryTab: (activeTab) => dispatch(getCurrentActiveSummaryTab(activeTab))\n })\n )\n)(OrderbookHeader);\n","import moment from 'moment-timezone';\nimport numeral from 'numeral';\n\n//\n// Number utils\n//\nconst emptyNumberValue = '';\n\nconst commaFormatter = value => {\n if ((typeof value === 'undefined') || value === null) {\n return emptyNumberValue;\n }\n\n if (value >= 1000) {\n return numeral(value).format('0,0');\n }\n \n return numeral(value).format('0,0.00');\n};\n\n//\n// Number formatters \n//\nconst oneDecimalPointPercent = value => {\n if (typeof value !== 'number') return emptyNumberValue;\n return `${value.toFixed(1)}%`;\n};\n\nconst oneDecimalPoint = value => {\n if (typeof value !== 'number') return emptyNumberValue;\n return value.toFixed(1);\n}\n\nconst twoDecimalPoint = value => {\n if (typeof value !== 'number') return emptyNumberValue;\n return commaFormatter(value.toFixed(2));\n}\n\nconst million = value => {\n if (typeof value === 'number') {\n return commaFormatter(value / 1000000);\n }\n\n // (?)\n return emptyNumberValue;\n}\n\nexport const numberFormatters = {\n oneDecimalPointPercent,\n oneDecimalPoint,\n twoDecimalPoint,\n million,\n};\n\n//\n// Date Formatter\n//\nconst emptyDateValue = '';\n\nconst dayMonthYear = validTime => validTime.format('DD MMM YYYY');\nconst zoneTime = validTime => validTime.parseZone().format('HH:mm');\n\nconst dayMonth = value => {\n const time = moment(value);\n if (!time.isValid()) return emptyDateValue;\n\n const now = moment();\n if (now.isSame(time, 'day')) {\n // today\n return time.format('HH:mm');\n }\n\n return time.format('DD MMM');\n}\n\nconst dayMonthYearZoneShort = value => {\n const time = moment(value);\n if (!time.isValid()) return emptyDateValue;\n\n const zone = moment.tz.zone(moment.tz.guess(Date.now()));\n const zoneTime = moment.tz(time, zone.name);\n\n let timeAbbreviation = zone.abbr(Date.now());\n timeAbbreviation = ((timeAbbreviation[0] === '+' || timeAbbreviation === '-') ? 'GMT' : '') + timeAbbreviation;\n\n return `${zoneTime.format('DD MMM YYYY HH:mm')} (${timeAbbreviation})`;\n}\n\nconst dayMonthYearWithProvidedZone = (value, timeZone) => {\n const time = moment(value);\n if (!time.isValid()) return emptyDateValue;\n\n return `${dayMonthYear(time)} ${zoneTime(time)} ${timeZone}`;\n}\n\nconst dateTime = (value, timeZone) => {\n const time = moment(value);\n if (!time.isValid()) return emptyDateValue;\n\n if (moment().isSame(time, 'day')) {\n return dayMonthYear(time);\n }\n\n return `${dayMonthYear(time)} ${timeZone}`;\n}\n\nconst timeAbbr = () => {\n let abbr = moment.tz.zone(moment.tz.guess()).abbr(Date.now());\n return ((timeAbbr[0] === '+' || timeAbbr === '-') ? 'GMT' : '') + abbr;\n}\n\nexport const dateFormatters = {\n dayMonth,\n dayMonthYearZoneShort,\n dayMonthYearWithProvidedZone,\n dateTime,\n timeAbbr,\n};\n\n//\n// Other\n//\nexport default {\n numberFormatters,\n dateFormatters,\n};\n","import React from 'react';\nimport styled from 'styled-components';\n// TODO\nimport { ValueFormatters } from 'mk-pattern-library-react';\n\nconst TopValue = styled.div`\n font-size: 0.875rem;\n line-height: 1rem;\n text-align: right;\n font-weight: normal;\n`;\n\nconst BottomValue = styled.div`\n font-size: 0.750rem;\n line-height: 1rem;\n text-align: right;\n font-weight: normal;\n`;\n\nexport default (props) =>\n
\n {ValueFormatters.millionFormatter(props.topValue)}\n {props.bottomValue && {ValueFormatters.commaDecimalFormatter(props.bottomValue)}x}\n
\n","import React, { Component } from 'react';\nimport styled from 'styled-components';\n\nimport ScrollableTable from 'shared/components/ScrollableTable';\n\nconst ScrollbleContainer = styled.div`\n\n`;\n\nclass OrderBookTable extends Component {\n render() {\n return (\n \n \n \n );\n }\n}\n\nexport default OrderBookTable;\n","import { ValueFormatters } from 'mk-pattern-library-react';\n\nconst isCellEmpty = cell => !cell && cell !== false\nconst EMPTY_CELL_TEXT = '-'\n\nexport const millionFormatter = (cell, row, rowIndex, formatterExtraData) => {\n if (isCellEmpty(cell)) {\n return EMPTY_CELL_TEXT;\n }\n\n return ValueFormatters.millionFormatter(cell, row, rowIndex, formatterExtraData);\n}\n\nexport const percentFormatter = (cell, row, rowIndex, formatterExtraData) => {\n if (isCellEmpty(cell)) {\n return EMPTY_CELL_TEXT;\n }\n\n return ValueFormatters.percentFormatter(cell, row, rowIndex, formatterExtraData);\n}\n\nexport const dateFormatter = (format, cell) => {\n if (isCellEmpty(cell)) {\n return EMPTY_CELL_TEXT;\n }\n\n return ValueFormatters.dateFormatter(format, cell);\n}\n\nexport const emptyCellFormatter = (cell, row, rowIndex, formatterExtraData) => {\n if (isCellEmpty(cell)) {\n return formatterExtraData.emptyValue;\n }\n\n return cell;\n}\n","import SortIcons from 'shared/components/SortIcon';\nimport SortableTableHeader from 'shared/components/SortableTableHeader';\nimport { SORT } from 'shared/components/SortState';\nimport { emptyCellFormatter } from './formatters';\n\nexport default sort => ({\n sort: false,\n sortCaret: SortIcons,\n //onSort: sort.setFromHeader,\n headerAttrs: sort.getHeaderAttributes,\n title: true,\n headerFormatter: SortableTableHeader,\n isSorted: sort.column,\n footer: '',\n columnFlex: 1,\n headerEvents: {\n onClick: (e, a) => {\n const column = e.currentTarget;\n const field = column.dataset.field;\n const sortOrder = e.currentTarget.getAttribute('aria-sort') === SORT.DESCENDING\n ? SORT.ASCENDING : SORT.DESCENDING;\n\n sort.set(field, sortOrder);\n }\n },\n formatExtraData: {\n emptyValue: '-'\n },\n formatter: emptyCellFormatter,\n\n});\n","import { tableEllipsis } from 'shared/styles/mixins/ellipsis';\nimport { typography } from 'shared/styles/variables/theme';\n\nexport const headerStyle = {\n height: 70,\n lineHeight: '20px',\n borderRight: '1px solid rgb(216, 216, 216)',\n verticalAlign: 'top',\n fontWeight: 500,\n color: 'rgb(77, 100, 116)',\n}\n\nexport const rightAlignedHeaderStyle = {\n ...headerStyle,\n textAlign: 'right',\n}\n\nexport const centerAlignedHeaderStyle = {\n ...headerStyle,\n textAlign: 'center'\n}\n\nexport const sortedHeaderStyle = {\n backgroundColor: 'rgb(77, 100, 116)',\n color: '#fff',\n}\nexport const leftAlignedHeaderStyle = {\n   ...headerStyle,\n textAlign: 'left'\n }\n \nexport const cellStyle = {\n fontSize: typography.sizes['14px'],\n borderRight: '1px solid rgb(216, 216, 216)',\n borderTop: 'none',\n borderBottom: '1px solid rgb(216, 216, 216)',\n height: 25,\n wordBreak: 'break-word',\n wordWrap: 'break-word'\n}\n\nexport const rightAlignedCellStyle = {\n ...cellStyle,\n textAlign: 'right'\n}\n\nexport const centerAlignedCellStyle = {\n ...cellStyle,\n textAlign: 'center'\n}\n\nexport const investorCellStyle = {\n ...cellStyle,\n borderRight: '1px solid rgb(216, 216, 216)',\n ...tableEllipsis,\n}\nexport const leftAlignedCellStyle = {\n   ...cellStyle,\n textAlign: 'left'\n }\n ","import React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport { ValueFormatters } from 'mk-pattern-library-react';\nimport { compose } from 'recompose';\n\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { events } from 'constants/analytics';\n\nimport withTranslate from 'shared/hoc/withTranslate';\nimport { numberFormatters } from 'shared/functions/formatters'\n\nimport Footer from './FullOrderBookFooter';\n\nimport OrderBookTable from '../../shared/table/OrderbookTable';\nimport { millionFormatter, dateFormatter } from '../../SharedTableComponents/formatters';\nimport SortState, { SORT } from 'shared/components/SortState';\nimport baseColumnProps from '../../SharedTableComponents/baseColumnProps';\n\nimport { StatusIcon } from 'mk-pattern-library-react/components/SvgIcon/SvgIcon';\n\nimport {\n investorCellStyle,\n headerStyle,\n sortedHeaderStyle,\n centerAlignedHeaderStyle,\n centerAlignedCellStyle,\n rightAlignedCellStyle,\n rightAlignedHeaderStyle\n} from '../../shared/table/styles';\n\n\nconst investorLongNameColumn = (props, sort) => ({\n ...baseColumnProps(sort),\n attrs: {\n role: \"rowheader\",\n },\n dataField: 'investorLongName',\n text: props.investorText,\n headerClasses: '',\n style: investorCellStyle,\n headerStyle: headerStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 3,\n footer: props.viewType !== 'engagement' ? 'Total' : undefined,\n footerTitle: true,\n});\n\nconst investorCountryColumn = (props, sort) => ({\n ...baseColumnProps(sort),\n dataField: 'investorCountry',\n text: props.countryText,\n headerClasses: '',\n style: centerAlignedCellStyle,\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n})\n\nconst investorTypeColumn = (props, sort) => ({\n ...baseColumnProps(sort),\n dataField: 'investorType',\n text: props.typeText,\n headerClasses: '',\n style: centerAlignedCellStyle,\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n});\n\nconst AllocationColumns = (props, sort) => {\n const columns = [\n investorLongNameColumn(props, sort),\n investorCountryColumn(props, sort),\n investorTypeColumn(props, sort),\n {\n ...baseColumnProps(sort),\n dataField: 'targetDemandAmount',\n text: props.targetDemandText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: rightAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n formatter: millionFormatter,\n footerAlign: 'right',\n footerFormatter: () =>\n \n }, {\n ...baseColumnProps(sort),\n dataField: 'targetAllocationAmount',\n text: props.allocationAmountText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: rightAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n formatter: millionFormatter,\n footerFormatter: () =>\n \n }, {\n ...baseColumnProps(sort),\n dataField: 'targetAllocationPercentage',\n text: props.allocationPercentageText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: rightAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n formatter: numberFormatters.oneDecimalPointPercent,\n columnFlex: 1,\n }];\n\n return columns;\n}\n\nconst SummaryColumns = (props, sort) => {\n const columns = [\n investorLongNameColumn(props, sort),\n investorCountryColumn(props, sort),\n investorTypeColumn(props, sort),\n {\n ...baseColumnProps(sort),\n dataField: 'demandAtBottom',\n text: props.demandAtBottomText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: rightAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n formatter: millionFormatter,\n footerFormatter: () =>\n \n }, {\n ...baseColumnProps(sort),\n dataField: 'demandAtMidpoint',\n text: props.demandAtMidpointText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: rightAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n formatter: millionFormatter,\n footerFormatter: () =>\n \n }, {\n ...baseColumnProps(sort),\n dataField: 'demandAtTop',\n text: props.demandAtTopText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: rightAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n formatter: millionFormatter,\n footerFormatter: () =>\n \n }, {\n ...baseColumnProps(sort),\n dataField: 'currentLimit',\n text: props.currentLimitText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: rightAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n }\n ];\n\n return columns;\n}\n\nconst DemandDetailColumns = (props, sort) => {\n const columns = [\n investorLongNameColumn(props, sort)\n ];\n\n columns.push(...props.shareDemand.map((shareDemandPrice, index) => ({\n ...baseColumnProps(sort),\n dataField: shareDemandPrice.sharePrice.toString().replace('.', '_'),\n text: ValueFormatters.commaFormatter(shareDemandPrice.sharePrice),\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: {\n ...rightAlignedHeaderStyle,\n verticalAlign: 'bottom',\n borderRight: index === props.shareDemand.length -1 ? '1px solid rgb(216, 216, 216)' : 'none'\n },\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n formatter: (value, data) => millionFormatter(data[shareDemandPrice.sharePrice.toString().replace('.', '_')]),\n footer: '',\n footerFormatter: () =>\n ,\n })));\n\n columns.push({\n ...baseColumnProps(sort),\n dataField: 'externalSourceCreated',\n text: props.createdText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: {\n ...centerAlignedHeaderStyle,\n verticalAlign: 'bottom',\n },\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n formatter: (value, data, index) => (\n dateFormatter('dayMonth', value)\n ),\n footer: '',\n }, {\n ...baseColumnProps(sort),\n dataField: 'externalSourceLastModified',\n text: props.modifiedText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: {\n ...centerAlignedHeaderStyle,\n verticalAlign: 'bottom',\n },\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n formatter: (value, data, index) => (\n dateFormatter('dayMonth', value)\n ),\n footer: '',\n });\n\n return columns;\n}\n\nconst EngagementColumns = (props, sort) => {\n const columns = [\n investorLongNameColumn(props, sort)\n ];\n\n columns.push({\n ...baseColumnProps(sort),\n dataField: 'topTierInvestor',\n text: props.topTierText,\n headerClasses: '',\n style: centerAlignedCellStyle,\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n formatter: (value, data, index) => (\n data['topTierInvestor'] === true ? : undefined\n ),\n footer: undefined,\n }, {\n ...baseColumnProps(sort),\n dataField: 'earlyLookParticipantInvestor',\n text: props.earlyLookText,\n headerClasses: '',\n style: centerAlignedCellStyle,\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n formatter: (value, data, index) => (\n data['earlyLookParticipantInvestor'] === true ?\n : undefined\n ),\n footer: undefined,\n }, {\n ...baseColumnProps(sort),\n dataField: 'preDealEducationInvestor',\n text: props.educationInvestorText,\n headerClasses: '',\n style: centerAlignedCellStyle,\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n formatter: (value, data, index) => (\n data['preDealEducationInvestor'] === true ? : undefined\n ),\n footer: undefined,\n }, {\n ...baseColumnProps(sort),\n dataField: 'physicalRoadshow',\n text: props.physicalRoadshowText,\n headerClasses: '',\n style: centerAlignedCellStyle,\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n formatter: (value, data, index) => (\n data['physicalRoadshow'] === true ? : undefined\n ),\n footer: undefined,\n }, {\n ...baseColumnProps(sort),\n dataField: 'hasComments',\n text: props.feedbackText,\n headerClasses: '',\n style: centerAlignedCellStyle,\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n formatter: (value, data, index) => (\n data['hasComments'] === true ?\n : undefined\n ),\n footer: undefined,\n });\n\n /*\n columns.push({\n ...baseColumnProps(sort),\n dataField: 'externalSourceCreated',\n text: props.createdText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: headerStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n formatter: (value, data, index) => (\n dateFormatter('dayMonth', value)\n ),\n footer: undefined,\n }, {\n ...baseColumnProps(sort),\n dataField: 'externalSourceLastModified',\n text: props.modifiedText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: headerStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n formatter: (value, data, index) => (\n dateFormatter('dayMonth', value)\n ),\n footer: undefined,\n });\n */\n\n return columns;\n}\n\n// Memoize this?\nconst getColumns = (props, sort) => {\n switch (props.viewType) {\n case 'allocation' :\n return AllocationColumns(props, sort);\n case 'orderSummary' :\n return SummaryColumns(props, sort);\n case 'demandDetail' :\n return DemandDetailColumns(props, sort);\n case 'engagement' :\n return EngagementColumns(props, sort);\n default :\n throw new Error('Invalid view type specified for ECM orderbook grid');\n }\n};\n\nclass DemandDetails extends React.PureComponent {\n\n updatePosition = () => setTimeout(() => {\n const node = ReactDOM.findDOMNode(this);\n if (!node) return;\n\n const parent = node.parentNode;\n const tableHeader = parent.querySelector('thead');\n const investorLongNameHeader = parent.querySelector('thead tr th[data-field=\"investorLongName\"');\n const externalSourceCreated = parent.querySelector('thead tr th[data-field=\"externalSourceCreated\"');\n\n if (investorLongNameHeader && externalSourceCreated) {\n\n const investorLongNamesRects = investorLongNameHeader.getClientRects()[0]\n const left = investorLongNamesRects.right - tableHeader.offsetLeft;\n const right = externalSourceCreated.getClientRects()[0].left - tableHeader.offsetLeft;\n const width = right - left - 2;\n\n node.style.width = width + 'px';\n node.style.left = left + 'px';\n }\n }, 0)\n\n componentDidMount() {\n this.updatePosition();\n\n window.addEventListener(\"resize\", this.updatePosition);\n window.addEventListener(\"orientationChange\", this.updatePosition);\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"resize\", this.updatePosition);\n window.removeEventListener(\"orientationChange\", this.updatePosition);\n }\n\n render() {\n return (\n \n {this.props.demandDetails}\n
\n )\n }\n}\n\nclass FullOrderBookTable extends Component {\n\n componentWillMount() {\n this.sort = new SortState('investorLongName', SORT.ASCENDING, this.props.columnSortEvent, this.props.onSort);\n }\n\n render() {\n return (\n
\n {\n this.props.viewType === 'demandDetail'\n ? \n : null\n }\n \n
\n );\n }\n}\n\nexport default compose(\n withTranslate((translate, props) => ({\n demandDetails: translate(\n \"orders.demand_details_@__per_share\",\n `Demand Detail @ ${props.dealsData.dealCurrency || ValueFormatters.nullResponseCharacter}m per share`,\n [\n [\"\", `${props.dealsData.dealCurrency || ValueFormatters.nullResponseCharacter}m`]\n ]\n ),\n investorText: translate('orders.investor', 'Investor'),\n countryText: translate('orders.country', 'Country'),\n typeText: translate('orders.type', 'Type'),\n targetDemandText: translate(\n 'orders.demand_@_',\n `Demand @ ${ValueFormatters.commaFormatter(props.dealsData.dealTotalAllocationSummary.sharePrice)} (${props.dealsData.dealCurrency || ValueFormatters.nullResponseCharacter}m)`,\n [\n ['', `${ValueFormatters.commaFormatter(props.dealsData.dealTotalAllocationSummary.sharePrice)} (${props.dealsData.dealCurrency || ValueFormatters.nullResponseCharacter}m)`]\n ]\n ),\n allocationAmountText: translate(\n 'orders.allocation_@_',\n `Demand @ ${ValueFormatters.commaFormatter(props.dealsData.dealTargetPrice)} (${props.dealsData.dealCurrency || ValueFormatters.nullResponseCharacter}m)`,\n [\n ['', `${ValueFormatters.commaFormatter(props.dealsData.dealTargetPrice)} (${props.dealsData.dealCurrency || ValueFormatters.nullResponseCharacter}m)`]\n ]\n ),\n allocationPercentageText: translate('orders.allocation_percentage_fill', 'Allocation Percentage Fill'),\n demandAtBottomText: translate(\n 'orders.demand_@_bottom_()',\n `Demand @ Bottom (${props.dealsData.dealCurrency || ValueFormatters.nullResponseCharacter}m)`,\n [\n ['', `${props.dealsData.dealCurrency || ValueFormatters.nullResponseCharacter}m`]\n ]\n ),\n demandAtMidpointText: translate(\n 'orders.demand_@_midpoint_()',\n `Demand @ Midpoint (${props.dealsData.dealCurrency || ValueFormatters.nullResponseCharacter}m)`,\n [\n ['', `${props.dealsData.dealCurrency || ValueFormatters.nullResponseCharacter}m`]\n ]\n ),\n demandAtTopText: translate(\n 'orders.demand_@_top_()',\n `Demand @ Top (${props.dealsData.dealCurrency || ValueFormatters.nullResponseCharacter}m)`,\n [\n ['', `${props.dealsData.dealCurrency || ValueFormatters.nullResponseCharacter}m`]\n ]\n ),\n currentLimitText: translate(\n 'orders.current_limit_entered_(,_per_share)',\n `Current Limit Entered (${props.dealsData.dealCurrency || ValueFormatters.nullResponseCharacter}, per share)`,\n [\n ['', props.dealsData.dealCurrency || ValueFormatters.nullResponseCharacter]\n ]\n ),\n topTierText: translate('orders.top_tier_investor', 'Top Tier Investor'),\n earlyLookText: translate('orders.early_look_participant', 'Early Look Participant'),\n physicalRoadshowText: translate('orders.roadshow', 'Roadshow'),\n feedbackText: translate('orders.feedback', 'Feedback'),\n educationInvestorText: translate('orders.investor_education', 'Investor Education'),\n createdText: translate('orders.created', 'Created'),\n modifiedText: translate('orders.modified', 'Modified'),\n tableCaption: () => {\n switch (props.viewType) {\n case 'allocation':\n return translate('orders.allocation_table_caption', 'Table showing allocation data');\n case 'orderSummary':\n return translate('orders.order_summary_table_caption', 'Table showing order summary data');\n case 'demandDetail':\n return translate('orders.demand_detail_table_caption', 'Table showing demand detail data');\n case 'engagement':\n return translate('orders.engagement_table_caption', 'Table showing engagement data');\n default :\n return null;\n }\n },\n })),\n withAnalytics((ev, view) => ({\n columnSortEvent: (column, sort) => {\n ev(events.FULL_ORDERBOOK_SORT(column, sort));\n }\n })),\n)(FullOrderBookTable);\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { ButtonGroup } from 'react-bootstrap';\nimport { compose } from 'recompose';\n// TODO\nimport { HsbcButton } from 'mk-pattern-library-react';\n\nimport { getCurrentTranche, getShareDemand, getFullOrderBookTable } from 'selectors';\nimport TranslationText from 'translations/TranslationText';\nimport withLanguage from 'translations/withLanguage';\n\nimport { changeFullOrderBookSort } from 'actions/OrderBookActions';\n\n\nimport { featurePageIds } from 'constants/featurePages';\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { events } from 'constants/analytics';\n\nimport OrderbookHeader from '../../shared/summary/OrderbookHeader';\nimport FullOrderBookTable from './FullOrderBookTable';\n\nclass ECMFullOrderBookContainer extends Component {\n\n constructor(props) {\n super(props);\n const dealsData = props.dealsData || {}\n this.state = {\n activeView: dealsData.inAllocationPhase ? \"allocation\" : \"orderSummary\",\n // active: {}\n };\n this.handleViewToggle = this.handleViewToggle.bind(this);\n this.createCells = this.createCells.bind(this);\n }\n\n componentDidMount() {\n this.props.viewChange();\n }\n\n handleViewToggle(view) {\n this.setState({\n activeView: view\n });\n }\n\n createCells() {\n const $cells = document.getElementsByClassName('footer-cell-value');\n const $cellDivs = Array.prototype.map.call($cells, (cell) => {\n const rect = cell.getClientRects()[0];\n const cellDivStyle = {\n top: 0,\n position: 'absolute',\n left: rect.left,\n width: `${rect.right - rect.left}px`,\n textAlign: cell.style.textAlign\n\n }\n return (\n
\n hello\n
\n )\n });\n return $cellDivs\n\n }\n\n render() {\n const currentTrancheData = this.props.currentTrancheData;\n // const trancheDescription = `${dealsData.dealCurrency}m ${dealsData.dealTotalDemandCoverage} / ${dealsData.dealSizeFinal} / ${dealsData.dealCurrency} ${dealsData.dealDemandLowestSharePrice}-${dealsData.dealDemandHighestSharePrice}`;\n const dealsData = this.props.dealsData\n return (\n \n \n \n {dealsData.inAllocationPhase && (\n {\n this.handleViewToggle(\"allocation\");\n this.props.buttonChangeEvent(events.FULL_ORDERBOOK_TAB_ALLOCATION)\n }}\n >\n \n \n )}\n {\n this.handleViewToggle(\"orderSummary\");\n this.props.buttonChangeEvent(events.FULL_ORDERBOOK_TAB_ORDER_OVERVIEW)\n }}\n >\n \n \n {\n this.handleViewToggle(\"demandDetail\")\n this.props.buttonChangeEvent(events.FULL_ORDERBOOK_TAB_DEMAND_DETAIL)\n }}\n >\n \n \n {\n this.handleViewToggle(\"engagement\")\n this.props.buttonChangeEvent(events.FULL_ORDERBOOK_TAB_ENGAGEMENT)\n }}\n >\n \n \n \n \n \n )\n\n }\n}\nconst mapStateToProps = (state) => ({\n orderData: state.orderBookData.orderData,\n currentTrancheData: getCurrentTranche(state),\n fullOrderBookTable: getFullOrderBookTable(state),\n titles: state.orderBookData.tranches,\n dateReceived: state.orderBookData.dateReceived,\n dealsData: state.utility.dealsData,\n shareDemand: getShareDemand(state),\n dealId: state.utility.dealsData.dealId,\n});\n\nconst mapDispatchToProps = dispatch => ({\n changeFullOrderBookSort: (column, direction) => dispatch(changeFullOrderBookSort(column, direction)),\n});\n\nexport default compose(\n withAnalytics((ev, view) => ({\n viewChange: () => view(featurePageIds.ORDERBOOK_FULL_PAGE),\n buttonChangeEvent: eventDetails => ev(eventDetails),\n })),\n withLanguage,\n connect(mapStateToProps, mapDispatchToProps)\n)(ECMFullOrderBookContainer);\n","import React from 'react';\nimport styled from 'styled-components';\n// TODO\nimport { ValueFormatters } from 'mk-pattern-library-react';\n\nconst Value = styled.div`\n font-size: 0.875rem;\n line-height: 20px;\n text-align: right;\n font-weight: normal;\n`;\n\nexport default (props) => {ValueFormatters.millionFormatter(props.value)}\n","import React, { Component } from 'react';\nimport { compose } from 'recompose';\nimport { ValueFormatters } from 'mk-pattern-library-react';\n\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { events } from 'constants/analytics';\n\nimport { millionFormatter, dateFormatter } from '../../SharedTableComponents/formatters';\nimport { numberFormatters } from 'shared/functions/formatters'\n\nimport OrderBookTable from '../../shared/table/OrderbookTable';\nimport Footer from './FullOrderBookFooter';\nimport SortState, { SORT } from 'shared/components/SortState';\nimport baseColumnProps from '../../SharedTableComponents/baseColumnProps';\nimport { tableEllipsis } from 'shared/styles/mixins/ellipsis';\nimport { typography } from 'shared/styles/variables/theme';\nimport { StatusIcon } from 'mk-pattern-library-react/components/SvgIcon/SvgIcon';\n\nimport {\n cellStyle,\n investorCellStyle,\n headerStyle,\n sortedHeaderStyle,\n centerAlignedHeaderStyle,\n centerAlignedCellStyle,\n rightAlignedCellStyle,\n rightAlignedHeaderStyle\n} from '../../shared/table/styles';\n\nconst Columns = (props, sort) => {\n const defaultColumnProps = baseColumnProps(sort);\n\n const columns = [{\n ...defaultColumnProps,\n attrs: {\n role: \"rowheader\",\n },\n dataField: 'investorLongName',\n text: props.investorText,\n headerClasses: '',\n style: investorCellStyle,\n headerStyle: headerStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 3,\n footerFormatter: (value) =>\n
\n Total (m) \n {ValueFormatters.millionFormatter(props.currentTrancheData.trancheTotalOrderAmount || 0)}\n \n
\n }, {\n ...defaultColumnProps,\n dataField: 'softAmount',\n text: props.softText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: rightAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n formatter: millionFormatter,\n footerFormatter: () =>\n \n }, {\n ...defaultColumnProps,\n dataField: 'firmAmount',\n text: props.firmText,\n headerClasses: '',\n style: {\n ...rightAlignedCellStyle,\n borderRight: '1px solid rgb(216, 216, 216)',\n },\n headerStyle: rightAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n formatter: millionFormatter,\n footerFormatter: () =>\n \n }];\n\n // Order Detail\n if(props.viewType === 'orderDetail') {\n columns.push({\n ...defaultColumnProps,\n dataField: 'spread',\n text: props.spreadText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: rightAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n }, {\n ...defaultColumnProps,\n dataField: 'limitSecurity',\n text: props.limitSecurityText,\n headerClasses: '',\n style: cellStyle,\n headerStyle: headerStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n }, {\n ...defaultColumnProps,\n dataField: 'hedge',\n text: props.hedgeText,\n headerClasses: '',\n style: centerAlignedCellStyle,\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n formatter: (value, data, index) => (\n data['hedge'] === true ? : undefined\n ),\n }, {\n ...defaultColumnProps,\n dataField: 'allocationAmount',\n text: props.allocationAmountText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: headerStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n formatter: millionFormatter,\n footerFormatter: (value) =>\n \n }, {\n ...defaultColumnProps,\n dataField: 'allocationPercent',\n text: props.allocationPercentText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: headerStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n formatter: numberFormatters.oneDecimalPointPercent,\n });\n }\n\n if(props.viewType === 'investorType') {\n columns.push({\n ...defaultColumnProps,\n dataField: 'investorRegion',\n text: props.regionText,\n headerClasses: '',\n style: {\n ...cellStyle,\n ...tableEllipsis\n },\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n }, {\n ...defaultColumnProps,\n dataField: 'investorCountry',\n text: props.countryText,\n headerClasses: '',\n style: centerAlignedCellStyle,\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n }, {\n ...defaultColumnProps,\n dataField: 'investorType',\n text: props.investorTypeText,\n headerClasses: '',\n style: centerAlignedCellStyle,\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n });\n }\n\n if(props.viewType === 'engagementLevel') {\n columns.push({\n ...defaultColumnProps,\n dataField: 'keyInvestor',\n text: props.keyInvestorText,\n headerClasses: '',\n style: centerAlignedCellStyle,\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n formatter: (value, data, index) => (\n ValueFormatters.booleanFormatter(null, data, 'keyInvestor', { fontSize: typography.sizes['16px'] })\n ),\n }, {\n ...defaultColumnProps,\n dataField: 'historicalInvestor',\n text: props.historicalInvestorText,\n headerClasses: '',\n style: centerAlignedCellStyle,\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n formatter: (value, data, index) => (\n ValueFormatters.booleanFormatter(null, data, 'historicalInvestor', { fontSize: typography.sizes['16px'] })\n ),\n }, {\n ...defaultColumnProps,\n dataField: 'netRoadshow',\n text: props.onlineRoadshowText,\n headerClasses: '',\n style: centerAlignedCellStyle,\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n formatter: (value, data, index) => (\n ValueFormatters.booleanFormatter(null, data, 'netRoadshow', { fontSize: typography.sizes['16px'] })\n ),\n }, {\n ...defaultColumnProps,\n dataField: 'physicalRoadshow',\n text: props.physicalRoadshowText,\n headerClasses: '',\n style: centerAlignedCellStyle,\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n formatter: (value, data, index) => (\n ValueFormatters.booleanFormatter(null, data, 'physicalRoadshow', { fontSize: typography.sizes['16px'] })\n ),\n });\n }\n\n columns.push({\n ...defaultColumnProps,\n dataField: 'externalSourceCreated',\n text: props.createdText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: headerStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n formatter: (value, data, index) => (\n dateFormatter('dayMonth', value)\n ),\n }, {\n ...defaultColumnProps,\n dataField: 'externalSourceLastModified',\n text: props.modifiedText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: headerStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.5,\n formatter: (value, data, index) => (\n dateFormatter('dayMonth', value)\n ),\n });\n\n return columns;\n}\n\nclass FullOrderBookTable extends Component {\n componentWillMount() {\n this.sort = new SortState('investorLongName', SORT.ASCENDING, this.props.columnSortEvent, this.props.onSort);\n }\n\n render() {\n return (\n \n );\n }\n}\n\nexport default compose(\n withTranslate((translate, props) => ({\n investorText: translate('orders.investor', 'Investor'),\n softText: translate('orders.soft', 'Soft') + '(m)',\n firmText: translate('orders.firm', 'Firm') + '(m)',\n spreadText: translate('orders.spread', 'Spread'),\n limitSecurityText: translate('orders.limit_security', 'Limit Security'),\n hedgeText: translate('orders.hedge', 'Hedge'),\n allocationAmountText: translate('orders.allocation', 'Allocation'),\n allocationPercentText: translate('orders.allocation_percent', 'Allocation Percent'),\n regionText: translate('orders.region', 'Region'),\n countryText: translate('orders.country', 'Country'),\n investorTypeText: translate('orders.type', 'Type'),\n keyInvestorText: translate('orders.key_investor', 'Key Investor'),\n historicalInvestorText: translate('orders.historical_investor', 'Historical Investor'),\n onlineRoadshowText: translate('orders.online_roadshow', 'Online Roadshow'),\n physicalRoadshowText: translate('orders.physical_roadshow', 'Physical Roadshow'),\n createdText: translate('orders.created', 'Created'),\n modifiedText: translate('orders.modified', 'Modified'),\n tableCaption: () => {\n if (props.viewType === 'orderDetail') {\n return translate('orders.order_details_table_caption', 'Table showing order details');\n }\n if (props.viewType === 'investorType') {\n return translate('orders.investor_type_table_caption', 'Table showing investor types')\n }\n if (props.viewType === 'engagementLevel') {\n return translate('orders.engagement_level_table_caption', 'Table showing enagagement levels');\n }\n return null;\n }\n })),\n withAnalytics((ev, view) => ({\n columnSortEvent: (column, sort) => {\n ev(events.FULL_ORDERBOOK_SORT(column, sort));\n }\n })),\n)(FullOrderBookTable);\n","import React, { Component } from 'react';\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport withTranslate from 'shared/hoc/withTranslate';\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { events } from 'constants/analytics';\nimport { dateFormatter } from '../../SharedTableComponents/formatters';\nimport SortState, { SORT } from 'shared/components/SortState';\nimport baseColumnProps from '../../SharedTableComponents/baseColumnProps';\nimport { SvgIcon } from 'shared/components/Icon';\nimport { selectIsAmended, getSelectedInvestorType } from 'selectors';\nimport ScrollableTable from 'shared/components/ScrollableTable';\nimport {\n sortedHeaderStyle,\n centerAlignedCellStyle,\n rightAlignedCellStyle,\n leftAlignedCellStyle,\n leftAlignedHeaderStyle,\n centerAlignedHeaderStyle,\n} from '../../shared/table/styles';\nimport styled from 'styled-components';\nimport { ORDER_STATUS } from 'constants/orders';\nimport { DEFAULT_ALL } from 'constants/orders';\nimport { selectInvestorTypeDropdown } from 'actions/OrderBookActions';\nimport TextField from '@mui/material/TextField';\nimport Autocomplete from '@mui/material/Autocomplete';\nimport { ValueFormatters } from 'mk-pattern-library-react';\n\nconst FullorderTableContainer = styled.div`\n position: relative;\n height: 15px;\n`;\n\nconst styles = {\n display: 'flex',\n alignItems: 'center'\n}\n\nconst DropDownContainer = styled.div`\n ${styles}\n margin-top:30px\n`;\n\nconst InvestorTypeDropDownContainer = styled.div`\n ${styles}\n span {\n margin-right: 10px\n }\n`;\n\nconst DropDownLabel = styled.span``;\n\nconst textStyle = {\n textTransform: 'capitalize'\n}\n\nconst arrowUpIconStyle = {\n fill: 'green',\n height: '50px',\n width: '50px',\n marginTop: '7px',\n marginLeft: '3px'\n}\n\nconst arrowDownIconStyle = {\n fill: 'red',\n height: '50px',\n width: '50px',\n marginTop: '12px',\n marginLeft: '3px',\n marginBottom: '-8px'\n}\n\nconst arrowUpHeaderStyle = {\n fill: 'green',\n height: '50px',\n width: '50px',\n marginLeft: '-13px',\n}\n\nconst arrowDownHeaderStyle = {\n fill: 'red',\n height: '50px',\n width: '50px',\n marginTop: '-57px',\n marginLeft: '10px',\n}\n\nconst arrowDropdownIconStyle = {\n transform: 'rotate(90deg)',\n marginTop: '2px',\n width: '18px',\n height: '18px',\n}\n\nconst applyRowbackground = (backgroundColor) => ({\n background: backgroundColor\n})\n\nconst Columns = (props, sort) => {\n const defaultColumnProps = baseColumnProps(sort);\n const columns = [\n {\n ...defaultColumnProps,\n attrs: {\n role: \"rowheader\",\n },\n dataField: 'orderId',\n text: props.orderIdText,\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.70\n },\n {\n ...defaultColumnProps,\n dataField: 'investorLongName',\n text: props.investorNameText,\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1.50,\n },\n {\n dataField: 'investorType',\n text: props.investorTypeText,\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n },\n {\n ...defaultColumnProps,\n dataField: 'investorCountry',\n text: props.investorCountryText,\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.95,\n },\n {\n ...defaultColumnProps,\n dataField: 'currency',\n text: props.currencyText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: props.isAmended ? centerAlignedHeaderStyle : leftAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.70,\n },\n {\n ...defaultColumnProps,\n dataField: 'orderAmount',\n text: props.orderAmountText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: leftAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.65,\n formatter: ValueFormatters.commaDecimalFormatter\n },\n {\n ...defaultColumnProps,\n dataField: 'limitSecurity',\n text: props.limitSecurityText,\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1.20,\n },\n {\n ...defaultColumnProps,\n dataField: 'trancheName',\n text: props.trancheNameText,\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 1,\n },\n {\n ...defaultColumnProps,\n dataField: 'externalSourceLastModified',\n text: props.dateText,\n headerClasses: '',\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.95,\n formatter: (value, data, index) => (\n dateFormatter('localTime', value)\n ),\n },\n ];\n\n if (props.isAmended === true) {\n columns.push(\n {\n ...defaultColumnProps,\n isDummyField: 'amendedAmount',\n text: <>,\n headerClasses: 'sorticondisable',\n style: centerAlignedCellStyle,\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.55,\n formatter: (value, data, index) => (\n (data['amendedAmount'] !== null) ?\n (data['amendedAmount'] > 0 ?\n \n \n \n :\n \n \n ) : undefined\n ),\n }, {\n ...defaultColumnProps,\n dataField: 'amendedAmount',\n text: props.amendedAmountText,\n headerClasses: '',\n style: rightAlignedCellStyle,\n headerStyle: centerAlignedHeaderStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.80,\n formatter: ValueFormatters.commaDecimalFormatter\n },\n );\n }\n columns.push({\n ...defaultColumnProps,\n dataField: 'status',\n text: props.statusText,\n headerClasses: 'sorticondisable',\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n headerSortingStyle: sortedHeaderStyle,\n columnFlex: 0.75,\n formatter: (value, data, index) => (\n

{data['status'].toLowerCase()}

\n ),\n })\n\n return columns;\n}\n\nclass FullOrderBookAllTranchesTable extends Component {\n constructor(props) {\n super(props);\n this.state = {\n allInvestorType: [],\n };\n }\n\n componentWillMount() {\n this.sort = new SortState('externalSourceLastModified', SORT.ASCENDING, this.props.columnSortEvent, this.props.onSort);\n }\n\n componentDidMount() {\n if (this.props.data && this.props.data.length) {\n const getInvestorTypes = this.props.data.map((order) => {\n return {\n label: order.investorType, value: order.investorType\n }\n })\n\n const uniqueInvestorTypes = getInvestorTypes.filter((elem, index) => getInvestorTypes.findIndex(obj => obj.value === elem.value) === index).sort((a, b) => a.value.trim() < b.value.trim() ? -1 : 1)\n uniqueInvestorTypes.unshift(DEFAULT_ALL)\n this.setState({\n allInvestorType: uniqueInvestorTypes\n });\n }\n }\n\n setRowBackgroundStyle = (row) => {\n switch (row.status) {\n case ORDER_STATUS.DELETED:\n case ORDER_STATUS.CANCELLED: return applyRowbackground('#ff0000');\n case ORDER_STATUS.INACTIVE: return applyRowbackground('#808080');\n default: return null;\n }\n }\n\n onDropdownChange = (e, option) => {\n this.props.selectInvestorTypeDropdown({ text: option.value, value: option.value })\n }\n\n getFullOrderBookData = (data) => {\n const { selectedInvestorType } = this.props;\n if (selectedInvestorType.value !== 'ALL') {\n return data.filter((item) => item.investorType === selectedInvestorType.value)\n } else return data;\n }\n\n render() {\n return (\n <>\n {\n this.state.allInvestorType && this.state.allInvestorType.length &&\n
\n \n \n Investor Type:\n }\n value={this.props.selectedInvestorType.value.length > 25 ? this.props.selectedInvestorType.value.slice(0, 24) + \"...\" : this.props.selectedInvestorType.value}\n onChange={(e, value) => this.onDropdownChange(e, value)}\n isOptionEqualToValue={(option, value) => option.value === value}\n renderInput={(params) => }\n />\n \n \n
\n }\n \n \n \n \n );\n }\n\n}\n\nexport default compose(\n withTranslate((translate, props) => ({\n orderIdText: translate('orders.orderId', 'Order Id'),\n investorNameText: translate('orders.investor_name', 'Investor Name'),\n investorTypeText: translate('orders.investor_types', 'Investor Type'),\n investorCountryText: translate('orders.investor_country', 'Investor Country'),\n currencyText: translate('orders.currency', 'Currency'),\n orderAmountText: translate('orders.order_amount', 'Order Amount') + ' (m)',\n limitSecurityText: translate('orders.limit_security', 'Limit Security'),\n trancheNameText: translate('orders.tranche_name', 'Tranche Name'),\n dateText: translate('orders.date_time_entered', 'Date & Time Entered'),\n amendedAmountText: translate('orders.amended_amount', 'Amended Amount') + ' (m)',\n statusText: translate('orders.status_value', 'Status'),\n notAvailable: translate('others.content_not_yet_available', 'Content Not Yet Available'),\n })),\n withAnalytics((ev, view) => ({\n columnSortEvent: (column, sort) => {\n ev(events.FULL_ORDERBOOK_SORT(column, sort));\n }\n })),\n connect(\n state => ({\n isAmended: selectIsAmended(state),\n selectedInvestorType: getSelectedInvestorType(state),\n }),\n dispatch => ({\n selectInvestorTypeDropdown: (investorType) => dispatch(selectInvestorTypeDropdown(investorType))\n })\n )\n)(FullOrderBookAllTranchesTable);\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { ButtonGroup } from 'react-bootstrap';\nimport { compose } from 'recompose';\n// TODO\nimport { HsbcButton } from 'mk-pattern-library-react';\n\nimport { getTrancheTitles, getCurrentTranche, getDCMFullOrderBookTable, getDCMAllTranchesFullOrderBookTable } from 'selectors';\nimport { requestOrders, updateCurrentTranche, changeFullOrderBookSort, requestOrdersForAllTranches, changeAllTranchesFullOrderBookSort, getCurrentActiveSummaryTab } from 'actions/OrderBookActions';\n\nimport TranslationText from 'translations/TranslationText';\n\nimport { featurePageIds } from 'constants/featurePages';\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { events } from 'constants/analytics';\n\nimport FullOrderBookTable from './FullOrderBookTable';\nimport FullOrderBookAllTranchesTable from './FullOrderBookAllTranchesTable';\nimport OrderbookHeader from '../../shared/summary/OrderbookHeader';\nimport { ALL_TRANCHES_RECORD, ORDER_SUMMARY_TABS } from 'constants/orders';\nimport { Row, Col } from 'react-bootstrap';\nimport Loading from 'shared/components/Loading';\nimport styled from \"styled-components\";\n\nconst LoadingContainer = styled.div`\n width: 100%;\n height: calc(100vh - 280px);\n position: relative;\n`;\n\nconst LoadingWrapper = styled.div`\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%,-50%);\n`;\n\nclass FullOrderBookContainer extends Component {\n constructor(props) {\n super(props);\n this.state = {\n activeView: \"orderDetail\",\n };\n this.handleViewToggle = this.handleViewToggle.bind(this);\n this.handleTrancheNavClick = this.handleTrancheNavClick.bind(this);\n }\n\n componentDidMount() {\n this.props.viewChange();\n this.props.getCurrentActiveSummaryTab(ORDER_SUMMARY_TABS.FULLORDERBOOK);\n }\n\n handleTrancheNavClick(selectedTranche) {\n this.props.updateCurrentTranche(selectedTranche.id);\n }\n\n handleViewToggle(activeView) {\n this.setState({ activeView });\n }\n\n render() {\n const currentTrancheData = this.props.currentTrancheData;\n const active = { id: this.props.currentTrancheId };\n return (\n currentTrancheData ? (\n
\n\n \n\n {\n active.id !== ALL_TRANCHES_RECORD.id &&\n <>\n \n {\n this.handleViewToggle(\"orderDetail\");\n this.props.buttonChangeEvent(events.FULL_ORDERBOOK_TAB_ORDER_DETAIL)\n }}\n >\n \n \n {\n this.handleViewToggle(\"investorType\");\n this.props.buttonChangeEvent(events.FULL_ORDERBOOK_TAB_INVESTOR_TYPE)\n }}\n >\n \n \n \n \n }\n {\n active.id !== ALL_TRANCHES_RECORD.id ?\n \n :\n <>\n {\n this.props.loading ? (\n \n \n \n \n \n ) :\n this.props.allTranchesFullOrderBookTable.length ?\n <>\n \n \n
\n \n
\n \n \n :\n
\n \n
\n }\n \n }\n
\n ) : (\n
\n \n
\n )\n );\n }\n}\nconst mapStateToProps = (state) => ({\n dealId: state.utility.dealsData.dealId,\n trancheTitles: getTrancheTitles(state),\n currentTrancheId: state.orderBookData.currentTrancheId,\n currentTrancheData: getCurrentTranche(state),\n dateReceived: state.orderBookData.dateReceived,\n fullOrderBookTable: getDCMFullOrderBookTable(state),\n allTranchesFullOrderBookTable: getDCMAllTranchesFullOrderBookTable(state),\n loading: state.orderBookData.dataFetching\n});\n\nconst mapDispatchToProps = dispatch => ({\n requestOrders: (trancheId, loader) => dispatch(requestOrders(trancheId, loader)),\n requestOrdersForAllTranches: (dealId, loader) => dispatch(requestOrdersForAllTranches(dealId, loader)),\n updateCurrentTranche: (trancheId, loader) => dispatch(updateCurrentTranche(trancheId, 'DCM')),\n changeFullOrderBookSort: (column, direction) => dispatch(changeFullOrderBookSort(column, direction)),\n changeAllTranchesFullOrderBookSort: (column, direction) => dispatch(changeAllTranchesFullOrderBookSort(column, direction)),\n getCurrentActiveSummaryTab: (activeTab) => dispatch(getCurrentActiveSummaryTab(activeTab))\n});\n\nexport default compose(\n withAnalytics((ev, view) => ({\n viewChange: () => view(featurePageIds.ORDERBOOK_FULL_PAGE),\n buttonChangeEvent: eventDetails => ev(eventDetails),\n })),\n connect(mapStateToProps, mapDispatchToProps)\n)(FullOrderBookContainer);\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\n\nimport {\n isDCMDealType,\n isECMDealType,\n isDCMOrderbookContentAvailable,\n isECMOrderbookContentAvailable\n} from 'selectors';\n\nimport PageContentNotAvailable from 'components/PageContentNotAvailable';\n\nimport ECMFullOrderBookContainer from './ecm/FullOrderBook/FullOrderBook.container';\nimport DCMFullOrderBookContainer from './dcm/FullOrderBook/FullOrderBook.container';\n\nclass FullOrderBookComponent extends PureComponent {\n render() {\n if (!this.props.isDCMAvailable && !this.props.isECMAvailable) {\n return \n }\n\n if (this.props.isECM) {\n return ;\n }\n\n if (this.props.isDCM) {\n return ;\n }\n\n return null;\n }\n}\n\nconst EnhancedFullOrderBook = connect(\n state => ({\n isDCMAvailable: isDCMOrderbookContentAvailable(state),\n isECMAvailable: isECMOrderbookContentAvailable(state),\n isFetching: state.utility.fetching,\n isDCM: isDCMDealType(state),\n isECM: isECMDealType(state),\n }),\n)(FullOrderBookComponent);\n\nexport default EnhancedFullOrderBook;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nconst ChipSection = (props) => {\n\n let itemStyle = Object.assign({\n listStyle:'none',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'flex-start',\n alignItems: 'center',\n }, props.style)\n\n return (\n
\n {props.children}\n
\n );\n};\n\nconst DescriptionSection = (props) =>{\n let style = {\n display: 'inline-block',\n verticalAlign:'middle',\n whiteSpace : 'nowrap',\n overflow:'hidden',\n textOverflow : 'ellipsis',\n }\n return (\n
\n {props.children}\n
\n)}\n\nconst ColorChip = (props) => {\n const { size, description, colorHex, opacity, fullChip } = props;\n const chipStyle = {\n backgroundColor: colorHex,\n opacity: opacity,\n display: 'inline-block',\n width: size,\n height: size,\n minWidth: size,\n marginRight: 10,\n verticalAlign:'middle'\n };\n return (\n \n
\n {description}\n
\n );\n};\nColorChip.propTypes = {\n\t/**\n\t * Hex value of the color.\n\t */\n colorHex: PropTypes.string,\n\t/**\n\t * Description of the color.\n\t */\n description: PropTypes.string,\n};\nColorChip.defaultProps = {\n size: 14,\n colorHex: '#888',\n description: 'Gray',\n opacity: 1.0,\n};\n\nexport default ColorChip;\n","import React from 'react';\nimport BootstrapTable from 'react-bootstrap-table-next';\n\nimport { typography } from 'shared/styles/variables/theme';\n\n//\n// Headers\n//\nconst headerBase = {\n fontSize: typography.sizes['12px'],\n lineHeight: '14px',\n height: '38px',\n verticalAlign: 'top',\n color: '#333333',\n fontWeight: 600,\n};\n\nexport const firstHeaderAlignedLeftStyle = {\n ...headerBase,\n textAlign: 'left',\n};\n\nexport const firstHeaderAlignedCenterStyle = {\n ...headerBase,\n textAlign: 'center',\n};\n\nexport const firstHeaderAlignedRightStyle = {\n ...headerBase,\n textAlign: 'right',\n};\n\nexport const otherHeaderAlignedRightStyle = {\n ...headerBase,\n textAlign: 'right',\n}\n\nexport const lastHeaderAlignedRightStyle = {\n ...headerBase,\n padding: '8px 10px 8px 2px',\n textAlign: 'right',\n}\n\nexport const otherHeaderAlignedLeftStyle = {\n ...headerBase,\n padding: '8px 2px',\n textAlign: 'left',\n}\n\nexport const textCapitalize = {\n ...headerBase,\n textTransform: 'capitalize'\n}\n\n//\n// Rows\n//\nconst rowBase = {\n height: '28px',\n verticalAlign: 'middle',\n lineHeight: '14px',\n outline: 'none',\n padding: '5px 5px',\n};\n\nexport const firstRowAlignedLeftStyle = {\n ...rowBase,\n}\n\nexport const firstRowAlignedRightStyle = {\n ...rowBase,\n textAlign: 'right',\n};\n\nexport const lastRowAlignedLeftStyle = {\n ...rowBase,\n}\n\nexport const lastRowAlignedRightStyle = {\n ...rowBase,\n};\n\nexport const otherRowAlignedLeft = {\n ...rowBase,\n textAlign: 'left',\n}\n\nexport const otherRowAlignedRight = {\n ...rowBase,\n textAlign: 'right',\n}\n\nexport const otherRowAlignedCenter = {\n ...rowBase,\n textAlign: 'center',\n}\n\n//\n// All Tables in app should use this cmp\n//\nconst Table = React.memo(props => (\n \n {props.children}\n \n));\n\nexport default Table;\n","import React, { PureComponent } from 'react';\nimport styled from 'styled-components';\nimport { ResponsiveContainer, PieChart, Pie, Cell } from 'recharts';\n\nimport { VisualisationColors } from 'mk-pattern-library-react';\n\nfunction createCell(entry, i, palette) {\n return ;\n}\n\n// Styling\nconst ChartContainer = styled.div`\n width: 314px;\n height: 270px;\n margin: auto;\n`;\n\nclass Chart extends PureComponent {\n\n timeout = null;\n\n constructor(props) {\n super(props);\n\n this.state = {\n animate: true,\n };\n }\n\n componentDidMount() {\n this.timeout = setTimeout(() => this.setState({ animate: false }), 1000);\n\n setTimeout(() => {\n const el = document.querySelector('svg.recharts-surface');\n if (el) el.setAttribute('focusable', false);\n }, 0);\n }\n\n componentWillUnmount() {\n clearTimeout(this.timeout);\n }\n\n render() {\n const { data } = this.props;\n\n const palette = this.props.wideColorPalette ? VisualisationColors.extendedColors : VisualisationColors.colors;\n const slices = data.map((e, i) => createCell(e, i, palette));\n\n return (\n \n \n \n \n {slices}\n \n \n \n \n )\n }\n}\n\nexport default Chart;\n","import React, { Component } from 'react';\nimport { Row, Col } from 'react-bootstrap';\nimport styled from 'styled-components';\nimport { compose } from 'recompose';\n// TODO\nimport { ValueFormatters, VisualisationColors } from 'mk-pattern-library-react';\nimport { numberFormatters } from 'shared/functions/formatters';\nimport TranslationText from 'translations/TranslationText';\nimport withTranslate from 'shared/hoc/withTranslate';\nimport ColorChip from './ColorChip';\nimport Table, {\n firstHeaderAlignedLeftStyle,\n firstRowAlignedLeftStyle,\n otherHeaderAlignedRightStyle,\n otherRowAlignedRight,\n} from 'shared/components/Table';\nimport PieChart from 'shared/components/PieChart';\nimport Popover from '@mui/material/Popover';\nimport { PrimaryButton } from 'mk-pattern-library-react';\nimport { typography } from 'shared/styles/variables/theme'\nimport Draggable from 'react-draggable';\n\nconst Wrapper = styled.div`\n padding: 20px;\n`;\nconst PanelLabel = styled.div`\n font-size: 14px;\n color: #000000;\n font-weight: 900;\n text-align: left;\n width: 100%;\n`;\nconst PieChartWrapper = styled.div`\n padding-left: 12px;\n margin: auto;\n`;\nconst EnhancedCol = styled(Col)`\n table {\n table-layout: fixed;\n }\n`;\n\nconst closeBtnStyle = {\n fontSize: typography.sizes['14px'],\n padding: '8px',\n color: '#FFFFFF',\n border: 'none',\n width: 80,\n display: 'block',\n margin: '0 0 0 auto'\n};\n\nclass DemandByCarouselPanelPie extends Component {\n constructor(props) {\n super(props);\n this.state = {\n demandModalStatus: null,\n defaultPosition: {},\n };\n\n this.handleColorFormatter = this.handleColorFormatter.bind(this);\n }\n\n Columns = (props, isNotMainScreen) => {\n const columns = [{\n dataField: 'dataItem',\n text: props.type,\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n paddingLeft: 8,\n width: '130px',\n },\n style: {\n ...firstRowAlignedLeftStyle,\n paddingBottom: 1,\n paddingLeft: 8,\n paddingTop: 1,\n width: '130px',\n },\n formatExtraData: props.colorsPalette,\n formatter: props.handleColorFormatter,\n events: {\n onClick: (e, column, columnIndex, row) => {\n if (row.dataItem === 'Other' && row.otherValues && row.otherValues.length && !isNotMainScreen) {\n const defaultPosition = {\n x: 0,\n y: 0,\n top: -e.clientY,\n right: document.getElementsByClassName('mydeal-app-content container')[0].offsetWidth - 400\n }\n this.setState({ defaultPosition })\n this.handlePopOver(e.currentTarget)\n }\n },\n },\n }];\n\n if (props.tableType !== 'dcm') {\n columns.push({\n dataField: 'totalOrders',\n headerStyle: {\n ...otherHeaderAlignedRightStyle,\n width: '100px',\n },\n headerFormatter: () => (\n \n \n  @
\n {\n ValueFormatters.commaDecimalFormatter(props.sharePrice)\n }\n ({ props.currency}m)\n
\n ),\n style: {\n ...otherRowAlignedRight,\n width: '100px',\n },\n formatExtraData: props.colorsPalette,\n formatter: ValueFormatters.millionFormatter,\n });\n } else {\n columns.push({\n dataField: 'totalOrders',\n headerStyle: {\n ...otherHeaderAlignedRightStyle,\n width: '60px',\n },\n headerFormatter: () => (\n \n \n
(m)\n
\n ),\n style: {\n ...otherRowAlignedRight,\n width: '60px',\n },\n formatExtraData: props.colorsPalette,\n formatter: ValueFormatters.millionFormatter,\n });\n }\n\n columns.push({\n dataField: 'percent',\n text: props.percentText,\n headerStyle: {\n ...otherHeaderAlignedRightStyle,\n width: '70px',\n },\n style: {\n ...otherRowAlignedRight,\n width: '70px',\n },\n formatExtraData: props.colorsPalette,\n formatter: numberFormatters.oneDecimalPointPercent,\n });\n\n columns.push({\n dataField: 'orders',\n text: '#',\n headerStyle: {\n ...otherHeaderAlignedRightStyle,\n width: '40px',\n },\n style: {\n ...otherRowAlignedRight,\n width: '40px',\n },\n });\n\n return columns;\n };\n\n titleHoverEl = (val: any) => {val};\n\n colorChipFormatterEl = (colorsPalette, val: any, obj: Object, prop: string, index: number) => {\n const colorHex = colorsPalette(index, val);\n return ;\n };\n\n handleColorFormatter(value, data, index, palette) {\n const colorsPalette = this.props.wideColorPalette ? VisualisationColors.extendedColors : VisualisationColors.colors;\n return this.colorChipFormatterEl(colorsPalette, value, data, null, index);\n }\n\n setRowBackgroundStyle = (row) => {\n if (row.dataItem === 'Other' && row.otherValues && row.otherValues.length) {\n return 'custom-underlined-class';\n }\n }\n\n handlePopOver = (status) => {\n this.setState({ demandModalStatus: status })\n }\n\n onDragStart = (event, data) => {\n const defaultPosition = { x: data.lastX, y: data.lastY, top: this.state.defaultPosition.top, right: this.state.defaultPosition.right }\n this.setState({ defaultPosition })\n }\n\n render() {\n const { demandModalStatus, defaultPosition } = this.state;\n if (!this.props.chartData.length) return null\n\n const colorsPalette = this.props.wideColorPalette ? VisualisationColors.asArray : VisualisationColors.asSmallArray;\n return (\n \n \n \n {this.props.panelLabel}\n \n {\n this.props.popoverData && this.props.popoverData.isPopOverEnabled &&\n \n this.handlePopOver(null)}\n marginThreshold={0}\n >\n
\n 3 ? 'scrollAlign': '' }\n data={this.props.popoverData.otherTableData}\n columns={this.Columns({ ...this.props }, true)}\n caption={this.props.tableCaption}\n />\n this.handlePopOver(null)}\n style={closeBtnStyle}>\n \n \n
\n \n \n }\n
\n\n \n \n \n \n \n\n
\n
\n );\n }\n}\n\nexport default compose(\n withTranslate((translate, props) => ({\n percentText: translate(\"orders.percent\", \"Percent\"),\n tableCaption: translate('orders.demand_table_caption', `Table showing demand by ${props.type}`),\n }))\n)(DemandByCarouselPanelPie);\n","import React, { Component , Fragment } from 'react';\nimport styled from 'styled-components';\nimport TranslationText from 'translations/TranslationText';\nimport withLanguage from 'translations/withLanguage';\nimport { ButtonGroup } from 'react-bootstrap';\nimport { HsbcButton } from 'mk-pattern-library-react';\nimport Table from 'shared/components/Table';\n\nconst ButtonContainer = styled.div`\n position: absolute;\n right: ${props => props.right || '0px'};\n top: ${props => props.top || '0px'};\n z-index: 1000;\n`;\n\nconst legendKeyStyle = {\n fontSize: 14,\n width: '300px',\n fontWeight: 600,\n paddingBottom: '10px'\n};\n\nclass ChartTableContainer extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n view: 'CHART',\n };\n }\n\n showChart = () => {\n this.setState({\n view: 'CHART',\n })\n }\n\n showTable = () => {\n this.setState({\n view: 'TABLE',\n })\n }\n\n render() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n
\n {\n this.state.view === 'TABLE' && this.props.tableTitle ? (\n

\n {this.props.tableTitle}\n

\n ) : null\n }\n {\n this.state.view === 'CHART' ? (\n this.props.children\n ) : this.props.table || (\n \n )\n }\n
\n
\n );\n }\n}\n\nexport default withLanguage(ChartTableContainer);\n","import React, { Component , Fragment } from 'react';\nimport { Row, Col } from 'react-bootstrap';\nimport { StackedBarChart } from 'mk-pattern-library-react';\nimport ChartTableContainer from 'shared/components/ChartTableContainer';\nimport styled from 'styled-components';\nimport { compose } from 'recompose';\nimport withTranslate from 'shared/hoc/withTranslate';\nimport { emptyCellFormatter } from '../../SharedTableComponents/formatters';\nimport numeral from 'numeral';\n\nimport {\n firstHeaderAlignedLeftStyle,\n firstRowAlignedLeftStyle,\n otherHeaderAlignedRightStyle,\n otherRowAlignedRight,\n} from 'shared/components/Table';\n\nconst convertDataFieldNameToColumnTranslationKey = key => {\n switch(key.toLowerCase()) {\n case 'investortype' :\n return 'investor_type';\n case 'day' :\n return 'date_of_demand';\n case 'country' :\n return 'country';\n default:\n return key;\n }\n}\n\nconst transformData = (keyField, data, sort) => {\n if(!data.length) {\n return [];\n }\n\n const keys = Object.keys(data[0]).filter(key => key !== 'name');\n\n let tableData = keys.reduce((transformedData, key, keyIndex) => {\n if(key === 'name') {\n return transformedData;\n }\n\n transformedData.push({\n [keyField]: key,\n ...data.reduce((valuesData, item, valuesIndex) => ({\n ...valuesData,\n [valuesIndex]: item[key],\n }), {})\n });\n\n return transformedData;\n }, [])\n\n if(sort) {\n tableData = tableData.sort((a, b) => {\n return a[sort] >= b[sort] ? 1 : -1\n });\n }\n\n return tableData;\n}\n\nconst dataFormatter = value => {\n if(Number.isNaN(Number(value))) {\n return '-';\n }\n\n return Number(value).toFixed(2);\n}\n\nconst ChartLegend = styled.h4`\n padding-left: 10px;\n`;\n\nconst Columns = (props, data) => {\n\n if(!data.length) {\n return [];\n }\n\n const columns = [{\n dataField: props.keyField,\n text: props.keyFieldText,\n columnFlex: 1,\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n },\n style: {\n ...firstRowAlignedLeftStyle,\n },\n formatter: props.keyFieldFormatter || emptyCellFormatter\n }];\n\n columns.push(...data.map((item, index) => ({\n dataField: index,\n text: `${data[index].name} (${props.currency})`,\n columnFlex: 1,\n formatter: dataFormatter,\n headerStyle:otherHeaderAlignedRightStyle,\n style: {\n ...otherRowAlignedRight,\n textOverflow: 'initial',\n }\n\n })));\n\n return columns;\n}\n\nconst yAxisTickFormatter = val =>\n numeral(val).format('0,0');\n\nclass DemandByCarouselPanelBar extends Component {\n render() {\n const tableData = transformData(this.props.keyField, this.props.chartData, this.props.tableSort);\n\n return (\n \n\n
\n \n \n \n \n {this.props.legendTitle}\n \n \n \n \n \n
\n
\n )\n }\n}\n\nexport default compose(\n withTranslate((translate, props) => ({\n keyFieldText: translate(`orders.${convertDataFieldNameToColumnTranslationKey(props.keyField)}`, props.keyField),\n tableCaption: translate('orders.demand_table_caption', `Table showing demand by ${props.type}`)\n })),\n)(DemandByCarouselPanelBar);\n","import React, { PureComponent } from 'react';\nimport styled from 'styled-components';\nimport { onlyUpdateForKeys, pure, compose } from 'recompose';\nimport moment from 'moment';\n\nimport { ValueFormatters, Sorters } from 'mk-pattern-library-react';\nimport { millionFormatter } from '../../SharedTableComponents/formatters';\n\nimport TranslationText, { translationString } from 'translations/TranslationText';\nimport withLanguage from 'translations/withLanguage';\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { events } from 'constants/analytics';\n\nimport Table, {\n firstHeaderAlignedLeftStyle,\n firstRowAlignedLeftStyle,\n otherHeaderAlignedRightStyle,\n otherRowAlignedRight,\n otherRowAlignedLeft,\n otherHeaderAlignedLeftStyle\n} from 'shared/components/Table';\nimport { ellipsis } from 'shared/styles/mixins/ellipsis';\n\nimport { tabIds, topTenOrdersTabs } from 'constants/tabIds';\nimport HorizontalTab from 'shared/accessibility/components/HorizontalTabs/HorizontalTab';\nimport HorizontalTabs from 'shared/accessibility/components/HorizontalTabs';\n\nconst TablesContainer = compose(\n onlyUpdateForKeys(['children', 'props']),\n pure,\n)(styled.div`\n padding: 30px 20px 20px;\n height: ${props => props.height}px;\n`);\n\nconst Columns = props => {\n const columns = [{\n dataField: 'investorLongName',\n text: translationString(\"orders.investor\", props.language, \"Investor\"),\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n paddingLeft: 8,\n width: '210px',\n },\n style: {\n ...firstRowAlignedLeftStyle,\n paddingLeft: 8,\n },\n formatter: (val, data, index) => (\n \n {(index + 1)}\n
{val}
\n
\n ),\n }, {\n dataField: 'investorType',\n text: translationString(\"orders.type\", props.language, \"Type\"),\n headerStyle: {\n ...otherHeaderAlignedLeftStyle,\n width: '70px',\n },\n style: {\n ...otherRowAlignedLeft,\n },\n formatter: (val, data, index) => (\n (!val && val !== false) ? '-' :
{val}
\n ),\n }];\n\n if (props.type === 'ecm') {\n columns.push({\n dataField: 'shareDemandSummary.demandAtBottomSharePrice.demandAmount',\n headerFormatter: () => (\n \n \n  @
\n {\n ValueFormatters.commaDecimalFormatter(props.currentTrancheData.dealTotalDemandSummary.demandAtBottomSharePrice.sharePrice)\n }\n ({props.currentTrancheData.dealCurrency}m)\n
\n ),\n headerStyle: {\n ...otherHeaderAlignedRightStyle,\n width: '85px',\n },\n style: {\n ...otherRowAlignedRight,\n },\n formatter: (val, data, index) => (\n ValueFormatters.millionFormatter(ValueFormatters.accessor(val, data, 'shareDemandSummary.demandAtBottomSharePrice.demandAmount'))\n ),\n formatExtraData: {\n emptyValue: '-',\n }\n })\n } else {\n columns.push({\n dataField: 'totalAmount',\n headerFormatter: () => (\n \n \n
(m)\n
\n ),\n headerStyle: {\n ...otherHeaderAlignedRightStyle,\n width: '85px',\n },\n style: {\n ...otherRowAlignedRight,\n },\n formatter: millionFormatter,\n formatExtraData: {\n emptyValue: '-',\n }\n })\n }\n\n let timeAbbr = moment.tz.zone(moment.tz.guess()).abbr(Date.now());\n timeAbbr = ((timeAbbr[0] === '+' || timeAbbr === '-') ? 'GMT' : '') + timeAbbr;\n\n columns.push({\n dataField: 'externalSourceLastModified',\n headerFormatter: () => (\n \n \n
({timeAbbr})\n
\n ),\n headerStyle: {\n ...otherHeaderAlignedRightStyle,\n width: '85px',\n },\n style: {\n ...otherRowAlignedRight,\n },\n formatter: (val, data, index) => (\n ValueFormatters.dateFormatter('dayMonth', val)\n ),\n })\n\n return columns;\n};\n\nclass TopTenTable extends PureComponent {\n render() {\n if (this.props.orderData.length === 0) {\n return null;\n }\n\n const topTenOrders =\n this.props.orderData\n .map((order) => order)\n .sort((a, b) => (\n Sorters.doubleSort('investorLongName', a, b, 'desc', this.props.type === 'ecm' ? 'shareDemandSummary.demandAtBottomSharePrice.demandAmount' : 'totalAmount')\n ))\n .slice(0, 10);\n\n const ordersSortedByDate =\n this.props.orderData\n .sort((a, b) => (\n Sorters.doubleSort('investorLongName', a, b, 'desc', 'externalSourceLastModified')\n ));\n\n let topTenChangedOrders = [];\n\n if (this.props.type === 'ecm') {\n const lastModifiedOrder = moment(ordersSortedByDate[0].externalSourceLastModified);\n const comparisonTimeEnd = moment(ordersSortedByDate[0].externalSourceLastModified);\n let comparisonTimeStart = moment(ordersSortedByDate[0].externalSourceLastModified);\n\n if (lastModifiedOrder.day() === 1) {\n comparisonTimeStart = comparisonTimeStart.subtract(3, 'days');\n } else {\n comparisonTimeStart = comparisonTimeStart.subtract(1, 'days');\n }\n\n const last24HoursTopTenChanged = ordersSortedByDate.filter((order) => (\n moment(order.externalSourceLastModified).isBetween(comparisonTimeStart, comparisonTimeEnd)\n ));\n\n if (last24HoursTopTenChanged.length > 10) {\n topTenChangedOrders = last24HoursTopTenChanged.sort((a, b) => (\n Sorters.doubleSort('investorLongName', a, b, 'desc', 'shareDemandSummary.demandAtBottomSharePrice.demandAmount')\n )).slice(0, 10);\n } else {\n topTenChangedOrders = ordersSortedByDate.slice(0, 10).sort((a, b) => (\n Sorters.doubleSort('investorLongName', a, b, 'desc', 'shareDemandSummary.demandAtBottomSharePrice.demandAmount')\n ));\n }\n } else {\n topTenChangedOrders = ordersSortedByDate.slice(0, 10);\n }\n\n return (\n
\n \n {\n this.props.tabChangeEvent(events.ORDERS_SUMMARY_TOP10_TAB_ORDERS);\n }}\n >\n \n \n \n \n {\n this.props.tabChangeEvent(events.ORDERS_SUMMARY_TOP10_TAB_NEW_OR_CHANGED);\n }}\n >\n \n \n \n \n \n
\n );\n }\n}\n\nexport default compose(\n withLanguage,\n withAnalytics((ev) => ({\n tabChangeEvent: eventDetails => ev(eventDetails),\n })),\n withTranslate(translate => ({\n tab1Title: translate('orders.top_10_orders', 'Top 10 Orders'),\n tab2Title: translate('orders.most_recent_top_10_new_changed', 'Most Recent Top 10 New/Changed'),\n tab1TableCaption: translate('orders.top_10_table_caption', 'Table showing top 10 orders'),\n tab2TableCaption: translate('orders.most_recent_10_table_caption', 'Table showing most recent top 10 new/changed orders')\n })),\n)(TopTenTable);\n","import React, { Fragment } from 'react';\nimport { Row, Col, ProgressBar } from 'react-bootstrap';\nimport styled from 'styled-components';\n// TODO\nimport { ValueFormatters } from 'mk-pattern-library-react';\n\nimport TranslationText, { translationString } from 'translations/TranslationText';\nimport withLanguage from 'translations/withLanguage';\n\nconst DLContainer = styled.dl`\n margin: 0;\n\n dt {\n font-weight: normal;\n }\n`;\n\nconst StatusBar = props => {\n let trancheTargetAmount,\n trancheTotalOrderAmount,\n orderPercentage;\n\n if (props.barType === 'dcm') {\n trancheTargetAmount = props.currentTranche.trancheTargetAmount;\n trancheTotalOrderAmount = props.currentTranche.trancheTotalOrderAmount;\n orderPercentage = props.currentTranche.trancheTotalSubscribed;\n } else {\n trancheTargetAmount = props.currentTranche.dealIpoValue;\n trancheTotalOrderAmount = props.currentTranche.dealTotalDemandAmountAtLowestPrice;\n orderPercentage = props.currentTranche.dealTotalDemandCoverage;\n }\n\n let progress = Math.round((orderPercentage) * 100);\n let progressBarOver = false;\n\n if (progress > 100) {\n progressBarOver = true;\n progress = ((1 / orderPercentage) * 100);\n }\n\n return (\n \n \n \n
\n \n
\n
{props.currentTranche.orderbookStatusDetail.currentStatus.status || ''}
\n \n \n \n
\n {\n props.barType === 'dcm' ? (\n \n ) : (\n \n )\n } ({props.currency || ''}m)\n
\n
\n \n
\n
\n
{ValueFormatters.millionFormatter(trancheTargetAmount)}
\n\n \n
\n
\n
\n \n \n \n
\n {\n props.barType === 'dcm' ? (\n \n ({props.currency || ''}m)\n \n ) : (\n \"}\n replace={[\n [\"\", ValueFormatters.commaDecimalFormatter(props.dealDemandSharePrice)]\n ]}\n defaultText={`Demand @ ${ValueFormatters.commaDecimalFormatter(props.dealDemandSharePrice)}`}\n />\n )\n }\n
\n
\n \n
\n
{ValueFormatters.millionFormatter(trancheTotalOrderAmount)}
\n
\n
\n \n \n \n \n
\n {\n props.barType === 'dcm' ? (\n \n ) : (\n \n )\n }\n
\n
{orderPercentage ? `${ValueFormatters.commaDecimalFormatter(orderPercentage)}x` : ''}
\n \n
\n \n \n \n \n
\n \n
\n
\n {props.total}\n
\n \n
\n \n
\n
\n );\n};\n\nexport default withLanguage(StatusBar);\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Row, Col, ButtonGroup } from 'react-bootstrap';\nimport get from 'lodash/get';\nimport { compose } from 'recompose';\nimport { ValueFormatters, SiteConstants, HsbcButton } from 'mk-pattern-library-react';\nimport { dateFormatter } from '../../SharedTableComponents/formatters';\n\nimport TranslationText, { translationString } from 'translations/TranslationText';\nimport withLanguage from 'translations/withLanguage';\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport { updateCurrentTranche } from 'actions/OrderBookActions';\nimport { getCurrentTranche, getDemandDataForSummary } from 'selectors';\n\nimport DemandByCarouselPanelPie from '../../shared/summary/DemandByCarouselPanelPie';\nimport DemandByCarouselPanelBar from '../../shared/summary/DemandByCarouselPanelBar';\nimport OrderbookHeader from '../../shared/summary/OrderbookHeader';\nimport TopTenTable from '../../shared/summary/TopTenTable';\nimport StatusBar from '../../shared/summary/StatusBar';\n\nimport { featurePageIds } from 'constants/featurePages';\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { events } from 'constants/analytics';\n\nimport { tabIds, ecmSummaryDemandTabs } from 'constants/tabIds';\nimport HorizontalTab from 'shared/accessibility/components/HorizontalTabs/HorizontalTab';\nimport HorizontalTabs from 'shared/accessibility/components/HorizontalTabs';\n\nconst panelStyle = {\n minHeight: '380px',\n};\n\nconst panelStyleTopTen = {\n height: '448px'\n};\n\nconst demandButtonGroupStyle = {\n margin: '20px 20px 10px',\n}\n\nconst dayKeyFieldFormatter = value => {\n if(value === 'Other') {\n return 'Other';\n }\n\n return dateFormatter('dayMonth', value);\n};\n\n\n\nclass OrderSummaryContainer extends Component {\n constructor(props) {\n super(props);\n this.state = {\n carouselIndex: 0,\n chartTabView: 'lowest',\n };\n this.carouselChange = this.carouselChange.bind(this);\n }\n\n componentDidMount() {\n this.props.viewChange();\n }\n\n carouselChange(index) {\n this.setState({ carouselIndex: index });\n }\n\n handleChartTabViewToggle(view) {\n this.setState({ chartTabView: view })\n }\n\n formatDemandByData(demandData, chartColors, isMillion, type) {\n const barData = [];\n const dataPointKeys = [];\n\n demandData.forEach(item => {\n const priceDemandDetail = (item.demand) ? item.demand : [];\n const priceDemandDataSeries = {};\n\n // populate priceDemandDataSeries[] with priceDemandDetail[] based on item.categoryName\n priceDemandDetail.forEach(item => {\n if (dataPointKeys.indexOf(item.categoryName) === -1) {\n dataPointKeys.push(item.categoryName);\n }\n priceDemandDataSeries[item.categoryName] = isMillion ? (item.demand / 1000000) : item.demand;\n });\n\n const sortedDataSeries = [];\n for (const item in priceDemandDataSeries) {\n sortedDataSeries.push([item, priceDemandDataSeries[item]]);\n }\n\n sortedDataSeries.sort((a, b) => (a[1] - b[1]));\n\n const mergedDataSeries = {};\n\n if (sortedDataSeries.length > 0) {\n for (const item of sortedDataSeries) {\n mergedDataSeries[item[0]] = item[1];\n }\n mergedDataSeries.name = item.sharePrice;\n barData.push(mergedDataSeries);\n }\n\n });\n barData.sort((a, b) => {\n if (+a.name < +b.name) {\n return -1\n }\n else if (+a.name > +b.name) {\n return 1\n }\n else {\n return 0\n }\n })\n\n const firstSeries = barData[0];\n\n if (!firstSeries) {\n return ({\n barData,\n barKeys: [],\n });\n }\n\n let keyItems = [];\n let keyTotals = {}\n\n barData.forEach((barDatum, ind) => {\n for (let barDatumKey in barDatum) {\n\n if (barDatumKey === 'name') {\n barDatum[barDatumKey] = ValueFormatters.commaDecimalFormatter(barDatum[barDatumKey]);\n }\n\n if (keyItems.indexOf(barDatumKey) === -1) {\n keyItems.push(barDatumKey);\n\n }\n if (ind === 0) {\n keyTotals[barDatumKey] = 0;\n keyTotals[barDatumKey] += barDatum[barDatumKey]\n }\n }\n });\n\n if (type === 'date') {\n keyItems.sort((a, b) => {\n if (a.toLowerCase() === 'other') {\n return 1\n }\n else if (b.toLowerCase() === 'other') {\n return -1\n }\n if (a < b) {\n return -1\n }\n else if (a > b) {\n return 1\n }\n else {\n return 0\n }\n });\n }\n else {\n keyItems.sort((a, b) => {\n\n if (a.toLowerCase() === 'other') {\n return 1\n }\n else if (b.toLowerCase() === 'other') {\n return -1\n }\n\n if ((keyTotals[a] || 0) < (keyTotals[b] || 0)) {\n return 1\n }\n else if ((keyTotals[a] || 0) > (keyTotals[b] || 0)) {\n return -1\n }\n else {\n return 0\n }\n });\n }\n\n\n // TODO: need to add 0 values in case any date[] values are not in first series\n // TODO Handle if keyItems > colors length\n const colors = chartColors.slice(0, keyItems.length);\n //colors.reverse();\n //add any key formatters here based on type passed\n const formatKey = (value) => {\n if (type === \"date\") {\n return ValueFormatters.abbreviateFullDate(value);\n }\n else {\n return value\n }\n }\n\n const barKeys = keyItems\n .filter(item => item !== 'name')\n .map((item, index) => (\n {\n key: item,\n value: formatKey(item),\n color: item.toLowerCase() === 'other' ? SiteConstants.otherColor : (colors[(index) % colors.length])\n })).reverse()\n return ({\n barData,\n barKeys,\n });\n }\n\n render() {\n // from route we can optionally set the default order table tab\n const ordersTableTab = get(this.props.location, 'state.ordersTable');\n\n const dealsData = this.props.dealsData\n // const currentTrancheData = this.props.currentTrancheData;\n const stackedBarDayData = this.formatDemandByData(this.props.externalSourceLastModifiedSummaryDataByShare, SiteConstants.secondaryChartColors, true, \"date\");\n const stackedBarCountryData = this.formatDemandByData(this.props.investorCountrySummaryDataByShare, SiteConstants.primaryChartColors, true);\n const stackedBarInvestorTypeData = this.formatDemandByData(this.props.investorTypeSummaryDataByShare, SiteConstants.primaryChartColors, true);\n\n const tableDataCountry = this.props.investorCountrySummaryData.tableData;\n const countryPieData = this.props.investorCountrySummaryData.chartData;\n const tableDataInvestor = this.props.investorTypeSummaryData.tableData;\n const investorPieData = this.props.investorTypeSummaryData.chartData;\n\n const stackedXAxisLegendLabel = (\n translationString(\n 'orders.demand_()_@__per_share',\n this.props.language,\n `Demand (${dealsData.dealCurrency}m) @ ${dealsData.dealCurrency} per share`,\n [\n [\"\", `${dealsData.dealCurrency}m`],\n ['', dealsData.dealCurrency]\n ]\n )\n );\n\n return (\n
\n \n\n \n \n \n
\n \n this.props.tabChangeEvent(events.ORDERS_SUMMARY_DEMAND_TAB_BY_INVESTOR_TYPE)}\n >\n \n this.handleChartTabViewToggle(\"lowest\")}\n >\n \"}\n replace={[\n [\"\", `${ValueFormatters.commaDecimalFormatter(dealsData.dealTotalDemandSummary.demandAtBottomSharePrice.sharePrice)} (${dealsData.dealCurrency})`]\n ]}\n defaultText={`Demand @ ${ValueFormatters.commaDecimalFormatter(dealsData.dealTotalDemandSummary.demandAtBottomSharePrice.sharePrice)} (${dealsData.dealCurrency})`}\n />\n \n\n this.handleChartTabViewToggle(\"all\")}\n >\n \n \n \n\n {\n this.state.chartTabView === 'lowest' && (\n \n )\n }\n {\n this.state.chartTabView === 'all' && (\n \n )\n }\n \n this.props.tabChangeEvent(events.ORDERS_SUMMARY_DEMAND_TAB_BY_COUNTRY)}\n >\n \n this.handleChartTabViewToggle(\"lowest\")}\n >\n \"}\n replace={[\n [\"\", `${ValueFormatters.commaDecimalFormatter(dealsData.dealTotalDemandSummary.demandAtBottomSharePrice.sharePrice)} (${dealsData.dealCurrency})`]\n ]}\n defaultText={`Demand @ ${ValueFormatters.commaDecimalFormatter(dealsData.dealTotalDemandSummary.demandAtBottomSharePrice.sharePrice)} (${dealsData.dealCurrency})`}\n />\n \n\n this.handleChartTabViewToggle(\"all\")}\n >\n \n \n \n\n\n {\n this.state.chartTabView === 'lowest' && (\n \n )\n }\n {\n this.state.chartTabView === 'all' && (\n \n )\n }\n \n {\n this.props.tabChangeEvent(events.ORDERS_SUMMARY_DEMAND_TAB_BY_DAY);\n }}\n >\n \n \n \n
\n \n \n \n \n
\n
\n );\n }\n}\nconst mapStateToProps = (state) => ({\n currentTrancheData: getCurrentTranche(state),\n investorCountrySummaryData: getDemandDataForSummary(state, 'investorCountrySummaryDataByShareLowest'),\n investorTypeSummaryData: getDemandDataForSummary(state, 'investorTypeSummaryDataByShareLowest'),\n\n investorCountrySummaryDataByShare: state.orderBookData.investorCountrySummaryDataByShare,\n investorTypeSummaryDataByShare: state.orderBookData.investorTypeSummaryDataByShare,\n externalSourceLastModifiedSummaryDataByShare: state.orderBookData.externalSourceLastModifiedSummaryDataByShare,\n // TODO: This objetc includes tranches, may need to pull out tranche data and remove trancheData below\n dealsData: state.utility.dealsData,\n lowestSharePrice: state.utility.dealsData.dealTotalDemandSummary.demandAtBottomSharePrice.sharePrice,\n // investorTypeDataByShare: state.orderBookData.ShareDemandByInvestorType,\n currentTrancheId: state.orderBookData.currentTrancheId,\n dealId: state.utility.dealsData.dealId,\n // trancheData: state.orderBookData.TrancheData,\n // titles: state.orderBookData.tranches,\n orderData: state.orderBookData.orderData,\n // currentTranche: state.orderBookData.currentTranche,\n dateReceived: state.orderBookData.dateReceived,\n});\n\nconst mapDispatchToProps = dispatch => ({\n updateCurrentTranche: (trancheId) => dispatch(updateCurrentTranche(trancheId, 'ECM')),\n});\n\nexport default compose(\n withLanguage,\n withTranslate((translate, props) => ({\n tab1Title: translate('orders.demand_by_investor_type', 'Demand by Investor Type'),\n tab2Title: translate('orders.demand_by_country', 'Demand by Country'),\n tab3Title: translate('orders.demand_by_day', 'Demand by Day'),\n })),\n withAnalytics((ev, view) => ({\n viewChange: () => view(featurePageIds.ORDERBOOK_SUMMARY_PAGE),\n tabChangeEvent: eventDetails => ev(eventDetails),\n })),\n connect(mapStateToProps, mapDispatchToProps),\n)(OrderSummaryContainer);\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport styled from 'styled-components';\nimport PopupSystem from 'shared/components/PopupSystem';\nimport Popup, { Divider } from 'shared/components/Popup';\nimport { closeOrderSummaryDetailView } from 'actions/OrderBookActions';\nimport withTranslate from 'shared/hoc/withTranslate';\nimport { dateFormatter } from '../../SharedTableComponents/formatters';\nimport {\n leftAlignedCellStyle,\n rightAlignedCellStyle,\n leftAlignedHeaderStyle,\n} from '../../shared/table/styles';\nimport { tableEllipsis } from 'shared/styles/mixins/ellipsis';\nimport ScrollableTable from 'shared/components/ScrollableTable';\nimport { ValueFormatters } from 'mk-pattern-library-react';\nconst ScrollbleContainer = styled.div`\n div:nth-of-type(1) {\n max-height: 380px;\n }\n`;\n\nconst ModalAlignCenter = styled.div`\n position:fixed;\n top:50%;\n left:50%;\n transform: translate(-50%,-50%);\n`;\n\nconst ModalContent = styled.div`\n display: flex;\n flex-direction: column;\n padding-top: 20px;\n\n ${Divider} {\n display: block;\n margin: 1rem 0;\n }\n`;\n\nclass OrderSummaryModal extends Component {\n\n Columns = (props) => {\n const columns = [\n {\n attrs: {\n role: \"rowheader\",\n },\n dataField: 'orderId',\n text: props.orderIdText,\n style: leftAlignedCellStyle,\n headerStyle: leftAlignedHeaderStyle,\n columnFlex: 0.60,\n },\n {\n dataField: 'investorLongName',\n text: props.investorNameText,\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n columnFlex: 1.50,\n },\n {\n dataField: 'investorType',\n text: props.investorTypeText,\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n columnFlex: 1,\n },\n {\n dataField: 'investorCountry',\n text: props.investorCountryText,\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n columnFlex: 0.95,\n },\n {\n dataField: 'currency',\n text: props.currencyText,\n headerStyle: leftAlignedHeaderStyle,\n style: rightAlignedCellStyle,\n columnFlex: 0.60,\n },\n {\n dataField: 'orderAmount',\n text: props.orderAmountText,\n headerStyle: leftAlignedHeaderStyle,\n style: rightAlignedCellStyle,\n columnFlex: 0.75,\n formatter: ValueFormatters.commaDecimalFormatter,\n },\n {\n dataField: 'limitSecurity',\n text: props.limitSecurityText,\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n columnFlex: 1,\n },\n {\n dataField: 'trancheName',\n text: props.trancheNameText,\n headerStyle: leftAlignedHeaderStyle,\n style: {\n ...leftAlignedCellStyle,\n ...tableEllipsis\n },\n columnFlex: 1,\n },\n {\n dataField: 'externalSourceLastModified',\n text: props.dateText,\n headerClasses: '',\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n columnFlex: 0.80,\n formatter: (value) => (\n dateFormatter('localTime', value)\n ),\n }\n ];\n\n const amendedOrderColumn = {\n dataField: 'amendedAmount',\n text: props.amendedAmountText,\n headerStyle: leftAlignedHeaderStyle,\n style: rightAlignedCellStyle,\n columnFlex: 0.65,\n formatter: ValueFormatters.commaDecimalFormatter,\n }\n\n if (this.props.bookEvolution) {\n columns.splice(6, 0, amendedOrderColumn)\n }\n\n return columns;\n }\n\n closeModalClick = () => {\n this.props.closeOrderSummaryDetailView(this.props.modalId);\n }\n\n render() {\n const { isModalOpen, modalSummary } = this.props;\n return (\n \n \n
\n \n \n \n \n \n
\n \n \n }\n />\n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n isModalOpen: state.orderBookData.isModalOpen,\n modalSummary: state.orderBookData.modalSummary,\n})\n\nconst mapDispatchToProps = dispatch => ({\n closeOrderSummaryDetailView: () => dispatch(closeOrderSummaryDetailView())\n})\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslate((translate) => ({\n orderIdText: translate('orders.orderId', 'Order Id'),\n issuerNameText: translate('orders.issuer_name', 'Issuer Name'),\n investorNameText: translate('orders.investor_name', 'Investor Name'),\n investorTypeText: translate('orders.investor_types', 'Investor Type'),\n investorCountryText: translate('orders.investor_country', 'Investor Country'),\n currencyText: translate('orders.currency', 'Currency'),\n orderAmountText: translate('orders.order_amount', 'Order Amount') + ' (m)',\n limitSecurityText: translate('orders.limit_security', 'Limit Security'),\n trancheNameText: translate('orders.tranche_name', 'Tranche Name'),\n dateText: translate('orders.date_time_entered', 'Date and Time entered'),\n amendedAmountText: translate('orders.amended_amount', 'Amended Amount') + ' (m)',\n })),\n)(OrderSummaryModal);\n","\nexport const landingDimensions = {\n // tile\n TILE_HEIGHT: 225,\n TILE_WIDTH: 280,\n};\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport { FontIcon } from 'shared/components/Icon';\n\nimport { backgrounds, typography, components, fontColors } from 'shared/styles/variables/theme';\n\nimport { landingDimensions } from '../Landing.styles';\n\nexport const TileContainerOuter = styled.div`\n padding: 0px;\n width: ${landingDimensions.TILE_WIDTH}px;\n min-width: ${landingDimensions.TILE_WIDTH}px;\n max-width: ${landingDimensions.TILE_WIDTH}px;\n height: ${landingDimensions.TILE_HEIGHT}px;\n background: ${backgrounds.white};\n border: 1px solid ${backgrounds.gray};\n opacity: 0.9;\n`;\n\nexport const TileContentInner = styled.div`\n padding: 12px;\n`;\n\nexport const TileHeader = styled.h3`\n margin: 0px;\n padding: 12px;\n font-size: ${typography.sizes['13px']};\n line-height: 1;\n border-bottom: 1px solid ${backgrounds.gray};\n\n a {\n ${components.link['--default']}\n\n font-family: ${typography.family.normal};\n\n &:focus {\n ${components.link['--state']['--focus']}\n }\n\n &:hover {\n ${components.link['--state']['--hover']}\n\n span::before {\n text-decoration: none;\n }\n }\n }\n`;\n\nexport const TileContent = styled.div``;\n\nexport const DateContent = styled.div`\n color: ${fontColors.darkGrey};\n font-size: ${typography.sizes['11px']};\n`;\n\nconst linkContainerIconStyle = {\n verticalAlign: 'middle',\n marginLeft: 7,\n color: '#DB0011',\n fontSize: 10,\n display: 'inline-block',\n marginTop: -2,\n};\n\nexport const ChevronIcon = React.memo(props =>\n \n)\n\nexport const EmptyContent = styled.div`\n font-size: ${typography.sizes['12px']};\n margin-top: 2px;\n`;\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"recompose\";\nimport _ from \"lodash\";\n\nimport { TileContentInner, EmptyContent } from \"Landing/dcm/Tiles/styles.js\";\nimport { openOrderSummaryDetailView } from \"actions/OrderBookActions\";\nimport {\n leftAlignedCellStyle,\n rightAlignedCellStyle,\n leftAlignedHeaderStyle,\n rightAlignedHeaderStyle,\n} from \"../../shared/table/styles\";\nimport styled from \"styled-components\";\nimport { dateFormatter } from \"../../SharedTableComponents/formatters\";\nimport Table from \"shared/components/Table\";\nimport { Sorters } from 'mk-pattern-library-react';\nimport { ValueFormatters } from 'mk-pattern-library-react';\nconst OrderSummaryTableContainer = styled.div`\n position: relative;\n`;\n\nconst OrderSummaryTable = ({\n dateText,\n timeIntervalText,\n orderSummaryData,\n openOrderSummaryDetailView,\n orderSummaryList,\n notAvailable,\n trancheLists,\n}) => {\n const cursorStyle = (cursorStyle) => {\n return {\n cursor: `${cursorStyle}`,\n };\n };\n\n const getTableColumnHeader = (tableColumnKeys, index) => {\n const columnHeader = trancheLists.filter(\n (col) => col.key === tableColumnKeys[index]\n );\n if (index === 0) return dateText;\n else if (columnHeader && columnHeader.length)\n return columnHeader[0].value + \" (m)\";\n else return timeIntervalText;\n };\n\n const getSortedColumns = (tableColumnKeys) => {\n const numberTranches = tableColumnKeys.filter(\n (item) => Number(item) === parseInt(item)\n );\n const stringTranches = tableColumnKeys\n .filter((item) => Number(item) !== parseInt(item))\n .sort();\n return stringTranches.concat(numberTranches);\n };\n\n const Columns = (columnData) => {\n const tableColumnKeys = _.keys(columnData[0]);\n const sortedColumns = getSortedColumns(tableColumnKeys);\n\n const columns = sortedColumns.map((item, index) => {\n return {\n dataField: item,\n text: getTableColumnHeader(sortedColumns, index),\n style:\n item === \"date\" || item === \"timeInterval\"\n ? {\n ...leftAlignedCellStyle,\n ...cursorStyle(\"auto\"),\n }\n : {\n ...rightAlignedCellStyle,\n ...cursorStyle(\"pointer\"),\n },\n headerStyle:\n item === \"date\" || item === \"timeInterval\"\n ? leftAlignedHeaderStyle\n : rightAlignedHeaderStyle,\n columnFlex: 1,\n formatter: !(item === \"date\" || item === \"timeInterval\") ? ValueFormatters.commaDecimalFormatter : null,\n events: {\n onClick: (e, column, columnIndex, row, rowIndex) => {\n row.timeInterval !== \"Total\" &&\n (column.dataField !== \"timeInterval\" &&\n column.dataField !== \"date\") &&\n getOrderSummaryDetails(column, rowIndex);\n },\n },\n };\n });\n return columns;\n };\n\n const getOrderSummaryDetails = (column, rowIndex) => {\n const selectedIndividualOrder = [];\n const individualOrders = orderSummaryData.individualOrders;\n const structuredIndividualOrders = individualOrders\n .map((item) => item.orders)\n .reduce((acc, val) => acc.concat(val), []);\n\n structuredIndividualOrders\n .sort((a, b) => Sorters.doubleSort('timeInterval', a, b, 'asc', 'externalSourceLastModified'))\n\n orderSummaryList.forEach((order, index) => {\n if (orderSummaryList[index].date === \"\") {\n orderSummaryList[index].date = orderSummaryList[index - 1].date;\n }\n });\n\n structuredIndividualOrders.forEach((order) => {\n if (\n new Date(\n dateFormatter(\"localDate\", order.externalSourceLastModified)\n ) <= new Date(orderSummaryList[rowIndex].date)\n ) {\n if (\n new Date(\n dateFormatter(\"localDate\", order.externalSourceLastModified)\n ) < new Date(orderSummaryList[rowIndex].date)\n ) {\n selectedIndividualOrder.push(order);\n } else if (\n order.timeInterval <= orderSummaryList[rowIndex].timeInterval\n ) {\n selectedIndividualOrder.push(order);\n }\n }\n });\n\n const selectedColumnOrders =\n selectedIndividualOrder.length &&\n selectedIndividualOrder.filter(\n (order) => order.trancheId === JSON.parse(column.dataField)\n );\n selectedColumnOrders.length &&\n openOrderSummaryDetailView(selectedColumnOrders);\n };\n \n return (\n \n {orderSummaryList.length ? (\n \n \n \n ) : (\n \n {notAvailable}\n \n )}\n \n );\n};\n\nconst mapDispatchToProps = (dispatch) => ({\n openOrderSummaryDetailView: (summaryData) =>\n dispatch(openOrderSummaryDetailView(summaryData)),\n});\n\nexport default compose(\n connect(\n null,\n mapDispatchToProps\n )\n)(OrderSummaryTable);\n","import React, { useEffect, useState } from 'react'\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport styled from 'styled-components';\nimport { SvgIcon } from 'shared/components/Icon';\nimport { filterOrderSummary, selectOrderSummaryDropdown, filterBookEvolutionSummary } from 'actions/OrderBookActions';\nimport { TIME_INTERVALS, DEFAULT_ALL, ALL_INVESTORS } from 'constants/orders';\nimport { getSelectedInvestor, getSelectedTranche, getSelectedInterval, getSelectedDate } from 'selectors';\nimport TextField from '@mui/material/TextField';\nimport Autocomplete from '@mui/material/Autocomplete';\n\nconst styles = {\n display: 'flex',\n alignItems: 'center'\n}\n\nconst DropDownContainer = styled.div`\n ${styles}\n`;\n\nconst InvestorDropDownContainer = styled.div`\n ${styles}\n span {\n margin-right: 10px\n }\n`;\n\nconst TranchesDropDownContainer = styled.div`\n ${styles}\n span {\n margin: 0 10px\n }\n`;\n\nconst DropDownLabel = styled.span``;\n\nconst arrowDropdownIconStyle = {\n transform: 'rotate(90deg)',\n marginTop: '2px',\n width: '18px',\n height: '18px',\n}\n\nconst data = { value: 0 };\n\nconst OrderSummaryDropdownList = ({\n dealId,\n selectedInvestor,\n selectedTranche,\n selectedInterval,\n selectedDate,\n investorNameText,\n trancheNameText,\n timeIntervalText,\n allInvestorLists,\n allTranchelists,\n selectOrderSummaryDropdown,\n filterOrderSummary,\n isOrderBookSummary,\n filterBookEvolutionSummary,\n getDateSummary,\n dateText,\n isAmenededOrderSummary,\n isBookEvolution,\n}) => {\n\n const [amendedInvestor, setAmendedInvestor] = useState(false)\n\n useEffect(() => {\n if (isAmenededOrderSummary && selectedInvestor.value === ALL_INVESTORS.value) {\n const data = allInvestorLists.filter((item) => item.key === ALL_INVESTORS.key);\n if (!data.length) {\n setAmendedInvestor(allInvestorLists[0]);\n }\n }\n }, [])\n\n const setDateSummary = (getDateSummary, selectedDate) => {\n const index = getDateSummary.findIndex(list => list.value === selectedDate.value);\n index > 0 && (data.value = index);\n const isListed = getDateSummary.some((el) => el.value === selectedDate.value);\n !isListed && getDateSummary.splice(data.value, 0, selectedDate);\n return getDateSummary\n }\n\n const onDropdownChange = (e, investorName, trancheName, interval, date, isDateUpdated) => {\n if ((amendedInvestor ? amendedInvestor.value : selectedInvestor.value) !== investorName.value || selectedTranche.value !== trancheName.value ||\n selectedInterval.value !== interval.value || selectedDate.value !== date.value) {\n setAmendedInvestor(false);\n selectOrderSummaryDropdown(investorName, trancheName, interval, date);\n if (isBookEvolution) { !isDateUpdated && filterBookEvolutionSummary(dealId, interval.key, investorName.key, trancheName.key, true, true) }\n else if (isOrderBookSummary) { !isDateUpdated && filterOrderSummary(dealId, interval.key, investorName.key, trancheName.key, true, true) }\n }\n }\n\n const getInvestorValue = value => {\n return value.length > 15 ? value.slice(0, 14) + \"...\" : value;\n }\n\n return (\n
\n \n \n {investorNameText}:\n }\n value={getInvestorValue(amendedInvestor ? amendedInvestor.value : selectedInvestor.value)}\n onChange={(e, value) => onDropdownChange(e, value ? value : selectedInvestor, selectedTranche, selectedInterval, DEFAULT_ALL)}\n isOptionEqualToValue={(option, value) => option.value === value}\n renderInput={(params) => }\n />\n \n\n \n {trancheNameText}:\n }\n value={selectedTranche.value.length > 17 ? selectedTranche.value.slice(0, 16) + \"...\" : selectedTranche.value }\n onChange={(e, value) => onDropdownChange(e, amendedInvestor ? amendedInvestor : selectedInvestor, value ? value : selectedTranche, selectedInterval, selectedDate || DEFAULT_ALL)}\n renderInput={(params) => }\n isOptionEqualToValue={(option, value) => option.value === value}\n />\n \n\n {\n !isAmenededOrderSummary &&\n <>\n \n {dateText} :\n }\n value={selectedDate.value} \n onChange={(e, value) => onDropdownChange(e, selectedInvestor, selectedTranche, selectedInterval, value ? value : selectedDate, true)}\n renderInput={(params) => }\n isOptionEqualToValue={(option, value) => option.value === value}\n />\n \n\n \n {timeIntervalText}:\n }\n value={selectedInterval.value}\n onChange={(e, value) => onDropdownChange(e, selectedInvestor, selectedTranche, value ? value : selectedInterval, selectedDate)}\n renderInput={(params) => }\n isOptionEqualToValue={(option, value) => option.value === value}\n />\n \n \n }\n \n
\n )\n}\n\nconst mapStateToProps = (state) => ({\n selectedInvestor: getSelectedInvestor(state),\n selectedTranche: getSelectedTranche(state),\n selectedInterval: getSelectedInterval(state),\n selectedDate: getSelectedDate(state),\n});\n\nconst mapDispatchToProps = dispatch => ({\n selectOrderSummaryDropdown: (investorId, trancheId, interval, date) => dispatch(selectOrderSummaryDropdown(investorId, trancheId, interval, date)),\n filterOrderSummary: (dealId, interval, investorId, trancheId, loader, isFilter) => dispatch(filterOrderSummary(dealId, investorId, trancheId, interval, loader, isFilter)),\n filterBookEvolutionSummary: (dealId, interval, investorId, trancheId, loader, isFilter) => dispatch(filterBookEvolutionSummary(dealId, investorId, trancheId, interval, loader, isFilter)),\n});\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n)(OrderSummaryDropdownList)\n","import React from 'react';\nimport {\n LineChart,\n ResponsiveContainer,\n Legend,\n Line,\n XAxis,\n YAxis,\n Tooltip,\n CartesianGrid\n} from 'recharts';\nimport { extendedColorsForLineChart } from 'mk-pattern-library-react/utils/visualisationColors';\nimport { TileContentInner, EmptyContent } from 'Landing/dcm/Tiles/styles.js';\nimport { SvgIcon } from 'shared/components/Icon';\nimport styled from 'styled-components';\nimport { ValueFormatters } from 'mk-pattern-library-react';\n\nconst AmendedOrderLegendsContainer = styled.div`\n width: 1162px;\n text-align: center;\n margin-left: -40px\n`;\n\nconst AmendedOrderLegendsUlList = styled.ul`\n margin: 5px 0 10px !important;\n padding: 0px;\n text-align: center;\n`;\n\nconst AmendedOrderLegendsList = styled.li`\n display: inline-block;\n margin-right: 10px;\n`;\n\nconst AmendedOrderLegendsWrapper = styled.div`\n display: inline-block;\n &:not(:last-child) {\n margin-right: 40px;\n }\n`;\n\nconst AmendedOrderLegendItem = styled.span``;\n\nconst legendIconStyle = {\n height: '14px',\n width: '14px',\n display: 'inline-block',\n verticalAlign: 'middle',\n marginRight: '4px'\n}\n\nconst getChartSlices = (lineChartSummary, lineChartList, chartLabel) => {\n switch (chartLabel) {\n case 'bookEvaluation':\n case 'orderSummary': {\n const tranches = Object.keys(lineChartSummary[0]);\n const filteredTrancheList = lineChartList.filter(i => tranches.includes(i.key));\n const isAnimation = filteredTrancheList.length === 1 ? false : true\n return filteredTrancheList.map((tranche, index) => {\n const color = extendedColorsForLineChart(index, tranche.key);\n return \n })\n }\n case 'amendedOrderSummary': {\n return lineChartList.map((order, index) => {\n const color = extendedColorsForLineChart(index, lineChartSummary[index].dateTimeInterval);\n return \n })\n }\n default: return null;\n }\n}\n\nconst AxisLabel = ({ axisType, x, y, width, height, children, xDy }) => {\n const isVert = axisType === 'yAxis';\n const cx = isVert ? x : x + (width / 2);\n const cy = isVert ? (height / 2) + y : (xDy ? xDy : y + height + 10);\n const rot = isVert ? `270 ${cx} ${cy}` : 0;\n return (\n \n {children}\n \n );\n};\n\nconst renderCusomizedLegend = (lineChartSummary, lineChartList, trancheOrders) => {\n let barIndex = -1;\n return (\n \n {\n trancheOrders.map((tranche, index) => {\n return tranche.count > 0 &&\n \n {tranche.trancheName}\n \n {\n getOrdersList(tranche.trancheName, lineChartList).map((item, index) => {\n barIndex++;\n const color = extendedColorsForLineChart(barIndex, lineChartSummary[barIndex].dateTimeInterval);\n return (\n \n \n {item.orderId}\n \n )\n })}\n \n \n })\n }\n \n );\n}\n\nconst getOrdersList = (trancheName, list) => {\n const data = list.filter((item) => item.trancheName === trancheName)\n return data;\n}\n\nconst OrderSummaryLineChart = ({\n lineChartSummary,\n lineChartList,\n trancheOrders,\n notAvailable,\n xAxisLabel,\n yAxisLabel,\n chartLabel,\n tooltipLabel,\n dataKey,\n xDy,\n}) => {\n return (\n <>\n {\n lineChartSummary.length ?\n
\n \n \n \n {xAxisLabel}}\n />\n {yAxisLabel}}\n />\n {\n chartLabel === 'amendedOrderSummary' ?\n :\n \n }\n {\n return `${tooltipLabel}: ${value}`\n }\n }\n />\n {getChartSlices(lineChartSummary, lineChartList, chartLabel)}\n \n \n
:\n \n \n {notAvailable}\n \n \n }\n \n )\n};\n\nexport default React.memo(OrderSummaryLineChart);\n","import React, { useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Row, Col } from \"react-bootstrap\";\nimport _ from \"lodash\";\nimport get from \"lodash/get\";\nimport { compose } from \"recompose\";\nimport styled from \"styled-components\";\n\nimport * as modalIds from \"constants/modalIds\";\nimport { ALL_INVESTORS, ALL_TRANCHES, DEFAULT_ALL } from \"constants/orders\";\nimport dealFeatures from 'constants/dealFeatures';\nimport {\n updateCurrentTranche,\n openOrderSummaryDetailView,\n getCurrentActiveSummaryTab,\n changeLoderStatus,\n} from \"actions/OrderBookActions\";\nimport { handleHomeFeature } from 'actions/UtilityActions';\nimport {\n getTrancheTitles,\n getCurrentTranche,\n getDemandDataForSummary,\n getOrderSummaryData,\n getSelectedDate,\n getInvestorNames,\n getTrancheLists,\n} from \"selectors\";\n\nimport TranslationText, {\n translationString,\n} from \"translations/TranslationText\";\nimport withLanguage from \"translations/withLanguage\";\nimport withTranslate from \"shared/hoc/withTranslate\";\n\nimport DemandByCarouselPanelPie from \"../../shared/summary/DemandByCarouselPanelPie\";\nimport TopTenTable from \"../../shared/summary/TopTenTable\";\nimport StatusBar from \"../../shared/summary/StatusBar\";\nimport OrderbookHeader from \"../../shared/summary/OrderbookHeader\";\n// analytics\nimport { featurePageIds } from \"constants/featurePages\";\nimport withAnalytics from \"shared/hoc/withAnalytics\";\nimport { events } from \"constants/analytics\";\nimport { ALL_TRANCHES_RECORD, ORDER_SUMMARY_TABS } from \"constants/orders\";\n\n// tabs\nimport {\n tabIds,\n dcmSummaryDemandTabs,\n allTranchesOrderSummarySubTabs,\n} from \"constants/tabIds\";\nimport HorizontalTab from \"shared/accessibility/components/HorizontalTabs/HorizontalTab\";\nimport HorizontalTabs from \"shared/accessibility/components/HorizontalTabs\";\n\nimport OrderSummaryDetailView from \"./OrderSummaryDetailView\";\nimport OrderSummaryTable from \"./OrderSummaryTable\";\nimport OrderSummaryDropdownList from \"./OrderSummaryDropdownList\";\nimport { TileContentInner, EmptyContent } from \"Landing/dcm/Tiles/styles.js\";\nimport OrderSummaryLineChart from \"./OrderSummaryLineChart\";\nimport { dateFormatter } from \"../../SharedTableComponents/formatters\";\nimport Loading from 'shared/components/Loading';\n\nconst LoadingContainer = styled.div`\n width: 100%;\n height: calc(100vh - 280px);\n position: relative;\n`;\n\nconst LoadingWrapper = styled.div`\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%,-50%);\n`;\n\nconst DropDownPicker = styled.div`\n margin: 30px 0px;\n`;\n\nconst CumulativeTextWrapper = styled.div`\n position: absolute;\n top: 10px;\n color: #000;\n right: 10px;\n font-weight: 600;\n`;\n\n\nconst OrderSummaryContainer = (props) => {\n\n useEffect(() => {\n props.viewChange();\n props.getCurrentActiveSummaryTab(ORDER_SUMMARY_TABS.ORDERBOOKSUMMARY);\n }, []);\n\n useEffect(() => {\n const { dealId, orderData, currentTrancheData, changeLoderStatus, handleHomeFeature } = props;\n if (active.id !== ALL_TRANCHES_RECORD.id && orderData && orderData.length) {\n if (orderData.length !== currentTrancheData.trancheTotalNumberOfOrders) {\n handleHomeFeature(dealFeatures.ORDERBOOK, dealId);\n changeLoderStatus(true);\n }\n }\n }, [props.orderData])\n\n const handleTrancheNavClick = (selectedTranche) => {\n props.updateCurrentTranche(selectedTranche.id);\n }\n\n const getSummaryDates = (isOrderSummaryEnable) => {\n const orderDateSummary = [];\n if (isOrderSummaryEnable) {\n const data = { ...props.orderSummaryData.orderSummary };\n _.entries(data).map((item) => {\n orderDateSummary.push({\n value: dateFormatter(\"localDate\", item[0]),\n label: dateFormatter(\"localDate\", item[0]),\n });\n return null;\n });\n }\n return orderDateSummary.filter(\n (array, index, value) => value.indexOf(array) === index\n );\n };\n\n const getDateFilterdSummaryData = (orderList, orderSummary, showCumulativeRow) => {\n const getOrderSummaryByDate = _.entries(orderList).find(\n (order) =>\n dateFormatter(\"localDate\", order[0]) === props.selectedDate.value\n );\n const orderSummaryListByDate =\n getOrderSummaryByDate &&\n getOrderSummaryByDate.length &&\n getOrderSummaryByDate[1].filter(\n (order) => order.timeInterval !== \"Total\"\n );\n\n if (\n orderSummaryListByDate &&\n orderSummaryListByDate.length &&\n showCumulativeRow\n ) {\n const orderSummaryTableKeys = _.keys(\n orderSummary[orderSummary.length - 1]\n );\n let grandTotalRow = {};\n\n _.each(orderSummaryListByDate, (order) => {\n _.each(orderSummaryTableKeys, (column) => {\n if (column !== \"date\") {\n grandTotalRow[column] = order[column];\n } else {\n grandTotalRow[column] = \"\";\n }\n column === \"timeInterval\" &&\n (grandTotalRow[column] = \"Total\");\n });\n });\n\n orderSummaryListByDate.push(grandTotalRow);\n }\n return orderSummaryListByDate || [];\n };\n\n const getOrderSummaryList = (data, isTable) => {\n const orderSummary = [];\n const tempOrderSummaryData = JSON.parse(JSON.stringify(data));\n const trancheList = JSON.parse(JSON.stringify(props.trancheNameList));\n _.entries(tempOrderSummaryData).map((item) => {\n item[1].map((col, index) => {\n if (isTable) {\n index === 0\n ? (col.date = dateFormatter(\"localDate\", item[0]))\n : (col.date = \"\");\n } else {\n col.dateTimeInterval =\n index === 0\n ? dateFormatter(\"dateMonth\", item[0]) +\n \" \" +\n col.timeInterval.slice(0, 5)\n : col.timeInterval.slice(0, 5);\n trancheList.forEach((item, index) => {\n if (col[item.key] || col[item.key] === 0) {\n col[trancheList[index].value] = col[item.key] || 0;\n delete col[item];\n }\n });\n }\n if (isTable || col.timeInterval !== \"Total\")\n orderSummary.push(col);\n return null;\n });\n return null;\n });\n\n if (props.selectedDate.value !== \"ALL\") {\n return getDateFilterdSummaryData(\n tempOrderSummaryData,\n orderSummary,\n isTable\n );\n }\n\n return orderSummary;\n };\n\n const checkPopOverStatus = (tableData) => {\n let isPopOverEnabled = false;\n const otherTableData = [];\n const data = tableData.find((item) => item.dataItem === 'Other' && item.otherValues && item.otherValues.length)\n if (data) {\n isPopOverEnabled = true;\n const demandData = data.otherValues;\n demandData.forEach(item => {\n otherTableData.push({\n dataItem: item.categoryName,\n totalOrders: item.demand,\n percent: item.percentage,\n orders: item.totalNumberOfOrders,\n otherValues: item.otherValues,\n });\n });\n }\n return {\n isPopOverEnabled,\n otherTableData\n }\n }\n\n // from route we can optionally set the default order table tab\n const ordersTableTab = get(props.location, \"state.ordersTable\");\n\n const active = { id: props.currentTrancheId };\n const currentTrancheData = props.currentTrancheData;\n const tableDataCountry = props.InvestorCountrySummaryData.tableData;\n const countryPieData = props.InvestorCountrySummaryData.chartData;\n const tableDataRegion = props.InvestorRegionSummaryData.tableData;\n const regionPieData = props.InvestorRegionSummaryData.chartData;\n const tableDataInvestor = props.InvestorTypeSummaryData.tableData;\n const investorPieData = props.InvestorTypeSummaryData.chartData;\n\n const isOrderSummaryEnable =\n props.orderSummaryData &&\n _.keys(props.orderSummaryData.orderSummary).length;\n\n let panelStyle = {\n height: \"366px\",\n };\n\n const trancheTitles = props.trancheTitles.map((t) => ({\n ...t,\n btnAriaLabel: translationString(\n \"orders.open_tranche__\",\n props.language,\n `Open tranche ${t.title} ${t.status || \"\"}`,\n [[\"\", t.title], [\"\", t.status]]\n ),\n }));\n\n return (\n <>\n {currentTrancheData ? (\n <>\n \n\n {active.id !== ALL_TRANCHES_RECORD.id && (\n <>\n \n \n \n
\n \n {\n props.tabChangeEvent(\n events.ORDERS_SUMMARY_DEMAND_TAB_BY_REGION\n );\n }}\n >\n \n \n {\n props.tabChangeEvent(\n events.ORDERS_SUMMARY_DEMAND_TAB_BY_INVESTOR_TYPE\n );\n }}\n >\n \n \n {\n props.tabChangeEvent(\n events.ORDERS_SUMMARY_DEMAND_TAB_BY_COUNTRY\n );\n }}\n >\n \n \n \n
\n \n \n \n \n
\n \n )}\n \n {active.id === ALL_TRANCHES_RECORD.id && (\n <>\n {\n props.loading ? (\n \n \n \n \n \n ):(\n \n \n {(isOrderSummaryEnable || props.isOrderSummaryFiltererd) ? (\n \n \n \n ) : null}\n
\n \n \n {isOrderSummaryEnable ? (\n \n \n Note: Time interval is not to scale.\n \n \n \n ) : (\n \n \n {props.notAvailable}\n \n \n )}\n \n \n {isOrderSummaryEnable ? (\n \n \n Point in time cumulative total\n \n \n \n ) : (\n \n \n {props.notAvailable}\n \n \n )}\n \n \n
\n \n
\n )\n }\n \n )}\n \n \n ) : (\n \n )}\n \n );\n}\n\n\nconst mapStateToProps = (state) => ({\n currentTrancheData: getCurrentTranche(state),\n trancheTitles: getTrancheTitles(state),\n orderSummaryData: getOrderSummaryData(state),\n orderData: state.orderBookData.orderData,\n currentTrancheId: state.orderBookData.currentTrancheId,\n dealId: state.utility.dealsData.dealId,\n InvestorCountrySummaryData: getDemandDataForSummary(\n state,\n \"investorCountrySummaryData\"\n ),\n InvestorTypeSummaryData: getDemandDataForSummary(\n state,\n \"investorTypeSummaryData\"\n ),\n InvestorRegionSummaryData: getDemandDataForSummary(\n state,\n \"investorRegionSummaryData\"\n ),\n dateReceived: state.orderBookData.dateReceived,\n selectedDate: getSelectedDate(state),\n investorNameList: getInvestorNames(state),\n trancheNameList: getTrancheLists(state),\n loading: state.orderBookData.dataFetching,\n isOrderSummaryFiltererd: state.orderBookData.isOrderSummaryFiltererd\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n updateCurrentTranche: (trancheId, loader) => dispatch(updateCurrentTranche(trancheId, \"DCM\")),\n openOrderSummaryDetailView: (summaryData) => dispatch(openOrderSummaryDetailView(summaryData)),\n getCurrentActiveSummaryTab: (activeTab) => dispatch(getCurrentActiveSummaryTab(activeTab)),\n changeLoderStatus: (value) => dispatch(changeLoderStatus(value)),\n handleHomeFeature: (dealFeature, dealId) => dispatch(handleHomeFeature(dealFeature, dealId)),\n});\n\nexport default compose(\n withLanguage,\n connect(\n mapStateToProps,\n mapDispatchToProps\n ),\n withAnalytics((ev, view) => ({\n viewChange: () => view(featurePageIds.ORDERBOOK_SUMMARY_PAGE),\n tabChangeEvent: (eventDetails) => ev(eventDetails),\n })),\n withTranslate((translate, props) => ({\n tab1Title: translate(\"orders.demand_by_region\", \"Demand by Region\"),\n tab2Title: translate(\n \"orders.demand_by_investor_type\",\n \"Demand by Investor Type\"\n ),\n tab3Title: translate(\"orders.demand_by_country\", \"Demand by Country\"),\n viewChart: translate(\"orders.view_chart\", \"View Chart\"),\n viewTable: translate(\"orders.view_table\", \"View Table\"),\n notAvailable: translate(\n \"others.content_not_yet_available\",\n \"Content Not Yet Available\"\n ),\n investorNameText: translate(\"orders.investor_name\", \"Investor Name\"),\n trancheNameText: translate(\"orders.tranche_name\", \"Tranche Name\"),\n timeIntervalText: translate(\"orders.time_interval\", \"Time Interval\"),\n dateText: translate(\"orders.date\", \"Date\"),\n }))\n)(OrderSummaryContainer);\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\n\nimport {\n isDCMDealType,\n isECMDealType,\n isDCMOrderbookContentAvailable,\n isECMOrderbookContentAvailable\n} from 'selectors';\n\nimport PageContentNotAvailable from 'components/PageContentNotAvailable';\n\nimport ECMOrderSummaryContainer from './ecm/OrderSummary/OrderSummary.container';\nimport DCMOrderSummaryContainer from './dcm/OrderSummary/OrderSummary.container';\n\nclass OrderSummaryContainer extends PureComponent {\n render() {\n if (!this.props.isDCMAvailable && !this.props.isECMAvailable) {\n return \n }\n\n if (this.props.isECM) {\n return ;\n }\n\n if (this.props.isDCM) {\n return ;\n }\n\n return null;\n }\n}\n\nconst EnhancedOrderSummary = connect(\n state => ({\n isDCM: isDCMDealType(state),\n isECM: isECMDealType(state),\n isDCMAvailable: isDCMOrderbookContentAvailable(state),\n isECMAvailable: isECMOrderbookContentAvailable(state),\n isFetching: state.utility.fetching,\n }),\n)(OrderSummaryContainer);\n\nexport default EnhancedOrderSummary;\n","import React from 'react'\n\nconst Table = (props) => {\n return (\n \n {props.children}\n
\n )\n}\n\nexport default Table;","import React, { useRef, useEffect } from 'react'\n\nconst TableHead = ({ setTheadRef, list, children, style }) => {\n const tableHeadRef = useRef(null);\n\n const resizeTheadRef = () => {\n setTheadRef && setTheadRef(tableHeadRef)\n };\n\n useEffect(() => {\n resizeTheadRef();\n window.addEventListener('resize', resizeTheadRef);\n return () => window.removeEventListener('resize', resizeTheadRef);\n }, [list]);\n\n return (\n \n {children}\n \n )\n}\n\nexport default TableHead;\n","import React from 'react'\n\nconst TableBody = (props) => {\n return (\n \n {props.children}\n \n )\n}\n\nexport default TableBody;","import React from 'react'\n\nconst TableRow = (props) => {\n return (\n \n {props.children}\n \n )\n}\n\nexport default TableRow;","import React from 'react'\n\nconst TableHeaderCell = (props) => {\n return (\n \n {props.children}\n \n )\n}\n\nexport default TableHeaderCell;","import React from 'react'\n\nconst TableColumnCell = (props) => {\n return (\n \n {props.children}\n \n )\n}\n\nexport default TableColumnCell;","import React, { useState } from 'react'\nimport {\n leftAlignedHeaderStyle,\n rightAlignedHeaderStyle,\n leftAlignedCellStyle,\n rightAlignedCellStyle,\n} from '../../shared/table/styles';\nimport Table from '../TableContainer/Table'\nimport TableHead from '../TableContainer/TableHead'\nimport TableBody from '../TableContainer/TableBody'\nimport TableRow from '../TableContainer/TableRow'\nimport TableHeaderCell from '../TableContainer/TableHeaderCell'\nimport TableColumnCell from '../TableContainer/TableColumnCell'\nimport { dateFormatter } from '../../SharedTableComponents/formatters';\nimport { ValueFormatters } from 'mk-pattern-library-react';\nconst columnHeight = {\n height: '40px',\n verticalAlign: 'middle'\n}\n\nconst borderBottom = {\n borderBottom: '1px solid rgb(216, 216, 216)'\n}\n\nconst getCellWidthCell = (cellWidth, list, index) => {\n if (cellWidth && (list.length - 1 === index)) {\n return {\n width: `calc(${cellWidth}px - 9.2px)`\n }\n }\n}\n\nconst dateColumnWidth = (headerStyle) => {\n if (headerStyle) {\n return {\n minWidth: '140px',\n width: '140px',\n }\n }\n}\n\nconst timeEnteredColumnWidth = (headerStyle) => {\n if (headerStyle) {\n return {\n minWidth: '101px',\n width: '101px',\n }\n }\n}\n\nconst AmendedSummaryTable = ({\n orderSummaryList,\n dateText,\n timeEntered,\n}) => {\n\n const [tableStyle, setTableStyle] = useState('auto');\n const [cellWidth, setCellWidth] = useState('auto');\n const [headerStyle, setHeaderStyle] = useState(false);\n\n const setTheadRef = (data) => {\n const childNodes = data.current.rows[1].childNodes\n setTimeout(\n () => {\n if (childNodes.length) {\n const scrollHeight = childNodes[0].offsetParent && childNodes[0].offsetParent.children[1].scrollHeight\n const tbodyHeight = childNodes[0].offsetParent && childNodes[0].offsetParent.children[1].clientHeight\n if (scrollHeight === tbodyHeight) {\n setCellWidth(false)\n } else {\n setCellWidth(data.current.rows[1].childNodes[0].clientWidth)\n }\n }\n }, 100)\n if (childNodes.length <= 11) {\n setTableStyle('100%')\n setHeaderStyle(false)\n } else {\n setTableStyle('auto')\n setHeaderStyle(true)\n }\n }\n\n return (\n
\n \n setTheadRef(data)}\n style={{ width: `${tableStyle}` }}\n list={orderSummaryList}\n >\n \n \n {dateText}\n \n\n \n {timeEntered}\n \n {orderSummaryList.trancheOrders.map(\n (item, index) =>\n item.count > 0 && (\n \n {item.trancheName+ \" (m)\"}\n \n )\n )}\n \n \n {\n orderSummaryList.amendedOrderIdList.map((id, index) => (\n \n Order ID - {id.orderId}\n \n ))\n }\n \n \n \n {orderSummaryList.orderSummary.map((order, index) => {\n return (\n \n \n {order.dateEntered\n ? dateFormatter('localDate', order.dateEntered)\n : ''}\n \n \n {order.timeEntered}\n \n {\n orderSummaryList.amendedOrderIdList.map((id, index) => (\n \n {ValueFormatters.commaDecimalFormatter(order[id.orderId])}\n \n ))\n }\n \n );\n })}\n \n \n
\n );\n}\n\nexport default AmendedSummaryTable;","import React, { useState, useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { Row, Col } from 'react-bootstrap';\nimport { compose } from 'recompose';\nimport styled from 'styled-components';\nimport _ from \"lodash\";\n\nimport { updateCurrentTranche } from 'actions/OrderBookActions';\nimport { getTrancheTitles, getCurrentTranche, getAmendedOrderSummaryData, getInvestorNames, getTrancheLists, getSelectedInvestor, getSelectedTranche } from 'selectors';\n\nimport TranslationText, { translationString } from 'translations/TranslationText';\nimport withLanguage from 'translations/withLanguage';\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport OrderbookHeader from '../../shared/summary/OrderbookHeader';\n// analytics\nimport { featurePageIds } from 'constants/featurePages';\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { ALL_INVESTORS, ALL_TRANCHES } from 'constants/orders';\n\n// tabs\nimport { tabIds, allTranchesAmendedSummarySubTabs } from 'constants/tabIds';\nimport HorizontalTab from 'shared/accessibility/components/HorizontalTabs/HorizontalTab';\nimport HorizontalTabs from 'shared/accessibility/components/HorizontalTabs';\n// import OrderSummaryLineChart from '../OrderSummary/OrderSummaryLineChart';\nimport AmendedSummaryTable from \"./AmendedSummaryTable\";\nimport OrderSummaryDropdownList from \"../OrderSummary/OrderSummaryDropdownList\"\nimport { TileContentInner, EmptyContent } from 'Landing/dcm/Tiles/styles.js';\nimport { dateFormatter } from '../../SharedTableComponents/formatters';\nimport { Sorters } from 'mk-pattern-library-react';\nimport Loading from 'shared/components/Loading';\n\nconst LoadingContainer = styled.div`\n width: 100%;\n height: calc(100vh - 280px);\n position: relative;\n`;\n\nconst LoadingWrapper = styled.div`\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%,-50%);\n`;\n\nconst DropDownPicker = styled.div`\n margin: 30px 0px\n`;\n// const CumulativeTextWrapper = styled.div`\n// position: absolute;\n// top: 10px;\n// color: #000;\n// right: 10px;\n// font-weight: 600;\n// `;\nconst AmendedOrderSummaryContainer = (props) => {\n\n const [amendedOrderSummaryData, setAmendedOrderSummaryData] = useState([]);\n const [amendedInvestorList, setAmendedInvestorList] = useState([])\n const [orderSummary, setOrderSummary] = useState([])\n const [trancheOrders, setTrancheOrders] = useState([])\n const [amendedOrderIdList, setAmendedOrderIdList] = useState([])\n\n useEffect(() => {\n props.viewChange();\n }, [])\n\n useEffect(() => {\n getUpdatedStructuredOrders();\n }, [props.amendedOrderSummaryData])\n\n useEffect(() => {\n getFilteredStructuredOrders()\n }, [amendedInvestorList.length, props.selectedInvestor, props.selectedTranche, amendedOrderSummaryData])\n\n const handleTrancheNavClick = (selectedTranche) => {\n props.updateCurrentTranche(selectedTranche.id);\n }\n\n const getUpdatedStructuredOrders = () => {\n const amendedResultData = JSON.parse(JSON.stringify(props.amendedOrderSummaryData));\n\n // To Destructure the API response\n const structuredIndividualOrders = amendedResultData\n .map((item) => item.individualOrders\n .map((order) => order.orders)\n .reduce((acc, val) => acc.concat(val), []))\n .reduce((acc, val) => acc.concat(val), []);\n\n // Trimming the Extra Spaces for Investor Names\n structuredIndividualOrders.forEach((item) => {\n item.investorLongName = item.investorLongName.trim();\n })\n\n // Getting All Unique Amended Investor Name List from Destructure API Response\n const amendedInvestorList = [...new Map(structuredIndividualOrders.map((item) =>\n [item[\"investorLongName\"], item])).values()]\n .sort((a, b) => a.investorLongName.trim() < b.investorLongName.trim() ? -1 : 1)\n .map((item) => {\n return {\n key: item.investorID,\n value: item.investorLongName,\n label: item.investorLongName,\n }\n })\n\n setAmendedOrderSummaryData(structuredIndividualOrders)\n setAmendedInvestorList(amendedInvestorList)\n }\n\n const getFilteredStructuredOrders = () => {\n const orderSummary = [];\n const sortedOrderSummary = [];\n let filteredData = [];\n let filteredTrancheData = [];\n\n const isIntialInvestor = _.isEqual(props.selectedInvestor, ALL_INVESTORS); // Check Wheather Default Investor Name is Selected\n const isIntialTranche = _.isEqual(props.selectedTranche, ALL_TRANCHES); // Check Wheather Default Tranche Name is Selected\n\n // Filter the Data as per Investor Names\n filteredData = amendedOrderSummaryData.filter((order) => order.investorLongName === (isIntialInvestor ? amendedInvestorList[0].value : props.selectedInvestor.value))\n\n // Filter the Data as per Tranche Names\n !isIntialTranche ? filteredTrancheData = filteredData.filter((order) => order.trancheName === props.selectedTranche.value) : filteredTrancheData = filteredData;\n\n // Formatting the Existing Received Date to Date-Month\n filteredTrancheData.forEach((item) => {\n item[item.orderId] = item.orderAmount;\n item.dateTimeInterval = dateFormatter('dateMonth', item.externalSourceLastModified) + ' ' + item.timeEntered\n })\n\n // Sort the Orders Ascending (Date)\n filteredTrancheData.sort((a, b) => Sorters.doubleSort('dateEntered', a, b, 'asc', 'externalSourceLastModified'))\n\n const sameData = JSON.parse(JSON.stringify(filteredTrancheData));\n\n // If next order has same date then display only time entry, remove the date.\n filteredTrancheData.forEach((order, index) => {\n if (filteredTrancheData.length > 1) {\n if (index !== filteredTrancheData.length - 1) {\n order = getFilterdData(sameData, filteredTrancheData, index, index + 1);\n } else {\n order = getFilterdData(sameData, filteredTrancheData, index, index - 1);\n }\n orderSummary.push(order);\n }\n else orderSummary.push(order);\n })\n\n const orderIdList = orderSummary.map((item) => {\n return {\n orderId: item.orderId,\n trancheName: item.trancheName,\n }\n });\n\n // Separate all Unique IDs from order list for Table Header Columns\n const amendedOrderIdList = [...new Map(orderIdList.map((item) => [item[\"orderId\"], item])).values()].sort((a, b) => a.trancheName < b.trancheName ? -1 : 1);\n\n orderSummary.forEach((item) => {\n const obj = {}\n amendedOrderIdList.forEach((subItem) => {\n obj[subItem.orderId] = subItem.orderId === item.orderId ? item.orderAmount : null;\n obj['dateEntered'] = item.dateEntered;\n obj['timeEntered'] = item.timeEntered;\n obj['dateTimeInterval'] = item.dateTimeInterval;\n });\n sortedOrderSummary.push(obj)\n });\n\n const updatedOrderSummary = getMappedAmendedOrderList(sortedOrderSummary, amendedOrderIdList)\n\n // Get the Column Count for Each Order\n const trancheOrders = props.trancheNameList.map((order) => {\n return {\n count: getColumnCount(amendedOrderIdList, order.value),\n trancheName: order.value,\n }\n }).sort((a, b) => a.trancheName < b.trancheName ? -1 : 1)\n\n setOrderSummary(updatedOrderSummary)\n setTrancheOrders(trancheOrders)\n setAmendedOrderIdList(amendedOrderIdList)\n }\n\n const getMappedAmendedOrderList = (arr, amendedOrderIdList) => {\n return arr.reduce((acc, val) => {\n const index = acc.findIndex(el => el.dateEntered === val.dateEntered && el.timeEntered === val.timeEntered);\n if (index !== -1) {\n amendedOrderIdList.forEach((id, i) => {\n acc[index][id.orderId] = val[id.orderId] ? val[id.orderId] : acc[index][id.orderId]\n });\n } else {\n acc.push(val);\n };\n return acc;\n }, []);\n }\n\n const getFilterdData = (data, structuredIndividualOrders, index, nextIndex) => {\n if (nextIndex !== 0 && index < nextIndex) {\n if ((structuredIndividualOrders[index].dateEntered === structuredIndividualOrders[nextIndex].dateEntered) &&\n (structuredIndividualOrders[index].dateTimeInterval !== structuredIndividualOrders[nextIndex].dateTimeInterval)) {\n data[nextIndex].dateEntered = \"\";\n data[nextIndex].dateTimeInterval = data[nextIndex].timeEntered;\n }\n }\n return data[index];\n }\n\n const getColumnCount = (orderIdList, trancheName) => {\n return orderIdList.filter((item) => item.trancheName === trancheName).length\n }\n\n const active = { id: props.currentTrancheId }\n const currentTrancheData = props.currentTrancheData;\n\n const isAmendedOrderSummaryEnable = orderSummary && orderSummary.length;\n\n const trancheTitles = props.trancheTitles.map(t => ({\n ...t,\n btnAriaLabel: translationString(\n 'orders.open_tranche__',\n props.language,\n `Open tranche ${t.title} ${t.status || ''}`,\n [\n ['', t.title],\n ['', t.status],\n ]\n )\n }));\n\n return (\n
\n {\n currentTrancheData ? (\n
\n \n <>\n {\n props.loading ? (\n \n \n \n \n \n ):(\n \n \n {\n props.orderData.length && amendedInvestorList.length ?\n \n \n : null\n }\n
\n \n {/* \n {\n isAmendedOrderSummaryEnable ? (\n \n \n Note: Time interval is not to scale.\n \n \n \n ) : (\n \n \n {props.notAvailable}\n \n \n )\n }\n */}\n \n {\n isAmendedOrderSummaryEnable ? (\n \n ) : (\n \n \n {props.notAvailable}\n \n \n )\n }\n \n \n
\n \n
\n )\n }\n \n
\n ) : (\n
\n \n
\n )\n }\n
\n );\n}\n\nconst mapStateToProps = (state) => ({\n currentTrancheData: getCurrentTranche(state),\n trancheTitles: getTrancheTitles(state),\n orderData: state.orderBookData.orderData,\n currentTrancheId: state.orderBookData.currentTrancheId,\n dealId: state.utility.dealsData.dealId,\n dateReceived: state.orderBookData.dateReceived,\n amendedOrderSummaryData: getAmendedOrderSummaryData(state),\n investorNameList: getInvestorNames(state),\n trancheNameList: getTrancheLists(state),\n selectedInvestor: getSelectedInvestor(state),\n selectedTranche: getSelectedTranche(state),\n loading: state.orderBookData.dataFetching,\n});\n\nconst mapDispatchToProps = dispatch => ({\n updateCurrentTranche: (trancheId, loader) => dispatch(updateCurrentTranche(trancheId, 'DCM')),\n});\n\nexport default compose(\n withLanguage,\n connect(mapStateToProps, mapDispatchToProps),\n withAnalytics((ev, view) => ({\n viewChange: () => view(featurePageIds.ORDERBOOK_AMENDED_PAGE),\n })),\n withTranslate((translate, props) => ({\n viewChart: translate('orders.view_chart', 'View Chart'),\n viewTable: translate('orders.view_table', 'View Table'),\n notAvailable: translate('others.content_not_yet_available', 'Content Not Yet Available'),\n investorNameText: translate('orders.investor_name', 'Investor Name'),\n trancheNameText: translate('orders.tranche_name', 'Tranche Name'),\n dateText: translate('orders.date', 'Date'),\n timeEntered: translate('orders.time_entered', 'Time Entered'),\n })),\n)(AmendedOrderSummaryContainer)\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport PopupSystem from \"shared/components/PopupSystem\";\nimport Popup, { Divider } from \"shared/components/Popup\";\nimport { dateFormatter } from \"../../SharedTableComponents/formatters\";\nimport {\n leftAlignedCellStyle,\n rightAlignedCellStyle,\n leftAlignedHeaderStyle,\n} from \"../../shared/table/styles\";\nimport ScrollableTable from \"shared/components/ScrollableTable\";\nimport { ValueFormatters } from \"mk-pattern-library-react\";\nconst ScrollbleContainer = styled.div`\n div:nth-of-type(1)  {\n max-height: 380px;\n }\n`;\n\nconst textStyle = {\n textTransform: 'capitalize'\n}\n\nconst ModalAlignCenter = styled.div`\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n`;\n\nconst ModalContent = styled.div`\n display: flex;\n flex-direction: column;\n padding-top: 20px;\n\n ${Divider} {\n display: block;\n margin: 1rem 0;\n }\n`;\n\nclass BookEvolutionsOrderSummaryDetailView extends Component {\n Columns = (props) => {\n const columns = [\n {\n attrs: {\n role: \"rowheader\",\n },\n dataField: \"orderId\",\n text: props.orderIdText,\n style: leftAlignedCellStyle,\n headerStyle: leftAlignedHeaderStyle,\n columnFlex: 0.6,\n },\n {\n dataField: \"investorLongName\",\n text: props.investorNameText,\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n columnFlex: 1.5,\n },\n {\n dataField: \"orderAmount\",\n text: props.orderAmountText,\n headerStyle: leftAlignedHeaderStyle,\n style: rightAlignedCellStyle,\n columnFlex: 0.75,\n formatter: ValueFormatters.commaDecimalFormatter,\n },\n {\n dataField: \"limitSecurity\",\n text: props.limitSecurityText,\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n columnFlex: 1,\n },\n {\n dataField: \"externalSourceLastModified\",\n text: props.dateText,\n headerClasses: \"\",\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n columnFlex: 0.8,\n formatter: (value) => dateFormatter(\"localTime\", value),\n },\n {\n dataField: \"status\",\n text: props.statusText,\n headerClasses: \"\",\n headerStyle: leftAlignedHeaderStyle,\n style: leftAlignedCellStyle,\n columnFlex: 0.8,\n formatter: (value, data, index) => (\n

{data['status'].toLowerCase()}

\n )\n },\n ];\n\n return columns;\n };\n\n closeModalClick = () => {\n this.props.setIsModalOpen(false);\n };\n\n render() {\n const { isModalOpen, modalSummary } = this.props;\n return (\n \n \n
\n \n \n \n \n \n
\n \n \n }\n />\n );\n }\n}\n\nexport default BookEvolutionsOrderSummaryDetailView;\n","import React, { useState, useEffect } from \"react\";\nimport Table from \"../TableContainer/Table\";\nimport TableHead from \"../TableContainer/TableHead\";\nimport TableBody from \"../TableContainer/TableBody\";\nimport TableRow from \"../TableContainer/TableRow\";\nimport TableHeaderCell from \"../TableContainer/TableHeaderCell\";\nimport TableColumnCell from \"../TableContainer/TableColumnCell\";\nimport { Sorters } from \"mk-pattern-library-react\";\nimport { DEFAULT_ALL_DAY, DEFAULT_ALL } from \"constants/orders\";\nimport { TileContentInner, EmptyContent } from \"Landing/dcm/Tiles/styles.js\";\nimport { Icon } from \"mk-pattern-library-react\";\nimport BookEvolutionsOrderSummaryDetailView from \"./BookEvolutionOrderSummaryDetailView\";\nimport \"mk-pattern-library-react/styles/table-amended-order.scss\";\nimport { dateFormatter } from \"../../SharedTableComponents/formatters\";\nimport styled from 'styled-components';\n\nconst timeIntervalStyle = {\n textAlign: \"center\",\n};\n\nconst timeIntervalStyleHighlighted = {\n textAlign: \"center\",\n backgroundColor: \"yellow\",\n};\n\nconst stageTextStyle = {\n fontSize: \"10px\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n cursor: \"pointer\",\n};\n\nconst iconStyle = {\n fontSize: 6,\n color: \"#ff0000\",\n marginRight: \"3px\",\n};\n\nconst NoWrapRow = styled.div`\n width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n padding:3px;\n`\n\nexport const pickCaret = (direction, activeSort) => {\n const caretColor = activeSort ? \"#4D6474\" : \"#c0c0c0\";\n if (direction === \"asc\") {\n return (\n \n );\n } else if (direction === \"desc\") {\n return (\n \n );\n } else {\n return \"\";\n }\n};\nconst AmendedOrderInvestorTable = ({\n amendedOrderByInvestorSummaryData,\n investorNameText,\n firstOrderText,\n lastOrderText,\n allocationAmountText,\n lastMinusPeakText,\n peakOrderText,\n timeIntervalText,\n statusText,\n dateText,\n limitSecurityText,\n orderAmountText,\n orderIdText,\n selectedTimeRange,\n selectedDate,\n intervals,\n showFilterForAmendedOrderbyinvestor,\n orderDetails,\n isShowStagesChecked,\n stages,\n getDateSummary\n}) => {\n const [timeIntervals, setTimeIntervals] = useState([]);\n const [tableArray, setTableArray] = useState([]);\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [modalData, setModalData] = useState([]);\n const [intervalStagesObject, setIntervalStagesObject] = useState({});\n\n const TableHeaderslist = [\n {\n labelText: investorNameText,\n columnProperty: \"investorLongName\",\n dataType: \"string\",\n },\n {\n labelText: `${orderIdText}`,\n columnProperty: \"orderId\",\n dataType: \"int\",\n },\n {\n labelText: `${firstOrderText}`,\n columnProperty: \"firstOrderAmount\",\n dataType: \"int\",\n },\n {\n labelText: `${lastOrderText}`,\n columnProperty: \"lastOrderAmount\",\n dataType: \"int\",\n },\n {\n labelText: `${peakOrderText}`,\n columnProperty: \"peakOrderAmount\",\n dataType: \"int\",\n },\n {\n labelText: `${lastMinusPeakText}`,\n columnProperty: \"lastMinusPeak\",\n dataType: \"int\",\n },\n {\n labelText: `${allocationAmountText}`,\n columnProperty: \"allocationAmount\",\n dataType: \"int\",\n },\n ];\n\n const [sortObject, setSortObject] = useState({\n sortOrder: \"asc\",\n sortColumn: TableHeaderslist[0].columnProperty,\n dataType: TableHeaderslist[0].dataType,\n });\n\n const formatTooltipHoverText = (array) => {\n let text = \"\";\n if (array && array.length) {\n array.forEach((element) => {\n text = text + \"\\n\" + element;\n });\n }\n return text;\n };\n\n const convertIntToDecimal = (amount) => {\n if (amount || amount === 0) {\n return Number.parseFloat(amount).toFixed(2);\n } else {\n return amount;\n }\n };\n\n const checkIfOrderExists = (orderId, ordersArray, element) => {\n let isExists = false;\n let modifiedArray = ordersArray.map((order) => {\n if (order.orderId === orderId) {\n isExists = true;\n order.amounts = {\n ...order.amounts,\n [element.timeInterval]: convertIntToDecimal(element.orderAmount),\n };\n }\n return order;\n });\n return {\n modifiedArray: modifiedArray,\n isExists: isExists,\n };\n };\n\n const formatDataForAmendOrderinvestorTable = (arrayToProcess) => {\n const sortedArray = arrayToProcess.sort((a, b) =>\n Sorters.doubleSort(\"timeInterval\", a, b, \"asc\", \"investorLongName\")\n );\n\n let arrayToReturn = [];\n sortedArray.forEach((element) => {\n orderDetails.forEach((orderDetail) => {\n if (orderDetail.orderId === element.orderId) {\n let orderResponse = checkIfOrderExists(\n orderDetail.orderId,\n arrayToReturn,\n element\n );\n if (!orderResponse.isExists) {\n arrayToReturn.push({\n ...element,\n ...orderDetail,\n amounts: {\n [element.timeInterval]: convertIntToDecimal(\n element.orderAmount\n ),\n },\n firstOrderAmount: convertIntToDecimal(\n orderDetail.firstOrderAmount\n ),\n lastOrderAmount: convertIntToDecimal(orderDetail.lastOrderAmount),\n allocationAmount: convertIntToDecimal(\n orderDetail.allocationAmount / 1000000\n ),\n peakOrderAmount: convertIntToDecimal(orderDetail.peakOrderAmount),\n lastMinusPeak: convertIntToDecimal(\n orderDetail.lastOrderAmount - orderDetail.peakOrderAmount\n ),\n });\n } else {\n arrayToReturn = orderResponse.modifiedArray;\n }\n }\n });\n });\n\n sortArrayBasedOnProperty(\n arrayToReturn,\n sortObject.sortColumn,\n sortObject.dataType,\n sortObject.sortOrder\n );\n };\n\n const comparisonFunction = (a, b, fieldToSort, dataType, orderofSort) => {\n let comparison = 0;\n let value1 = a[fieldToSort];\n let value2 = b[fieldToSort];\n if (dataType === \"string\") {\n value1 = value1.trim().toUpperCase();\n value2 = value2.trim().toUpperCase();\n if (value1 > value2) {\n comparison = orderofSort === \"asc\" ? 1 : -1;\n } else if (value1 < value2) {\n comparison = orderofSort === \"asc\" ? -1 : 1;\n }\n } else {\n comparison = orderofSort === \"asc\" ? value1 - value2 : value2 - value1;\n }\n return comparison;\n };\n\n const sortArrayBasedOnProperty = (\n arrayToSort,\n fieldToSort,\n dataType,\n sortOrder\n ) => {\n setTableArray(\n arrayToSort.sort((a, b) =>\n comparisonFunction(a, b, fieldToSort, dataType, sortOrder)\n )\n );\n };\n\n const filterTimeIntervals = (\n timeIntervals,\n selectedTimeRangeInFilter,\n stages\n ) => {\n let timeRangeSelected = !selectedTimeRangeInFilter.value.includes(\n DEFAULT_ALL_DAY.value\n );\n\n let intervalsArray = [];\n if (timeRangeSelected) {\n let from = selectedTimeRangeInFilter.value.split(\" \")[0];\n let to = selectedTimeRangeInFilter.value.split(\" \")[2];\n\n intervalsArray = timeIntervals.filter((timeInterval) =>\n istimeInRange(from, to, timeInterval)\n );\n } else {\n intervalsArray = timeIntervals;\n }\n const intervalStagesObject = {};\n intervalsArray = intervalsArray.map((interval) => {\n let timeIntervalObject = {};\n\n stages.forEach((stage) => {\n if (interval === stage.timeInterval) {\n let formattedDate = dateFormatter(\"localDate\", stage.stageDate);\n if (\n intervalStagesObject[interval] &&\n intervalStagesObject[interval][formattedDate]\n ) {\n intervalStagesObject[interval] = {\n ...intervalStagesObject[interval],\n [formattedDate]: [\n ...intervalStagesObject[interval][formattedDate],\n `${stage.stageShortname} - ${stage.stageName} - [${formattedDate}] [${stage.stageTime}]`,\n ],\n };\n } else {\n intervalStagesObject[interval] = {\n ...intervalStagesObject[interval],\n [formattedDate]: [\n `${stage.stageShortname} - ${stage.stageName} - [${formattedDate}] [${stage.stageTime}]`,\n ],\n };\n }\n timeIntervalObject = {\n text: interval,\n ...stage,\n };\n } else {\n timeIntervalObject = { ...timeIntervalObject, text: interval };\n }\n });\n return timeIntervalObject;\n });\n setIntervalStagesObject(intervalStagesObject);\n setTimeIntervals(intervalsArray);\n };\n\n useEffect(() => {\n showFilterForAmendedOrderbyinvestor(true);\n formatDataForAmendOrderinvestorTable(amendedOrderByInvestorSummaryData);\n }, [amendedOrderByInvestorSummaryData]);\n\n useEffect(() => {\n filterTimeIntervals(intervals, selectedTimeRange, stages);\n }, [selectedTimeRange, stages]);\n\n const formatDataForModal = (arrayToProcess, orderId, timeInterval) => {\n const sortedArray = arrayToProcess.sort((a, b) =>\n Sorters.doubleSort(\"timeInterval\", a, b, \"asc\", \"investorLongName\")\n );\n let arrayToReturn = sortedArray.filter((element) => {\n return (\n orderId === element.orderId && timeInterval === element.timeInterval\n );\n });\n return arrayToReturn;\n };\n\n const istimeInRange = (from, to, time) => {\n let isInRange = false;\n let fromHour = parseInt(from.split(\":\")[0]);\n let fromMin = parseInt(from.split(\":\")[1]);\n let toHour = parseInt(to.split(\":\")[0]);\n let toMin = parseInt(to.split(\":\")[1]);\n let elementHour = parseInt(time.split(\":\")[0]);\n let elementMin = parseInt(time.split(\":\")[1]);\n\n if (elementHour > fromHour) {\n if (elementHour < toHour) {\n isInRange = true;\n } else {\n if (elementHour === toHour) {\n if (elementMin <= toMin) {\n isInRange = true;\n } else {\n isInRange = false;\n }\n }\n }\n } else {\n if (elementHour === fromHour) {\n if (elementMin >= fromMin || elementMin === toMin) {\n isInRange = true;\n } else {\n isInRange = false;\n }\n }\n }\n return isInRange;\n };\n\n return (\n <>\n \n {!amendedOrderByInvestorSummaryData ||\n !amendedOrderByInvestorSummaryData.length ? (\n \n No Data Available\n \n ) : (\n
\n \n \n \n {TableHeaderslist.map((tableHeaderObject, index) => {\n return (\n {\n let sortOrder =\n sortObject.sortColumn ===\n tableHeaderObject.columnProperty &&\n sortObject.sortOrder === \"asc\"\n ? \"desc\"\n : \"asc\";\n setSortObject({\n sortOrder,\n sortColumn: tableHeaderObject.columnProperty,\n dataType: tableHeaderObject.dataType,\n });\n sortArrayBasedOnProperty(\n tableArray,\n tableHeaderObject.columnProperty,\n tableHeaderObject.dataType,\n sortOrder\n );\n }}\n >\n {tableHeaderObject.labelText}\n
\n {index > 1 ? (\n <>\n (m)\n
\n \n ) : null}\n\n
\n {pickCaret(\n sortObject.sortColumn ===\n tableHeaderObject.columnProperty\n ? sortObject.sortOrder\n : \"asc\",\n sortObject.sortColumn ===\n tableHeaderObject.columnProperty\n )}\n
\n \n );\n })}\n \n Order by {timeIntervalText} (m)\n \n
\n\n \n {timeIntervals.map((interval, index) => {\n let selectedDateToFilter =\n selectedDate.value === DEFAULT_ALL.value\n ? getDateSummary[0].value\n : selectedDate.value;\n\n let stageExistingForDateAndTime = intervalStagesObject[\n interval.text\n ]\n ? intervalStagesObject[interval.text][selectedDateToFilter]\n : \"\";\n\n return (\n \n {interval.text && interval.text.slice(0, -3) === \"23:59\"\n ? \"00:00\"\n : interval.text\n ? interval.text.slice(0, -3)\n : \"\"}\n
\n {isShowStagesChecked &&\n interval.stageName &&\n stageExistingForDateAndTime ? (\n

\n \n {stageExistingForDateAndTime &&\n stageExistingForDateAndTime.length > 1\n ? `${stageExistingForDateAndTime.length} stages`\n : null}\n {stageExistingForDateAndTime &&\n stageExistingForDateAndTime.length === 1\n ? stageExistingForDateAndTime[0].split(\"-\")[0]\n : null}\n

\n ) : null}\n
\n \n );\n })}\n
\n
\n \n {tableArray.map((order, index) => {\n const {\n firstOrderAmount,\n lastOrderAmount,\n lastMinusPeak,\n peakOrderAmount,\n investorLongName,\n orderId,\n allocationAmount,\n amounts,\n } = order;\n\n return (\n \n {investorLongName || \"\"}\n {orderId || \"\"}\n {firstOrderAmount}\n {lastOrderAmount}\n\n {peakOrderAmount}\n 0 ? \"green\" : \"red\" }\n }\n >\n {lastMinusPeak}\n \n {allocationAmount}\n {timeIntervals.length &&\n timeIntervals.map((timeInterval) => {\n let selectedDateToFilter =\n selectedDate.value === DEFAULT_ALL.value\n ? getDateSummary[0].value\n : selectedDate.value;\n let stageExistingForDateAndTime = intervalStagesObject[\n timeInterval.text\n ]\n ? intervalStagesObject[timeInterval.text][\n selectedDateToFilter\n ]\n : \"\";\n return (\n {\n if (amounts[timeInterval.text]) {\n setModalData(\n formatDataForModal(\n amendedOrderByInvestorSummaryData,\n orderId,\n timeInterval.text\n ) || [\"\"]\n );\n setIsModalOpen(true);\n }\n }}\n style={\n timeInterval.stageName &&\n stageExistingForDateAndTime &&\n isShowStagesChecked\n ? timeIntervalStyleHighlighted\n : timeIntervalStyle\n }\n >\n \n {amounts[timeInterval.text] || \"\"}\n

\n \n );\n })}\n
\n );\n })}\n
\n
\n
\n )}\n \n );\n};\n\nexport default AmendedOrderInvestorTable;\n","import React, { } from \"react\";\nimport styled from \"styled-components\";\nimport { SvgIcon } from \"shared/components/Icon\";\nimport {\n STATIC_MINUTES,\n DEFAULT_TIME_INTERVAL,\n} from \"constants/orders\";\nimport TextField from \"@mui/material/TextField\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport { IconButton } from \"@mui/material\";\nimport { Icon } from \"mk-pattern-library-react\";\nimport Popup from \"shared/components/Popup\";\nimport PopupSystem from \"shared/components/PopupSystem\";\nimport { typography } from \"shared/styles/variables/theme\";\n\nconst styles = {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n};\n\nconst trancheContainerStyles = {\n ...styles,\n flexDirection: \"column\",\n alignItems: \"start\",\n};\n\nconst TranchesDropDownContainer = styled.div`\n ${trancheContainerStyles},\n span {\n margin: 0 0 10px;\n }\n`;\n\nconst closeIconStyle = {\n right: \"15px\",\n top: \"15px\",\n cursor: \"pointer\",\n};\n\nconst arrowDropdownIconStyle = {\n transform: \"rotate(90deg)\",\n marginTop: \"2px\",\n width: \"18px\",\n height: \"18px\",\n};\n\nfunction SpecificTimePopup({\n isModalOpen,\n setIsModalOpen,\n hour,\n min,\n setHour,\n setMin,\n onDropdownChange,\n selectedTranche,\n selectedInvestorType,\n selectedDate,\n}) {\n const isValidHour = (hourValue) => {\n return hourValue && hourValue < 24 && hourValue >= 0;\n };\n\n const disabledStyle = () => {\n if (!isValidHour(hour)) {\n return {\n pointerEvents: \"none\",\n color: \"#ccc\",\n };\n } else {\n return {};\n }\n };\n return (\n
\n {\" \"}\n setIsModalOpen(false)}\n clickableElement={null}\n content={\n {\n let hourToDisplay = hour.length === 1 ? `0${hour}` : hour;\n let minToDisplay =\n min.value.length === 1 ? `0${min.value}` : min.value;\n onDropdownChange(\n undefined,\n selectedTranche,\n selectedDate,\n DEFAULT_TIME_INTERVAL,\n {\n key: 1,\n value: `${hour}:${min.value} to 23:59`,\n label: `${hourToDisplay}:${minToDisplay} to 00:00`,\n disableTimeInterval: true,\n },\n selectedInvestorType,\n false\n );\n setIsModalOpen(false);\n }}\n secondaryButtonKey=\"login_screen.ok\"\n >\n {\n setIsModalOpen(false);\n }}\n sx={{\n position: \"absolute\",\n right: 8,\n top: 8,\n }}\n >\n \n \n

Hour :

\n setHour(e.target.value)}\n />\n \n \n {\"Minute\"}:\n \n \n }\n value={min.value}\n onChange={(e, value) => setMin(value)}\n renderInput={(params) => (\n \n )}\n isOptionEqualToValue={(option, value) => option.value === value}\n />\n \n \n }\n />\n
\n );\n}\n\nexport default SpecificTimePopup;\n","import React, { useState, useEffect } from \"react\";\nimport { isEqual } from \"lodash\";\nimport { compose } from \"recompose\";\nimport { connect } from \"react-redux\";\nimport TextField from \"@mui/material/TextField\";\nimport { IconButton } from \"@mui/material\";\nimport { Icon } from \"mk-pattern-library-react\";\nimport Table from \"../TableContainer/Table\";\nimport TableHead from \"../TableContainer/TableHead\";\nimport TableBody from \"../TableContainer/TableBody\";\nimport TableRow from \"../TableContainer/TableRow\";\nimport TableHeaderCell from \"../TableContainer/TableHeaderCell\";\nimport TableColumnCell from \"../TableContainer/TableColumnCell\";\nimport Popup from \"shared/components/Popup\";\nimport PopupSystem from \"shared/components/PopupSystem\";\nimport { typography } from \"shared/styles/variables/theme\";\nimport { SvgIcon } from \"shared/components/Icon\";\nimport flexbox from \"shared/styles/mixins/flexbox\";\nimport styled from \"styled-components\";\nimport { updateStages } from \"actions/OrderBookActions\";\nimport { getStages } from \"selectors\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport { dateFormatter } from \"../../SharedTableComponents/formatters\";\n\nconst IconContainer = styled.div`\n ${flexbox(\"row\", \"center\", \"flex-start\")}\n cursor: pointer;\n`;\n\nconst closeIconStyle = {\n right: \"15px\",\n top: \"15px\",\n cursor: \"pointer\",\n};\n\nconst trancheContainerStyles = {\n display: \"flex\",\n justifyContent: \"space-between\",\n flexDirection: \"column\",\n alignItems: \"start\",\n};\n\nconst arrowDropdownIconStyle = {\n transform: \"rotate(90deg)\",\n marginTop: \"2px\",\n width: \"18px\",\n height: \"18px\",\n};\nconst TranchesDropDownContainer = styled.div`\n ${trancheContainerStyles},\n`;\nconst useStateWithCallback = (initialValue) => {\n const [value, setValue] = useState(initialValue);\n\n const setValueAndCallback = (newValue, callback) => {\n setValue((prevValue) => {\n if (callback) {\n callback(prevValue, newValue);\n }\n return newValue;\n });\n };\n\n return [value, setValueAndCallback];\n};\nfunction SetStagesPopup({\n isModalOpen,\n setIsModalOpen,\n updateStages,\n stages,\n dealId,\n allDatesList,\n}) {\n const [arrayOfStages, setArrayOfStages] = useStateWithCallback([]);\n const [dataNotLoaded, setDataNotLoaded] = useState(true);\n\n useEffect(() => {\n setArrayOfStages([...stages], () => {\n if (isModalOpen) setDataNotLoaded(false);\n });\n }, [stages]);\n\n const checkIfDateSelected = (index) => {\n if (arrayOfStages[index].stageDate) {\n return true;\n }\n return false;\n };\n\n const isValidHour = (hourValueString) => {\n const hourValue = hourValueString\n ? parseInt(hourValueString)\n : hourValueString;\n return hourValue === \"\" || (hourValue < 24 && hourValue >= 0);\n };\n\n const isStagesDataChanged = (initialStageData, newStageData) => {\n return !isEqual(initialStageData, newStageData);\n };\n const isValidMinute = (minValueString) => {\n const minValue = minValueString ? parseInt(minValueString) : minValueString;\n return minValue === \"\" || (minValue < 60 && minValue >= 0);\n };\n\n const handleChange = (event, index, clearTimeValue, dateDropdownvalue) => {\n const tempArrayOfStages = [...arrayOfStages];\n let objectToSet = { ...tempArrayOfStages[index] };\n let stageTimeToSet = objectToSet.stageTime;\n let stageDateToSet = objectToSet.stageDate;\n if (clearTimeValue) {\n objectToSet = { ...objectToSet, stageTime: \"\", stageDate: null };\n } else {\n let value =\n !event.target.value || event.target.value === \"0\"\n ? \"00\"\n : parseInt(event.target.value) !== 0 &&\n parseInt(event.target.value) < 10\n ? `0${event.target.value}`\n : parseInt(event.target.value);\n value = parseInt(value) > 9 ? parseInt(value) : `0${parseInt(value)}`;\n if (event.target.name === \"hour\") {\n if (!stageTimeToSet.length) {\n stageTimeToSet = `${value}:00`;\n } else {\n let hh = value;\n let mm = stageTimeToSet.split(\":\")[1];\n stageTimeToSet = `${hh}:${mm}`;\n }\n } else if (event.target.name === \"min\") {\n if (!stageTimeToSet.length) {\n stageTimeToSet = `00:${value}`;\n } else {\n let hh = stageTimeToSet.split(\":\")[0];\n let mm = value;\n stageTimeToSet = `${hh}:${mm}`;\n }\n } else {\n stageTimeToSet = stageTimeToSet ? stageTimeToSet : `00:00`;\n stageDateToSet = dateDropdownvalue;\n }\n objectToSet = {\n ...objectToSet,\n stageTime: stageTimeToSet,\n stageDate: stageDateToSet,\n };\n }\n tempArrayOfStages[index] = { ...objectToSet };\n let hour = stageTimeToSet ? stageTimeToSet.split(\":\")[0] : stageTimeToSet;\n let min = stageTimeToSet ? stageTimeToSet.split(\":\")[1] : stageTimeToSet;\n if (isValidMinute(min) && isValidHour(hour)) {\n setArrayOfStages([...tempArrayOfStages]);\n }\n };\n\n const disabledStyle = () => {\n if (!isStagesDataChanged(stages, arrayOfStages)) {\n return {\n pointerEvents: \"none\",\n color: \"#ccc\",\n };\n } else {\n return {};\n }\n };\n\n return (\n
\n {\n setIsModalOpen(false);\n setDataNotLoaded(true);\n }}\n clickableElement={null}\n content={\n {\n updateStages(dealId, arrayOfStages);\n setIsModalOpen(false);\n setDataNotLoaded(true);\n }}\n secondaryButtonKey=\"orders.save\"\n >\n {\n if (isStagesDataChanged(stages, arrayOfStages)) {\n if (\n window.confirm(\n \"Changes not saved . Are you sure you want to discard changes ?\"\n )\n ) {\n setArrayOfStages([...stages]);\n setIsModalOpen(false);\n setDataNotLoaded(true);\n }\n } else {\n setIsModalOpen(false);\n }\n }}\n sx={{\n position: \"absolute\",\n right: 8,\n top: 8,\n }}\n >\n \n \n

Set Stages

\n\n
\n \n \n \n Stages\n\n Date\n \n Event Time ( hh : mm ) ( GMT )\n \n \n \n \n \n {arrayOfStages.map((stage, index) => {\n let hour = stage.stageTime\n ? stage.stageTime.split(\":\")[0]\n : \"\";\n let min = stage.stageTime\n ? stage.stageTime.split(\":\")[1]\n : \"\";\n return (\n \n {`${stage.stageName} (${stage.stageShortname})`}\n \n \n \n }\n value={\n stage.stageDate\n ? dateFormatter(\"localDate\", stage.stageDate)\n : stage.stageDate\n }\n onChange={(e, value) =>\n handleChange(e, index, false, value.value)\n }\n size=\"small\"\n renderInput={(params) => (\n \n )}\n isOptionEqualToValue={(option, value) =>\n option.value === value\n }\n />\n \n \n \n handleChange(e, index)}\n disabled={\n dataNotLoaded || !checkIfDateSelected(index)\n }\n />\n handleChange(e, index)}\n disabled={\n dataNotLoaded || !checkIfDateSelected(index)\n }\n />\n \n \n {stage.stageTime &&\n stage.stageTime.length &&\n !dataNotLoaded && (\n {\n handleChange(e, index, true);\n }}\n >\n \n \n )}\n \n \n );\n })}\n \n \n
\n \n }\n />\n
\n );\n}\n\nconst mapStateToProps = (state) => ({\n stages: getStages(state),\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n updateStages: (dealId, data) => dispatch(updateStages(dealId, data)),\n});\n\nexport default compose(connect(mapStateToProps, mapDispatchToProps))(\n SetStagesPopup\n);\n","import React, { useEffect, useState } from \"react\";\nimport { compose } from \"recompose\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components\";\nimport { SvgIcon } from \"shared/components/Icon\";\nimport {\n selectAmendedOrderByInvestorDropDown,\n filterBookEvolutionSummaryForAmendedOrderByInvestor,\n requestStages,\n setIsSetStagesModalOpen\n} from \"actions/OrderBookActions\";\nimport {\n TIME_INTERVALS,\n DEFAULT_ALL,\n TIME_RANGES,\n STATIC_MINUTES,\n DEFAULT_MIN,\n DEFAULT_TIME_INTERVAL,\n} from \"constants/orders\";\nimport {\n getSelectedInvestorType,\n getSelectedTranche,\n getSelectedInterval,\n getSelectedDate,\n getSelectedTimeRange,\n getIsSetStagesModalOpen\n} from \"selectors\";\nimport TextField from \"@mui/material/TextField\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport { Checkbox, HsbcButton } from \"mk-pattern-library-react\";\nimport SpecificTimePopup from \"./SpecificTimePopup\";\nimport SetStagesPopup from \"./SetStagesPopup\";\nimport { dateFormatter } from \"../../SharedTableComponents/formatters\";\n\nconst styles = {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n};\nconst trancheContainerStyles = {\n ...styles,\n flexDirection: \"column\",\n alignItems: \"start\",\n};\n\nconst DropDownContainer = styled.div`\n ${styles}\n justify-content: space-between;\n`;\n\nconst TranchesDropDownContainer = styled.div`\n ${trancheContainerStyles},\n span {\n margin: 0 0 10px;\n }\n`;\n\nconst arrowDropdownIconStyle = {\n transform: \"rotate(90deg)\",\n marginTop: \"2px\",\n width: \"18px\",\n height: \"18px\",\n};\n\nconst AmendedOrderDropdownFiltersList = ({\n dealId,\n selectedInvestorType,\n selectedTimeRange,\n selectedTranche,\n selectedInterval,\n selectedDate,\n investorTypeText,\n trancheNameText,\n timeIntervalText,\n allTranchelists,\n getDateSummary,\n dateText,\n isAmenededOrderSummary,\n orginalOrderbookData,\n selectAmendedOrderByInvestorDropDown,\n filterBookEvolutionSummaryForAmendedOrderByInvestor,\n isShowStagesChecked,\n setIsShowStagesChecked,\n requestStages,\n isSetStagesModalOpen,\n setIsSetStagesModalOpen\n}) => {\n const [investorTypeList, setInvestorTypeList] = useState([]);\n const [datesList, setDatesList] = useState([]);\n const [isFromSpecificTimeModalOpen, setIsFromSpecificTimeModalOpen] =\n useState(false);\n const [hour, setHour] = useState(\"00\");\n const [min, setMin] = useState(DEFAULT_MIN);\n\n useEffect(() => {\n if (orginalOrderbookData && orginalOrderbookData.length) {\n let datesArray = [];\n const getInvestorTypes = orginalOrderbookData.map((order) => {\n datesArray.push({\n label: dateFormatter(\"localDate\", order.dateEntered),\n value: dateFormatter(\"localDate\", order.dateEntered),\n });\n return {\n label: order.investorType,\n value: order.investorType,\n };\n });\n\n const uniqueInvestorTypes = getInvestorTypes\n .filter(\n (elem, index) =>\n getInvestorTypes.findIndex((obj) => obj.value === elem.value) ===\n index\n )\n .sort((a, b) => (a.value.trim() < b.value.trim() ? -1 : 1));\n const uniqueDates = datesArray.filter(\n (elem, index) =>\n datesArray.findIndex((obj) => obj.value === elem.value) === index\n );\n\n uniqueInvestorTypes.unshift(DEFAULT_ALL);\n setInvestorTypeList(uniqueInvestorTypes);\n setDatesList(uniqueDates);\n }\n }, []);\n\n const onDropdownChange = (\n e,\n trancheName,\n date,\n interval,\n timeRange,\n investorType,\n applyLocalFilter\n ) => {\n if (\n selectedTranche.value !== trancheName.value ||\n selectedInterval.value !== interval.value ||\n selectedDate.value !== date.value ||\n selectedTimeRange.value !== timeRange.value ||\n selectedInvestorType.value !== investorType.value\n ) {\n selectAmendedOrderByInvestorDropDown(\n trancheName,\n date,\n interval,\n timeRange,\n investorType\n );\n if (!applyLocalFilter) {\n filterBookEvolutionSummaryForAmendedOrderByInvestor(\n dealId,\n interval.key,\n 0,\n trancheName.key,\n true\n );\n }\n }\n };\n\n const initialSelectedTranche =\n selectedTranche.value === DEFAULT_ALL.value\n ? allTranchelists[0]\n : selectedTranche;\n const initialSelectedDate =\n selectedDate.value === DEFAULT_ALL.value ? getDateSummary[0] : selectedDate;\n\n return (\n
\n \n \n {trancheNameText}:\n \n }\n value={\n initialSelectedTranche.value.length > 17\n ? initialSelectedTranche.value.slice(0, 16) + \"...\"\n : initialSelectedTranche.value\n }\n onChange={(e, value) => {\n onDropdownChange(\n e,\n value ? value : selectedTranche,\n DEFAULT_ALL,\n selectedInterval,\n selectedTimeRange,\n DEFAULT_ALL,\n false\n );\n }}\n renderInput={(params) => (\n \n )}\n isOptionEqualToValue={(option, value) => option.value === value}\n />\n {\n setIsShowStagesChecked(!isShowStagesChecked);\n onDropdownChange(\n undefined,\n selectedTranche,\n selectedDate,\n DEFAULT_TIME_INTERVAL,\n selectedTimeRange,\n selectedInvestorType,\n false\n );\n }}\n checked={isShowStagesChecked}\n />\n \n \n {investorTypeText}:\n \n }\n value={selectedInvestorType.value || investorTypeList[0]}\n onChange={(e, value) =>\n onDropdownChange(\n e,\n initialSelectedTranche,\n initialSelectedDate,\n selectedInterval,\n selectedTimeRange,\n value ? value : selectedInvestorType,\n true\n )\n }\n isOptionEqualToValue={(option, value) => option.value === value}\n renderInput={(params) => (\n \n )}\n />\n {\n requestStages(dealId);\n setIsSetStagesModalOpen(true);\n }}\n className=\"btn-default btn-action btn-action-type text-action btn-margin-top\"\n size=\"normal\"\n >\n Set Stages\n \n \n {!isAmenededOrderSummary && (\n <>\n \n {dateText} :\n \n }\n value={initialSelectedDate.value}\n onChange={(e, value) =>\n onDropdownChange(\n e,\n initialSelectedTranche,\n value ? value : selectedDate,\n selectedInterval,\n selectedTimeRange,\n selectedInvestorType,\n true\n )\n }\n renderInput={(params) => (\n \n )}\n isOptionEqualToValue={(option, value) => option.value === value}\n />\n \n\n \n {timeIntervalText}:\n \n }\n value={selectedInterval.value}\n onChange={(e, value) =>\n onDropdownChange(\n e,\n initialSelectedTranche,\n initialSelectedDate,\n value ? value : selectedInterval,\n selectedTimeRange,\n selectedInvestorType,\n false\n )\n }\n renderInput={(params) => (\n \n )}\n isOptionEqualToValue={(option, value) => option.value === value}\n />\n \n\n \n {\"Time Range (GMT)\"}:\n \n }\n value={selectedTimeRange.label || TIME_RANGES[0].label}\n onChange={(e, value) => {\n if (value.value.includes(\"From\")) {\n setIsFromSpecificTimeModalOpen(true);\n if (selectedTimeRange.disableTimeInterval) {\n setHour(\n selectedTimeRange.value.split(\" \")[0].split(\":\")[0]\n );\n let minToSet = STATIC_MINUTES.find(\n (element) =>\n element.value ===\n selectedTimeRange.value.split(\" \")[0].split(\":\")[1]\n );\n setMin(minToSet);\n }\n } else {\n setMin(DEFAULT_MIN);\n setHour(\"00\");\n onDropdownChange(\n e,\n selectedTranche,\n selectedDate,\n selectedInterval,\n value ? value : selectedTimeRange,\n selectedInvestorType,\n true\n );\n }\n }}\n renderInput={(params) => (\n \n )}\n isOptionEqualToValue={(option, value) => option.value === value}\n />\n \n \n )}\n \n \n \n
\n );\n};\n\nconst mapStateToProps = (state) => ({\n selectedInvestorType: getSelectedInvestorType(state),\n selectedTimeRange: getSelectedTimeRange(state),\n selectedTranche: getSelectedTranche(state),\n selectedInterval: getSelectedInterval(state),\n selectedDate: getSelectedDate(state),\n isSetStagesModalOpen: getIsSetStagesModalOpen(state)\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n filterBookEvolutionSummaryForAmendedOrderByInvestor: (dealId, interval, investorId, trancheName, isFilter) => dispatch(filterBookEvolutionSummaryForAmendedOrderByInvestor(dealId, interval, investorId, trancheName, isFilter)),\n selectAmendedOrderByInvestorDropDown: (selectedTranche, selectedDate, selectedInterval, selectedTimeRange, selectedInvestorType) => dispatch(selectAmendedOrderByInvestorDropDown(selectedTranche, selectedDate, selectedInterval, selectedTimeRange, selectedInvestorType)),\n requestStages: (dealId) => dispatch(requestStages(dealId)),\n setIsSetStagesModalOpen: (isModalOpen) => dispatch(setIsSetStagesModalOpen(isModalOpen))\n});\n\nexport default compose(connect(mapStateToProps, mapDispatchToProps))(\n AmendedOrderDropdownFiltersList\n);\n","import React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Row, Col } from \"react-bootstrap\";\nimport _ from \"lodash\";\nimport { compose } from \"recompose\";\nimport styled from \"styled-components\";\n\nimport * as modalIds from \"constants/modalIds\";\nimport { ALL_INVESTORS, ALL_TRANCHES, DEFAULT_TIME_INTERVAL, DEFAULT_ALL } from \"constants/orders\";\nimport {\n updateCurrentTranche,\n openOrderSummaryDetailView,\n resetOrderBookDropDowns,\n filterBookEvolutionSummary,\n filterBookEvolutionSummaryForAmendedOrderByInvestor,\n requestStages,\n} from \"actions/OrderBookActions\";\nimport {\n getTrancheTitles,\n getCurrentTranche,\n getBookEvolutionData,\n getBookEvolutionDataForAmendedOrderByInvestor,\n getSelectedDate,\n getTrancheLists,\n getAmendedOrderSummaryData,\n getInvestorNames,\n getSelectedInvestor,\n getSelectedInvestorType,\n getSelectedTimeRange,\n getSelectedTranche,\n getStages\n} from \"selectors\";\n\nimport TranslationText, {\n translationString,\n} from \"translations/TranslationText\";\nimport withLanguage from \"translations/withLanguage\";\nimport withTranslate from \"shared/hoc/withTranslate\";\n\nimport OrderbookHeader from \"../../shared/summary/OrderbookHeader\";\n// analytics\nimport { featurePageIds } from \"constants/featurePages\";\nimport withAnalytics from \"shared/hoc/withAnalytics\";\n\n// tabs\nimport { tabIds, allTranchesBookEvolutionSubTabs } from \"constants/tabIds\";\nimport HorizontalTab from \"shared/accessibility/components/HorizontalTabs/HorizontalTab\";\nimport HorizontalTabs from \"shared/accessibility/components/HorizontalTabs\";\n\nimport OrderSummaryDetailView from \"../OrderSummary/OrderSummaryDetailView\";\nimport OrderSummaryTable from \"../OrderSummary/OrderSummaryTable\";\nimport AmendedOrderInvestorTable from \"../BookEvolution/AmendedOrderInvestorTable\";\nimport OrderSummaryDropdownList from \"../OrderSummary/OrderSummaryDropdownList\";\nimport { TileContentInner, EmptyContent } from \"Landing/dcm/Tiles/styles.js\";\nimport OrderSummaryLineChart from \"../OrderSummary/OrderSummaryLineChart\";\nimport { dateFormatter } from \"../../SharedTableComponents/formatters\";\nimport Loading from \"shared/components/Loading\";\nimport { Sorters } from \"mk-pattern-library-react\";\nimport AmendedOrderDropdownFiltersList from \"./AmendedOrderDropdownFiltersList\";\n\nimport Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport AppBar from '@mui/material/AppBar';\nimport Toolbar from '@mui/material/Toolbar';\nimport IconButton from '@mui/material/IconButton';\nimport Typography from '@mui/material/Typography';\nimport CloseIcon from '@mui/icons-material/Cancel';\nimport Slide from '@mui/material/Slide';\nimport { DialogContent } from \"@material-ui/core\";\nimport FullScreenIcon from '@mui/icons-material/FitScreen';\nimport FullScreenTip from '@mui/material/Tooltip';\nimport { Box } from \"@mui/system\";\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\nconst ButtonRight = styled.div`\nfloat: right;\n`;\n\nconst LoadingContainer = styled.div`\n width: 100%;\n height: calc(100vh - 280px);\n position: relative;\n`;\n\nconst LoadingWrapper = styled.div`\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n`;\n\nconst DropDownPicker = styled.div`\n margin: 0px 0px 30px 0px;\n`;\n\nconst CumulativeTextWrapper = styled.div`\n position: absolute;\n top: 10px;\n color: #000;\n right: 10px;\n font-weight: 600;\n`;\n\nconst NoteTextWrapper = styled.div`\n color: #000;\n right: 10px;\n font-weight: 600;\n margin-top: 15px;\n`;\nconst BookEvolutionContainer = (props) => {\n const [amendedOrderSummaryData, setAmendedOrderSummaryData] = useState([]);\n const [amendedInvestorList, setAmendedInvestorList] = useState([]);\n const [showAmendedOrderInvestorFilters, setShowAmendedOrderInvestorFilters] =\n useState(false);\n const [isShowStagesChecked, setIsShowStagesChecked] = useState(false);\n\n useEffect(() => {\n props.viewChange();\n }, []);\n\n useEffect(() => {\n getUpdatedStructuredOrders();\n }, [props.amendedOrderSummaryData]);\n\n useEffect(() => {\n getFilteredStructuredOrders();\n }, [\n amendedInvestorList.length,\n props.selectedInvestor,\n props.selectedTranche,\n amendedOrderSummaryData,\n ]);\n\n useEffect(() => {\n props.resetOrderBookDropDowns();\n if (showAmendedOrderInvestorFilters) {\n let tranche = props.trancheNameList[0] ? props.trancheNameList[0].key : 0;\n props.requestStages(props.dealId);\n props.filterBookEvolutionSummaryForAmendedOrderByInvestor(\n props.dealId,\n 15,\n 0,\n tranche,\n true\n ) \n } else props.filterBookEvolutionSummary(props.dealId, DEFAULT_TIME_INTERVAL.key, ALL_INVESTORS.key, ALL_TRANCHES.key)\n }, [showAmendedOrderInvestorFilters]);\n\n const handleTrancheNavClick = (selectedTranche) => {\n props.updateCurrentTranche(selectedTranche.id);\n };\n\n const getFormattedOrdersFromBookEvolution = (arrayToProcess) => {\n let arrayToReturn = arrayToProcess\n .map((order) => order.orders)\n .reduce((acc, val) => acc.concat(val), []);\n\n if (showAmendedOrderInvestorFilters) {\n const summaryDates = getSummaryDates(\n true,\n props.dataForAmendedOrderByInvestor.orderSummary\n );\n arrayToReturn = arrayToReturn.filter((order) => {\n let tranchNameToCompare =\n props.selectedTranche.value === DEFAULT_ALL.value\n ? props.trancheNameList[0].value\n : props.selectedTranche.value;\n let dateToCompare =\n props.selectedDate.value === DEFAULT_ALL.value\n ? summaryDates[0].value\n : props.selectedDate.value;\n\n return (\n order.trancheName === tranchNameToCompare &&\n dateFormatter(\"localDate\", order.dateEntered) === dateToCompare\n );\n });\n }\n\n if (props.selectedInvestorType.value !== \"ALL\") {\n arrayToReturn = getAmendedOrderByInvestorByInvestorType(\n arrayToReturn,\n props.selectedInvestorType.value\n );\n }\n return arrayToReturn;\n };\n\n const getUpdatedStructuredOrders = () => {\n const amendedResultData = JSON.parse(\n JSON.stringify(props.amendedOrderSummaryData)\n );\n // To Destructure the API response\n const structuredIndividualOrders = amendedResultData\n .map((item) => getFormattedOrdersFromBookEvolution(item.individualOrders))\n .reduce((acc, val) => acc.concat(val), []);\n\n // Trimming the Extra Spaces for Investor Names\n structuredIndividualOrders.forEach((item) => {\n item.investorLongName = item.investorLongName.trim();\n });\n // Getting All Unique Amended Investor Name List from Destructure API Response\n const amendedInvestorList = [\n ...new Map(\n structuredIndividualOrders.map((item) => [\n item[\"investorLongName\"],\n item,\n ])\n ).values(),\n ]\n .sort((a, b) =>\n a.investorLongName.trim() < b.investorLongName.trim() ? -1 : 1\n )\n .map((item) => {\n return {\n key: item.investorID,\n value: item.investorLongName,\n label: item.investorLongName,\n };\n });\n\n setAmendedOrderSummaryData(structuredIndividualOrders);\n setAmendedInvestorList(amendedInvestorList);\n };\n\n const getFilterdData = (\n data,\n structuredIndividualOrders,\n index,\n nextIndex\n ) => {\n if (nextIndex !== 0 && index < nextIndex) {\n if (\n structuredIndividualOrders[index].dateEntered ===\n structuredIndividualOrders[nextIndex].dateEntered &&\n structuredIndividualOrders[index].dateTimeInterval !==\n structuredIndividualOrders[nextIndex].dateTimeInterval\n ) {\n data[nextIndex].dateEntered = \"\";\n data[nextIndex].dateTimeInterval = data[nextIndex].timeEntered;\n }\n }\n return data[index];\n };\n\n const getFilteredStructuredOrders = () => {\n const orderSummary = [];\n const sortedOrderSummary = [];\n let filteredData = [];\n let filteredTrancheData = [];\n\n const isIntialInvestor = _.isEqual(props.selectedInvestor, ALL_INVESTORS); // Check Wheather Default Investor Name is Selected\n const isIntialTranche = _.isEqual(props.selectedTranche, ALL_TRANCHES); // Check Wheather Default Tranche Name is Selected\n\n // Filter the Data as per Investor Names\n filteredData = amendedOrderSummaryData.filter(\n (order) =>\n order.investorLongName ===\n (isIntialInvestor\n ? amendedInvestorList[0].value\n : props.selectedInvestor.value)\n );\n\n // Filter the Data as per Tranche Names\n !isIntialTranche\n ? (filteredTrancheData = filteredData.filter(\n (order) => order.trancheName === props.selectedTranche.value\n ))\n : (filteredTrancheData = filteredData);\n\n // Formatting the Existing Received Date to Date-Month\n filteredTrancheData.forEach((item) => {\n item[item.orderId] = item.orderAmount;\n item.dateTimeInterval =\n dateFormatter(\"dateMonth\", item.externalSourceLastModified) +\n \" \" +\n item.timeEntered;\n });\n\n // Sort the Orders Ascending (Date)\n filteredTrancheData.sort((a, b) =>\n Sorters.doubleSort(\n \"dateEntered\",\n a,\n b,\n \"asc\",\n \"externalSourceLastModified\"\n )\n );\n\n const sameData = JSON.parse(JSON.stringify(filteredTrancheData));\n\n // If next order has same date then display only time entry, remove the date.\n filteredTrancheData.forEach((order, index) => {\n if (filteredTrancheData.length > 1) {\n if (index !== filteredTrancheData.length - 1) {\n order = getFilterdData(\n sameData,\n filteredTrancheData,\n index,\n index + 1\n );\n } else {\n order = getFilterdData(\n sameData,\n filteredTrancheData,\n index,\n index - 1\n );\n }\n orderSummary.push(order);\n } else orderSummary.push(order);\n });\n\n const orderIdList = orderSummary.map((item) => {\n return {\n orderId: item.orderId,\n trancheName: item.trancheName,\n };\n });\n\n // Separate all Unique IDs from order list for Table Header Columns\n const amendedOrderIdList = [\n ...new Map(orderIdList.map((item) => [item[\"orderId\"], item])).values(),\n ].sort((a, b) => (a.trancheName < b.trancheName ? -1 : 1));\n\n orderSummary.forEach((item) => {\n const obj = {};\n amendedOrderIdList.forEach((subItem) => {\n obj[subItem.orderId] =\n subItem.orderId === item.orderId ? item.orderAmount : null;\n obj[\"dateEntered\"] = item.dateEntered;\n obj[\"timeEntered\"] = item.timeEntered;\n obj[\"dateTimeInterval\"] = item.dateTimeInterval;\n });\n sortedOrderSummary.push(obj);\n });\n };\n\n const getSummaryDates = (isOrderSummaryEnable, dataForDates) => {\n const orderDateSummary = [];\n if (isOrderSummaryEnable) {\n const data = { ...dataForDates };\n _.entries(data).map((item) => {\n orderDateSummary.push({\n value: dateFormatter(\"localDate\", item[0]),\n label: dateFormatter(\"localDate\", item[0]),\n });\n return null;\n });\n }\n return orderDateSummary.filter(\n (array, index, value) => value.indexOf(array) === index\n );\n };\n\n const getAmendedOrderByInvestorByInvestorType = (list) => {\n let arrayToReturn = [];\n list.forEach((element) => {\n if (element.investorType === props.selectedInvestorType.value) {\n arrayToReturn.push(element);\n }\n });\n return arrayToReturn;\n };\n\n const getDateFilterdSummaryData = (\n orderList,\n orderSummary,\n showCumulativeRow\n ) => {\n const getOrderSummaryByDate = _.entries(orderList).find((order) => {\n return dateFormatter(\"localDate\", order[0]) === props.selectedDate.value;\n });\n const orderSummaryListByDate =\n getOrderSummaryByDate &&\n getOrderSummaryByDate.length &&\n getOrderSummaryByDate[1].filter(\n (order) => order.timeInterval !== \"Total\"\n );\n\n if (\n orderSummaryListByDate &&\n orderSummaryListByDate.length &&\n showCumulativeRow\n ) {\n const BookEvolutionTableKeys = _.keys(\n orderSummary[orderSummary.length - 1]\n );\n let grandTotalRow = {};\n\n _.each(orderSummaryListByDate, (order) => {\n _.each(BookEvolutionTableKeys, (column) => {\n if (column !== \"date\") {\n grandTotalRow[column] = order[column];\n } else {\n grandTotalRow[column] = \"\";\n }\n column === \"timeInterval\" && (grandTotalRow[column] = \"Total\");\n });\n });\n\n orderSummaryListByDate.push(grandTotalRow);\n }\n return orderSummaryListByDate || [];\n };\n\n const getOrderSummaryList = (data, isTable) => {\n const orderSummary = [];\n const tempOrderSummaryData = JSON.parse(JSON.stringify(data));\n const trancheList = JSON.parse(JSON.stringify(props.trancheNameList));\n _.entries(tempOrderSummaryData).map((item) => {\n item[1].map((col, index) => {\n if (isTable) {\n index === 0\n ? (col.date = dateFormatter(\"localDate\", item[0]))\n : (col.date = \"\");\n } else {\n col.dateTimeInterval =\n index === 0\n ? dateFormatter(\"dateMonth\", item[0]) +\n \" \" +\n col.timeInterval.slice(0, 5)\n : col.timeInterval.slice(0, 5);\n trancheList.forEach((item, index) => {\n if (col[item.key] || col[item.key] === 0) {\n col[trancheList[index].value] = col[item.key] || 0;\n delete col[item];\n }\n });\n }\n if (isTable || col.timeInterval !== \"Total\") orderSummary.push(col);\n return null;\n });\n return null;\n });\n\n if (props.selectedDate.value !== DEFAULT_ALL.value) {\n return getDateFilterdSummaryData(\n tempOrderSummaryData,\n orderSummary,\n isTable\n );\n }\n\n return orderSummary;\n };\n\n // from route we can optionally set the default order table tab\n const active = { id: props.currentTrancheId };\n const currentTrancheData = props.currentTrancheData;\n\n const isOrderSummaryEnable =\n props.orderSummaryData &&\n _.keys(props.orderSummaryData.orderSummary).length;\n const trancheTitles = props.trancheTitles.map((t) => ({\n ...t,\n btnAriaLabel: translationString(\n \"orders.open_tranche__\",\n props.language,\n `Open tranche ${t.title} ${t.status || \"\"}`,\n [\n [\"\", t.title],\n [\"\", t.status],\n ]\n ),\n }));\n\n \n const [open, setOpen] = React.useState(false);\n const[showFilters, setShowFilters] = React.useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n \n const toggleFilters = () => {\n setShowFilters(!showFilters);\n };\n\n const buttonText = showFilters? \"Hide Filters\": \"Show Filters\" ;\n \n return (\n <>\n {currentTrancheData ? (\n <>\n \n <>\n {props.loading ? (\n \n \n \n \n \n ) : (\n \n \n {LoadOrderByInvestorFilter()}\n
\n \n {\n setShowAmendedOrderInvestorFilters(false);\n }}\n >\n {isOrderSummaryEnable ? (\n \n \n Note: Time interval is not to scale.\n \n \n \n ) : (\n \n {props.notAvailable}\n \n )}\n \n {\n setShowAmendedOrderInvestorFilters(false);\n }}\n >\n {isOrderSummaryEnable ? (\n \n \n \n ) : (\n \n {props.notAvailable}\n \n )}\n \n {\n setShowAmendedOrderInvestorFilters(true);\n }}\n >\n
\n \n \n \n \n \n \n \n \n \n Order By Investor\n \n \n \n \n \n \n \n \n \n \n
\n {showFilters && (
\n {LoadOrderByInvestorFilter()}\n
)}\n {LoadOrderByInvestorTable()}\n
\n
\n \n
\n {LoadOrderByInvestorTable()}\n \n \n
\n \n
\n )}\n \n \n \n ) : (\n \n )}\n \n );\n function LoadOrderByInvestorFilter () {\n return(\n <>\n {isOrderSummaryEnable || props.isBookEvolutionFiltererd ? (\n \n {showAmendedOrderInvestorFilters &&\n props.dataForAmendedOrderByInvestor ? (\n \n ) : (\n
\n \n
\n )}\n
\n ): null\n }\n )\n }\n \n function LoadOrderByInvestorTable(){\n return(\n <>\n {isOrderSummaryEnable &&\n props.dataForAmendedOrderByInvestor && props.dataForAmendedOrderByInvestor.orderdetails ? (\n \n \n \n Note:- Please note that the frequency of MyDeal’s\n order updates are dependent upon IssueNet\n processing speeds. Rapid order revisions may not\n be captured as a result.\n \n \n ) : (\n \n {props.notAvailable}\n \n )\n }\n );\n }\n}\nconst mapStateToProps = (state) => ({\n currentTrancheData: getCurrentTranche(state),\n trancheTitles: getTrancheTitles(state),\n orderSummaryData: getBookEvolutionData(state),\n dataForAmendedOrderByInvestor:\n getBookEvolutionDataForAmendedOrderByInvestor(state),\n orderData: state.orderBookData.orderData,\n currentTrancheId: state.orderBookData.currentTrancheId,\n dealId: state.utility.dealsData.dealId,\n dateReceived: state.orderBookData.dateReceived,\n selectedDate: getSelectedDate(state),\n investorNameList: getInvestorNames(state),\n trancheNameList: getTrancheLists(state),\n loading: state.orderBookData.dataFetching,\n isBookEvolutionFiltererd: state.orderBookData.isBookEvolutionFiltererd,\n amendedOrderSummaryData: getAmendedOrderSummaryData(state),\n selectedInvestor: getSelectedInvestor(state),\n selectedInvestorType: getSelectedInvestorType(state),\n selectedTranche: getSelectedTranche(state),\n selectedTimeRange: getSelectedTimeRange(state),\n stages: getStages(state),\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n requestStages: (dealId) => dispatch(requestStages(dealId)),\n updateCurrentTranche: (trancheId) =>\n dispatch(updateCurrentTranche(trancheId, \"DCM\")),\n openOrderSummaryDetailView: (summaryData) =>\n dispatch(openOrderSummaryDetailView(summaryData)),\n resetOrderBookDropDowns: () => dispatch(resetOrderBookDropDowns()),\n filterBookEvolutionSummaryForAmendedOrderByInvestor: (dealId, interval, investorId, trancheName, isFilter) => dispatch(filterBookEvolutionSummaryForAmendedOrderByInvestor(dealId, interval, investorId, trancheName, isFilter)),\n filterBookEvolutionSummary: (dealId, investorId, trancheId, interval, loader) => dispatch(filterBookEvolutionSummary(dealId, investorId, trancheId, interval, loader)),\n});\n\nexport default compose(\n withLanguage,\n connect(mapStateToProps, mapDispatchToProps),\n\n withAnalytics((ev, view) => ({\n viewChange: () => view(featurePageIds.ORDERBOOK_SUMMARY_PAGE),\n })),\n withTranslate((translate) => ({\n viewChart: translate(\"orders.view_chart\", \"View Chart\"),\n viewTable: translate(\"orders.view_table\", \"View Table\"),\n amendedOrder: translate(\"orders.orders_by_investor\", \"Orders by Investor\"),\n notAvailable: translate(\n \"others.content_not_yet_available\",\n \"Content Not Yet Available\"\n ),\n investorNameText: translate(\"orders.investor_name\", \"Investor Name\"),\n investorTypeText: translate(\"orders.investor_types\", \"Investor Type\"),\n timeRangeText: translate(\"orders.time_range\", \"Key Event Time\"),\n trancheNameText: translate(\"orders.tranche_name\", \"Tranche Name\"),\n timeIntervalText: translate(\"orders.time_interval\", \"Time Interval\"),\n dateText: translate(\"orders.date\", \"Date\"),\n timeEntered: translate(\"orders.time_entered\", \"Time Entered\"),\n firstOrderText: translate(\"orders.first_order\", \"First Order\"),\n lastOrderText: translate(\"orders.last_order\", \"Last Order\"),\n peakOrderText: translate(\"orders.peak_order\", \"Peak Order\"),\n allocationAmountText: translate(\"orders.allocation\", \"Allocation\"),\n lastMinusPeakText: translate(\n \"orders.last_minus_peak_change\",\n \"Last (-) Peak Change\"\n ),\n orderAmountText: translate(\"orders.order_amount\", \"Order Amount\"),\n statusText: translate('orders.status_value', 'Status'),\n orderIdText: translate('orders.orderId', 'Order Id'),\n limitSecurityText: translate('orders.limit_security', 'Limit Security'),\n dateTimeText: translate('orders.date_time_entered', 'Date and Time entered'),\n }))\n)(BookEvolutionContainer);\n","//\n// General dimensiton of most important elements (header, nav, main, footer etc.)\n//\n\n// navigation (shared btw ecm & dcm)\nexport const NAVIGATION_HEIGHT = 100;\n\n// main content\nexport const MAIN_HEIGHT = `calc(100vh - ${NAVIGATION_HEIGHT}px)`;\n\n// Landing Page (shared btw ecm & dcm)\n\n// Pricing (shared btw ecm & dcm)\n\n// Roadshow (shared btw ecm & dcm)\n\n// Investor Feedback (shared btw ecm & dcm)\n\n// Orders (shared btw ecm & dcm)\n\n// MyDocs (shared btw ecm & dcm)\n\n// other","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport styled from 'styled-components';\nimport { Link, browserHistory } from 'react-router';\n\nimport { featurePageIds } from 'constants/featurePages';\n\nimport { anchorEventHandling } from 'shared/accessibility/functions/keyboardEvents';\nimport { dateFormatters } from 'shared/functions/formatters';\n\nimport { withAnalytics2 } from 'shared/hoc/withAnalytics';\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport Loading from 'shared/components/Loading';\nimport ResponsiveEllipsis from 'shared/components/ResponsiveEllipsis';\n\nimport { typography } from 'shared/styles/variables/theme';\n\nimport { getHomeTileStatus, getLatestFeedback } from 'selectors';\n\nimport {\n TileContainerOuter,\n TileHeader,\n TileContent,\n TileContentInner,\n DateContent,\n ChevronIcon,\n EmptyContent\n} from './styles.js';\n\nconst FeedbackInvestor = styled.div`\n font-family: ${typography.family.bold};\n font-size: ${typography.sizes['15px']};\n`;\n\nconst FeedbackInvestorContact = styled.div`\n font-size: ${typography.sizes['11px']};\n`;\n\nconst FeedbackText = styled.div`\n margin-top: 10px;\n font-size: ${typography.sizes['13px']};\n`;\n\nconst url = {\n pathname: featurePageIds.INVESTOR_FEEDBACK_DETAILS_PAGE,\n};\n\nclass LatestFeedback extends PureComponent {\n navigateEvent = (e) => {\n e.preventDefault();\n if (anchorEventHandling(e)) {\n browserHistory.push(url);\n this.props.linkChange();\n }\n }\n\n render() {\n return (\n \n {\n this.props.isFetching ? (\n \n ) : (\n \n \n \n {this.props.linkText}\n \n \n \n \n \n {\n this.props.feedback ? (\n \n \n {this.props.feedback.investor}\n \n \n {\n [\n this.props.feedback.investorContact,\n this.props.feedback.investorType\n ]\n .filter(e => e)\n .join(', ')\n }\n \n \n {\n dateFormatters.dayMonthYearZoneShort(this.props.feedback.recordedDateTime)\n }\n \n \n \n \n \n ) : (\n \n {this.props.notAvailable}\n \n )\n }\n \n \n \n )\n }\n \n );\n }\n}\n\nexport default compose(\n connect(\n state => ({\n isFetching: !getHomeTileStatus(state, 'homeFetchedFeedback'),\n feedback: getLatestFeedback(state),\n })\n ),\n withTranslate(\n translate => ({\n // link\n linkText: translate('home_page.latest_feedback', 'Latest feedback'),\n linkAriaLabel: translate('home_page.navigate_to_latest_feedback', 'Navigate to latest feedback'),\n // content\n notAvailable: translate('others.content_not_yet_available', 'Content Not Yet Available'),\n loadingText: translate('home_page.loading_latest_feedback', 'Loading latest feedback'),\n })\n ),\n withAnalytics2(\n (ev, events) => ({\n linkChange: () => ev(events.LATEST_FEEDBACK)\n })\n )\n)(LatestFeedback);","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport styled from 'styled-components';\nimport { Link, browserHistory } from 'react-router';\n\nimport { featurePageIds } from 'constants/featurePages';\n\nimport { requestDoc } from 'actions/MyDocsActions';\nimport { getHomeTileStatus, getLastDocuments } from 'selectors';\n\nimport { buttonEventHandling, anchorEventHandling } from 'shared/accessibility/functions/keyboardEvents';\nimport { dateFormatters } from 'shared/functions/formatters';\nimport { withAnalytics2 } from 'shared/hoc/withAnalytics';\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport { ImgIcon } from 'shared/components/Icon';\nimport Loading from 'shared/components/Loading';\nimport ResponsiveEllipsis from 'shared/components/ResponsiveEllipsis';\n\nimport { typography, components } from 'shared/styles/variables/theme';\n\nimport {\n TileContainerOuter,\n TileHeader,\n TileContent,\n TileContentInner,\n DateContent,\n ChevronIcon,\n EmptyContent\n} from './styles.js';\n\nimport { ellipsis } from 'shared/styles/mixins/ellipsis';\n\nconst DocumentContainer = styled.div`\n margin-bottom: 13px;\n`;\n\nconst DocumentTitle = styled.span`\n width: calc(100% - 26px);\n ${components.link['--default']}\n display: inline-block;\n\n font-family: ${typography.family.bold};\n font-size: ${typography.sizes['12px']};\n\n cursor: pointer;\n\n &:hover {\n ${components.link['--state']['--hover']}\n }\n\n &:focus {\n ${components.link['--state']['--focus']}\n }\n`;\n\nconst DocumentTextContainer = styled.div`\n display: inline-block;\n width: calc(100% - 26px);\n`;\n\nconst documentIconStyle = {\n height: '21px',\n width: '16px',\n position: 'relative',\n display: \"inline-block\",\n float: \"left\",\n color: '#4D6474',\n fontSize: typography.sizes['18px'],\n marginRight: 10,\n marginTop: 5,\n};\n\nconst url = {\n pathname: featurePageIds.MY_DOCS_DOCUMENTS_PAGE,\n};\n\nclass LatestDocuments extends PureComponent {\n navigateEvent = (e) => {\n e.preventDefault();\n if (anchorEventHandling(e)) {\n browserHistory.push(url);\n this.props.linkChange();\n }\n }\n\n documentTitleEvent = (e, ...details) => {\n if (buttonEventHandling(e)) {\n this.props.requestDoc(...details);\n }\n }\n\n render() {\n return (\n \n {\n this.props.isFetching ? (\n \n ) : (\n \n \n \n {this.props.linkText}\n \n \n \n \n \n {\n this.props.documents.length ? (\n \n {\n this.props.documents.map(doc => (\n \n \n \n this.documentTitleEvent(e, doc.documentVersionId, doc.title)}\n onKeyDown={e => this.documentTitleEvent(e, doc.documentVersionId, doc.title)}\n >\n \n \n \n {\n dateFormatters.dayMonthYearWithProvidedZone(\n doc.lastModified || doc.created,\n doc.lastModifiedTimeZone || doc.createDateTimeZone\n )\n }\n \n \n \n ))\n }\n \n ) : (\n \n {this.props.notAvailable}\n \n )\n }\n \n \n \n )\n }\n \n );\n }\n}\n\nexport default compose(\n connect(\n state => ({\n isFetching: !getHomeTileStatus(state, 'homeFetchedDocuments'),\n documents: getLastDocuments(state)\n .slice(0, 3),\n }),\n dispatch => ({\n requestDoc: (docId, docName) => dispatch(requestDoc(docId, docName))\n })\n ),\n withTranslate(\n translate => ({\n // link\n linkText: translate('home_page.documents', 'Documents'),\n linkAriaLabel: translate('home_page.navigate_to_documents', 'Navigate to documents'),\n // document\n documentAriaLabel: doc => translate('home_page.open_document', \"Open document\") + ' ' + doc.title,\n // content\n notAvailable: translate('others.content_not_yet_available', 'Content Not Yet Available'),\n loadingText: translate('home_page.loading_documents', 'Loading documents'),\n })\n ),\n withAnalytics2(\n (ev, events) => ({\n linkChange: () => ev(events.LATEST_DOCUMENTS),\n })\n )\n)(LatestDocuments);","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport { Link, browserHistory } from 'react-router';\nimport get from 'lodash/get';\n\nimport { featurePageIds } from 'constants/featurePages';\n\nimport { getHomeTileStatus, getECMLatestOrders } from 'selectors';\n\nimport { anchorEventHandling } from 'shared/accessibility/functions/keyboardEvents';\nimport { dateFormatters, numberFormatters } from 'shared/functions/formatters';\nimport { withAnalytics2 } from 'shared/hoc/withAnalytics';\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport TranslationText from 'translations/TranslationText';\nimport Loading from 'shared/components/Loading';\n\nimport { typography } from 'shared/styles/variables/theme';\n\nimport Table, {\n firstHeaderAlignedLeftStyle,\n otherHeaderAlignedRightStyle,\n otherRowAlignedRight,\n lastHeaderAlignedRightStyle,\n lastRowAlignedRightStyle\n} from 'shared/components/Table';\n\nimport {\n TileContainerOuter,\n TileHeader,\n TileContent,\n TileContentInner,\n ChevronIcon,\n EmptyContent\n} from './../styles.js';\n\nconst url = {\n pathname: featurePageIds.ORDERBOOK_SUMMARY_PAGE,\n};\n\nconst Columns = props => ([{\n dataField: 'investor',\n text: props.investorText,\n attrs: {\n role: \"rowheader\",\n },\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n padding: '8px 2px 8px 8px',\n fontSize: typography.sizes['12px'],\n borderTop: 'none',\n width: '90px',\n },\n formatter: (val, data, index) => (\n {val}\n ),\n style: {\n padding: '0 10px 0 8px',\n fontSize: typography.sizes['12px'],\n height: 30,\n },\n classes: \"standard-table-cell\",\n}, {\n dataField: 'amount',\n headerFormatter: (column, colIndex, components) => (\n \n
\n \n  @
{`${props.demandPrice} (${props.currency}m)`}\n
\n
\n ),\n headerStyle: {\n ...otherHeaderAlignedRightStyle,\n fontSize: typography.sizes['12px'],\n padding: '8px 0',\n borderTop: 'none',\n width: '60px',\n },\n style: {\n ...otherRowAlignedRight,\n width: '60px',\n paddingRight: 0,\n fontSize: typography.sizes['12px'],\n height: 30,\n },\n}, {\n dataField: 'modified',\n headerFormatter: (column, colIndex, components) => (\n \n \n
({props.timeZone})\n
\n ),\n headerStyle: {\n ...lastHeaderAlignedRightStyle,\n fontSize: typography.sizes['12px'],\n borderTop: 'none',\n width: '70px',\n },\n style: {\n ...lastRowAlignedRightStyle,\n textAlign: 'right',\n paddingRight: 10,\n fontSize: typography.sizes['12px'],\n height: 30,\n },\n}]);\n\nclass LatestOrders extends PureComponent {\n navigateEvent = (e) => {\n e.preventDefault();\n if (anchorEventHandling(e)) {\n browserHistory.push(url);\n this.props.linkChange();\n }\n }\n\n render() {\n return (\n \n {\n this.props.isFetching ? (\n \n ) : (\n \n \n \n {this.props.linkText}\n \n \n \n \n {\n this.props.orders.length ? (\n \n ) : (\n \n \n {this.props.notAvailable}\n \n \n )\n }\n \n \n )\n }\n \n );\n }\n}\n\nexport default compose(\n connect(\n state => ({\n isFetching: !getHomeTileStatus(state, 'homeFetchedOrders'),\n orders: getECMLatestOrders(state)\n .slice(0, 4)\n .map(item => ({\n investor: item.investorLongName,\n amount: numberFormatters.million(\n get(item, 'shareDemandSummary.demandAtBottomSharePrice.demandAmount')\n ),\n modified: dateFormatters.dayMonth(item.externalSourceLastModified),\n })),\n currency: state.utility.dealsData.dealCurrency,\n demandPrice: numberFormatters.twoDecimalPoint(state.utility.dealsData.dealDemandBottomPointSharePrice),\n timeZone: dateFormatters.timeAbbr(),\n }),\n ),\n withTranslate(\n translate => ({\n // link\n linkText: translate('home_page.latest_orders', 'Latest orders'),\n linkAriaLabel: translate('home_page.navigate_to_latest_orders', 'Navigate to latest orders'),\n // table\n investorText: translate(\"home_page.investor\", \"Investor\"),\n tableCaption: translate(\"home_page.caption_last_4_orders_table\", \"Table showing the latest 4 orders\"),\n // content\n notAvailable: translate('others.content_not_yet_available', 'Content Not Yet Available'),\n loadingText: translate('home_page.loading_latest_orders', 'Loading latest orders'),\n })\n ),\n withAnalytics2(\n (ev, events) => ({\n linkChange: () => ev(events.LATEST_ORDERS),\n })\n )\n)(LatestOrders);\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport { Link, browserHistory } from 'react-router';\nimport get from 'lodash/get';\n\nimport { featurePageIds } from 'constants/featurePages';\n\nimport { getHomeTileStatus, getDCMLatestOrders } from 'selectors';\n\nimport { anchorEventHandling } from 'shared/accessibility/functions/keyboardEvents';\nimport { dateFormatters, numberFormatters } from 'shared/functions/formatters';\nimport { withAnalytics2 } from 'shared/hoc/withAnalytics';\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport TranslationText from 'translations/TranslationText';\nimport Loading from 'shared/components/Loading';\n\nimport { typography } from 'shared/styles/variables/theme';\n\nimport Table, {\n firstHeaderAlignedLeftStyle,\n lastHeaderAlignedRightStyle,\n lastRowAlignedRightStyle\n} from 'shared/components/Table';\n\nimport {\n TileContainerOuter,\n TileHeader,\n TileContent,\n TileContentInner,\n ChevronIcon,\n EmptyContent\n} from './../styles.js';\n\nconst url = {\n pathname: featurePageIds.ORDERBOOK_SUMMARY_PAGE,\n};\n\nconst Columns = props => ([{\n dataField: 'investor',\n text: props.investorText,\n attrs: {\n role: \"rowheader\",\n },\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n padding: '8px 2px 8px 8px',\n fontSize: typography.sizes['12px'],\n borderTop: 'none',\n },\n formatter: (val, data, index) => (\n {val}\n ),\n style: {\n padding: '0 10px 0 8px',\n fontSize: typography.sizes['12px'],\n height: 30,\n },\n classes: \"standard-table-cell\",\n}, {\n dataField: 'modified',\n headerFormatter: (column, colIndex, components) => (\n \n \n
({props.timeZone})\n
\n ),\n headerStyle: {\n ...lastHeaderAlignedRightStyle,\n fontSize: typography.sizes['12px'],\n borderTop: 'none',\n width: '80px',\n },\n style: {\n ...lastRowAlignedRightStyle,\n textAlign: 'right',\n paddingRight: 10,\n fontSize: typography.sizes['12px'],\n height: 30,\n },\n}]);\n\nclass LatestOrders extends PureComponent {\n navigateEvent = (e) => {\n e.preventDefault();\n if (anchorEventHandling(e)) {\n browserHistory.push(url);\n this.props.linkChange();\n }\n }\n\n render() {\n return (\n \n {\n this.props.isFetching ? (\n \n ) : (\n \n \n \n {this.props.linkText}\n \n \n \n \n {\n this.props.orders.length ? (\n \n ) : (\n \n \n {this.props.notAvailable}\n \n \n )\n }\n \n \n )\n }\n \n );\n }\n}\n\nexport default compose(\n connect(\n state => ({\n isFetching: !getHomeTileStatus(state, 'homeFetchedOrders'),\n orders: getDCMLatestOrders(state)\n .slice(0, 4)\n .map(item => ({\n investor: item.investorLongName,\n amount: numberFormatters.million(\n get(item, 'shareDemandSummary.demandAtBottomSharePrice.demandAmount')\n ),\n modified: dateFormatters.dayMonth(item.externalSourceLastModified),\n })),\n timeZone: dateFormatters.timeAbbr(),\n }),\n ),\n withTranslate(\n translate => ({\n // link\n linkText: translate('home_page.latest_orders', 'Latest orders'),\n linkAriaLabel: translate('home_page.navigate_to_latest_orders', 'Navigate to latest orders'),\n // table\n investorText: translate(\"home_page.investor\", \"Investor\"),\n tableCaption: translate(\"home_page.caption_last_4_orders_table\", \"Table showing the latest 4 orders\"),\n // content\n notAvailable: translate('others.content_not_yet_available', 'Content Not Yet Available'),\n loadingText: translate('home_page.loading_latest_orders', 'Loading latest orders'),\n })\n ),\n withAnalytics2(\n (ev, events) => ({\n linkChange: () => ev(events.LATEST_ORDERS),\n })\n )\n)(LatestOrders);\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport styled from 'styled-components';\nimport { Link, browserHistory } from 'react-router';\nimport get from 'lodash/get';\n\nimport { featurePageIds } from 'constants/featurePages';\n\nimport { getHomeTileStatus, getDCMLatestOrders, getTranches } from 'selectors';\n\nimport { anchorEventHandling } from 'shared/accessibility/functions/keyboardEvents';\nimport { dateFormatters, numberFormatters } from 'shared/functions/formatters';\nimport { withAnalytics2 } from 'shared/hoc/withAnalytics';\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport { Col, Row } from 'shared/components/Grid';\nimport Loading from 'shared/components/Loading';\nimport ResponsiveEllipsis from 'shared/components/ResponsiveEllipsis';\n\nimport { typography, backgrounds } from 'shared/styles/variables/theme';\n\nimport {\n TileContainerOuter,\n TileHeader,\n TileContent,\n TileContentInner,\n DateContent,\n ChevronIcon,\n EmptyContent\n} from './../styles.js';\n\nconst InvestorName = styled.h4`\n margin-top: 0;\n line-height: 1;\n font-family: ${typography.family.light};\n`;\n\nconst Divider = styled.div`\n border-bottom: 1px solid ${backgrounds.gray};\n`;\n\nconst Description = styled.div`\n margin-top: 5px;\n font-size: ${typography.sizes['12px']};\n`;\nconst Value = styled.div`\n font-size: ${typography.sizes['14px']};\n`;\n\nconst url = {\n pathname: featurePageIds.ORDERBOOK_SUMMARY_PAGE,\n};\n\nclass LatestTranche extends PureComponent {\n navigateEvent = (e) => {\n e.preventDefault();\n if (anchorEventHandling(e)) {\n browserHistory.push(url);\n this.props.linkChange();\n }\n }\n\n render() {\n return (\n \n {\n this.props.isFetching ? (\n \n ) : (\n \n \n \n {this.props.linkText}\n \n \n \n \n \n {\n this.props.order ? (\n
\n \n \n \n \n \n \n {this.props.trancheText}\n \n \n \n \n \n {this.props.totalOrderText} (m)\n \n {\n numberFormatters.million(this.props.order.firmAmount)\n }\n \n \n \n \n {\n dateFormatters.dateTime(this.props.order.externalSourceLastModified, this.props.timeZone)\n }\n \n
\n ) : (\n \n {this.props.notAvailable}\n \n )\n }\n
\n
\n
\n )\n }\n
\n );\n }\n}\n\nexport default compose(\n connect(\n state => ({\n isFetching: !getHomeTileStatus(state, 'homeFetchedOrders'),\n order: getDCMLatestOrders(state)\n .slice(0, 1)\n .map(order => ({\n ...order,\n trancheNameShort: get(getTranches(state), '[0].trancheNameShort'),\n }))[0],\n timeZone: dateFormatters.timeAbbr(),\n }),\n ),\n withTranslate(\n translate => ({\n // link\n linkText: translate('home_page.latest_orders', 'Latest orders'),\n linkAriaLabel: translate('home_page.navigate_to_latest_orders', 'Navigate to latest orders'),\n // tranche\n trancheText: translate('home_page.tranche', 'Tranche'),\n totalOrderText: translate('home_page.total_order', 'Total Order'),\n // content\n notAvailable: translate('others.content_not_yet_available', 'Content Not Yet Available'),\n loadingText: translate('home_page.loading_latest_order', 'Loading latest order'),\n })\n ),\n withAnalytics2(\n (ev, events) => ({\n linkChange: () => ev(events.LATEST_ORDERS),\n })\n )\n)(LatestTranche);\n","import React, { PureComponent } from 'react';\nimport { Link, browserHistory } from 'react-router';\nimport styled from 'styled-components';\n\nimport { typography, fontColors, components, outlines } from 'shared/styles/variables/theme';\n\nimport { FontIcon } from 'shared/components/Icon';\nimport ResponsiveEllipsis from 'shared/components/ResponsiveEllipsis';\n\nimport { anchorEventHandling } from 'shared/accessibility/functions/keyboardEvents';\n\nconst HeroContainer = styled.div`\n width: 150px;\n margin-right: 40px;\n margin-top: 30px;\n`;\nconst LinkContainer = styled.div`\n margin-top: 10px;\n margin-bottom: 5px;\n`;\n\nconst sharedStyle = `\n color: ${fontColors.white};\n font-size: ${typography.sizes['12px']};\n\n`;\nconst NavigableLink= styled(Link)`\n ${components.link['--default']}\n ${sharedStyle}\n font-size: ${typography.sizes['16px']};\n display: inline-block;\n font-family: ${typography.family};\n\n &:focus {\n ${components.link['--state']['--focus']}\n ${sharedStyle}\n font-size: ${typography.sizes['16px']};\n outline: ${outlines.light};\n }\n\n &:hover {\n ${components.link['--state']['--hover']}\n ${sharedStyle}\n font-size: ${typography.sizes['16px']};\n span::before {\n text-decoration: none;\n }\n }\n`;\nconst NotNavigable = styled.div`\n ${sharedStyle}\n font-size: ${typography.sizes['16px']};\n font-family: ${typography.family};\n`;\n\nconst FeatureDescription = styled.div`\n ${sharedStyle}\n margin-top: 5px;\n font-family: ${typography.family.normal};\n`;\n\nconst linkContainerIconStyle = {\n verticalAlign: 'middle',\n marginLeft: 7,\n color: '#fff',\n fontSize: typography.sizes['9px'],\n display: 'inline-block',\n marginTop: 0,\n};\n\nclass Hero extends PureComponent {\n navigateEvent = e => {\n e.preventDefault();\n if (anchorEventHandling(e)) {\n browserHistory.push(this.props.url);\n this.props.onHeroClicked();\n }\n }\n\n render() {\n return (\n \n { this.props.featureIcon && this.props.featureIcon }\n \n {\n this.props.url ? (\n \n \n {this.props.title}\n \n \n \n \n ) : (\n \n {this.props.title}\n \n )\n }\n\n \n \n \n \n \n );\n }\n}\n\nexport default Hero;\n","import React, { PureComponent } from 'react';\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport styled from 'styled-components';\n\nimport { getAllowedNavigationFeatures, getAllNavigationFeatures, isECMDealType, isDCMDealType } from 'selectors';\n\nimport dealFeatures from 'constants/dealFeatures';\nimport { checkAllowedUiFeatures } from 'util/navigationFeatures';\nimport { withAnalytics2 } from 'shared/hoc/withAnalytics';\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport * as dimensions from 'shared/styles/variables/dimensions';\nimport responsiveness from 'shared/styles/mixins/responsiveness';\nimport { typography, fontColors } from 'shared/styles/variables/theme';\nimport { ContentAdjuster } from 'shared/styles/components/containers';\n\nimport { landingDimensions } from './Landing.styles';\n\nimport landingImageHD from 'images/landing/landing-hd.jpg';\nimport landingImageFHD from 'images/landing/landing-fhd.jpg';\nimport landingImage5K from 'images/landing/landing-5k.jpg';\n\nimport LatestFeedback from './Tiles/LatestFeedback.component';\nimport LatestDocuments from './Tiles/LatestDocuments.component';\nimport LatestECMORders from './Tiles/ecm/LatestOrders.component';\nimport LatestDCMOrders from './Tiles/dcm/LatestOrders.component';\nimport LatestDCMOrder from './Tiles/dcm/LatestOrder.component';\n\nimport { PricingIcon, RoadshowIcon, FeedbackIcon, OrdersIcon, DocumentsIcon } from 'mk-pattern-library-react/components/SvgIcon/SvgIcon';\n\nimport Hero from './Hero.component';\n\nconst maxHeroHeight = 400;\nconst tileMargin = 10;\n\nconst LandingContainer = styled.div`\n width: 100%;\n min-height: calc(100vh - ${dimensions.NAVIGATION_HEIGHT}px);\n background: radial-gradient(circle, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.3) 80%, rgba(0,0,0,0) 100%);\n background-image: url(${landingImageHD});\n\n ${responsiveness.largeScreen(`\n background-image: url(${landingImage5K});\n `)}\n\n ${responsiveness.mediumScreen(`\n background-image: url(${landingImageFHD});\n `)}\n\n background-position: center;\n background-repeat: no-repeat;\n background-color: transparent;\n background-size: cover;\n top: 0;\n left: 0;\n z-index: -1;\n\n height: 100%;\n width: 100%;\n\n padding-bottom: 10px;\n margin-bottom: -10px;\n\n`;\n\nconst WelcomeContainer = styled.div`\n position: relative;\n`;\n\n// IE 11 fix\nconst EnhancedContentAdjuster = styled(ContentAdjuster)`\n display: flex;\n flex-direction: column;\n`;\n\nconst HeadingContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n width: 100%;\n height: 100%;\n min-height: calc(100vh - ${dimensions.NAVIGATION_HEIGHT}px - ${landingDimensions.TILE_HEIGHT}px - ${2 * tileMargin}px);\n padding: 0 0 0 50px;\n\n ${responsiveness.largeScreen(`\n max-height: ${maxHeroHeight}px;\n `)}\n\n ${responsiveness.mediumScreen(`\n max-height: ${maxHeroHeight}px;\n `)}\n`;\n\nconst LandingH1 = styled.h1`\n margin: 0;\n padding: 0;\n font-size: ${typography.sizes['37px']};\n font-family: ${typography.family.light};\n color: ${fontColors.white};\n`;\nconst LandingH2 = styled.h2`\n margin: 0;\n padding: 5px 0 0 0;\n font-size: ${typography.sizes['13px']};\n font-family: ${typography.family.light};\n color: ${fontColors.white};\n`;\n\nconst HeroItems = styled.div`\n display: flex;\n flex-wrap: wrap;\n margin-top: 10px;\n padding-bottom: 30px;\n`;\n\nconst CarouselContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n margin: 0;\n\n > div {\n margin: ${tileMargin}px ${tileMargin/2}px 0 ${tileMargin/2}px;\n }\n`;\n\nclass Landing extends PureComponent {\n componentDidMount() {\n this.props.viewChange();\n }\n\n providePricing = (url, sort, featureIcon) => (\n \n )\n\n provideRoadshow = (url, sort, featureIcon) => (\n \n )\n\n provideOrders = (url, sort, featureIcon) => (\n \n )\n\n provideMyDocs = (url, sort, featureIcon) => (\n \n )\n\n provideInvestorFeedback = (url, sort, featureIcon) => (\n \n )\n\n provideInvestors = (url, sort) => (\n \n );\n\n icons = {\n [dealFeatures.PRICING]: this.providePricing,\n [dealFeatures.INVESTORS]: this.provideInvestors,\n [dealFeatures.ROADSHOW]: this.provideRoadshow,\n [dealFeatures.ORDERBOOK]: this.provideOrders,\n [dealFeatures.MY_DOCS]: this.provideMyDocs,\n [dealFeatures.INVESTOR_FEEDBACK]: this.provideInvestorFeedback,\n }\n\n sortChildrens = ({ props: a }, { props: b }) => {\n if (a.sort < b.sort) return -1;\n if (a.sort > b.sort) return 1;\n return 0;\n }\n\n render() {\n const activeHomeModules = [];\n const items = [];\n\n const {\n allowedNavigationFeatures\n } = this.props;\n\n const allowedUiFeatures = checkAllowedUiFeatures(allowedNavigationFeatures, 'visibleInHeroMenu');\n\n // Hero Menu\n allowedUiFeatures\n .filter(feature => feature.visibleInHeroMenu)\n .map(feature => ({\n url: feature.visibleInMainMenu ? feature.url : false,\n sortNo: feature.sortNo,\n feature: feature.url,\n }))\n .sort(({ sortNo: a }, { sortNo: b}) => {\n if (a < b) return -1;\n if (a > b) return 1;\n return 0;\n })\n .forEach(({ sortNo, url, feature }) => {\n switch (feature) {\n case dealFeatures.INVESTOR_FEEDBACK: {\n items.push(this.provideInvestorFeedback(url, sortNo, ));\n\n if (!url) return\n activeHomeModules.push();\n break;\n }\n case dealFeatures.ROADSHOW: {\n items.push(this.provideRoadshow(url, sortNo, ));\n\n if (!url) return;\n // No home module available\n break;\n }\n case dealFeatures.ORDERBOOK: {\n items.push(this.provideOrders(url, sortNo, ));\n\n if (!url) return;\n\n if (this.props.isECM) {\n activeHomeModules.push();\n }\n\n if (this.props.isDCM) {\n activeHomeModules.push()\n activeHomeModules.push();\n }\n\n break;\n }\n /* case dealFeatures.INVESTORS: {\n items.push(this.provideInvestors(url, sortNo));\n\n if (!url) return;\n // activeHomeModules.push(); // TODO\n break;\n }*/\n case dealFeatures.MY_DOCS: {\n items.push(this.provideMyDocs(url, sortNo, ));\n\n if (!url) return;\n activeHomeModules.push();\n break;\n }\n case dealFeatures.PRICING: {\n items.push(this.providePricing(url, sortNo, ));\n\n if (!url) return;\n // No home module available\n break;\n }\n default: {\n break;\n }\n }\n });\n\n return (\n \n \n \n \n {this.props.headingTitle}\n {this.props.headingDescription}\n \n {\n React.Children\n .toArray(items)\n .sort(this.sortChildrens)\n }\n \n \n \n \n \n \n {activeHomeModules}\n \n \n \n );\n }\n}\n\nexport default compose(\n withTranslate(translate => ({\n headingTitle: translate(\n 'home_page.welcome_to_mydeal',\n 'Welcome to MyDeal'\n ),\n headingDescription: translate(\n 'home_page.bringing_the_latest_deal_information_to_your_finge',\n 'Bringing the latest deal information to your fingertips'\n ),\n myDocuments: translate('home_page.documents', 'Documents'),\n myDocsDescription: translate('home_page.view_all_your_documents_in_one_centralised_locatio', 'View all your documents in one centralised location'),\n pricing: translate('home_page.pricing', 'Pricing'),\n pricingDescription: translate('home_page.keep_track_of_the_latest_pricing_document_for_your', 'Keep track of the latest pricing document for your deal'),\n orders: translate('home_page.orders', 'Orders'),\n ordersDescription: translate('home_page.monitor_and_analyse_investor_demand_and_orders_ove', 'Monitor and analyse investor demand and orders over time'),\n roadshow: translate('home_page.roadshow', 'Roadshow'),\n roadshowDescription: translate('home_page.plan_with_confidence_and_prepare_for_investor_meet', 'Plan with confidence and prepare for investor meetings'),\n investorFeedback: translate('home_page.investor_feedback', 'Investor Feedback'),\n investorFeedbackDescription: translate('home_page.gauge_investor_sentiment_throughout_your_deal', 'Gauge investor sentiment throughout your deal'),\n investors: translate('home_page.investors', 'Investors'),\n investorsDescription: translate('home_page.compare_and_contrast_investor_history_and_commitme', 'Compare and contrast investor history and commitment'),\n })),\n withAnalytics2(\n (eventTrigger, eventIds) => ({\n myDocsEvent: () => eventTrigger(eventIds.EXPLORE_MY_DOCS),\n pricingEvent: () => eventTrigger(eventIds.EXPLORE_PRICING),\n ordersEvent: () => eventTrigger(eventIds.EXPLORE_ORDERS),\n roadshowEvent: () => eventTrigger(eventIds.EXPLORE_ROADSHOW),\n investorFeedbackEvent: () => eventTrigger(eventIds.EXPLORE_INVESTOR_FEEDBACK),\n investorsEvent: () => eventTrigger(eventIds.EXPLORE_INVESTORS),\n }),\n (viewChange, viewIds) => ({\n viewChange: () => viewChange(viewIds.LANDING_PAGE),\n })\n ),\n connect(state => ({\n isECM: isECMDealType(state),\n isDCM: isDCMDealType(state),\n navigationFeatures: getAllNavigationFeatures(state),\n allowedNavigationFeatures: getAllowedNavigationFeatures(state),\n }))\n)(Landing)\n","import IsvTypes from \"./IsvTypes\";\n\nexport const applyIsvCloseBanner = (label) => ({\n type: IsvTypes.APPLY_CLOSE_INFORMATION_BANNER,\n label,\n});\n\nexport const handleConfirmationDialogue = (value, deleteDealDocumentId) => ({\n type: IsvTypes.APPLY_HANDLE_CONFIRMATION_DIALOUGE,\n value,\n deleteDealDocumentId\n})\n\nexport const handlePostDashboardData = data => ({\n type: IsvTypes.API_REQUEST_DASHBOARD_DATA,\n endPoint: '/Deals/UpdateDeal',\n params: {\n dealId: data.dealId,\n maturityDate: data.maturityDate,\n lrnReference: data.lrnReference,\n },\n ajaxType: 'PUT',\n})\n\nexport const handleDashboardResponse = data => {\n return ({ \n type: IsvTypes.API_RECEIVE_DASHBOARD_DATA,\n data\n}) }\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { SvgIcon } from \"shared/components/Icon\";\n\nconst InformationBanner = styled.div`\n display: inline-flex;\n -webkit-box-align: center;\n align-items: center;\n flex-direction: row;\n width: 100%;\n border-style: solid;\n background-color: rgb(48, 90, 133);\n border-color: rgb(48, 90, 133);\n color: rgb(255, 255, 255);\n padding: 15px 9px;\n border-width: 1px;\n margin: 15px 0;\n`;\n\nconst InformationBannerWrapper = styled.span`\n display: inline-flex;\n width: 100%;\n`\n\nconst InformationIconWrapper = styled.span`\n display: flex;\n position: relative;\n flex-shrink: 0;\n width: 1.125rem;\n height: 1.125rem;\n align-self: baseline;\n margin-left: 10px;\n margin-right: 10px;\n`\n\nconst InformationContentWrapper = styled.span`\n margin: 0px;\n padding: 0px 0.625rem 0px 0px;\n text-align: left;\n font-size: 0.875rem;\n font-weight: 400;\n flex: 1 1 auto;\n align-self: flex-end;\n`\n\nconst BannerText = styled.span`\n margin-left: 5px\n`;\n\nconst BannerCloseIcon = styled.span`\n flex-shrink: 0;\n display: flex;\n cursor: pointer;\n border: none;\n align-items: center;\n justify-content: center;\n align-self: flex-start;\n position: relative;\n width: 32px;\n`;\n\nconst informationIconStyle = {\n fill: '#fff',\n width: '32',\n height: '32',\n position: 'absolute',\n top: '0',\n left: '0',\n};\n\nconst closeIconStyle = {\n fill: '#fff',\n width: '32',\n height: '32',\n position: 'absolute',\n top: '0',\n right: '0',\n};\n\nconst IsvInformationBanner = ({\n bannerText,\n bannerHeading,\n handleCloseBanner,\n onCloseOverlay,\n}) => {\n return (\n \n \n \n \n \n \n {bannerHeading}{bannerText}\n \n handleCloseBanner(onCloseOverlay)}>\n \n \n \n \n );\n};\n\nexport default IsvInformationBanner;\n","import { typography } from 'shared/styles/variables/theme';\n\nexport const defaultBtnStyle = {\n fontSize: typography.sizes['14px'],\n padding: '0px 1.1875rem',\n minHeight: '2.5rem'\n};\n\nexport const primaryBtnStyle = {\n ...defaultBtnStyle,\n border: 'none',\n color: '#FFFFFF',\n};\n","import React, { Component } from 'react'\nimport Dialog from '@mui/material/Dialog';\nimport styled from 'styled-components';\nimport DialogActions from '@mui/material/DialogActions';\nimport { PrimaryButton, SecondaryButton } from 'mk-pattern-library-react';\nimport { defaultBtnStyle, primaryBtnStyle } from 'Isv/styles/buttonStyle';\n\nconst ConfirmationContainer = styled.div`\n font-size: 16px;\n color: rgba(51, 51, 51, 0.6);\n padding: 24px;\n box-sizing: border-box;\n overflow-y: hidden;\n border-top: none;\n border-bottom: none;\n max-height: 429px;\n button {\n outline: none !important;\n }\n`\n\nconst Header = styled.div`\n margin: 0;\n`;\n\nconst DialoguePara = styled.p`\n margin-top: 15px;\n line-height: 20px;\n`\n\nclass ConfirmationDialog extends Component { \n render() {\n const { isCancelButtonNotRequired, dialogActionStyle, dialogActionButtonStyle } = this.props; \n return (\n \n {this.props.open &&\n \n
{this.props.header}
\n {this.props.subHeader}\n \n \n {this.props.confirmButtonText}\n \n\n {!isCancelButtonNotRequired &&\n \n {this.props.declineButtonText}\n \n }\n \n
\n }\n \n );\n }\n}\n\nexport default ConfirmationDialog;","export const ISV_DOCUMENT_REVIEW_STATUS = {\n PENDING_ONE_WAY_LETTER: 'Pending 1 way letter acknowledgement',\n PENDING_FIRST_REVIEW: 'Pending 1st Review',\n PENDING_FINAL_CLIENT_SUBMISSION: 'Pending Final Client Submission of information',\n SUBMITTED_TO_RBI: 'Submitted to RBI',\n COMPLETED: 'Completed',\n MATURED: 'Matured'\n};\n\nexport const WORKFLOW_STATUS = {\n DRAFT_ECB_SUBMISSION: 'Draft ECB Submission',\n FINAL_ECB_SUBMISSION: 'Final ECB Submission'\n}\n\nexport const REJECTED_STATUS = {\n REJECTED_BY_CSM: 'RejectedByCSM',\n REJECTED_BY_RR: 'RejectedByRR'\n}\n\nexport const SUBMIT_TO_RBI = 'SubmitToRBI';\n\nexport const NEXT_ACTION_OWNER = {\n CLIENT: 'Client',\n CSM: 'CSM',\n RR_TEAM: 'RR Team',\n HSBC: 'HSBC'\n}\n\nexport const ISV_DOCUMENT_TYPE = {\n SUPPORTING_DOCUMENT: 'Supporting Document',\n Mandatory_Document: 'Mandatory Document',\n ECB_RETURN_DOCUMENT: 'ECB 2 Return Document',\n REFERENCE_DOCUMENT: 'Reference Document'\n}\n\nexport const ISV_DOCUMENT_FIELDS= {\n ECB_RETURN_STATUS: 'ecbReturnStatus',\n IS_RR_FINAL_STATUS: 'isRrFinalStatus',\n IS_RR_APPROVED: 'isRrApproved',\n IS_RR_DOC_REVIEWED: 'isRrDocReviewed',\n}","import React, { Component } from 'react';\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport { dateFormatter } from '../../OrderBook/SharedTableComponents/formatters';\nimport Table from 'shared/components/Table';\nimport {\n firstHeaderAlignedLeftStyle,\n otherRowAlignedLeft,\n} from 'shared/components/Table';\nimport { selectInvestorTypeDropdown } from 'actions/OrderBookActions';\nimport { selectConfirmationBannerStatus, getIsvCurrentDealId, isIsvExternalUser, selectedEcb2ReturnStatus } from 'Isv/selectors'\nimport styled from 'styled-components';\nimport ConfirmationDialog from '../components/common/ConfirmationDialog'\nimport { handleConfirmationDialogue, handlePostDashboardData } from 'Isv/actions/IsvInformationBannerAction';\nimport TextField from '@mui/material/TextField';\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport Popover from '@mui/material/Popover';\nimport Button from '@mui/material/Button';\nimport { DesktopDatePicker } from '@mui/x-date-pickers/DesktopDatePicker';\nimport calender from \"Isv/images/calender.png\";\nimport { SvgIcon } from 'shared/components/Icon';\nimport { browserHistory } from 'react-router';\nimport {\n NEXT_ACTION_OWNER,\n ISV_DOCUMENT_REVIEW_STATUS,\n} from 'Isv/constants/isvDocumentReviewStatus'\n\nconst widthAlign = (isIsvCsmUser, isIsvRRTeamUser) => {\n return {\n width: (isIsvCsmUser && !isIsvRRTeamUser) ? '180px' : '122px'\n }\n}\n\nconst disabledLRNRef = {\n opacity: '0.4',\n pointerEvents: 'none'\n}\n\nconst dialogAction = {\n paddingRight: '0px'\n}\n\nconst lrnReferenceInput = {\n fontSize: '14px'\n}\n\nconst lrnReferenceCancelButton = {\n color: 'grey'\n}\n\nconst svgIconStyle = {\n position: 'absolute',\n right: '-25px', \n transform: 'translate(-50%,-50%)', \n top: '50%', \n zIndex: 1, \n marginTop: '7px'\n}\n\nconst TableContainer = styled.div``\n\nconst DealTextWrapper = styled.p`\n font-size: 26px;\n font-weight: bold;\n margin-top: 15px\n`\n\nconst DatePickerWrapper = styled.div`\n padding-left: 6px;\n .MuiFormControl-root {\n margin-left: -2px;\n padding: 2px 7px 2px 10px;\n border-radius: 2px;\n border: 1px solid;\n fieldset, legend { border: none }\n .MuiOutlinedInput-root{\n font-size: 12px;\n padding-right: 0;\n .MuiButtonBase-root{\n outline: none;\n position: relative;\n &::after {\n content: '';\n position: absolute;\n height: 16px;\n width: 16px;\n background-image: url(${calender});\n background-size: contain;\n right: 2px;\n top: 50%;\n transform: translate(-50%,-50%);\n }\n &::before {\n content: '';\n position: absolute;\n height: 16px;\n width: 1px;\n background: #000;\n left: 3px;\n top: 50%;\n transform: translate(-50%,-50%);\n }\n svg { visibility: hidden }\n }\n input[type='text'] { padding: 0; margin-left: -6px; max-width: 112px }\n }\n }\n`\n\nconst SvgIconContainer = styled.div`\n .picker {\n position: relative;\n }\n`\nconst LrnReferenceContainer = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center\n`\nconst LrnReferenceTextWrapper = styled.div`\n padding: 20px;\n`\nconst LrnReferenceButtonContainer = styled.div`\n margin-top: 20px;\n display: flex;\n justify-content: flex-end;\n`\n\nclass LrnReferenceField extends Component {\n render() {\n const { data: { maturityDate }, isIsvCsmUser, handleEdit, isIsvRRTeamUser, data} = this.props;\n const isLrnReferenceEditable = data && data.status && (data.status.statusName === 'Submitted to RBI' || data.status.statusName === 'Completed') && data.status.workflowName === 'Final ECB Submission';\n return (\n (isIsvCsmUser || isIsvRRTeamUser) &&(\n
\n isLrnReferenceEditable ? handleEdit(event,maturityDate) : null}>\n \n \n
\n
)\n )\n }\n}\n\nclass DatePicker extends Component {\n\n state = {\n isDatePickerOpen: false\n }\n\n handleOpen = () => {\n this.setState({ isDatePickerOpen: true })\n }\n\n handleClose = () => {\n const currentDate = new Date();\n currentDate.setHours(0, 0, 0, 0);\n const history = browserHistory.getCurrentLocation();\n const { maturityDate, status, isFinalSubmission } = this.props.data;\n if ((((maturityDate == null && isFinalSubmission) || (currentDate > new Date(maturityDate))) && (history && history.state && history.state.fromDealInformation)) && (this.props.isIsvCsmUser && status &&\n status.statusName !== \"Completed\" && status.nextAction === \"CSM\" \n )) {\n this.setState({ isDatePickerOpen: true });\n } else \n { \n this.setState({ isDatePickerOpen: false }); }\n };\n\n render() {\n return (\n \n \n (\n \n )}\n />\n \n \n )\n }\n}\n\nclass DashboardTable extends Component {\n constructor(props) {\n super(props);\n this.state = {\n maturityDate: null,\n isMaturityDatePassed: false,\n isMaturityDateUpdateWarning: false,\n anchorEl: null,\n lrnReference: '',\n isLrnReferenceAlreadyAdded: false,\n hasMaturityDate: null,\n isDatePickerOpen: false,\n }\n this.childRef = React.createRef();\n}\n\n componentDidMount() {\n this.setState({ maturityDate: this.props.data.maturityDate });\n const history = browserHistory.getCurrentLocation();\n this.showMaturityDateWarning(history && history.state && history.state.fromDealInformation);\n }\n\n componentDidUpdate(nextProps) {\n if (nextProps.dealId !== this.props.dealId) {\n const history = browserHistory.getCurrentLocation();\n this.showMaturityDateWarning(history && history.state && history.state.fromDealInformation);\n this.setState({ maturityDate: null, lastSelectedValue: null, lrnReference: '' });\n }\n }\n\n Columns = (props, lrnRef) => {\n const columns = [\n {\n attrs: {\n role: 'rowheader',\n },\n dataField: 'referenceId',\n text: 'Reference ID',\n style: {\n ...otherRowAlignedLeft,\n },\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n width:'105px'\n },\n },\n {\n dataField: 'projectName',\n text: 'Deal Name',\n style: {\n ...otherRowAlignedLeft,\n },\n headerStyle: firstHeaderAlignedLeftStyle,\n },\n {\n dataField: 'clientName',\n text: 'Client Name',\n style: {\n ...otherRowAlignedLeft,\n },\n headerStyle: firstHeaderAlignedLeftStyle,\n },\n {\n dataField: 'startDate',\n text: 'Deal Start Date',\n style: {\n ...otherRowAlignedLeft,\n },\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n width: '122px'\n },\n formatter: (value) => dateFormatter('localDate', value),\n },\n {\n dataField: 'maturityDate',\n text: 'Maturity Date',\n style: {\n ...otherRowAlignedLeft,\n },\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n ...widthAlign(props.isIsvCsmUser, props.isIsvRRTeamUser)\n },\n formatter: (value) => {\n return props.isIsvCsmUser && !props.isIsvRRTeamUser ? \n \n : dateFormatter('localDate', value)\n }\n },\n {\n dataField: 'status.workflowName',\n text: 'Workflow Name',\n headerClasses: '',\n style: {\n ...otherRowAlignedLeft,\n },\n headerStyle: firstHeaderAlignedLeftStyle,\n },\n {\n dataField: 'status.statusName',\n text: 'Workflow Status',\n style: {\n ...otherRowAlignedLeft,\n },\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n } \n },\n {\n dataField: 'workflowStatusDays',\n text: 'Days @ Workflow status',\n style: {\n ...otherRowAlignedLeft,\n },\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n width:'115px'\n },\n formatter: (value) => (value && value !== 0) ? (value > 1 ? `${value} Days` : `${value} Day` ) : value\n },\n {\n dataField: 'dealAge',\n text: 'Deal Age',\n style: {\n ...otherRowAlignedLeft,\n },\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n },\n formatter: (value) => (value && value !== 0) ? (value > 1 ? `${value} Days` : `${value} Day` ) : value\n },\n ]\n if (!props.isIsvExternalUser) {\n columns.push(\n {\n dataField: 'titanDealId',\n text: 'Titan Deal ID',\n style: {\n ...otherRowAlignedLeft,\n },\n headerStyle: firstHeaderAlignedLeftStyle,\n },\n )\n }\n columns.push(\n {\n dataField: 'lrnReference',\n text: 'LRN Reference',\n style: {\n ...otherRowAlignedLeft,\n },\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n },\n formatter: () => {\n return (
{lrnRef}
)\n \n },\n },\n )\n if (!props.isIsvExternalUser) {\n columns.push(\n {\n dataField: 'status.nextAction',\n text: 'Next Action Owner',\n style: {\n ...otherRowAlignedLeft,\n },\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n },\n }\n )\n }\n\n if (props.isECBStatusEnabled) {\n columns.push(\n {\n dataField: 'status.ecB2ReturnStatus',\n text: 'ECB 2 Return Status',\n style: {\n ...otherRowAlignedLeft,\n },\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n }\n }\n )\n }\n\n return columns;\n };\n\n handleEdit = (event) => {\n const lrnReference = this.state.lrnReference || this.props.data.lrnReference;\n if (lrnReference) {\n this.setState({ isLrnReferenceAlreadyAdded: true });\n this.props.handleConfirmationDialogue(true);\n } else this.setState({ isEditLrnReferenceNo: true });\n this.setState({ anchorEl: event.currentTarget, lrnReference: lrnReference });\n }\n\n handleChangeDatePicker = () => {\n this.setState({ isMaturityDatePassed: false , hasMaturityDate: true})\n return\n }\n\n handleOnAccept = (date) => {\n const isMaturityDateAlready = this.state.maturityDate || this.props.data.maturityDate;\n this.setState({ maturityDate: date, hasMaturityDate: true });\n const history = browserHistory.getCurrentLocation();\n const fromDealInfo = history && history.state && history.state.fromDealInformation;\n if (isMaturityDateAlready && (fromDealInfo === false || fromDealInfo === undefined)) {\n this.props.handleConfirmationDialogue(true)\n } else {\n this.handlePostDashboardData(date);\n }\n }\n\n showMaturityDateWarning = (fromDealInformation) => {\n const { data: { maturityDate, status, isFinalSubmission }, isIsvCsmUser, isIsvRRTeamUser, handleConfirmationDialogue, } = this.props;\n if (maturityDate && !isIsvRRTeamUser) {\n const currentDate = new Date();\n currentDate.setHours(0, 0, 0, 0);\n if ((currentDate > new Date(maturityDate)) && isIsvCsmUser && status && ((status.statusName !== ISV_DOCUMENT_REVIEW_STATUS.MATURED) && (status.statusName !== ISV_DOCUMENT_REVIEW_STATUS.COMPLETED))) {\n handleConfirmationDialogue(true);\n this.setState({ isMaturityDatePassed: true , hasMaturityDate: true })\n }\n }\n if (maturityDate == null && isIsvCsmUser && status && status.statusName !== ISV_DOCUMENT_REVIEW_STATUS.COMPLETED && \n status.nextAction === NEXT_ACTION_OWNER.CSM && isFinalSubmission && fromDealInformation) { \n handleConfirmationDialogue(true);\n this.setState({ hasMaturityDate: false })\n }\n }\n\n handleMaturityDateDialog = () => {\n const { data: { maturityDate, status, isFinalSubmission }, isIsvCsmUser, } = this.props;\n const currentDate = new Date();\n currentDate.setHours(0, 0, 0, 0);\n if (isIsvCsmUser && status && status.statusName !== ISV_DOCUMENT_REVIEW_STATUS.COMPLETED && \n ((maturityDate == null && isFinalSubmission && status.nextAction === NEXT_ACTION_OWNER.CSM) || (currentDate > new Date(maturityDate)))) {\n this.props.handleConfirmationDialogue(false, false);\n this.childRef && this.childRef.current.handleOpen();\n }\n else this.props.handleConfirmationDialogue(false, false);\n }\n \n handleCloseConfirmation = () => {\n this.props.handleConfirmationDialogue(false, false);\n const lastSelectedValue = this.state.lastSelectedValue || this.props.data.maturityDate\n this.setState({ maturityDate: lastSelectedValue , isLrnReferenceAlreadyAdded: false });\n }\n\n handleOkConfirmation = () => {\n this.props.handleConfirmationDialogue(false, false);\n this.handlePostDashboardData(this.state.maturityDate, this.props.data.lrnReference);\n }\n\n handlePostDashboardData = (date, lrnReference) => {\n const postedData = {\n dealId: this.props.dealId,\n maturityDate: date ? new Date(date).toDateString() : null,\n lrnReference: lrnReference,\n }\n this.props.handlePostDashboardData(postedData);\n this.setState({ lastSelectedValue: date })\n }\n\n handleLrnPopoverClose = () => {\n this.handleSaveLrnReference();\n } \n\n handleLrnRefNoChange = (event) => {\n const regex = /^[a-zA-Z0-9]*$/;\n if (regex.test(event.target.value)) this.setState({ lrnReference: event.target.value });\n else return\n }\n\n handleSaveLrnReference = () => {\n const { lrnReference } = this.state;\n if (lrnReference && lrnReference.length >= 7) this.handlePostDashboardData(this.props.data.maturityDate, lrnReference);\n else if (lrnReference && lrnReference.length < 7) this.setState({ lrnReference: this.props.data.lrnReference });\n this.setState({ anchorEl: null, isLrnReferenceAlreadyAdded: false, isEditLrnReferenceNo: false });\n }\n\n handleLrnRefCancel = () => {\n this.setState({ anchorEl: null, isLrnReferenceAlreadyAdded: false, isEditLrnReferenceNo: false, lrnReference: this.props.data.lrnReference });\n }\n\n handleLrnRefernceDialog = () => {\n this.setState({ isEditLrnReferenceNo: true }); \n this.props.handleConfirmationDialogue(false, false);\n }\n\n render() {\n const tableData = [].concat({ ...this.props.data });\n const { isMaturityDatePassed, lrnReference, isEditLrnReferenceNo, anchorEl, isLrnReferenceAlreadyAdded, hasMaturityDate } = this.state;\n const { isOpen, isIsvCsmUser, isIsvRRTeamUser } = this.props;\n const open = Boolean(anchorEl);\n return (\n <>\n \n Deal\n \n \n \n {isEditLrnReferenceNo && (isIsvCsmUser || isIsvRRTeamUser) &&\n \n \n \n \n \n \n \n \n \n }\n \n );\n }\n}\n\nexport default compose(\n connect(\n (state) => ({\n isIsvExternalUser: isIsvExternalUser(state),\n isOpen: selectConfirmationBannerStatus(state),\n dealId: getIsvCurrentDealId(state),\n isECBStatusEnabled: selectedEcb2ReturnStatus(state),\n }),\n (dispatch) => ({\n selectInvestorTypeDropdown: (investorType) =>\n dispatch(selectInvestorTypeDropdown(investorType)),\n handleConfirmationDialogue: (value, isopen) => {\n dispatch(handleConfirmationDialogue(value, isopen))\n },\n handlePostDashboardData: (data) => {\n dispatch(handlePostDashboardData(data))\n }\n })\n )\n)(DashboardTable);\n","import React, { PureComponent } from \"react\";\nimport { compose } from \"recompose\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components\";\nimport { withAnalytics2 } from \"shared/hoc/withAnalytics\";\nimport responsiveness from \"shared/styles/mixins/responsiveness\";\nimport { typography, fontColors } from \"shared/styles/variables/theme\";\nimport { FontIcon } from \"shared/components/Icon\";\nimport {\n isIsvExternalUser,\n getIsvCurrentDeal,\n selectInformationBannerReducer,\n getLatestIsvCurrentDeal\n} from \"Isv/selectors\";\nimport { applyIsvCloseBanner } from \"Isv/actions/IsvInformationBannerAction\";\nimport landingImageStepOne from \"Isv/images/welcome-step-1.png\";\nimport landingImageStepTwo from \"Isv/images/welcome-step-2.png\";\nimport landingImageStepThree from \"Isv/images/welcome-step-3.jpg\";\nimport IsvInformationBanner from \"Isv/components/InformationBanner/InformationBanner\";\nimport { isIsvCsmUser, isIsvRRTeamUser } from \"selectors\";\nimport DashboardTable from \"./DashboardTable\";\nimport _ from \"lodash\";\nimport { ISV_DOCUMENT_REVIEW_STATUS } from 'Isv/constants/isvDocumentReviewStatus'\n\nconst CarousalWrapper = styled.div`\n margin-left: auto;\n margin-right: 0;\n height: 100%;\n`;\n\nconst LandingContainer = styled.div`\n width: 100%;\n display: flex;\n position: relative;\n text-align: left;\n`;\n\nconst LandingH1 = styled.h1`\n margin: 0;\n padding-top: 20px !important;\n font-size: ${typography.sizes[\"30px\"]};\n color: ${fontColors.black};\n text-align: left;\n`;\n\nconst LandingPara = styled.p`\n margin: 0;\n padding-top: 20px !important;\n font-size: ${typography.sizes[\"16px\"]};\n color: ${fontColors.black};\n text-align: left;\n`;\n\nconst CarouselContainer = styled.div`\n width: 50%;\n button {\n cursor: default;\n &:hover {\n opacity: 1 !important;\n }\n }\n background: #ededed;\n position: relative;\n`;\n\nexport const ImageContainer = styled.div`\n width: 100%;\n min-height: 300px;\n background: radial-gradient(\n circle,\n rgba(0, 0, 0, 0.8) 0%,\n rgba(0, 0, 0, 0.3) 80%,\n rgba(0, 0, 0, 0) 100%\n );\n background-image: url(${(props) => props.src});\n ${responsiveness.largeScreen(`\n background-image: url(${(props) => props.src});\n `)}\n ${responsiveness.mediumScreen(`\n background-image: url(${(props) => props.src});\n `)}\n background-position: center;\n background-repeat: no-repeat;\n background-color: transparent;\n background-size: cover;\n height: 100%;\n width: 50%;\n image-rendering: pixelated;\n -ms-interpolation-mode: nearest-neighbor;\n`;\n\nconst IconContainer = styled.div`\n position: absolute;\n bottom: 8px;\n right: 15px;\n`;\n\nconst IndexContainer = styled.span`\n position: absolute;\n right: 110px;\n bottom: 15px;\n`;\n\nconst CustomIcon = styled(FontIcon)`\n display: inline-block;\n font-size: 14px;\n transition: transform 0.3s linear;\n &.left-caret {\n transform: rotate(0deg) !important;\n }\n &.right-caret {\n transform: rotate(180deg) !important;\n }\n background: #fff;\n padding: 13px;\n border-radius: 2px;\n`;\n\nconst LandingMessageContainer = styled.div`\n padding: 25px 25px 0 20px !important;\n`;\n\nconst items = [\n {\n name: \"Welcome to HSBC MyDeal\",\n description:\n \"HSBC MyDeal can be used to monitor and manage your India Remittance Agency agreements digitally\",\n image: landingImageStepOne,\n },\n {\n name: \"HSBC MyDeal Dashboard\",\n description:\n \"HSBC MyDeal dashboard provides key information relating to your Remittance Agency agreement. Here you will also be able to track the current status of your agreement.\",\n image: landingImageStepTwo,\n },\n {\n name: \"HSBC MyDeal Deal Information\",\n description:\n \"HSBC MyDeal Deal Information module provides all documents relating to your Remittance Agency agreement. Here you will be able to download templates to be completed, upload information as well as supporting documents, add comments to your documents and submit your documents for review.\",\n image: landingImageStepThree,\n },\n];\n\nconst Item = (props) => {\n return (\n \n {props.item.name}\n {props.item.description}\n \n );\n};\n\nconst ButtonIcon = (props) => {\n return (\n \n \n \n );\n};\n\nconst iconStyle = (type) => {\n return {\n transform: type === \"next\" ? \"rotate(90deg)\" : \"rotate(-90deg)\",\n top: \"0\",\n position: \"relative\",\n color: \"#898989\",\n cursor: \"pointer\",\n left: type === \"next\" ? '0' : '-37px'\n };\n};\n\nclass Landing extends PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n currentIndex: 0,\n };\n }\n\n componentDidMount() {\n this.props.viewChange();\n }\n\n onChange = async (index) => {\n const { currentIndex } = this.state;\n let newIndex;\n if (currentIndex === 0 && currentIndex + index < 0) {\n newIndex = items.length - 1;\n } else if (currentIndex === items.length - 1 && currentIndex + index > items.length - 1) {\n newIndex = 0;\n } else newIndex = currentIndex + index\n await this.setState({ currentIndex: newIndex });\n };\n\n getData = () => {\n let data = null\n const { selectedDealData, latestSelectedDealData } = this.props;\n data = (selectedDealData != null && latestSelectedDealData != null && selectedDealData.dealId === latestSelectedDealData.dealId) ?\n _.isEqual(selectedDealData, latestSelectedDealData) ? selectedDealData : latestSelectedDealData : selectedDealData\n return data;\n }\n\n render() {\n const { currentIndex } = this.state;\n const {\n isDashboardBannerOpen,\n handleCloseBanner,\n isIsvCsmUser,\n isIsvExternalUser,\n selectedDealData,\n isIsvRRTeamUser\n } = this.props;\n let showECB2ReturnBannerForClient = selectedDealData && selectedDealData.status &&\n selectedDealData.status.ecB2ReturnStatus && selectedDealData.status.statusName === ISV_DOCUMENT_REVIEW_STATUS.COMPLETED; \n return (\n <>\n \n \n \n this.onChange(-1, 'slide-left')}\n type='prev'\n primary\n />\n \n this.onChange(1, 'slide-right')}\n type='next'\n />\n \n \n {currentIndex + 1} / {items.length}\n \n \n \n \n {\n (\n (!this.props.isIsvExternalUser && this.props.selectedDealData && this.props.selectedDealData.dealId) ||\n (this.props.selectedDealData && this.props.selectedDealData.dealId && this.props.selectedDealData.acceptedBy && this.props.selectedDealData.startDate)) ? (\n <>\n {isDashboardBannerOpen && (\n \n )}\n {Object.keys(selectedDealData).length > 1 &&\n }\n \n ) : null}\n \n );\n }\n}\n\nconst mapStateToProps = (state) => {\n return {\n isDashboardBannerOpen: selectInformationBannerReducer(state),\n isIsvCsmUser: isIsvCsmUser(state),\n selectedDealData: getIsvCurrentDeal(state),\n isIsvExternalUser: isIsvExternalUser(state),\n latestSelectedDealData: getLatestIsvCurrentDeal(state),\n isIsvRRTeamUser: isIsvRRTeamUser(state),\n };\n};\nconst mapDispatchToProps = (dispatch) => ({\n handleCloseBanner: (label) => {\n dispatch(applyIsvCloseBanner(label));\n },\n});\nexport default compose(\n withAnalytics2((viewChange, viewIds) => ({\n viewChange: () => viewChange(viewIds.LANDING_PAGE),\n })),\n connect(mapStateToProps, mapDispatchToProps)\n)(Landing);\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport DCMLandingPage from './dcm/Landing.container';\nimport ISVLandingPage from 'Isv/Landing/Landing.container';\nimport { isISVUser } from 'selectors';\n// import { isIsvExternalUser } from 'Isv/selectors';\n\nclass Landing extends PureComponent {\n\n componentDidMount() {\n document.title = 'HSBC MyDeal';\n }\n\n render() {\n return !this.props.isISVUser ? : \n }\n}\n\nconst mapStateToProps = (state) => ({\n isISVUser: isISVUser(state),\n // isvDealData:getIsvCurrentDeal(state),\n // isUserId:isIsvExternalUser(state)\n});\n\nexport default connect(mapStateToProps, null)(Landing);\n","import styled from 'styled-components';\n\nexport const StyledForm = styled.form`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n padding-top: 10px;\n`;\n\nexport const RowWrapper = styled.div`\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n width: 100%;\n > div:nth-child(2) {\n margin-left: 20px;\n }\n`;\n\nexport const ActionBar = styled.div`\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n width: 100%;\n margin: 30px 0 10px 0;\n\n & button{\n margin-left: 10px;\n &:first-child {\n margin-left: 0;\n }\n }\n`;\n","import React, { useState, useEffect } from 'react';\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport TextField from '@mui/material/TextField';\nimport styled from 'styled-components';\nimport { selectUploadedTitle, selectUploadedFile, selectedDocument, selectIsReferenceInformationEnabled } from \"Isv/selectors\";\nimport { handleOpenUploadOverlay } from 'Isv/actions/IsvDocumentsAction';\nimport { StyledForm, RowWrapper, ActionBar } from './styles';\nimport { PrimaryButton, SecondaryButton, LegacyButton } from 'mk-pattern-library-react';\nimport { defaultBtnStyle, primaryBtnStyle } from 'Isv/styles/buttonStyle';\nimport { ISV_DOCUMENT_TYPE } from 'Isv/constants/isvDocumentReviewStatus';\n\nconst FieldContainer = styled.div`\n width: 100%;\n margin-top: ${(props) => props.isMargin ? '50px' : '0'}\n .MuiFormControl-root {\n width: 100%;\n .MuiInput-root {\n &.Mui-focused {\n &::after {\n border-bottom: 2px solid red;\n }\n }\n }\n .MuiFormHelperText-root {\n position: absolute;\n top: -20px;\n &.Mui-focused {\n color: #db0011\n }\n }\n }\n`\n\nconst FileMetaForm = ({ title, handleOpenUploadOverlay, onSubmit, file, selectedDocument, isReferenceInformationEnabled }) => {\n\n const supportingData = {\n category: ISV_DOCUMENT_TYPE.SUPPORTING_DOCUMENT,\n description: '',\n title: title || '',\n isClientSupportingDocument: true,\n isSupportingDocument: true,\n }\n\n const ReferenceData = {\n category: ISV_DOCUMENT_TYPE.REFERENCE_DOCUMENT,\n description: '',\n title: title || '',\n }\n\n const [formData, updateFormData] = useState(selectedDocument ? selectedDocument : isReferenceInformationEnabled ? ReferenceData : supportingData);\n \n useEffect(() => {\n if(!selectedDocument && title) {\n updateFormData(supportingData)\n }\n }, [title])\n\n const handleFormSubmit = (e) => {\n onSubmit(formData);\n }\n\n const handleUploadFormChange = (e) => {\n updateFormData({\n ...formData,\n [e.target.name]: e.target.value\n });\n };\n\n const handleResetForm = () => {\n updateFormData({\n ...formData,\n title: '',\n });\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n 0) || (file && formData && formData.title) ? false : true}\n style={primaryBtnStyle}\n onClick={handleFormSubmit}\n >\n Save\n \n \n 0)}\n style={primaryBtnStyle}\n onClick={handleResetForm}\n >\n Reset\n \n\n handleOpenUploadOverlay(false)}\n >\n Close\n \n \n \n \n )\n}\n\nexport default compose(\n connect(\n (state) => ({\n title: selectUploadedTitle(state),\n file: selectUploadedFile(state),\n selectedDocument: selectedDocument(state),\n isReferenceInformationEnabled: selectIsReferenceInformationEnabled(state)\n }),\n (dispatch) => ({\n handleOpenUploadOverlay: (isOpen) => {\n dispatch(handleOpenUploadOverlay(isOpen))\n }\n })\n )\n)(FileMetaForm);\n","import styled from 'styled-components';\n\nconst flexbox = (direction, align, justify, wrap = 'nowrap', content = 'stretch') => `\n display: flex;\n flex-direction: ${direction};\n align-items: ${align};\n justify-content: ${justify};\n flex-wrap: ${wrap};\n align-content: ${content};\n`;\n\nexport const Wrapper = styled.div`\n ${flexbox('column', 'flex-start', 'flex-start')}\n width: 100%;\n`;\n\nexport const Heading = styled.p`\n margin: 0;\n font-weight: 400;\n font-size: 12px;\n color: #000000;\n`;\n\nexport const DropzoneInner = styled.div`\n ${flexbox('column', 'center', 'center')}\n width: 100%; \n min-width: 300px;\n background: #f2f2f2;\n border: 2px dashed #d7d8d6;\n width: 100%;\n height: 160px;\n margin: 20px 0 30px;\n`;\n\nexport const DropzoneWrapper = styled.div`\n display: block;\n text-align: center;\n width: 100%;\n`\n\nexport const DropzoneHeading = styled.p`\n font-weight: 300;\n color: #000000;\n font-size: 25px;\n margin: 0;\n word-break: break-word;\n padding: 7px;\n max-width: 100%;\n word-wrap: break-word;\n`;\n\nexport const DropzoneSubheading = styled.p`\n font-weight: 300;\n font-size: 15px;\n color: #000000;\n margin-top: 0;\n`;\n","import React, { useCallback } from 'react';\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport { useDropzone } from 'react-dropzone'\nimport { uploadFileDocument } from 'Isv/actions/IsvDocumentsAction';\nimport { selectUploadedFile, selectUploadedTitle } from \"Isv/selectors\";\nimport { SecondaryButton } from 'mk-pattern-library-react';\nimport { defaultBtnStyle } from 'Isv/styles/buttonStyle';\nimport { Wrapper, Heading, DropzoneInner, DropzoneHeading, DropzoneSubheading, DropzoneWrapper } from './styles';\n\nconst DocumentFileUploader = (props) => {\n\n const prepareContent = (props) => {\n if (props.file) {\n return {\n heading: props.file.name,\n subheading: 'will be uploaded',\n button: 'Change file',\n };\n }\n return {\n heading: 'Drag and drop here',\n subheading: 'to upload your file',\n button: 'Browse File',\n };\n };\n\n const onDrop = useCallback((acceptedFiles) => {\n acceptedFiles && acceptedFiles.forEach((file) => {\n props.uploadFileDocument(file, props.title)\n })\n }, [])\n\n const content = prepareContent(props);\n const { getRootProps, getInputProps } = useDropzone({\n onDrop,\n multiple: false,\n accept: {\n 'image/jpg': [],\n 'image/jpeg': [],\n 'image/png': [],\n 'image/gif': [],\n 'application/pdf': [],\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': [],\n 'application/vnd.ms-excel': [],\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': [],\n 'application/msword': [],\n }\n })\n\n return (\n \n Browse or drag and drop to upload file.\n \n \n {content.heading}\n {content.subheading}\n

(jpeg, jpg, png, gif, pdf, doc, docx, xls, xlsx files only. File size does not exceed 7MB)

\n \n\n \n {content.button}\n \n
\n
\n
\n )\n}\nexport default compose(\n connect(\n (state) => ({\n file: selectUploadedFile(state),\n title: selectUploadedTitle(state),\n }),\n (dispatch) => ({\n uploadFileDocument: (file, title) => {\n dispatch(uploadFileDocument(file, title))\n }\n })\n )\n)(DocumentFileUploader);\n","/* @flow */\nimport React from 'react';\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport styled from 'styled-components';\nimport Box from '@mui/material/Box';\nimport LinearProgress from '@mui/material/LinearProgress';\n\nconst ProgressWrapper = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n padding: 0 5%;\n position: absolute;\n left: 0;\n top: 0;\n background: white;\n z-index: 3000;\n\n .MuiBox-root {\n .MuiLinearProgress-root {\n background-color: rgb(215, 216, 214);\n .MuiLinearProgress-bar {\n background-color: rgb(0, 133, 128);\n }\n }\n }\n`;\n\nconst Heading = styled.h2`\n font-weight: normal;\n margin: 0;\n`;\n\nconst Description = styled.p`\n margin: 5px 0 10px 0;\n font-size: 12px;\n`;\n\nconst ProgressBar = (props) => (\n \n Uploading new document\n This process may take a while...\n \n \n \n \n)\n\nexport default compose(\n connect(\n (state) => ({\n progress: state.isvDocuments.progress,\n })\n )\n)(ProgressBar);\n","const isState = (state: number, validStates: number) => (\n Boolean(state & validStates)\n);\n\nconst utils = {\n isState,\n};\n\nexport default utils;\n","const FILE_UPLOAD_STATES = {\n READY: 1,\n IN_PROGRESS: 2,\n };\n \n export default FILE_UPLOAD_STATES;\n ","import React from 'react'\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport styled from 'styled-components';\nimport Dialog from '@mui/material/Dialog';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DialogContent from '@mui/material/DialogContent';\nimport FileMetaForm from 'Isv/components/FileUpload/FileMetaForm/FileMetaForm'\nimport DocumentFileUploader from 'Isv/components/FileUpload/DocumentFileUploader/DocumentFileUploader'\nimport { uploadPostDocument, handleOpenUploadOverlay, startUploadingFile } from 'Isv/actions/IsvDocumentsAction';\nimport { selectUploadedOverlayStatus, selectUploadedFile , getIsvCurrentDealId, selectClientDocumentData, getIsvCurrentDeal, selectIsEcbClientUploaded, selectIsRefDocumentUploaded} from \"Isv/selectors\";\nimport ProgressBar from 'Isv/components/common/ProgressBar'\nimport utils from 'Isv/util/util';\nimport FILE_UPLOAD_STATES from 'Isv/constants/fileUploadStates';\nimport { ISV_DOCUMENT_TYPE } from 'Isv/constants/isvDocumentReviewStatus';\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n`;\n\nconst FileUploadOverlay = ({ \n isOpen, handleOpenUploadOverlay, uploadPostDocument, file, status, dealId, selectedClientDealData, \n currentDeal, isEcbClientDocUploaded \n }) =>\n {\n const CheckClientTitle = (selectedClientDealData, title, isSupportingDocument) => {\n let count = 0;\n selectedClientDealData && selectedClientDealData.length && \n selectedClientDealData.forEach(element => {\n ((element.document && element.document.title === title) || (element.title === title)) && isSupportingDocument && count++\n });\n return count;\n }\n const uploadDocument = (document) => {\n const dataFD = new FormData();\n const title = document.title.trim();\n dataFD.append('title', title);\n dataFD.append('PostedFile', file);\n dataFD.append('ClientFileId', document.clientFileId || 0);\n dataFD.append('isClientSupportingDoc', document.isClientSupportingDocument || false);\n dataFD.append('dealId', dealId);\n dataFD.append('isEcbClientDocUploaded', isEcbClientDocUploaded || false);\n const fileUploadWorkflowStatus = currentDeal.isFinalSubmission ? \"final\" : \"draft\"\n dataFD.append('fileUploadWorkflow', fileUploadWorkflowStatus);\n const isTitleAlreadyExist = CheckClientTitle(selectedClientDealData, title, document.isSupportingDocument); \n const isEcbDocument = document.document && document.document.category.documentCategoryName === ISV_DOCUMENT_TYPE.ECB_RETURN_DOCUMENT;\n \n uploadPostDocument(dataFD, isTitleAlreadyExist, isEcbDocument, document);\n }\n\n return (\n \n handleOpenUploadOverlay(false)}\n >\n File Upload\n \n \n \n \n {utils.isState(status, FILE_UPLOAD_STATES.IN_PROGRESS) && }\n \n \n )\n}\n\nexport default compose(\n connect(\n (state) => ({\n isOpen: selectUploadedOverlayStatus(state),\n file: selectUploadedFile(state),\n status: state.isvDocuments.status,\n dealId: getIsvCurrentDealId(state),\n selectedClientDealData: selectClientDocumentData(state),\n currentDeal: getIsvCurrentDeal(state),\n isEcbClientDocUploaded: selectIsEcbClientUploaded(state),\n isRefDocumentUploaded:selectIsRefDocumentUploaded(state)\n }),\n (dispatch) => ({\n uploadPostDocument: (data, isTitleAlreadyExist, isEcbDocument, document) => {\n dispatch(startUploadingFile())\n dispatch(uploadPostDocument(data, isTitleAlreadyExist, isEcbDocument, document))\n },\n handleOpenUploadOverlay: (isOpen) => {\n dispatch(handleOpenUploadOverlay(isOpen))\n }\n })\n )\n)(FileUploadOverlay);\n","import React, { useState, useEffect } from 'react';\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport styled from 'styled-components';\nimport Dialog from '@mui/material/Dialog';\nimport { SvgIcon } from 'shared/components/Icon';\nimport { Icon } from \"mk-pattern-library-react\";\nimport { typography } from 'shared/styles/variables/theme';\nimport TextField from '@mui/material/TextField';\nimport Autocomplete from '@mui/material/Autocomplete';\nimport { extendedColorsForLineChart } from 'mk-pattern-library-react/utils/visualisationColors';\nimport { dateFormatter } from 'OrderBook/SharedTableComponents/formatters';\nimport { isIsvRRTeamUser, isIsvCsmUser } from \"selectors\";\nimport {\n getIsvCurrentDealId,\n isIsvExternalUser,\n selectLatestCommentsDataForCurrentComment,\n selectIsCommentPopUpOpen,\n selectIsvRejectButtonLabel,\n} from \"Isv/selectors\";\nimport {\n handlePostDocumentComment,\n getLatestCommentsByCommentId,\n handleGetLatestCommentsByCommentsId,\n handleCommentsPopup,\n handleSubmitDealInformation,\n} from 'Isv/actions/IsvDocumentsAction';\nimport { PrimaryButton } from 'mk-pattern-library-react';\nimport { primaryBtnStyle } from 'Isv/styles/buttonStyle';\nimport {\n NEXT_ACTION_OWNER,\n REJECTED_STATUS\n } from 'Isv/constants/isvDocumentReviewStatus'\n\nconst CommentsWrapper = styled.div`\n position: relative;\n`\n\nconst CommentsInnerWrapper = styled.div`\n padding: 20px 20px 30px;\n position: relative;\n`\n\nconst CloseIcon = styled.span``\n\nconst CommentsHeader = styled.div`\n color: #333333;\n font-size: ${typography.sizes['20px']};\n margin-bottom: 20px;\n`\n\nconst CommentsContainer = styled.div`\n max-height: 210px;\n overflow-y: auto;\n margin-bottom: 10px;\n`\n\nconst TextFieldContainer = styled.form`\n .MuiFormControl-root {\n width: 100%;\n label {\n background: #fff;\n width: 24px;\n padding-left: 3px;\n top: -4px;\n height: 17px;\n }\n .MuiInputBase-root {\n padding-top: 0;\n input {\n padding-top: 6px !important;\n }\n }\n #comment-to-user {\n font-size: 14px;\n padding: 0;\n }\n .MuiAutocomplete-endAdornment {\n button {\n margin-top: -2px;\n }\n }\n fieldset {\n legend { display: none }\n }\n &.comments-text-field {\n width: 100%;\n margin-top: 10px;\n input { padding: 8px; font-size: ${typography.sizes['14px']} }\n fieldset {\n top: 0;\n }\n }\n }\n\n button {\n margin-top: 20px;\n display: block;\n margin-left: auto;\n }\n`\n\nconst LatestComment = styled.div`\n margin-bottom: 20px;\n display: flex;\n align-items: center;\n`\n\nconst LatestCommentValue = styled.div`\n width: 90%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`\n\nconst CommentValue = styled.span`\n margin-left: 10px;\n border: 2px solid ${(props) => props.color};\n border-radius: 5px;\n padding: 3px 10px 15px;\n position: relative;\n min-width: 130px;\n`\n\nconst CommentDateWrapper = styled.span`\n position: absolute;\n right: 4px;\n font-size: 8px;\n bottom: 4px;\n`\n\nconst closeIconStyle = {\n position: 'absolute',\n right: '15px',\n top: '15px',\n cursor: 'pointer'\n}\n\nconst DealInformationCommentBoxContainer = ({\n dealId,\n login,\n isIsvExternalUser,\n isIsvCsmUser,\n isIsvRRTeamUser,\n title,\n selectedDealData,\n handlePostDocumentComment,\n lastComment,\n getLatestCommentsByCommentId,\n commentData,\n handleGetLatestCommentsByCommentsId,\n isRejectButtonClick,\n onCloseDialog,\n isAdditionalComment,\n isCommentsPopupOpen,\n handleCommentsPopup,\n rejectLabel,\n onRejectCommentPosted,\n selectedLastCommentId,\n handleSubmitDealInformation,\n rejectToggleClicked,\n fromEcb2Return,\n commentRow\n}) => {\n\n const userRoles = [\n {\n label: 'Please select an option',\n value: '',\n },\n {\n label: isIsvCsmUser || isIsvRRTeamUser ? 'Client' : 'CSM',\n value: isIsvCsmUser || isIsvRRTeamUser ? 'client' : 'csm',\n },\n {\n label: isIsvRRTeamUser ? 'CSM' : 'RR',\n value: isIsvRRTeamUser ? 'csm' : 'rr',\n }\n ];\n\n const arrowDropdownIconStyle = {\n transform: 'rotate(90deg)',\n marginTop: '2px',\n width: '24px',\n height: '20px',\n }\n\n const [comment, setComment] = useState('');\n const [isOpen, setIsOpen] = useState(false);\n const [userSelection, setUserSelection] = useState(userRoles[0]);\n const [latestComment, setLatestComment] = useState(null)\n\n useEffect(() => {\n if (isIsvCsmUser) {\n setUserSelection(userRoles[0]);\n }\n }, [rejectToggleClicked]);\n \n useEffect(() => {\n if (lastComment) {\n let latestComment = JSON.parse(lastComment.commentText);\n if (isIsvExternalUser && latestComment) {\n latestComment.Text = latestComment.Text.replace('To Client: ', '');\n }\n setLatestComment(latestComment)\n }\n \n }, [lastComment]);\n\n useEffect(() => {\n if(isRejectButtonClick){ \n setIsOpen(true);\n }\n else {\n handleCloseDialog();\n }\n },[isRejectButtonClick])\n\n const handleEditComments = () => {\n setIsOpen(true);\n handleGetLatestCommentsByCommentsId(null);\n lastComment && lastComment.commentId && getLatestCommentsByCommentId(lastComment.commentId, isIsvExternalUser ? true : null, fromEcb2Return)\n }\n\n const getuserKey = (role) => {\n switch (true) {\n case role === NEXT_ACTION_OWNER.CSM: return 1;\n case role === NEXT_ACTION_OWNER.RR_TEAM: return 2;\n default: return 3\n }\n }\n\n const getFullNameInitals = (comment) => {\n let getUserName = comment.UserName;\n if (isIsvExternalUser) {\n if (comment.From === NEXT_ACTION_OWNER.CSM || (fromEcb2Return && comment.From === NEXT_ACTION_OWNER.RR_TEAM)) getUserName = NEXT_ACTION_OWNER.HSBC\n } else getUserName = comment.From === NEXT_ACTION_OWNER.CLIENT ? comment.UserName : comment.From;\n const name = getUserName.split(' ');\n const initials = name.length > 1 ? (getUserName === NEXT_ACTION_OWNER.RR_TEAM ? name[0] : name.shift().charAt(0) + name.pop().charAt(0)) : comment.From === NEXT_ACTION_OWNER.CLIENT ? name.pop().charAt(0) : name[0];\n const color = extendedColorsForLineChart(getuserKey(comment.From), comment.From);\n return (\n \n \n {initials.toUpperCase()}\n \n \n {comment.Text}\n {dateFormatter('dayMonthYearZoneShort', comment.Cdate)}\n \n \n )\n }\n\n const handleCommentSubmit = () => {\n const isClientVisible = (fromEcb2Return && isIsvRRTeamUser && isRejectButtonClick) || \n (userSelection.value === \"client\" || isIsvExternalUser || \n (rejectLabel && rejectLabel !== REJECTED_STATUS.REJECTED_BY_RR) || \n ( isIsvCsmUser && rejectToggleClicked && rejectToggleClicked === 'reject')\n ) ? true : false;\n const postData = {\n commentId: isRejectButtonClick ? selectedLastCommentId : (lastComment && lastComment.commentId) || 0,\n dealId: selectedDealData.dealId,\n title: title,\n comment: {\n text: `${userSelection.value !== '' ? 'To ' + userSelection.label + ': ' : ''}${comment}`,\n dateTime: new Date(),\n userName: login.userName,\n isClientVisible: isClientVisible,\n IsECBReturnVisible: fromEcb2Return ? true : false,\n from: isIsvCsmUser ? NEXT_ACTION_OWNER.CSM : isIsvRRTeamUser ? NEXT_ACTION_OWNER.RR_TEAM : NEXT_ACTION_OWNER.CLIENT\n },\n isClientScreen: isIsvExternalUser ? true : null,\n }\n handlePostDocumentComment(postData);\n if (isRejectButtonClick) {\n onRejectCommentPosted();\n }\n handleCloseDialog();\n setComment('');\n }\n\n const handleCloseDialog = () => {\n if(isRejectButtonClick) onCloseDialog(comment)\n setIsOpen(false);\n handleCommentsPopup(false);\n setComment('');\n }\n\n const checkButtonStatus = () => {\n const isUserSelected = rejectToggleClicked !== \"reject\" ? userSelection.value === '' : false;\n const isInputValid = comment.trim().length <= 0;\n return (isIsvCsmUser && !rejectLabel && (isUserSelected ? true : isInputValid)) || isInputValid;\n }\n\n const getCommentsData = (commentData) => {\n let data = JSON.parse(commentData.commentText);\n data = data.filter(\n (item) => item.IsECBReturnVisible === (fromEcb2Return ? true : false)\n );\n if (isIsvExternalUser) {\n data.forEach((item) => {\n item.Text = item.Text.replace('To Client: ', '');\n });\n }\n return data.reverse();\n };\n\n const handleCommentInput = (e) => {\n let isValid = false;\n isValid = /^[ A-Za-z0-9-_+,.()]*$/.test(e.target.value);\n isValid && setComment(e.target.value);\n };\n\n return (\n \n {latestComment ? latestComment.Text : isAdditionalComment && isAdditionalComment === 'true' ? 'Additional Comment...' : !isIsvExternalUser ? 'Add Comment...' : 'New Comment...'}\n \n \n \n \n handleCloseDialog()}\n >\n \n handleCloseDialog()}>\n \n \n Comments\n \n {commentData && getCommentsData(commentData).map((commentValue, index) => {\n return {getFullNameInitals(commentValue)}\n })}\n \n \n {\n (((isIsvCsmUser && !rejectLabel && rejectToggleClicked !== \"reject\")) || (fromEcb2Return && isIsvRRTeamUser && !isRejectButtonClick)) &&\n }\n renderInput={(params) => }\n isOptionEqualToValue={(option, value) => option.value === value}\n onChange={(e, value) => setUserSelection(value)}\n />\n }\n handleCommentInput(e)}\n value={comment}\n inputProps={{ maxLength: 1000 }}\n />\n \n Submit\n \n \n \n \n \n )\n}\n\nexport default compose(\n connect(\n (state) => ({\n dealId: getIsvCurrentDealId(state),\n login: state.login,\n isIsvExternalUser: isIsvExternalUser(state),\n isIsvCsmUser: isIsvCsmUser(state),\n isIsvRRTeamUser: isIsvRRTeamUser(state),\n commentData: selectLatestCommentsDataForCurrentComment(state),\n isCommentsPopupOpen: selectIsCommentPopUpOpen(state),\n rejectLabel: selectIsvRejectButtonLabel(state),\n }),\n (dispatch) => ({\n handlePostDocumentComment: (data) => {\n dispatch(handlePostDocumentComment(data));\n },\n getLatestCommentsByCommentId: (commentId, isClientScreen, isEcbReturn) => {\n dispatch(getLatestCommentsByCommentId(commentId, isClientScreen, isEcbReturn));\n },\n handleGetLatestCommentsByCommentsId: (data) => {\n dispatch(handleGetLatestCommentsByCommentsId(data))\n },\n handleCommentsPopup: (isOpen) => {\n dispatch(handleCommentsPopup(isOpen))\n },\n handleSubmitDealInformation: (dealId, status) => {\n dispatch(handleSubmitDealInformation(dealId, status))\n }\n })\n )\n)(DealInformationCommentBoxContainer);\n","import React, { useState, useEffect, useRef } from 'react';\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport styled from \"styled-components\";\nimport { Icon } from 'mk-pattern-library-react';\nimport { typography } from \"shared/styles/variables/theme\";\nimport { leftAlignedHeaderStyle, leftAlignedCellStyle, centerAlignedCellStyle } from 'OrderBook/shared/table/styles';\nimport Table from 'OrderBook/dcm/TableContainer/Table';\nimport TableHead from 'OrderBook/dcm/TableContainer/TableHead';\nimport TableBody from 'OrderBook/dcm/TableContainer/TableBody';\nimport TableRow from 'OrderBook/dcm/TableContainer/TableRow';\nimport TableHeaderCell from 'OrderBook/dcm/TableContainer/TableHeaderCell';\nimport TableColumnCell from 'OrderBook/dcm/TableContainer/TableColumnCell';\nimport { dateFormatter } from 'OrderBook/SharedTableComponents/formatters';\nimport { getIsvCurrentDeal, isIsvExternalUser, getIsvCurrentDealId, selectLatestCommentsDataForCurrentDeal } from \"Isv/selectors\";\nimport { isIsvRRTeamUser, isIsvCsmUser } from \"selectors\";\nimport ToggleButton from '@mui/material/ToggleButton';\nimport ToggleButtonGroup from '@mui/material/ToggleButtonGroup';\nimport { handleDocumentApproveReject, handleClientDocuments, getLatestCommentsByDealId, getLatestCommentsByCommentId, handleGetLatestCommentsByCommentsId, handleGetLatestCommentsByDealIdResponse, setTitleColumnWidth } from 'Isv/actions/IsvDocumentsAction';\nimport DealInformationCommentBoxContainer from './DealInformationCommentBoxContainer'\nimport {\n NEXT_ACTION_OWNER,\n WORKFLOW_STATUS,\n ISV_DOCUMENT_REVIEW_STATUS,\n ISV_DOCUMENT_TYPE,\n} from 'Isv/constants/isvDocumentReviewStatus'\n\nconst tableHeader = {\n color: '#333333',\n fontWeight: '600',\n fontSize: `${typography.sizes[\"12px\"]}`,\n height: '50px',\n verticalAlign: 'middle'\n}\n\nconst fontSizeDefault = {\n fontSize: `${typography.sizes[\"12px\"]}`,\n height: `50px`\n}\n\nconst iconStyles = {\n width: 22,\n position: 'relative',\n display: 'inline-block',\n color: 'rgb(77, 100, 116)',\n}\n\nconst toggleButton = {\n fontSize: '0.75rem',\n textTransform: 'none',\n padding: '5px 10px',\n display: 'block',\n border: '2px solid #626262',\n color: '#000',\n width: '80px',\n outline: 'none',\n backgroundColor: '#ffffff'\n}\n\nconst approveButton = {\n borderRight: 'unset'\n}\n\nconst selectedToggleButton = {\n ...toggleButton,\n backgroundColor: '#e4eaec'\n}\n\nconst commentsHeader = {\n width: '15%'\n}\n\nconst uploadCellwidth = {\n width: '8%'\n}\n\nconst deleteCellwidth = {\n width: '2%'\n}\n\nconst disabledButton = {\n color: 'rgba(0, 0, 0, 0.26)',\n backgroundColor: 'rgba(0, 0, 0, 0.12)'\n}\n\nconst commentsColumn = {\n maxWidth: '100px'\n}\n\nconst LinkTableRowColumn = styled.span`\n color: #305a85;\n`;\n\nconst IconContainer = styled.span`\n display: inline-block;\n width: 30px;\n`\n\nconst UpArrowContainer = styled.span`\n position: absolute;\n bottom: 0;\n left: 50%;\n transform: translate(-50%, 0);\n`;\n\nconst FileNameText = styled.div`\n color: black;\n font-size:10px;\n`;\n\nconst ApproveRejectText = styled.span``\n\nconst UpArrowIcon = styled.div`\n width: 0; \n height: 0; \n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid black;\n`\n\nconst InformationTitleColumn = styled.span`\n cursor: ${(props) => props.cursor ? 'pointer' : 'default'};\n`\n\nconst DealInformationTable = ({\n viewDocument,\n handleOpenUploadOverlay,\n selectedDealData,\n isIsvRRTeamUser,\n isIsvExternalUser,\n handleDocumentApproveReject,\n handleDeleteConfirmationDialogue,\n handleClientDocuments,\n isIsvCsmUser,\n dealId,\n getLatestCommentsByDealId,\n latestCommentsDataForCurrentDeal,\n getLatestCommentsByCommentId,\n handleGetLatestCommentsByCommentsId,\n handleGetLatestCommentsByDealIdResponse,\n setTitleColumnWidth,\n}) => {\n\n const [documentStatus, setDocumentStatus] = useState('');\n const [selectedDocumentIndex, setSelectedDocumentIndex] = useState(null);\n const [dealInformationTableData, setDealInformationTableData] = useState(null);\n const [isClientSupportingDocument, setClientSupportingDocument] = useState(false)\n const [isRejectButtonClick, setIsRejectButtonClick] = useState(false);\n const [selectedDealDocumentData, setSelectedDealDocumentData] = useState(null);\n const [selectedLastCommentId, setSelectedLastCommentId] = useState(null);\n const [selectedLastCommentTitle, setSelectedLastCommentTitle] = useState(null);\n const [isCSMApproved, setIsCSMApproved] = useState(null)\n const [isRRApproved, setIsRRApproved] = useState(null)\n const titleTableColumnWidth = useRef()\n\n useEffect(() => {\n handleGetLatestCommentsByDealIdResponse(null)\n getLatestCommentsByDealId(dealId, isIsvExternalUser ? true : null, false);\n let latestTableData = [];\n selectedDealData.clientDocumentFile && selectedDealData.clientDocumentFile.length && selectedDealData.clientDocumentFile.map((item) => item.isClientSupportingDocument && latestTableData.push(item))\n latestTableData.length && setClientSupportingDocument(true)\n latestTableData = selectedDealData && selectedDealData.dealDocumentMapping && (selectedDealData.dealDocumentMapping.filter(doc => doc.document && doc.document.category && doc.document.category.documentCategoryName !== ISV_DOCUMENT_TYPE.ECB_RETURN_DOCUMENT)).concat(latestTableData);\n setDealInformationTableData(latestTableData);\n handleClientDocuments(latestTableData);\n if (titleTableColumnWidth) {\n const titleColumnWidth = titleTableColumnWidth.current.childNodes[0].children[0].childNodes[0].childNodes[0].offsetWidth;\n setTitleColumnWidth(titleColumnWidth);\n }\n }, [selectedDealData && selectedDealData.dealDocumentMapping])\n\n useEffect(() => {\n handleGetLatestCommentsByDealIdResponse(null);\n getLatestCommentsByDealId(dealId, isIsvExternalUser ? true : null, false);\n },[])\n\n const viewSelectedDocument = (clientDocument, adminDocument, dealDocumentId) => {\n let clientFieldId = clientDocument && clientDocument.clientFileId? clientDocument.clientFileId:null\n const fileSelected = clientFieldId ? clientDocument : adminDocument\n if(fileSelected.fileName) {\n viewDocument(clientFieldId, fileSelected.title, fileSelected.fileName, dealDocumentId);\n }\n }\n\n const handleDocumentStatusChange = (e, newStatus, index, dealDocumentData) => {\n setDocumentStatus(newStatus)\n setSelectedDocumentIndex(index);\n setSelectedDealDocumentData(dealDocumentData);\n setSelectedLastCommentId(dealDocumentData.lastCommentId)\n setSelectedLastCommentTitle(dealDocumentData.lastCommentTitle);\n setIsCSMApproved(dealDocumentData.isCsmApproved);\n setIsRRApproved(dealDocumentData.isRrApproved);\n\n if (newStatus === \"approve\") {\n const postData = getApproveRejectPostData(dealDocumentData);\n handleDocumentApproveReject(postData);\n } else {\n if((isIsvCsmUser && dealDocumentData.isCsmApproved !== false) || (isIsvRRTeamUser && dealDocumentData.isRrApproved !== false)) {\n setIsRejectButtonClick(true);\n handleGetLatestCommentsByCommentsId(null);\n dealDocumentData.lastCommentId && getLatestCommentsByCommentId(dealDocumentData.lastCommentId, isIsvCsmUser || isIsvRRTeamUser ? null : (isIsvExternalUser ? true : false), false);\n }\n }\n };\n\n const getApproveRejectPostData = (dealDocumentData) => {\n const postData = {\n clientFileId: dealDocumentData.clientFileId,\n isCsmApproved: isIsvCsmUser ? dealDocumentData.status : dealDocumentData.isCsmApproved,\n isRrApproved: !isIsvCsmUser ? dealDocumentData.status : dealDocumentData.isRrApproved,\n selectedDealData: selectedDealData,\n isIsvCsmUser: isIsvCsmUser\n }\n return postData\n }\n\n const onDialogClose = (comment) => {\n setIsRejectButtonClick(false);\n setDocumentStatus('')\n if(!comment && ((isIsvCsmUser && isCSMApproved) || (isRRApproved && isIsvRRTeamUser))) {\n const postData = {\n clientFileId: selectedDealDocumentData.clientFileId,\n isCsmApproved: (isIsvCsmUser && isCSMApproved) ? null : isCSMApproved,\n isRrApproved: (!isIsvCsmUser && isRRApproved) ? null : isRRApproved,\n selectedDealData: selectedDealData,\n isIsvCsmUser: isIsvCsmUser\n }\n handleDocumentApproveReject(postData);\n }\n }\n\n const handleRejectCommentPosted = () => { \n const postData = getApproveRejectPostData(selectedDealDocumentData);\n handleDocumentApproveReject(postData);\n }\n\n return (\n
\n \n \n \n \n Title\n \n \n Comments\n \n {!isIsvExternalUser &&\n \n Approve / Reject\n \n }\n \n Upload Date\n \n {\n !isIsvRRTeamUser &&\n <>\n \n Upload\n \n \n Delete\n \n \n }\n \n \n {dealInformationTableData && dealInformationTableData.length ?\n \n {dealInformationTableData.map((doc, index) => {\n const isDocument = doc.document && doc.document.fileName;\n const isSupportingDocument = doc.isClientSupportingDocument;\n const isClientFile = selectedDealData.clientDocumentFile.find(item => item.title === (doc.document && doc.document.title)) || (isSupportingDocument && doc)\n const isCsmApproved =\n isIsvCsmUser && isClientFile && isClientFile.isCsmApproved\n ? true\n : isIsvCsmUser && isClientFile && isClientFile.isCsmApproved === false\n ? false\n : null;\n const isRrApproved =\n isIsvRRTeamUser && isClientFile && isClientFile.isRrApproved\n ? true\n : isIsvRRTeamUser && isClientFile && isClientFile.isRrApproved === false\n ? false\n : null;\n const isToggleButtonDisabled = selectedDealData && isClientFile && ( \n (selectedDealData.status.nextAction === NEXT_ACTION_OWNER.CLIENT) ||\n (isIsvCsmUser && isClientFile.isCsmDocReviewed !== null) ||\n (isIsvRRTeamUser && (isClientFile.isRrDocReviewed !== null || selectedDealData.status.nextAction === NEXT_ACTION_OWNER.CSM))\n )\n\n const isCsmApprovedInformation = selectedDealData && isClientFile && (\n (isIsvExternalUser && isClientFile.isClientDocReviewed) ||\n (isIsvCsmUser && isClientFile.isCsmApproved && isClientFile.isCsmDocReviewed) ||\n (isIsvRRTeamUser && isClientFile.isRrApproved && isClientFile.isRrDocReviewed)\n )\n\n const lastComment =\n latestCommentsDataForCurrentDeal &&\n latestCommentsDataForCurrentDeal.length > 0 &&\n latestCommentsDataForCurrentDeal.find(\n (item) => item.title === ((doc.document && doc.document.title) || (isSupportingDocument && doc && doc.title))\n );\n const isSubmittedForReview = selectedDealData && selectedDealData.status.nextAction !== NEXT_ACTION_OWNER.CLIENT; \n\n const isCsmRejected = isClientFile && selectedDealData && (\n ( isIsvExternalUser && isClientFile.isClientDocReviewed === false) ||\n ( isIsvCsmUser && isClientFile.isCsmApproved === false && isClientFile.isCsmDocReviewed === false) ||\n ( isIsvRRTeamUser && isClientFile.isRrApproved === false && isClientFile.isRrDocReviewed === false))\n \n const isEnableUploadAndDeleteForCsmUser = isIsvCsmUser && selectedDealData && selectedDealData.status && selectedDealData.status.workflowName === WORKFLOW_STATUS.DRAFT_ECB_SUBMISSION && ((isClientFile && isClientFile.isCsmFinalStatus !== true) || !isClientFile ) && (selectedDealData.status.statusName === ISV_DOCUMENT_REVIEW_STATUS.PENDING_ONE_WAY_LETTER || selectedDealData.status.statusName === ISV_DOCUMENT_REVIEW_STATUS.PENDING_FIRST_REVIEW) && !isSupportingDocument;\n return (\n \n \n \n viewSelectedDocument(isClientFile, doc.document, doc.documentId)} >\n {(doc.document && doc.document.title) || doc.title}\n \n {isClientFile && isClientFile.fileName}\n \n \n \n \n \n {!isIsvExternalUser &&\n \n \n handleDocumentStatusChange(e, value, index, {\n clientFileId: isClientFile.clientFileId,\n status: value === \"approve\" ? true : false,\n isCsmApproved: isClientFile.isCsmApproved,\n isRrApproved: isClientFile.isRrApproved,\n lastCommentId: lastComment && lastComment.commentId ? lastComment.commentId : 0,\n lastCommentTitle: ((doc.document && doc.document.title && doc.document.title) || (doc.title)) || (lastComment && lastComment.title)\n })\n }\n >\n \n Approve \n {(isCsmApproved || isRrApproved) && (\n \n \n \n )}\n \n \n Reject \n {(isCsmApproved === false || isRrApproved === false) && (\n \n \n \n )}\n \n \n \n }\n \n {dateFormatter( isClientFile ? \"dayMonthYearGMTtoISTZone\" : \"dayMonthYearISTZone\", isClientFile ? isClientFile.createdDate : doc.createdDate)}\n \n {\n !isIsvRRTeamUser &&\n <>\n \n handleOpenUploadOverlay(true, isClientFile ? isClientFile : doc.document, isClientFile ? isClientFile.title : doc.document.title) :\n () => !isIsvCsmUser && !isCsmApprovedInformation && !isSubmittedForReview && handleOpenUploadOverlay(true, isClientFile ? isClientFile : doc.document, isClientFile ? isClientFile.title : doc.document.title)}>\n \n \n \n \n {\n isClientSupportingDocument ?\n handleDeleteConfirmationDialogue(true, isClientFile.clientFileId) :\n () => !isIsvCsmUser && !isCsmApprovedInformation && !isSubmittedForReview && handleDeleteConfirmationDialogue(true, isClientFile.clientFileId)}>\n \n : null\n }\n \n \n }\n \n );\n })}\n : null\n }\n
\n
\n )\n}\n\nexport default compose(\n connect(\n (state) => ({\n selectedDealData: getIsvCurrentDeal(state),\n isIsvExternalUser: isIsvExternalUser(state),\n isIsvCsmUser: isIsvCsmUser(state),\n isIsvRRTeamUser: isIsvRRTeamUser(state),\n dealId: getIsvCurrentDealId(state),\n latestCommentsDataForCurrentDeal: selectLatestCommentsDataForCurrentDeal(state),\n }),\n (dispatch) => ({\n handleDocumentApproveReject: (data) => {\n dispatch(handleDocumentApproveReject(data));\n },\n handleClientDocuments: (data) => {\n dispatch(handleClientDocuments(data));\n },\n getLatestCommentsByDealId: (dealId, isClientScreen, isEcbReturn) => {\n dispatch(getLatestCommentsByDealId(dealId, isClientScreen, isEcbReturn));\n },\n getLatestCommentsByCommentId: (commentId, isClientScreen, isEcbReturn) => {\n dispatch(getLatestCommentsByCommentId(commentId, isClientScreen, isEcbReturn));\n },\n handleGetLatestCommentsByCommentsId: (data) => {\n dispatch(handleGetLatestCommentsByCommentsId(data))\n },\n handleGetLatestCommentsByDealIdResponse: (data) => {\n dispatch(handleGetLatestCommentsByDealIdResponse(data))\n },\n setTitleColumnWidth: (width) => {\n dispatch(setTitleColumnWidth(width))\n }\n })\n )\n)(DealInformationTable);","import React, { PureComponent } from \"react\";\nimport styled from \"styled-components\";\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport { fontColors } from \"shared/styles/variables/theme\";\nimport { applyIsvCloseBanner, handleConfirmationDialogue } from \"Isv/actions/IsvInformationBannerAction\";\nimport FileUploadOverlay from 'Isv/components/FileUpload/FileUploadOverlays/FileUploadOverlay';\nimport { isIsvRRTeamUser, isIsvCsmUser } from \"selectors\";\nimport IsvInformationBanner from \"Isv/components/InformationBanner/InformationBanner\"\nimport DealInformationTable from './DealInformationTable'\nimport ConfirmationDialog from 'Isv/components/common/ConfirmationDialog';\nimport {\n viewDocument,\n handleOpenUploadOverlay,\n deleteSupportingDocument,\n handleSubmitDealInformation,\n handeFinalSubmission,\n handleCommentsPopup,\n getLatestCommentsByCommentId,\n handleGetLatestCommentsByCommentsId,\n downloadAllDocuments,\n handleReferenceInformationStatus\n} from 'Isv/actions/IsvDocumentsAction';\nimport {\n getIsvCurrentDealId,\n getIsvCurrentDeal,\n dealInformationBannerReducer,\n isIsvExternalUser,\n selectConfirmationBannerStatus,\n selectDocumentDeleteId,\n selectLatestCommentsDataForCurrentDeal,\n selectIsvTableColumnWidth,\n dataFetching\n} from \"Isv/selectors\";\nimport { PrimaryButton, SecondarySlateButton, SecondaryButton } from 'mk-pattern-library-react';\nimport { primaryBtnStyle, defaultBtnStyle } from 'Isv/styles/buttonStyle';\nimport DealInformationCommentBoxContainer from './DealInformationCommentBoxContainer';\nimport { browserHistory } from 'react-router';\nimport {\n WORKFLOW_STATUS,\n ISV_DOCUMENT_REVIEW_STATUS,\n NEXT_ACTION_OWNER,\n REJECTED_STATUS,\n ISV_DOCUMENT_TYPE\n} from 'Isv/constants/isvDocumentReviewStatus'\nimport Loading from 'shared/components/Loading';\n\nconst Header = styled.h2`\n font-size: 26px;\n color: ${fontColors.black};\n font-weight: 600;\n`;\n\nconst InformationButtonContainer = styled.div`\n margin: 20px 0;\n display: flex;\n justify-content : flex-end;\n width: 100%\n button {\n &:not(:first-child) {\n margin-left: 20px;\n }\n \n }\n`\nconst CommentStyle = styled.div`\n border: 1px solid #d8d8d8;\n border-radius: 2px;\n padding: 5px;\n width: 100%;\n font-size: 12px;\n margin-top: 5px;\n`\n\nconst DocumentActionContainer = styled.div`\n display: flex;\n align-items: center;\n width: 100%;\n`\n\nconst AdditionalCommentContainer = styled.div`\n max-width: ${(props) => (props.isClientData ? props.width - 14 : props.width) + 'px'};\n width: 100%;\n`\n\nconst AdditonalCommentHeader = styled.span`\n font-weight: 600;\n font-size: 12px;\n`\nconst LoadingContainer = styled.div`\n position: fixed;\n top: 0px;\n left: 0px;\n z-index: 999;\n height: 100%;\n width: 100%;\n`;\n\nconst LoadingWrapper = styled.div`\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%,-50%);\n`;\n\nclass DealInformation extends PureComponent {\n\n state = {\n isSupportingUploadButtonDisabled: false,\n documentStatusrole: this.props.isIsvCsmUser ? 'isCsmApproved' : 'isRrApproved',\n isFinalReviewCompleted: false,\n }\n\n viewDocument = (documentId, title, fileName, dealDocumentId) => {\n this.props.viewDocument(documentId, title, fileName, dealDocumentId);\n }\n\n CheckReviewSubmitted = (dealDocuments) => {\n let isSubmitReviewButtonDisabled = true;\n dealDocuments && dealDocuments.forEach(doc => {\n isSubmitReviewButtonDisabled = doc.document.clientDocumentFile.length ? false: true;\n });\n return isSubmitReviewButtonDisabled;\n }\n\n CheckSubmitEnabled = (dealDocuments, nextAction) => {\n let count = 0, isSubmitButtonDisabled;\n const currentDate = new Date();\n currentDate.setHours(0, 0, 0, 0);\n if (dealDocuments && dealDocuments.clientDocumentFile) {\n dealDocuments.clientDocumentFile.forEach(doc => {\n !doc[this.state.documentStatusrole] && count++;\n });\n isSubmitButtonDisabled = dealDocuments && dealDocuments.status && dealDocuments.status.nextAction !== nextAction ? true : count >= 1;\n }\n return isSubmitButtonDisabled;\n }\n\n handleSubmitDealInformation = (dealId, label) => {\n const { selectedDealData, isIsvCsmUser } = this.props;\n const currentDate = new Date();\n currentDate.setHours(0, 0, 0, 0);\n\n if ((selectedDealData && isIsvCsmUser && selectedDealData.status && \n selectedDealData.status.statusName !== \"Completed\" && selectedDealData.status.nextAction === \"CSM\") && \n ((selectedDealData.isFinalSubmission && selectedDealData.maturityDate == null) || \n (selectedDealData.maturityDate !== null && currentDate > new Date(selectedDealData.maturityDate)))\n ) {\n browserHistory.push({ pathname: \"/\", state: { fromDealInformation: true } });\n } \n else {\n this.props.handleSubmitDealInformation(dealId, label)\n }\n }\n\n enableDisableInformationBanner = (selectedDealData) => {\n return selectedDealData && selectedDealData.status && \n ((this.props.isIsvExternalUser && selectedDealData.status.nextAction === NEXT_ACTION_OWNER.CLIENT) || \n (this.props.isIsvCsmUser && selectedDealData.status.nextAction === NEXT_ACTION_OWNER.CSM) ||(this.props.isIsvRRTeamUser && selectedDealData.status.nextAction === NEXT_ACTION_OWNER.RR_TEAM)) \n }\n\n CheckInformationBannerText = () => {\n const { selectedDealData } = this.props;\n if (this.props.isIsvExternalUser){\n let status = selectedDealData && selectedDealData.status &&\n selectedDealData.status.workflowName === WORKFLOW_STATUS.DRAFT_ECB_SUBMISSION\n ? \"Please upload all information prior to submitting for HSBC review. If uploading additional information not assigned to your deal, please use “Upload” button at the bottom of the screen, if uploading for information assigned to your deal, please use the upload icon in “Download/Upload/Delete” column.\"\n : selectedDealData && selectedDealData.status &&\n selectedDealData.status.workflowName === WORKFLOW_STATUS.FINAL_ECB_SUBMISSION &&\n selectedDealData.status.statusName === ISV_DOCUMENT_REVIEW_STATUS.PENDING_ONE_WAY_LETTER\n ? \"Please upload all information (signed where required) for HSBC review.\"\n : \"\";\n return status;\n }\n else if (this.props.isIsvRRTeamUser)\n return \"Please ensure you review each information prior to approving/rejecting. If rejecting, a comment is required to be added. You can view the information by clicking on the title column.\";\n else\n return \"Please ensure you review each information prior to approving/rejecting. If rejecting, a comment is required to be added. You can view the information by clicking on the title. To upload information relating to the template, please use the upload icon in Upload column. To delete information from the deal, please use the delete icon in Delete column.\";\n }\n\n handleUploadSubmitButton = (deleteDocumentId, isFinalReviewCompleted, isCSMFinalSubmission) => {\n if (isFinalReviewCompleted) {\n this.handleSubmitDealInformation(this.props.dealId, 'SubmitToRBI');\n this.setState({\n isFinalReviewCompleted: false\n });\n this.props.handleConfirmationDialogue(false);\n } else if (isCSMFinalSubmission) {\n this.props.handleSubmitDealInformation(this.props.dealId, 'SendToDraft');\n this.props.handleConfirmationDialogue(false);\n } else {\n this.props.handleConfirmationDialogue(false);\n deleteDocumentId ? this.props.deleteSupportingDocument(deleteDocumentId) : this.handleSubmitDealInformation(this.props.dealId, NEXT_ACTION_OWNER.CLIENT);\n }\n }\n\n handleDeleteConfirmationDialogue = (isOpen, deleteDealDocumentId) => {\n this.props.handleConfirmationDialogue(isOpen, deleteDealDocumentId);\n }\n\n enableSubmitForReviewButton = (selectedDealData) => {\n return selectedDealData && selectedDealData.isClientSubmit && selectedDealData.status && selectedDealData.status.nextAction === NEXT_ACTION_OWNER.CLIENT && !selectedDealData.status.ecB2ReturnStatus;\n }\n\n areAllFinalDocsUploaded = (selectedDealData) => {\n let isdocsUploaded = false\n if(selectedDealData.isFinalSubmission) {\n isdocsUploaded = selectedDealData.clientDocumentFile.some((document) => document.fileUploadWorkflow !== \"final\")\n }\n return isdocsUploaded\n }\n\n isRejectButtonEnabled = (selectedDealData, approver, rejectUser) => {\n let count = 0;\n const documentCount = selectedDealData && selectedDealData.clientDocumentFile;\n documentCount && documentCount.length && \n documentCount.forEach(doc => {\n doc[approver] === null && count++;\n });\n return Boolean(count) || !(selectedDealData.status && selectedDealData.status.nextAction === rejectUser)\n }\n\n enableClientUploadButton = (selectedDealData) => {\n return selectedDealData && selectedDealData.status && selectedDealData.status.nextAction === NEXT_ACTION_OWNER.CLIENT;\n }\n\n handleRejectInformation = (dealId, rejectLabel) => {\n this.props.handleSubmitDealInformation(dealId, rejectLabel);\n }\n\n handeFinalSubmission = (dealId, isFinalSubmission, finalReview) => {\n if (finalReview) {\n this.props.handleConfirmationDialogue(true);\n this.setState({ isFinalReviewCompleted: true })\n } else this.props.handeFinalSubmission(dealId, isFinalSubmission);\n }\n\n checkIsFinalReviewCompleted = (selectedDealData) => {\n return selectedDealData && (selectedDealData.status && selectedDealData.status.statusName === ISV_DOCUMENT_REVIEW_STATUS.SUBMITTED_TO_RBI && selectedDealData.status.nextAction === NEXT_ACTION_OWNER.RR_TEAM)\n }\n\n getConfirmationDialogueSubheader = (deleteDocumentId, isFinalReviewCompleted, isFinalSubmission, selectedDealData) => {\n const subHeader = deleteDocumentId ?\n 'Are you sure you want to delete this information?' :\n isFinalReviewCompleted ?\n 'Final review completed. Please download all information using the Download All button and submit to RBI.' :\n isFinalSubmission ?\n (selectedDealData.status.workflowName === WORKFLOW_STATUS.FINAL_ECB_SUBMISSION && selectedDealData.status.statusName === ISV_DOCUMENT_REVIEW_STATUS.PENDING_FIRST_REVIEW) ?\n 'You are sending this deal to Draft ECB Submission workflow. You will need to complete Draft ECB Submission workflow before performing Final ECB Submission workflow again.' :\n 'Information will be submitted for review. Do you want to continue?' :\n 'Information has now been submitted for 1st internal review.'\n return subHeader;\n }\n\n render() {\n\n const {\n dealId,\n isOpen,\n selectedDealData,\n handleCloseBanner,\n isDealInformationBannerOpen,\n handleOpenUploadOverlay,\n isIsvExternalUser,\n handleConfirmationDialogue,\n deleteDocumentId,\n isIsvCsmUser,\n isIsvRRTeamUser,\n latestCommentsDataForCurrentDeal,\n downloadAllDocuments,\n titleTableColumnWidth,\n handleReferenceInformationStatus\n } = this.props;\n handleReferenceInformationStatus(false);\n const { isFinalReviewCompleted } = this.state;\n const lastComment =\n latestCommentsDataForCurrentDeal &&\n latestCommentsDataForCurrentDeal.length > 0 &&\n latestCommentsDataForCurrentDeal.find(\n (item) => item.title === 'Additional Comment' && item.dealId === selectedDealData.dealId\n );\n const isFinalSubmission = selectedDealData && selectedDealData.isFinalSubmission;\n const isFinalCSMSubmission = selectedDealData && selectedDealData.status && selectedDealData.status.nextAction === NEXT_ACTION_OWNER.CSM && selectedDealData.status.workflowName === WORKFLOW_STATUS.FINAL_ECB_SUBMISSION && selectedDealData.status.statusName === ISV_DOCUMENT_REVIEW_STATUS.PENDING_FIRST_REVIEW;\n return (\n <>\n {this.props.loading ? (\n \n \n \n \n \n ) : null}\n
Deal Information
\n {isDealInformationBannerOpen && this.enableDisableInformationBanner(selectedDealData) &&\n \n }\n \n\n \n\n \n \n Additional Comment\n \n \n \n \n\n \n {isIsvExternalUser &&\n <>\n {selectedDealData && selectedDealData.isFinalSubmission !== true &&\n handleOpenUploadOverlay(true)}\n >\n Supporting Document Upload\n \n }\n handleConfirmationDialogue(true)}\n >\n Submit for Review\n \n \n }\n {isIsvCsmUser &&\n <>\n {\n isFinalSubmission && \n handleConfirmationDialogue(true)}\n >\n Send to Draft Workflow\n \n }\n this.handleRejectInformation(dealId, REJECTED_STATUS.REJECTED_BY_CSM)}\n >\n Reject To Client\n \n 0 &&\n selectedDealData.clientDocumentFile.filter((x) => x.isClientSupportingDocument !== true).length) !==\n (selectedDealData.dealDocumentMapping && selectedDealData.dealDocumentMapping.filter((doc => doc && doc.document.category && doc.document.category.documentCategoryName !== ISV_DOCUMENT_TYPE.ECB_RETURN_DOCUMENT)).length )))\n }\n style={primaryBtnStyle}\n onClick={() => this.handleSubmitDealInformation(dealId, NEXT_ACTION_OWNER.CSM)}\n >\n Submit to RR Team\n \n \n }\n {isIsvRRTeamUser &&\n <>\n {\n isFinalSubmission &&\n downloadAllDocuments(dealId, selectedDealData && selectedDealData.referenceId)}\n >\n Download All\n \n }\n this.handleRejectInformation(dealId, REJECTED_STATUS.REJECTED_BY_RR)}\n >\n Reject To CSM\n \n\n this.handeFinalSubmission(dealId, true, isFinalSubmission)}\n >\n {isFinalSubmission ? 'Complete Review' : 'Client Final Submission'}\n \n \n }\n \n \n \n this.handleUploadSubmitButton(deleteDocumentId, isFinalReviewCompleted, isFinalCSMSubmission)}\n isCancelButtonNotRequired={(deleteDocumentId || (isFinalSubmission && selectedDealData && (selectedDealData.status.nextAction === NEXT_ACTION_OWNER.CLIENT || isFinalCSMSubmission))) ? false : true}\n onDeclineClick={() => handleConfirmationDialogue(false)}\n />\n \n )\n }\n}\n\nexport default compose(\n connect(\n (state) => ({\n selectedDealData: getIsvCurrentDeal(state),\n isDealInformationBannerOpen: dealInformationBannerReducer(state),\n isIsvExternalUser: isIsvExternalUser(state),\n isIsvCsmUser: isIsvCsmUser(state),\n isIsvRRTeamUser: isIsvRRTeamUser(state),\n isOpen: selectConfirmationBannerStatus(state),\n deleteDocumentId: selectDocumentDeleteId(state),\n dealId: getIsvCurrentDealId(state),\n latestCommentsDataForCurrentDeal: selectLatestCommentsDataForCurrentDeal(state),\n titleTableColumnWidth: selectIsvTableColumnWidth(state),\n loading: dataFetching(state),\n }),\n (dispatch) => ({\n handleCloseBanner: (label) => {\n dispatch(applyIsvCloseBanner(label))\n },\n handleOpenUploadOverlay: (isOpen, document, title) => {\n dispatch(handleOpenUploadOverlay(isOpen, document, title))\n },\n handleConfirmationDialogue: (value, isopen) => {\n dispatch(handleConfirmationDialogue(value, isopen))\n },\n viewDocument: (documentId, title, fileName, dealDocumentId) => {\n dispatch(viewDocument(documentId, title, fileName, dealDocumentId))\n },\n deleteSupportingDocument: (id) => {\n dispatch(deleteSupportingDocument(id))\n },\n handleSubmitDealInformation: (dealId, status) => {\n dispatch(handleSubmitDealInformation(dealId, status))\n },\n handeFinalSubmission: (dealId, isFinalSubmission) => {\n dispatch(handeFinalSubmission(dealId, isFinalSubmission))\n },\n handleCommentsPopup: (isOpen, isAdditonalComment, rejectLabel) => {\n dispatch(handleCommentsPopup(isOpen, isAdditonalComment, rejectLabel))\n },\n getLatestCommentsByCommentId: (commentId, isClientScreen) => {\n dispatch(getLatestCommentsByCommentId(commentId, isClientScreen));\n },\n handleGetLatestCommentsByCommentsId: (data) => {\n dispatch(handleGetLatestCommentsByCommentsId(data))\n },\n downloadAllDocuments: (dealId, referenceId) => {\n dispatch(downloadAllDocuments(dealId, referenceId))\n },\n handleReferenceInformationStatus: (status) => {\n dispatch(handleReferenceInformationStatus(status))\n }\n })\n )\n)(DealInformation);\n","import React from 'react'\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport styled from 'styled-components';\nimport Dialog from '@mui/material/Dialog';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DialogContent from '@mui/material/DialogContent';\nimport FileMetaForm from 'Isv/components/FileUpload/FileMetaForm/FileMetaForm'\nimport DocumentFileUploader from 'Isv/components/FileUpload/DocumentFileUploader/DocumentFileUploader'\nimport { uploadRefPostDocument,handleOpenUploadOverlay, startUploadingFile } from 'Isv/actions/IsvDocumentsAction';\nimport { selectUploadedOverlayStatus, selectUploadedFile , getIsvCurrentDealId, selectIsRefDocumentUploaded, selectedReferenceInformationDataForCurrentDeal} from \"Isv/selectors\";\nimport ProgressBar from 'Isv/components/common/ProgressBar'\nimport utils from 'Isv/util/util';\nimport FILE_UPLOAD_STATES from 'Isv/constants/fileUploadStates';\nimport {isIsvRRTeamUser} from 'selectors';\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n`;\n\nconst RefFileUploadOverlay = ({ \n isOpen, handleOpenUploadOverlay, uploadRefPostDocument, file, status, dealId, isRefDocumentUploaded, selectedReferenceInformationData,isRrUser \n }) =>\n {\n const CheckReferenceFileTitle = (selectedReferenceInformationData, title, isSupportingDocument) => {\n let count = 0;\n selectedReferenceInformationData && selectedReferenceInformationData.length && \n selectedReferenceInformationData.forEach(element => {\n element.title === title && isSupportingDocument && count++\n });\n return count;\n }\n \n const uploadRefDocument = (document) => {\n const dataFD = new FormData();\n const title = document.title.trim();\n dataFD.append('title', title);\n dataFD.append('PostedFile', file);\n dataFD.append('DocRefId', document.docRefId || 0);\n dataFD.append('dealId', dealId);\n dataFD.append('isRefDocumentUploaded', isRefDocumentUploaded);\n dataFD.append('isRrUser', isRrUser);\n const isTitleAlreadyExist = CheckReferenceFileTitle(selectedReferenceInformationData, title, document.isSupportingDocument); \n uploadRefPostDocument(dataFD, isTitleAlreadyExist, isRefDocumentUploaded, document, isRrUser);\n }\n\n return (\n \n handleOpenUploadOverlay(false)}\n >\n File Upload\n \n \n \n \n {utils.isState(status, FILE_UPLOAD_STATES.IN_PROGRESS) && }\n \n \n )\n}\n\nexport default compose(\n connect(\n (state) => ({\n isOpen: selectUploadedOverlayStatus(state),\n file: selectUploadedFile(state),\n status: state.isvDocuments.status,\n dealId: getIsvCurrentDealId(state),\n isRefDocumentUploaded:selectIsRefDocumentUploaded(state),\n selectedReferenceInformationData: selectedReferenceInformationDataForCurrentDeal(state),\n isRrUser: isIsvRRTeamUser(state),\n }),\n (dispatch) => ({\n uploadRefPostDocument: (data, isTitleAlreadyExist, isRefDocumentUploaded, document, isRrUser) => {\n dispatch(startUploadingFile())\n dispatch(uploadRefPostDocument(data, isTitleAlreadyExist, isRefDocumentUploaded, document, isRrUser))\n },\n handleOpenUploadOverlay: (isOpen) => {\n dispatch(handleOpenUploadOverlay(isOpen))\n }\n })\n )\n)(RefFileUploadOverlay);\n","import React, { useState, useEffect, useRef } from 'react';\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport styled from \"styled-components\";\nimport { typography } from \"shared/styles/variables/theme\";\nimport { Icon } from 'mk-pattern-library-react';\nimport { leftAlignedHeaderStyle, leftAlignedCellStyle, centerAlignedCellStyle } from 'OrderBook/shared/table/styles';\nimport Table from 'OrderBook/dcm/TableContainer/Table';\nimport TableHead from 'OrderBook/dcm/TableContainer/TableHead';\nimport TableBody from 'OrderBook/dcm/TableContainer/TableBody';\nimport TableRow from 'OrderBook/dcm/TableContainer/TableRow';\nimport TableHeaderCell from 'OrderBook/dcm/TableContainer/TableHeaderCell';\nimport TableColumnCell from 'OrderBook/dcm/TableContainer/TableColumnCell';\nimport { dateFormatter } from 'OrderBook/SharedTableComponents/formatters';\nimport { isIsvExternalUser, getIsvCurrentDealId, selectedReferenceInformationDataForCurrentDeal } from \"Isv/selectors\";\nimport { isIsvRRTeamUser, isIsvCsmUser } from \"selectors\";\nimport { setTitleColumnWidth, getReferenceDataForCurrentDeal, handleReferenceInformationDataForCurrentDeal } from 'Isv/actions/IsvDocumentsAction';\n\nconst tableHeader = {\n color: \"#333333\",\n fontWeight: \"600\",\n fontSize: `${typography.sizes[\"12px\"]}`,\n height: \"50px\",\n verticalAlign: \"middle\",\n};\n\nconst fontSizeDefault = {\n fontSize: `${typography.sizes[\"12px\"]}`,\n height: `50px`,\n};\n\nconst deleteCellwidth = {\n width: '3%'\n}\n\nconst commentsHeader = {\n width: \"15%\",\n};\n\nconst uploadCellwidth = {\n width: \"8%\",\n};\n\nconst reUploadCellwidth = {\n width: \"4%\",\n};\n\nconst iconStyles = {\n width: 22,\n position: 'relative',\n display: 'inline-block',\n color: 'rgb(77, 100, 116)',\n cursor: 'pointer',\n}\n\nconst IconContainer = styled.span`\n display: inline-block;\n width: 30px;\n`\n\nconst LinkTableRowColumn = styled.span`\n color: #305a85;\n`;\n\nconst InformationTitleColumn = styled.span`\n cursor: ${(props) => props.cursor ? 'pointer' : 'default'};\n`;\n\nconst FileNameText = styled.div`\n color: black;\n font-size:10px;\n`;\n\nconst ReferenceInformationTable = ({ \n dealId,\n setTitleColumnWidth,\n viewDocument,\n handleDeleteConfirmationDialogue,\n selectedReferenceData,\n getReferenceDataForCurrentDeal,\n isIsvRRTeamUser,\n handleReferenceInformationDataForCurrentDeal,\n handleOpenUploadOverlay\n}) => {\n const [referenceInformationData, setReferenceInformationData] = useState(null);\n\n const titleTableColumnWidth = useRef()\n \n useEffect(() => {\n handleReferenceInformationDataForCurrentDeal(null);\n getReferenceDataForCurrentDeal(dealId, isIsvRRTeamUser);\n },[])\n\n useEffect(() => {\n setReferenceInformationData(selectedReferenceData);\n handleReferenceInformationDataForCurrentDeal(selectedReferenceData);\n \n if (titleTableColumnWidth) {\n const titleColumnWidth = titleTableColumnWidth.current.childNodes[0].children[0].childNodes[0].childNodes[0].offsetWidth;\n setTitleColumnWidth(titleColumnWidth);\n }\n }, [selectedReferenceData])\n\n const viewSelectedDocument = (refDocument, docRefId) => {\n viewDocument(docRefId, refDocument.title, refDocument.fileName);\n }\n\n return (\n
\n \n \n \n \n Title\n \n \n Uploaded By\n \n \n Upload Date\n \n \n Upload\n \n \n Delete\n \n \n \n \n {\n referenceInformationData &&\n referenceInformationData.length > 0 &&\n referenceInformationData.map((doc, index) => \n {\n return (\n \n \n \n viewSelectedDocument(doc, doc.docRefId)}\n >\n {`${doc.title}`}\n \n {doc.fileName && {doc.fileName}}\n \n \n \n {doc.uploadedBy}\n \n \n {dateFormatter(\"dayMonthYearGMTtoISTZone\", doc.createdDate)}\n \n \n handleOpenUploadOverlay(true, doc, doc.title, false, true)}>\n \n \n \n \n {\n handleDeleteConfirmationDialogue(true, doc.docRefId)}>\n \n \n }\n \n \n );\n }) \n }\n \n
\n
\n );\n};\n\nexport default compose(\n connect(\n (state) => ({\n isIsvExternalUser: isIsvExternalUser(state),\n isIsvCsmUser: isIsvCsmUser(state),\n isIsvRRTeamUser: isIsvRRTeamUser(state),\n dealId: getIsvCurrentDealId(state),\n selectedReferenceData: selectedReferenceInformationDataForCurrentDeal(state),\n }),\n (dispatch) => ({\n setTitleColumnWidth: (width) => {\n dispatch(setTitleColumnWidth(width))\n },\n getReferenceDataForCurrentDeal: (dealId, isIsvRRTeamUser) => {\n dispatch(getReferenceDataForCurrentDeal(dealId, isIsvRRTeamUser))\n },\n handleReferenceInformationDataForCurrentDeal: (data) => {\n dispatch(handleReferenceInformationDataForCurrentDeal(data))\n }\n })\n )\n)(ReferenceInformationTable);","import React, { PureComponent } from \"react\";\nimport styled from \"styled-components\";\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport { fontColors } from \"shared/styles/variables/theme\";\nimport { applyIsvCloseBanner, handleConfirmationDialogue } from \"Isv/actions/IsvInformationBannerAction\";\nimport RefFileUploadOverlay from 'Isv/components/FileUpload/FileUploadOverlays/RefFileUploadOverlay';\nimport { isIsvRRTeamUser, isIsvCsmUser } from \"selectors\";\nimport IsvInformationBanner from \"Isv/components/InformationBanner/InformationBanner\"\nimport ReferenceInformationTable from '../ReferenceInformation/ReferenceInformationTable'\nimport ConfirmationDialog from 'Isv/components/common/ConfirmationDialog';\nimport {\n viewReferenceDocument,\n handleOpenUploadOverlay,\n deleteReferenceDocument,\n handleReferenceInformationStatus\n} from 'Isv/actions/IsvDocumentsAction';\nimport {\n getIsvCurrentDealId,\n selectedReferenceInformationDataForCurrentDeal,\n referenceInformationBannerReducer,\n isIsvExternalUser,\n selectConfirmationBannerStatus,\n selectDocumentDeleteId,\n selectIsvTableColumnWidth,\n dataFetching\n} from \"Isv/selectors\";\nimport { PrimaryButton } from 'mk-pattern-library-react';\nimport { primaryBtnStyle } from 'Isv/styles/buttonStyle';\nimport Loading from 'shared/components/Loading';\n\nconst Header = styled.h2`\n font-size: 26px;\n color: ${fontColors.black};\n font-weight: 600;\n`;\n\nconst InformationButtonContainer = styled.div`\n margin: 20px 0;\n display: flex;\n justify-content : flex-end;\n width: 100%\n button {\n &:not(:first-child) {\n margin-left: 20px;\n }\n }\n`\nconst DocumentActionContainer = styled.div`\n display: flex;\n align-items: center;\n width: 100%;\n`\n\nconst LoadingContainer = styled.div`\n position: fixed;\n top: 0px;\n left: 0px;\n z-index: 999;\n height: 100%;\n width: 100%;\n`;\n\nconst LoadingWrapper = styled.div`\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%,-50%);\n`;\n\nclass ReferenceInformation extends PureComponent {\n \n viewDocument = (docRefId, title, fileName) => {\n this.props.viewReferenceDocument(docRefId, title, fileName);\n }\n\n enableDisableInformationBanner = () => {\n return this.props.isIsvCsmUser||this.props.isIsvRRTeamUser; \n }\n\n CheckInformationBannerText = () => {\n if (this.props.isIsvCsmUser || this.props.isIsvRRTeamUser){\n return \"You can upload reference information or documents of this deal here. Please use New Reference Document button to add new information. You can click on uploaded document title to download the document.\"\n }\n }\n\n handleDeleteReferenceDocument = (deleteDocumentId) => {\n this.props.handleConfirmationDialogue(false);\n if(deleteDocumentId ) \n this.props.deleteReferenceDocument(deleteDocumentId);\n }\n\n handleDeleteConfirmationDialogue = (value, deleteDocRefId) => {\n this.props.handleConfirmationDialogue(value, deleteDocRefId);\n }\n\n getConfirmationDialogueSubheader = (deleteDocumentId) => {\n if(deleteDocumentId)\n return 'Are you sure you want to delete this information?';\n }\n\n handleReferenceDocUpload = (isOpen, document, title) => {\n this.props.handleOpenUploadOverlay(isOpen, document, title, false, true)\n this.setState({ isReviewSubmitted: false })\n }\n\n render() {\n const {\n isOpen,\n handleCloseBanner,\n isReferenceInformationBannerOpen,\n handleOpenUploadOverlay,\n handleConfirmationDialogue,\n deleteDocumentId,\n isIsvCsmUser,\n isIsvRRTeamUser,\n handleReferenceInformationStatus\n } = this.props;\n handleReferenceInformationStatus(true);\n return (\n <>\n {this.props.loading ? (\n \n \n \n \n \n ) : null}\n
Reference Information
\n {isReferenceInformationBannerOpen && this.enableDisableInformationBanner &&\n \n }\n \n\n \n\n \n \n {(isIsvCsmUser || isIsvRRTeamUser) &&\n <>\n handleOpenUploadOverlay(true, null, null, false, true)}\n >\n New Reference Document\n \n \n }\n \n \n \n this.handleDeleteReferenceDocument(deleteDocumentId)}\n isCancelButtonNotRequired={deleteDocumentId ? false : true}\n onDeclineClick={() => handleConfirmationDialogue(false)}\n />\n \n )\n }\n}\n\nexport default compose(\n connect(\n (state) => ({\n selectedReferenceData: selectedReferenceInformationDataForCurrentDeal(state),\n isReferenceInformationBannerOpen: referenceInformationBannerReducer(state),\n isIsvExternalUser: isIsvExternalUser(state),\n isIsvCsmUser: isIsvCsmUser(state),\n isIsvRRTeamUser: isIsvRRTeamUser(state),\n deleteDocumentId: selectDocumentDeleteId(state),\n dealId: getIsvCurrentDealId(state),\n titleTableColumnWidth: selectIsvTableColumnWidth(state),\n loading: dataFetching(state),\n isOpen:selectConfirmationBannerStatus(state)\n }),\n (dispatch) => ({\n handleCloseBanner: (label) => {\n dispatch(applyIsvCloseBanner(label))\n },\n handleOpenUploadOverlay: (isOpen, document, title, isEcbClientDocUploaded, isReferenceDocUploaded) => {\n dispatch(handleOpenUploadOverlay(isOpen, document, title,isEcbClientDocUploaded, isReferenceDocUploaded))\n },\n handleConfirmationDialogue: (value, deleteDocRefId) => {\n dispatch(handleConfirmationDialogue(value, deleteDocRefId))\n },\n viewReferenceDocument: (docRefId, title, fileName) => {\n dispatch(viewReferenceDocument(docRefId, title, fileName))\n },\n deleteReferenceDocument: (id) => {\n dispatch(deleteReferenceDocument(id))\n },\n handleReferenceInformationStatus: (status) => {\n dispatch(handleReferenceInformationStatus(status))\n }\n })\n )\n)(ReferenceInformation);\n","import React, { useState, useEffect, useRef } from 'react';\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport styled from \"styled-components\";\nimport { typography } from \"shared/styles/variables/theme\";\nimport { Icon } from 'mk-pattern-library-react';\nimport { leftAlignedHeaderStyle, leftAlignedCellStyle, centerAlignedCellStyle } from 'OrderBook/shared/table/styles';\nimport Table from 'OrderBook/dcm/TableContainer/Table';\nimport TableHead from 'OrderBook/dcm/TableContainer/TableHead';\nimport TableBody from 'OrderBook/dcm/TableContainer/TableBody';\nimport TableRow from 'OrderBook/dcm/TableContainer/TableRow';\nimport TableHeaderCell from 'OrderBook/dcm/TableContainer/TableHeaderCell';\nimport TableColumnCell from 'OrderBook/dcm/TableContainer/TableColumnCell';\nimport { dateFormatter } from 'OrderBook/SharedTableComponents/formatters';\nimport DealInformationCommentBoxContainer from '../DealInformation/DealInformationCommentBoxContainer'\nimport { getIsvCurrentDeal, isIsvExternalUser, getIsvCurrentDealId, selectLatestCommentsDataForCurrentDeal, selectedEcb2ReturnDataForCurrentDeal } from \"Isv/selectors\";\nimport { isIsvRRTeamUser, isIsvCsmUser } from \"selectors\";\nimport { getLatestCommentsByDealId, setTitleColumnWidth, getECB2ReturnDataForCurrentDeal, handleGetLatestCommentsByCommentsId, getLatestCommentsByCommentId, handleDocumentApproveReject, handleECB2ReturnDataForCurrentDeal, handleGetLatestCommentsByDealIdResponse } from 'Isv/actions/IsvDocumentsAction';\nimport ToggleButton from '@mui/material/ToggleButton';\nimport ToggleButtonGroup from '@mui/material/ToggleButtonGroup';\n\nconst tableHeader = {\n color: \"#333333\",\n fontWeight: \"600\",\n fontSize: `${typography.sizes[\"12px\"]}`,\n height: \"50px\",\n verticalAlign: \"middle\",\n};\n\nconst fontSizeDefault = {\n fontSize: `${typography.sizes[\"12px\"]}`,\n height: `50px`,\n};\n\nconst deleteCellwidth = {\n width: '2%'\n}\n\nconst commentsHeader = {\n width: \"15%\",\n};\n\nconst uploadCellwidth = {\n width: \"8%\",\n};\n\nconst toggleButton = {\n fontSize: '0.75rem',\n textTransform: 'none',\n padding: '5px 10px',\n display: 'block',\n border: '2px solid #626262',\n color: '#000',\n width: '80px',\n outline: 'none',\n backgroundColor: '#ffffff'\n}\n\nconst approveButton = {\n borderRight: 'unset'\n}\n\nconst selectedToggleButton = {\n ...toggleButton,\n backgroundColor: '#e4eaec'\n}\nconst iconStyles = {\n width: 22,\n position: 'relative',\n display: 'inline-block',\n color: 'rgb(77, 100, 116)',\n cursor: 'pointer',\n}\n\nconst IconContainer = styled.span`\n display: inline-block;\n width: 30px;\n`\n\nconst LinkTableRowColumn = styled.span`\n color: #305a85;\n`;\n\nconst InformationTitleColumn = styled.span`\n cursor: ${(props) => props.cursor ? 'pointer' : 'default'};\n`;\n\nconst FileNameText = styled.div`\n color: black;\n font-size:10px;\n`;\n\nconst UpArrowContainer = styled.span`\n position: absolute;\n bottom: 0;\n left: 50%;\n transform: translate(-50%, 0);\n`;\n\nconst ApproveRejectText = styled.span``\n\nconst UpArrowIcon = styled.div`\n width: 0; \n height: 0; \n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid black;\n`;\n\nconst disabledButton = {\n color: 'rgba(0, 0, 0, 0.26)',\n backgroundColor: 'rgba(0, 0, 0, 0.12)'\n}\n\nconst ECB2ReturnTable = ({ \n selectedDealData,\n isIsvExternalUser,\n isIsvCsmUser,\n dealId,\n getLatestCommentsByDealId,\n latestCommentsDataForCurrentDeal,\n setTitleColumnWidth,\n viewDocument,\n handleOpenUploadOverlay,\n getECB2ReturnDataForCurrentDeal,\n selectedEcb2ReturnDataForCurrentDeal,\n isIsvRRTeamUser,\n handleGetLatestCommentsByCommentsId,\n getLatestCommentsByCommentId,\n handleDocumentApproveReject,\n handleECB2ReturnDataForCurrentDeal,\n handleGetLatestCommentsByDealIdResponse,\n}) => {\n const [ecb2ReturnTableData, setEcb2ReturnTableData] = useState(null);\n const [isRejectButtonClick, setIsRejectButtonClick] = useState(false);\n const [selectedLastCommentTitle, setSelectedLastCommentTitle] = useState(null);\n const [selectedDocumentIndex, setSelectedDocumentIndex] = useState(null);\n const [ecb2ReturnDocumentStatus, setEcb2ReturnDocumentStatus] = useState('');\n const [selectedDealEcb2ReturnDocumentData, setSelectedDealEcb2ReturnDocumentData] = useState(null);\n const [selectedLastCommentId, setSelectedLastCommentId] = useState(null);\n const [isRRApproved, setIsRRApproved] = useState(null)\n\n const titleTableColumnWidth = useRef()\n \n useEffect(() => {\n handleECB2ReturnDataForCurrentDeal(null);\n getECB2ReturnDataForCurrentDeal(dealId);\n },[])\n\n useEffect(() => {\n handleGetLatestCommentsByDealIdResponse(null);\n getLatestCommentsByDealId(dealId, isIsvExternalUser ? true : null, true);\n }, [isIsvExternalUser])\n \n\n useEffect(() => {\n let clientDocument = selectedEcb2ReturnDataForCurrentDeal && selectedEcb2ReturnDataForCurrentDeal.clientDocumentFile.length > 0 && selectedEcb2ReturnDataForCurrentDeal.clientDocumentFile;\n let dealDocumentMapping = selectedEcb2ReturnDataForCurrentDeal && selectedEcb2ReturnDataForCurrentDeal.dealDocumentMapping.length > 0 && selectedEcb2ReturnDataForCurrentDeal.dealDocumentMapping;\n let mergedData = clientDocument && dealDocumentMapping && clientDocument.map((x) => { return {...dealDocumentMapping[0],...x}})\n \n if (mergedData && mergedData.length) {\n setEcb2ReturnTableData(mergedData.reverse());\n }\n\n if (titleTableColumnWidth) {\n const titleColumnWidth = titleTableColumnWidth.current.childNodes[0].children[0].childNodes[0].childNodes[0].offsetWidth;\n setTitleColumnWidth(titleColumnWidth);\n }\n }, [selectedEcb2ReturnDataForCurrentDeal])\n\n const viewSelectedDocument = (clientDocument, adminDocument) => {\n const clientDocFile = clientDocument.uniqueId ? clientDocument.fileName : adminDocument.fileName;\n viewDocument(clientDocument.uniqueId && clientDocument.clientFileId, clientDocument.title, clientDocFile, !clientDocument.uniqueId && adminDocument.documentId);\n }\n\n const handleDocumentStatusChange = (e, newStatus, index, dealEcb2ReturnDocumentData) => {\n setEcb2ReturnDocumentStatus(newStatus)\n setSelectedDocumentIndex(index);\n setSelectedDealEcb2ReturnDocumentData(dealEcb2ReturnDocumentData);\n setSelectedLastCommentId(dealEcb2ReturnDocumentData.lastCommentId)\n setSelectedLastCommentTitle(dealEcb2ReturnDocumentData.lastCommentTitle);\n\n setIsRRApproved(dealEcb2ReturnDocumentData.isRrApproved);\n if (newStatus === \"approve\") {\n const postData = getApproveRejectPostData(dealEcb2ReturnDocumentData);\n handleDocumentApproveReject(postData);\n } else {\n if((isIsvRRTeamUser && dealEcb2ReturnDocumentData.isRrApproved !== false)) {\n setIsRejectButtonClick(true);\n handleGetLatestCommentsByCommentsId(null);\n dealEcb2ReturnDocumentData.lastCommentId && getLatestCommentsByCommentId(dealEcb2ReturnDocumentData.lastCommentId, isIsvExternalUser ? true : null, true);\n }\n }\n };\n\n const getApproveRejectPostData = (dealEcb2ReturnDocumentData) => {\n const postData = {\n clientFileId: dealEcb2ReturnDocumentData.clientFileId,\n isRrApproved: dealEcb2ReturnDocumentData.status,\n dealId: selectedDealData.dealId,\n fromEcb2Return: true,\n ecbReturnStatus: dealEcb2ReturnDocumentData.status,\n }\n return postData\n }\n\n const onDialogClose = (comment) => {\n setIsRejectButtonClick(false);\n if(!comment && (isRRApproved && isIsvRRTeamUser)) {\n const postData = {\n clientFileId: selectedDealEcb2ReturnDocumentData.clientFileId,\n isRrApproved: null,\n fromEcb2Return: true,\n dealId: selectedDealData.dealId,\n ecbReturnStatus: selectedDealEcb2ReturnDocumentData.ecbReturnStatus,\n }\n handleDocumentApproveReject(postData);\n }\n }\n\n const handleRejectCommentPosted = () => { \n const postData = getApproveRejectPostData(selectedDealEcb2ReturnDocumentData);\n handleDocumentApproveReject(postData);\n }\n \n return (\n
\n \n \n \n \n Title\n \n \n Comments\n \n {isIsvRRTeamUser &&\n \n Approve / Reject\n \n }\n \n Upload Date\n \n {isIsvExternalUser && (\n \n Upload\n \n )}\n \n Deadline\n \n \n \n \n {ecb2ReturnTableData &&\n ecb2ReturnTableData.length > 0 &&\n ecb2ReturnTableData.map((doc, index) => {\n const isClientFile = doc && doc.fileName;\n const isDocumentfile = doc.document && doc.document.fileName;\n const lastComment =\n latestCommentsDataForCurrentDeal &&\n latestCommentsDataForCurrentDeal.length > 0 &&\n latestCommentsDataForCurrentDeal.find(\n (item) => item.title === ((doc.title) || (doc.document && doc.document.title)));\n const isRrApproved =\n isIsvRRTeamUser && doc.fileName && doc.isRrApproved\n ? true\n : isIsvRRTeamUser && doc && doc.isRrApproved === false\n ? false\n : null;\n\n const isToggleButtonDisabled = doc && doc.isClientDocReviewed === null ;\n const isUploadDisabled = !(doc.ecbReturnStatus === null || (doc.ecbReturnStatus === false && doc.isRrDocReviewed === true) || (doc.ecbReturnStatus === true && doc.isClientDocReviewed === null));\n const isEcb2ReturnApproved = doc && doc.isRrDocReviewed;\n \n return (\n \n \n \n viewSelectedDocument(doc, doc.document)}\n >\n {`${doc.title}`}\n \n {doc.fileName && {doc.fileName}}\n \n \n \n \n \n {isIsvRRTeamUser && (\n \n \n handleDocumentStatusChange(e, value, index, {\n clientFileId: doc.clientFileId,\n status: value === \"approve\" ? true : false,\n isRrApproved: doc.isRrApproved,\n lastCommentId:\n lastComment && lastComment.commentId\n ? lastComment.commentId\n : 0,\n lastCommentTitle:\n doc.title ||\n (lastComment && lastComment.title),\n ecbReturnStatus: doc.ecbReturnStatus,\n isRrFinalStatus: doc.isRrFinalStatus\n })\n }\n >\n \n Approve \n {isRrApproved && (\n \n \n \n )}\n \n \n Reject \n {isRrApproved === false && (\n \n \n \n )}\n \n \n \n )}\n \n {dateFormatter(\"dayMonthYearGMTtoISTZone\", doc.createdDate)}\n \n {\n isIsvExternalUser &&\n \n isUploadDisabled ? null : handleOpenUploadOverlay(true, doc, doc.title, true)}>\n \n \n \n }\n \n {dateFormatter('localDate', doc.ecbDeadlineDate)}\n \n \n );\n })}\n \n
\n
\n );\n};\n\nexport default compose(\n connect(\n (state) => ({\n selectedDealData: getIsvCurrentDeal(state),\n isIsvExternalUser: isIsvExternalUser(state),\n isIsvCsmUser: isIsvCsmUser(state),\n isIsvRRTeamUser: isIsvRRTeamUser(state),\n dealId: getIsvCurrentDealId(state),\n latestCommentsDataForCurrentDeal: selectLatestCommentsDataForCurrentDeal(state), \n selectedEcb2ReturnDataForCurrentDeal: selectedEcb2ReturnDataForCurrentDeal(state),\n }),\n (dispatch) => ({\n getLatestCommentsByDealId: (dealId, isClientScreen, IsECBReturnVisible) => {\n dispatch(getLatestCommentsByDealId(dealId, isClientScreen, IsECBReturnVisible));\n },\n setTitleColumnWidth: (width) => {\n dispatch(setTitleColumnWidth(width))\n },\n getECB2ReturnDataForCurrentDeal: (dealId) => {\n dispatch(getECB2ReturnDataForCurrentDeal(dealId))\n },\n handleDocumentApproveReject: (data) => {\n dispatch(handleDocumentApproveReject(data));\n },\n getLatestCommentsByCommentId: (commentId, isClientScreen, IsECBReturnVisible) => {\n dispatch(getLatestCommentsByCommentId(commentId, isClientScreen, IsECBReturnVisible));\n },\n handleGetLatestCommentsByCommentsId: (data) => {\n dispatch(handleGetLatestCommentsByCommentsId(data))\n },\n handleECB2ReturnDataForCurrentDeal: (data) => {\n dispatch(handleECB2ReturnDataForCurrentDeal(data))\n },\n handleGetLatestCommentsByDealIdResponse: (data) => {\n dispatch(handleGetLatestCommentsByDealIdResponse(data))\n },\n })\n )\n)(ECB2ReturnTable);","import React, { PureComponent } from \"react\";\nimport styled from \"styled-components\";\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport { fontColors } from \"shared/styles/variables/theme\";\nimport { primaryBtnStyle } from 'Isv/styles/buttonStyle';\nimport FileUploadOverlay from 'Isv/components/FileUpload/FileUploadOverlays/FileUploadOverlay';\nimport EcbToReturnTable from \"./EcbToReturnTable\";\nimport { isIsvRRTeamUser } from \"selectors\";\nimport { PrimaryButton, SecondarySlateButton } from 'mk-pattern-library-react';\nimport {\n getIsvCurrentDeal,\n selectIsvTableColumnWidth,\n selectLatestCommentsDataForCurrentDeal,\n isIsvExternalUser,\n getIsvCurrentDealId,\n selectedEcb2ReturnDataForCurrentDeal,\n dataFetching,\n dealInformationBannerReducer\n} from \"Isv/selectors\";\nimport { applyIsvCloseBanner } from \"Isv/actions/IsvInformationBannerAction\";\nimport IsvInformationBanner from \"Isv/components/InformationBanner/InformationBanner\";\nimport DealInformationCommentBoxContainer from '../DealInformation/DealInformationCommentBoxContainer'\nimport { viewDocument, handleOpenUploadOverlay, handleECBSubmit } from 'Isv/actions/IsvDocumentsAction';\nimport Loading from 'shared/components/Loading';\nimport {\n NEXT_ACTION_OWNER,\n REJECTED_STATUS,\n SUBMIT_TO_RBI\n} from 'Isv/constants/isvDocumentReviewStatus'\n\nconst Header = styled.h2`\n font-size: 26px;\n color: ${fontColors.black};\n font-weight: 600;\n`;\n\nconst InformationButtonContainer = styled.div`\n margin: 20px 0;\n display: flex;\n justify-content : flex-end;\n width: 100%\n button {\n &:not(:first-child) {\n margin-left: 20px;\n } \n }\n`\n\nconst DocumentActionContainer = styled.div`\n display: flex;\n align-items: center;\n width: 100%;\n margin: 20px 0px;\n`;\n\nconst AdditionalCommentContainer = styled.div`\n max-width: ${(props) => (props.isClientData ? props.width - 14 : props.width) + 'px'};\n width: 100%;\n`;\n\nconst AdditonalCommentHeader = styled.span`\n font-weight: 600;\n font-size: 12px;\n`;\n\nconst CommentStyle = styled.div`\n border: 1px solid #d8d8d8;\n border-radius: 2px;\n padding: 5px;\n width: 100%;\n font-size: 12px;\n margin-top: 5px;\n`;\n\nconst LoadingContainer = styled.div`\n position: fixed;\n top: 0px;\n left: 0px;\n z-index: 999;\n height: 100%;\n width: 100%;\n`;\n\nconst LoadingWrapper = styled.div`\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%,-50%);\n`;\n\nclass EcbToReturn extends PureComponent {\n\n state = {\n isReviewSubmitted: false\n }\n \n enableSubmitForReviewButton = (selectedEcb2ReturnDataForCurrentDeal) => {\n const { selectedDealData } = this.props;\n let count = 0;\n const documentCount = selectedEcb2ReturnDataForCurrentDeal && selectedEcb2ReturnDataForCurrentDeal.clientDocumentFile;\n documentCount && documentCount.length && \n documentCount.forEach(doc => {\n doc.ecbReturnStatus && doc.isClientDocReviewed === null && count++;\n });\n\n return (\n Boolean(count) &&\n selectedDealData &&\n selectedDealData.status &&\n selectedDealData.status.ecB2ReturnStatus\n );\n };\n\n checkSubmitDisabled = (dealDocuments) => {\n let count = 0, isSubmitButtonEnabled;\n if (dealDocuments && dealDocuments.clientDocumentFile) {\n dealDocuments.clientDocumentFile.forEach(doc => {\n doc.isRrApproved === true && doc.ecbReturnStatus && doc.isRrDocReviewed === null && count++;\n });\n isSubmitButtonEnabled = count >= 1;\n }\n this.setState({ isReviewSubmitted: false });\n return isSubmitButtonEnabled;\n }\n\n checkRejectToClientDisabled = (dealDocuments) => {\n let count = 0;\n if (dealDocuments && dealDocuments.clientDocumentFile) {\n dealDocuments.clientDocumentFile.forEach(doc => {\n doc.isRrApproved === false && doc.ecbReturnStatus === false && doc.isRrDocReviewed === null && count++;\n })\n }\n this.setState({ isReviewSubmitted: false });\n return !(Boolean(count));\n }\n\n handleECBSubmit = (dealId, userAction) => {\n this.setState({ isReviewSubmitted : true })\n this.props.handleECBSubmit(dealId, userAction);\n }\n\n handleECbDocUpload = (isOpen, document, title) => {\n this.props.handleOpenUploadOverlay(isOpen, document, title, true)\n this.setState({ isReviewSubmitted: false })\n }\n\n render() {\n const {\n dealId,\n selectedDealData,\n titleTableColumnWidth,\n latestCommentsDataForCurrentDeal,\n viewDocument,\n isIsvExternalUser,\n isIsvRRTeamUser, \n selectedEcb2ReturnDataForCurrentDeal,\n isDealInformationBannerOpen,\n handleCloseBanner,\n } = this.props;\n const lastComment =\n latestCommentsDataForCurrentDeal &&\n latestCommentsDataForCurrentDeal.length > 0 &&\n latestCommentsDataForCurrentDeal.find(\n (item) =>\n item.title === \"Additional Comment\" &&\n item.dealId === selectedDealData.dealId\n );\n\n return (\n <>\n {this.props.loading ? (\n \n \n \n \n \n ) : null}\n
ECB 2 Return
\n {isDealInformationBannerOpen && isIsvExternalUser &&\n \n }\n \n \n \n \n Additional Comment\n \n \n \n \n \n {isIsvExternalUser && (\n <>\n this.handleECBSubmit(dealId, NEXT_ACTION_OWNER.CLIENT)}\n >\n Submit\n \n \n )}\n {isIsvRRTeamUser &&\n <>\n this.handleECBSubmit(dealId, REJECTED_STATUS.REJECTED_BY_RR)}\n >\n Reject To Client\n \n\n this.handleECBSubmit(dealId, SUBMIT_TO_RBI)}\n >\n Submit to RBI\n \n \n }\n \n \n \n );\n }\n}\n\nexport default compose(\n connect(\n (state) => ({\n dealId: getIsvCurrentDealId(state),\n selectedDealData: getIsvCurrentDeal(state),\n titleTableColumnWidth: selectIsvTableColumnWidth(state),\n latestCommentsDataForCurrentDeal: selectLatestCommentsDataForCurrentDeal(state),\n isIsvExternalUser: isIsvExternalUser(state),\n isIsvRRTeamUser: isIsvRRTeamUser(state),\n selectedEcb2ReturnDataForCurrentDeal: selectedEcb2ReturnDataForCurrentDeal(state),\n loading: dataFetching(state),\n isDealInformationBannerOpen: dealInformationBannerReducer(state),\n }),\n (dispatch) => ({\n viewDocument: (documentId, title, fileName, dealDocumentId) => {\n dispatch(viewDocument(documentId, title, fileName, dealDocumentId))\n },\n handleOpenUploadOverlay: (isOpen, document, title, isEcbClientDocUploaded) => {\n dispatch(handleOpenUploadOverlay(isOpen, document, title, isEcbClientDocUploaded))\n },\n handleECBSubmit: (dealId, data) => {\n dispatch(handleECBSubmit(dealId, data))\n },\n handleCloseBanner: (label) => {\n dispatch(applyIsvCloseBanner(label))\n },\n })\n )\n)(EcbToReturn);\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\n\nimport dealFeatures from 'constants/dealFeatures';\nimport { checkFeature } from 'actions/UtilityActions';\nimport { getMyDocsFetchedStatus } from 'selectors';\n\nimport Loading, { FeaturePageLoadingContainer } from 'shared/components/Loading';\n\nclass MyDocs extends PureComponent {\n componentDidMount() {\n this.props.checkFeature(dealFeatures.MY_DOCS);\n }\n\n render() {\n if (!this.props.dataFetched) {\n return (\n \n \n \n )\n }\n\n return this.props.children;\n }\n}\n\nconst mapStateToProps = state => ({\n dataFetched: getMyDocsFetchedStatus(state),\n});\n\nconst mapDispatchToProps = dispatch => ({\n checkFeature: feature => dispatch(checkFeature(feature)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(MyDocs);\n","import styled from 'styled-components';\n\nexport const FloatedRightSpan = styled.span`\n float: right;\n`;\n\nexport const ListItemContainer = styled.div`\n padding: 0 20px;\n`;\n\nexport const listGroupItemInlineStyles = {\n padding: 0,\n borderRight: 'none',\n borderLeft: 'none',\n};","import React, { PureComponent } from 'react';\nimport { ListGroupItem } from 'react-bootstrap';\n\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport { buttonKeyHandler } from 'util/onKeyPress';\n\nimport {\n FloatedRightSpan,\n ListItemContainer,\n listGroupItemInlineStyles\n} from './CategoryListItem.styles.js';\n\nclass AllCategoryListItem extends PureComponent {\n itemClicked = () => {\n this.props.handleClick();\n }\n\n itemPressed = e => {\n buttonKeyHandler(e, this.props.handleClick);\n }\n\n render() {\n return (\n \n \n \n {this.props.allDocumentsText}\n \n \n { this.props.total }\n \n \n \n );\n }\n}\n\nexport default withTranslate((translate, props) => ({\n allDocumentsText: translate(\n \"my_docs.all_documents\",\n \"All Documents\",\n ),\n listItemAriaLabel: translate(\n 'my_docs.display_documents_from_category_',\n `Display documents from category: all documents`,\n [\n ['', 'all documents']\n ]\n ),\n}))(AllCategoryListItem);","import React from 'react';\nimport { ListGroupItem } from 'react-bootstrap';\nimport { compose } from 'recompose'\n\nimport withTranslate from 'shared/hoc/withTranslate'\n\nimport { buttonKeyHandler } from 'util/onKeyPress';\n\nimport {\n FloatedRightSpan,\n ListItemContainer,\n listGroupItemInlineStyles\n} from './CategoryListItem.styles.js';\n\nconst mappingsForCategoryTypes = categoryType => {\n switch (categoryType) {\n case 'Investor Profiles':\n return 'my_docs.investor_profiles';\n case 'Deal Update Materials':\n return 'my_docs.deal_update_materials';\n case 'Pricing':\n return 'my_docs.pricing';\n case 'RoadShow Schedule':\n return 'my_docs.roadshow_schedule';\n case 'Feedback':\n return 'my_docs.feedback';\n case 'List of Parties':\n return 'my_docs.list_of_parties';\n case 'Prospectus':\n return 'my_docs.prospectus';\n case 'Other':\n return 'my_docs.other';\n case 'Presentations':\n return 'my_docs.presentations';\n default: return '';\n }\n}\n\nclass CategoryListItem extends React.PureComponent {\n categoryClick = () => {\n this.props.handleClick(this.props.category.documentCategoryId, this.props.category.documentCategoryName);\n }\n\n categoryPress = e => {\n buttonKeyHandler(e, () => this.props.handleClick(this.props.category.documentCategoryId, this.props.category.documentCategoryName));\n }\n\n render() {\n return (\n \n \n \n { this.props.documentCategoryText }\n \n \n { this.props.category.activeDocumentCount }\n \n \n \n )\n }\n}\n\nexport default compose(\n withTranslate((translate, props) => ({\n documentCategoryText: translate(\n mappingsForCategoryTypes(props.category.documentCategoryName),\n props.category.documentCategoryName\n ),\n listItemAriaLabel: translate(\n 'my_docs.display_documents_from_category_',\n `Display documents from category: ${props.category.documentCategoryName}`,\n [\n ['', props.category.documentCategoryName]\n ]\n )\n }))\n)(CategoryListItem);","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport { ListGroup } from 'react-bootstrap';\n\nimport { changeActiveCategory } from 'actions/MyDocsActions';\nimport {\n getMyDocsSummaryData,\n getMyDocsActiveCategoryId,\n getAllNotArchivedDocumentsCount\n} from 'selectors';\n\nimport { events } from 'constants/analytics';\nimport withAnalytics from 'shared/hoc/withAnalytics';\n\nimport AllCategoryListItem from './AllCategoryListItem';\nimport CategoryListItem from './CategoryListItem';\n\nconst listGroupInlineStyles = { borderTop: '1px solid #D8D8D8' };\n\nclass CategoryList extends PureComponent {\n changeCategory = (id, name) => {\n if (!id) {\n // All documents category\n this.props.changeActiveCategory(null);\n this.props.categoryEvent('All Documents')\n } else {\n // Dedicated category\n this.props.changeActiveCategory(id);\n this.props.categoryEvent(name);\n }\n\n const elem = document.getElementById('document-list');\n if (elem) elem.focus();\n }\n\n render() {\n return (\n \n \n {\n this.props.myDocsSummary.map(category => (\n \n ))\n }\n \n )\n }\n};\n\nexport default compose(\n connect(\n state => ({\n myDocsSummary: getMyDocsSummaryData(state),\n activeCategoryId: getMyDocsActiveCategoryId(state),\n allNotArchived: getAllNotArchivedDocumentsCount(state),\n }),\n dispatch => ({\n changeActiveCategory: categoryId => dispatch(changeActiveCategory(categoryId)),\n }),\n ),\n withAnalytics((eventTriggered) => ({\n categoryEvent: categoryName => eventTriggered(events.MY_DOCS_LEFT_NAV(categoryName.toLowerCase())),\n })),\n)(CategoryList);\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { Row, Col } from 'react-bootstrap';\nimport { compose } from 'recompose';\n// TODO\nimport { ValueFormatters } from 'mk-pattern-library-react';\n\nimport {\n getMyDocsForActiveCategory,\n getMyDocsActiveCategoryId,\n getMyDocsReceivedDate\n} from 'selectors';\n\nimport withTranslate from 'shared/hoc/withTranslate';\nimport TranslationText from 'translations/TranslationText';\n\nimport { featurePageIds } from 'constants/featurePages';\nimport withAnalytics from 'shared/hoc/withAnalytics';\n\nimport { FeatureContainer, HeaderContainer } from 'shared/styles/components/containers';\nimport { FeatureHeading, HeadingDescription } from 'shared/styles/components/headings';\nimport { DateAsOf } from 'shared/styles/components/date';\n\nimport CategoryList from './CategoryList/CategoryList';\nimport DocumentList from './DocumentList/DocumentList';\n\nconst categoryListColumnInlineStyles = { paddingRight: 0, borderRight: 'none' };\nconst documentListColumnInlineStyles = { paddingLeft: 0, paddingRight: 0, borderLeft: '2px solid #D8D8D8' };\n\nclass MyDocsContainer extends PureComponent {\n componentDidMount() {\n this.props.viewChange(featurePageIds.MY_DOCS_DOCUMENTS_PAGE);\n }\n\n render() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \"}\n replace={[\n [\"\", ValueFormatters.dateFormatter('dayMonthYearZoneShort', this.props.dateReceived)]\n ]}\n defaultText={`Data as of ${ValueFormatters.dateFormatter('dayMonthYearZoneShort', this.props.dateReceived)}`}\n />\n \n \n \n \n \n \n \n\n \n \n \n \n \n );\n }\n}\n\nexport default compose(\n connect(\n state => ({\n myDocs: getMyDocsForActiveCategory(state),\n dateReceived: getMyDocsReceivedDate(state),\n activeCategoryId: getMyDocsActiveCategoryId(state),\n }),\n ),\n withAnalytics((__, viewChange) => ({\n viewChange: viewId => viewChange(viewId),\n })),\n withTranslate((translate, props) => ({\n documentsFromSelectedCategoryAriaLabel: translate(\n '', // missing key in excel\n 'Documents from selected category',\n )\n }))\n)(MyDocsContainer);\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { browserHistory } from 'react-router';\n\nimport { featurePageIds } from 'constants/featurePages';\nimport dealFeatures from 'constants/dealFeatures';\nimport { checkFeature } from 'actions/UtilityActions';\n\nimport Loading, { FeaturePageLoadingContainer } from 'shared/components/Loading';\n\nclass InvestorFeedback extends PureComponent {\n componentDidMount() {\n this.props.checkFeature(dealFeatures.INVESTOR_FEEDBACK);\n }\n\n render() {\n if (!this.props.chartTypesFetched) {\n return (\n \n \n \n )\n }\n\n if (!this.props.chartTypes.length) {\n if (this.props.location.pathname !== featurePageIds.INVESTOR_FEEDBACK_DETAILS_PAGE) {\n browserHistory.push(featurePageIds.INVESTOR_FEEDBACK_DETAILS_PAGE);\n return null;\n }\n }\n\n return this.props.children;\n }\n}\n\nconst mapStateToProps = state => ({\n chartTypes: state.investorFeedbackData.chartTypes,\n chartTypesFetched: state.investorFeedbackData.chartTypesFetched,\n});\n\nconst mapDispatchToProps = dispatch => ({\n // polling\n checkFeature: feature => dispatch(checkFeature(feature)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(InvestorFeedback);\n","import { HSBC_RAG_GREEN, HSBC_RAG_RED, HSBC_RAG_AMBER} from '../constants/colors';\n\nconst sentimentColorProvider = sentiment => {\n switch (sentiment) {\n case 'Positive':\n return HSBC_RAG_GREEN;\n case 'Neutral':\n return HSBC_RAG_AMBER;\n case 'Negative':\n return HSBC_RAG_RED;\n default:\n return '#ffffff';\n }\n};\n\nexport default sentimentColorProvider;\n","export const HSBC_RAG_RED = '#AF000D';\nexport const HSBC_RAG_AMBER = '#E9A115';\nexport const HSBC_RAG_GREEN = '#008580';\n\nexport default {\n HSBC_RAG_RED,\n HSBC_RAG_AMBER,\n HSBC_RAG_GREEN,\n};\n","\n\nexport const mapThemeTypeOrSentimentToKey = title => {\n switch (title) {\n // sentiment\n case 'Positive': return 'investor_feedback.positive';\n case 'Neutral': return 'investor_feedback.neutral';\n case 'Negative': return 'investor_feedback.negative';\n // theme type\n // case 'Positive': return 'investor_feedback.positive';\n case 'Concern': return 'investor_feedback.concern';\n case 'Valuation': return 'investor_feedback.valuation';\n default: \n return '';\n }\n}\n\nexport const mapChartTypeTitleToKeys = title => {\n switch (title) {\n //\n // WARN: If we will have custom titles then in dev mode we will see only one tab with missing key/translation\n //\n case 'Theme Distribution': return 'investor_feedback.theme_distribution';\n case 'Sentiment': return 'investor_feedback.sentiment';\n case 'Price Demand': return 'investor_feedback.price_demand';\n default:\n // custom title so we can return empty key and default one ( original ) will be returned\n return '';\n }\n}","import React from 'react';\nimport { connect } from 'react-redux';\nimport { Row, Col } from 'react-bootstrap';\nimport styled from 'styled-components';\nimport { SvgIcon } from 'shared/components/Icon';\nimport { Icon } from 'mk-pattern-library-react';\n\nimport withLanguage from 'translations/withLanguage';\nimport { mapThemeTypeOrSentimentToKey } from 'util/translationMappings';\n\nimport TranslationText from 'translations/TranslationText';\n\nimport * as modalIds from 'constants/modalIds';\nimport { isModalOpen } from 'selectors'\nimport { openModal, closeModal } from 'actions/UtilityActions';\n\nconst CompanyName = styled.span`\n word-wrap: break-word;\n font-weight: 700;\n`;\n\nclass FeedbackDetailHeader extends React.PureComponent {\n modalOpenClick = () => {\n if (!this.props.isInvestorFeedbackDetailModalOpen) {\n this.props.openModal(modalIds.INVESTOR_FEEDBACK_DETAIL_MODAL_ID(this.props.feedback.feedbackId))\n }\n }\n\n modalCloseClick = () => {\n this.props.closeModal(modalIds.INVESTOR_FEEDBACK_DETAIL_MODAL_ID(this.props.feedback.feedbackId))\n }\n\n render() {\n const { feedback } = this.props;\n return (\n \n \n
\n

\n \n {feedback.companyName}\n \n {\n feedback.keyInvestor && (\n \n )\n }\n

\n
\n \n \n \n  \n \n \n \n
\n\n )\n }\n}\nexport default withLanguage(\n connect(\n (state, ownProps) => ({\n isInvestorFeedbackDetailModalOpen: isModalOpen(state, modalIds.INVESTOR_FEEDBACK_DETAIL_MODAL_ID(ownProps.feedback.feedbackId)),\n }),\n dispatch => ({\n // modals\n openModal: modalId => dispatch(openModal(modalId)),\n closeModal: modalId => dispatch(closeModal(modalId)),\n })\n )(FeedbackDetailHeader)\n);\n","import React from 'react';\nimport { Row, Col } from 'react-bootstrap';\nimport styled from 'styled-components';\n\nimport TranslationText from 'translations/TranslationText';\nimport ResponsiveEllipsis from 'shared/components/ResponsiveEllipsis';\nimport { HSBC_RAG_GREEN, HSBC_RAG_AMBER, HSBC_RAG_RED } from 'constants/colors';\nimport { ValueFormatters } from 'mk-pattern-library-react';\n\nimport { mapThemeTypeOrSentimentToKey } from 'util/translationMappings';\n\nconst commentStyles = {\n whiteSpace: 'pre-line',\n};\n\nconst ThemeContainer = styled.div`\n background-color: #F7F7F7;\n border-left: solid 7px ${props => {\n switch(props.themeType) {\n case 'positive' :\n return HSBC_RAG_GREEN\n case 'negative' :\n return HSBC_RAG_RED\n case 'valuation' :\n return HSBC_RAG_AMBER\n default :\n return \n }\n }};\n visibility: ${props => props.count === 0 ? 'hidden' : 'visible'}\n padding-left: 10px;\n width: 100%;\n height: 1.5rem;\n line-height: 1.5rem;\n margin: 5px;\n`;\n\nconst TrancheInfoContainer = styled.div`\n background-color: #F7F7F7;\n margin: 0.2rem;\n display: inline-block;\n padding: 0.5rem;\n text-align: left;\n`;\n\nconst FeedbackDetailFeedback = (props) => {\n const { feedback } = props;\n\n const isECMSingleTranche = !!(\n !props.isDCM &&\n feedback.feedbackTranchePriceDemand &&\n feedback.feedbackTranchePriceDemand.length === 1 &&\n feedback.feedbackTranchePriceDemand[0].priceDemand\n );\n\n const ecmValuation = !!(\n isECMSingleTranche &&\n feedback.feedbackTranchePriceDemand[0].priceDemand.valuation\n );\n\n return (\n \n \n \n \n \n \n

\n {\n feedback.investorType && ({feedback.investorType} )\n }\n {\n feedback.investorName && ({feedback.investorName})\n }\n

\n \n
\n \n \n
\n \n \n : \n {feedback.banksRecorded}\n \n {\n feedback.cityRecorded && (\n \n  {feedback.cityRecorded}\n \n )\n }\n \n  on {ValueFormatters.dateFormatter('dayMonthYearZoneShort', feedback.created)}\n \n
\n \n
\n \n \n {\n feedback.comment && (\n
\n \n
\n )\n }\n \n
\n \n \n \n {feedback.themes.positive.length } \n  \n \n \n \n {feedback.themes.negative.length } \n  \n \n \n \n {feedback.themes.valuation.length } \n  \n \n \n \n
\n {\n props.isDCM && feedback.feedbackTranchePriceDemand && feedback.feedbackTranchePriceDemand.length && (\n \n \n {\n feedback.feedbackTranchePriceDemand.map(tranche =>\n (tranche.priceDemand.min || tranche.priceDemand.max || tranche.priceDemand.valuation) && (\n \n
\n {\n `${tranche.priceDemand.min ? tranche.priceDemand.min : ''}${\n tranche.priceDemand.min && tranche.priceDemand.max ? ' - ' : ''}${\n tranche.priceDemand.max || ''} ${tranche.priceDemand.valuation && (tranche.priceDemand.min || tranche.priceDemand.max) ? '@ ' : ''}\n ${tranche.priceDemand.valuation ? tranche.priceDemand.valuation : ''}`\n }\n
\n
{tranche.trancheShortName}
\n
\n )\n )\n }\n \n
\n )\n }\n {\n \n !props.isDCM && (ecmValuation || (feedback.feedbackTranchePriceDemand[0].priceDemand.min || feedback.feedbackTranchePriceDemand[0].priceDemand.max)) && (\n \n
\n : { ecmValuation && feedback.feedbackTranchePriceDemand[0].priceDemand.valuation }\n
\n
\n : {`${feedback.feedbackTranchePriceDemand[0].priceDemand.min ? feedback.feedbackTranchePriceDemand[0].priceDemand.min : ''}${\n feedback.feedbackTranchePriceDemand[0].priceDemand.min && feedback.feedbackTranchePriceDemand[0].priceDemand.max ? ' - ' : ''}${\n feedback.feedbackTranchePriceDemand[0].priceDemand.max || ''}`}\n
\n
\n\n )\n }\n \n
\n );\n};\n\nexport default FeedbackDetailFeedback;\n","import React, { PureComponent } from 'react';\nimport { Col } from 'react-bootstrap';\nimport styled from 'styled-components';\n\nimport { Icon, ValueFormatters } from 'mk-pattern-library-react';\n\nimport TranslationText from 'translations/TranslationText';\nimport { mapThemeTypeOrSentimentToKey } from 'util/translationMappings';\n\nconst HeaderContainer = styled.div`\n height: auto;\n`;\n\n\nclass Header extends PureComponent {\n render() {\n return (\n \n \n

\n \n {this.props.details.companyName}\n \n {\n this.props.details.keyInvestor && (\n \n )\n }\n

\n

\n {\n this.props.details.investorType && (\n {this.props.details.investorType} \n )\n }\n {\n this.props.details.investorName && (\n {this.props.details.investorName}\n )\n }\n

\n
\n \n \n : \n {this.props.details.banksRecorded}\n \n {\n this.props.details.cityRecorded && (\n \n  {this.props.details.cityRecorded}\n \n )\n }\n \n  on {ValueFormatters.dateFormatter('dayMonthYearZoneShort', this.props.details.created)}\n \n
\n \n \n \n \n  \n \n \n \n
\n );\n }\n}\n\nexport default Header;\n","import styled from 'styled-components';\n\nexport const Figure = styled.figure`\n position: relative;\n`;\nexport const FigCaption = styled.figcaption`\n position: fixed;\n bottom: -100%;\n right: -100%;\n`;","import React, { PureComponent } from 'react';\nimport styled from 'styled-components';\nimport { compose } from 'recompose';\n\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport { Figure, FigCaption } from 'shared/accessibility/components/Caption';\n\nconst ThemeContainer = styled.div`\n display: flex;\n flex-direction: row;\n`;\n\nconst ThemeLabel = styled.span`\n width: 150px;\n margin: auto 0;\n`;\n\nconst ThemeList = styled.ul`\n flex: 1;\n padding: 0;\n margin: 0;\n li {\n list-style-type: disc;\n height: 30px;\n line-height: 30px;\n };\n`;\n\nconst ThemeListItem = styled.li`\n font-size: 0.750rem;\n float: left;\n padding-right: 24px;\n`;\n\nclass ThemeBar extends PureComponent {\n render() {\n return (\n \n \n {this.props.label}\n \n
\n
{this.props.listDefinition}
\n \n {\n this.props.themes.map((theme, index) => (\n {theme}\n ))\n }\n \n
\n
\n );\n }\n}\n\nexport default compose(\n withTranslate((translate, props) => ({\n label: translate(props.labelKey, props.label),\n listDefinition: translate('', `${props.label} themes`),\n }))\n)(ThemeBar);\n","import React, { PureComponent } from 'react';\n\nimport TranslationText from 'translations/TranslationText';\nimport { HSBC_RAG_GREEN, HSBC_RAG_AMBER, HSBC_RAG_RED } from 'constants/colors';\n\nimport ThemeBar from './ThemeBar';\n\nconst headerInlineStyles = { height: 25, margin: 0 };\n\nconst sentimentGroupStyles = {\n backgroundColor: '#F7F7F7',\n padding: '0 0 0 10px',\n marginBottom: '7px',\n};\n\nconst positiveInlineStyles = {\n ...sentimentGroupStyles,\n borderLeft: `solid 7px ${HSBC_RAG_GREEN}`,\n};\n\nconst negativeInlineStyles = {\n ...sentimentGroupStyles,\n borderLeft: `solid 7px ${HSBC_RAG_RED}`,\n};\n\nconst valuationInlineStyles = {\n ...sentimentGroupStyles,\n borderLeft: `solid 7px ${HSBC_RAG_AMBER}`,\n};\n\nclass Themes extends PureComponent { \n render() {\n return (\n \n

\n \n

\n\n {\n !!this.props.themes.positive.length && (\n
\n \n
\n )\n }\n\n {\n !!this.props.themes.negative.length && (\n
\n \n
\n )\n }\n\n {\n !!this.props.themes.valuation.length && (\n
\n \n
\n )\n }\n
\n );\n }\n}\n\nexport default Themes;\n","export const beautifyPriceDemand = tranche => `${\n tranche.priceDemand.min ? `${tranche.priceDemand.min} ` : ''}${\n tranche.priceDemand.min && tranche.priceDemand.max ? ' - ' : ''}${\n tranche.priceDemand.max || ''}`;\n","import React, { PureComponent } from 'react';\nimport { compose } from 'recompose';\nimport styled from 'styled-components';\n\nimport withTranslate from 'shared/hoc/withTranslate';\nimport Table from 'shared/components/Table';\n\nimport { Figure, FigCaption } from 'shared/accessibility/components/Caption';\n\nimport { beautifyPriceDemand } from '../util';\n\nconst TableContainer = styled.div`\n display: block !important;\n width 100%;\n`;\n\nconst Columns = props => ([\n {\n dataField: 'name',\n text: props.trancheHeader,\n attrs: {\n role: \"rowheader\",\n },\n headerStyle: {\n width: 100 / 12 * 8 +'%',\n border: 'none',\n background: 'none',\n paddingLeft: 0,\n paddingTop: 5,\n paddingBottom: 10,\n },\n style: {\n width: 100 / 12 * 8 +'%',\n paddingLeft: 0,\n fontSize: '0.750rem',\n paddingTop: 8,\n paddingBottom: 8,\n },\n formatter: (value, data) => {\n return data.description || data.name;\n },\n },\n {\n dataField: 'ioi',\n text: props.ioiHeader,\n attrs: {\n role: \"rowheader\",\n },\n headerStyle: {\n width: 100 / 12 * 2 +'%',\n border: 'none',\n background: 'none',\n paddingTop: 5,\n paddingBottom: 10,\n },\n style: {\n width: 100 / 12 * 2 +'%',\n fontSize: '0.750rem',\n paddingTop: 8,\n paddingBottom: 8,\n },\n },\n {\n dataField: 'priceSensitvity',\n text: props.priceSensitivityHeader,\n attrs: {\n role: \"rowheader\",\n },\n headerStyle: {\n textAlign: 'right',\n width: 100 / 12 * 2 +'%',\n border: 'none',\n background: 'none',\n paddingRight: 0,\n paddingTop: 5,\n paddingBottom: 10,\n },\n style: {\n textAlign: 'right',\n width: 100 / 12 * 2 +'%',\n fontSize: '0.750rem',\n paddingRight: 0,\n paddingTop: 8,\n paddingBottom: 8,\n },\n },\n]);\n\nclass MultipleTranche extends PureComponent {\n render() {\n const { feedbackTranchePriceDemand } = this.props;\n\n // if it's not defined\n if (!feedbackTranchePriceDemand) return null;\n\n const tableData = feedbackTranchePriceDemand.map(tranche => ({\n name: tranche.trancheShortName,\n description: tranche.trancheDescription,\n ioi: beautifyPriceDemand(tranche) || this.props.notProvidedText,\n priceSensitvity: tranche.priceDemand.valuation || this.props.notProvidedText,\n }))\n\n return (\n \n
\n
{this.props.tableCaption}
\n \n
\n
\n )\n }\n}\n\nexport default compose(\n withTranslate(translate => ({\n tableCaption: translate('', 'Table showing tranches with their ioi and price sensitivity'),\n trancheHeader: translate('investor_feedback.tranche', \"Tranche\"),\n ioiHeader: translate('investor_feedback.ioi', 'IoI'),\n priceSensitivityHeader: translate('investor_feedback.price_sensitivity', 'Price Sensitivity'),\n notProvidedText: translate('investor_feedback.not_provided', 'Not Provided')\n }))\n)(MultipleTranche);\n","import React, { PureComponent } from 'react';\n\nimport TranslationText from 'translations/TranslationText';\nimport { Col } from 'shared/components/Grid';\n\nimport { beautifyPriceDemand } from '../util';\n\nclass SingleTranche extends PureComponent {\n render() {\n const { feedbackTranchePriceDemand } = this.props;\n\n // it's not defined\n if (!feedbackTranchePriceDemand) return null;\n // it's multiple tranche\n if (feedbackTranchePriceDemand.length > 1) return null;\n\n return (\n \n \n

\n \n

\n
\n {feedbackTranchePriceDemand[0].priceDemand.valuation}\n
\n \n \n

\n \n

\n
\n {\n beautifyPriceDemand(feedbackTranchePriceDemand[0])\n }\n
\n \n
\n )\n }\n}\n\nexport default SingleTranche;\n","import React, { PureComponent } from 'react';\n\nimport TranslationText from 'translations/TranslationText';\n\nconst commentTitleInlineStyle = {\n height: 25,\n margin: 0\n};\nconst commentTextInlineStyles = {\n whiteSpace: 'pre-line',\n margin: 0,\n};\n\nclass Comment extends PureComponent {\n render() {\n if (!this.props.comment) return null;\n\n return (\n \n

\n \n

\n
\n {\n this.props.comment.trim()\n }\n
\n
\n );\n }\n}\n\nexport default Comment;\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport styled from 'styled-components';\n\nimport Popup, { Divider } from 'shared/components/Popup';\nimport Scrollable from 'shared/components/Scrollable';\n\nimport { isDCMDealType } from 'selectors';\n\nimport Header from './Header';\nimport Themes from './Themes';\nimport DCMMultipleTranche from './dcm/MultipleTranche';\nimport ECMSingleTranche from './ecm/SingleTranche';\nimport Comment from './Comment';\n\nconst EnhancedDivider = styled(Divider)`\n display: block;\n margin: 20px 0 0 0;\n`;\n\nconst ModalContent = styled.div`\n display: flex;\n flex-direction: column;\n\n ${Divider}:not(${EnhancedDivider}) {\n display: block;\n margin: 1rem 0;\n }\n`;\n\nconst Tranches = styled.div`\n > div {\n display: inline-block;\n }\n`;\n\nconst ScrollableContent = styled.div`\n display: flex;\n flex-direction: column;\n padding: 20px 20px 20px 0;\n`;\n\nconst scrollableInlineStyles = {\n maxHeight: '50vh',\n overflowY: 'auto',\n overflowX: 'hidden',\n};\n\nclass InvestorFeedbackModal extends React.PureComponent {\n render() {\n return (\n \n \n
\n \n \n\n \n \n {\n (\n this.props.details.themes.positive.length > 0 ||\n this.props.details.themes.negative.length > 0 ||\n this.props.details.themes.valuation.length > 0\n ) && (\n \n \n \n \n )\n }\n \n {/* DCM Multiple tranches */\n this.props.isDCM && (\n \n )\n }\n {/* ECM Single Tranche */\n !this.props.isDCM && (\n \n )\n }\n \n \n \n\n {/* All Tranche types - ECM & DCM */}\n \n \n \n \n \n );\n }\n}\n\nexport default connect(\n state => ({\n isDCM: isDCMDealType(state),\n }),\n)(InvestorFeedbackModal);\n","import React, { Component } from 'react';\nimport { Row, Col } from 'react-bootstrap';\n\nimport FeedbackDetailHeader from './FeedbackDetailHeader';\nimport FeedbackDetailFeedback from './FeedbackDetailFeedback';\nimport PopupSystem from 'shared/components/PopupSystem';\nimport FeedbackModal from 'InvestorFeedback/Details/FeedbackModal';\n\nimport { connect } from 'react-redux';\nimport { translationString } from 'translations/TranslationText';\nimport withLanguage from 'translations/withLanguage';\n\nimport { openModal, closeModal } from 'actions/UtilityActions';\nimport { isModalOpen } from 'selectors'\n\nimport * as modalIds from 'constants/modalIds';\n\nclass FeedbackDetail extends Component {\n\n modalOpenClick = () => {\n if (!this.props.isInvestorFeedbackDetailModalOpen) {\n this.props.openModal(modalIds.INVESTOR_FEEDBACK_DETAIL_MODAL_ID(this.props.feedback.feedbackId))\n }\n }\n\n modalCloseClick = () => {\n this.props.closeModal(modalIds.INVESTOR_FEEDBACK_DETAIL_MODAL_ID(this.props.feedback.feedbackId))\n }\n\n render() {\n const { feedback, isDCM } = this.props;\n\n return (\n\n ',\n this.props.language,\n `Open feedback ${feedback.companyName}`,\n [\n ['', feedback.companyName]\n ]\n )\n }>\n \n \n \n
\n \n \n \n
\n }\n content={\n \n }\n />\n );\n }\n};\n\nexport default withLanguage(\n connect(\n (state, ownProps) => ({\n isInvestorFeedbackDetailModalOpen: isModalOpen(state, modalIds.INVESTOR_FEEDBACK_DETAIL_MODAL_ID(ownProps.feedback.feedbackId)),\n }),\n dispatch => ({\n // modals\n openModal: modalId => dispatch(openModal(modalId)),\n closeModal: modalId => dispatch(closeModal(modalId)),\n })\n )(FeedbackDetail)\n);\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { browserHistory } from 'react-router';\nimport { Row, Col } from 'react-bootstrap';\nimport { compose } from 'recompose';\nimport styled from 'styled-components';\n\nimport { ValueFormatters, Sorters } from 'mk-pattern-library-react';\nimport ButtonGroup from 'shared/components/Buttons/ButtonGroup';\n\nimport sentimentColorProvider from 'util/sentimentColorProvider';\n\nimport * as modalIds from 'constants/modalIds';\nimport { featurePageIds } from 'constants/featurePages';\n\nimport { requestDoc } from 'actions/MyDocsActions';\nimport { openModal, closeModal, checkFeature } from 'actions/UtilityActions';\n\nimport {\n isModalOpen,\n isDCMDealType,\n getFeedbackCardData,\n getInvestorFeedbackHighlightsByTheme,\n getInvestorFeedbackChartDataByChart,\n} from 'selectors';\n\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { events } from 'constants/analytics';\n\nimport withLanguage from 'translations/withLanguage';\nimport withTranslate from 'shared/hoc/withTranslate';\nimport TranslationText from 'translations/TranslationText';\n\nimport { FeatureContainer, HeaderContainer } from 'shared/styles/components/containers';\nimport { FeatureHeading, HeadingDescription } from 'shared/styles/components/headings';\nimport flexbox from 'shared/styles/mixins/flexbox';\nimport Dropdown from 'shared/accessibility/components/Dropdown';\nimport { ImgIcon } from 'shared/components/Icon';\nimport HsbcLink from 'shared/accessibility/components/Link';\n\nimport FeedbackDetail from './FeedbackDetail/FeedbackDetail';\n\nconst ButtonsContainer = styled.div`\n ${flexbox('row', 'center', 'flex-end')}\n`;\n\nconst HSBCLinkContainer = styled.div`\n ${flexbox('row', 'center', 'flex-start')}\n margin: ${props => props.switchVisible ? 15 : 7}px 0 0 0;\n`;\n\nconst HsbcLinkContent = styled.div`\n display: inline-block;\n height: 20px;\n`;\n\nconst PADDING_LEFT_0PX = {\n paddingLeft: 0,\n};\n\nconst COLUMN_STYLE = leftBorderColor => ({\n padding: 10,\n border: '1px solid #D8D8D8',\n borderLeft: `10px solid ${leftBorderColor}`,\n marginBottom: 5,\n});\n\nconst ROW_STYLE = {\n margin: 0,\n};\n\nconst OUTER_COL_STYLE = {\n padding: 0,\n};\n\nconst documentIconStyle = {\n height: '18px',\n width: '18px',\n position: 'relative',\n display: \"inline-block\",\n float: \"left\",\n color: '#4D6474',\n fontSize: 20,\n marginRight: 8,\n};\n\nconst sortPopoverItems = props => [\n {// 1\n sort: id => [id, 'created', 'desc', null],\n content: props.content1,\n },{// 2\n sort: id => [id, 'created', 'asc', null],\n content: props.content2,\n },{// 3\n sort: id => [id, 'companyName', 'asc', null],\n content: props.content3,\n },{// 4\n sort: id => [id, 'companyName', 'desc', null],\n content: props.content4,\n },{// 5\n sort: id => [id, 'investorName', 'asc', null],\n content: props.content5,\n },{// 6\n sort: id => [id, 'investorName', 'desc', null],\n content: props.content6,\n },{// 7\n sort: id => [id, 'sentiment', 'asc', null],\n content: props.content7,\n },{// 8\n sort: id => [id, 'sentiment', 'desc', null],\n content: props.content8,\n },{// 9\n sort: id => [id, 'investorType', 'asc', null],\n content: props.content9,\n },{// 10\n sort: id => [id, 'investorType', 'desc', null],\n content: props.content10,\n },{// 11\n sort: id => [id, 'cityRecorded', 'asc', null],\n content: props.content11,\n },{// 12\n sort: id => [id, 'cityRecorded', 'desc', null],\n content: props.content12,\n },{// 13\n sort: id => [id, 'banksRecorded', 'asc', null],\n content: props.content13,\n },{// 14\n sort: id => [id, 'banksRecorded', 'desc', null],\n content: props.content14,\n }\n]\n\nclass Details extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n activeSort: { id: 1, field: 'created', order: 'desc', sortTheme: null },\n sortLabel: 'Sort Feedback',\n feedbackIdModalDetail: null,\n }\n\n this.setSort = this.setSort.bind(this);\n }\n\n componentDidMount() {\n this.props.viewChange();\n }\n\n handleDocumentClick = (docId, docName) => {\n this.props.requestDoc(docId, docName);\n }\n\n changeFeedbackModalVisibility(details = {}) {\n const { feedbackId } = details;\n if (feedbackId) {\n this.props.openModal(modalIds.INVESTOR_FEEDBACK_DETAIL_MODAL_ID);\n this.setState({\n feedbackIdModalDetail: feedbackId,\n });\n } else {\n this.props.closeModal(modalIds.INVESTOR_FEEDBACK_DETAIL_MODAL_ID);\n }\n }\n\n setSort(sortInd, field, order, sortTheme, label) {\n this.setState({\n activeSort: {\n id: sortInd,\n field,\n order,\n sortTheme,\n },\n sortLabel: label || sortTheme,\n scrollSwitcher: !this.state.scrollSwitcher,\n });\n }\n\n render() {\n const SortList = [\n ...sortPopoverItems(this.props).map((item, index) => {\n const label = this.state.activeSort.id === (index + 1)\n ? this.props.currentlySortingBy(item.content)\n : this.props.sortBy(item.content);\n\n return ({\n content: item.content,\n selected: this.state.activeSort.id === (index + 1),\n label,\n click: () => this.setSort(...item.sort(index + 1), item.content),\n })\n }),\n ...this.props.dealThemes.map((dealTheme, ind) => {\n const label = this.state.activeSort.id === (sortPopoverItems.length + ind + 1)\n ? this.props.currentlySortingByThemeName(dealTheme.themeName)\n : this.props.sortByThemeName(dealTheme.themeName);\n\n return ({\n content: dealTheme.themeName,\n selected: this.state.activeSort.id === (sortPopoverItems.length + ind + 1),\n label,\n click: () => this.setSort(sortPopoverItems.length + ind + 1, 'created', 'desc', dealTheme.themeName, dealTheme.themeName)\n })\n }),\n ];\n\n const chartsDisabled = this.props.chartTypesFetched && this.props.chartTypes.length === 0;\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {\n this.handleDocumentClick(this.props.fullFeedbackDoc, 'Full Feedback');\n this.props.fullFeedbackButtonEvent();\n }}\n >\n \n \n {this.props.fullFeedbackDocument}\n \n \n \n \n \n
\n

\n \"}\n replace={[\n [\"\", ValueFormatters.dateFormatter('dayMonthYearZoneShort', this.props.dateReceived)]\n ]}\n defaultText={`Data as of ${ValueFormatters.dateFormatter('dayMonthYearZoneShort', this.props.dateReceived)}`}\n />\n

\n
\n \n {\n !chartsDisabled && (\n {\n browserHistory.push(featurePageIds.INVESTOR_FEEDBACK_SUMMARY_PAGE);\n this.props.invFeedbackSummaryEvent();\n }\n },\n {\n id:'btn-ifd-details',\n active: true,\n text: this.props.stickyToggleInvestorFeedback,\n action: () => {\n browserHistory.push(featurePageIds.INVESTOR_FEEDBACK_DETAILS_PAGE);\n this.props.invFeedbackButtonEvent();\n },\n }\n ]}\n />\n )\n }\n \n \n \n
\n \n \n \n \n \n
\n\n \n \n \n \n \n {\n this.props.feedbackCardData\n .slice(0)\n .sort((a, b) => this.state.activeSort.sortTheme ? Sorters.themeSort('created', a, b, this.state.activeSort.sortTheme) : Sorters.doubleSort('created', a, b, this.state.activeSort.order, this.state.activeSort.field, null, true))\n .map((feedbackDetail) => {\n const feedbackSentimentColor = sentimentColorProvider(feedbackDetail.sentiment);\n return (\n \n \n \n );\n })\n }\n \n \n \n \n \n
\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n dateReceived: state.investorFeedbackData.dataReceived,\n dealId: state.utility.dealsData.dealId,\n feedbackCardData: getFeedbackCardData(state),\n dealThemes: state.investorFeedbackData.dealThemes,\n themeTypes: state.investorFeedbackData.feedbackThemeTypes,\n investorFeedbackHighlightsByTheme: (theme) => getInvestorFeedbackHighlightsByTheme(state, `themeHighlight${theme}`),\n chartTypes: state.investorFeedbackData.chartTypes,\n investorFeedbackChartDataByChart: (chartId) => getInvestorFeedbackChartDataByChart(state, `feedbackChartData${chartId}`),\n feedbackId: state.routing.locationBeforeTransitions && state.routing.locationBeforeTransitions.state ? state.routing.locationBeforeTransitions.state.feedbackId : null, // Pulling feedback ID for scrolling to specific card\n fullFeedbackDoc: state.investorFeedbackData.fullFeedbackDoc,\n isDCM: isDCMDealType(state),\n chartTypesFetched: state.investorFeedbackData.chartTypesFetched,\n //\n isInvestorFeedbackSortModalOpen: isModalOpen(state, modalIds.INVESTOR_FFEDBACK_SORT_MODAL_ID),\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n requestDoc: (docId, docName) => dispatch(requestDoc(docId, docName)),\n checkFeature: (feature) => dispatch(checkFeature(feature)),\n // modals\n openModal: modalId => dispatch(openModal(modalId)),\n closeModal: modalId => dispatch(closeModal(modalId)),\n});\n\nexport default compose(\n withLanguage,\n withTranslate(translate => ({\n fullFeedbackDocument: translate('investor_feedback.full_feedback_document', 'Full Feedback Document'),\n sortFeedbackLabel: translate('investor_feedback.sort_feedback', 'Sort Feedback'),\n currentlySortingBy: content => translate(\n '',\n `Currently sorting by ${content}`,\n ),\n sortBy: content => translate(\n '',\n `Sort By ${content}`,\n ),\n currentlySortingByThemeName: themeName => translate(\n 'investor_feedback.currently_sorting_by_theme__descending',\n `Currently sorting by theme ${themeName} descending`,\n [\n ['', themeName]\n ]\n ),\n sortByThemeName: themeName => translate(\n 'investor_feedback.sort_by_theme__descending',\n `Sort by theme ${themeName} descending`,\n [\n ['', themeName]\n ]\n ),\n stickyToggleSummary: translate('investor_feedback.summary', 'Summary'),\n stickyToggleInvestorFeedback: translate('investor_feedback.details', 'Details'),\n // sorting content\n content1: `${translate('investor_feedback.recorded_date', 'Recorded Date')} - ${translate('others.newest_to_oldest', 'Newest to Oldest')}`,\n content2: `${translate('investor_feedback.recorded_date', 'Recorded Date')} - ${translate('others.oldest_to_newest', 'Oldest to Newest')}`,\n content3: `${translate('investor_feedback.investor_name', 'Investor Name')} - ${translate('others.a_to_z', 'A to Z')}`,\n content4: `${translate('investor_feedback.investor_name', 'Investor Name')} - ${translate('others.z_to_a', 'Z to A')}`,\n content5: `${translate('investor_feedback.investor_contact', 'Investor Contact')} - ${translate('others.a_to_z', 'A to Z')}`,\n content6: `${translate('investor_feedback.investor_contact', 'Investor Contact')} - ${translate('others.z_to_a', 'Z to A')}`,\n content7: `${translate('investor_feedback.sentiment', 'Sentiment')} - ${translate('others.a_to_z', 'A to Z')}`,\n content8: `${translate('investor_feedback.sentiment', 'Sentiment')} - ${translate('others.z_to_a', 'Z to A')}`,\n content9: `${translate('investor_feedback.investor_type', 'Investor Type')} - ${translate('others.a_to_z', 'A to Z')}`,\n content10: `${translate('investor_feedback.investor_type', 'Investor Type')} - ${translate('others.z_to_a', 'Z to A')}`,\n content11: `${translate('investor_feedback.location', 'Location')} - ${translate('others.a_to_z', 'A to Z')}`,\n content12: `${translate('investor_feedback.location', 'Location')} - ${translate('others.z_to_a', 'Z to A')}`,\n content13: `${translate('investor_feedback.bank_recorded', 'Bank Recorded')} - ${translate('others.a_to_z', 'A to Z')}`,\n content14: `${translate('investor_feedback.bank_recorded', 'Bank Recorded')} - ${translate('others.z_to_a', 'Z to A')}`,\n })),\n withAnalytics((ev, view) => ({\n viewChange: () => view(featurePageIds.INVESTOR_FEEDBACK_DETAILS_PAGE),\n invFeedbackSummaryEvent: () => ev(events.INVESTOR_FEEDBACK_SUMMARY_BUTTON),\n invFeedbackButtonEvent: () => ev(events.INVESTOR_FEEDBACK_BUTTON),\n fullFeedbackButtonEvent: () => ev(events.INVESTOR_FULL_FEEDBACK_BUTTON),\n sortFeedbackEvent: () => ev(events.INVESTOR_FEEDBACK_SORT_FEEDBACK_BUTTON),\n })),\n connect(mapStateToProps, mapDispatchToProps)\n)(Details)\n","import Types from 'actions/Types';\n\nimport dealFeatures from 'constants/dealFeatures';\nimport * as tiles from 'constants/homeTiles';\n\nconst receiveFeedbackThemeTypes = response => ({\n type: Types.API_RECEIVE_FEEDBACK_THEME_TYPES,\n feedbackThemeTypes: response,\n});\nconst requestFeedbackThemeTypes = loader => ({\n type: Types.API_REQUEST_FEEDBACK_THEME_TYPES,\n endPoint: '/v1/feedback/themeTypes',\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveFeedbackThemeTypes,\n loader,\n //\n feature: dealFeatures.INVESTOR_FEEDBACK,\n});\n\nconst receiveFeedbackSentiments = response => ({\n type: Types.API_RECEIVE_FEEDBACK_SENTIMENTS,\n feedbackSentiments: response,\n});\nconst requestFeedbackSentiments = loader => ({\n type: Types.API_REQUEST_FEEDBACK_SENTIMENTS,\n endPoint: '/v1/feedback/sentiments',\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveFeedbackSentiments,\n loader,\n //\n feature: dealFeatures.INVESTOR_FEEDBACK,\n});\n\nconst receiveFeedbackDealThemes = response => ({\n type: Types.API_RECEIVE_DEAL_THEMES,\n dealThemes: response,\n});\nconst requestFeedbackDealThemes = (dealId, loader) => ({\n type: Types.API_REQUEST_DEAL_THEMES,\n endPoint: `/v1/deals/${dealId}/feedback/themes`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveFeedbackDealThemes,\n loader,\n //\n feature: dealFeatures.INVESTOR_FEEDBACK,\n});\n\nconst receiveFeedbackForDeal = response => ({\n type: Types.API_RECEIVE_FEEDBACK_FOR_DEAL,\n dealFeedback: response,\n});\nconst requestFeedbackForDeal = (dealId, loader) => ({\n type: Types.API_REQUEST_FEEDBACK_FOR_DEAL,\n endPoint: `/v2/deals/${dealId}/feedback`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveFeedbackForDeal,\n loader,\n tile: tiles.HOME_FEEDBACK_TILE,\n //\n feature: dealFeatures.INVESTOR_FEEDBACK,\n});\n\nconst receiveFeedbackSummaryForDealAndTheme = (response, responseDetails) => ({\n type: Types.API_RECEIVE_FEEDBACK_FOR_DEAL_AND_THEME,\n dealAndThemeSummary: response,\n responseDetails,\n});\nconst requestFeedbackSummaryForDealAndTheme = (dealId, themeTypeId, loader) => ({\n type: Types.API_REQUEST_FEEDBACK_FOR_DEAL_AND_THEME,\n endPoint: `/v1/deals/${dealId}/feedback/${themeTypeId}/summary`,\n params: {},\n ajaxType: 'GET',\n responseDetails: `themeSummary${themeTypeId}`,\n onSuccess: receiveFeedbackSummaryForDealAndTheme,\n loader,\n //\n feature: dealFeatures.INVESTOR_FEEDBACK,\n});\n\nconst receiveFeedbackHighlightsForDealAndTheme = (response, responseDetails) => ({\n type: Types.API_RECEIVE_FEEDBACK_HIGHLIGHTS_FOR_DEAL_AND_THEMETYPE,\n dealAndSentimentSummary: response,\n responseDetails,\n});\nconst requestFeedbackHighlightsForDealAndTheme = (dealId, themeTypeId, loader) => ({\n type: Types.API_REQUEST_FEEDBACK_HIGHLIGHTS_FOR_DEAL_AND_THEMETYPE,\n endPoint: `/v1/deals/${dealId}/feedback/${themeTypeId}/highlights`,\n params: {},\n ajaxType: 'GET',\n responseDetails: `themeHighlight${themeTypeId}`,\n onSuccess: receiveFeedbackHighlightsForDealAndTheme,\n loader,\n //\n feature: dealFeatures.INVESTOR_FEEDBACK,\n});\n\nconst receiveFeedbackChartTypes = (response) => ({\n type: Types.API_RECEIVE_FEEDBACK_CHART_TYPES,\n chartTypes: response,\n});\nconst requestFeedbackChartTypes = (dealId, loader) => ({\n type: Types.API_REQUEST_FEEDBACK_CHART_TYPES,\n endPoint: `/v1/deals/${dealId}/feedback/charts`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveFeedbackChartTypes,\n loader,\n //\n feature: dealFeatures.INVESTOR_FEEDBACK,\n});\n\nconst receiveFeedbackChartData = (response, responseDetails) => ({\n type: Types.API_RECEIVE_FEEDBACK_CHART_DATA,\n chartData: response,\n responseDetails,\n});\nconst requestFeedbackChartData = (dealId, chartId, loader) => ({\n type: Types.API_REQUEST_FEEDBACK_CHART_DATA,\n endPoint: `/v1/deals/${dealId}/feedback/charts/${chartId}`,\n params: {},\n ajaxType: 'GET',\n responseDetails: `feedbackChartData${chartId}`,\n onSuccess: receiveFeedbackChartData,\n loader,\n //\n feature: dealFeatures.INVESTOR_FEEDBACK,\n});\n\nconst selectChartId = chartId => ({\n type: Types.SELECT_CHART_ID,\n chartId,\n});\n\nconst selectChartTab = chartIndex => ({\n type: Types.SELECT_CHART_TAB,\n chartIndex,\n})\n\nconst selectChartSubTab = (chartIndex, chartTitle) => ({\n type: Types.SELECT_CHART_SUB_TAB,\n chartIndex,\n chartTitle,\n})\n\nexport {\n receiveFeedbackThemeTypes,\n requestFeedbackThemeTypes,\n receiveFeedbackSentiments,\n requestFeedbackSentiments,\n receiveFeedbackDealThemes,\n requestFeedbackDealThemes,\n receiveFeedbackForDeal,\n requestFeedbackForDeal,\n receiveFeedbackSummaryForDealAndTheme,\n requestFeedbackSummaryForDealAndTheme,\n receiveFeedbackHighlightsForDealAndTheme,\n requestFeedbackHighlightsForDealAndTheme,\n receiveFeedbackChartTypes,\n requestFeedbackChartTypes,\n receiveFeedbackChartData,\n requestFeedbackChartData,\n selectChartTab,\n selectChartSubTab,\n selectChartId\n};\n","import React, { PureComponent } from 'react';\nimport { ButtonGroup } from 'react-bootstrap';\n// TODO\nimport { HsbcButton } from 'mk-pattern-library-react';\n\nimport TranslationText from 'translations/TranslationText';\nimport { mapThemeTypeOrSentimentToKey } from 'util/translationMappings';\n\nconst btnInlineStyles = { width: 'auto', paddingLeft: 20, paddingRight: 20 };\n\nconst renderButtonText = (chartPageTitle) => {\n const key = mapThemeTypeOrSentimentToKey(chartPageTitle);\n\n return key\n ? (\n \n )\n : chartPageTitle;\n}\n\nconst buttonGroupInlineStyles = { };\n\nclass Buttons extends PureComponent {\n render() {\n return (\n \n {\n this.props.chartNames.map((chartName, index) => (\n this.props.buttonClicked(index, chartName)}\n aria-pressed={this.props.activeIndex === index}\n >\n {\n renderButtonText(chartName)\n }\n \n ))\n }\n \n );\n }\n}\n\nexport default Buttons;\n","import React, { PureComponent } from 'react'\nimport styled from 'styled-components';\n\nimport TranslationText from 'translations/TranslationText';\n\nconst ContentWrapper = styled.div`\n padding-top: 20px;\n`;\n\nclass NoContent extends PureComponent {\n render() {\n return (\n \n \n \n )\n }\n}\n\nexport default NoContent;\n","import Table from 'shared/components/Table';\nimport React from 'react';\nimport { fromPairs } from 'lodash';\nimport moment from 'moment';\nimport { compose } from 'recompose';\n\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport {\n firstHeaderAlignedLeftStyle,\n firstRowAlignedLeftStyle,\n otherRowAlignedRight\n} from 'shared/components/Table';\n\nconst customWordBreak = {\n wordWrap: 'break-word',\n}\n\nconst transformData = (data) => {\n const series = data.series;\n const values = series.filter(item => item.seriesType === \"Plot\");\n const totals = series.filter(item => item.seriesType === \"CategorySummary\")[0].data;\n\n let lastMonth = \"\";\n let lastDay = \"\";\n\n const dates = data.categoryAxis.categoryLabel.reduce((acc, current, index) => {\n const splitDate = current.split(\"-\");\n\n if (splitDate.length === 2) {\n lastMonth = splitDate[1];\n acc.push(moment(current, 'DD-MMM').format('Do MMM'));\n } else {\n if(splitDate[0] !== \"\") {\n acc.push(moment(`${current} ${lastMonth}`, 'D-MMM').format('Do MMM'));\n } else {\n acc.push(moment(`${lastDay} ${lastMonth}`, 'D-MMM').format('Do MMM'));\n }\n }\n\n if(splitDate[0] !== \"\") {\n lastDay = splitDate[0];\n }\n\n return acc\n }, []);\n\n const transformedData = dates.map((date, index) => ({\n 'date': date,\n 'total': totals[index].value,\n ...fromPairs(values.map(v => [\n [v.seriesTitle], v.data[index].value\n ])),\n }));\n\n return transformedData;\n}\n\nconst Columns = (props, data) => {\n const plots = props.series.series.filter(series => series.seriesType === \"Plot\");\n\n const columns = [{\n dataField: 'total',\n text: props.cumulativeText,\n columnFlex: 1,\n style: {\n ...otherRowAlignedRight,\n ...customWordBreak,\n textAlign: 'center',\n },\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n ...customWordBreak,\n }\n }, {\n dataField: 'date',\n text: props.dateOfFeedbackText,\n columnFlex: 1,\n attrs: {\n role: 'rowheader',\n },\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n ...customWordBreak,\n },\n style: {\n ...firstRowAlignedLeftStyle,\n ...customWordBreak,\n }\n }]\n\n columns.push(...plots.map(plot => ({\n dataField: plot.seriesTitle,\n text: plot.seriesTitle,\n columnFlex: 1,\n style: {\n ...otherRowAlignedRight,\n ...customWordBreak,\n textAlign: 'center',\n },\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n ...customWordBreak,\n }\n })));\n\n return columns;\n};\n\nconst ThemeDistributionTable = props =>\n \n\nexport default compose(\n withTranslate(translate => ({\n tableCaption: translate('', 'Theme distribution over time'),\n cumulativeText: translate(\"investor_feedback.distribution_chart_primary_x_axis\", \"Cumulative Number of Feedback Records\"),\n dateOfFeedbackText: translate('investor_feedback.theme_distribution_chart_secodary_x_axis', \"Date of Feedback\"),\n }))\n)(ThemeDistributionTable);\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ResponsiveContainer, ComposedChart, Bar, XAxis, YAxis, CartesianGrid, Legend, Text } from 'recharts';\nimport { ColorChip, VisualisationColors } from 'mk-pattern-library-react';\n\nimport TranslationText, { translationString } from 'translations/TranslationText';\n\nimport withLanguage from 'translations/withLanguage';\nimport { mapThemeTypeOrSentimentToKey } from 'util/translationMappings';\n\nimport { typography } from 'shared/styles/variables/theme';\n\nconst visualisationColors = VisualisationColors.asArray;\n\nconst legendKeyStyle = {\n width: '100%',\n paddingBottom: '5px'\n};\n\nconst chartAxisText = {\n fontSize: typography.sizes['12px'],\n fontWeight: 600,\n textAlign: 'center',\n textIndent: 62,\n};\n\nconst renderLegend = (colors, keyTitle, props) => {\n const { payload } = props;\n const result = (\n
\n

\n \", translationString(mapThemeTypeOrSentimentToKey(keyTitle), props.language, keyTitle)]\n ]}\n defaultText={`Distribution of ${translationString(mapThemeTypeOrSentimentToKey(keyTitle), props.language, keyTitle)} Themes by Date`}\n />\n

\n
    \n {\n payload.reverse().map((entry, index) => {\n if (!entry.color) {\n const targetColor = colors[(index) % colors.length];\n entry.color = targetColor;\n }\n return (\n \n );\n })\n }\n
\n
\n \n
\n
\n );\n\n return ReactDOM.createPortal(\n result,\n document.querySelector('#legendTitle')\n );\n};\n\nconst topBarLegend = (index, height, marginTop, props) => {\n const { x, payload, width } = props;\n if (index === 0) {\n const xCoord = x - (width / 2);\n return (\n \n {payload.topText && ({payload.topText})}\n {payload.name}\n {payload.bottomText && ({payload.bottomText})}\n \n );\n }\n};\n\nconst renderLabel = (props) => {\n const { x, y, width } = props;\n const title = translationString('investor_feedback.theme_distribution_chart_secodary_x_axis', props.language, \"Date of Feedback\");\n const fullWidth = width + x;\n return (\n \n {/* */}\n \n {/* */}\n \n {\n title\n }\n \n \n );\n};\n\nconst customYTick = ({ payload, fontWeight, ...other}) => {\n return (\n {payload.value + '%'}\n );\n};\n\nconst adjustYAxisOnMaxData = (data, baseAxisWidth = 60, fontSize = typography.sizes['14px']) => {\n let axisWidth = baseAxisWidth;\n const arrayOfValues = data.map((set) => {\n const setVals = Object.keys(set).map((k) => parseInt(set[k], 10))\n .filter(i => (typeof i === 'number' && i));\n return setVals;\n });\n\n const maxLength = Math.max(...arrayOfValues).toString().length;\n\n if (maxLength > 6) {\n axisWidth = (maxLength - 6) * fontSize * (1.2) + baseAxisWidth;\n }\n\n return axisWidth;\n};\n\nconst CustomBar = (props) => {\n const { fill, x, y, width, height } = props;\n\n\n return (\n \n ;\n \n \n );\n};\n\nclass FeedbackChartThemeDistribution extends React.PureComponent {\n componentDidMount() {\n setTimeout(() => {\n const el = document.querySelector('svg.recharts-surface');\n if (el) el.setAttribute('focusable', false);\n }, 0);\n }\n render() {\n const props = this.props;\n const { data, keys, barGap, barSize, title, legendHeight, legendTitle, xLegend, animate } = props;\n const fontSize = typography.sizes['14px'];\n const yAxixWidth = adjustYAxisOnMaxData(data, 60, fontSize);\n const animationDuration = 650;\n\n const colors = visualisationColors;\n const bars = keys => {\n const sortedKeys = keys.sort((a, b) => data[0][a.key] - data[0][b.key]);\n return (\n\n sortedKeys.map((key, index) => {\n // if the key does not have an assigned color, pick one from the color array\n if (!key.color) {\n const targetColor = colors[keys.length - 1 - (index % colors.length)];\n key.color = targetColor;\n }\n\n const barAnimate = animationDuration / keys.length;\n const barAnimateDelay = animationDuration - ((index + 1) * barAnimate);\n return (\n \n );\n })\n );\n };\n\n return (\n \n\n \n {xLegend\n ? ()\n : false}\n\n (`${val}%`)}\n width={yAxixWidth}\n interval={0}\n tick={customYTick}\n ticks={[0, 50, 100]}\n />\n \n\n \n\n {bars(keys)}\n \n \n );\n }\n};\n\nexport default withLanguage(FeedbackChartThemeDistribution);\n\nFeedbackChartThemeDistribution.defaultProps = {\n animate: false,\n title: '',\n units: ' (m)',\n xLegend: false,\n height: 400,\n primary: true,\n barGap: 0,\n legendHeight: 40,\n keys: [\n { key: 'da', value: 'A' },\n { key: 'db', value: 'B' },\n { key: 'dc', value: 'C' },\n { key: 'dd', value: 'D' },\n { key: 'de', value: 'E' },\n { key: 'df', value: 'F' },\n { key: 'dg', value: 'G' },\n { key: 'dh', value: 'H' },\n ],\n};\n","import React, { PureComponent } from 'react';\nimport { Row, Col } from 'react-bootstrap';\nimport { compose } from 'recompose';\nimport { browserHistory } from 'react-router';\nimport styled from 'styled-components';\n\nimport { SvgIcon } from 'shared/components/Icon';\n\nimport withModals from 'shared/hoc/withModals';\n\nimport { featurePageIds } from 'constants/featurePages';\n\nimport ResponsiveEllipsis from 'shared/components/ResponsiveEllipsis';\nimport { buttonKeyHandler } from 'util/onKeyPress';\n\nimport TranslationText from 'translations/TranslationText';\nimport flexbox from 'shared/styles/mixins/flexbox';\n\nconst LinkToFeedback = styled.div`\n ${flexbox('row', 'center', 'flex-start')}\n\n &:hover span {\n text-decoration: underline;\n }\n`;\n\nconst provideKeyForHighlightHeader = theme => {\n switch (theme.themeTypeId) {\n case 1: {// Positive\n return 'investor_feedback.positive_feedback_highlights';\n }\n case 2: {// Concern\n return 'investor_feedback.concern_highlighted';\n }\n case 3: {// Valuation\n return 'investor_feedback.valuation_fedback_highlights';\n }\n default: {// if not recognized\n return `${theme.themeTypeName} Feedback Highlights`;\n }\n }\n}\n\nclass FeedbackHighlightContainer extends PureComponent {\n\n navigateToFeedback = (e, /* feedback */) => {\n e.stopPropagation();\n \n browserHistory.push(featurePageIds.INVESTOR_FEEDBACK_DETAILS_PAGE);\n }\n\n render() {\n\n return (\n
\n

\n \n

\n
\n \n {\n this.props.highlightData\n .filter(feedback => feedback.text)\n .map(feedback => (\n \n \n \n ))\n }\n \n \n {\n this.props.highlightData\n .filter(feedback => feedback.text)\n .map(feedback => (\n \n this.navigateToFeedback(e, feedback)}\n role=\"button\"\n onKeyDown={e => buttonKeyHandler(e, () => this.navigateToFeedback(e, feedback))}\n tabIndex={0}\n >\n {feedback.investor}\n \n \n \n ))\n }\n \n
\n
\n );\n }\n}\n\nexport default compose(\n withModals(\n null,\n (__, open) => ({\n openModal: modalId => open(modalId),\n }),\n )\n)(FeedbackHighlightContainer);\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport TranslationText, { translationString } from 'translations/TranslationText';\nimport withLanguage from 'translations/withLanguage';\nimport { mapThemeTypeOrSentimentToKey } from 'util/translationMappings';\n\nimport ChartTableContainer from 'shared/components/ChartTableContainer';\n\nimport {\n getInvestorFeedbackChartDataByChart,\n getInvestorFeedbackHighlightsByTheme,\n getSelectedChartSubTab\n} from 'selectors';\nimport { selectChartSubTab } from 'actions/InvestorFeedbackActions';\n\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { events } from 'constants/analytics';\n\n// import { featurePageIds } from 'constants/featurePages';\n\nimport Buttons from './shared/Buttons';\nimport NoContent from './shared/NoContent';\n\nimport ThemeDistributionTable from './tables/ThemeDistributionTable';\nimport ThemeDistributionChart from './charts/ThemeDistributionChart';\nimport FeedbackHighlightContainer from './charts/ThemeDistributionChart/FeedbackHighlightContainer';\n\nclass ThemeDistributionTabContent extends PureComponent {\n buttonClicked = (index, name) => {\n this.props.selectChartSubTab(index, name);\n\n this.props.themeDistributionTabEvent(name);\n }\n\n render() {\n const { chartData } = this.props;\n\n const renderChart = (chartData[this.props.activeIndex] && chartData[this.props.activeIndex].series) || false;\n const themeTypeId = this.props.activeIndex + 1;\n\n const highlightData = this.props.getHighlightData(themeTypeId); // Related to order of pages\n const theme = this.props.themeTypes\n .filter((themeType) => themeType.themeTypeId === themeTypeId)[0];\n\n const barHeight = window.innerWidth >= 1024 ? 450 : 545;\n\n let dataSetChart;\n let dataKeys;\n\n if (renderChart) {\n const dataSet = chartData[this.props.activeIndex].categoryAxis.categoryLabel\n .map((label) => {\n const splitLabel = label.split('-');\n return {\n name: splitLabel[0],\n bottomText: splitLabel[1] || '',\n };\n });\n\n dataKeys = [];\n dataSetChart = dataSet.map((dataObj, ind) => {\n const chartObj = {};\n // Always put category summary first to prevent additional loops through series\n chartData[this.props.activeIndex].series.sort((a, b) => {\n if (a.seriesType === 'CategorySummary') {\n return -1;\n } else if (b.seriesType === 'CategorySummary') {\n return 1;\n } else {\n const aVal = a.data[0] ? a.data[0].value : 0;\n const bVal = b.data[0] ? b.data[0].value : 0;\n if (aVal > bVal) {\n return -1;\n } else if (aVal < bVal) {\n return 1;\n } else {\n return 0;\n }\n }\n });\n\n chartData[this.props.activeIndex].series.forEach((series) => {\n if (series.seriesType === 'CategorySummary') {\n // Top Labels\n chartObj.topText = series.data[ind] ? series.data[ind].value : null;\n } else {\n // Find total for each index\n let total = 0;\n chartData[this.props.activeIndex].series.forEach((seriesForTotal) => {\n if (seriesForTotal.seriesType !== 'CategorySummary') {\n total += seriesForTotal.data[ind] ? seriesForTotal.data[ind].value : 0;\n }\n });\n\n // convert to %\n chartObj[series.seriesTitle] = series.data[ind] ? ((series.data[ind].value / total) * 100) : null;\n\n if (ind === 0) {\n dataKeys.push({\n key: series.seriesTitle,\n value: series.seriesTitle\n });\n }\n }\n });\n\n return {\n ...dataObj,\n ...chartObj\n };\n });\n }\n\n if (renderChart) {\n return (\n \n \n \n }\n buttonStyle={{\n top: '61px',\n right: '37px'\n }}\n tableTitle={\n \", translationString(mapThemeTypeOrSentimentToKey(this.props.chartNames[this.props.activeIndex]), this.props.language, mapThemeTypeOrSentimentToKey(this.props.chartNames[this.props.activeIndex]))]\n ]}\n defaultText={`Distribution of ${this.props.chartNames[this.props.activeIndex]} Themes by Date`}\n />\n }\n >\n
\n
\n \n
\n \n \n \n )\n }\n\n return ;\n }\n}\n\nexport default compose(\n withLanguage,\n withAnalytics((ev) => ({\n themeDistributionTabEvent: title => ev(events.THEME_DISTRIBUTION_TAB_BUTTON(title.toLowerCase())),\n })),\n connect(\n (state, ownProps) => {\n const chartData = getInvestorFeedbackChartDataByChart(state, `feedbackChartData${ownProps.chartDetails.chartId}`);\n return ({\n // sub tab handling\n activeIndex: getSelectedChartSubTab(state),\n // data\n chartData,\n chartNames: chartData.map(c => c.pageTitle),\n // needed?\n themeTypes: state.investorFeedbackData.feedbackThemeTypes,\n getHighlightData: (theme) => getInvestorFeedbackHighlightsByTheme(state, `themeHighlight${theme}`),\n })\n },\n dispatch => ({\n selectChartSubTab: (index, title) => dispatch(selectChartSubTab(index, title)),\n }),\n ),\n)(ThemeDistributionTabContent);\n","import React from 'react';\nimport Table from 'shared/components/Table';\nimport { translationString } from 'translations/TranslationText';\nimport withLanguage from 'translations/withLanguage';\nimport { mapThemeTypeOrSentimentToKey } from 'util/translationMappings';\n\n\nimport {\n firstHeaderAlignedLeftStyle,\n firstRowAlignedLeftStyle,\n otherHeaderAlignedRightStyle,\n otherRowAlignedRight\n} from 'shared/components/Table';\n\nconst halfWidth = {\n minWidth: '50%',\n maxWidth: '50%',\n width: '50%',\n}\n\nconst Columns = (props, label) => {\n const columns = [{\n dataField: 'label',\n text: `${translationString(label, props.language, 'Th')} ${translationString(`investor_feedback.themes`, props.language, 'Themes')}`,\n attrs: {\n role: 'rowheader',\n },\n headerStyle: {\n ...firstHeaderAlignedLeftStyle,\n ...halfWidth,\n },\n style: {\n ...firstRowAlignedLeftStyle,\n ...halfWidth,\n }\n }, {\n dataField: 'value',\n text: translationString(`orders.total`, props.language, 'Total'),\n style: {\n ...otherRowAlignedRight,\n ...halfWidth,\n textAlign: 'center',\n },\n headerStyle: {\n ...otherHeaderAlignedRightStyle,\n ...halfWidth,\n textAlign: 'center',\n }\n }];\n\n return columns;\n}\n\nconst SentimentTables = props =>\n props.series && props.series.map(series =>\n \n );\n\nexport default withLanguage(SentimentTables);\n","import React from 'react';\nimport styled from 'styled-components';\nimport { Row, Col } from 'react-bootstrap';\nimport { SiteConstants, NiceScale } from 'mk-pattern-library-react';\n\nimport TranslationText, { translationString } from 'translations/TranslationText';\nimport withLanguage from 'translations/withLanguage';\nimport { mapThemeTypeOrSentimentToKey } from 'util/translationMappings';\n\nimport { typography } from 'shared/styles/variables/theme';\n\nconst ColumnLabel = styled.div`\n position: absolute;\n top: 40px;\n left: 0px;\n\n width: 100%;\n text-align: center;\n\n color: #333;\n font-size: ${typography.sizes['12px']};\n font-family: ${typography.family.bold};\n\n transform: translateY(-50%);\n -webkit-transform: translateY(-50);\n\n padding-left: 6px;\n`;\n\nconst HSBC_RAG_COLORS = SiteConstants.HSBC_RAG_COLORS;\n\nconst FeedbackChartSentiment = (props) => {\n const { chartData } = props;\n const portraitMode = window.innerWidth < 1024;\n const chartHeight = portraitMode ? 255 : 145;\n\n chartData.series = chartData.series.slice(0, 2);\n let maxNum = 0;\n let maxRows = 0;\n chartData.series.forEach((series) => {\n maxRows = series.data.length > maxRows ? series.data.length : maxRows;\n series.data.forEach((dataSeries) => {\n maxNum = dataSeries.value > maxNum ? dataSeries.value : maxNum;\n });\n });\n\n const rowHeight = chartHeight / maxRows;\n let niceScale = {};\n niceScale = maxNum <= 1\n ? niceScale = { ticks: [0, 1, 2] }\n : (new NiceScale(0, maxNum, props.maxYTicks || 6).niceScale());\n\n return (\n \n \n\n {\n chartData.series.map((series, seriesIndex) => {\n let highlightColor;\n\n switch (seriesIndex) {\n case 0:\n highlightColor = HSBC_RAG_COLORS.HSBC_RAG_GREEN;\n break;\n case 1:\n highlightColor = HSBC_RAG_COLORS.HSBC_RAG_RED;\n break;\n case 2:\n highlightColor = HSBC_RAG_COLORS.HSBC_RAG_AMBER;\n break;\n default:\n highlightColor = HSBC_RAG_COLORS.HSBC_RAG_GREEN;\n }\n\n return (\n \n \n\n \n {translationString(mapThemeTypeOrSentimentToKey(series.seriesTitle), props.language, series.seriesTitle)} {translationString(\"investor_feedback.themes\", props.language, \"Themes\")}\n
\n
\n {\n series.data.map((dataSeries, index) => {\n const lastIndex = index === series.data.length - 1;\n\n return (\n \n
\n {dataSeries.label}\n
\n
\n );\n },\n )\n }\n \n \n \n {\n niceScale.ticks.map((tick, index) => (\n \n ))\n }\n
\n {\n series.data.map((dataSeries) => {\n const barStyle = {\n height: rowHeight,\n width: `${(dataSeries.value / (niceScale.ticks[niceScale.ticks.length - 1])) * 100}%`,\n backgroundColor: highlightColor,\n position: 'absolute',\n left: 0,\n top: '50%',\n transform: 'translateY(-50%)',\n WebkitTransform: 'translateY(-50%)',\n borderTop: `solid ${0.1 * rowHeight}px #fff`,\n borderBottom: `solid ${0.1 * rowHeight}px #fff`,\n };\n\n return (\n \n
\n
\n );\n },\n )\n }\n
\n \n
\n );\n },\n )\n }\n\n \n \n \n {\n niceScale.ticks.map((tick, index) => (\n \n
\n {\n Math.floor(tick) === tick ? tick : ''\n }\n
\n ))\n }\n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default withLanguage(FeedbackChartSentiment);\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport styled from 'styled-components';\n\nimport ChartTableContainer from 'shared/components/ChartTableContainer';\nimport { mapThemeTypeOrSentimentToKey } from 'util/translationMappings';\nimport TranslationText, { translationString } from 'translations/TranslationText';\nimport withLanguage from 'translations/withLanguage';\n\nimport {\n getInvestorFeedbackChartDataByChart,\n getSelectedChartSubTab\n} from 'selectors';\nimport { selectChartSubTab } from 'actions/InvestorFeedbackActions';\n\nimport Buttons from './shared/Buttons';\nimport NoContent from './shared/NoContent';\n\nimport SentimentTables from './tables/SentimentTables';\nimport SentimentChart from './charts/SentimentChart';\n\nconst ChartWrapper = styled.div`\n padding: 0 40px;\n`;\n\nconst legendKeyStyle = {\n paddingBottom: '10px',\n};\n\nclass SentimentTabContent extends PureComponent {\n buttonClicked = (index, name) => {\n this.props.selectChartSubTab(index, name);\n }\n\n render() {\n const renderChart = (this.props.chartData[this.props.activeIndex] && (this.props.chartData[this.props.activeIndex].series.some(series => series.data.length > 0))) || false;\n\n if (renderChart) {\n return (\n \n \n

\n \", translationString(mapThemeTypeOrSentimentToKey(this.props.chartNames[this.props.activeIndex]), this.props.language, mapThemeTypeOrSentimentToKey(this.props.chartNames[this.props.activeIndex]))]\n ]}\n defaultText={`Number of Investors For Theme where Investor Sentiment is ${translationString(mapThemeTypeOrSentimentToKey(this.props.chartNames[this.props.activeIndex]), this.props.language, mapThemeTypeOrSentimentToKey(this.props.chartNames[this.props.activeIndex]))}`}\n />\n\n

\n \n }\n buttonStyle={{\n top: '61px',\n right: '37px'\n }}\n >\n \n \n \n
\n )\n }\n\n return ;\n }\n}\n\nexport default compose(\n withLanguage,\n connect(\n (state, ownProps) => {\n const chartData = getInvestorFeedbackChartDataByChart(state, `feedbackChartData${ownProps.chartDetails.chartId}`);\n return ({\n // sub tab handling\n activeIndex: getSelectedChartSubTab(state),\n // data\n chartData,\n chartNames: chartData.map(c => c.pageTitle),\n })\n },\n dispatch => ({\n selectChartSubTab: (index, title) => dispatch(selectChartSubTab(index, title)),\n }),\n ),\n)(SentimentTabContent);\n","\nexport const convertNumbersToFullName = short => {\n switch(short) {\n case 'b': return 'billion';\n case 'm': return 'million';\n case 't': return 'thousands';\n default:\n return short;\n }\n}\n\nexport const convertNumbersToFullKey = short => {\n switch(short) {\n case 'b': return 'others.billion';\n case 'm': return 'others.million';\n case 't': return 'others.thousands';\n default:\n return short;\n }\n}","import { translationString } from 'translations/TranslationText';\n\nconst mapPriceSensitivityToKey = sensitivity => {\n switch (true) {\n case /Outright Yield/.test(sensitivity): {\n return {\n title: 'Outright Yield',\n key: 'investor_feedback.outright_yield',\n }\n }\n case /Spread vs Government/.test(sensitivity): {\n return {\n title: 'Spread vs Government',\n key: 'investor_feedback.spread_vs_government',\n };\n }\n case /Spread vs Mid Swap/.test(sensitivity): {\n return {\n title: 'Spread vs Mid Swap',\n key: 'investor_feedback.spread_vs_mid_swap',\n };\n }\n default: {\n return {\n title: '',\n key: '',\n };\n }\n }\n}\n\nexport default (originalText, language) => {\n const { title, key } = mapPriceSensitivityToKey(originalText);\n\n const result = originalText.replace(title, translationString(key, language, title))\n return result;\n}\n","import React, { Component } from 'react';\nimport * as d3 from 'd3';\nimport 'd3-selection-multi';\n\nimport { VisualisationColors } from 'mk-pattern-library-react';\n\nimport { translationString } from 'translations/TranslationText';\nimport withLanguage from 'translations/withLanguage';\nimport provideTranslationStringForTitle from '../../shared/provideTranslationStringForTitle';\n\nconst visualisationColors = VisualisationColors.asArray;\n\nconst margin = { top: 30, right: 5, bottom: 50, left: 50 };\n\nconst fullWidth = 1000;\nconst fullHeight = 600;\n\nconst yAxisWidth = 140;\nconst xAxisHeight = 150;\n\nconst width = fullWidth - margin.right - margin.left - yAxisWidth;\nconst height = fullHeight - margin.top - margin.bottom - xAxisHeight;\n\nclass FeedbackChartPriceDemand extends Component {\n buildChart() {\n this.chartData = this.props.data;\n\n this.categoryAxis = this.chartData.categoryAxis.categoryLabel;\n this.cumulativeData = this.chartData.series.find(s => s.seriesTitle === 'Cumulative Demand').data;\n this.demandData = this.chartData.series.find(s => s.seriesTitle === 'Demand').data.map(d => d.value);\n this.demandMaxData = this.chartData.series.find(s => s.seriesTitle === 'Demand Max').data.map(d => d.value);\n this.demandLowData = this.chartData.series.find(s => s.seriesTitle === 'Demand Min').data.map(d => d.value);\n this.targetSize = this.chartData.series.find(s => s.seriesTitle === 'Target Size').data.map(d => d.value)[0];\n this.trancheCurrency = this.chartData.series.find(s => s.seriesTitle === 'Tranche Currency').data.map(d => d.value)[0];\n this.demandUnit = this.chartData.series.find(s => s.seriesTitle === 'Demand Unit').data.map(d => d.value)[0];\n\n this.valueTitle = this.chartData.valueAxis.valueTitle;\n\n this.max = d3.max(this.cumulativeData, d => d.value);\n\n this.cumulativeData = this.cumulativeData.map((d, i) => ({\n ...d,\n xAxisLabel: this.categoryAxis[i],\n }));\n\n this.y = d3.scaleLinear()\n .domain([0, this.max])\n .range([height, 0])\n .nice();\n\n this.x = d3.scaleBand()\n .range([0, width])\n .domain(this.categoryAxis)\n .paddingInner(0.2);\n\n this.x2 = d3.scaleBand()\n .range([0, width])\n .domain([...Array(this.demandData.length).keys()])\n .paddingInner(0.3);\n\n this.xAxis = d3.axisBottom(this.x)\n .ticks(this.categoryAxis.length);\n\n this.xAxis2 = d3.axisBottom(this.x2)\n .ticks(this.demandData.length)\n .tickFormat(i => this.demandData[i]);\n\n this.yAxis = d3.axisLeft(this.y).tickSize(-yAxisWidth, 0);\n d3.select('#chart').html('');\n const svg = d3.select('#chart')\n .append('svg')\n .attr('width', fullWidth)\n .attr('height', fullHeight)\n .attr('focusable', false)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n // svg.append('rect')\n // .attrs({ x: -50, y: height, width: fullWidth, height: 100, fill: '#F7F7F7' })\n // replaced with (bottom)\n svg.append('rect')\n .attrs({ x: -50, y: height, width: fullWidth, height: 1, fill: '#d9d9d9' })\n\n const chartg = svg.append('g')\n .attr('transform', 'translate(' + yAxisWidth + ',0)')\n\n chartg.append('g')\n .attr('class', 'x axis')\n .attr('transform', 'translate(0, 380)')\n .call(this.xAxis);\n\n svg.append('text')\n .text(provideTranslationStringForTitle(this.valueTitle, this.props.language))\n .attr('y', 400)\n .attr('x', -40);\n\n svg.append('text')\n .text(translationString('investor_feedback.demand', this.props.language, this.valueTitle))\n .attr('y', 440)\n .attr('x', -40);\n\n svg.append('text')\n .text(`(${this.trancheCurrency}${this.demandUnit})`)\n .attr('y', 453)\n .attr('x', -40);\n\n svg.append('text')\n .text(`${translationString('investor_feedback.demand', this.props.language, this.valueTitle)} (${this.trancheCurrency}${this.demandUnit})`)\n .attr('y', -20)\n .attr('x', -25);\n\n if(this.targetSize) {\n svg.append('text')\n .text(translationString('investor_feedback.target_size', this.props.language, this.valueTitle))\n .attr('y', this.y(this.targetSize) - 5)\n .attr('x', 10);\n\n svg.append('text')\n .text(this.targetSize)\n .attr('y', this.y(this.targetSize) + 15)\n .attr('x', 10);\n }\n\n chartg.append('g')\n .attr('class', 'x axis')\n .attr('transform', 'translate(0, ' + 420 + ')')\n .call(this.xAxis2);\n\n svg.append('g')\n .classed('y axis', true)\n .attr('x', 400)\n .call(this.yAxis);\n\n if(this.targetSize) {\n chartg.append('line')\n .attr('stroke-dasharray', '5, 5')\n .attr('x1', -175)\n .attr('y1', this.y(this.targetSize))\n .attr('x2', width)\n .attr('y2', this.y(this.targetSize))\n .attr('stroke', '#bbbbbb');\n }\n\n const gridlines = d3.axisLeft()\n .tickFormat('')\n .tickSize(-width)\n .scale(this.y);\n\n chartg.append('g')\n .attr('class', 'axis-lines')\n .call(gridlines);\n\n d3.selectAll('.axis-lines line')\n .attr('stroke', '#dddddd');\n\n d3.selectAll('.y.axis line')\n .attr('stroke', '#dddddd');\n\n const rects = chartg\n .append('g')\n .attr('class', 'bars')\n .selectAll('rect')\n .data(this.cumulativeData);\n\n const foregroundsBars = rects.enter();\n\n foregroundsBars.append('rect')\n .attr('fill', (d, i) => visualisationColors[(i) % visualisationColors.length])\n .attr('x', d => this.x(d.xAxisLabel))\n .attr('y', (d, i) => this.y(this.cumulativeData[i].value))\n .attr('height', (d, i) => {\n const value = this.cumulativeData[i].value - (i > 0 ? this.cumulativeData[i - 1].value : 0);\n if (this.max === 0 && value === 0) {\n return 0;\n }\n return height - this.y(value)\n })\n .attr('width', this.x.bandwidth());\n\n const priceSensitivityIndicators = rects.enter();\n\n priceSensitivityIndicators.append('rect')\n .attr('class', 'sensitivity')\n .attr('fill', '#9b9b9b')\n .attr('x', d => this.x(d.xAxisLabel) + this.x.bandwidth() / 2 - 5)\n .attr('y', (d, i) => this.y(this.demandMaxData[i]))\n .attr('height', (d, i) => {\n const value = this.demandMaxData[i] - this.demandLowData[i];\n if (this.max === 0 && value === 0) {\n return 0;\n }\n return height - this.y(value)\n })\n .attr('width', 10);\n\n this.categoryAxis.forEach((categoryAxis) => {\n const backgroundBars = rects.enter();\n backgroundBars.append('rect')\n .attr('fill', (d, i) => visualisationColors[(i) % visualisationColors.length])\n .attr('x', () => this.x(categoryAxis))\n .attr('y', (d, i) => this.y(this.cumulativeData[i].value))\n .attr('height', (d, i) => {\n const value = this.cumulativeData[i].value - (i > 0 ? this.cumulativeData[i - 1].value : 0);\n if (this.max === 0 && value === 0) {\n return 0;\n }\n return height - this.y(value);\n })\n .attr('width', this.x.bandwidth())\n .style('opacity', 0.1);\n });\n\n d3.selectAll('text').attrs().styles({\n 'font-weight': 600,\n 'font-size': '0.750rem',\n 'font-family': 'Univers Next,Courier New,Helvetica,Arial,sans-serif',\n 'line-height': 1.42857,\n color: '#333',\n });\n\n d3.selectAll('g.x.axis text').attrs().styles({\n 'font-weight': 200,\n })\n\n d3.selectAll('.axis.x .tick line').style('visibility', 'hidden');\n d3.selectAll('.axis .domain').remove();\n d3.selectAll('.axis-lines .domain').remove();\n\n d3.select('.axis.y .tick:first-child').remove();\n }\n\n componentDidUpdate() {\n this.buildChart();\n }\n\n componentDidMount() {\n this.buildChart();\n }\n\n shouldComponentUpdate(props) {\n return props !== this.props;\n }\n\n render() {\n return (\n \n \n );\n }\n};\n\nexport default withLanguage(FeedbackChartPriceDemand);\n","import React from 'react';\nimport styled from 'styled-components';\nimport { compose } from 'recompose';\n\nimport withTranslate from 'shared/hoc/withTranslate';\nimport provideTranslationStringForTitle from '../shared/provideTranslationStringForTitle';\nimport Table from 'shared/components/Table';\nimport { numberFormatters } from 'shared/functions/formatters';\n\nimport {\n firstHeaderAlignedCenterStyle,\n otherRowAlignedCenter,\n otherRowAlignedLeft\n} from 'shared/components/Table';\n\nconst TargetSizeContainer = styled.div`\n margin: 10px 0;\n`;\n\nconst transformData = (data, props) => {\n const series = data.series;\n const values = series.filter(item => item.seriesType === \"Plot\");\n\n const transformedData = values.map((row, index) => ({\n \"Title\": values[index].seriesTitle,\n ...data.categoryAxis.categoryLabel.reduce((acc, curr, i) => ({\n ...acc,\n [i]: values[index].data[i].value\n }), {})\n }))\n\n const minPlot = series.filter(item => item.seriesTitle === \"Demand Min\")[0];\n const maxPlot = series.filter(item => item.seriesTitle === \"Demand Max\")[0];\n\n if (minPlot && maxPlot) {\n transformedData.push({\n 'Title': props.demandUncertaintyText,\n ...data.categoryAxis.categoryLabel.reduce((acc, curr, i) => ({\n ...acc,\n [i]: maxPlot.data[i].value - minPlot.data[i].value,\n }), {})\n })\n }\n\n return transformedData;\n}\n\nconst Columns = (props, title) => {\n const columns = [{\n dataField: 'Title',\n text: title,\n columnFlex: 2,\n headerStyle: {\n ...firstHeaderAlignedCenterStyle,\n width: 200,\n },\n style: {\n ...otherRowAlignedLeft,\n width: 200,\n },\n attrs: {\n role: 'rowheader',\n },\n }]\n\n columns.push(...props.series.categoryAxis.categoryLabel.map((column, i) => ({\n dataField: i,\n text: column,\n columnFlex: 1,\n style: {\n ...otherRowAlignedCenter,\n },\n headerStyle: firstHeaderAlignedCenterStyle,\n formatter: numberFormatters.oneDecimalPoint,\n })));\n\n return columns;\n};\n\nconst PriceDemandTable = props => {\n const trancheCurrency = props.series.series.find(s => s.seriesTitle === 'Tranche Currency').data.map(d => d.value)[0];\n const demandUnit = props.series.series.find(s => s.seriesTitle === 'Demand Unit').data.map(d => d.value)[0];\n const targetSize = props.series.series.find(s => s.seriesTitle === 'Target Size').data.map(d => d.value)[0];\n\n const title = provideTranslationStringForTitle(props.series.valueAxis.valueTitle, props.language);\n\n return (\n
\n {\n !!targetSize && (\n \n {props.tableTitle(targetSize, trancheCurrency, demandUnit)}\n \n )\n }\n\n \n
\n )\n}\n\nexport default compose(\n withTranslate((translate, props) => ({\n tableCaption: translate('', `Price demand data for ${props.series.pageTitle}`),\n tableTitle: (targetSize, currency, unit) => translate(\n 'investor_feedback.target_size_text',\n `Tranche Target Size ${targetSize || ''}${unit || ''} ${currency || ''}`,\n [\n ['', targetSize || ''],\n ['', unit || ''],\n ['', currency || '']\n ]\n ),\n demandUncertaintyText: translate('', 'Demand Uncertainty'),\n }))\n)(PriceDemandTable);\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport { convertNumbersToFullKey, convertNumbersToFullName } from 'shared/functions/converters';\nimport ChartTableContainer from 'shared/components/ChartTableContainer';\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport {\n getInvestorFeedbackChartDataByChart,\n getSelectedChartSubTab\n} from 'selectors';\nimport { selectChartSubTab } from 'actions/InvestorFeedbackActions';\n\nimport Dropdown from 'shared/accessibility/components/Dropdown';\n\nimport NoContent from './shared/NoContent';\n\nimport PriceDemandChart from './charts/PriceDemandChart';\nimport PriceDemandTable from './tables/PriceDemandTable';\n\nconst legendKeyStyle = {\n paddingBottom: '10px',\n};\n\nconst isData = chartData => {\n const cumulativeDemandData = chartData.series.filter(series => series.seriesTitle === \"Cumulative Demand\")[0].data;\n return cumulativeDemandData[cumulativeDemandData.length - 1].value > 0\n}\n\nclass PriceDemandTabContent extends PureComponent {\n buttonClicked = (index, name) => {\n this.props.selectChartSubTab(index, name);\n }\n\n render() {\n return (\n \n { this.props.chartNames.length > 0 &&\n ({\n selected: i === this.props.activeIndex,\n content: name,\n label: name,\n click: () => this.buttonClicked(i, name),\n }))\n }\n label={'Tranches'}\n />\n }\n {\n this.props.chartData[this.props.activeIndex] && isData(this.props.chartData[this.props.activeIndex]) ? (\n \n

\n {this.props.chartTitle()}\n

\n \n }\n buttonStyle={{\n top: '61px',\n right: '37px'\n }}\n >\n \n \n
\n )\n : \n }\n
\n );\n }\n}\n\nexport default compose(\n connect(\n (state, ownProps) => {\n const chartData = getInvestorFeedbackChartDataByChart(state, `feedbackChartData${ownProps.chartDetails.chartId}`);\n return ({\n // sub tab handling\n activeIndex: getSelectedChartSubTab(state),\n // data\n chartData,\n chartNames: chartData.map(c => c.pageTitle),\n })\n },\n dispatch => ({\n selectChartSubTab: (index, title) => dispatch(selectChartSubTab(index, title)),\n }),\n ),\n withTranslate((translate, props) => ({\n chartTitle: () => {\n const trancheCurrency = props.chartData[props.activeIndex].series.find(s => s.seriesTitle === 'Tranche Currency').data.map(d => d.value)[0];\n const demandUnit = props.chartData[props.activeIndex].series.find(s => s.seriesTitle === 'Demand Unit').data.map(d => d.value)[0];\n const trancheName = props.chartNames && props.chartNames[props.activeIndex];\n\n return translate(\n 'investor_feedback.pricedemand_chart_title',\n `Cumulative Demand By Price Point in ${convertNumbersToFullName(demandUnit)} ${trancheCurrency} for ${trancheName}`,\n [\n ['', translate(convertNumbersToFullKey(demandUnit), demandUnit)],\n ['', trancheCurrency],\n ['', trancheName],\n ],\n );\n }\n })),\n)(PriceDemandTabContent);\n","import React from 'react';\nimport { browserHistory } from 'react-router';\nimport { Row, Col } from 'react-bootstrap';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport styled from 'styled-components';\n\nimport { ValueFormatters } from 'mk-pattern-library-react';\nimport ButtonGroup from 'shared/components/Buttons/ButtonGroup';\n\nimport withTranslate from 'shared/hoc/withTranslate';\nimport withLanguage from 'translations/withLanguage';\nimport TranslationText from 'translations/TranslationText';\n\nimport { mapChartTypeTitleToKeys } from 'util/translationMappings';\n\nimport * as chartTypeIds from 'constants/chartTypes';\nimport { featurePageIds } from 'constants/featurePages';\n\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { events } from 'constants/analytics';\n\nimport { requestDoc } from 'actions/MyDocsActions';\nimport {\n selectChartSubTab,\n selectChartId,\n requestFeedbackChartData\n} from 'actions/InvestorFeedbackActions';\nimport {\n getCurrentDealId,\n getChartTypeDetails\n} from 'selectors';\n\nimport HsbcLink from 'shared/accessibility/components/Link';\nimport { ImgIcon } from 'shared/components/Icon';\nimport flexbox from 'shared/styles/mixins/flexbox';\nimport { FeatureContainer, HeaderContainer } from 'shared/styles/components/containers';\nimport { FeatureHeading, HeadingDescription } from 'shared/styles/components/headings';\n\n// tabs\nimport { tabIds, investorFeedbackChartTabs } from 'constants/tabIds';\nimport HorizontalTab from 'shared/accessibility/components/HorizontalTabs/HorizontalTab';\nimport HorizontalTabs from 'shared/accessibility/components/HorizontalTabs';\n// tabs content\nimport ThemeDistributionTabContent from './tabsContent/ThemeDistributionTabContent';\nimport SentimentTabContent from './tabsContent/SentimentTabContent';\nimport PriceDemandTabContent from './tabsContent/PriceDemandTabContent';\n\nconst ButtonsContainer = styled.div`\n ${flexbox('row', 'center', 'flex-end')}\n`;\n\nconst HSBCLinkContainer = styled.div`\n ${flexbox('row', 'center', 'flex-start')}\n margin: 15px 0 15px 0;\n`;\n\nconst HsbcLinkContent = styled.div`\n display: inline-block;\n height: 20px;\n`;\n\nconst PADDING_LEFT_0PX = {\n paddingLeft: 0,\n};\n\nconst TabContainer = styled.div`\n padding: 20px;\n`;\n\nconst documentIconStyle = {\n height: '18px',\n width: '18px',\n position: 'relative',\n display: \"inline-block\",\n float: \"left\",\n color: '#4D6474',\n fontSize: 20,\n marginRight: 8,\n};\n\nclass InvestorFeedbackSummary extends React.PureComponent {\n componentDidMount() {\n this.props.viewChange();\n }\n\n isChartTypeAvailable = chartTypeId => {\n return this.props.chartTypes.some(chart => chart.chartType.chartTypeId === chartTypeId && chart.visible);\n }\n\n handleDocumentClick = (docId, docName) => {\n this.props.requestDoc(docId, docName);\n }\n\n render() {\n return (\n \n \n \n \n \n \n \n \n \n \n {\n this.handleDocumentClick(this.props.fullFeedbackDoc, 'Full Feedback');\n this.props.fullFeedbackButtonEvent();\n }}\n >\n \n \n {this.props.fullFeedbackDocument}\n \n \n \n \n \n
\n

\n \"}\n replace={[\n [\"\", ValueFormatters.dateFormatter('dayMonthYearZoneShort', this.props.dateReceived)]\n ]}\n defaultText={`Data as of ${ValueFormatters.dateFormatter('dayMonthYearZoneShort', this.props.dateReceived)}`}\n />\n

\n
\n \n {\n browserHistory.push(featurePageIds.INVESTOR_FEEDBACK_SUMMARY_PAGE);\n this.props.invFeedbackSummaryEvent();\n },\n },\n {\n id:'btn-ifd-detail',\n active: false,\n text: this.props.stickyToggleInvestorFeedback,\n action: () => {\n browserHistory.push(featurePageIds.INVESTOR_FEEDBACK_DETAILS_PAGE);\n this.props.invFeedbackButtonEvent();\n },\n }\n ]}\n />\n \n \n \n
\n\n \n \n {\n this.props.themeTypes.length && (\n \n {\n this.props.selectFirstSubTab(this.props.tab1Title);\n this.props.requestChartData(this.props.themeDistChartTypeDetails.chartId, this.props.dealId);\n this.props.tabSwitchEvent('theme distribution')\n }}\n visible={this.isChartTypeAvailable(+chartTypeIds.THEME_DISTRIBUTION_CHART_TYPE)}\n >\n \n \n \n \n {\n this.props.selectFirstSubTab(this.props.tab2Title);\n this.props.requestChartData(this.props.sentimentChartTypeDetails.chartId, this.props.dealId);\n this.props.tabSwitchEvent('sentiment')\n }}\n visible={this.isChartTypeAvailable(+chartTypeIds.SENTIMENT_CHART_TYPE)}\n >\n \n \n \n \n {\n this.props.selectFirstSubTab(this.props.tab3Title);\n this.props.requestChartData(this.props.priceDemChartTypeDetails.chartId, this.props.dealId);\n this.props.tabSwitchEvent('price demand')\n }}\n visible={this.isChartTypeAvailable(+chartTypeIds.PRICE_DEMENT_CHART_TYPE)}\n >\n \n \n \n \n \n )\n }\n \n \n
\n );\n }\n}\n\nexport default compose(\n connect(\n state => ({\n dateReceived: state.investorFeedbackData.dataReceived,\n // flag for data display\n themeTypes: state.investorFeedbackData.feedbackThemeTypes,\n chartTypes: state.investorFeedbackData.chartTypes,\n fullFeedbackDoc: state.investorFeedbackData.fullFeedbackDoc,\n // smart data fetching\n dealId: getCurrentDealId(state),\n // tabs\n themeDistChartTypeDetails: getChartTypeDetails(state, +chartTypeIds.THEME_DISTRIBUTION_CHART_TYPE),\n priceDemChartTypeDetails: getChartTypeDetails(state, +chartTypeIds.PRICE_DEMENT_CHART_TYPE),\n sentimentChartTypeDetails: getChartTypeDetails(state, +chartTypeIds.SENTIMENT_CHART_TYPE),\n }),\n (dispatch, ownProps) => ({\n requestDoc: (docId, docName) => dispatch(requestDoc(docId, docName)),\n requestChartData: (chartId, dealId) => {\n dispatch(selectChartId(chartId));\n dispatch(requestFeedbackChartData(dealId, chartId, false));\n },\n selectFirstSubTab: (index, tabTitle) => dispatch(selectChartSubTab(0, tabTitle)),\n })\n ),\n withTranslate((translate, props) => ({\n fullFeedbackDocument: translate('investor_feedback.full_feedback_document', 'Full Feedback Document'),\n tab1Title: translate(\n mapChartTypeTitleToKeys(props.themeDistChartTypeDetails.chartTitle),\n props.themeDistChartTypeDetails.chartTitle\n ),\n tab2Title: translate(\n mapChartTypeTitleToKeys(props.sentimentChartTypeDetails.chartTitle),\n props.sentimentChartTypeDetails.chartTitle\n ),\n tab3Title: translate(\n mapChartTypeTitleToKeys(props.priceDemChartTypeDetails.chartTitle),\n props.priceDemChartTypeDetails.chartTitle\n ),\n stickyToggleSummary: translate('investor_feedback.summary', 'Summary'),\n stickyToggleInvestorFeedback: translate('investor_feedback.details', 'Details'),\n })),\n withAnalytics((ev, view) => ({\n viewChange: () => view(featurePageIds.INVESTOR_FEEDBACK_SUMMARY_PAGE),\n // btns\n invFeedbackButtonEvent: () => ev(events.INVESTOR_FEEDBACK_BUTTON),\n invFeedbackSummaryEvent: () => ev(events.INVESTOR_FEEDBACK_SUMMARY_BUTTON),\n fullFeedbackButtonEvent: () => ev(events.INVESTOR_FULL_FEEDBACK_BUTTON),\n // tabs\n tabSwitchEvent: title => ev(events.INVESTOR_FEEDBACK_SUMMARY_TAB(title)),\n })),\n withLanguage,\n)(InvestorFeedbackSummary);\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\n\nimport dealFeatures from 'constants/dealFeatures';\nimport { checkFeature } from 'actions/UtilityActions';\n\nimport { getDocumentsFetchedStatus } from 'selectors';\n\nimport Loading, { FeaturePageLoadingContainer } from 'shared/components/Loading';\n\nclass Pricing extends PureComponent {\n componentDidMount() {\n this.props.checkFeature(dealFeatures.PRICING);\n }\n\n render() {\n if (!this.props.documentsFetched) {\n return (\n \n \n \n );\n }\n\n return this.props.children;\n }\n}\n\n\n\nexport default connect(\n state => ({\n documentsFetched: getDocumentsFetchedStatus(state),\n }),\n dispatch => ({\n // polling\n checkFeature: feature => dispatch(checkFeature(feature)),\n })\n)(Pricing);\n","import React, { PureComponent } from 'react';\nimport { Row, Col } from 'react-bootstrap';\nimport { connect } from 'react-redux';\n\n// TODO\nimport { ValueFormatters } from 'mk-pattern-library-react';\n\nimport { getMyDocsData } from 'selectors';\n\nimport TranslationText from 'translations/TranslationText';\n\nimport { FeatureContainer, HeaderContainer } from 'shared/styles/components/containers';\nimport { FeatureHeading, HeadingDescription } from 'shared/styles/components/headings';\nimport { DateAsOf } from 'shared/styles/components/date';\n\nimport DocumentsList from 'MyDocs/Documents/DocumentList/DocumentList';\n\nclass PricingDocuments extends PureComponent {\n render() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \"}\n replace={[\n [\"\", ValueFormatters.dateFormatter('dayMonthYearZoneShort', this.props.dateReceived)]\n ]}\n defaultText={`Data as of ${ValueFormatters.dateFormatter('dayMonthYearZoneShort', this.props.dateReceived)}`}\n />\n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n myDocs: getMyDocsData(state)\n .filter(doc => doc.documentVersionId === state.pricingData.pricingDocumentId),\n dateReceived: state.myDocsData.dateReceived,\n});\n\nexport default connect(mapStateToProps)(PricingDocuments);\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\n\nimport { featurePageIds } from 'constants/featurePages';\nimport { viewChange } from 'actions/AnalyticsActions';\nimport { isDCMDealType, isECMDealType } from 'selectors';\n\nimport PricingDocs from './PricingDocuments';\n\nclass PricingDocuments extends PureComponent {\n componentDidMount(){\n this.props.viewChange(featurePageIds.PRICING_DOCUMENTS_PAGE);\n }\n\n render() {\n if (this.props.isDCM) {\n return \n } \n\n if (this.props.isECM) {\n return \n }\n\n return null;\n }\n}\n\nconst mapStateToProps = (state) => ({\n isDCM: isDCMDealType(state),\n isECM: isECMDealType(state),\n});\n\nconst mapDispatchToProps = dispatch => ({\n // analytics\n viewChange: viewId => dispatch(viewChange(viewId)),\n})\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PricingDocuments);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\n\nimport * as modalIds from 'constants/modalIds';\n\nimport Popup from 'shared/components/Popup';\nimport PopupSystem from 'shared/components/PopupSystem';\nimport Scrollable from 'shared/components/Scrollable';\nimport { SvgIcon } from 'shared/components/Icon';\nimport { openModal, closeModal } from 'actions/UtilityActions';\n\nimport withTranslate from 'shared/hoc/withTranslate';\nimport { getSelectedLanguage, getTermsAndConditionsText, isModalOpen } from 'selectors';\n\nimport HsbcLink from 'shared/accessibility/components/Link';\nimport { requestTermsAndConditions } from 'actions/LoginActions'\n\nclass TermsAndConditionsLink extends Component {\n\n openModal = () => {\n this.props.openModal(this.props.modalId, this.props.langCode);\n }\n\n closeModal = () => {\n this.props.closeModal(this.props.modalId);\n }\n\n render () {\n return (\n \n \n
\n \n \n }\n\n clickableElement={\n \n
\n \n
\n {this.props.btnText}\n \n }\n />\n )\n }\n}\n\nexport default compose(\n connect(\n state => ({\n modalId: modalIds.TERMS_AND_CONDITIONS_MODAL_ID,\n content: getTermsAndConditionsText(state),\n langCode: getSelectedLanguage(state),\n isModalOpen: isModalOpen(state, modalIds.TERMS_AND_CONDITIONS_MODAL_ID),\n }),\n dispatch => ({\n openModal: (modalId, langCode) => {\n dispatch(requestTermsAndConditions(langCode));\n dispatch(openModal(modalId));\n },\n closeModal: modalId => dispatch(closeModal(modalId)),\n }),\n ),\n /*withModals(\n selection => ({\n modalId: modalIds.TERMS_AND_CONDITIONS_MODAL_ID,\n isModalOpen: selection(modalIds.TERMS_AND_CONDITIONS_MODAL_ID),\n }),\n (close, open, props) => ({\n openModal: () => {\n open(modalIds.TERMS_AND_CONDITIONS_MODAL_ID);\n props.dispatch(requestTermsAndConditions(props.langCode))\n\n },\n closeModal: () => close(modalIds.TERMS_AND_CONDITIONS_MODAL_ID),\n }),\n ),*/\n withTranslate(translate => ({\n btnText: translate('common.terms_and_conditions', 'Terms and Conditions')\n }))\n)(TermsAndConditionsLink);\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\n\nimport styled from 'styled-components';\nimport PopupSystem from 'shared/components/PopupSystem';\nimport Popup, { Divider } from 'shared/components/Popup';\nimport Scrollable from 'shared/components/Scrollable';\n\nimport { getSelectedLanguage, isModalOpen, makeGetSiteTextSelector } from 'selectors'\nimport { openModal, closeModal } from 'actions/UtilityActions';\nimport { openSiteText } from 'actions/LoginActions';\nimport { SvgIcon } from 'shared/components/Icon';\nimport HsbcLink from 'shared/accessibility/components/Link';\n\nconst ModalContent = styled.div`\n display: flex;\n flex-direction: column;\n padding-top: 20px;\n\n ${Divider} {\n display: block;\n margin: 1rem 0;\n }\n`;\n\nconst ScrollableContent = styled.div`\n display: flex;\n flex-direction: column;\n padding: 0px 20px;\n`;\n\nconst ModalIcon = props => (\n \n);\n\nclass SiteTextModal extends Component {\n\n openModalClick = () => {\n this.props.openModal(this.props.modalId, this.props.langCode, this.props.siteTextType)\n }\n\n closeModalClick = () => {\n this.props.closeModal(this.props.modalId);\n }\n\n render() {\n return (\n \n {this.props.linkText || 'Not configured'}\n \n }\n content={\n \n \n \n \n
\n \n \n \n \n }\n />\n )\n }\n}\n\nconst makeMapStateToProps = (state, ownProps) => {\n const getSiteText = makeGetSiteTextSelector(ownProps.siteTextType.name);\n const mapStateToProps = (state, ownProps) => ({\n langCode: getSelectedLanguage(state),\n siteTextType: ownProps.siteTextType,\n isModalOpen: isModalOpen(state, ownProps.modalId),\n siteText: getSiteText(state),\n 'aria-label': ownProps['aria-label'],\n });\n\n return mapStateToProps;\n}\n\nexport default connect(\n makeMapStateToProps,\n dispatch => ({\n openModal: (modalId, langCode, siteTextType) => {\n dispatch(openSiteText(langCode, siteTextType));\n dispatch(openModal(modalId));\n },\n closeModal: modalId => dispatch(closeModal(modalId)),\n })\n)(SiteTextModal);\n","import React, { PureComponent, Fragment } from 'react';\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport styled from 'styled-components';\n\nimport { Row, Col } from 'react-bootstrap';\nimport Switch from \"react-switch\";\nimport { SvgIcon } from 'shared/components/Icon';\nimport Notification from 'shared/components/Notifications';\nimport TermsAndConditionsLink from 'components/TermsAndConditionsLink';\n\nimport SiteTextModal from 'components/SiteTextModal'\n\nimport withTranslate from 'shared/hoc/withTranslate';\nimport TranslationText, { translationString } from 'translations/TranslationText';\nimport { featurePageIds } from 'constants/featurePages';\nimport withAnalytics from 'shared/hoc/withAnalytics';\n\nimport { FeatureContainer, HeaderContainer } from 'shared/styles/components/containers';\nimport { FeatureHeading, HeadingDescription } from 'shared/styles/components/headings';\n\nimport { deactivateDevice, viewDeviceBiometrics } from 'actions/LoginActions';\n\nimport { EULA_MODAL_ID, BIOMETRIC_TERMS_MODAL_ID, BIOMETRIC_FAQ_MODAL_ID, CONTACT_US_MODAL_ID } from 'constants/modalIds';\nimport SITE_TEXT_TYPES from 'constants/siteTextTypes';\nimport { Link } from 'react-router';\nimport Popup from 'shared/components/Popup';\nimport * as modalIds from 'constants/modalIds';\nimport PopupSystem from 'shared/components/PopupSystem';\nimport { components, outlines } from 'shared/styles/variables/theme';\n\nconst SettingsHeader = styled.h5`\n background-color: #ededed;\n padding: 0.5em 1em;\n font-weight: 600;\n margin-bottom: 1em;\n`;\n\nconst SettingsList = styled.ul`\n margin: 0;\n padding: 0 0 1em 0.5em;\n position: relative;\n & li {\n border-bottom: solid 1px #ededed;\n list-style: none;\n padding: 0.5em;\n \n }\n & li:first-child {\n border-top: solid 1px #ededed;\n }\n`;\nconst StyledLink = styled.a`\n color:black\n ${components.link['--default']}\n\n &:focus {\n ${components.link['--state']['--focus']}\n outline: ${outlines.dark};\n }\n\n &:hover {\n ${components.link['--state']['--hover']}\n text-decoration: underline;\n }\n\n &.disabled {\n ${components.link['--state']['--disabled']}\n }\n`;\nconst ModalIcon = props => (\n \n);\n\nconst SwitchContainer = styled.div`\n position: absolute;\n right: 10px;\n top: 9px;\n`;\n\nconst StyledListItem = styled.li`\n position: relative;\n`;\nconst url = {\n pathname: featurePageIds.DATAPRIVACY_NOTICE_PAGE,\n};\nconst cookieurl = {\n pathname: featurePageIds.COOKIE_NOTICE_PAGE,\n};\n\nconst ManageDevice = props => {\n const handleChange = () => {\n props.updateFlag();\n }\n\n return (\n \n \n \n )\n}\n\nclass Settings extends PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n popUpFlag : false,\n userRegisteredDeviceId : null,\n deviceName : 'This Device'\n };\n\n this.updatePopUpFlag = this.updatePopUpFlag.bind(this);\n this.deactivateThisDevice = this.deactivateThisDevice.bind(this);\n }\n\n updatePopUpFlag = (device = {}) => {\n const {\n userRegisteredDeviceId = null,\n deviceName = '',\n } = device;\n\n this.setState({ \n popUpFlag:!this.state.popUpFlag, \n userRegisteredDeviceId, \n deviceName \n });\n }\n\n deactivateThisDevice() {\n this.props.deactivateDevice(this.state.userRegisteredDeviceId);\n this.updatePopUpFlag();\n }\n \n componentDidMount() {\n this.props.viewChange(featurePageIds.SETTINGS_PAGE);\n this.props.viewDeviceBiometrics();\n }\n\n render() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
  • \n \n
  • \n
  • \n \n \n
  • \n
  • \n \n \n {this.props.dataPrivacyPolicyText}\n \n
  • \n
  • \n \n \n {this.props.cookiePolicyText}\n \n
  • \n
  • \n \n \n
  • \n
    \n \n \n \n \n {\n this.props.deviceDeactivationMessage === \"ERROR\" ?\n : null\n \n }\n {\n this.props.deviceDeactivationMessage === \"INFO\" ?\n : null\n }\n \n \n
  • \n {this.props.biometricTermsText}\n }\n aria-label={\n translationString(\n 'settings.open_biometric_terms_and_conditions',\n this.props.language,\n 'Open biometric terms and conditions'\n )\n }\n tabIndex={0}>\n \n
  • \n
  • \n {this.props.faqText}\n }\n aria-label={\n translationString(\n 'settings.open_faq',\n this.props.language,\n 'Open biometric frequently asked questions'\n )\n }\n tabIndex={0}\n >\n \n
  • \n {\n this.props.manageDevices && this.props.manageDevices.map(device =>\n this.updatePopUpFlag(device)}\n />\n )\n }\n {\n (\n null}\n clickableElement={null}\n content={\n \n
    \n

    \n \n

    \n

    \n \n

    \n
    \n \n }\n />\n )\n }\n \n
    \n \n )\n }\n}\n\nexport default compose(\n connect(\n state => ({\n manageDevices: state.login.devices,\n deviceDeactivationMessage: state.login.deviceDeactivationMessage,\n }),\n dispatch => ({\n deactivateDevice: deviceId => {\n dispatch(deactivateDevice(deviceId));\n },\n viewDeviceBiometrics: () => {\n dispatch(viewDeviceBiometrics())\n },\n })\n ),\n withAnalytics((__, viewChange) => ({\n viewChange: viewId => viewChange(viewId),\n })),\n withTranslate((translate, props) => ({\n containerRegionAriaLabel: translate('settings.settings', 'Settings'),\n termsAndConditionsText: translate('settings.terms_and_conditions', 'Terms and Conditions'),\n dataPrivacyPolicyText: translate('settings.privacy_notice', 'Privacy Notice'),\n eulaText: translate('settings.eula', 'End User License Agreement'),\n cookiePolicyText: translate('settings.cookie_notice', 'Cookie Notice'),\n contactUsText: translate('settings.contact_us', 'Contact Us'),\n faqText: translate('settings.faq', 'Frequently Asked Questions'),\n biometricTermsText: translate('settings.biometric_terms', 'Biometric Terms and Conditions'),\n biometricFaqText: translate('settings.biometric_faq', 'Biometric Frequently Asked Questions'),\n }))\n)(Settings);","import React from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\n\nimport * as modalIds from 'constants/modalIds';\nimport { events } from 'constants/analytics';\nimport withAnalytics from 'shared/hoc/withAnalytics';\n\nimport styled from 'styled-components';\n\nimport { getDeals, getCurrentDealId, getCurrentDeal } from 'selectors';\n\nimport Dropdown from 'shared/accessibility/components/Dropdown';\nimport withTranslate from 'shared/hoc/withTranslate';\n\nconst DropdownItemContainer = styled.div`\n padding: 5px 10px;\n text-align: left;\n line-height: 20px;\n`;\n\nconst DropdownTemplateContainer = styled.div`\n padding: 0 10px;\n text-align: left;\n line-height: 1.3;\n`;\n\nconst ProjectName = styled.div`\n padding-bottom: 3px;\n`;\n\nconst ClientName = styled.div`\n font-size: 11px;\n`;\n\nconst DropdownListItem = props =>\n \n {props.content}\n {props.content2}\n \n\nconst DropdownTemplate = props =>\n \n {props.content}\n {props.content2}\n \n\nclass DealSwitcher extends React.PureComponent {\n dropdownOpened = () => {\n this.props.dealSwitchEvent();\n }\n\n render() {\n const selectedDeal = this.props.allDeals.length > 0 && this.props.allDeals.filter(deal => deal.selected)[0];\n\n return (\n }\n clickableContent={}\n isMasthead\n />\n )\n }\n}\n\nexport default compose(\n withTranslate(translate => ({\n dealSwitcherAriaLabel: translate('home_page.deal_switcher', 'Deal Switcher'),\n })),\n connect(\n (state, props) => ({\n allDeals: getDeals(state)\n .map(({ dealId, projectName, issuerName}) => ({\n dealId,\n // dropdown adjustment\n selected: dealId === getCurrentDealId(state),\n content: projectName,\n content2: issuerName,\n label: projectName,\n click: () => props.onSwitchDeal(dealId),\n })),\n currentDeal: getCurrentDeal(state),\n }),\n ),\n withAnalytics(ev => ({\n dealSwitchEvent: () => ev(events.DEAL_SWITCH),\n })),\n)(DealSwitcher);\n","import React, { PureComponent } from 'react';\nimport ReactDOM from 'react-dom';\nimport { compose } from 'recompose';\nimport styled from 'styled-components';\n\nimport { FontIcon } from 'shared/components/Icon';\n\nimport withModals from 'shared/hoc/withModals';\nimport Popup from 'shared/components/Popup';\nimport DropdownSystem from 'shared/accessibility/components/Dropdown/DropdownSystem';\nimport Scrollable from 'shared/components/Scrollable';\nimport { Row, Col } from 'shared/components/Grid';\n\nimport { styledEllipsis } from 'shared/styles/mixins/ellipsis';\nimport keys from 'shared/accessibility/constants/keys';\nimport { outlines, typography } from 'shared/styles/variables/theme'\n\nconst CustomIcon = styled(FontIcon)`\n display: inline-block;\n\n font-size: 10px;\n margin-top: 2px;\n margin-right: 2px;\n\n transition: transform .3s linear;\n\n &.opened {\n transform: rotateX(180deg) rotateZ(90deg);\n }\n &.closed {\n transform: rotateX(0deg) rotateZ(90deg);\n }\n`;\n\n\nconst Chevron = ({ reversed, isDropdownOpen, isMasthead }) => (\n \n);\n\nexport const ItemContent = styled.span`\n display: inline-block;\n width: 100%;\n ${styledEllipsis}\n`;\n\nconst MastheadStyleOverrides = {\n background: '#253038',\n color: '#969696',\n}\n\nconst ScrollContent = {\n maxHeight: '350px', \n overflowY: 'auto' \n}\n\nconst CustomButton = styled.button`\n font-size: ${typography.sizes['12px']};\n display: flex;\n flex-direction: row;\n align-items: center;\n\n &.btn-action.btn-masthead:before {\n content: '';\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n margin-right: -0.25em; /* Adjusts for spacing */\n }\n &.btn-action.btn-masthead {\n text-align:center;\n height: 100%;\n border: none;\n &.btn-action {\n\n color: #fff;\n background: transparent;\n }\n & span {\n display: inline-block;\n vertical-align: middle;\n }\n }\n &.btn-action {\n border-color: ${props => props.reversed ? '#969696' : '#333'};\n color: ${props => props.reversed ? '#969696' : '#333'};\n background: transparent;\n\n &:hover, &:active {\n border-color: ${props => props.reversed ? '#969696' : '#333'};\n color: ${props => props.reversed ? '#969696' : '#333'};\n background: transparent;\n }\n\n &:focus {\n border-color: ${props => props.reversed ? '#969696' : '#333'};\n color: ${props => props.reversed ? '#969696' : '#333'};\n background: ${props => props.reversed ? 'transparent' : '#f2f2f2'};\n outline: ${props => props.reversed ? '1px solid #7d7d7d' : '1 px solid black'};\n }\n }\n`;\n\nconst DropdownText = styled.span`\n display: inline-block;\n width: calc(100% - 10px);\n text-align: left;\n line-height: 1.3;\n margin: -4px 0;\n ${styledEllipsis}\n`;\n\nconst DropdownOption = styled.li`\n cursor: pointer;\n line-height: 20px;\n list-style: none;\n &:hover .LinesEllipsis {\n text-decoration: underline;\n }\n\n &:hover {\n background-color: ${props => props.isMasthead ? '#1D262C' : '#d9d9d9'};\n color: ${props => props.isMasthead ? '#FFF' : 'inherit'};\n }\n\n ${/*border-left: ${props => props.isSelected ? 'solid 4px rgb(224, 224, 223)': 'none'};*/''}\n\n ${props => (props.isSelected ?\n props.isMasthead ? 'border-left: solid 4px #DB0011': 'border-left: solid 4px rgb(224, 224, 223)' : '')};\n ${props => (props.isSelected && props.isMasthead ? 'background-color: #1D262C': 'transparent')};\n\n &:focus {\n ${props => props.reversed ? `outline: ${outlines.light};` : ''}\n }\n`;\n\nconst StyledRow = styled(Row)`\n position: relative;\n padding: 10px 15px;\n`;\n\nconst StyledColumn = styled(Col)`\n height: 20px;\n padding-left: 0;\n padding-right: 0;\n margin-right: 0;\n`;\n\nclass DropdownList extends PureComponent {\n\n constructor() {\n super()\n\n this.container = React.createRef()\n }\nstate={\n search:'',\n \n}\n\nsetSearchState(event) {\n \n var value = event.target.value;\n // this.state.search= value;\n this.setState({search: value});\n\n \n \n}\n select = i => {\n const node = ReactDOM.findDOMNode(this);\n node.querySelector(`#dropdown-item-${i}`).focus();\n }\n\n focusNext = i => {\n if (i === this.props.items.length - 1) return;\n this.select(i + 1);\n }\n focusPrev = i => {\n if (i === 0) return;\n this.select(i - 1);\n }\n focusFirst = () => this.select(0);\n focusLast = () => this.select(this.props.items.length - 1);\n\n printable = key => {\n const character = String.fromCharCode(key);\n\n // get index of current focused element\n\n this.keysSoFar = `${this.keysSoFar || ''}${character}`;\n this.clearKeysSoFarAfterDelay();\n\n // firstly check if from currently selected is match\n\n // otherwise find all before current focused element\n\n const nextMatch = this.findMatchInRange(0, this.props.items.length - 1);\n if (typeof nextMatch === 'number') {\n this.select(nextMatch);\n }\n }\n\n clearKeysSoFarAfterDelay = () => {\n if (this.keyClear) {\n clearTimeout(this.keyClear);\n this.keyClear = null;\n }\n this.keyClear = setTimeout(() => {\n this.keysSoFar = '';\n this.keyClear = null;\n }, 500);\n };\n\n findMatchInRange = (startIndex, endIndex) => {\n for (let n = startIndex; n < endIndex; n++) {\n const label = this.props.items[n].content;\n if (label && label.toUpperCase().indexOf(this.keysSoFar) === 0) {\n return n;\n }\n }\n return null;\n };\n\n keyboardEvent = (e, i) => {\n e.persist();\n e.preventDefault();\n\n const code = e.which || e.keyCode;\n\n switch(code) {\n case keys.tab: {\n if (e.shiftKey) {\n this.focusPrev(i);\n } else {\n this.focusNext(i);\n }\n break;\n }\n case keys.enter: {\n this.props.items[i].click();\n this.props.close();\n break;\n }\n case keys.esc: {\n this.props.close();\n break;\n }\n case keys.down: {\n this.focusNext(i);\n break;\n }\n case keys.up: {\n this.focusPrev(i)\n break;\n }\n case keys.end: {\n this.focusLast();\n break;\n }\n case keys.home: {\n this.focusFirst();\n break;\n }\n default: {\n this.printable(code);\n break;\n }\n }\n }\n\n componentDidMount() {\n if(this.container) {\n const domNode = ReactDOM.findDOMNode(this.container.current).parentNode;\n const buttonNode = domNode.parentNode.parentNode.childNodes[0]\n\n const listRight = domNode.getClientRects()[0].right;\n const buttonNodeRight = buttonNode.getClientRects()[0].right;\n\n if ( listRight > window.innerWidth ) {\n domNode.style.left = buttonNodeRight - listRight + 'px';\n }\n }\n }\n\n render() {\n \n const list = (\n \n \n \n {\n this.props.items.filter((item,index) => {\n return (\n item.content.toLowerCase().includes(this.state.search.toLowerCase()) ||\n item.content2.toLowerCase().includes(this.state.search.toLowerCase())||\n item.content3.toLowerCase().includes(this.state.search.toLowerCase())\n \n ) \n }).map((item, i) => {\n // Only one dropdown will be opened so ID's are fine\n return (\n this.keyboardEvent(e, i)}\n onKeyUp={e => e.preventDefault()}\n onKeyPress={e => e.preventDefault()}\n onClick={() => {\n item.click()\n this.props.close();\n }}\n onFocus={item.onFocus}\n isSelected={item.selected}\n isMasthead={this.props.isMasthead}\n reversed={this.props.reversed}\n >\n {\n this.props.renderOption\n ? this.props.renderOption(item)\n : \n \n {\n this.props.renderOptionContent ? (\n this.props.renderOptionContent(item)\n ) : (\n \n {item.content}\n \n )\n }\n \n \n }\n {\n this.props.isItemBorder && this.props.items.length - 1 !== i && (\n
    \n )\n }\n \n )\n })\n }\n \n )\n\n const style = this.props.isMasthead ? MastheadStyleOverrides : {};\n\n return (\n \n\n \n {\n this.props.items.length > 6 && (\n \n {list}\n \n )\n }\n {\n this.props.items.length <= 6 && (\n list\n )\n }\n \n )\n }\n}\n\nclass ISVDropdown extends PureComponent {\n\n state = {\n index: 0,\n };\n\n dropdownOpenClick = () => {\n if (!this.props.isDropdownOpen) {\n this.props.openDropdown();\n }\n if (this.props.dropdownOpened) {\n // additional tasks\n this.props.dropdownOpened();\n }\n }\n\n dropdownCloseClick = () => {\n this.props.closeDropdown();\n }\n\n buttonKeyPressed = e => {\n const code = e.which || e.keyCode;\n switch (code) {\n case keys.down: {\n this.props.openDropdown();\n break;\n }\n default: {\n break;\n }\n }\n }\n\n render() {\n const items = [...this.props.items.map((e, index) => ({\n ...e,\n onFocus: () => this.setState({ index }),\n }))];\n\n return (\n \n }\n\t\t\t\tclickableElement={\n\t\t\t\t\t\n {\n this.props.clickableContent ? (\n this.props.clickableContent\n ) : (\n \n {this.props.dropdownText}\n \n )\n }\n\t\t\t\t\t\t   \n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n width={this.props.width || 280}\n\t\t\t/>\n );\n }\n}\n\nexport default compose(\n withModals(\n (selection, ownProps) => ({\n isDropdownOpen: selection(ownProps.dropdownId),\n }),\n (close, open, ownProps) => ({\n openDropdown: () => open(ownProps.dropdownId),\n closeDropdown: () => close(ownProps.dropdownId),\n }),\n ),\n)(ISVDropdown);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\n\nimport * as modalIds from '../../constants/isvModalIds';\nimport { events } from '../../../constants/analytics';\nimport withAnalytics from '../../../shared/hoc/withAnalytics';\n\nimport styled from 'styled-components';\n\nimport { \n getIsvDeals,\n getIsvCurrentDeal,\n getIsvUniqueProductType,\n getIsvCurrentDealId \n} from '../../selectors';\n\nimport Dropdown from '../../../shared/accessibility/components/Dropdown';\nimport ISVDropdown from '../../../shared/accessibility/components/ISVDropdown';\n\nconst DropdownItemContainer = styled.div`\n padding: 5px 10px;\n text-align: left;\n line-height: 20px;\n`;\n\nconst DropdownTemplateContainer = styled.div`\n padding: 0 10px;\n text-align: left;\n line-height: 1.3;\n`;\n\nconst ProjectName = styled.div`\n padding-bottom: 3px;\n`;\n\nconst ClientName = styled.div`\n font-size: 11px;\n`;\n\nconst Lrn = styled.div`\n font-size: 11px;\n`;\n\nconst DropdownProductListItem = props =>\n \n {props.productTypeName}\n \n\n const DropdownProductTemplate = props =>\n \n {props.content}\n\n\nconst DropdownListItem = props =>\n \n {props.content}\n \n \n \n\nconst DropdownTemplate = props =>\n \n {props.content}\n {props.content2}\n {props.content3}\n \n\nclass IsvDealSwitcher extends React.PureComponent {\n dropdownOpened = () => {\n this.props.dealSwitchEvent();\n }\n\n render() {\n const dealId=this.props.isvDealData && this.props.isvDealData.dealId\n const selectedDeal = this.props.allDeals.length > 0 && this.props.allDeals.filter(deal => deal.dealId===dealId)[0];\n const selectedProduct = this.props.allDealsProductType.map((value)=>value.productTypeName)\n\n return (\n <>\n }\n clickableContent={}\n isMasthead\n />\n }\n clickableContent={}\n isMasthead\n />\n \n )\n }\n}\n\nexport default compose(\n connect(\n (state, props) => ({\n isvDealData:getIsvCurrentDeal(state),\n allDeals: getIsvDeals(state)\n .map(({ dealId, projectName, clientname,lrnReference}) => ({\n dealId,\n // dropdown adjustment\n selected: dealId === getIsvCurrentDealId(state),\n content: projectName,\n content2: clientname===null ?'':clientname,\n content3:lrnReference ===null ? '':lrnReference,\n label: projectName,\n click: () => props.onSwitchDeal(dealId),\n })),\n allDealsProductType: getIsvUniqueProductType(state)\n .map(({productType}) => ({\n productTypeName:productType.productTypeName,\n click: () => {},\n })),\n }),\n ),\n withAnalytics(ev => ({\n dealSwitchEvent: () => ev(events.DEAL_SWITCH),\n })),\n)(IsvDealSwitcher);\n","export const ISV_PRODUCT_MODAL_ID = 'i-p-m-1'\nexport const DEAL_SWITCHER_ISV_MODAL_ID = 'd-s-i-m-2'","import Types from 'actions/Types';\nimport { loginFailure } from 'actions/LoginActions';\n\nconst renewTokenSuccess = (response) => {\n if (response.access_token) {\n return ({\n type: Types.RENEW_TOKEN_RECEIVE,\n access_token: response.access_token,\n token_type: response.token_type,\n expires_in: response.expires_in,\n });\n } else if (response.message) {\n return ({\n type: Types.RENEW_TOKEN_RECEIVE,\n message: response.message,\n // missing token details\n });\n } else {\n return ({\n type: Types.RENEW_TOKEN_RECEIVE,\n // Not sure what we might have here\n });\n }\n};\n\nconst renewToken = () => ({\n type: Types.RENEW_TOKEN,\n endPoint: '/v1/auth/renewToken',\n onSuccess: renewTokenSuccess,\n checkingPulse: false,\n onFailure: loginFailure\n});\n\nconst LogOffSuccess = () => ({\n type: Types.LOGOFF_SUCCESS,\n})\n\nconst logOff = () => ({\n type: Types.LOGOFF,\n endPoint: '/v1/auth/logoff',\n onSuccess: LogOffSuccess,\n checkingPulse: false,\n sessionExpired: true,\n});\n\nconst heartBeatPulse = () => ({\n type: Types.HEARTBEAT_PULSE,\n beating: true,\n});\n\nconst checkPulse = (checkingPulse, pulseExpire) => ({\n type: Types.CHECK_PULSE,\n checkingPulse,\n pulseExpire: pulseExpire || 120,\n});\n\nconst killHeartBeat = () => ({\n type: Types.KILL_HEARTBEAT,\n});\n\nexport {\n renewToken,\n logOff,\n heartBeatPulse,\n checkPulse,\n renewTokenSuccess,\n killHeartBeat,\n};\n","import React, { Component } from 'react';\nimport { compose } from 'recompose';\n\nimport { overlayIds } from 'constants/featurePages';\n\nimport { events } from 'constants/analytics';\nimport withAnalytics from 'shared/hoc/withAnalytics';\n\nimport TranslationText from 'translations/TranslationText';\nimport Popup from 'shared/components/Popup'\n\nclass AlertModal extends Component {\n constructor(props) {\n super(props);\n this.state = {\n timeLeft: props.expire\n }\n\n this.countDown = this.countDown.bind(this)\n this.startTimer = this.startTimer.bind(this)\n this.resetTimer = this.resetTimer.bind(this)\n this.secondsToMinutes = this.secondsToMinutes.bind(this)\n }\n\n componentDidMount() {\n this.props.viewChange();\n this.startTimer();\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.expire !== this.state.timeLeft) {\n this.setState({\n timeLeft: nextProps.expire\n })\n }\n }\n\n componentWillUnmount() {\n if(this.timer) {\n clearInterval(this.timer);\n }\n }\n\n secondsToMinutes(seconds) {\n const secondsDisplay = Math.floor(seconds % 60);\n return Math.floor(seconds / 60) + ':' + ((secondsDisplay < 10) ? `0${secondsDisplay}` : secondsDisplay)\n }\n\n countDown() {\n const newTimeLeft = this.state.timeLeft - 1;\n\n this.setState({\n timeLeft: newTimeLeft\n })\n if (newTimeLeft <= 0) {\n clearInterval(this.timer);\n this.props.toggleModalLogout();\n }\n }\n\n startTimer() {\n clearInterval(this.timer)\n this.timer = setInterval(this.countDown, 1000)\n }\n\n resetTimer() {\n clearInterval(this.timer)\n this.setState({ timeLeft: this.props.expire })\n }\n\n render() {\n\n return (\n {\n this.resetTimer();\n this.props.toggleModalContinue();\n this.props.continueEvent()\n }}\n \t\t\t\tsecondaryButton\n \t\t\t\tsecondaryButtonContent=\"Logout\"\n \t\t\t\tsecondaryButtonKey=\"logout.logout\"\n \t\t\t\tsecondaryButtonAction={() => {\n this.resetTimer();\n this.props.toggleModalLogout()\n this.props.logoutEvent();\n }}\n\t\t\t>\n
    \n \"}\n replace={[\n [\"\", this.secondsToMinutes(this.state.timeLeft)]\n ]}\n defaultText={`You will be logged out in ${this.secondsToMinutes(this.state.timeLeft)}`}\n />\n
    \n {\n this.props.pulseMessage && (\n \n {\n this.props.pulseMessage === \"Your session can not be extended further. Please logon again!\"\n ? \n : this.props.pulseMessage\n }\n \n )\n }\n
    \n \n )\n }\n}\n\nexport default compose(\n withAnalytics((ev, viewChange) => ({\n logoutEvent: () => ev(events.SESSION_EXPIRY_LOGOUT),\n continueEvent: () => ev(events.SESSION_EXPIRY_CONTINUE),\n viewChange: () => viewChange(overlayIds.SESSION_EXPIRY_OVERLAY),\n }))\n)(AlertModal);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { renewToken, logOff } from '../actions/HeartBeatActions';\nimport AlertModal from './AlertModal';\nimport * as modalIds from 'constants/modalIds';\nimport PopupSystem from 'shared/components/PopupSystem';\n\nclass SessionTimer extends React.PureComponent {\n render() {\n return (\n null}\n clickableElement={null}\n content={\n \n }\n />\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n checkingPulse: state.login.checkingPulse,\n pulseExpire: state.login.pulseExpire,\n pulseMessage: state.login.pulseMessage,\n});\n\nconst mapDispatchToProps = dispatch => ({\n renewToken: () => dispatch(renewToken()),\n logOff: () => dispatch(logOff()),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SessionTimer);\n","import styled from 'styled-components';\nimport LoginBackground from 'images/Orderbook-bg.png';\n\nexport const Logo = styled.img`\n position: relative;\n top: -23px;\n height: 71px;\n width: auto;\n left: -24px;\n`;\n\nexport const LoginContainer = styled.div`\n background-color: #4B545B;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background-image: url(${LoginBackground});\n background-position: center 120px;\n background-repeat: no-repeat;\n overflow: visible;\n`;\n\nexport const LoginHeader = styled.div`\n height: 120.5px;\n background-color: #000000;\n`;\n\nexport const InnerContainer = styled.div`\n display: flex;\n flex-direction: row;\n width: 800px;\n margin: 20px auto;\n & h2 {\n font-size: 30px;\n }\n`;\n\nexport const SecurityKeyInfo = styled.div`\n position: relative;\n width: 350px;\n background-color: #ededed;\n padding: 0px 30px 35px 30px;\n font-size: 0.750rem;\n`;\n\nexport const PnStepsSection = styled(SecurityKeyInfo)`\n width: 390px;\n`;\n\nexport const SecurityKeyInfoTotp = styled(SecurityKeyInfo)`\n width: 385px;\n`;\n\nexport const HeaderSection = styled.div`\n`;\n\nexport const ExtOptions = styled.div`\n`;\n\nexport const OptionOne = styled.div`\n margin: 20px 0px 15px 0px;\n`;\n\nexport const OptionTwo = styled.div`\n margin: 5px 0px 20px 0px;\n`;\n\nexport const LoginForm = styled.div`\n margin-left: auto;\n margin-right: auto;\n background-color: #fff;\n padding: 0px 30px 30px 30px;\n flex: 1;\n`;\n\nexport const Header = styled.div`\n margin: 0px 0px 15px;\n line-height: 1.3;\n font-size: 1.500rem;\n color: #333;\n`;\n\nexport const LoginFormFields = styled.form`\n display: inline-block;\n`;\n\nexport const UserNameInfo = styled.div`\n padding: 1px 0 8px 0;\n`\nexport const PnUserNameInfo = styled.div`\n padding-top: 22px;\n`\n\nexport const LoginExtFormFields = styled(LoginFormFields)`\n padding: 0px 0 15px 0; \n`;\n\nexport const StaffIdContainer = styled.div`\n width: 390px;\n`;\n\nexport const PContainer = styled.div`\n`;\n\nexport const UserNameContainer = styled.div`\n`;\n\nexport const ButtonContainer = styled.div`\n border-top: solid 1px black;\n padding-top: 20px;\n text-align: right;\n`;\n\nexport const SpinnerSection = styled.div`\n display: inline-block;\n margin: 10px 0px 0px 6px;\n`;\n\nexport const TotpButtonContainer = styled(ButtonContainer)`\n margin-top: 115px;\n`;\n\nexport const PnButtonContainer = styled(ButtonContainer)`\n`;\n\nexport const StyledInput = styled.input`\n display: block;\n height: 40px;\n margin-bottom: 15px;\n padding: 0px 10px;\n border-width: 1px;\n border-style: solid;\n border-color: rgb(146, 146, 146);\n border-image: initial;\n &:focus {\n outline: none;\n }\n`;\n\nexport const StyledExtInput = styled(StyledInput)`\n width: 390px;\n`;\n\nexport const StyledTotpInput = styled(StyledInput)`\n width: 355px;\n`;\n\nexport const StyledIntInput = styled(StyledInput)`\n width: 390px;\n`;\n\nexport const StyledButton = styled.input`\n height: 40px;\n background-color: #fff;\n border: solid 1px #000;\n margin-left: 10px;\n &:focus {\n outline: none;\n }\n &:disabled {\n opacity: 0.5;\n color: rgb(0, 0, 0);\n cursor: not-allowed;\n }\n padding: 0 20px;\n`;\n\nexport const ImageContainer = styled.div`\n width: 80px;\n`;\n\nexport const InstructionContainer = styled.div`\n width: 300px;\n`;\n\nexport const TotpSteps = styled.img`\n width: 340px;\n margin: 15px 0px 7px;\n`;\n\nexport const PnSteps = styled(TotpSteps)`\n margin: 0px;\n`\n\nexport const List = styled.ol`\n padding: 3px 0 0 10px;\n & li {\n padding-bottom: 10px;\n }\n`\nexport const ExtFooterLinks = styled.div`\n margin-top: 50px;\n & p {\n margin:0px;\n font-size: 14px;\n & a {\n color : #337ab7;\n text-decoration:none;\n font-size: 14px;\n }\n }\n & div {\n margin-top: 1px;\n }\n`\nexport const PnFooterLinks = styled.div`\n margin-top: 88px;\n div {\n margin-top: 1px;\n }\n`\nexport const TotpFooterLinks = styled.div`\n margin-top: 94px;\n div {\n margin-top: 1px\n }\n`\n\nexport const Left = styled.div`\n float : left;\n width : 195px;\n text-align : center;\n & p:second-child {\n margin : 15px;\n }\n`\n\nexport const Right = styled(Left)`\n border-left: solid 0.1px gray\n`\nexport const TotpStepList = styled(List)`\n font-size: 12px;\n & li {\n width: 89px;\n margin: 0px 22px 20px 6px;\n float: left;\n } \n & li:nth-child(2){\n width: 101px;\n margin: 0px 9px 20px 8px;\n }\n & li:last-child {\n width: 55px;\n margin: 0 0 0 4px;\n }\n`\n\nexport const PnStepList = styled(TotpStepList)`\n li {\n margin-bottom:0px;\n }\n`;\n\nexport const Label = styled.label`\n font-weight: normal;\n`;","import React, { Component } from 'react';\nimport styled from 'styled-components';\nimport { connect } from 'react-redux';\nimport { Navbar } from 'react-bootstrap';\nimport { compose } from 'recompose';\nimport { Link } from 'react-router';\nimport MDSpinner from 'react-md-spinner';\n\nimport { PrimaryButton, SecondarySlateButton } from 'mk-pattern-library-react';\n\nimport LanguagePicker from './LanguagePicker/LanguagePicker';\nimport TranslationText from 'translations/TranslationText';\n\nimport logo from '../mk-pattern-library-react/images/HSBC_Logo.svg';\n\nimport { translationString } from 'translations/TranslationText';\nimport withLanguage from 'translations/withLanguage';\n\nimport { events } from 'constants/analytics';\nimport withAnalytics from 'shared/hoc/withAnalytics';\n\nimport { selectLoginFormInvalidFields } from 'selectors';\n\nimport { featurePageIds } from 'constants/featurePages';\n\nimport {\n loginFormChanged,\n loginFormSubmit,\n setInvalidFields,\n} from 'actions/LoginActions';\n\nimport { typography } from 'shared/styles/variables/theme';\n\nimport {\n Logo,\n LoginContainer,\n InnerContainer,\n SecurityKeyInfo,\n LoginForm,\n Header,\n LoginFormFields,\n StaffIdContainer,\n PContainer,\n ButtonContainer,\n StyledIntInput,\n List\n} from './styles/Login';\n\nconst EnhancedSecondaryButton = styled(SecondarySlateButton)`\n min-width: 170px;\n width: auto !important;\n`;\n\nconst LanguagePickerContainer = styled.div`\n position: absolute;\n right: 50px;\n top: 10px;\n`;\n\nconst loginBtnStyle = {\n fontSize: typography.sizes['16px'],\n padding: '14px 20px',\n color: '#FFFFFF',\n border: 'none',\n width: 170,\n};\n\nexport const TandCsContainer = styled.div`\n position: relative;\n top: 63%;\n height: 0;\n float: right;\n`;\n\nclass InternalLogin extends Component {\n constructor(props) {\n super(props);\n\n this.onSubmitClick = this.onSubmitClick.bind(this);\n this.onStaffIdChange = this.onStaffIdChange.bind(this);\n this.onPasswordChange = this.onPasswordChange.bind(this);\n\n this.userNameField = React.createRef();\n this.passwordField = React.createRef();\n }\n\n componentDidMount() {\n this.props.viewChange();\n this.props.setInvalidFields({\n userNameField: true,\n passwordField: true,\n });\n this.userNameField.current.focus();\n }\n\n onSubmitClick() {\n this.props.loginFormSubmit(this.userNameField.current.value, this.passwordField.current.value);\n this.props.loginSubmit();\n }\n\n onStaffIdChange(e) {\n this.props.loginFormChanged('userNameField', this.userNameField.current.value);\n }\n\n onPasswordChange(e) {\n this.props.loginFormChanged('passwordField', this.passwordField.current.value);\n }\n\n onKeyDown = e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n this.onSubmitClick();\n }\n }\n\n render() {\n return (\n \n \n \n \n MyDeal\n \n \n \n \n \n \n \n \n
    \n

    Support Information

    \n
    \n \n
  • \n Please contact MyDeal Support via email.\n
  • \n
    \n
    \n \n
    \n

    \n \n

    \n
    \n
    \n { this.props.authenticationResponse\n ? this.props.authenticationResponse\n : null\n }\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n {\n this.props.isPendingAuth\n ? : null\n }\n {translationString(\"login_screen.single_sign_on\", this.props.language, 'Single Sign On')}\n \n \n {\n this.props.pendingAuthentication\n ? : null\n }\n {translationString(\"login_screen.log_on\", this.props.language, 'Log on')}\n \n \n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state, props) => ({\n invalid: selectLoginFormInvalidFields(state).length > 0,\n attemptSSO: props.attemptSSO,\n unauthorised: state.login.error,\n isPendingAuth: state.login.isPendingAuth, // SSO\n pendingAuthentication: state.login.pendingAuthentication, // Form\n authenticationResponse: state.login.authenticationResponse,\n pristine: state.login.pristine,\n});\n\nconst mapDispatchToProps = dispatch => ({\n loginFormChanged: (fieldName, fieldValue) => {\n dispatch(loginFormChanged(fieldName, fieldValue));\n },\n loginFormSubmit: (userNameField, passwordField) => {\n dispatch(loginFormSubmit(userNameField, passwordField));\n },\n setInvalidFields: (fields) => {\n dispatch(setInvalidFields(fields));\n }\n});\n\nexport default compose(\n withAnalytics((ev, view) => ({\n viewChange: () => view(featurePageIds.INTERNAL_LOGIN_PAGE),\n loginSubmit: () => ev(events.LOGIN_BUTTON),\n })),\n connect(mapStateToProps, mapDispatchToProps),\n withLanguage,\n)(InternalLogin);\n","export const APP_NAME = 'MyDeal';\n\nexport const AUTH_TYPES = {\n PASSWORD: 'password',\n MOBILE_APPROVE: 'mobile_approve',\n TOTP: 'totp',\n IU:'iu'\n}\n\nexport const LAAS_API_METHODS = {\n VERIFY_USERNAME : 'verifyUsername',\n VERIFY_TOTP_CODE : 'verifyTotpCode',\n PUSH_NOTIFICATION : 'pushNotification',\n CANCLE_PUSH_NOTIFICATION : 'cancelPushNotification'\n}","import React, { Component } from 'react';\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport styled from 'styled-components';\nimport { PrimaryButton } from 'mk-pattern-library-react';\n\nimport withTranslate from 'shared/hoc/withTranslate';\nimport TranslationText from 'translations/TranslationText';\nimport { translationString } from 'translations/TranslationText';\nimport { selectLoginFormInvalidFields } from 'selectors';\nimport LanguagePicker from './LanguagePicker/LanguagePicker';\n\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport Radio from '@material-ui/core/Radio';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport MDSpinner from 'react-md-spinner';\n\nimport {\n loginFormChanged,\n setInvalidFields,\n setAuthType,\n loginFormExtSubmit,\n} from 'actions/LoginActions';\n\nimport { featurePageIds } from 'constants/featurePages';\n\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { events } from 'constants/analytics';\n\nimport { Navbar } from 'react-bootstrap';\nimport logo from '../mk-pattern-library-react/images/HSBC_Logo.svg';\nimport { Link } from 'react-router';\n\nimport { typography } from 'shared/styles/variables/theme'\n\nimport { SvgIcon } from 'shared/components/Icon';\nimport TermsAndConditionsLink from './TermsAndConditionsLink';\nimport SiteTextModal from './SiteTextModal';\n\nimport { EULA_MODAL_ID, CONTACT_US_MODAL_ID } from 'constants/modalIds';\nimport SITE_TEXT_TYPES from 'constants/siteTextTypes';\n\nimport { AUTH_TYPES } from 'constants/laasConfig';\nimport { components, outlines } from 'shared/styles/variables/theme';\nimport {\n Logo,\n LoginContainer,\n InnerContainer,\n SecurityKeyInfo,\n HeaderSection,\n LoginForm,\n Header,\n LoginExtFormFields,\n UserNameContainer,\n ButtonContainer,\n StyledExtInput,\n ExtFooterLinks,\n Left,\n Right,\n ExtOptions,\n OptionOne,\n OptionTwo\n} from './styles/Login';\n\n\nconst loginBtnStyle = {\n fontSize: typography.sizes['16px'],\n padding: '14px 20px',\n color: '#FFFFFF',\n border: 'none',\n width: 140\n};\n\nconst radioStyle = {\n margin:'0px'\n}\n\nconst radioGroupStyle = {\n display:'inline-block', \n marginTop:'15px',\n}\nconst contactVirtualSvgStyle = {\n height:40,\n width:40,\n marginLeft:'20px'\n}\nconst securityPasswordSvgStyle = {\n height:40,\n width:40,\n marginLeft:'20px'\n}\nconst LanguagePickerContainer = styled.div`\n position: absolute;\n right: 50px;\n top: 10px;\n`;\n\nconst ModalIcon = props => (\n \n);\n\nconst StyledLink = styled.a`\n color:black\n ${components.link['--default']}\n\n &:focus {\n ${components.link['--state']['--focus']}\n outline: ${outlines.dark};\n }\n\n &:hover {\n ${components.link['--state']['--hover']}\n text-decoration: underline;\n }\n\n &.disabled {\n ${components.link['--state']['--disabled']}\n }\n`;\n\nconst url = {\n pathname: featurePageIds.DATAPRIVACY_NOTICE_PAGE_EXTERNAL,\n};\nconst cookieurl = {\n pathname: featurePageIds.COOKIE_NOTICE_PAGE_EXTERNAL,\n};\n\nclass ExternalLogin extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n authTypeField : AUTH_TYPES.MOBILE_APPROVE\n }\n\n this.onSubmitClick = this.onSubmitClick.bind(this);\n this.onUserNameChange = this.onUserNameChange.bind(this);\n this.onAuthTypeChange = this.onAuthTypeChange.bind(this);\n\n this.userNameField = React.createRef();\n }\n\n componentDidMount() {\n this.props.viewChange();\n this.props.setInvalidFields({\n userNameField: true\n });\n this.userNameField.current.focus();\n this.props.setAuthType('');\n }\n\n componentWillUnmount() {\n const transmitContainer = document.querySelector('#transmitContainer');\n if(transmitContainer) {\n transmitContainer.parentNode.removeChild(transmitContainer);\n }\n }\n\n onSubmitClick() {\n this.props.loginFormExtSubmit(this.userNameField.current.value, this.state.authTypeField);\n }\n\n onUserNameChange(e) {\n this.props.loginFormChanged('userNameField', this.userNameField.current.value);\n }\n\n onAuthTypeChange(e) {\n this.setState({authTypeField : e.target.value})\n }\n\n onKeyDown = e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n this.onSubmitClick();\n }\n }\n\n render() {\n return (\n \n \n \n \n MyDeal\n \n \n \n \n \n \n \n \n \n

    \n \n

    \n
    \n \n \n
    \n \n
    \n

    \n \n

    \n
    \n \n
    \n \n
    \n

    \n \n

    \n
    \n
    \n \n \n    \n \n \n \n \n \n \n {this.props.dataPrivacyPolicyText}\n \n    \n    \n \n \n {this.props.cookiePolicyText}\n \n    \n \n
    \n \n
    \n

    \n \n

    \n
    \n \n \n
    \n \n
    \n \n \n \n \n \n

    \n \n

    \n }\n />\n
    \n \n \n

    \n \n

    \n }\n />\n
    \n
    \n
    \n
    \n \n \n {\n this.props.pendingAuthentication\n ? : null\n }\n {translationString(\"login_screen.continue\", this.props.language, 'Continue')}\n \n \n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n invalid: selectLoginFormInvalidFields(state).length > 0,\n unauthorised: state.login.error,\n pendingAuthentication: state.login.pendingAuthentication,\n pristine: state.login.pristine,\n});\n\nconst mapDispatchToProps = dispatch => ({\n loginFormChanged: (fieldName, fieldValue) => {\n dispatch(loginFormChanged(fieldName, fieldValue))\n },\n loginFormExtSubmit:(userNameField, authTypeField) => {\n dispatch(loginFormExtSubmit(userNameField, authTypeField))\n },\n setInvalidFields: (fields) => {\n dispatch(setInvalidFields(fields));\n },\n setAuthType: (aT) => {\n dispatch(setAuthType(aT));\n },\n});\n\nexport default compose(\n withAnalytics((ev, view) => ({\n viewChange: () => view(featurePageIds.EXTERNAL_LOGIN_PAGE),\n loginSubmit: () => ev(events.LOGIN_BUTTON),\n })),\n connect(mapStateToProps, mapDispatchToProps),\n withTranslate((translate, props) => ({\n containerRegionAriaLabel: translate('settings.settings', 'Settings'),\n termsAndConditionsText: translate('settings.terms_and_conditions', 'Terms and Conditions'),\n contactUsText: translate('settings.contact_us', 'Contact Us'),\n dataPrivacyPolicyText: translate('settings.privacy_notice', 'Privacy Notice'),\n eulaText: translate('settings.eula', 'End User License Agreement'),\n cookiePolicyText: translate('settings.cookie_notice', 'Cookie Notice'),\n faqText: translate('settings.faq', 'Frequently Asked Questions'),\n}))\n)(ExternalLogin);","import React, { Component } from 'react';\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport styled from 'styled-components';\nimport { PrimaryButton, SecondaryButton } from 'mk-pattern-library-react';\n\nimport withTranslate from 'shared/hoc/withTranslate';\nimport TranslationText from 'translations/TranslationText';\nimport { translationString } from 'translations/TranslationText';\nimport { selectLoginFormInvalidFields } from 'selectors';\nimport LanguagePicker from './LanguagePicker/LanguagePicker';\n\nimport { events } from 'constants/analytics';\n\nimport MDSpinner from 'react-md-spinner';\n\nimport {\n loginFormChanged,\n setAuthType,\n setUsername,\n setInvalidFields,\n setPendingAuthentication,\n loginFormTotpSubmit,\n setLoginError,\n setLoginModal,\n} from 'actions/LoginActions';\n\nimport { featurePageIds } from 'constants/featurePages';\n\nimport withAnalytics from 'shared/hoc/withAnalytics';\n\nimport { Navbar } from 'react-bootstrap';\nimport logo from '../mk-pattern-library-react/images/HSBC_Logo.svg';\nimport { Link } from 'react-router';\n\nimport { typography } from 'shared/styles/variables/theme'\nimport totpStepsImage from '../images/MyDealTotpFlow.png';\n\nimport TermsAndConditionsLink from './TermsAndConditionsLink';\nimport SiteTextModal from './SiteTextModal';\n\nimport { EULA_MODAL_ID, LOG_ON_SCREEN_MODAL_ID, CONTACT_US_MODAL_ID } from 'constants/modalIds';\nimport SITE_TEXT_TYPES from 'constants/siteTextTypes';\n\nimport Popup from 'shared/components/Popup';\nimport PopupSystem from 'shared/components/PopupSystem';\n\nimport {\n Logo,\n LoginContainer,\n InnerContainer,\n SecurityKeyInfoTotp,\n LoginForm,\n Header,\n UserNameInfo,\n LoginFormFields,\n PContainer,\n TotpButtonContainer,\n StyledTotpInput,\n TotpStepList,\n TotpSteps,\n TotpFooterLinks\n} from './styles/Login';\nimport { components, outlines } from 'shared/styles/variables/theme';\nimport { SvgIcon } from 'shared/components/Icon';\n\nconst loginBtnStyle = {\n fontSize: typography.sizes['16px'],\n padding: '14px 20px',\n color: '#FFFFFF',\n border: 'none',\n width: 140\n};\n\nconst cancelBtnStyle = {\n fontSize: typography.sizes['16px'],\n padding: '14px 20px',\n width: 140,\n marginRight:'13px'\n};\n\nconst LanguagePickerContainer = styled.div`\n position: absolute;\n right: 50px;\n top: 10px;\n`;\nconst ModalIcon = props => (\n \n);\n\nconst StyledLink = styled.a`\n color:black\n ${components.link['--default']}\n\n &:focus {\n ${components.link['--state']['--focus']}\n outline: ${outlines.dark};\n }\n\n &:hover {\n ${components.link['--state']['--hover']}\n text-decoration: underline;\n }\n\n &.disabled {\n ${components.link['--state']['--disabled']}\n }\n`;\n\nconst url = {\n pathname: featurePageIds.DATAPRIVACY_NOTICE_PAGE_EXTERNAL,\n};\nconst cookieurl = {\n pathname: featurePageIds.COOKIE_NOTICE_PAGE_EXTERNAL,\n};\n\n\nclass ExternalTotpLogin extends Component {\n constructor(props) {\n super(props);\n\n this.onSubmitClick = this.onSubmitClick.bind(this);\n this.onPasswordChange = this.onPasswordChange.bind(this);\n this.onCancelClick = this.onCancelClick.bind(this);\n\n this.passwordField = React.createRef();\n }\n\n componentDidMount() {\n this.props.viewChange();\n this.props.setInvalidFields({\n passwordField: true\n });\n this.passwordField.current.focus();\n this.props.setLoginModal(false);\n }\n\n onSubmitClick() {\n this.props.loginFormTotpSubmit(this.props.userName, this.passwordField.current.value, this.props.aT);\n }\n\n onCancelClick() {\n this.props.setPendingAuthentication(false);\n this.props.setAuthType('');\n this.props.setUsername('');\n this.props.setLoginError(false);\n }\n\n onPasswordChange(e) {\n this.props.loginFormChanged('passwordField', this.passwordField.current.value);\n }\n\n onKeyDown = e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n this.onSubmitClick();\n }\n }\n\n render() {\n return (\n \n \n \n \n MyDeal\n \n \n \n \n \n \n \n \n
    \n

    \n \n

    \n
    \n \n \n
  • Launch the MyDeal app
  • \n
  • Enter your security PIN
  • \n
  • Enter the code
  • \n
    \n \n \n    \n \n \n \n \n
    \n \n \n {this.props.dataPrivacyPolicyText}\n \n    \n    \n \n \n {this.props.cookiePolicyText}\n \n
    \n    \n
    \n
    \n \n
    \n

    \n \n

    \n
    \n {\n this.props.userName && \n \n You are logging in as ‘{this.props.userName}’.\n \n }\n \n \n
    \n \n
    \n \n
    \n
    \n \n \n {translationString(\"login_screen.cancel\", this.props.language, 'Cancel')}\n \n \n {\n this.props.pendingAuthentication\n ? : null\n }\n {translationString(\"login_screen.log_on\", this.props.language, 'Log on')}\n \n \n null}\n clickableElement={null}\n content={\n \n
    \n
    \n Unable to login, Please try again\n
    \n
    \n \n }\n />\n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n invalid: selectLoginFormInvalidFields(state).length > 0,\n unauthorised: state.login.error,\n pendingAuthentication: state.login.pendingAuthentication,\n pristine: state.login.pristine,\n userName: state.login.userName,\n aT: state.login.authType,\n showLoginModal: state.login.showLoginModal,\n});\n\nconst mapDispatchToProps = dispatch => ({\n loginFormChanged: (fieldName, fieldValue) => {\n dispatch(loginFormChanged(fieldName, fieldValue))\n },\n setAuthType: (aT) => {\n dispatch(setAuthType(aT));\n },\n setUsername: (username) => {\n dispatch(setUsername(username));\n },\n setLoginModal: (lM) => {\n dispatch(setLoginModal(lM));\n },\n setPendingAuthentication: (pA) => {\n dispatch(setPendingAuthentication(pA));\n },\n setInvalidFields: (fields) => {\n dispatch(setInvalidFields(fields));\n },\n loginFormTotpSubmit: ( userNameField, passwordField, aT ) => {\n dispatch(loginFormTotpSubmit( userNameField, passwordField, aT ));\n },\n setLoginError: (e) => {\n dispatch(setLoginError(e));\n }\n});\n\nexport default compose(\n withAnalytics((ev, view) => ({\n viewChange: () => view(featurePageIds.EXTERNAL_TOTP_LOGIN_PAGE),\n loginSubmit: () => ev(events.LOGIN_BUTTON),\n })),\n connect(mapStateToProps, mapDispatchToProps),\n withTranslate((translate, props) => ({\n containerRegionAriaLabel: translate('settings.settings', 'Settings'),\n termsAndConditionsText: translate('settings.terms_and_conditions', 'Terms and Conditions'),\n contactUsText: translate('settings.contact_us', 'Contact Us'),\n dataPrivacyPolicyText: translate('settings.privacy_notice', 'Privacy Notice'),\n eulaText: translate('settings.eula', 'End User License Agreement'),\n cookiePolicyText: translate('settings.cookie_notice', 'Cookie Notice'),\n faqText: translate('settings.faq', 'Frequently Asked Questions'),\n}))\n)(ExternalTotpLogin);","import React, { Component } from 'react';\nimport { compose } from 'recompose';\nimport { connect } from 'react-redux';\nimport styled from 'styled-components';\nimport { SecondaryButton } from 'mk-pattern-library-react';\nimport withTranslate from 'shared/hoc/withTranslate';\nimport TranslationText from 'translations/TranslationText';\nimport { translationString } from 'translations/TranslationText';\nimport { selectLoginFormInvalidFields } from 'selectors';\nimport LanguagePicker from './LanguagePicker/LanguagePicker';\n\nimport { events } from 'constants/analytics';\n\nimport MDSpinner from 'react-md-spinner';\n\nimport {\n loginFormChanged,\n setAuthType,\n setInvalidFields,\n setPendingAuthentication,\n loginFormPnSubmit,\n setLoginError,\n setUsername,\n setLoginModal,\n cancelLoginFormPnSubmit\n} from 'actions/LoginActions';\n\nimport { featurePageIds } from 'constants/featurePages';\n\nimport withAnalytics from 'shared/hoc/withAnalytics';\n\nimport { Navbar } from 'react-bootstrap';\nimport logo from '../mk-pattern-library-react/images/HSBC_Logo.svg';\nimport { Link } from 'react-router';\n\nimport { typography } from 'shared/styles/variables/theme'\n\nimport { SvgIcon } from 'shared/components/Icon';\nimport TermsAndConditionsLink from './TermsAndConditionsLink';\nimport SiteTextModal from './SiteTextModal';\n\nimport { EULA_MODAL_ID, LOG_ON_SCREEN_MODAL_ID, CONTACT_US_MODAL_ID } from 'constants/modalIds';\nimport SITE_TEXT_TYPES from 'constants/siteTextTypes';\n\nimport pnStepsImage from '../images/HsbcnetPnFlow.png';\n\nimport Popup from 'shared/components/Popup';\nimport PopupSystem from 'shared/components/PopupSystem';\n\nimport {\n Logo,\n LoginContainer,\n InnerContainer,\n PnStepsSection,\n LoginForm,\n Header,\n PnButtonContainer,\n PnUserNameInfo,\n SpinnerSection,\n PnFooterLinks,\n PnStepList,\n PnSteps\n} from './styles/Login';\nimport { components, outlines } from 'shared/styles/variables/theme';\n\nconst cancelBtnStyle = {\n fontSize: typography.sizes['16px'],\n padding: '10px',\n width: 120,\n marginRight:'13px'\n};\n\nconst fillCircleSvgStyle = {\n fill: '#1a4875', \n position: 'absolute', \n marginTop: '123px'\n}\n\nconst notificationTextStyle = {\n margin: '133px 0px 27px 27px'\n}\n\nconst LanguagePickerContainer = styled.div`\n position: absolute;\n right: 50px;\n top: 10px;\n`;\n\nconst ModalIcon = props => (\n \n);\n\nconst StyledLink = styled.a`\n color:black\n ${components.link['--default']}\n\n &:focus {\n ${components.link['--state']['--focus']}\n outline: ${outlines.dark};\n }\n\n &:hover {\n ${components.link['--state']['--hover']}\n text-decoration: underline;\n }\n\n &.disabled {\n ${components.link['--state']['--disabled']}\n }\n`;\n\nconst url = {\n pathname: featurePageIds.DATAPRIVACY_NOTICE_PAGE_EXTERNAL,\n};\nconst cookieurl = {\n pathname: featurePageIds.COOKIE_NOTICE_PAGE_EXTERNAL,\n};\n\n\nclass ExternalPnLogin extends Component {\n constructor(props) {\n super(props);\n\n this.onSubmitClick = this.onSubmitClick.bind(this);\n this.onCancelClick = this.onCancelClick.bind(this);\n this.onCancelPnClick = this.onCancelPnClick.bind(this);\n }\n\n componentDidMount() {\n this.props.viewChange();\n this.props.setLoginModal(false);\n }\n\n onSubmitClick() {\n this.props.loginFormPnSubmit(this.props.userName, this.props.authType);\n }\n\n onCancelPnClick() {\n if( !this.props.unauthorised ) {\n this.props.cancelLoginFormPnSubmit();\n }\n this.props.setUsername('');\n this.props.setAuthType('');\n }\n\n onCancelClick() {\n this.props.setAuthType('');\n this.props.setUsername('');\n this.props.setLoginError(false);\n }\n\n onKeyDown = e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n this.onSubmitClick();\n }\n }\n\n render() {\n return (\n \n \n \n \n MyDeal\n \n \n \n \n \n \n \n \n
    \n

    \n \n

    \n
    \n \n \n
  • Click on notification received
  • \n
  • Enter your security PIN
  • \n
  • Continue on web browser
  • \n
    \n \n \n    \n \n \n \n \n
    \n \n \n {this.props.dataPrivacyPolicyText}\n \n    \n    \n \n \n {this.props.cookiePolicyText}\n \n
    \n    \n
    \n
    \n \n
    \n

    \n \n

    \n
    \n
    \n
    \n {\n this.props.userName && \n \n You are logging in as ‘{this.props.userName}’.\n \n }\n \n

    \n Not received the notification on your mobile device? Click 'Cancel' below.\n

    \n \n \n {translationString(\"login_screen.cancel\", this.props.language, 'Cancel')}\n \n \n \n \n \n \n null}\n clickableElement={null}\n content={\n \n
    \n
    \n Unable to login, Please try again\n
    \n
    \n \n }\n />\n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n invalid: selectLoginFormInvalidFields(state).length > 0,\n unauthorised: state.login.error,\n pendingAuthentication: state.login.pendingAuthentication,\n pristine: state.login.pristine,\n userName: state.login.userName,\n authType: state.login.authType,\n showLoginModal: state.login.showLoginModal,\n});\n\nconst mapDispatchToProps = dispatch => ({\n loginFormChanged: (fieldName, fieldValue) => {\n dispatch(loginFormChanged(fieldName, fieldValue));\n },\n setAuthType: (aT) => {\n dispatch(setAuthType(aT));\n },\n setUsername: (username) => {\n dispatch(setUsername(username));\n },\n setLoginModal: (lM) => {\n dispatch(setLoginModal(lM));\n },\n setInvalidFields: (fields) => {\n dispatch(setInvalidFields(fields));\n },\n setPendingAuthentication: (pA) => {\n dispatch(setPendingAuthentication(pA));\n },\n loginFormPnSubmit: ( userNameField, aT ) => {\n dispatch(loginFormPnSubmit( userNameField, aT ));\n },\n cancelLoginFormPnSubmit: () => {\n dispatch(cancelLoginFormPnSubmit());\n },\n setLoginError: (e) => {\n dispatch(setLoginError(e));\n }\n});\n\nexport default compose(\n withAnalytics((ev, view) => ({\n viewChange: () => view(featurePageIds.EXTERNAL_PN_LOGIN_PAGE),\n loginSubmit: () => ev(events.LOGIN_BUTTON),\n })),\n connect(mapStateToProps, mapDispatchToProps),\n withTranslate((translate, props) => ({\n containerRegionAriaLabel: translate('settings.settings', 'Settings'),\n termsAndConditionsText: translate('settings.terms_and_conditions', 'Terms and Conditions'),\n contactUsText: translate('settings.contact_us', 'Contact Us'),\n dataPrivacyPolicyText: translate('settings.privacy_notice', 'Privacy Notice'),\n eulaText: translate('settings.eula', 'End User License Agreement'),\n cookiePolicyText: translate('settings.cookie_notice', 'Cookie Notice'),\n faqText: translate('settings.faq', 'Frequently Asked Questions'),\n }))\n)(ExternalPnLogin);","import React, { Fragment } from 'react';\nimport { connect } from 'react-redux';\n\nimport styled from 'styled-components';\nimport PopupSystem from 'shared/components/PopupSystem';\nimport Popup, { Divider } from 'shared/components/Popup';\nimport Scrollable from 'shared/components/Scrollable';\nimport { Checkbox } from 'mk-pattern-library-react';\n\nimport TranslationText from 'translations/TranslationText';\nimport { getSelectedLanguage, getTermsAndConditionsText } from 'selectors';\n\nimport { acceptTermsAndConditions, onTermsCheckedChange, requestTermsAndConditions } from 'actions/LoginActions'\n\nconst ModalContent = styled.div`\n display: flex;\n flex-direction: column;\n padding-top: 20px;\n\n ${Divider} {\n display: block;\n margin: 1rem 0;\n }\n`;\n\nconst ScrollableContent = styled.div`\n display: flex;\n flex-direction: column;\n padding: 0px 20px;\n`;\n\nconst actionBarControlsStyle = {\n margin: '10px 10px 25px 11px'\n};\n\nconst AcceptTermsCheckbox = props =>\n \n }\n onCheckedChange={props.onCheckedChange}\n checked={props.checked}\n />\n \n\nclass TermsAndConditionsModal extends React.PureComponent {\n\n componentDidMount = () => {\n this.props.requestTermsAndConditions(this.props.langCode);\n }\n\n componentWillUnmount = () => {\n this.props.onTermsCheckedChange(false);\n }\n\n acceptTermsAndConditions = () => {\n this.props.acceptTermsAndConditions(true, this.props.termsAndConditionsId);\n }\n\n cancelTermsAndConditions = () => {\n this.props.acceptTermsAndConditions(false);\n }\n\n onTermsCheckedChange = checked => {\n this.props.onTermsCheckedChange(checked);\n }\n\n render() {\n return (\n \n }\n actionBarControlsStyle={actionBarControlsStyle}\n >\n \n \n \n
    \n \n \n \n \n }\n />\n )\n }\n}\n\nexport default connect(\n state => ({\n acceptTermsChecked: state.login.acceptTermsChecked,\n langCode: getSelectedLanguage(state),\n termsAndConditionsText: getTermsAndConditionsText(state),\n termsAndConditionsId: state.login.termsAndConditions[getSelectedLanguage(state).toLowerCase()] && state.login.termsAndConditions[getSelectedLanguage(state).toLowerCase()].termsAndConditionsId,\n }),\n dispatch => ({\n requestTermsAndConditions: langCode => {\n dispatch(requestTermsAndConditions(langCode))\n },\n onTermsCheckedChange: checked => {\n dispatch(onTermsCheckedChange(checked));\n },\n acceptTermsAndConditions: (accepted, termsAndConditionsId) => {\n dispatch(acceptTermsAndConditions(accepted, termsAndConditionsId ));\n },\n })\n\n)(TermsAndConditionsModal);\n","// LocalStorage\nexport const ROADSHOW_SELECTED_TEAMS = '__mydeal__roadshow_selected_teams';\nexport const SELECTED_LANGUAGE = '__mydeal__selected_language';\nexport const TEMP_SELECTED_LANGUAGE = '__mydeal__temp_language';\nexport const SELECTED_DEAL = '__mydeal__selected_deal';\nexport const SELECTED_ISV_DEAL = '__mydeal__isv__selected_deal';\n\n// Session Storage\nexport const TOKEN = \"_mydeal_\";\nexport const EXPIRATION = \"_mydeal_exp_\";\n\nexport const IS_INTERNAL = window.__MyDealEnv === \"INTERNAL\"\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components\";\nimport PopupSystem from \"shared/components/PopupSystem\";\nimport Popup,{ Divider } from \"shared/components/Popup\";\nimport Scrollable from \"shared/components/Scrollable\";\nimport { openSiteText } from \"actions/LoginActions\";\nimport { getSelectedLanguage, makeGetSiteTextSelector } from \"selectors\";\nimport logo from \"mk-pattern-library-react/images/HSBC_Logo.svg\";\nimport { acceptOneWayLetter, acceptLetterClick } from \"Isv/actions/IsvUtilityActions\";\nimport { getIsvCurrentDeal } from '../Isv/selectors';\n\nconst ModalContent = styled.div`\n display: flex;\n flex-direction: column;\n padding-top: 20px;\n ${Divider} {\n display: block;\n margin: 1rem 0;\n }\n`;\n\nconst ScrollableContent = styled.div`\n display: flex;\n flex-direction: column;\n padding: 0px 20px;\n`;\n\nconst LogoIcon = styled.img`\n height: 71px;\n margin-top: 33px;\n`;\n\nconst textStyle = {\n marginTop: \"-44px\",\n marginLeft: \"78px\",\n fontWeight: \"bolder\",\n};\n\nconst popupStyle = {\n marginTop:'-55px',\n};\n\nclass OneWayLetter extends React.PureComponent {\n componentDidMount = () => {\n this.props.openOneWayLetter(\n this.props.modalID,\n this.props.langCode,\n this.props.siteTextType\n );\n };\n cancelOneWayLetter = () => {\n this.props.cancelOneWayLetter();\n };\n\n acceptOneWayLetter = () => {\n this.props.acceptOneWayLetter(this.props.dealId );\n };\n \n render() {\n return (\n <>\n { !this.props.acceptedBy && !this.props.startDate ? ( \n \n \n

    \n \n

    HSBC

    \n

    \n \n \n \n \n \n
    \n \n }\n />\n ):''}\n \n );\n \n }\n}\nconst makeMapStateToProps = (state, ownProps) => {\n const getSiteText = makeGetSiteTextSelector(ownProps.siteTextType.name);\n const mapStateToProps = (state, ownProps) => ({\n langCode: getSelectedLanguage(state),\n siteTextType: ownProps.siteTextType,\n siteText: getSiteText(state),\n \"aria-label\": ownProps[\"aria-label\"],\n oneWayLetter: state.isvUtility.dealSwitch,\n acceptedBy:getIsvCurrentDeal(state).acceptedBy,\n startDate:getIsvCurrentDeal(state).startDate,\n currentDealId:getIsvCurrentDeal(state).dealId,\n \n });\n return mapStateToProps;\n};\nexport default connect(makeMapStateToProps, (dispatch) => ({\n openOneWayLetter: (modalId, langCode, siteTextType) => {\n dispatch(openSiteText(langCode, siteTextType));\n },\n acceptOneWayLetter: (dealId) => {\n dispatch(acceptLetterClick(dealId))\n dispatch(acceptOneWayLetter(dealId))\n },\n cancelOneWayLetter:(dealId) => {\n dispatch(acceptOneWayLetter(dealId))\n }\n}))(OneWayLetter);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport styled from 'styled-components';\nimport { AppContainer } from 'mk-pattern-library-react';\nimport { IsvAppContainer } from 'mk-pattern-library-react';\nimport DealSwitcher from './DealSwitcher/DealSwitcher';\nimport IsvDealSwitcher from '../Isv/components/IsvDealSwitcher/IsvDealSwitcher'\nimport SessionTimer from './SessionTimer';\nimport InternalLogin from './InternalLogin';\nimport ExternalLogin from './ExternalLogin';\n\nimport ExternalTotpLogin from './ExternalTotpLogin';\nimport ExternalPnLogin from './ExternalPnLogin';\n\nimport TermsAndConditionsModal from './TermsAndConditionsModal';\n\nimport { getCurrentDealInfo, getAllowedNavigationFeatures, getSelectedLanguage, isBaseFetchCompleted, isAnyModalOpened, isISVUser } from '../selectors';\n\nimport { logOff } from 'actions/HeartBeatActions';\nimport { detectUserInteraction, dealSetup } from 'actions/UtilityActions';\nimport { initialize, } from 'actions/LoginActions';\n\nimport { setupIsvDeal, isvSwitchDeal, requestIsvDealClick } from '../Isv/actions/IsvUtilityActions';\n\nimport Loading from 'shared/components/Loading';\nimport withAnalytics from 'shared/hoc/withAnalytics';\nimport { events } from 'constants/analytics';\n\nimport * as storageKeys from 'constants/storageKeys';\nimport SITE_TEXT_TYPES from 'constants/siteTextTypes';\nimport OneWayLetter from 'components/OneWayLetter'\nimport * as modalIds from \"constants/modalIds\";\nimport { AUTH_TYPES } from 'constants/laasConfig';\nimport { getIsvCurrentDeal, isIsvExternalUser, isIsvBaseFetchCompleted } from 'Isv/selectors';\n\nconst LoadingContainer = styled.div`\n width: 100vw;\n height: 100vh;\n`;\n\nlet DevTools;\n\nif (process.env.NODE_ENV === 'development') {\n DevTools = require('../DevTools').default; // eslint-disable-line global-require\n}\n\nclass App extends Component {\n constructor(props) {\n super(props);\n this.dealSwitchClick = this.dealSwitchClick.bind(this);\n this.logoutMethod = this.logoutMethod.bind(this);\n }\n \n componentDidMount() {\n const token = window.sessionStorage.getItem(storageKeys.TOKEN);\n const expiration = window.sessionStorage.getItem(storageKeys.EXPIRATION);\n this.props.initialize(token, expiration, storageKeys.IS_INTERNAL);\n }\n\n dealSwitchClick(dealId) {\n !this.props.isISVUser ? this.props.setupDeal(dealId) : this.props.setupIsvDeal(dealId);\n // this.props.isISVUser && this.props.requestIsvDealClick(dealId)\n if(this.props.isISVUser){\n setTimeout(()=>{\n this.props.isvSwitchDeal(dealId)\n },500)\n }\n }\n\n logoutMethod() {\n this.props.logOff();\n this.props.logoutEvent();\n }\n\n attemptSSO = () => {\n this.props.initialize(null, null, storageKeys.IS_INTERNAL);\n }\n\n render() {\n if(this.props.login.showTermsAndConditions) {\n return ;\n }\n if(!this.props.login.isAuthenticated) {\n if(this.props.initializing) {\n return (\n \n \n \n )\n }\n if (storageKeys.IS_INTERNAL) {\n return \n } else if ( (this.props.login.error) || ( this.props.login.authType === AUTH_TYPES.MOBILE_APPROVE ) ) {\n if(this.props.login.authType === AUTH_TYPES.TOTP) {\n return \n } else {\n return \n }\n } else if ( this.props.login.authType === AUTH_TYPES.TOTP ) {\n return \n } else {\n return \n }\n } \n else if (this.props.login.isAuthenticated && !this.props.baseFetchCompleted && !this.props.isISVUser) {\n return (\n \n \n \n );\n }\n else if(this.props.login.isAuthenticated && !this.props.isvBaseFetchCompleted && this.props.isISVUser) {\n return (\n \n \n \n );\n }\n \n return (\n
    \n {\n !this.props.isISVUser ? \n }\n >\n {this.props.children}\n \n :\n <>\n { this.props.isIsvExternalUser && this.props.isvDealData && this.props.dealSwitch &&\n (\n \n )}\n }\n >\n {this.props.children}\n \n \n }\n \n { DevTools && }\n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n login: state.login,\n currentDealInfo: getCurrentDealInfo(state),\n navigationFeatures: getAllowedNavigationFeatures(state),\n languageCode: getSelectedLanguage(state),\n baseFetchCompleted: isBaseFetchCompleted(state),\n isvBaseFetchCompleted: isIsvBaseFetchCompleted(state),\n initializing: state.login.initializing,\n isAnyModalOpened: isAnyModalOpened(state),\n dealSwitch:state.isvUtility.dealSwitch,\n isISVUser: isISVUser(state),\n isvDealData:getIsvCurrentDeal(state),\n isIsvExternalUser:isIsvExternalUser(state)\n});\n\nconst mapDispatchToProps = dispatch => ({\n initialize: (token, expiration, isInternal) => {\n dispatch(initialize(token, expiration, isInternal));\n },\n detectUserInteraction: () => {\n dispatch(detectUserInteraction());\n },\n logOff: () => {\n dispatch(logOff());\n },\n setupDeal: (dealId) => {\n dispatch(dealSetup(dealId, true));\n },\n isvSwitchDeal: (dealId) => {\n dispatch(isvSwitchDeal(dealId))\n },\n setupIsvDeal: (dealId) => {\n dispatch(setupIsvDeal(dealId, true));\n },\n requestIsvDealClick:(dealId , loader)=>{\n dispatch(requestIsvDealClick(dealId,loader))\n }\n})\n\nexport default compose(\n withAnalytics(event => ({\n logoutEvent: () => event(events.LOGOUT),\n })),\n connect(mapStateToProps, mapDispatchToProps)\n)(App);\n","import React from 'react';\n\nfunction manageCookieSettingClick() {\n if (window.utag) {\n window.utag.gdpr.showConsentPreferences()\n }\n}\n\nfunction topFunction() {\n window.location.hash = '';\n document.body.scrollTop = 0;\n document.documentElement.scrollTop = 0;\n}\n\nwindow.onscroll = function() {onScrollEvent()};\n function onScrollEvent() {\n var mybutton = document.getElementById(\"moveToTopBtn\");\n if(mybutton){\n if (window.pageYOffset > 20) {\n mybutton.style.display=\"block\"\n } else {\n mybutton.style.display=\"none\"\n }\n }\n}\n\nconst CookiePolicy = () => (\n <>\n \n \n \n \n \n \n
    \n

    Cookie notice

    \n

    Cookies on this website

    \n

    On this page:

    \n \n

    This Cookie notice provides you with information about the cookies we use and the purposes for which we use\n them.

    \n

    You can manage your cookie preferences at any time:

    \n \n

    What are cookies?

    \n

    Cookies are small pieces of data that websites store on your browser when you visit them. Cookies are\n useful because they allow a website to recognise your visit and collect information about how you use that\n website

    \n

    The cookies we use

    \n

    The cookies we use are either strictly necessary or optional.

    \n

    Strictly necessary cookies

    \n

    Strictly necessary cookies ensure that our website is able to function properly. We don't have to ask for\n your consent to store these cookies on your browser. We've listed the categories of these strictly necessary\n cookies below.

    \n

    Cookies that help you log on

    \n

    We use these cookies to remember who you are when you log on to secure areas of our website. You won't be\n able to log on without them.

    \n

    Cookies that help us provide core services and features

    \n

    We use these cookies to provide core services and features on our website. These services and features\n won't work without them.

    \n

    We work with service providers and third parties who also set these cookies on this website.

    \n
    \n \n \n \n \n \n \n \n \n \n \n
    \n

    Who else sets these cookies?

    \n
    \n

    For what purpose?

    \n
    \n

    Tealium Tag Management

    \n
    \n

    To allow us to control the deployment of tags (software that enhances our website) and also to enable\n the capture and respect of consent preferences obtained from our users

    \n
    \n \n \n \n

    Cookies that help keep our website secure

    \n

    We use these cookies to protect the security of our website, for example, to make sure the website is only\n accessed by genuine users. This helps us to keep you safe.

    \n

    Cookies that help us detect fraud or crime

    \n

    We use these cookies to help us identify suspicious behaviour on our website so we can protect both you and\n us from fraud.

    \n

    Optional cookies

    \n

    We'd also like to use cookies to provide optional features, improve our website and support advertising and\n social media.

    \n

    We understand that not everyone likes data to be collected about them when it's not strictly necessary, and\n so we'll ask you to set your preferences when you first visit our website. To make it easier to choose which\n optional cookies to accept, we've organised these cookies by category. These are set out below. Where\n relevant, we've also explained which of our trusted partners helps us make use of these optional cookies.\n

    \n

    You can choose which categories you'd be happy for us to use in your cookie settings and make changes at\n any time by selecting 'Manage cookie settings' at the top of this page.

    \n

    Cookies that we use to make your visit more personal

    \n

    We use these cookies to ensure our optional features and services work. Our website will still work without\n them.

    \n

    This category may also include:

    \n
      \n
    • cookies that allow us to customise what you see on our website and where, based on what we know about\n you
    • \n
    • cookies that help prevent fraud on other websites or services that you haven't asked to use when you're\n on our website
    • \n
    • cookies that help keep secure other websites or services that you haven't asked to use when you're on\n our website
    • \n
    \n

    Cookies that help us improve our website

    \n

    We use these cookies to help us understand how people use our website. We can then use this data to improve\n how our website works. For instance, we may use analytics providers to identify and count visits to our\n website and to see which pages people go to and what they do there.

    \n

    We work with service providers and third parties who also set these cookies on this website.

    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n

    Who else sets these cookies?

    \n
    \n

    For what purpose?

    \n
    \n

    Adobe Analytics

    \n
    \n

    To enable us to understand how you use and engage with our website

    \n
    \n \n \n \n

    Cookies that support marketing

    \n

    We and our partners use these cookies to understand what you're interested in on our website and on social\n media. These cookies may also identify which other websites may have directed you to our website. This is so\n we or our partners can personalise our marketing to you, including online advertising and through post,\n email, telephone, text, secure message or social media. You can change your mind on how you receive certain\n types of marketing message or choose to stop receiving them at any time. You can find more details about\n this in our Privacy notice.

    \n

    We work with service providers and third parties who also set these cookies on this website.

    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n

    Who else sets these cookies?

    \n
    \n

    For what purpose?

    \n
    \n

    Adobe (Audience Manager)

    \n
    \n

    To help us deliver personalisation (including advertising) based on segmentation informed by your\n browsing behaviour and to measure the performance of our digital advertising

    \n
    \n

    Adobe (Experience Cloud)

    \n
    \n

    To connect various Adobe Suite technologies together in order to profile audiences and use that\n segmentation in delivering targeted user experiences including advertising both on our own and third\n party sites

    \n
    \n \n \n \n \n

    Your preferences are stored in cookies stored on your browser. If you switch off a category of cookies that\n you've previously accepted, then for technical reasons those cookies will not be deleted.

    \n

    To delete cookies from your browser, we recommend that you clear your browser data. If you do this, or change\n browser, we'll ask for your preferences again when you next visit our website.

    \n

    Cookie duration and your browser settings

    \n

    The length of time for which cookies are stored on your browser varies depending on the cookie. Some cookies\n only last for your online session, whereas others will stay on your browser for a reasonable time afterwards.\n Unless we’ve given a specific time in the list of cookies above, the cookies set via our website will usually\n last up to 13 months after your most recent visit to our site.

    \n

    Some of our partners in the list above also use the same cookies to collect information about the use of\n their own or other websites. In these cases the cookie can remain on your device, usually for up to 13 months\n from your last visit to the site that accessed that cookie

    \n

    You can use your browser settings to delete cookies that have already been set at any time. You can also use\n your browser settings to manage cookies, for example, to switch off a cookie altogether. If you do this, it\n could mean that we can't use strictly necessary cookies properly and so parts of our website may not work\n correctly. For more information about how to use your browser settings to clear your browser data or to manage\n cookies, check your browser 'Help' function.

    \n

    Our websites

    \n

    We're changing the way we set cookies on the websites we manage. This means that some of our websites may ask\n you to accept cookies again, or they may not yet be able to fully respect your preferences. We're working on\n this. Please contact us if you have any questions.

    \n

    Cookies and your privacy

    \n

    The information cookies collect, and how we use that information, may count as personal data. We may also be\n able to identify you by name, IP address or session ID. You have rights regarding how we collect, store and\n use your personal data

    \n

    You can learn more about how we use your personal data in our Privacy\n notice.

    \n \n \n \n \n \n \n)\n\nexport default CookiePolicy;\n","import React from 'react';\n\nfunction topFunction() {\n window.location.hash = '';\n document.body.scrollTop = 0;\n document.documentElement.scrollTop = 0;\n}\n\nconst PrivacyPolicy = () => (\n <>\n

    The MyDeal Privacy Notice as at 17/Sep/2019

    \n

    On this Page

    \n \n

    1. About this notice

    \n

    This Privacy Notice applies to personal information held by members of the HSBC Group as data controllers, or the\n organisation responsible for personal information under our control. It only applies for the purposes of operating\n the MyDeal website and mobile application. For all products, services and processes other than MyDeal, please refer\n to the data controller’s other relevant privacy notice. 

    \n

    This Privacy Notice explains what information we collect about you, how we’ll use that information, who we’ll share\n it with, the circumstances when we’ll share it and what steps we’ll take to make sure it stays private and secure.\n It will continue to apply even if your use of or agreement for MyDeal ends. This Privacy Notice may be updated from\n time to time and the most recent version can be found at https://mydeal.gbm.hsbc.com/.

    \n

    2. Who this Notice applies to

    \n

    This Privacy Notice applies to your use of the MyDeal website and mobile application. When we say ‘we’, we mean\n HSBC Bank plc and any other HSBC Group companies which act as a data controller in respect of your personal data.\n For the purposes of this notice, the relevant data controller is:

    \n

    (a) HSBC Bank plc, as the operator of the MyDeal website and mobile application, in connection with the provision\n of these services; and

    \n

    (b) the HSBC Group company that the entity you are acting on behalf of has a relationship with (as defined in the\n MyDeal terms and conditions).  

    \n

    3. Contact Details

    \n

    You can find the contact details of the data controllers and their data protection officers (where relevant) by\n clicking on the Customer Support link on https://mydeal.gbm.hsbc.com/ and selecting the relevant\n country/territory. 

    \n

    4. What information we collect

    \n

    The information we collect is required to provide you with access to our services, to fulfil our agreement with the\n entity you are acting on behalf of, to enable us to fulfil our legal and regulatory compliance obligations, and to\n address our legitimate business interests, as described below. Failure to provide your information (or if all\n personal data submitted to us is not complete, accurate, true and correct) may mean it is not possible to provide\n you with access to certain products or services which you or the entity you are acting on behalf of have\n requested. 

    \n

    We’ll only collect your information in line with relevant regulations and law. The information we collect may\n include:

    \n

    4.1 Information that you, or your employer / the profile owner you represent /corporate representative, provide to\n us, e.g.:

    \n
      \n
    • personal details, e.g. name, gender, date of birth, role/occupation;
    • \n
    • contact details, e.g. home and work postal addresses, email addresses and phone numbers;
    • \n
    • meeting details, e.g. start and end times, location and attendance;
    • \n
    • logistic details, e.g. flight numbers, flight times, transportation details and accommodation arrangements;
    • \n
    • your feedback about products and services presented on the MyDeal website and mobile application;
    • \n
    • authentication information, e.g. integrated login credentials from HSBCnet for access to the MyDeal website and\n mobile application;
    • \n
    • other information about you that you give us by filling in forms, surveys, or by communicating with us, whether\n face-to-face, by phone, email, online, or otherwise.
    • \n
    \n

    4.2 Information we collect or generate about you, e.g.:

    \n
      \n
    • information about you or those you represent and their relationship with us, including the channels you use and\n your ways of interacting with us and the MyDeal website / application, as well information concerning complaints\n and disputes;
    • \n
    • information included in customer documentation (e.g. a record of advice that we may have given you);
    • \n
    • cookies, and similar technologies we use to make our website operational - our cookie policy available at\n https://mydeal.gbm.hsbc.com/ contains more details about how we use cookies;
    • \n
    • records of correspondence and other communications between us, including email, telephone conversations, live\n chat, instant messages and social media communications;
    • \n
    • information that we need to support our regulatory obligations, e.g. information about transaction details,\n purpose of payment, ordering customer information, counterparty/beneficiary information, identification documents,\n detection of any suspicious and unusual activity and information about parties connected to you or these\n activities;
    • \n
    • information about the devices you use to access MyDeal, e.g. software and IP address.
    • \n
    \n

    5. How we’ll use your information

    \n

    The reasons we use your information include to: 

    \n
      \n
    • provide you with access to MyDeal (including our mobile app), including identifying you and carrying out your\n instructions, sending alerts, service messaging and notification of activities;
    • \n
    • manage our relationship with you or the profile owner you represent (as part of our provision of its MyDeal\n services);
    • \n
    • fulfil our contractual arrangements with third party information providers operating in financial markets (e.g.\n Bloomberg). This can include sharing our customer’s identity with those third party providers, including contact\n details of our customer’s representatives, when our customers use that service;
    • \n
    • prevent or detect crime including fraud and financial crime, e.g. financing for terrorism and human trafficking;\n
    • \n
    • ensure security and business continuity and risk management;
    • \n
    • improve products and services, including performance of data analytics to better understand how you or the\n company you represent use our services, and to respond to any service issues you may have;
    • \n
    • protect our legal rights and comply with our legal obligations;
    • \n
    • carry out marketing activities in relation to our products and services, where permitted;
    • \n
    • develop systems or products ;
    • \n
    • carry out planning, audit and administrative activities.
    • \n
    \n

    We do not carry out automated decision making which might produce legal effects and/or otherwise affects you.

    \n

    5.1 Specific use - Tracking or recording what you say or do

    \n

    We may record details of your interactions with us, including emails, telephone conversations, live chats, video\n chats and any other kinds of communication that you may have with us regarding MyDeal. We may use these recordings\n to check your instructions to us, assess, analyse and improve our service, train our people, manage risk or to\n prevent and detect fraud and other crimes. We may also capture additional information about these interactions, such\n as information about the devices or software that you use.

    \n

    5.2 Specific use - Compliance with laws and regulatory compliance obligations

    \n

    We’ll use your information to meet our compliance obligations, to comply with other laws and regulations and to\n share with regulators and other authorities that HSBC Group companies are subject to. This may include using it to\n help detect or prevent crime (including terrorism financing, money laundering and other financial crimes). We’ll\n only do this on the basis that it’s needed to comply with a legal obligation or it’s in our legitimate interests and\n that of others.

    \n

    6. Lawful basis for processing your information

    \n

    We’ll only use your information where we have identified a lawful basis for processing it. These reasons include\n where we:

    \n
      \n
    • need to pursue our legitimate interests or that of the profile owner you represent (for example, as part of our\n provision of its MyDeal services);
    • \n
    • need to process the information to carry out an agreement we have with you or the profile owner you represent\n (as part of our provision of its MyDeal services) or a third party information provider operating in financial\n markets (e.g. Bloomberg);
    • \n
    • need to process the information to comply with a legal obligation;
    • \n
    • believe the use of your information as described is in the public interest e.g. for the purpose of preventing or\n detecting crime;
    • \n
    • have obtained your consent in those jurisdictions that mandate it, or consent is the most appropriate basis for\n processing it. 
    • \n
    \n


    \n

    7. Who we might share your information with

    \n

    We may share your information with others where lawful to do so including where we or they:

    \n
      \n
    • need to in order to provide you with products or services you’ve requested, e.g. fulfilling a payment request,\n sharing information with third party vendors who we may utilise;
    • \n
    • have a public or legal duty to do so, e.g. to assist with detecting and preventing fraud, tax evasion and\n financial crime;
    • \n
    • need to in connection with regulatory reporting, litigation or asserting or defending legal rights and\n interests;
    • \n
    • have a legitimate business reason for doing so, e.g. sharing your information and information about your use of\n your account with the profile owner you represent as part of our provision of its MyDeal services, tracking usage,\n performing data analysis to identify market/industry trends and pursuing other business interests;
    • \n
    • intend to manage risk, verify your identity, enable another company to provide you with services you’ve\n requested, or assess your suitability for products and services;
    • \n
    • have asked you for your permission to share it, and you’ve agreed.
    • \n
    \n

    We may share your information for these purposes with others including the profile owner you represent, any other\n HSBC group companies and any sub-contractors, agents or service providers who work for us or provide services to us\n or other HSBC Group companies (including their employees, sub-contractors, service providers, directors and\n officers). This includes sharing your information with third party information providers operating in financial\n markets where required in connection with their services. 

    \n

    8. How long we’ll keep your information

    \n

    We keep your information in line with our data retention policy (for example, in some countries/territories we will\n retain information from MyDeal for a minimum 5 year period). This enables us to comply with legal and regulatory\n requirements or use it where we need to for our legitimate purposes such as managing your account and dealing with\n any disputes or concerns that may arise. 

    \n

    We may need to retain your information for a longer period where we need the information to comply with regulatory\n or legal requirements or where we may need it for our legitimate purposes e.g. to help us respond to queries or\n complaints, fighting fraud and financial crime, responding to requests from regulators, etc. If we don’t need to\n retain information for this period of time, we may destroy, delete or anonymise it more promptly.

    \n

    9. Transferring your information overseas

    \n

    Your information may be transferred to and stored in locations outside your home jurisdiction, including\n countries/territories that may not have the same level of protection for personal information. When we do this,\n we’ll ensure they have an appropriate level of protection and that the transfer is lawful. We may need to transfer\n your information in this way to carry out our contract with you, to fulfil a legal obligation, to protect the public\n interest and / or for our legitimate interests. In some countries/territories the law might compel us to share\n information with certain persons (e.g. with tax authorities). Even in these cases, we’ll only share your information\n with people who have the right to see it. You can obtain more details of the protection given to your information\n when it is transferred outside your home jurisdiction by contacting us using the details in the ‘More details about\n your information’ section below.

    \n

    10. Your rights

    \n

    You have a number of rights in relation to the information that we hold about you. These rights include:

    \n
      \n
    • the right to access information we hold about you and to obtain information about how we process it, save where\n such disclosure would be prohibited by law;
    • \n
    • in some circumstances, the right to withdraw your consent to our processing of your information, which you can\n do at any time. We may continue to process your information if we have another legitimate reason for doing so,\n although this may impact your ability to continue to have access to our products and services;
    • \n
    • in some circumstances, the right to receive certain information in an electronic format and/or request we\n transmit it to a third party where this is technically feasible. The right only applies to information provided to\n us.
    • \n
    • the right to request that we rectify your information if it’s inaccurate or incomplete;
    • \n
    • in some circumstances, the right to request that we erase your information. We may continue to retain your\n information if we are entitled or required to retain it; and
    • \n
    • the right to object to, and to request that we restrict, our processing of your information in some\n circumstances. Again, there may be situations where you object to, or ask us to restrict, our processing of your\n information but we are entitled to continue processing your information and / or to refuse that request.
    • \n
    \n

    You can exercise your rights by contacting us using the details set out below. You may also have a right to\n complain to the relevant data protection regulator in the country/territory in which you live or work.

    \n

    11. How we keep your information secure 

    \n

    We use a range of measures to keep your information safe and secure which may include encryption and other forms of\n security. We require our staff and any third parties who carry out any work on our behalf to comply with appropriate\n compliance standards including obligations to protect any information and applying appropriate measures for the use\n and transfer of information.

    \n

    12. Further information about your data

    \n

    If you’d like further information on your data, or to contact our Data Protection Officer where applicable, please\n contact your usual HSBC representative, or use the Customer Support option on the https://mydeal.gbm.hsbc.com/\n homepage, which sets out our contact details in applicable jurisdictions. 

    \n

    13. Processing by another HSBC Group controller

    \n

    Where you are acting on behalf of an entity that has a relationship with a company of the HSBC Group (as defined in\n the MyDeal terms and conditions), you should read this document in conjunction with the Privacy Notice issued by\n that entity and available at: 

    \n
      \n
    • HSBC Bank Australia Limited and The Hongkong and Shanghai Banking Corporation Limited, Sydney Branch in\n Australia: www.hsbc.com.au\n
    • \n
    • HSBC Bangladesh: www.hsbc.com.bd
    • \n
    • HSBC Bank (China) Company Limited: www.hsbc.com.cn
    • \n
    • The Hongkong and Shanghai Banking Corporation Limited in Hong Kong SAR: www.hsbc.com.hk
    • \n
    • The Hongkong and Shanghai Banking Corporation Limited in India: www.hsbc.co.in
    • \n
    • PT Bank HSBC Indonesia: www.hsbc.co.id
    • \n
    • The Hongkong and Shanghai Banking Corporation Limited in Japan: www.hsbc.co.jp
    • \n
    • The Hongkong and Shanghai Banking Corporation Limited, Seoul Branch in Korea: www.hsbc.co.kr
    • \n
    • The Hongkong and Shanghai Banking Corporation Limited, Macau Branch in Macau SAR: www.hsbc.com.mo
    • \n
    • HSBC Bank Malaysia Berhad and HSBC Amanah Malaysia Berhad in Malaysia: www.hsbc.com.my or www.hsbcamanah.com.my\n
    • \n
    • The Hongkong and Shanghai Banking Corporation Limited Maldives Branch in Maldives: http://www.business.maldives.hsbc.com
    • \n
    • The Hongkong and Shanghai Banking Corporation Limited, incorporated in the Hong Kong SAR, acting through its New\n Zealand branch: https://www.hsbc.co.nz/utilities/privacy-and-security
    • \n
    • The Hongkong and Shanghai Banking Corporation Limited, Singapore Branch in Singapore: https://www.hsbc.com.sg/privacy-statement/
    • \n
    • The Hongkong and Shanghai Banking Corporation Limited Sri Lanka Branch in Sri Lanka: www.hsbc.com.lk
    • \n
    • HSBC Bank (Taiwan) Limited and The Hongkong and Shanghai Banking Corporation Limited, Taipei Branch in Taiwan:\n www.hsbc.com.tw
    • \n
    • The Hongkong and Shanghai Banking Corporation Limited, Philippines branch in Philippines: http://www.business.hsbc.com.ph
    • \n
    • Hang Seng Bank Limited in Hong Kong SAR: www.hangseng.com\n
    • \n
    \n

    Where the local notice conflicts with this Privacy Notice, the former shall apply.

    \n

    14. Cookies

    \n

    You should also read our Cookie Policy at https://mydeal.gbm.hsbc.com/\n to find out more about how HSBC and our trusted partners use cookies, which is relevant to your online security. We\n use cookies to make our website and mobile devices more secure and easier to use.

    \n \n \n)\n\nexport default PrivacyPolicy;\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components\";\nimport {\n getSelectedLanguage,\n makeGetSiteTextSelector,\n getSiteTextValue \n} from \"selectors\";\nimport { openSiteText } from \"actions/LoginActions\";\nimport { Navbar } from \"react-bootstrap\";\nimport logo from \"mk-pattern-library-react/images/HSBC_Logo.svg\";\nimport {\n Logo,\n} from './styles/Login';\nimport CookiePolicy from './CookiePolicy';\nimport PrivacyPolicy from \"./PrivacyPolicy\";\n\nconst InnerContainer = styled.div`\n display: flex;\n flex-direction: row;\n width: 800px;\n margin: 20px auto;\n`;\nconst ContentStyle = {\n marginLeft:\"-177px\"\n};\n\nclass DataPrivacy extends Component {\n\n componentDidMount() {\n this.props.openSiteText(this.props.langCode, this.props.siteTextType ? this.props.siteTextType : getSiteTextValue(this.props.routeParams.routeValue));\n // this.props.navigateEvent(this.props.url ? this.props.url : this.props.location )\n }\n \n\n render() {\n return (\n <>\n \n \n \n MyDeal\n \n \n \n \n \n \n \n \n \n {\n (window.location.pathname === '/cookienotice' || window.location.pathname === '/settings/cookienotice') && \n <>\n
    \n \n
    \n \n }\n { \n (window.location.pathname === '/privacynotice' || window.location.pathname === '/settings/privacynotice') &&\n <>\n
    \n \n
    \n {/* */}\n \n } \n
    \n \n );\n }\n}\n\nconst makeMapStateToProps = (state, ownProps) => {\n const getSiteText = makeGetSiteTextSelector(ownProps.siteTextType ? ownProps.siteTextType.name : getSiteTextValue(ownProps.routeParams.routeValue).name);\n const mapStateToProps = (state, ownProps) => ({\n langCode: getSelectedLanguage(state),\n siteTextType: ownProps.siteTextType ? ownProps.siteTextType : getSiteTextValue(ownProps.routeParams.routeValue),\n siteText: getSiteText(state),\n \"aria-label\": ownProps[\"aria-label\"],\n   });\n \n return mapStateToProps;\n };\n\nexport default connect(makeMapStateToProps, (dispatch) => ({\n openSiteText: (langCode, siteTextType) => {\n dispatch(openSiteText(langCode, siteTextType));\n },\n // navigateEvent:(url)=>{\n // browserHistory.push(url);\n // dispatch(eventTriggered(mapLinkToAnalyticEvent(url)));\n // },\n}))(DataPrivacy);\n\n","import React from 'react';\nimport { Router, Route, IndexRoute, browserHistory, IndexRedirect } from 'react-router';\n\nimport './shared/styles/application.scss';\n\nimport dealFeatures from 'constants/dealFeatures';\nimport isvNavLinks from 'Isv/constants/isvNavLinks';\nimport { featurePageIds } from 'constants/featurePages';\n\n// Roadshow\nimport Roadshow from './Roadshow/Roadshow.routing';\nimport DocumentMode from './Roadshow/DocumentMode/DocumentMode.container';\nimport DailySchedule from './Roadshow/DailySchedule/DailySchedule.container';\n// Orders\nimport OrderBook from './OrderBook/OrderBook.routing';\nimport FullOrderBook from './OrderBook/FullOrderBook.container';\nimport OrderSummary from './OrderBook/OrderSummary.container';\nimport AmendedSummary from './OrderBook/dcm/AmendedSummary/AmendedSummary.container';\nimport BookEvolution from './OrderBook/dcm/BookEvolution/BookEvolution.container';\n// Landing Page\n// import HomeContainer from './Home/HomeContainer';\nimport LandingContainer from './Landing';\nimport DealInformationContainer from './Isv/components/DealInformation/DealInformation';\nimport ReferenceInformationContainer from './Isv/components/ReferenceInformation/ReferenceInformation';\nimport EcbToReturnContainer from './Isv/components/EcbToReturn/EcbToReturn';\n// My Docs\nimport MyDocs from './MyDocs/MyDocs.routing';\nimport DocumentsContainer from './MyDocs/Documents/Documents.container';\n// Investor Feedback\nimport InvestorFeedback from './InvestorFeedback/InvestorFeedback.routing';\nimport DetailsContainer from './InvestorFeedback/Details/Details.container';\nimport SummaryContainer from './InvestorFeedback/Summary/Summary.container';\n// Pricing\nimport Pricing from './Pricing/Pricing.routing';\nimport PricingDocuments from './Pricing/PricingDocuments.container';\n// Settins\nimport Settings from './Settings/Settings';\nimport SITE_TEXT_TYPES from 'constants/siteTextTypes';\nimport App from './components/App';\nimport DataPrivacy from './components/DataPrivacy';\n\nconst privacyUrl = {\n pathname: featurePageIds.DATAPRIVACY_NOTICE_PAGE_EXTERNAL,\n};\nconst cookieUrl = {\n pathname: featurePageIds.COOKIE_NOTICE_PAGE_EXTERNAL,\n};\n\nconst Root = () =>\n \n }>\n }>\n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n \n \n \n \n\nexport default Root;\n","export const isResponseNull = data => {\n // empty response\n if (!data) return true;\n\n if (Array.isArray(data)) {\n // empty array\n if (!data.length) return true;\n // array with first empty item\n if (data[0] === null) return true;\n }\n\n return false;\n}\n","import { createReducer } from 'reduxsauce';\nimport Types, { UtilityTypes } from 'actions/Types';\nimport { isResponseNull } from 'util/dataChecks';\nimport { ALL_TRANCHES, ALL_INVESTORS, DEFAULT_TIME_INTERVAL, DEFAULT_ALL, TIME_RANGES } from 'constants/orders';\n\nexport const INITIAL_STATE = {\n // both ECM & DCM\n dataReceived: null,\n orderData: [],\n historicalOrderData: {\n // [trancheId / dealId]: [...]\n },\n //\n // ECM only\n //\n shareDemandData: [],\n historicalShareDemandData: {\n // [dealId]: [...] -> shareDemandData\n },\n externalSourceLastModifiedSummaryDataByShare: [],\n investorCountrySummaryDataByShare: [],\n investorTypeSummaryDataByShare: [],\n // [lowestDemandKey]: demandData\n historicalDemandSummaryByShareAndType: {\n // [dealId]: {\n // [`${type}SummaryDataByShare`]: {\n // lowestDemandKey, -> for selector\n // demandData, -> for lowest share\n // typeData -> data\n // },\n // },\n // ...\n },\n //\n // DCM only\n //\n currentTrancheId: null,\n currentActiveOrderSummaryTab: null,\n tranches: [],\n investorNames: [],\n trancheLists: [],\n orderSummaryData: [],\n amendedOrderSummaryData: [],\n bookEvolutionSummary:[],\n bookEvolutionSummaryForAmendedOrderByInvestorTable: [],\n stages:[],\n //\n investorTypeSummaryData: [],\n investorCountrySummaryData: [],\n investorRegionSummaryData: [],\n historicalDemandSummaryByType: {\n // [trancheId]: {\n // investorTypeSummaryData: data,\n // investorCountrySummaryData: data,\n // investorRegionSummaryData: data,\n // }\n },\n //\n // Fetching statuses\n //\n ordersReceived: false, // both\n shareDemandReceived: false, // ecm\n tranchesReceived: false, // dcm\n isAmended: false,\n trancheLoader: null,\n fullOrderBookSort: {\n column: \"investorLongName\",\n direction: \"Ascending\",\n },\n allTranchesFullOrderBookSort: {\n column: \"externalSourceLastModified\",\n direction: \"Ascending\",\n },\n\n modalSummary: [],\n isModalOpen: false,\n\n selectedInvestor: ALL_INVESTORS,\n selectedTranche: ALL_TRANCHES,\n selectedInterval: DEFAULT_TIME_INTERVAL, \n selectedTimeRange: DEFAULT_ALL,\n selectedDate: DEFAULT_ALL,\n selectedInvestorType: DEFAULT_ALL,\n dataFetching: false,\n isBookEvolutionFiltererd: false,\n isOrderSummaryFiltererd: false,\n isSetStagesModalOpen:false\n};\n\nconst dataFetching = (state, action) => ({\n ...state,\n dataFetching: action.dataFetching,\n});\n\nconst receiveOrders = (state, action) => {\n const isNull = isResponseNull(action.orderData);\n const orderData = isNull ? [] : action.orderData;\n return Object.assign({}, state, {\n orderData,\n dateReceived: Date.now(),\n historicalOrderData: {\n ...state.historicalOrderData,\n [action.responseDetails.trancheId]: orderData,\n },\n ordersReceived: true,\n });\n}\n\nconst includeAmendedOrders = (state, action) => ({\n ...state,\n isAmended: action.checked,\n})\n\nconst receiveShareDemand = (state, action) => {\n const isNull = isResponseNull(action.shareDemandData);\n const shareDemandData = isNull ? [] : action.shareDemandData;\n\n return Object.assign({}, state, {\n shareDemandData,\n dateReceived: Date.now(),\n historicalShareDemandData: {\n ...state.historicalShareDemandData,\n [action.responseDetails.dealId]: shareDemandData,\n },\n shareDemandReceived: true,\n });\n}\n\nconst receiveDemandSummaryByShareAndType = (state, action) => {\n const isNull = isResponseNull(action.responseData);\n const data = isNull ? [] : action.responseData;\n\n const lowestSharePrice = action.responseDetails.lowestSharePrice;\n const demandSummaryForLowestShare = isNull ? [] : action.responseData.find(x => x.sharePrice === lowestSharePrice);\n const lowestDemandKey = `${action.responseDetails.type}Lowest`;\n\n return Object.assign({}, state, {\n [action.responseDetails.type]: data,\n [lowestDemandKey]: demandSummaryForLowestShare,\n historicalDemandSummaryByShareAndType: {\n ...state.historicalDemandSummaryByShareAndType,\n [action.responseDetails.dealId]: {\n ...(state.historicalDemandSummaryByShareAndType[action.responseDetails.dealId] || {}),\n [action.responseDetails.type]: {\n lowestDemandKey,\n demandData: demandSummaryForLowestShare,\n typeData: data,\n }\n }\n }\n })\n};\n\nconst receiveDemandSummaryByType = (state, action) => {\n const isNull = isResponseNull(action.responseData);\n const data = isNull ? [] : action.responseData;\n\n return Object.assign({}, state, {\n [action.responseDetails.type]: data,\n //\n historicalDemandSummaryByType: {\n ...state.historicalDemandSummaryByType,\n [action.responseDetails.trancheId]: {\n ...(state.historicalDemandSummaryByType[action.responseDetails.trancheId] || {}),\n [action.responseDetails.type]: data,\n },\n }\n });\n}\n\nconst receiveTranches = (state, action) => {\n const isNull = isResponseNull(action.tranches);\n let data = {\n currentTrancheId: state.currentTrancheId,\n tranches: isNull ? [] : action.tranches,\n dateReceived: Date.now(),\n tranchesReceived: true,\n ordersReceived: isNull,\n }\n\n if (!data.tranches.some(t => t.trancheId === data.currentTrancheId)) {\n // tranche not available anymore\n data.currentTrancheId = null;\n }\n\n if (!data.currentTrancheId && !isNull) {\n // tranche was not selected / not available - select new one\n data.currentTrancheId = action.tranches[0].trancheId\n }\n\n // TODO => @JE clear historical data?\n\n return Object.assign({}, state, data);\n}\n\nconst updateCurrentTranche = (state, { trancheId, dealType }) => {\n const isDCM = dealType === 'DCM';\n\n let otherFields;\n //\n // we have to extract summary for new tranche from historical data\n // ( always up to date - event notification 'smart' polling )\n //\n if (isDCM) {\n otherFields = {\n ...(state.historicalDemandSummaryByType[trancheId] || {})\n }\n } else {\n otherFields = {}\n const keys = Object.keys(state.historicalDemandSummaryByShareAndType[trancheId] || {});\n keys.forEach(type => {\n const typeObj = state.historicalDemandSummaryByShareAndType[trancheId][type];\n otherFields[type] = typeObj.typeData;\n otherFields[typeObj.lowestDemandKey] = typeObj.demandData;\n })\n }\n\n return Object.assign({}, state, {\n currentTrancheId: trancheId,\n // change orders or clean start\n orderData: state.historicalOrderData[trancheId] || [],\n // change data\n ShareDemand: state.historicalShareDemandData[trancheId] || [],\n // depending on dealtype change diff fields\n ...otherFields,\n });\n}\n\nconst sortListData = (list) => {\n const tempList = JSON.parse(JSON.stringify(list));\n const tempListMap = [];\n for (var prop in tempList) {\n if (tempList.hasOwnProperty(prop)) {\n tempListMap.push({\n 'key': prop,\n 'value': tempList[prop],\n 'label': tempList[prop],\n });\n }\n }\n return tempListMap.sort((a, b) => a.value.toLowerCase() > b.value.toLowerCase() ? 1 : -1);\n}\n\nconst requestInvestorNames = (state, { investorNames }) => {\n const data = sortListData(investorNames);\n return Object.assign({}, state, {\n ...state,\n investorNames: data\n })\n}\n\nconst requestTranchLists = (state, { trancheLists }) => {\n const data = sortListData(trancheLists);\n return Object.assign({}, state, {\n ...state,\n trancheLists: data\n })\n}\n\nconst recieveOrderSummary = (state, action) => ({\n ...state,\n orderSummaryData: action.orderSummary\n});\n\nconst changeFullOrderBookSort = (state, action) => ({\n ...state,\n fullOrderBookSort: {\n column: action.column,\n direction: action.direction,\n }\n});\n\nconst openOrderSummaryDetailView = (state, action) => ({\n ...state,\n isModalOpen: !state.isModalOpen,\n modalSummary: action.summaryData,\n})\n\nconst closeOrderSummaryDetailView = (state) => ({\n ...state,\n isModalOpen: false,\n modalSummary: [],\n})\n\nconst selectOrderSummaryDropdown = (state, action) => ({\n ...state,\n selectedInvestor: action.selectedInvestor,\n selectedTranche: action.selectedTranche,\n selectedInterval: action.selectedInterval,\n selectedDate: action.selectedDate,\n})\nconst selectAmendedOrderByInvestorDropDown = (state, action) => ({\n ...state,\n selectedInvestorType: action.selectedInvestorType,\n selectedTranche: action.selectedTranche,\n selectedInterval: action.selectedInterval,\n selectedDate: action.selectedDate,\n selectedTimeRange: action.selectedTimeRange,\n});\n\nconst selectInvestorTypeDropdown = (state, action) => ({\n ...state,\n selectedInvestorType: action.selectedInvestorType,\n})\n\nconst changeAllTranchesFullOrderBookSort = (state, action) => ({\n ...state,\n allTranchesFullOrderBookSort: {\n column: action.column,\n direction: action.direction,\n }\n});\n\nconst requestUpdateOrderSummary = (state, action) => ({\n ...state,\n orderSummaryData: action.orderSummary,\n isOrderSummaryFiltererd: action.isFilter\n})\n\nconst refreshFullOrderBookData = (state, action) => ({\n ...state,\n orderData: action.orderData\n})\n\nconst requestUpdateBookEvolutionSummary = (state, action) => ({\n ...state,\n bookEvolutionSummary: action.bookEvolutionSummary,\n isBookEvolutionFiltererd: action.isFilter\n})\n\nconst requestUpdateBookEvolutionSummaryForAmendedOrderByInvestorTable = (state, action) => ({\n ...state,\n bookEvolutionSummaryForAmendedOrderByInvestorTable:\n action.bookEvolutionSummaryForAmendedOrderByInvestorTable,\n isBookEvolutionFiltererd: action.isFilter,\n});\n\nconst requestUpdateStages = (state, action) => {\n return{\n ...state,\n stages:action.stages\n}}\n\nconst setIsSetStagesModalOpen = (state, action) => {\n return{\n ...state,\n isSetStagesModalOpen: action.data\n}}\n\nconst requestUpdateAmendedOrderSummary = (state, action) => ({\n ...state,\n amendedOrderSummaryData: action.amendedOrderSummaryData\n})\n\nconst resetOrderBookDropDowns = (state) => ({\n ...state,\n selectedInvestor: ALL_INVESTORS,\n selectedTranche: ALL_TRANCHES,\n selectedInterval: DEFAULT_TIME_INTERVAL,\n selectedDate: DEFAULT_ALL,\n selectedTimeRange: TIME_RANGES[0],\n selectedInvestorType: DEFAULT_ALL\n})\n\nconst getCurrentActiveSummaryTab = (state, action) => ({\n ...state,\n currentActiveOrderSummaryTab: action.activeTab\n})\n\nconst changeLoderStatus = (state, action) => ({\n ...state,\n trancheLoader: action.value,\n})\n\nconst ACTION_HANDLERS = {\n [Types.API_RECEIVE_ORDERS]: receiveOrders,\n [Types.API_RECEIVE_DEMAND_SUMMARY_BY_TYPE]: receiveDemandSummaryByType,\n [Types.API_RECEIVE_DEMAND_SUMMARY_BY_SHARE_AND_TYPE]: receiveDemandSummaryByShareAndType,\n [Types.API_RECEIVE_SHARE_DEMAND]: receiveShareDemand,\n [Types.API_RECEIVE_TRANCHES]: receiveTranches,\n [Types.API_RECEIVE_INVESTOR_NAMES]: requestInvestorNames,\n [Types.API_RECEIVE_TRANCHE_LISTS]: requestTranchLists,\n [Types.API_RECEIVE_ORDER_SUMMARY]: recieveOrderSummary,\n [Types.UPDATE_CURRENT_TRANCHE]: updateCurrentTranche,\n [Types.UPDATE_SELECTION_ORDER_SUMMARY]: requestUpdateOrderSummary,\n [Types.REFRESH_FULLORDERBOOK_DATA]: refreshFullOrderBookData,\n [Types.UPDATE_SELECTION_BOOK_EVOLUTION_SUMMARY]: requestUpdateBookEvolutionSummary,\n [Types.UPDATE_SELECTION_AMENDED_ORDER_SUMMARY]: requestUpdateAmendedOrderSummary,\n [Types.UPDATE_SELECTION_BOOK_EVOLUTION_SUMMARY_AMENDED_ORDER_BY_INVESTOR]:\n requestUpdateBookEvolutionSummaryForAmendedOrderByInvestorTable, \n [Types.UPDATE_STAGES]: requestUpdateStages,\n [Types.UPDATE_SET_STAGES_MODAL_OPEN]: setIsSetStagesModalOpen,\n [Types.CHANGE_TRANCHE_LOADER_STATUS]: changeLoderStatus,\n\n // Deal Cleanup\n [UtilityTypes.DEAL_PURGE]: state => Object.assign({}, INITIAL_STATE), changeFullOrderBookSort,\n [Types.CHANGE_FULL_ORDERBOOK_SORT]: changeFullOrderBookSort,\n [Types.CHANGE_ALL_TRANCHES_FULL_ORDERBOOK_SORT]: changeAllTranchesFullOrderBookSort,\n [Types.INCLUDE_AMENDED_ORDERS]: includeAmendedOrders,\n [Types.ORDER_SUMMARY_MODAL]: openOrderSummaryDetailView,\n [Types.CLOSE_ORDER_SUMMARY_MODAL]: closeOrderSummaryDetailView,\n [Types.SELECT_ORDER_SUMMARY_DROPDOWN]: selectOrderSummaryDropdown,\n [Types.SELECT_AMENDED_ORDER_BY_INVESTOR_DROPDOWN]: selectAmendedOrderByInvestorDropDown,\n [Types.SELECT_INVESTOR_TYPE]: selectInvestorTypeDropdown,\n [Types.RESET_ORDER_SUMMARY_DROPDOWN]: resetOrderBookDropDowns,\n [Types.DATAFETCHING]: dataFetching,\n [Types.CURRENT_ACTIVE_ORDER_SUMMARY_TAB]: getCurrentActiveSummaryTab,\n}\n\nexport default createReducer(INITIAL_STATE, ACTION_HANDLERS)\n","import { createReducer } from 'reduxsauce';\nimport moment from 'moment-timezone';\nimport { find } from 'lodash';\n// TODO\nimport { ValueFormatters } from 'mk-pattern-library-react';\n\nimport Types, { UtilityTypes } from 'actions/Types';\nimport { isResponseNull } from 'util/dataChecks';\n\nimport { ALL_TEAMS_SELECTED, DEFAULT_ALL_TEAMS_EVENTS } from 'constants/multiteam';\n\nexport const INITIAL_STATE = {\n summaryArrived: false,\n eventsArrived: false,\n //\n roadshowId: 0,\n selectedDay: null,\n // Summary\n eventDates: [],\n onlineRoadshow: {},\n coordinators: [],\n // Full Schedule\n events: [],\n contacts: [],\n // Document Mode\n documentOnlyMode: false,\n fullScheduleDocumentId: 0,\n // MultiTeam \n multiTeamMode: false,\n teams: [],\n teamsEventDates: [],\n selectedTeam: null,\n //\n dailyEventId: null,\n};\n\nconst updateSelectedDay = (state, action) => Object.assign({}, state, {\n selectedDay: action.day,\n});\n\nconst mapEventDates = eventDatesSource => {\n const now = moment().utc();\n return eventDatesSource\n .map((summaryDate, ind) => ({\n ...summaryDate,\n id: ind,\n status: summaryDate.titleCity,\n // details: `${summaryDate.meetingCount} meetings`,\n title: ValueFormatters.dateFormatter('roadshow-nav', summaryDate.date),\n view: ValueFormatters.dateFormatter('roadshow', summaryDate.date),\n pastDay: (moment(summaryDate.date).utc()).isBefore(now, 'day'),\n }));\n};\n\nconst handleMultiTeam = (multiTeamMode, teamsEventDates, selectedTeam) => {\n let eventDates = [];\n\n const multiTeam = {\n multiTeamMode,\n selectedTeam,\n teams: [...teamsEventDates].map(obj => obj.teamName).filter(name => name !== DEFAULT_ALL_TEAMS_EVENTS).sort(),\n teamsEventDates,\n };\n\n const team = find(teamsEventDates, { teamName: multiTeam.selectedTeam });\n\n if (!multiTeamMode || selectedTeam === ALL_TEAMS_SELECTED) {\n multiTeam.selectedTeam = ALL_TEAMS_SELECTED;\n\n const allTeams = find(teamsEventDates, { teamName: DEFAULT_ALL_TEAMS_EVENTS });\n eventDates = mapEventDates(allTeams.eventDates);\n } else if (!team) {\n multiTeam.selectedTeam = null;\n\n const allTeams = find(teamsEventDates, { teamName: DEFAULT_ALL_TEAMS_EVENTS });\n eventDates = mapEventDates(allTeams.eventDates);\n } else {\n eventDates = mapEventDates(team.eventDates);\n }\n\n return { multiTeam, eventDates };\n};\n\nconst changeRoadshowTeam = (state, { team }) => {\n const { eventDates, multiTeam } = handleMultiTeam(state.multiTeamMode, state.teamsEventDates, team);\n\n const newState = {\n ...state,\n eventDates, \n ...multiTeam,\n };\n\n // if selectedDay is null set default\n if (!state.selectedDay) {\n // check if today is in the range of the roadshow\n const activeDay = eventDates.find(x => moment().utc().isSame(moment(x.date).utc(), 'day'));\n // if today is in the range of the roadshow, set default day to today--otherwise set to first day of roadshow\n newState.selectedDay = activeDay || eventDates[0];\n } else {\n // select same day for diff team\n const activeDay = eventDates.find(x => moment(state.selectedDay.date).utc().isSame(moment(x.date).utc(), 'day'));\n newState.selectedDay = activeDay || eventDates[0];\n }\n\n return newState;\n};\n\nconst setRoadshowTeam = (state, { team }) => ({ ...state, selectedTeam: team });\n\nconst receiveRoadShowSummary = (state, action) => {\n const isNull = isResponseNull(action.RoadshowData);\n \n if (!isNull) {\n const data = action.RoadshowData[0];\n let selectedDay = state.selectedDay;\n\n // prepare dates for currently selected team\n const { eventDates, multiTeam } = handleMultiTeam(data.multiTeamMode, data.teams, state.selectedTeam);\n\n // if selectedDay is null set default\n if (!state.selectedDay) {\n // check if today is in the range of the roadshow\n const activeDay = eventDates.find(x => moment().utc().isSame(moment(x.date).utc(), 'day'));\n // if today is in the range of the roadshow, set default day to today--otherwise set to first day of roadshow\n selectedDay = activeDay || eventDates[0];\n }\n\n return Object.assign({}, state, {\n summaryArrived: true,\n //\n dateReceived: Date.now(),\n selectedDay,\n // summary\n eventDates,\n onlineRoadshow: data.onLineRoadShow,\n coordinators: data.coordinators,\n // doc mode\n documentOnlyMode: data.documentOnlyMode,\n // multiteam\n ...multiTeam,\n })\n }\n\n return Object.assign({}, state, {\n summaryArrived: true,\n //\n dateReceived: Date.now(),\n // summary\n eventDates: INITIAL_STATE.eventDates,\n onlineRoadshow: INITIAL_STATE.onlineRoadshow,\n coordinators: INITIAL_STATE.coordinators,\n // doc mode\n documentOnlyMode: INITIAL_STATE.documentOnlyMode,\n // multiteam roadshow\n multiTeamMode: false,\n selectedTeam: state.selectedTeam,\n teams: [],\n teamsEventDates: [],\n });\n};\n\nconst receiveRoadShowEvents = (state, action) => {\n const isNull = isResponseNull(action.roadShowEventsData);\n\n if (!isNull) {\n const { events, roadShowId, fullScheduleDocumentId } = action.roadShowEventsData[0];\n return Object.assign({}, state, {\n eventsArrived: true,\n fullScheduleDocumentId,\n events,\n roadshowId: roadShowId,\n dateReceived: Date.now(),\n })\n }\n\n return Object.assign({}, state, {\n eventsArrived: true,\n roadshowId: null,\n fullScheduleDocumentId: null,\n events: [],\n dateReceived: Date.now(),\n });\n};\n\nconst receiveRoadShowContacts = (state, action) => {\n const isNull = isResponseNull(action.roadShowContactsData);\n\n if (!isNull) {\n return Object.assign({}, state, {\n contacts: action.roadShowContactsData,\n dateReceived: Date.now(),\n });\n }\n\n return Object.assign({}, state, {\n contacts: [],\n dateReceived: Date.now(),\n });\n};\n\nconst setRoadshowDailyEvent = (state, { eventId }) => ({...state, dailyEventId: eventId })\n\nconst ACTION_HANDLERS = {\n [Types.ROADSHOW_UPDATE_SELECTED_DAY]: updateSelectedDay,\n [Types.API_RECEIVE_ROADSHOW_SUMMARY]: receiveRoadShowSummary,\n [Types.API_RECEIVE_ROADSHOW_EVENTS]: receiveRoadShowEvents,\n [Types.API_RECEIVE_ROADSHOW_CONTACTS]: receiveRoadShowContacts,\n [Types.ROADSHOW_CHANGE_TEAM]: changeRoadshowTeam,\n [Types.ROADSHOW_EFFECT_SET_TEAM]: setRoadshowTeam,\n [Types.SET_ROADSHOW_DAILY_EVENT]: setRoadshowDailyEvent,\n // Deal Cleanup\n [UtilityTypes.DEAL_PURGE]: state => Object.assign({}, INITIAL_STATE),\n};\n\nexport default createReducer(INITIAL_STATE, ACTION_HANDLERS);\n","import { createReducer } from 'reduxsauce'\nimport Types, { UtilityTypes, MyDocsTypes } from 'actions/Types'\n\nexport const INITIAL_STATE = {\n // data\n myDocsSummary: [],\n myDocs: [],\n // view\n fetchedDocs: false,\n fetchedSummary: false,\n activeCategoryId: null, // All\n};\n\nconst receiveMyDocsSummary = (state, action) => {\n const nullData = (action.myDocsSummaryData === null) || (action.myDocsSummaryData.length === 0);\n return Object.assign({}, state, {\n fetchedSummary: true,\n myDocsSummary: nullData ? [] : action.myDocsSummaryData.data,\n dateReceived: Date.now()\n })\n};\n\nconst receiveMyDocs = (state, action) => {\n const nullData = (action.myDocsData === null) || (action.myDocsData.length === 0);\n return Object.assign({}, state, {\n fetchedDocs: true,\n myDocs: nullData ? [] : action.myDocsData.data,\n dateReceived: Date.now()\n })\n};\n\nconst requestDoc = (state, action) =>\n Object.assign({}, state, {\n fetching: false,\n name: action.name,\n });\n\nconst changeActiveCategory = (state, { categoryId }) =>\n Object.assign({}, state, { activeCategoryId: categoryId });\n\n\n// map our types to our handlers\nconst ACTION_HANDLERS = {\n [Types.API_RECEIVE_DOCUMENTS_SUMMARY]: receiveMyDocsSummary,\n [Types.API_RECEIVE_DOCUMENTS]: receiveMyDocs,\n [Types.API_REQUEST_DOC]: requestDoc,\n [MyDocsTypes.CHANGE_ACTIVE_CATEGORY]: changeActiveCategory,\n //\n // Deal Cleanup\n [UtilityTypes.DEAL_PURGE]: state => Object.assign({}, INITIAL_STATE)\n}\n\nexport default createReducer(INITIAL_STATE, ACTION_HANDLERS)","import { createReducer } from 'reduxsauce';\n\nimport Types, { UtilityTypes } from '../actions/Types';\n\nexport const INITIAL_STATE = {\n pricingDocumentId: null,\n};\n\nconst receivePricingDocumentId = (state, action) => Object.assign({}, state, {\n pricingDocumentId: action.id,\n});\n\nconst requestPricingDocumentId = state => Object.assign({}, state, {\n pricingDocumentId: null,\n});\n\nconst ACTION_HANDLERS = {\n [Types.API_RECEIVE_PRICING_DOCUMENT_ID]: receivePricingDocumentId,\n [Types.API_REQUEST_PRICING_DOCUMENT_ID]: requestPricingDocumentId,\n // v1.7\n // Deal Cleanup\n [UtilityTypes.DEAL_PURGE]: state => Object.assign({}, INITIAL_STATE),\n};\n\nexport default createReducer(INITIAL_STATE, ACTION_HANDLERS);\n","import { createReducer } from 'reduxsauce';\nimport Types, { UtilityTypes } from 'actions/Types';\n\nexport const INITIAL_STATE = {\n dataReceived: Date.now(),\n //\n feedbackThemeTypes: [],\n themeTypesFetched: false,\n //\n dealThemes: [],\n //\n feedbackSentiments: [],\n sentimentsFetched: false,\n //\n dealFeedback: [],\n chartTypes: [],\n chartTypesFetched: false,\n //\n selectedChartId: null,\n selectedChartTab: 0,\n selectedChartSubTab: 0,\n selectedChartSubTabTitle: null,\n};\n\nconst receiveFeedbackThemeTypes = (state, action) => Object.assign({}, state, {\n feedbackThemeTypes: action.feedbackThemeTypes.data,\n themeTypesFetched: true,\n dateReceived: Date.now()\n})\n\nconst receiveFeedbackSentiments = (state, action) => Object.assign({}, state, {\n feedbackSentiments: action.feedbackSentiments.data,\n sentimentsFetched: true,\n dateReceived: Date.now()\n})\n\nconst receiveFeedbackDealThemes = (state, action) => Object.assign({}, state, {\n dealThemes: action.dealThemes.data,\n dateReceived: Date.now()\n})\n\nconst receiveFeedbackForDeal = (state, action) => {\n let nullData = !(action.dealFeedback.data || action.dealFeedback.data[0])\n return Object.assign({}, state, {\n dealFeedback: nullData ? [] : action.dealFeedback.data[0].feedback,\n fullFeedbackDoc: nullData ? null : action.dealFeedback.data[0].feedbackDocumentId,\n dateReceived: Date.now()\n });\n}\n\nconst receiveFeedbackSummaryForDealAndTheme = (state, action) => Object.assign({}, state, {\n dealAndThemeSummary: action.dealAndThemeSummary.data,\n [action.responseDetails]: action.dealAndThemeSummary.data,\n dateReceived: Date.now(),\n});\n\nconst receiveFeedbackChartTypes = (state, action) => Object.assign({}, state, {\n chartTypes: action.chartTypes.data,\n chartTypesFetched: true,\n dateReceived: Date.now(),\n});\n\nconst receiveFeedbackChartData = (state, action) => {\n const nullData = (action.chartData == null) || (action.chartData.length === 0);\n\n return Object.assign({}, state, {\n chartData: action.chartData.data,\n [action.responseDetails]: nullData ? null : action.chartData.data[0],\n dateReceived: Date.now()\n });\n}\n\nconst receiveFeedbackHighlightsForDealAndTheme = (state, action) => Object.assign({}, state, {\n [action.responseDetails]: action.dealAndSentimentSummary.data,\n dateReceived: Date.now()\n});\n\nconst setCurrentChartId = (state, { chartId }) => Object.assign({}, state, {\n selectedChartId: chartId,\n})\n\nconst selectChartTab = (state, { chartIndex }) => Object.assign({}, state, {\n selectedChartTab: chartIndex,\n})\n\nconst selectChartSubTab = (state, { chartIndex, chartTitle }) => Object.assign({}, state, {\n selectedChartSubTab: chartIndex, \n selectedChartSubTabTitle: chartTitle,\n})\n\n// map our types to our handlers\nconst ACTION_HANDLERS = {\n [Types.API_RECEIVE_FEEDBACK_THEME_TYPES]: receiveFeedbackThemeTypes,\n [Types.API_RECEIVE_FEEDBACK_SENTIMENTS]: receiveFeedbackSentiments,\n [Types.API_RECEIVE_DEAL_THEMES]: receiveFeedbackDealThemes,\n [Types.API_RECEIVE_FEEDBACK_FOR_DEAL]: receiveFeedbackForDeal,\n [Types.API_RECEIVE_FEEDBACK_FOR_DEAL_AND_THEME]: receiveFeedbackSummaryForDealAndTheme,\n [Types.API_RECEIVE_FEEDBACK_HIGHLIGHTS_FOR_DEAL_AND_THEMETYPE]: receiveFeedbackHighlightsForDealAndTheme,\n [Types.API_RECEIVE_FEEDBACK_CHART_TYPES]: receiveFeedbackChartTypes,\n [Types.API_RECEIVE_FEEDBACK_CHART_DATA]: receiveFeedbackChartData,\n [Types.SELECT_CHART_ID]: setCurrentChartId,\n [Types.SELECT_CHART_TAB]: selectChartTab,\n [Types.SELECT_CHART_SUB_TAB]: selectChartSubTab,\n // v1.7\n // Deal Cleanup (omit static data)\n [UtilityTypes.DEAL_PURGE]: state => Object.assign({}, INITIAL_STATE, {\n // theme types\n feedbackThemeTypes: state.feedbackThemeTypes,\n themeTypesFetched: state.themeTypesFetched,\n // sentiments\n feedbackSentiments: state.feedbackSentiments,\n sentimentsFetched: state.sentimentsFetched,\n }),\n}\n\nexport default createReducer(INITIAL_STATE, ACTION_HANDLERS)","import { createReducer } from 'reduxsauce';\n\nimport { LanguageTypes } from 'actions/Types';\nimport languages from 'translations/languages';\n\nconst availableLanguages = Object.keys(languages);\nconst langHashMap = {};\n\navailableLanguages.forEach(lang => {\n langHashMap[lang] = true;\n});\n\nexport const INITIAL_STATE = {\n selectedLanguage: availableLanguages[0],\n availableLanguages: langHashMap,\n};\n\nconst selectLanguage = (state, { selectedLanguage }) => Object.assign({}, state, {\n selectedLanguage,\n});\n\nconst ACTION_HANDLERS = {\n [LanguageTypes.SELECT_LANGUAGE]: selectLanguage,\n};\n\nexport default createReducer(INITIAL_STATE, ACTION_HANDLERS);\n","import { createReducer } from 'reduxsauce';\n\nimport * as storageKeys from 'constants/storageKeys';\nimport Types from 'actions/Types';\n\nrequire('array.prototype.find').shim();\n\nexport const INITIAL_STATE = {\n isAuthenticated: false,\n checkingPulse: false,\n pulseMessage: '',\n pulseExpire: 120,\n sessionExpired: false,\n fetching: false,\n initializing: false,\n beating: false,\n pristine: true,\n invalidFields: {\n userNameField: true,\n },\n pendingAuthentication: false,\n authenticationResponse: null,\n showTermsAndConditions: false,\n \n acceptTermsChecked: false,\n isPendingAuth: false,\n siteText: {},\n devices: [],\n termsAndConditions: {},\n authType: null,\n userName: '',\n showLoginModal: false,\n\n isIsvCsmUser: false,\n isISVUser: false \n};\n\nconst attemptAuthentication = (state, action) => Object.assign({}, state, {\n name: action.name,\n isPendingAuth: false,\n});\n\nconst setAuthType = (state, action) => ({\n ...state,\n authType: action.authType\n});\n\nconst setLoginError = (state, action) => ({\n ...state,\n error: action.e,\n});\n\nconst setIsIsvUser = (state, action) => ({\n ...state,\n isISVUser: action.e,\n});\n\nconst setUsername = (state, action) => ({\n ...state,\n userName: action.userName\n});\n\nconst setLoginModal = (state, action) => ({\n ...state,\n showLoginModal: action.showLoginModal\n});\n\nconst setInvalidFields = (state, action) => ({\n ...state,\n invalidFields: action.fields\n})\n\nconst logintFormExtSubmit = (state, action) => ({\n ...state,\n userName: action.userNameField,\n})\n\nconst setAuthentication = (state, action) => Object.assign({}, state, {\n error: false,\n name: action.name,\n isAuthenticated: action.status,\n userName: action.context.given_name,\n uniqueName: action.context.unique_name,\n isInternalUser: action.context.isInternalUser,\n isISVUser: action.context.isISVUser,\n isIsvCsmUser: Array.isArray(action.context.role) ? action.context.role.some(function(r) { return r === 'ISVDealTeam' || r === 'ISVDealAdmin' }) : false,\n isIsvRRTeamUser: Array.isArray(action.context.role) ? action.context.role.some(function(r) { return r === 'ISVDealRRTeam' }) : false,\n // access_token: action.context.access_token,\n // token_type: action.context.token_type,\n // expires_in: action.context.expires_in,\n //\n beating: true\n});\n\nconst loginFailure = (state, action) => Object.assign({}, state, {\n error: true,\n loginStatus: \"failure\",\n //\n beating: false,\n});\n\nconst logout = (state, { preventSSO }) => Object.assign({}, state, {\n isAuthenticated: false,\n fetching: false,\n name: null,\n userName: null,\n userType: null,\n project: null,\n company: null,\n dealId: null,\n preventSSO,\n //\n beating: false,\n isISVUser: false\n});\n\nconst checkPulse = (state, action) => Object.assign({}, state, {\n checkingPulse: action.checkingPulse,\n pulseExpire: action.pulseExpire,\n beating: false,\n});\n\nconst logOff = (state, action) => Object.assign({}, state, {\n checkingPulse: false,\n sessionExpired: true,\n});\n\nconst renewToken = (state, action) => Object.assign({}, state, {\n checkingPulse: false,\n //\n beating: false,\n});\n\nconst renewTokenReceive = (state, action) => {\n if (action.access_token) {\n window.sessionStorage.setItem(storageKeys.TOKEN, action.access_token); // clear out tokens, exp from sessionStorage\n }\n\n // if empty then no problem - will display proper modal\n window.sessionStorage.setItem(storageKeys.EXPIRATION, Date.now() + (action.expires_in * 1000));\n\n return Object.assign({}, state, {\n pulseMessage: action.message,\n // access_token: action.access_token,\n // token_type: action.token_type,\n // expires_in: Date.now() + (action.expires_in * 1000),\n // beating: false,\n beating: true,\n });\n};\n\nconst loginFormInvalid = (state, action) => ({\n ...state,\n pristine: false,\n invalidFields: {\n ...state.invalidFields,\n [action.fieldName] : true,\n }\n});\n\nconst loginFormValid = (state, action) => ({\n ...state,\n pristine: false,\n invalidFields: {\n ...state.invalidFields,\n [action.fieldName]: false,\n }\n});\n\nconst initializing = (state, action) => ({\n ...state,\n initializing: action.initializing,\n});\n\nconst setPendingAuthentication = (state, action) => ({\n ...state,\n pendingAuthentication: action.pending,\n});\n\nconst setAuthenticationResponse = (state, action) => ({\n ...state,\n authenticationResponse: action.message,\n});\n\nconst showTermsAndConditions = (state, action) => ({\n ...state,\n showTermsAndConditions: true,\n})\n\nconst acceptTermsAndConditions = (state, action) => ({\n ...state,\n showTermsAndConditions: false,\n});\n\nconst onTermsCheckedChange = (state, action) => ({\n ...state,\n acceptTermsChecked: action.checked,\n})\n\nconst receiveTermsAndConditions = (state, action) => ({\n ...state,\n termsAndConditions: {\n [action.data.locale]: action.data\n }\n})\n\nconst attemptSSO = state => ({\n ...state,\n isPendingAuth: true,\n});\n\nconst setSiteText = (state, action) => ({\n ...state, \n siteText: {\n ...state.siteText,\n [action.siteTextType.name]: {\n ...state.siteText.name, \n [action.langCode]: action.text\n }\n }\n});\n\nconst setManageDevices = (state, action) => ({\n ...state,\n devices: action.devices,\n});\n\nconst setDeviceDeactivationMessages = (state, action) => ({\n ...state,\n deviceDeactivationMessage: action.response,\n});\n\nconst clearDeviceDeactivationMessages = state => ({\n ...state,\n deviceDeactivationMessage: undefined\n})\n\nconst ACTION_HANDLERS = {\n [Types.INITIALIZING]: initializing,\n [Types.ATTEMPT_AUTHENTICATION]: attemptAuthentication,\n [Types.SET_AUTH_TYPE]: setAuthType,\n [Types.SET_LOGIN_ERROR]: setLoginError,\n [Types.SET_IS_ISV_USER]: setIsIsvUser,\n [Types.SET_USERNAME]: setUsername,\n [Types.SET_LOGIN_MODAL]:setLoginModal,\n [Types.SET_INVALID_FIELDS]: setInvalidFields,\n [Types.LOGIN_FORM_EXT_SUBMIT]: logintFormExtSubmit,\n [Types.SET_AUTHENTICATION]: setAuthentication,\n [Types.LOGIN_FAILURE]: loginFailure,\n [Types.LOGOUT]: logout,\n [Types.CHECK_PULSE]: checkPulse,\n [Types.LOGOFF]: logOff,\n [Types.RENEW_TOKEN]: renewToken,\n [Types.RENEW_TOKEN_RECEIVE]: renewTokenReceive,\n [Types.LOGIN_FORM_INVALID]: loginFormInvalid,\n [Types.LOGIN_FORM_VALID]: loginFormValid,\n [Types.SET_PENDING_AUTHENTICATION]: setPendingAuthentication,\n [Types.SET_AUTHENTICATION_RESPONSE]: setAuthenticationResponse,\n [Types.SHOW_TERMS_AND_CONDITIONS]: showTermsAndConditions,\n [Types.ACCEPT_TERMS_CONDITIONS]: acceptTermsAndConditions,\n [Types.ON_TERMS_CHECKED_CHANGE]: onTermsCheckedChange,\n [Types.RECEIVE_TERMS_AND_CONDITIONS]: receiveTermsAndConditions,\n [Types.API_ATTEMPT_SSO]: attemptSSO,\n [Types.SET_SITE_TEXT]: setSiteText,\n [Types.SET_MANAGE_DEVICES]: setManageDevices,\n [Types.SET_DEVICE_DEACTIVATE_MESSAGES]: setDeviceDeactivationMessages,\n [Types.CLEAR_DEVICE_DEACTIVATE_MESSAGES]: clearDeviceDeactivationMessages,\n \n}\n\nexport default createReducer(INITIAL_STATE, ACTION_HANDLERS)\n","import { createReducer } from 'reduxsauce';\n\nimport Types, { UtilityTypes } from 'actions/Types';\n\nimport dealFeatures from 'constants/dealFeatures';\nimport * as homeTiles from 'constants/homeTiles';\nimport * as animationChartIds from 'constants/animations';\nimport {\n tabIds,\n ecmSummaryDemandTabs,\n dcmSummaryDemandTabs,\n topTenOrdersTabs,\n roadshowContactTabs,\n allTranchesOrderSummarySubTabs,\n allTranchesBookEvolutionSubTabs,\n allTranchesAmendedSummarySubTabs,\n} from 'constants/tabIds';\n\nexport const INITIAL_STATE = {\n fetching: false,\n baseFetchCompleted: false,\n allDeals: [],\n // current deal info\n dealsData: {\n dealId: null,\n dealType: '',\n //\n // ECM Orderbook Data ( move to Orderbook reducer + update selectors )\n //\n orderbookStatusDetail: {\n currentStatus: '',\n },\n dealTotalDemandSummary: {\n demandAtBottomSharePrice: {},\n demandAtMidSharePrice: {},\n demandAtTopSharePrice: {},\n },\n dealTotalAllocationSummary: {\n sharePrice: '',\n },\n },\n lastUserInteraction: null,\n navigationFeatures: [], // all nav features\n allowedNavigationFeatures: [], // features available for current deal\n //\n // home tiles fetching statuses\n [homeTiles.HOME_ORDERS_TILE]: false,\n [homeTiles.HOME_FEEDBACK_TILE]: false,\n [homeTiles.HOME_DOCUMENTS_TILE]: false,\n //\n // polling\n polling: {\n [dealFeatures.ORDERBOOK]: {\n homeFetched: false,\n dirty: true,\n calledUrls: [],\n },\n [dealFeatures.ROADSHOW]: {\n homeFetched: false, // we dont have tile (yet)\n dirty: true,\n calledUrls: [],\n },\n [dealFeatures.INVESTOR_FEEDBACK]: {\n homeFetched: false,\n dirty: true,\n calledUrls: [],\n },\n [dealFeatures.INVESTORS]: {\n homeFetched: false, // we dont have tile (yet)\n dirty: true,\n calledUrls: [],\n },\n [dealFeatures.MY_DOCS]: {\n homeFetched: false,\n dirty: true,\n calledUrls: [],\n },\n [dealFeatures.PRICING]: {\n homeFetched: false, // we dont have tile (yet)\n dirty: true,\n calledUrls: [],\n },\n },\n // Event Notification Interval ( in seconds )\n pollingFrequency: 60,\n //\n // Modals handling\n //\n modals: {\n // [modalID]: true -> we have nested modals thats why obj with ids\n },\n //\n // Tabs handling\n //\n tabs: {\n [tabIds.ECM_SUMMARY_DEMAND_TABS]: ecmSummaryDemandTabs.BY_INVESTOR_TYPE,\n [tabIds.TOP_TEN_ORDERS_TABS]: topTenOrdersTabs.TOP_TEN_ORDERS,\n [tabIds.DCM_SUMMARY_DEMAND_TABS]: dcmSummaryDemandTabs.BY_REGION,\n [tabIds.ALL_TRANCHES_SUB_TABS]: allTranchesOrderSummarySubTabs.VIEW_CHART,\n [tabIds.ALL_TRANCHES_AMENDED_SUMMARY_SUB_TABS]: allTranchesAmendedSummarySubTabs.VIEW_TABLE,\n // depending on arrived data\n [tabIds.INVESTOR_FEEDBACK_CHART_TABS]: null,\n // roadshow\n [tabIds.ROADSHOW_CONTACT_TABS]: roadshowContactTabs.ALL_CONTACTS,\n [tabIds.ALL_TRANCHES_BOOK_EVOLUTION_SUB_TABS]:allTranchesBookEvolutionSubTabs.VIEW_CHART\n },\n //\n // animations state\n //\n animations: {\n [animationChartIds.ORDERS_PIE_CHART]: true,\n },\n};\n\nconst apiRequest = (state, action) => Object.assign({}, state, {\n fetching: action.isFetching,\n name: action.name,\n});\n\nconst apiFailure = (state, action) => Object.assign({}, state, {\n error: true,\n message: action,\n});\n\nconst detectUserInteraction = (state) => Object.assign({}, state, {\n lastUserInteraction: Date.now(),\n});\n\nconst baseFetchCompleted = (state, action) => {\n if (!action.dealId) {\n return Object.assign({}, state, { baseFetchCompleted: true });\n }\n\n return Object.assign({}, state, {\n baseFetchCompleted: true,\n dealsData: {\n ...state.dealsData,\n dealId: action.dealId,\n },\n });\n}\n\nconst killActiveSagaWorkers = state => Object.assign({}, state, {\n polling: Object.assign({}, INITIAL_STATE.polling),\n});\n\nconst receiveNavigationFeatures = (state, { navigationFeatures }) => Object.assign({}, state, {\n navigationFeatures,\n});\n\nconst tileModuleFetched = (state, { tile }) => Object.assign({}, state, {\n [tile]: true,\n});\n\nconst receiveDeals = (state, action) => {\n const nullData = (action.allDeals.data === null) || (action.allDeals.data.length === 0);\n return Object.assign({}, state, {\n error: null,\n allDeals: nullData ? [] : action.allDeals.data,\n dateReceived: Date.now(),\n });\n};\n\nconst receiveDeal = (state, action) => {\n const nullData = (action.dealsData.data === null) || (action.dealsData.data.length === 0);\n return Object.assign({}, state, {\n fetching: false,\n error: null,\n dealsData: nullData ? {} : action.dealsData.data[0],\n dateReceived: Date.now(),\n });\n};\n\nconst receiveDealInfo = (state, action) => Object.assign({}, state, {\n allowedNavigationFeatures: action.dealInfo.allowedNavigationFeatures,\n});\n\nconst markFeature = (state, action) => Object.assign({}, state, {\n polling: {\n ...state.polling,\n [action.dealFeature]: {\n ...state.polling[action.dealFeature],\n dirty: action.dirty,\n ...(action.dirty ? { calledUrls: [] } : {}),\n },\n },\n});\n\nconst setHomeFeatureStatus = (state, { dealFeature, status }) => Object.assign({}, state, {\n polling: {\n ...state.polling,\n [dealFeature]: {\n ...state.polling[dealFeature],\n homeFetched: status,\n }\n }\n})\n\nconst setPollingFrequency = (state, { pollingFrequency }) => Object.assign({}, state, {\n pollingFrequency,\n});\n\nconst addCalledEndpoint = (state, { dealFeature, endPoint }) => Object.assign({}, state, {\n polling: {\n ...state.polling,\n [dealFeature]: {\n ...state.polling[dealFeature],\n calledUrls: [\n ...state.polling[dealFeature].calledUrls,\n endPoint,\n ],\n },\n },\n});\n\nconst openModal = (state, { modalId }) => Object.assign({}, state, {\n modals: {\n ...state.modals,\n [modalId]: true,\n }\n});\n\nconst closeModal = (state, { modalId }) => {\n const { [modalId]: modalToRemove, ...otherModals } = state.modals;\n return Object.assign({}, state, {\n modals: otherModals,\n });\n};\n\nconst changeTab = (state, { tabsId, tabId }) => Object.assign({}, state, {\n tabs: {\n ...state.tabs,\n [tabsId]: tabId,\n },\n});\n\nconst changeChartAnimateState = (state, { chartId, animate }) => Object.assign({}, state, {\n animations: {\n ...state.animations,\n [chartId]: animate,\n },\n});\n\nconst ACTION_HANDLERS = {\n [Types.API_REQUEST]: apiRequest,\n [Types.API_FAILURE]: apiFailure,\n [Types.USER_INTERACTION]: detectUserInteraction,\n // saga cleanup + reset\n [Types.KILL_ACTIVE_SAGA_WORKERS]: killActiveSagaWorkers,\n // default data needed for start\n [UtilityTypes.API_GET_NAV_FEATURES_RESPONSE]: receiveNavigationFeatures,\n [UtilityTypes.API_GET_DEALS_RESPONSE]: receiveDeals,\n [UtilityTypes.API_GET_DEAL_RESPONSE]: receiveDeal,\n [UtilityTypes.API_GET_DEAL_INFO_RESPONSE]: receiveDealInfo,\n // polling\n [UtilityTypes.MARK_FEATURE]: markFeature,\n [UtilityTypes.API_GET_POLLING_FREQUENCY_RESPONSE]: setPollingFrequency,\n [UtilityTypes.TILE_MODULE_FETCHED]: tileModuleFetched,\n [UtilityTypes.SET_HOME_FEATURE_FETCH_STATUS]: setHomeFeatureStatus,\n [UtilityTypes.ADD_CALLED_ENDPOINT_FROM_NOTIFICATION_CYCLE]: addCalledEndpoint,\n [UtilityTypes.BASE_FETCH_COMPLETED]: baseFetchCompleted,\n // modals handling\n [UtilityTypes.OPEN_MODAL]: openModal,\n [UtilityTypes.CLOSE_MODAL]: closeModal,\n // tabs handling\n [UtilityTypes.CHANGE_TAB]: changeTab,\n // animate handling\n [UtilityTypes.CHANGE_CHART_ANIMATE_STATE]: changeChartAnimateState,\n // cleanup\n [UtilityTypes.DEAL_PURGE]: state => Object.assign({}, INITIAL_STATE, {\n navigationFeatures: state.navigationFeatures,\n notificationInterval: state.notificationInterval,\n allDeals: state.allDeals,\n lastUserInteraction: state.lastUserInteraction,\n pollingFrequency: state.pollingFrequency,\n baseFetchCompleted: state.baseFetchCompleted,\n }),\n};\n\nexport default createReducer(INITIAL_STATE, ACTION_HANDLERS);\n","export const ORDERS_PIE_CHART = 'o-p-c';\nexport const ORDERS_BAR_CHART = 'o-b-c';","import { createReducer } from 'reduxsauce';\n\nimport IsvTypes, { IsvUtilityTypes } from '../actions/IsvTypes';\n\nexport const INITIAL_STATE = {\n fetching: false,\n allDeals: [],\n showOneWayLetter: false,\n dealSwitch: false,\n isISVUser: false,\n isvBaseFetchCompleted: false,\n dataFetching:false,\n // current deal info\n dealsData: {\n dealId: null,\n } \n};\n\nconst apiRequest = (state, action) => Object.assign({}, state, {\n fetching: action.isFetching,\n name: action.name,\n});\n\nconst apiFailure = (state, action) => Object.assign({}, state, {\n error: true,\n message: action,\n});\n\n\nconst receiveIsvDeals = (state, action) => {\n const nullData = (action.allDeals === null) || (action.allDeals.length === 0);\n return Object.assign({}, state, {\n error: null,\n allDeals: nullData ? [] : action.allDeals,\n dateReceived: Date.now(),\n });\n};\n\nconst receiveIsvDeal = (state, action) => {\n const nullData = (action.dealsData === null) || (action.dealsData.length === 0);\n return Object.assign({}, state, {\n fetching: false,\n error: null,\n dealsData: nullData?[]:action.dealsData,\n dateReceived: Date.now(),\n });\n};\nconst openOneWayLetter =(state, action) => ({\n ...state,\n showOneWayLetter: true,\n});\nconst acceptOneWayLetter = (state, action) => ({\n ...state,\n dealSwitch: false,\n});\n\nconst isvSwitchDeal =(state)=>({\n ...state,\n dealSwitch:true\n})\n\nconst isvBaseFetchCompleted = (state, action) => {\n if (!action.dealId) {\n return Object.assign({}, state, { isvBaseFetchCompleted: true });\n }\n \n return Object.assign({}, state, {\n isvBaseFetchCompleted: true,\n dealsData: {\n ...state.dealsData,\n dealId: action.dealId,\n },\n });\n}\n\nconst dataFetching = (state, action) => ({\n ...state,\n dataFetching: action.dataFetching,\n});\n\nconst ACTION_HANDLERS = {\n [IsvTypes.API_REQUEST]: apiRequest,\n [IsvTypes.API_FAILURE]: apiFailure,\n [IsvUtilityTypes.API_GET_ISV_DEALS_RESPONSE]: receiveIsvDeals,\n [IsvUtilityTypes.API_GET_ISV_DEAL_RESPONSE]: receiveIsvDeal,\n [IsvUtilityTypes.OPEN_ONE_WAY_LETTER]: openOneWayLetter,\n [IsvUtilityTypes.ACCEPT_ONE_WAY_LETTER]: acceptOneWayLetter,\n [IsvUtilityTypes.ISV_SWITCH_DEAL]: isvSwitchDeal,\n [IsvUtilityTypes.ISV_BASE_FETCH_COMPLETED]: isvBaseFetchCompleted, \n [IsvUtilityTypes.DATAFETCHING]: dataFetching,\n};\n\nexport default createReducer(INITIAL_STATE, ACTION_HANDLERS);\n","import { createReducer } from \"reduxsauce\";\nimport IsvTypes from \"Isv/actions/IsvTypes\";\n\nconst INITIAL_STATE = {\n isDashboardBannerOpen: true,\n isDealInformationBannerOpen:true,\n isReferenceInformationBannerOpen:true,\n isConfirmationDialogueOpen: false,\n latestIsvCurrentDealData: null,\n deleteDealDocumentId: null,\n};\n\nconst closeInformationBanner = (state, action) => {\n return {\n ...state,\n [action.label]: false,\n };\n};\n\nconst handleConfirmationDialogue = (state, action) => {\n return {\n ...state,\n isConfirmationDialogueOpen: action.value,\n deleteDealDocumentId: action.deleteDealDocumentId\n }\n}\nconst handleDashboardData = (state, action) => {\n return {\n ...state,\n isMaturityDatePickerOpen: false,\n latestIsvCurrentDealData: action.data\n }\n}\n\nconst ACTION_HANDLERS = {\n [IsvTypes.APPLY_CLOSE_INFORMATION_BANNER]: closeInformationBanner,\n [IsvTypes.APPLY_HANDLE_CONFIRMATION_DIALOUGE]: handleConfirmationDialogue,\n [IsvTypes.API_RECEIVE_DASHBOARD_DATA]: handleDashboardData\n};\n\nexport default createReducer(INITIAL_STATE, ACTION_HANDLERS);\n","import { createReducer } from \"reduxsauce\";\nimport IsvTypes from \"Isv/actions/IsvTypes\";\nimport FILE_UPLOAD_STATES from 'Isv/constants/fileUploadStates';\n\nconst INITIAL_STATE = {\n isOverlayOpen: false,\n file: null,\n title: '',\n selectedDocument: null,\n progress: 0,\n status: FILE_UPLOAD_STATES.READY,\n clientDocumentData: null,\n latestCommentsDataForCurrentDeal: null,\n latestCommentsDataForCurrentComment: null,\n isCommentsPopupOpen: false,\n rejectLabel: null,\n isAdditionalComment: false,\n titleTableColumnWidth: 'auto',\n ecb2ReturnDataForCurrentDeal: null,\n isECBStatusEnabled: false,\n isEcbClientDocUploaded: false,\n isReferenceInformationEnabled:false,\n referenceInformationDataForCurrentDeal:null\n};\n\nconst uploadFileDocument = (state, action) => {\n let fileWithoutExtension = action.file.name.split('.');\n fileWithoutExtension.pop();\n fileWithoutExtension = fileWithoutExtension.join('.');\n return {\n ...state,\n file: action.file,\n title: action.title || fileWithoutExtension\n };\n};\n\nconst handleUploadOverlay = (state, action) => {\n return {\n ...state,\n isOverlayOpen: action.isOpen,\n selectedDocument: action.document,\n status: FILE_UPLOAD_STATES.READY,\n progress: 0,\n file: null,\n title: action.title,\n isEcbClientDocUploaded: action.isEcbClientDocUploaded,\n isReferenceDocUploaded: action.isReferenceDocUploaded\n }\n}\n\nconst startUploadingFile = (state) => {\n return {\n ...state,\n status: FILE_UPLOAD_STATES.IN_PROGRESS,\n };\n}\n\nconst setUploadProgress = (state, action) => {\n return {\n ...state,\n progress: action.progress,\n };\n}\n\nconst handleClientDocuments = (state, action) => {\n return {\n ...state,\n clientDocumentData: action.data\n }\n}\n\nconst handleLatestCommentsForCurrentDeal = (state, action) => {\n return {\n ...state,\n latestCommentsDataForCurrentDeal: action.data\n }\n}\n\nconst handleLatestCommentsForCurrentComment = (state, action) => {\n return {\n ...state,\n latestCommentsDataForCurrentComment: action.data\n }\n}\n\nconst handleCommentsPopup = (state, action) => {\n return {\n ...state,\n isCommentsPopupOpen: action.isOpen,\n isAdditionalComment: action.isAdditionalComment,\n rejectLabel: action.rejectLabel,\n }\n}\n\nconst setTitleColumnWidth = (state, action) => {\n return {\n ...state,\n titleTableColumnWidth: action.width\n }\n}\n\nconst handleECB2ReturnDataForCurrentDeal = (state, action) => {\n return {\n ...state,\n ecb2ReturnDataForCurrentDeal: action.data\n }\n}\n\nconst handleECBStatus = (state, action) => {\n return {\n ...state,\n isECBStatusEnabled: action.status,\n }\n}\n\nconst handleReferenceInformationStatus = (state, action) => {\n return {\n ...state,\n isReferenceInformationEnabled: action.status,\n }\n}\n\nconst handleReferenceInformationDataForCurrentDeal = (state, action) => {\n return {\n ...state,\n referenceInformationDataForCurrentDeal: action.data\n }\n}\n\nconst ACTION_HANDLERS = {\n [IsvTypes.APPLY_HANDLE_FILE_UPLOAD]: uploadFileDocument,\n [IsvTypes.APPLY_HANDLE_UPLOAD_OVERLAY]: handleUploadOverlay,\n [IsvTypes.START_UPLOADING]: startUploadingFile,\n [IsvTypes.UPLOAD_PROGRESS]: setUploadProgress,\n [IsvTypes.HANDLE_CLIENT_DOCUMENT_DATA]: handleClientDocuments,\n [IsvTypes.API_RECEIVE_LATEST_COMMENTS_DATA_FOR_CURRENT_DEAL]: handleLatestCommentsForCurrentDeal,\n [IsvTypes.API_RECEIVE_LATEST_COMMENTS_DATA_FOR_CURRENT_COMMENT]: handleLatestCommentsForCurrentComment,\n [IsvTypes.HANDLE_COMMENTS_POPUP]: handleCommentsPopup,\n [IsvTypes.HANDLE_TITLE_COLUMN_WIDTH]: setTitleColumnWidth,\n [IsvTypes.API_RECEIVE_ECB2_RETURN_DATA_FOR_CURRENT_DEAL]: handleECB2ReturnDataForCurrentDeal,\n [IsvTypes.HANDLE_ECB_STATUS]: handleECBStatus,\n [IsvTypes.HANDLE_REFERENCE_INFORMATION_STATUS]: handleReferenceInformationStatus,\n [IsvTypes.API_RECEIVE_REFERENCE_INFORMATION_DATA_FOR_CURRENT_DEAL]: handleReferenceInformationDataForCurrentDeal,\n};\n\nexport default createReducer(INITIAL_STATE, ACTION_HANDLERS);\n","import { createReducer } from \"reduxsauce\";\nimport IsvTypes from \"Isv/actions/IsvTypes\";\n\nconst INITIAL_STATE = {\n showSnackbar: false,\n snackBarMessage: '',\n};\n\nconst closeSnackBar = (state) => {\n return {\n ...state,\n showSnackbar: false,\n }\n }\n\n const setSnack = (state, action) => {\n return {\n ...state,\n showSnackbar: true,\n snackBarMessage: action.message,\n }\n }\n\nconst ACTION_HANDLERS = {\n [IsvTypes.CLOSE_SNACK_BAR]: closeSnackBar,\n [IsvTypes.SET_SNACK]: setSnack,\n};\n\nexport default createReducer(INITIAL_STATE, ACTION_HANDLERS);\n","import { routerReducer } from 'react-router-redux';\nimport { combineReducers } from 'redux';\n\nimport OrderBookData from './OrderBookReducer';\nimport RoadShowData from './RoadShowReducer';\nimport MyDocsData from './MyDocsReducer';\nimport pricingData from './PricingReducer';\nimport InvestorFeedbackData from './InvestorFeedbackReducer';\n\nimport languageReducer from './LanguageReducer';\n\nimport Login from './LoginReducer';\nimport Utility from './UtilityReducer';\nimport IsvUtility from 'Isv/reducers/IsvUtilityReducer';\nimport IsvInformationBanner from 'Isv/reducers/IsvInformationBannerReducer';\nimport isvDocuments from 'Isv/reducers/IsvDocumentsReducer';\nimport isvSnackBar from 'Isv/reducers/IsvSnackBarReducer';\n\n\nconst appReducer = combineReducers({\n orderBookData: OrderBookData,\n roadShowData: RoadShowData,\n myDocsData: MyDocsData,\n investorFeedbackData: InvestorFeedbackData,\n login: Login,\n utility: Utility,\n isvUtility: IsvUtility,\n routing: routerReducer,\n pricingData,\n //\n language: languageReducer,\n isvInformationBanner: IsvInformationBanner,\n isvDocuments: isvDocuments,\n isvSnackBar: isvSnackBar,\n});\n\nconst rootReducer = (state, action) => {\n\n if (action.type === 'LOGOFF' || action.type === 'LOGOUT') {\n const { language } = state;\n state = {\n language,\n };\n }\n\n return appReducer(state, action);\n};\n\nexport default rootReducer;\n","import { take, put, fork, takeEvery, cancel } from 'redux-saga/effects';\nimport * as storageKeys from 'constants/storageKeys';\n\nimport Types from 'actions/Types';\n\nimport { appSetup, requestAcceptTerms } from 'actions/UtilityActions';\nimport {\n loginFailure,\n setAuthentication,\n requestAuthTokenGet,\n initializing,\n showTermsAndConditions,\n attemptAuthentication,\n setAuthType,\n setUsername,\n setLoginError,\n setIsIsvUser,\n} from 'actions/LoginActions';\nimport { heartBeatPulse } from 'actions/HeartBeatActions';\n\nrequire('array.prototype.find').shim();\nconst jwt = require('jwt-decode');\n\nexport default (api) => {\n function* worker(action) {\n let userInfo = {};\n\n yield put(initializing(true));\n\n if (action.userData && action.userData.access_token) {\n const token = jwt(action.userData.access_token);\n const expirationDate = action.userData.noExtension ? action.userData.expires_in : (Date.now() + (action.userData.expires_in * 1000));\n\n window.sessionStorage.setItem(storageKeys.TOKEN, action.userData.access_token);\n window.sessionStorage.setItem(storageKeys.EXPIRATION, expirationDate);\n\n action.userData.expires_in = expirationDate; // add this to redux store\n\n userInfo = {\n ...token,\n ...action.userData\n };\n \n if (typeof (userInfo.isISVUser) === 'string') {\n userInfo.isISVUser = JSON.parse(userInfo.isISVUser);\n }\n }\n\n // If the T's and C's require agreement then do so here\n if (action.userData.termsAndConditionsAccepted === false) {\n yield put(showTermsAndConditions());\n\n const { termsAndConditionsId, accepted } = yield take(Types.ACCEPT_TERMS_CONDITIONS);\n\n if(!accepted) {\n yield put(setAuthType(null))\n yield put(setUsername(''))\n yield put(loginFailure());\n yield put(setLoginError(false));\n yield cancel();\n }\n\n yield put(requestAcceptTerms(termsAndConditionsId));\n yield take(Types.API_GET_ACCEPT_TERMS_RESPONSE);\n }\n\n yield put(setAuthentication(true, userInfo));\n yield put(heartBeatPulse());\n\n if (userInfo.isISVUser) {\n yield put(setIsIsvUser(true));\n }\n\n yield put(appSetup(userInfo.unique_name, userInfo.isISVUser));\n yield put(initializing(false));\n }\n\n function* handleInitialize(action) {\n const { token, expiration, isInternal } = action;\n\n yield put(initializing(true));\n\n if(token && expiration && expiration > Date.now()) {\n const userInfo = {\n access_token: token,\n expires_in: expiration,\n noExtension: true,\n };\n\n yield put(attemptAuthentication(userInfo));\n } else {\n if(isInternal) {\n yield put(requestAuthTokenGet(true));\n }\n }\n\n yield put(initializing(false));\n }\n\n function* watcher() {\n while(true) {\n const attemptAuthenticationTask = yield fork(takeEvery, Types.ATTEMPT_AUTHENTICATION, worker);\n const initializeTask = yield fork(takeEvery, Types.INITIALIZE, handleInitialize);\n\n yield take(Types.LOGIN_FAILURE);\n\n window.sessionStorage.removeItem(storageKeys.TOKEN);\n window.sessionStorage.removeItem(storageKeys.EXPIRATION);\n\n yield put(initializing(false));\n\n yield cancel(attemptAuthenticationTask);\n yield cancel(initializeTask);\n }\n }\n\n return {\n watcher,\n worker,\n };\n};\n","import { delay } from 'redux-saga';\nimport { call, put, select, cancel, fork, takeEvery, takeLatest } from 'redux-saga/effects';\n\nimport Types from 'actions/Types';\nimport {\n checkPulse,\n logOff,\n heartBeatPulse,\n // killHeartBeat,\n renewToken\n} from 'actions/HeartBeatActions';\nimport * as storageKeys from 'constants/storageKeys';\n\nexport default (api) => {\n\n function* worker(action) {\n switch (action.type) {\n case Types.HEARTBEAT_PULSE: {\n const sessionCountdown = 150000; // 2min 10sec to give a margin on error\n const timeUntilExpire = (window.sessionStorage.getItem(storageKeys.EXPIRATION) - Date.now())\n\n const delayTime = timeUntilExpire - sessionCountdown;\n\n yield delay(delayTime);\n\n const getLastUserInteraction = (state) => state.utility.lastUserInteraction;\n const lastUserInteraction = yield select(getLastUserInteraction);\n\n // if has user interacted during this time period since we last renewed we will autorenew.\n if ((Date.now() - lastUserInteraction) < sessionCountdown) {\n yield put(renewToken());\n } else {\n const pulseExpire = (((window.sessionStorage.getItem(storageKeys.EXPIRATION) - Date.now()) - 30000) / 1000)\n yield put(checkPulse(true, Math.floor(pulseExpire)));\n }\n\n break;\n }\n case Types.RENEW_TOKEN: {\n let response = yield call(api.getData, action.endPoint);\n // check if we got a token\n if (response.ok) {\n yield put(action.onSuccess(response.data || {}, action.responseDetails));\n yield put(heartBeatPulse());\n } else {\n // If token request failed, log the user out\n yield put(logOff())\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n Types.HEARTBEAT_PULSE,\n Types.RENEW_TOKEN,\n Types.LOGOFF,\n ], worker);\n\n /* eslint-disable-next-line */\n yield fork(takeLatest, [Types.KILL_HEARTBEAT], cancelWorkerSaga, watcherTasks);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker\n }\n}\n","import { call, put, cancel, fork, takeEvery, takeLatest } from 'redux-saga/effects';\n\nimport Types from 'actions/Types';\n\nimport { apiFailure } from 'actions/UtilityActions';\n\nexport default (api) => {\n function* worker(action) {\n try {\n const { type, params } = action;\n switch (type) {\n /*\n * We used switch to have future possibility to handle in few ways diff actions for files\n */\n case Types.API_REQUEST_DOC: {\n const apiType = api.getDataDownload();\n\n const isIe = typeof window.navigator.msSaveOrOpenBlob !== 'undefined';\n const isGoodBrowser = navigator.userAgent.indexOf('GoodAccess') > -1 ? true : false;\n\n if (isGoodBrowser) {\n window.open(api.baseURL + action.endPoint);\n break;\n }\n\n const response = yield (call(apiType.req, action.endPoint, params));\n\n const blobData = response.data;\n const fileName = action.documentName.indexOf('.pdf') > -1 ? `${action.documentName}` : `${action.documentName}.pdf`;\n\n if (isIe) {\n // if is IE or mobile - ask user for action - save or open\n window.navigator.msSaveOrOpenBlob(blobData, fileName);\n } else {\n const objectUrl = window.URL.createObjectURL(blobData);\n window.open(objectUrl);\n // window.URL.revokeObjectURL(objectUrl);\n }\n break;\n }\n default: {\n /*\n * Currently we're not handling any other requests for files\n */\n break;\n }\n }\n } catch (error) {\n yield put(apiFailure(`bad call4${error}`));\n }\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n Types.API_REQUEST_DOC,\n ], worker);\n\n /* eslint-disable-next-line */\n yield fork(takeLatest, Types.KILL_ACTIVE_SAGA_WORKERS, cancelWorkerSaga, watcherTasks);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker,\n };\n};\n","import { select, fork, takeEvery } from 'redux-saga/effects';\n\nimport * as storageKeys from 'constants/storageKeys';\n\nimport { getCurrentDealId, getUniqueName } from 'selectors';\n\nimport Types, { UtilityTypes, LanguageTypes } from 'actions/Types';\n\nimport { IsvUtilityTypes } from '../../Isv/actions/IsvTypes';\n\nexport default () => {\n\n function* worker(action) {\n const utilLocalStorageParser = key => {\n let data = window.localStorage.getItem(key);\n\n if (data) {\n try {\n data = JSON.parse(data);\n } catch (e) {\n data = {}; // not proper JSON\n }\n } else {\n data = {};\n }\n\n return data;\n }\n\n const uniqueName = yield select(getUniqueName); // user unique name ( used in most cases with LocalStorage )\n\n switch (action.type) {\n case Types.ROADSHOW_EFFECT_SET_TEAM: {\n const { team } = action;\n if (!team) {\n break; // team was not selected\n }\n\n const dealId = yield select(getCurrentDealId);\n if (!dealId) {\n break; // deal was not fetched yet\n }\n\n let roadshowTeams = utilLocalStorageParser(storageKeys.ROADSHOW_SELECTED_TEAMS);\n\n // If we selected same team then prevent unnecessary save\n if (roadshowTeams[`${dealId}`] === team) {\n break;\n }\n\n // set roadshow team\n roadshowTeams[`${dealId}`] = team;\n\n // save selected roadshow team\n window.localStorage.setItem(storageKeys.ROADSHOW_SELECTED_TEAMS, JSON.stringify(roadshowTeams));\n\n break;\n }\n \n case UtilityTypes.DEAL_SETUP: {\n const { dealId } = action;\n \n window.localStorage.setItem(storageKeys.SELECTED_DEAL, dealId);\n\n break;\n }\n case IsvUtilityTypes.SETUP_ISV_DEAL: {\n const { dealId } = action;\n window.localStorage.setItem(storageKeys.SELECTED_ISV_DEAL, dealId);\n\n break;\n }\n case LanguageTypes.SELECT_LANGUAGE: {\n const html = window.document.querySelector('html');\n \n if (html) {\n html.setAttribute('lang', action.selectedLanguage);\n }\n\n if (!uniqueName) {\n // login page (user not logged in)\n window.localStorage.setItem(storageKeys.TEMP_SELECTED_LANGUAGE, action.selectedLanguage);\n } else {\n\n window.localStorage.setItem(storageKeys.SELECTED_LANGUAGE, action.selectedLanguage);\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n\n function* watcher() {\n yield fork(takeEvery, [\n Types.ROADSHOW_EFFECT_SET_TEAM,\n UtilityTypes.DEAL_SETUP,\n IsvUtilityTypes.SETUP_ISV_DEAL,\n LanguageTypes.SELECT_LANGUAGE\n ], worker);\n }\n\n return {\n watcher,\n worker,\n };\n};\n","import { put, cancel, fork, call, takeEvery, takeLatest, select, all } from 'redux-saga/effects';\nimport { batchActions } from 'redux-batched-actions';\n\nimport Types, { UtilityTypes } from 'actions/Types';\n\nimport { IsvUtilityTypes } from '../../Isv/actions/IsvTypes';\n\nimport { logout } from 'actions/LoginActions';\n\nimport { apiRequest, apiFailure, tileModuleFetched, addCalledEndpoint, unauthorizedResponseEffect } from 'actions/UtilityActions';\n\nimport { getPollings } from 'selectors';\n\nexport function* smartEndpointFilter(action) {\n //\n // Smart request handling (prevent duplicated request in one event notification cycle)\n // if we will gonna have params -> please change string url comparison to object with url and params (for not its enough)\n //\n const pollings = yield select(getPollings);\n const dirty = pollings[action.feature].dirty;\n\n if (!dirty) {\n const found = pollings[action.feature].calledUrls.some(url => url === action.endPoint);\n if (found) {\n // feature is not dirty(pristine) and endpoint for current feature was already fetched (its fresh/up to date)\n return false;\n }\n\n yield put(addCalledEndpoint(action.feature, action.endPoint));\n }\n\n return true;\n}\n\nexport function* handleBatchedRequests(api, ...actions) {\n\n let calls = [];\n for (let i = 0; i < actions.length; i++) {\n if (actions[i].feature) {\n const shouldContinue = yield smartEndpointFilter(actions[i]);\n if (shouldContinue) {\n calls.push({ action: actions[i], i });\n }\n // otherwise we do not need reuqest that data ( feature at this cycle requested it already - pristine state)\n }\n }\n\n const responses = yield all(calls.map(({ action: a }) => call(api.getData().req, a.endPoint, a.params)));\n\n const batched = [];\n for (let i = 0; i < calls.length; i++) {\n const response = responses[i];\n const action = calls[i].action;\n\n if (response.status === 200) {\n batched.push(action.onSuccess(response.data, action.responseDetails));\n\n if (action.tile) {\n batched.push(tileModuleFetched(action.tile));\n }\n } else if (response.status === 401) {\n yield put(unauthorizedResponseEffect(action.feature));\n return;\n } else {\n yield put(apiFailure(`Bad data response from action: ${action.type}`));\n }\n }\n\n // prevent flushing ( dispatch all actions at one shot )\n if (batched.length) {\n yield put(batchActions(batched));\n }\n}\n\nexport default (api, dispatch, getState) => {\n function* worker(action) {\n let apiType;\n\n // yes we're not using anywhere cancelReq token (yet)\n switch (action.ajaxType) {\n case 'POST': {\n apiType = api.postData();\n break;\n }\n case 'PATCH': {\n apiType = api.patchData();\n break;\n }\n case 'PUT': {\n apiType = api.putData();\n break;\n }\n case 'DELETE': {\n apiType = api.deleteData();\n break;\n }\n case 'GETCREDS': {\n apiType = api.getDataCreds();\n break;\n }\n default: {\n apiType = api.getData();\n break;\n }\n }\n\n try {\n const { loader, params } = action;\n\n if (action.feature) {\n const shouldContinue = yield smartEndpointFilter(action);\n if (!shouldContinue) {\n return;\n }\n }\n\n if (loader) {\n yield put(apiRequest(true));\n }\n\n const response = yield call(apiType.req, action.endPoint, params);\n\n switch (response.status) {\n case 200:\n case 204: {\n yield put(action.onSuccess(response.data, action.responseDetails));\n\n if (action.tile) {\n yield put(tileModuleFetched(action.tile));\n }\n\n break;\n }\n case 401: {\n if (action.type !== 'API_ATTEMPT_SSO' && action.type !== 'API_ATTEMPT_LOGIN'\n && action.type !== 'API_GET_ACCEPT_TERMS_REQUEST') {\n if (action.feature) {\n // check with fresh deal info data -> if hidden -> go home otherwise logout\n yield put(unauthorizedResponseEffect(action.feature));\n } else {\n yield put(logout());\n }\n }\n else {\n // TODO: yield put unable to login failure\n yield put(action.onFailure());\n }\n break;\n }\n default: {\n yield put(apiFailure(`Bad data response from action: ${action.type}`));\n break;\n }\n }\n } catch (error) {\n yield put(apiFailure(`Bad Request ${error}`));\n } finally {\n if (action.loader) {\n yield put(apiRequest(false));\n }\n }\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n Types.LOGOFF,\n // orderbook feature\n Types.API_REQUEST_TRANCHES,\n Types.API_REQUEST_ORDERS,\n Types.API_REQUEST_INVESTOR_NAMES,\n Types.API_REQUEST_ORDER_SUMMARY,\n Types.API_REQUEST_ORDERS_FOR_ALL_TRANCHES,\n Types.API_REQUEST_TRANCHE_LISTS,\n // ordebook ecm & dcm ( depends on params )\n Types.API_REQUEST_DEMAND_SUMMARY_BY_TYPE,\n Types.API_REQUEST_DEMAND_SUMMARY_BY_SHARE_AND_TYPE,\n // orderbook only ecm feature\n Types.API_REQUEST_ECM_ORDERS,\n Types.API_REQUEST_SHARE_DEMAND,\n // orderbook dcm feature\n // (empty)\n // roadshow feature\n Types.API_REQUEST_ROADSHOW_SUMMARY,\n Types.API_REQUEST_ROADSHOW_EVENTS,\n Types.API_REQUEST_ROADSHOW_CONTACTS,\n // mydocs feature\n Types.API_REQUEST_DOCUMENTS,\n Types.API_REQUEST_DOCUMENTS_SUMMARY,\n // investor feedback feature\n Types.API_REQUEST_FEEDBACK_THEME_TYPES,\n Types.API_REQUEST_FEEDBACK_SENTIMENTS,\n Types.API_REQUEST_DEAL_THEMES,\n Types.API_REQUEST_FEEDBACK_FOR_DEAL,\n Types.API_REQUEST_FEEDBACK_FOR_DEAL_AND_THEME,\n Types.API_REQUEST_FEEDBACK_HIGHLIGHTS_FOR_DEAL_AND_THEMETYPE,\n Types.API_REQUEST_FEEDBACK_CHART_TYPES,\n Types.API_REQUEST_FEEDBACK_CHART_DATA,\n // pricing\n Types.API_REQUEST_PRICING_DOCUMENT_ID,\n Types.API_PRE_AUTH_ERR_LOG,\n // auth\n Types.API_ATTEMPT_SSO,\n Types.API_ATTEMPT_LOGIN,\n // v1.7\n UtilityTypes.API_GET_DEAL_REQUEST,\n UtilityTypes.API_GET_DEAL_INFO_REQUEST,\n UtilityTypes.API_GET_DEALS_REQUEST,\n\n UtilityTypes.API_GET_SITE_TEXT_REQUEST,\n\n \n // IsvUtilityTypes.API_GET_ISV_DEAL_INFO_REQUEST,\n IsvUtilityTypes.API_GET_ISV_DEALS_REQUEST,\n IsvUtilityTypes.API_GET_ISV_DEAL_REQUEST,\n IsvUtilityTypes.API_ACCEPT_LETTER,\n Types.API_GET_ACCEPT_TERMS_REQUEST,\n Types.API_GET_TERMS_AND_CONDITIONS,\n\n\n ], worker);\n\n /* eslint-disable-next-line */\n yield fork(takeLatest, Types.KILL_ACTIVE_SAGA_WORKERS, cancelWorkerSaga, watcherTasks);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker,\n };\n};\n","/*\n *\n * API creator v2 which handle cancel tokens\n * providing possibility to cancel not needed polling actions\n *\n */\nimport apisauce from 'apisauce';\nimport axios from 'axios';\n\nexport const create = baseURL => {\n const api = apisauce.create({\n baseURL,\n headers: {\n Accept: 'application/json',\n Pragma: 'no-cache',\n 'Cache-Control': 'no-cache',\n },\n timeout: 600000, // 1000ms * 60sec * 10 => 10 minutes timeout\n });\n\n const createCancelTokenSource = () => axios.CancelToken.source();\n const getBearerToken = () => window.sessionStorage.getItem('_mydeal_');\n\n const getData = () => {\n const source = createCancelTokenSource();\n return {\n req: (endPoint, parameters) => api.get(endPoint, parameters, {\n withCredentials: false,\n headers: {\n Authorization: `Bearer ${getBearerToken()}`,\n },\n cancelToken: source.token,\n }),\n cancelReq: source.cancel,\n };\n };\n const getHtml = () => {\n return {\n req: (endPoint, parameters) => api.get(endPoint, parameters, {\n baseURL: '/',\n withCredentials: false,\n headers: {\n Accept: 'text/html',\n Authorization: `Bearer ${getBearerToken()}`,\n },\n }),\n }; \n };\n const getDataDownload = () => {\n const source = createCancelTokenSource();\n return {\n req: (endPoint, parameters) => api.get(endPoint, parameters, {\n responseType: 'blob',\n withCredentials: false,\n headers: {\n Authorization: `Bearer ${getBearerToken()}`,\n },\n cancelToken: source.token,\n }),\n cancelReq: source.cancel,\n };\n };\n const getDataCreds = () => {\n const source = createCancelTokenSource();\n return {\n req: (endPoint, parameters) => api.get(endPoint, parameters, {\n withCredentials: true,\n cancelToken: source.token,\n }),\n cancelReq: source.cancel,\n };\n };\n const postData = () => {\n const source = createCancelTokenSource();\n return {\n req: (endPoint, parameters) => api.post(endPoint, parameters, {\n withCredentials: false,\n headers: {\n Authorization: `Bearer ${getBearerToken()}`,\n },\n cancelToken: source.token,\n }),\n cancelReq: source.cancel,\n };\n };\n const patchData = () => {\n const source = createCancelTokenSource();\n return {\n req: (endPoint, parameters) => api.patch(endPoint, parameters, {\n withCredentials: false,\n headers: {\n Authorization: `Bearer ${getBearerToken()}`,\n },\n cancelToken: source.token,\n }),\n cancelReq: source.cancel,\n };\n };\n const putData = () => {\n const source = createCancelTokenSource();\n return {\n req: (endPoint, parameters) => api.put(endPoint, parameters, {\n withCredentials: false,\n headers: {\n Authorization: `Bearer ${getBearerToken()}`,\n },\n cancelToken: source.token,\n }),\n cancelReq: source.cancel,\n };\n };\n const deleteData = () => {\n const source = createCancelTokenSource();\n return {\n req: (endPoint, parameters) => api.delete(endPoint, parameters, {\n withCredentials: false,\n headers: {\n Authorization: `Bearer ${getBearerToken()}`,\n },\n cancelToken: source.token,\n }),\n cancelReq: source.cancel,\n };\n };\n\n const etagGetData = (endPoint, parameters, etag = null) => {\n const headers = {\n Authorization: `Bearer ${getBearerToken()}`,\n };\n if (etag) {\n headers.Etag = etag;\n headers[\"If-Modified-Since\"] = etag.replace('W/\"', '').replace('\"','');\n }\n\n return api.get(endPoint, parameters, {\n withCredentials: false,\n headers,\n });\n };\n\n return {\n getData,\n getDataDownload,\n getHtml,\n getDataCreds,\n postData,\n patchData,\n putData,\n deleteData,\n baseURL,\n // etag\n etagGetData,\n // for testing\n api,\n };\n};\n\nexport default {\n create,\n};\n","import { put, fork, call, select, cancel, takeEvery, takeLatest } from 'redux-saga/effects';\n\nimport * as storageKeys from 'constants/storageKeys';\nimport { getAvailableLanguages, getDeals } from 'selectors';\nimport Types, { UtilityTypes } from 'actions/Types';\nimport { selectLanguage } from 'actions/LanguageActions';\nimport {\n apiFailure,\n dealSetup,\n requestDeals,\n requestNavigationFeatures,\n requestPollingInterval,\n baseFetchCompleted\n} from 'actions/UtilityActions';\nimport {\n setupIsvDeal,\n requestIsvDeals,\n isvBaseFetchCompleted\n} from '../../Isv/actions/IsvUtilityActions';\nimport {\n requestFeedbackSentiments,\n requestFeedbackThemeTypes\n} from 'actions/InvestorFeedbackActions';\nimport { handleBatchedRequests } from 'sagas/Requests';\nimport { create } from '../../services/api';\n\nimport { getIsvDeals } from '../../Isv/selectors';\n\nexport default (api) => {\n function* handleRequest(req, endPoint, params, success) {\n try {\n const response = yield call(req, endPoint, params);\n if (response.ok) {\n yield put(success(response.data));\n } else {\n yield put(apiFailure('Bad Response'));\n }\n } catch (error) {\n yield put(apiFailure('Bad call: ' + error));\n }\n }\n\n function* worker({ unique_name, isISVUser }) {\n if(isISVUser) {\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n //\n // 1. Request for Available Deals\n //\n const requestDealsAction = requestIsvDeals();\n yield handleRequest(api.getData().req, requestDealsAction.endPoint, {}, requestDealsAction.onSuccess)\n\n //\n // 2. Run first deal setup ( if was set in LocalStorage )\n //\n const dealsList = yield select(getIsvDeals);\n // console.log('dealList', dealsList)\n let dealId;\n\n let selectedDealId = window.localStorage.getItem(storageKeys.SELECTED_ISV_DEAL);\n\n if (selectedDealId) {\n selectedDealId = +selectedDealId;\n\n if (!Number.isNaN(selectedDealId) && dealsList.some(deal => deal.dealId === selectedDealId)) {\n dealId = selectedDealId;\n }\n }\n \n // if (!dealId && dealsList.length) {\n // dealId = dealsList[0].dealId;\n // }\n\n if (dealId) {\n yield put(setupIsvDeal(dealId, false));\n yield put(isvBaseFetchCompleted(dealId));\n }\n else {\n yield put(isvBaseFetchCompleted());\n }\n } else {\n //\n // 0 Language picking\n //\n const availableLanguages = yield select(getAvailableLanguages);\n const tempLanguage = window.localStorage.getItem(storageKeys.TEMP_SELECTED_LANGUAGE);\n\n if (tempLanguage && availableLanguages[tempLanguage]) { // temp was filled and is available\n yield put(selectLanguage(tempLanguage));\n window.localStorage.removeItem(storageKeys.TEMP_SELECTED_LANGUAGE);\n } else {\n const langBrowserPreference = window.navigator.language || // All modern\n (window.navigator.languages && window.navigator.languages[0]) || // Chrome & FF\n window.navigator.userLanguage; // IE <= 10\n\n const savedLanguage = window.localStorage.getItem(storageKeys.SELECTED_LANGUAGE);\n try {\n if (savedLanguage && availableLanguages[savedLanguage]) {\n // #1 - select from LocalStorage\n yield put(selectLanguage(savedLanguage));\n } else if (langBrowserPreference && availableLanguages[langBrowserPreference]) {\n // #2 - select lang based on user location\n yield put(selectLanguage(langBrowserPreference));\n }\n\n } catch (e) {\n window.localStorage.removeItem(storageKeys.SELECTED_LANGUAGE)\n }\n }\n //\n // 0.b Pick Language - based on user location or from LocalStorage (optional) + make sure that this lang is still available\n //\n //\n // 1. Request for Available Deals\n //\n const requestDealsAction = requestDeals();\n yield handleRequest(api.getData().req, requestDealsAction.endPoint, {}, requestDealsAction.onSuccess)\n \n //\n // 2. Request All Navigation Features\n //\n const requestNavFeaturesAction = requestNavigationFeatures();\n yield handleRequest(api.getData().req, requestNavFeaturesAction.endPoint, {}, requestNavFeaturesAction.onSuccess)\n \n //\n // 3. Run first deal setup ( if was set in LocalStorage )\n //\n const dealsList = yield select(getDeals);\n \n let dealId;\n \n let selectedDealId = window.localStorage.getItem(storageKeys.SELECTED_DEAL);\n \n if (selectedDealId) {\n selectedDealId = +selectedDealId;\n \n if (!Number.isNaN(selectedDealId) && dealsList.some(deal => deal.dealId === selectedDealId)) {\n dealId = selectedDealId;\n }\n }\n \n \n if (!dealId && dealsList.length) {\n dealId = dealsList[0].dealId;\n }\n \n if (dealId) {\n yield put(dealSetup(dealId, false));\n } else {\n yield put(baseFetchCompleted());\n }\n\n const requestPollingIntervalAction = requestPollingInterval();\n yield handleRequest(api.getData().req, requestPollingIntervalAction.endPoint, {}, requestPollingIntervalAction.onSuccess);\n \n // static data\n yield handleBatchedRequests(\n api,\n requestFeedbackSentiments(false),\n requestFeedbackThemeTypes(false)\n );\n }\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n UtilityTypes.APP_SETUP,\n ], worker);\n\n /* eslint-disable-next-line */\n yield fork(takeLatest, Types.KILL_ACTIVE_SAGA_WORKERS, cancelWorkerSaga, watcherTasks);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker,\n };\n};\n","import { put, cancel, fork, select, takeEvery, takeLatest } from 'redux-saga/effects';\nimport { browserHistory } from 'react-router';\n\nimport dealFeatures, { mapDealFeatureToPageTitle } from 'constants/dealFeatures';\nimport { featurePageIds } from 'constants/featurePages';\nimport Types, { UtilityTypes } from 'actions/Types';\n\nimport {\n markFeature,\n handleHomeFeature,\n requestFeatureData,\n} from 'actions/UtilityActions';\nimport {\n getPollings,\n getCurrentDealId,\n isFeatureAvailable,\n} from 'selectors';\nimport { isInThatFeaturePage } from 'util/navigationFeatures';\n\nexport default (api, dispatch, getState) => {\n function* worker({ dealFeature }) {\n const dealId = yield select(getCurrentDealId);\n if (!dealId) {\n return; // deal was not set up yet\n }\n\n if (dealFeature === dealFeatures.DEAL) {\n return; // request for deal info (pending)\n }\n\n // are we on that feature page\n // is that feature allowed for us\n const state = yield select();\n const pollings = getPollings(state);\n const areWeOnThatFeaturePage = isInThatFeaturePage(dealFeature);\n\n if (areWeOnThatFeaturePage) {\n document.title = mapDealFeatureToPageTitle(dealFeature);\n }\n\n const isThatFeatureAvailable = isFeatureAvailable(state, dealFeature);\n if (!isThatFeatureAvailable) {\n if (areWeOnThatFeaturePage) {\n browserHistory.push(featurePageIds.LANDING_PAGE);\n }\n\n return; // we're not on that page so we can leave it as is\n }\n\n if (!pollings[dealFeature].dirty) {\n return; // pristine -> no request for data needed\n } else if (!areWeOnThatFeaturePage) {\n // depending on feature would be nice to request home page tiles data\n yield put(handleHomeFeature(dealFeature, dealId));\n\n return; // we're not on that feature page -> requests under the hood are not needed\n }\n\n // mark as pristine\n yield put(markFeature(dealFeature, false));\n\n // request data for dedicated feature (we're on that feature page)\n yield put(requestFeatureData(dealFeature, dealId));\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n UtilityTypes.CHECK_FEATURE\n ], worker);\n\n /* eslint-disable-next-line */\n yield fork(takeLatest, Types.KILL_ACTIVE_SAGA_WORKERS, cancelWorkerSaga, watcherTasks);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker,\n };\n};\n","import { ROADSHOW_SELECTED_TEAMS } from 'constants/storageKeys';\n\nexport const selectTeamFromLocalStorage = (dealId, uniqueName) => {\n /* eslint-disable-next-line */\n let roadshowTeams = window.localStorage.getItem(ROADSHOW_SELECTED_TEAMS);\n\n if (roadshowTeams) {\n roadshowTeams = JSON.parse(roadshowTeams);\n\n // what if not an object ?\n \n const selectedTeam = roadshowTeams[`${dealId}`];\n\n if (selectedTeam) {\n return selectedTeam;\n }\n\n return null;\n }\n\n return null;\n};","import { call, put, select, cancel, fork, take, takeEvery, takeLatest } from 'redux-saga/effects';\nimport { browserHistory } from 'react-router';\n\nimport dealFeatures from 'constants/dealFeatures';\n\nimport Types, { UtilityTypes } from 'actions/Types';\nimport IsvTypes, { IsvUtilityTypes } from '../../Isv/actions/IsvTypes';\nimport {\n dealPurge,\n requestDeal,\n startEventNotificationSaga,\n stopEventNotificationSaga,\n requestDealInfo,\n handleHomeFeature,\n baseFetchCompleted,\n checkFeature\n} from 'actions/UtilityActions';\nimport {\n requestIsvDeal,\n apiFailure,\n acceptLetter\n} from '../../Isv/actions/IsvUtilityActions';\nimport { create } from '../../services/api';\n\nimport { updateSelectedDay, setRoadshowTeam } from 'actions/RoadShowActions';\n\nimport { getUniqueName, getCurrentDealId } from 'selectors';\n\nimport { selectTeamFromLocalStorage } from 'util/teamSelection';\nimport { isInThatFeaturePage, selectAvailableNavigationFeatures, checkAllowedUiFeatures } from 'util/navigationFeatures';\n\nimport { featurePageIds } from 'constants/featurePages';\n\nvar count = 0;\n\nfunction * triggerCheckFeatureIfOnFeaturePage(dealFeature, previousDealId) {\n const areWeOnThatFeaturePage = isInThatFeaturePage(dealFeature);\n if (areWeOnThatFeaturePage && previousDealId) {\n //\n // previous deal Id -> switching btw deals \n // if null then its first deal setup (not needed to be handled)\n // we have a flag for base setup which covers feature checks \n //\n yield put(checkFeature(dealFeature));\n }\n}\n\nexport default (api) => {\n function* handleRequest(req, endPoint, params, success) {\n try {\n const response = yield call(req, endPoint, params);\n if (response.ok) {\n yield put(success(response.data));\n } else {\n yield put(apiFailure('Bad Response'));\n }\n } catch (error) {\n yield put(apiFailure('Bad call: ' + error));\n }\n }\n\n function* worker({ dealId, redirect }) {\n const previousDealId = yield select(getCurrentDealId);\n \n if (redirect) {\n browserHistory.push(featurePageIds.LANDING_PAGE);\n }\n\n yield put(dealPurge());\n\n yield put(requestDealInfo(dealId, true));\n yield put(requestDeal(dealId, true));\n\n yield put(stopEventNotificationSaga());\n\n const { \n dealInfo:{\n allowedNavigationFeatures\n } \n } = yield take(UtilityTypes.API_GET_DEAL_INFO_RESPONSE);\n\n const allowedUiFeatures = checkAllowedUiFeatures(allowedNavigationFeatures, 'visibleInMainMenu');\n\n // tricky solution for mounting cmp before base data arrival\n yield put(baseFetchCompleted(dealId));\n\n const allowedDealFeatures = selectAvailableNavigationFeatures(allowedUiFeatures);\n\n const redirectWhenOnNotAllowedPage = dealFeature => {\n const areWeOnThatFeaturePage = isInThatFeaturePage(dealFeature);\n if (areWeOnThatFeaturePage) {\n browserHistory.push(featurePageIds.LANDING_PAGE);\n }\n }\n\n if (allowedDealFeatures[dealFeatures.ROADSHOW]) {\n // cleanup\n yield put(updateSelectedDay(null));\n\n // team selection\n const uniqueName = yield select(getUniqueName);\n const team = selectTeamFromLocalStorage(dealId, uniqueName);\n\n if (team) {\n yield put(setRoadshowTeam(team));\n } else {\n yield put(setRoadshowTeam(null));\n }\n\n yield put(handleHomeFeature(dealFeatures.ROADSHOW, dealId));\n yield triggerCheckFeatureIfOnFeaturePage(dealFeatures.ROADSHOW, previousDealId);\n } else {\n redirectWhenOnNotAllowedPage(dealFeatures.ROADSHOW);\n }\n\n if (allowedDealFeatures[dealFeatures.INVESTOR_FEEDBACK]) {\n yield put(handleHomeFeature(dealFeatures.INVESTOR_FEEDBACK, dealId));\n yield triggerCheckFeatureIfOnFeaturePage(dealFeatures.INVESTOR_FEEDBACK, previousDealId);\n } else {\n redirectWhenOnNotAllowedPage(dealFeatures.INVESTOR_FEEDBACK);\n }\n\n if (allowedDealFeatures[dealFeatures.MY_DOCS]) {\n yield put(handleHomeFeature(dealFeatures.MY_DOCS, dealId));\n yield triggerCheckFeatureIfOnFeaturePage(dealFeatures.MY_DOCS, previousDealId);\n } else {\n redirectWhenOnNotAllowedPage(dealFeatures.MY_DOCS);\n }\n\n if (allowedDealFeatures[dealFeatures.ORDERBOOK]) {\n yield put(handleHomeFeature(dealFeatures.ORDERBOOK, dealId));\n yield triggerCheckFeatureIfOnFeaturePage(dealFeatures.ORDERBOOK, previousDealId);\n } else {\n redirectWhenOnNotAllowedPage(dealFeatures.ORDERBOOK);\n }\n\n if (allowedDealFeatures[dealFeatures.PRICING]) {\n yield put(handleHomeFeature(dealFeatures.PRICING, dealId));\n yield triggerCheckFeatureIfOnFeaturePage(dealFeatures.PRICING, previousDealId);\n } else {\n redirectWhenOnNotAllowedPage(dealFeatures.PRICING);\n }\n\n if (allowedDealFeatures[dealFeatures.INVESTORS]) {\n yield put(handleHomeFeature(dealFeatures.INVESTORS, dealId));\n yield triggerCheckFeatureIfOnFeaturePage(dealFeatures.INVESTORS, previousDealId);\n } else {\n redirectWhenOnNotAllowedPage(dealFeatures.INVESTORS);\n }\n\n yield put(startEventNotificationSaga());\n }\n\n function* isvWorker({ action, dealId, redirect }) {\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n count = count + 1;\n if (redirect) {\n browserHistory.push(featurePageIds.LANDING_PAGE);\n }\n if (count === 1) {\n const requestIsvDealAction = requestIsvDeal(dealId, false);\n yield handleRequest(api.getData().req, requestIsvDealAction.endPoint, {}, requestIsvDealAction.onSuccess);\n count = 0;\n }\n }\n\n let letterCounter =0;\n function* isvWorkerDeal({ action, dealId, redirect }) {\n if(letterCounter === 0)\n {\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n const acceptOneWayLetter = acceptLetter(dealId, false);\n yield handleRequest(api.putData().req, acceptOneWayLetter.endPoint, {}, acceptOneWayLetter.onSuccess)\n const requestIsvDealAction = requestIsvDeal(dealId, false);\n yield handleRequest(api.getData().req, requestIsvDealAction.endPoint, {}, requestIsvDealAction.onSuccess)\n letterCounter++; \n }\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n UtilityTypes.DEAL_SETUP,\n ], worker);\n\n const isvwatcherTasks = yield fork(takeEvery, [\n IsvUtilityTypes.API_REQUEST_ISV_DEAL_CLICK,\n IsvUtilityTypes.SETUP_ISV_DEAL\n ], isvWorker);\n\n const isvwatcherTasksDeal = yield fork(takeEvery, [\n IsvUtilityTypes.API_ACCEPT_LETTER_CLICK\n ], isvWorkerDeal)\n\n /* eslint-disable-next-line */\n yield fork(takeLatest, [Types.KILL_ACTIVE_SAGA_WORKERS], cancelWorkerSaga, watcherTasks);\n yield fork(takeLatest, [IsvTypes.KILL_ACTIVE_SAGA_WORKERS], cancelWorkerSaga, isvwatcherTasks);\n yield fork(takeLatest, [IsvTypes.KILL_ACTIVE_SAGA_WORKERS], cancelWorkerSaga, isvwatcherTasksDeal);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker,\n isvWorker\n };\n};\n","/*\n * (?)\n */\nconst CONFIGURATION = 'Configuration';\n/*\n * Any changes to new Deals being permissioned. Currently removal of deal access is not required and not considered priority for this release\n */\nconst DEAL_ACCESS = 'DealAccess';\n/*\n * Any changes within the deal including Deal Navigation Feature toggle changes\n */\nconst DEAL = 'Deal';\n\nexport default {\n CONFIGURATION,\n DEAL_ACCESS,\n DEAL,\n};\n","import { delay } from 'redux-saga';\nimport { put, select, cancel, fork, call, takeEvery, takeLatest, take } from 'redux-saga/effects';\nimport { without, isEqual } from 'lodash';\n\nimport eventTypes from 'constants/eventTypes';\nimport dealFeatures from 'constants/dealFeatures';\n\nimport Types, { UtilityTypes } from 'actions/Types';\nimport {\n apiFailure,\n markFeature,\n checkFeature,\n requestPollingInterval,\n requestDeals,\n requestDealInfo,\n setHomeFeatureStatus,\n} from 'actions/UtilityActions';\nimport { logout } from 'actions/LoginActions';\nimport {\n getBeatingStatus,\n getCurrentDealId,\n getPollingFrequency,\n getAllowedNavigationFeatures,\n getIsSetStagesModalOpen\n} from 'selectors';\n\nexport default (api) => {\n function* workerEN() {\n let lastUpdated;\n\n while (true) {\n const pollingFrequency = yield select(getPollingFrequency);\n\n yield delay(pollingFrequency * 1000);\n\n const isBeating = yield select(getBeatingStatus);\n if (!isBeating) {\n // we're delaying request by one polling frequency for one polling interval cycle\n continue;\n }\n\n try {\n const dealId = yield select(getCurrentDealId);\n const params = {};\n\n if (!lastUpdated) {\n lastUpdated = null;\n }\n\n params[\"query.onlyIfChangedSince\"] = lastUpdated\n const isStagesPopupOpen = yield select(getIsSetStagesModalOpen)\n if(!isStagesPopupOpen){\n const response = yield call(api.getData().req, `/v1/notifications/${dealId}`, params);\n if (response.status === 204) {\n // skip / continue loop\n } else if (response.status === 200) {\n const data = response.data.data;\n lastUpdated = response.data.lastUpdated || lastUpdated;\n \n const { deals, eventNotifications } = data[0];\n \n //\n // handle event notifications\n //\n if (eventNotifications && eventNotifications.length) {\n if (eventNotifications.indexOf(eventTypes.CONFIGURATION) >= 0) {\n yield put(requestPollingInterval(false));\n }\n \n if (eventNotifications.indexOf(eventTypes.DEAL_ACCESS) >= 0) {\n yield put(requestDeals(false))\n }\n \n if (eventNotifications.indexOf(eventTypes.DEAL) >= 0) {\n if (deals && deals.length) {\n const deal = deals[0];\n if (deal) {\n const { notifications } = deal;\n \n if (notifications.indexOf(dealFeatures.DEAL) >= 0) {\n let previousAvailableFeatures = yield select(getAllowedNavigationFeatures);\n previousAvailableFeatures = previousAvailableFeatures.filter(f => f.visibleInMainMenu)\n .map(f => f.url)\n .filter(u => u !== '/');\n \n // wait for all needed new info then set up rest\n yield put(requestDealInfo(dealId, false));\n yield take(UtilityTypes.API_GET_DEAL_INFO_RESPONSE);\n \n let nextAvailableFeatures = yield select(getAllowedNavigationFeatures);\n nextAvailableFeatures = nextAvailableFeatures.filter(f => f.visibleInMainMenu)\n .map(f => f.url)\n .filter(u => u !== '/');\n \n // check which feature was enabled and which disabled\n if (!isEqual(previousAvailableFeatures, nextAvailableFeatures)) {\n // new feature was enabled (added)\n const addedFeatures = without(nextAvailableFeatures, ...previousAvailableFeatures);\n addedFeatures.forEach(feature => {\n // apply to deal notification if its not applied ( to perform needed request )\n if (!notifications.some(f => f === feature)) {\n notifications.push(feature);\n }\n });\n \n // feature was disabled (removed)\n const removedFeatures = without(previousAvailableFeatures, ...nextAvailableFeatures);\n removedFeatures.forEach(feature => {\n // apply to deal notification if its not applied ( to check feature and redirect if necessary )\n if (!notifications.some(f => f === feature)) {\n notifications.push(feature);\n }\n })\n } else {\n // features didnt change\n }\n }\n \n const filtered = notifications.filter(dealFeature => dealFeature !== dealFeatures.DEAL);\n \n for (let i = 0; i < filtered.length; i++) {\n // mark all provided features as dirty -> needed for next requests (loop below)\n yield put(markFeature(filtered[i], true));\n }\n \n for (let i = 0; i < filtered.length; i++) {\n const dealFeature = filtered[i];\n // #1 home tile was not fetched since now\n yield put(setHomeFeatureStatus(dealFeature, false));\n // #2 check feature\n yield put(checkFeature(dealFeature));\n }\n }\n }\n }\n }\n } else if (response.status === 401) {\n yield put(apiFailure('Unauthorized access'));\n yield put(logout());\n } else {\n yield put(apiFailure('bad response'));\n }\n }\n } catch (error) {\n yield put(apiFailure(`bad call ${error}`));\n }\n\n }\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n UtilityTypes.START_EVENT_NOTIFICATION_SAGA,\n ], workerEN);\n\n yield fork(takeLatest, [\n UtilityTypes.STOP_EVENT_NOTIFICATION_SAGA, // deal switching\n Types.KILL_ACTIVE_SAGA_WORKERS, // logout\n /* eslint-disable-next-line */\n ], cancelWorkerSaga, watcherTasks);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker: workerEN,\n };\n};\n","import { put, select, cancel, fork, takeEvery, takeLatest, take } from 'redux-saga/effects';\n\nimport dealFeatures from 'constants/dealFeatures';\n\nimport Types, { UtilityTypes } from 'actions/Types';\nimport { setHomeFeatureStatus, markFeature, requestDeal } from 'actions/UtilityActions';\nimport { requestMyDocs } from 'actions/MyDocsActions';\nimport { requestFeedbackForDeal } from 'actions/InvestorFeedbackActions';\nimport { requestEcmOrders, requestTranches } from 'actions/OrderBookActions';\nimport { getDealTypeFromDeals } from 'selectors';\n\nexport default (api, dispatch, getState) => {\n function* worker({ dealFeature, dealId }) {\n const state = yield select();\n\n // let feture know that we fetched data from one of the endpoints\n yield put(setHomeFeatureStatus(dealFeature, false));\n\n switch (dealFeature) {\n case dealFeatures.ROADSHOW: {\n // nothing todo now\n break;\n }\n case dealFeatures.INVESTOR_FEEDBACK: {\n yield put(requestFeedbackForDeal(dealId, false));\n break;\n }\n case dealFeatures.MY_DOCS: {\n yield put(requestMyDocs(dealId, false));\n break;\n }\n case dealFeatures.ORDERBOOK: {\n const dealType = getDealTypeFromDeals(state, dealId);\n const isDCM = dealType === 'DCM';\n\n // special case -> we're requesting all data for orderbook\n yield put(markFeature(dealFeature, false));\n\n yield put(requestDeal(dealId, true));\n\n if (isDCM) {\n yield put(requestTranches(dealId, false));\n } else {\n // wait for data (otherwise lowest share price will be not up to date)\n yield take(UtilityTypes.API_GET_DEAL_RESPONSE);\n yield put(requestEcmOrders(dealId, false));\n }\n break;\n }\n case dealFeatures.PRICING: {\n // nothing todo now\n break;\n }\n case dealFeatures.INVESTORS: {\n // nothing todo now\n break;\n }\n default: {\n break;\n }\n }\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n UtilityTypes.EFFECT_HANDLE_HOME_FEATURE_SETUP\n ], worker);\n\n /* eslint-disable-next-line */\n yield fork(takeLatest, Types.KILL_ACTIVE_SAGA_WORKERS, cancelWorkerSaga, watcherTasks);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker,\n };\n};\n","import { put, fork, takeEvery } from 'redux-saga/effects';\n\nimport Types from 'actions/Types';\nimport { stopEventNotificationSaga } from 'actions/UtilityActions';\nimport { killActiveSagaWorkers } from 'actions/UtilityActions';\nimport { logout } from 'actions/LoginActions';\nimport { killHeartBeat } from 'actions/HeartBeatActions';\n\nimport * as storageKeys from 'constants/storageKeys';\nimport { featurePageIds } from 'constants/featurePages';\nimport { browserHistory } from 'react-router';\n\nexport default (api) => {\n function* worker(action) {\n switch (action.type) {\n case Types.LOGOFF: {\n // stop token refresh\n yield put(killHeartBeat());\n // stop polling\n yield put(stopEventNotificationSaga());\n\n break;\n }\n case Types.LOGOFF_SUCCESS: {\n // stop necessary sagas\n yield put(killActiveSagaWorkers());\n // clear login data\n yield put(logout(false));\n\n if (window.__MyDealEnv === 'INTERNAL') {\n browserHistory.push(featurePageIds.INTERNAL_LOGIN_PAGE);\n } else {\n browserHistory.push(featurePageIds.EXTERNAL_LOGIN_PAGE);\n }\n\n // #2 Clear everything - handled by logoff/logout action (root reducer?)\n // yield put(purge());\n\n // #3.a clear LocalStorage data - Roadshow Team will be lost\n // window.localStorage.clear();\n\n // #3.b clear all SessionStorage data - token will be lost\n // window.sessionStorage.clear();\n\n window.sessionStorage.removeItem(storageKeys.TOKEN);\n window.sessionStorage.removeItem(storageKeys.EXPIRATION);\n\n break;\n }\n default :\n // Do nothing\n }\n }\n\n function* watcher() {\n yield fork(takeEvery, [\n Types.LOGOFF,\n Types.LOGOFF_SUCCESS,\n ], worker);\n }\n\n return {\n watcher,\n worker,\n };\n};\n","import { delay } from 'redux-saga';\nimport { take, call, put, takeEvery, fork, select } from 'redux-saga/effects';\n\nimport { isLoggedInError } from 'selectors';\n\nimport Types from 'actions/Types';\n\nimport {\n requestPreAuthErrLogPost,\n requestAuthTokenPost,\n requestExtAuthTokenPost,\n loginFormValid,\n loginFormInvalid,\n setPendingAuthentication,\n setAuthenticationResponse,\n setUsername,\n setAuthType,\n setLoginModal,\n setLoginError\n} from 'actions/LoginActions';\n\nimport {\n verifyUsername,\n verifyTotpCode,\n pushNotification,\n cancelPushNotification\n} from '@auth-framework/cmb-hsbcnet-login-service-api';\n\nimport { LAAS_API_METHODS, APP_NAME, AUTH_TYPES } from 'constants/laasConfig';\n\nexport default (api) => {\n function fetchTotpJsLaasApi(p) {\n return verifyTotpCode(p)\n .then(\n res => ({ res })\n )\n .catch(\n error => ({ error })\n )\n }\n\n function fetchPnJsLaasApi() {\n return pushNotification()\n .then(\n res => ({ res })\n )\n .catch(\n error => ({ error })\n )\n }\n\n function cancelPnOnLaasApi() {\n return cancelPushNotification();\n }\n\n function fetchUserLaasApi(u) {\n return verifyUsername(u, {\n env: window.__LaaSEnv,\n appName: APP_NAME,\n })\n .then(\n res => ({ res })\n )\n .catch(\n error => ({ error })\n )\n }\n\n function setErrorResponse( {errorData} ) {\n return (\n errorData === null ?\n 'null' :\n 'message ' + errorData.getMessage() + ' errorCode ' + errorData.getErrorCode()\n )\n }\n\n function replaceSpecialChars(str) {\n return (\n str === null ?\n null : \n str.replace(/[^a-zA-Z0-9_ ]/g, \"\")\n )\n }\n\n function* handleTotpSubmit( {userNameField, passwordField, aT} ) {\n const isError = yield select(isLoggedInError);\n\n if(userNameField && passwordField && aT) {\n yield put(setPendingAuthentication(true));\n\n if(isError) {\n yield delay(((Math.random() * 10) + 1) * 1000);\n yield put(setLoginModal(true));\n } else {\n const { res, error } = yield call(fetchTotpJsLaasApi, passwordField);\n\n if(res) {\n yield put(requestExtAuthTokenPost(userNameField, res.getInternalData().json_data.laas_token, aT));\n yield take(Types.LOGIN_FAILURE);\n yield put(setLoginModal(true));\n } else {\n yield put(requestPreAuthErrLogPost(userNameField, LAAS_API_METHODS.VERIFY_TOTP_CODE, replaceSpecialChars(setErrorResponse(error)), replaceSpecialChars(error.errorCode), replaceSpecialChars(error.errorDescription) ));\n yield delay(2000);\n yield put(setLoginModal(true));\n }\n }\n\n yield put(setPendingAuthentication(false));\n }\n }\n\n function* handlePnSubmit( userNameField, aT ) {\n if(userNameField && aT) {\n const isError = yield select(isLoggedInError);\n\n if(isError) {\n yield delay(((Math.random() * 10) + 1) * 1000);\n yield put(setLoginModal(true));\n } else {\n const { res, error } = yield call(fetchPnJsLaasApi);\n if(res) {\n yield put(requestExtAuthTokenPost(userNameField, res.getInternalData().json_data.laas_token, aT));\n yield take(Types.LOGIN_FAILURE);\n yield put(setLoginModal(true));\n } else {\n const isAnyError = yield select(isLoggedInError);\n if(isAnyError) {\n yield put(requestPreAuthErrLogPost(userNameField, LAAS_API_METHODS.PUSH_NOTIFICATION, replaceSpecialChars(setErrorResponse(error)), replaceSpecialChars(error.errorCode), replaceSpecialChars(error.errorDescription)));\n yield put(setLoginModal(true));\n }\n }\n }\n }\n }\n\n function* handleCancelPnSubmit() {\n yield put(setLoginError(false));\n yield call(cancelPnOnLaasApi);\n }\n\n function* handleSubmit(action) {\n if(action.userNameField && action.passwordField) {\n yield put(setPendingAuthentication(true));\n yield put(requestAuthTokenPost(action.userNameField, action.passwordField));\n yield take(Types.LOGIN_FAILURE); // We need to elaborate here to handle different responses\n // Could maybe use response.message\n yield put(setAuthenticationResponse('Unable to login'));\n yield put(setPendingAuthentication(false));\n }\n }\n\n function* handleExtSubmit({userNameField, authTypeField}) {\n if(userNameField && authTypeField) {\n yield put(setPendingAuthentication(true));\n\n const { res, error } = yield call(fetchUserLaasApi, userNameField);\n\n if(error) {\n yield put(setLoginError(true));\n yield put(requestPreAuthErrLogPost(userNameField, LAAS_API_METHODS.VERIFY_USERNAME, replaceSpecialChars(setErrorResponse(error)), replaceSpecialChars(error.errorCode), replaceSpecialChars(error.errorDescription) ));\n } else {\n const {\n authenticationTypes\n } = res;\n \n if(authenticationTypes) {\n yield put(setUsername(userNameField));\n yield put(setAuthType(authTypeField));\n } else {\n yield put(setLoginError(true));\n }\n }\n\n const isError = yield select(isLoggedInError);\n if( authTypeField === AUTH_TYPES.MOBILE_APPROVE || (isError) ) {\n yield call(handlePnSubmit, userNameField, AUTH_TYPES.MOBILE_APPROVE);\n }\n\n yield put(setPendingAuthentication(false));\n }\n }\n\n function* handleChange(action) {\n if (!action.fieldValue) {\n yield put(loginFormInvalid(action.fieldName));\n } else {\n yield put(loginFormValid(action.fieldName));\n }\n }\n\n function* handleFailure(action) {\n yield put(setPendingAuthentication(false));\n }\n\n function* watcher() {\n yield fork(takeEvery, Types.LOGIN_FAILURE, handleFailure);\n yield fork(takeEvery, Types.LOGIN_FORM_SUBMIT, handleSubmit);\n yield fork(takeEvery, Types.LOGIN_FORM_EXT_SUBMIT, handleExtSubmit);\n yield fork(takeEvery, Types.LOGIN_FORM_PN_SUBMIT, handlePnSubmit);\n yield fork(takeEvery, Types.CANCEL_LOGIN_FORM_PN_SUBMIT, handleCancelPnSubmit);\n yield fork(takeEvery, Types.LOGIN_FORM_TOTP_SUBMIT, handleTotpSubmit);\n yield fork(takeEvery, Types.LOGIN_FORM_CHANGE, handleChange);\n }\n\n return {\n watcher,\n handleSubmit,\n handleExtSubmit,\n handlePnSubmit,\n handleTotpSubmit,\n handleChange,\n };\n};\n","import { put, call, fork, takeEvery } from 'redux-saga/effects';\nimport Types from 'actions/Types';\n\nimport { requestSiteText } from 'actions/UtilityActions';\nimport { setSiteText } from 'actions/LoginActions';\n\nexport default (api, dispatch, getState) => {\n function* worker({ langCode, siteTextType }) {\n const siteTextState = getState().login.siteText;\n \n if(siteTextState[siteTextType.name]) {\n return;\n }\n\n const apiType = api.getHtml();\n const action = requestSiteText(langCode, siteTextType.path)\n\n const response = yield call(apiType.req, action.endPoint);\n\n // NOTE: Temporarily hardcoded this to en-gb, for dynamic we can change it to langCode\n yield put(setSiteText('en-gb', siteTextType, response.data));\n }\n\n function* watcher() {\n yield fork(takeEvery, Types.OPEN_SITE_TEXT, worker);\n }\n\n return {\n watcher,\n worker,\n };\n};\n","import { put, call, fork, takeEvery } from 'redux-saga/effects';\nimport { delay } from 'redux-saga'\nimport Types from 'actions/Types';\n\nimport { requestManageDevice, deactivateDevice } from 'actions/UtilityActions';\nimport { setManageDevices, clearDeviceDeactivationMessages, setDeviceDeactivationMessages } from 'actions/LoginActions';\nimport { viewDeviceBiometrics } from '../../actions/LoginActions';\n\nexport default (api, dispatch, getState) => {\n function* viewBiometricsWorker( ) {\n const action = requestManageDevice();\n\n const apiType = api.getData();\n const response = yield call(apiType.req, action.endPoint);\n\n yield put(setManageDevices(response.data.data));\n }\n\n function* deactivateBiometricsWorker({ deviceId }) {\n const action = deactivateDevice(deviceId);\n\n const apiType = api.patchData();\n const response = yield call(apiType.req, action.endPoint);\n\n if(response.status !== 204) {\n yield put(setDeviceDeactivationMessages(\"ERROR\"));\n } else {\n yield put(viewDeviceBiometrics());\n yield put(setDeviceDeactivationMessages(\"INFO\"));\n }\n\n yield delay(5000);\n yield put(clearDeviceDeactivationMessages());\n \n }\n\n function* watcher() {\n yield fork(takeEvery, Types.VIEW_DEVICE_BIOMETRICS, viewBiometricsWorker);\n yield fork(takeEvery, Types.DEACTIVE_BIOMETRICS_DEVICE, deactivateBiometricsWorker);\n }\n\n return {\n watcher,\n viewBiometricsWorker,\n deactivateBiometricsWorker,\n };\n};\n","import { cancel, fork, takeEvery, takeLatest } from 'redux-saga/effects';\n\nimport Types, { UtilityTypes } from 'actions/Types';\nimport dealFeatures from 'constants/dealFeatures';\nimport {\n requestMyDocs,\n requestMyDocsSummary,\n} from 'actions/MyDocsActions';\n\nimport { handleBatchedRequests } from '../Requests';\n\nexport default (api, dispatch, getState) => {\n function* worker(action) {\n const { dealFeature, dealId } = action;\n\n if (dealFeature !== dealFeatures.MY_DOCS) {\n return;\n }\n \n yield handleBatchedRequests(\n api,\n requestMyDocsSummary(dealId, true),\n requestMyDocs(dealId, true)\n );\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n UtilityTypes.EFFECT_REQUEST_FEATURE_DATA\n ], worker);\n\n /* eslint-disable-next-line */\n yield fork(takeLatest, Types.KILL_ACTIVE_SAGA_WORKERS, cancelWorkerSaga, watcherTasks);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker,\n };\n};","import Types from 'actions/Types';\n\nimport dealFeatures from 'constants/dealFeatures';\n\nconst receivePricingDocumentId = (data = {}) => ({\n type: Types.API_RECEIVE_PRICING_DOCUMENT_ID,\n id: data.documentVersionId,\n});\nconst requestPricingDocumentId = (dealId, loader) => ({\n type: Types.API_REQUEST_PRICING_DOCUMENT_ID,\n endPoint: `/v1/Pricing/Document/${dealId}`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receivePricingDocumentId,\n loader,\n //\n feature: dealFeatures.PRICING,\n});\n\nexport {\n receivePricingDocumentId,\n requestPricingDocumentId,\n};\n","import { cancel, fork, takeEvery, takeLatest } from 'redux-saga/effects';\n\nimport Types, { UtilityTypes } from 'actions/Types';\nimport { requestMyDocs } from 'actions/MyDocsActions';\nimport { requestPricingDocumentId } from 'actions/PricingActions';\n\nimport dealFeatures from 'constants/dealFeatures';\n\nimport { handleBatchedRequests } from '../Requests';\n\nexport default (api, dispatch, getState) => {\n function* worker(action) {\n const { dealFeature, dealId } = action;\n\n if (dealFeature !== dealFeatures.PRICING) {\n return;\n }\n\n yield handleBatchedRequests(\n api,\n requestPricingDocumentId(dealId, true),\n requestMyDocs(dealId, false)\n );\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n UtilityTypes.EFFECT_REQUEST_FEATURE_DATA\n ], worker);\n\n /* eslint-disable-next-line */\n yield fork(takeLatest, Types.KILL_ACTIVE_SAGA_WORKERS, cancelWorkerSaga, watcherTasks);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker,\n };\n};","import { cancel, fork, takeEvery, takeLatest } from 'redux-saga/effects';\n\nimport Types, { UtilityTypes } from 'actions/Types';\nimport {\n requestRoadShowEvents,\n requestRoadShowSummary,\n requestRoadShowContacts,\n} from 'actions/RoadShowActions';\n\nimport dealFeatures from 'constants/dealFeatures';\n\nimport { handleBatchedRequests } from '../Requests';\n\nexport default (api, dispatch, getState) => {\n function* worker(action) {\n const { dealFeature, dealId } = action;\n\n if (dealFeature !== dealFeatures.ROADSHOW) {\n return;\n }\n\n yield handleBatchedRequests(\n api,\n requestRoadShowEvents(dealId, false),\n requestRoadShowSummary(dealId, false),\n requestRoadShowContacts(dealId, false)\n );\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n UtilityTypes.EFFECT_REQUEST_FEATURE_DATA\n ], worker);\n\n /* eslint-disable-next-line */\n yield fork(takeLatest, Types.KILL_ACTIVE_SAGA_WORKERS, cancelWorkerSaga, watcherTasks);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker,\n };\n};","import { cancel, fork, takeEvery, takeLatest, put, select, } from 'redux-saga/effects';\nimport { delay } from 'redux-saga';\nimport _ from 'lodash';\n\nimport Types, { UtilityTypes } from 'actions/Types';\nimport { changeTab } from 'actions/UtilityActions';\nimport {\n requestFeedbackForDeal,\n requestFeedbackDealThemes,\n requestFeedbackHighlightsForDealAndTheme,\n requestFeedbackChartTypes,\n requestFeedbackChartData,\n selectChartSubTab\n} from 'actions/InvestorFeedbackActions';\nimport {\n getCurrentDealId,\n getInvestorFeedbackThemeTypes,\n getSelectedChartSubTabTitle,\n getInvestorFeedbackChartDataByChart,\n getSentimentsAndThemeTypesFetchedStatus,\n selectActualChart,\n selectFirstAvailableChart,\n selectFirstAvailableChartTab,\n} from 'selectors';\n\nimport { tabIds } from 'constants/tabIds';\nimport dealFeatures from 'constants/dealFeatures';\n\nimport { handleBatchedRequests } from '../Requests';\n\nexport default (api, dispatch, getState) => {\n function* worker(action) {\n switch (action.type) {\n case UtilityTypes.EFFECT_REQUEST_FEATURE_DATA: {\n const { dealFeature, dealId } = action;\n\n if (dealFeature !== dealFeatures.INVESTOR_FEEDBACK) {\n return;\n }\n\n let areThemeTypesAndSentimentsFetched;\n while (!areThemeTypesAndSentimentsFetched) {\n // wait for arrival of theme types and sentiments ( static data )\n areThemeTypesAndSentimentsFetched = yield select(getSentimentsAndThemeTypesFetchedStatus);\n yield delay(100); // waiting \n }\n\n const themeTypes = yield select(getInvestorFeedbackThemeTypes);\n const actionsToDispatch = [\n requestFeedbackForDeal(dealId, false),\n requestFeedbackDealThemes(dealId, false),\n ];\n for (let i = 0; i < themeTypes.length; i++) {\n actionsToDispatch.push(requestFeedbackHighlightsForDealAndTheme(dealId, themeTypes[i].themeTypeId, false));\n }\n yield handleBatchedRequests(api, ...actionsToDispatch);\n\n // without batching -> to be handled response by this saga worker\n yield put(requestFeedbackChartTypes(dealId, false));\n\n break;\n }\n case Types.API_RECEIVE_FEEDBACK_CHART_TYPES: {\n const dealId = yield select(getCurrentDealId);\n const chartTypeDetails = yield select(selectActualChart);\n\n if (chartTypeDetails) {\n // request data for current chart (other will be fetched lazy)\n yield put(requestFeedbackChartData(dealId, chartTypeDetails.chartId, false));\n } else {\n // chart is not available anymore\n const chartCandidate = yield select(selectFirstAvailableChart);\n const tabCandidate = yield select(selectFirstAvailableChartTab);\n if (chartCandidate) {\n // request data\n yield put(requestFeedbackChartData(dealId, chartCandidate.chartId, false));\n // select first available tab\n yield put(changeTab(tabIds.INVESTOR_FEEDBACK_CHART_TABS, tabCandidate));\n // select first tab with null title (after fetch will be selected properly to title)\n yield put(selectChartSubTab(0, null));\n }\n }\n break;\n }\n case Types.API_RECEIVE_FEEDBACK_CHART_DATA: {\n const chartTypeDetails = yield select(selectActualChart);\n\n if (chartTypeDetails) {\n const selectedChartSubTabTitle = yield select(getSelectedChartSubTabTitle);\n const newChartState = yield select(s => getInvestorFeedbackChartDataByChart(s, `feedbackChartData${chartTypeDetails.chartId}`));\n\n const data = _.find(newChartState, chartSubTabData => chartSubTabData.pageTitle === selectedChartSubTabTitle)\n if (data) {\n // we have our chart in new state\n const newIdx = _.indexOf(newChartState, data);\n yield put(selectChartSubTab(newIdx, data.pageTitle)); // we found under new index our chart\n return\n }\n\n // otherwise select first from list\n const pageTitle = (newChartState[0] || {}).pageTitle;\n yield put(selectChartSubTab(0, pageTitle));\n }\n \n break;\n }\n default: {\n break;\n }\n }\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n UtilityTypes.EFFECT_REQUEST_FEATURE_DATA,\n Types.API_RECEIVE_FEEDBACK_CHART_TYPES,\n Types.API_RECEIVE_FEEDBACK_CHART_DATA\n ], worker);\n\n /* eslint-disable-next-line */\n yield fork(takeLatest, Types.KILL_ACTIVE_SAGA_WORKERS, cancelWorkerSaga, watcherTasks);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker,\n };\n};","import { cancel, fork, takeEvery, takeLatest, put, select, take, call } from 'redux-saga/effects';\nimport { delay } from 'redux-saga';\nimport Types, { UtilityTypes } from 'actions/Types';\nimport { requestDeal } from 'actions/UtilityActions';\nimport {\n requestOrders,\n requestTranches,\n requestEcmOrders,\n requestShareDemand,\n requestDemandSummaryByType,\n requestDemandSummaryByShareAndType,\n requestOrdersForAllTranches,\n requestInvestorNames,\n requestOrderSummary,\n requestTranchLists,\n requestUpdateOrderSummary,\n requestUpdateAmendedOrderSummary,\n requestUpdateBookEvolutionSummary,\n requestUpdateBookEvolutionSummaryForAmendedOrderByInvestorTable,\n dataFetching,\n requestUpdateFullOrderBook,\n changeLoderStatus,\n requestUpdateStages,\n requestStages\n} from 'actions/OrderBookActions';\nimport { tileModuleFetched } from 'actions/UtilityActions';\nimport {\n isDCMDealType,\n getCurrentDealId,\n getLowestSharePrice,\n getCurrentTrancheId,\n getSelectedOrderBookTab,\n getSelectedInvestor,\n getSelectedTranche,\n getSelectedInterval\n} from 'selectors';\nimport dealFeatures from 'constants/dealFeatures';\nimport * as tiles from 'constants/homeTiles';\nimport { ALL_TRANCHES_RECORD, ALL_TRANCHES, ALL_INVESTORS, DEFAULT_TIME_INTERVAL, ORDER_SUMMARY_TABS } from 'constants/orders';\n\nexport default (api, dispatch, getState) => {\n const bookEvolutionRequestAPI = {};\n function* worker(action) {\n switch (action.type) {\n case UtilityTypes.EFFECT_REQUEST_FEATURE_DATA: {\n const { dealFeature, dealId } = action;\n const isDCM = yield select(isDCMDealType);\n\n if (dealFeature !== dealFeatures.ORDERBOOK) {\n return;\n }\n\n yield put(requestDeal(dealId, true));\n\n if (isDCM) {\n const activeTab = yield select(getSelectedOrderBookTab);\n const currentTrancheId = yield select(getCurrentTrancheId);\n const selectedInterval = yield select(getSelectedInterval);\n const selectedInvestor = yield select(getSelectedInvestor);\n const selectedTranche = yield select(getSelectedTranche);\n // If Current Active Tranche is Book Evolution: Auto Refresh\n if (currentTrancheId === ALL_TRANCHES_RECORD.id) {\n yield put(dataFetching(true))\n switch (activeTab) {\n case ORDER_SUMMARY_TABS.ORDERBOOKSUMMARY:\n yield put(requestOrderSummary(dealId, selectedInterval.key, selectedInvestor.key, selectedTranche.key, true));\n break;\n //IF Active Order Tab is Amended Order Summary\n case ORDER_SUMMARY_TABS.AMENDEDORDERSUMMARY:\n const amendedResponse = yield call(bookEvolutionRequestAPI.apiType, bookEvolutionRequestAPI.endPoint);\n amendedResponse.ok && (yield put(requestUpdateAmendedOrderSummary(amendedResponse.data)));\n break;\n // IF Active Order Tab is Order Evolution\n case ORDER_SUMMARY_TABS.ORDEREVOLUTION:\n const orderEvolutionResponse = yield call(bookEvolutionRequestAPI.apiType, bookEvolutionRequestAPI.endPoint);\n if(orderEvolutionResponse.ok) {\n yield put(requestUpdateBookEvolutionSummary(orderEvolutionResponse.data))\n yield put(requestUpdateBookEvolutionSummaryForAmendedOrderByInvestorTable(orderEvolutionResponse.data))\n }\n break;\n // IF Active Order Tab is Full Orderbook\n case ORDER_SUMMARY_TABS.FULLORDERBOOK:\n yield put(requestOrdersForAllTranches(dealId, true));\n break;\n default: return null\n }\n yield delay(2000)\n yield put(dataFetching(false))\n } else {\n yield put(changeLoderStatus(null))\n yield put(requestTranches(dealId, true));\n } \n } else {\n // wait for data (otherwise lowest share price will be not up to date)\n yield take(UtilityTypes.API_GET_DEAL_RESPONSE);\n yield put(requestEcmOrders(dealId, true));\n }\n break;\n }\n case Types.API_RECEIVE_TRANCHES: {\n const currentTrancheId = yield select(getCurrentTrancheId);\n if (currentTrancheId) {\n // full orderbook\n yield put(requestOrders(currentTrancheId, true));\n } else {\n // manual set that empty data arrived (that upper function disables fetch for tile)\n yield put(tileModuleFetched(tiles.HOME_ORDERS_TILE));\n }\n break;\n }\n\n case Types.API_RECEIVE_ORDERS: {\n const isDCM = yield select(isDCMDealType);\n const dealId = yield select(getCurrentDealId);\n if (!isDCM) {\n const lowestSharePrice = yield select(getLowestSharePrice);\n\n // full orderbook\n yield put(requestShareDemand(dealId, true));\n\n // summary\n yield put(requestDemandSummaryByShareAndType('investorCountry', dealId, lowestSharePrice, 7, true));\n yield put(requestDemandSummaryByShareAndType('investorType', dealId, lowestSharePrice, 6, true));\n yield put(requestDemandSummaryByShareAndType('externalSourceLastModified', dealId, lowestSharePrice, 15, true));\n } else {\n const currentTrancheId = yield select(getCurrentTrancheId);\n if (currentTrancheId && currentTrancheId !== ALL_TRANCHES_RECORD.id) {\n // summary\n yield put(requestDemandSummaryByType('investorCountry', dealId, currentTrancheId, 6, true));\n yield put(requestDemandSummaryByType('investorRegion', dealId, currentTrancheId, 6, true));\n yield put(requestDemandSummaryByType('investorType', dealId, currentTrancheId, 6, true));\n } else {\n // manual set that empty data arrived (that upper function disables fetch for tile)\n yield put(tileModuleFetched(tiles.HOME_ORDERS_TILE));\n }\n }\n\n break;\n }\n\n case Types.UPDATE_CURRENT_TRANCHE: {\n const { trancheId } = action;\n const dealId = yield select(getCurrentDealId);\n\n if (trancheId && trancheId !== ALL_TRANCHES_RECORD.id) {\n yield put(requestOrders(trancheId, true));\n }\n else if (trancheId && trancheId === ALL_TRANCHES_RECORD.id) {\n yield put(dataFetching(true))\n yield put(requestOrdersForAllTranches(dealId, true))\n yield put(requestInvestorNames(dealId, true));\n yield put(requestTranchLists(dealId, true));\n yield put(requestOrderSummary(dealId, DEFAULT_TIME_INTERVAL.key, ALL_INVESTORS.key, ALL_TRANCHES.key, true));\n yield delay(2000)\n yield put(dataFetching(false))\n }\n\n break;\n }\n\n case Types.UPDATE_FULL_ORDERBOOK: {\n const apiType = api.getData();\n const response = yield call(apiType.req, action.endPoint);\n if (response.ok) {\n yield put(requestUpdateFullOrderBook(response.data));\n }\n break;\n }\n\n case Types.UPDATE_ORDER_SUMMARY: {\n const apiType = api.getData();\n const response = yield call(apiType.req, action.endPoint);\n if (response.ok) {\n yield put(requestUpdateOrderSummary(response.data, action.isFilter))\n }\n break;\n }\n\n case Types.UPDATE_BOOK_EVOLUTION_SUMMARY: {\n yield put(dataFetching(true))\n const apiType = api.getData();\n bookEvolutionRequestAPI['apiType'] = apiType.req\n bookEvolutionRequestAPI['endPoint'] = action.endPoint\n const response = yield call(apiType.req, action.endPoint);\n if (response.ok) {\n yield put(requestUpdateBookEvolutionSummary(response.data, action.isFilter));\n }\n yield put(dataFetching(false))\n break;\n }\n case Types.UPDATE_BOOK_EVOLUTION_SUMMARY_FOR_AMENDED_ORDER_BY_INVESTOR: {\n yield put(dataFetching(true))\n const apiType = api.getData();\n bookEvolutionRequestAPI['apiType'] = apiType.req\n bookEvolutionRequestAPI['endPoint'] = action.endPoint\n const response = yield call(apiType.req, action.endPoint);\n if (response.ok) {\n yield put(requestUpdateBookEvolutionSummaryForAmendedOrderByInvestorTable(response.data, action.isFilter));\n }\n yield put(dataFetching(false))\n break;\n }\n\n case Types.UPDATE_AMENDED_ORDER_SUMMARY: {\n yield put(dataFetching(true))\n const apiType = api.getData();\n bookEvolutionRequestAPI['apiType'] = apiType.req\n bookEvolutionRequestAPI['endPoint'] = action.endPoint\n const response = yield call(apiType.req, action.endPoint);\n if (response.ok) {\n yield put(requestUpdateAmendedOrderSummary(response.data));\n }\n yield put(dataFetching(false))\n break;\n }\n\n case Types.API_RECEIVE_STAGES: {\n const apiType = api.getData();\n const response = yield call(apiType.req, action.endPoint);\n if (response.ok) {\n yield put(requestUpdateStages(response.data));\n }\n break;\n }\n\n case Types.API_UPDATE_STAGES: {\n const apiType = api.postData();\n const response = yield call(apiType.req, action.endPoint, action.params);\n if (response.ok) {\n const stagesApi = requestStages(action.dealId);\n const apiType = api.postData();\n const response = yield call(apiType.req, stagesApi.endPoint);\n if (response.ok) {\n yield put(requestUpdateStages(response.data));\n } \n }\n break;\n }\n\n default: {\n break;\n }\n }\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n UtilityTypes.EFFECT_REQUEST_FEATURE_DATA,\n Types.API_RECEIVE_TRANCHES,\n Types.API_RECEIVE_ORDERS,\n Types.UPDATE_CURRENT_TRANCHE,\n Types.UPDATE_ORDER_SUMMARY,\n Types.UPDATE_FULL_ORDERBOOK,\n Types.UPDATE_BOOK_EVOLUTION_SUMMARY,\n Types.UPDATE_BOOK_EVOLUTION_SUMMARY_FOR_AMENDED_ORDER_BY_INVESTOR,\n Types.API_RECEIVE_STAGES,\n Types.API_UPDATE_STAGES,\n Types.UPDATE_AMENDED_ORDER_SUMMARY,\n ], worker);\n\n /* eslint-disable-next-line */\n yield fork(takeLatest, Types.KILL_ACTIVE_SAGA_WORKERS, cancelWorkerSaga, watcherTasks);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker,\n };\n};\n","import { cancel, fork, takeEvery, takeLatest, call, put, select } from 'redux-saga/effects';\nimport IsvTypes from 'Isv/actions/IsvTypes';\nimport { create } from 'services/api';\nimport { handleDashboardResponse } from 'Isv/actions/IsvInformationBannerAction';\nimport { receiveIsvDeal, requestIsvDeal, apiFailure } from 'Isv/actions/IsvUtilityActions';\nimport { getIsvCurrentDealId } from \"Isv/selectors\";\n\nexport default (api, dispatch, getState) => {\n function* worker(action) {\n\n function* handleRequest(req, endPoint, params, success) {\n try {\n const response = yield call(req, endPoint, params);\n response.ok ? yield put(success(response.data)) : yield put(apiFailure('Bad Response'));\n } catch (error) {\n yield put(apiFailure('Bad call: ' + error));\n }\n }\n\n switch (action.type) {\n case IsvTypes.API_REQUEST_DASHBOARD_DATA: {\n const currentDealId = yield select(getIsvCurrentDealId);\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n const apiType = api.putData();\n const response = yield call(apiType.req, action.endPoint, action.params);\n if (response.ok) {\n yield put(handleDashboardResponse(response.data))\n yield put(receiveIsvDeal(response.data));\n const requestIsvDealAction = requestIsvDeal(currentDealId, false);\n yield handleRequest(api.getData().req, requestIsvDealAction.endPoint, {}, requestIsvDealAction.onSuccess)\n }\n break\n }\n\n default: {\n break;\n }\n }\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n IsvTypes.API_REQUEST_DASHBOARD_DATA,\n ], worker);\n\n /* eslint-disable-next-line */\n yield fork(takeLatest, IsvTypes.KILL_ACTIVE_SAGA_WORKERS, cancelWorkerSaga, watcherTasks);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker,\n };\n};\n","/*\n *\n * API creator v2 which handle cancel tokens\n * providing possibility to cancel not needed polling actions\n *\n */\nimport apisauce from 'apisauce';\nimport axios from 'axios';\n\nexport const create = baseURL => {\n const api = apisauce.create({\n baseURL,\n headers: {\n Accept: 'application/json',\n Pragma: 'no-cache',\n 'Cache-Control': 'no-cache',\n },\n timeout: 600000,\n });\n\n const createCancelTokenSource = () => axios.CancelToken.source();\n const getBearerToken = () => window.sessionStorage.getItem('_mydeal_');\n\n const getData = () => {\n const source = createCancelTokenSource();\n return {\n req: (endPoint, parameters) => api.get(endPoint, parameters, {\n withCredentials: false,\n headers: {\n Authorization: `Bearer ${getBearerToken()}`,\n },\n cancelToken: source.token,\n }),\n cancelReq: source.cancel,\n };\n };\n\n const getFileData = () => {\n const source = createCancelTokenSource();\n return {\n req: (endPoint, parameters) => api.get(endPoint, parameters, {\n withCredentials: false,\n headers: {\n Authorization: `Bearer ${getBearerToken()}`,\n },\n cancelToken: source.token,\n responseType: 'blob',\n }),\n cancelReq: source.cancel,\n };\n };\n\n const postFileData = () => {\n const source = createCancelTokenSource();\n return {\n req: (endPoint, parameters, onProgress) => api.post(endPoint, parameters, {\n withCredentials: false,\n headers: {\n Authorization: `Bearer ${getBearerToken()}`,\n },\n cancelToken: source.token,\n onUploadProgress: onProgress\n }),\n cancelReq: source.cancel,\n };\n };\n\n const deleteData = () => {\n const source = createCancelTokenSource();\n return {\n req: (endPoint, parameters) => api.delete(endPoint, parameters, {\n withCredentials: false,\n headers: {\n Authorization: `Bearer ${getBearerToken()}`,\n },\n cancelToken: source.token,\n }),\n cancelReq: source.cancel,\n };\n };\n\n return {\n getData,\n getFileData,\n postFileData,\n deleteData,\n api,\n };\n};\n\nexport default {\n create,\n};\n","import { buffers, channel } from 'redux-saga'\nimport { cancel, fork, takeEvery, takeLatest, call, put, select } from 'redux-saga/effects';\nimport IsvTypes from 'Isv/actions/IsvTypes';\nimport { create } from 'Isv/services/isvApi';\nimport { setUploadProgress, handleOpenUploadOverlay, getECB2ReturnDataForCurrentDeal } from 'Isv/actions/IsvDocumentsAction';\nimport { requestIsvDeal, apiFailure, dataFetching } from 'Isv/actions/IsvUtilityActions';\nimport { setSnackBar } from 'Isv/actions/SnackBarAction'\nimport { getIsvCurrentDealId } from \"Isv/selectors\";\n\nconst downloadFileChannel = channel(buffers.expanding())\n\nexport default (api, dispatch, getState) => {\n\n function* worker(action) {\n\n function* handleRequest(req, endPoint, params, success) {\n try {\n const response = yield call(req, endPoint, params);\n response.ok ? yield put(success(response.data)) : yield put(apiFailure('Bad Response'));\n } catch (error) {\n yield put(apiFailure('Bad call: ' + error));\n }\n }\n\n switch (action.type) {\n case IsvTypes.API_REQUEST_DOWNLOAD_ALL_DOCUMENTS:\n case IsvTypes.API_REQUEST_DOWNLOAD_DOCUMENT: {\n yield put(dataFetching(true))\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n const apiType = api.getFileData();\n const response = yield call(apiType.req, action.endPoint);\n if (response.ok) {\n let blobType;\n let isTitleWithExtensionUpdated = false;\n const { fileName, title } = action.params;\n let titleWithExtension = title;\n const extension = fileName.split('.').pop().toLocaleLowerCase();\n if(extension !== null && extension !== '')\n {\n blobType = extension;\n titleWithExtension = `${title}.${extension}`;\n isTitleWithExtensionUpdated = true;\n }\n else{\n blobType = '';\n }\n const blobData = new Blob([response.data], { type: blobType });\n\n if (typeof window.navigator.msSaveOrOpenBlob !== 'undefined') {\n window.navigator.msSaveOrOpenBlob(blobData, titleWithExtension);\n } else {\n const wind = window.URL || window.webkitURL;\n const objectUrl = wind.createObjectURL(blobData);\n\n let anchor;\n\n if(isTitleWithExtensionUpdated)\n {\n anchor = document.createElement('a');\n anchor.href = objectUrl;\n anchor.download = titleWithExtension;\n document.getElementsByTagName('body')[0].appendChild(anchor);\n anchor.click();\n document.getElementsByTagName('body')[0].removeChild(anchor);\n }\n setTimeout(() => { wind.revokeObjectURL(objectUrl); }, 0);\n }\n }\n yield put(dataFetching(false))\n break\n }\n\n case IsvTypes.API_REQUEST_UPLOAD_DOCUMENTS: {\n const currentDealId = yield select(getIsvCurrentDealId);\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n const apiType = api.postFileData();\n\n function* onProgress(progressEvent) {\n const { loaded, total } = progressEvent;\n let percent = Math.floor((loaded * 100) / total)\n yield put(dispatch(setUploadProgress(percent)))\n }\n const response = !action.isTitleAlreadyExist ? yield call(apiType.req, action.endPoint, action.data, (progress) => downloadFileChannel.put(onProgress(progress).next())):null\n if (response && response.ok) {\n yield put(handleOpenUploadOverlay(false, null, null, false, false));\n if (action.isEcbDocument) {\n yield put(dispatch(getECB2ReturnDataForCurrentDeal(currentDealId))); \n } else {\n const requestIsvDealAction = requestIsvDeal(currentDealId, false);\n yield handleRequest(api.getData().req, requestIsvDealAction.endPoint, {}, requestIsvDealAction.onSuccess)\n }\n }\n else {\n yield put(setSnackBar(action.isTitleAlreadyExist? 'This Title already exists in Deal Information table, please use the upload icon in the Upload column next to the Upload Date to upload this file or enter a different Title.': response.data))\n yield put(handleOpenUploadOverlay(false, null, null, false, false))\n }\n break\n }\n\n case IsvTypes.API_REQUEST_DELETE_SUPPORTING_DOCUMENTS: {\n const currentDealId = yield select(getIsvCurrentDealId);\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n const apiType = api.deleteData();\n\n const response = yield call(apiType.req, action.endPoint)\n if (response.ok) {\n const requestIsvDealAction = requestIsvDeal(currentDealId, false);\n yield handleRequest(api.getData().req, requestIsvDealAction.endPoint, {}, requestIsvDealAction.onSuccess)\n } else {\n yield put(setSnackBar(response.data))\n }\n break;\n }\n\n default: {\n break;\n }\n }\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n IsvTypes.API_REQUEST_DOWNLOAD_DOCUMENT,\n IsvTypes.API_REQUEST_UPLOAD_DOCUMENTS,\n IsvTypes.API_REQUEST_DELETE_SUPPORTING_DOCUMENTS,\n IsvTypes.API_REQUEST_DOWNLOAD_ALL_DOCUMENTS,\n ], worker);\n\n /* eslint-disable-next-line */\n yield fork(takeLatest, IsvTypes.KILL_ACTIVE_SAGA_WORKERS, cancelWorkerSaga, watcherTasks);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker,\n };\n};\n","import {\n cancel,\n fork,\n takeEvery,\n takeLatest,\n call,\n put,\n select,\n} from \"redux-saga/effects\";\nimport IsvTypes from \"Isv/actions/IsvTypes\";\nimport { create } from \"services/api\";\nimport { receiveIsvDeal } from \"Isv/actions/IsvUtilityActions\";\nimport { requestIsvDeal, apiFailure } from 'Isv/actions/IsvUtilityActions';\nimport { handleGetLatestCommentsByDealIdResponse, getLatestCommentsByDealId, handleGetLatestCommentsByCommentsId, getECB2ReturnDataForCurrentDeal } from 'Isv/actions/IsvDocumentsAction';\nimport { isIsvExternalUser } from \"Isv/selectors\";\n\nexport default (api, dispatch, getState) => {\n function* worker(action) {\n\n function* handleRequest(req, endPoint, params, success) {\n try {\n const response = yield call(req, endPoint, params);\n response.ok ? yield put(success(response.data)) : yield put(apiFailure('Bad Response'));\n } catch (error) {\n yield put(apiFailure('Bad call: ' + error));\n }\n }\n\n switch (action.type) {\n case IsvTypes.API_APPROVE_REJECT_REQUEST_STATUS: {\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n const apiType = api.putData();\n const response = yield call(\n apiType.req,\n action.endPoint,\n action.params\n );\n if (response.ok) {\n let data = { ...action.selectedDealData };\n if (data.dealDocumentMapping && data.dealDocumentMapping.length > 0 && !action.fromEcb2Return) {\n let updatedObjIndex =\n data.clientDocumentFile &&\n data.clientDocumentFile.length > 0 &&\n data.clientDocumentFile.findIndex(\n (x) => x.clientFileId === action.params.clientFileId\n );\n if (action.isIsvCsmUser) {\n data.clientDocumentFile[updatedObjIndex].isCsmApproved =\n response.data.isCsmApproved;\n } else {\n data.clientDocumentFile[updatedObjIndex].isRrApproved =\n response.data.isRrApproved;\n }\n yield put(receiveIsvDeal(data));\n }\n else if (action.fromEcb2Return) {\n yield put(getECB2ReturnDataForCurrentDeal(action.dealId));\n const requestIsvDealAction = requestIsvDeal(action.dealId, false);\n yield handleRequest(api.getData().req, requestIsvDealAction.endPoint, {}, requestIsvDealAction.onSuccess)\n }\n }\n break;\n }\n\n case IsvTypes.API_REQUEST_SUBMIT_INFO:\n case IsvTypes.API_REQUEST_SUBMIT_FINAL_SUBMISSION: {\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n const apiType = api.putData();\n const response = yield call(\n apiType.req,\n action.endPoint,\n action.params\n );\n if (response.ok) {\n const requestIsvDealAction = requestIsvDeal(action.dealId, false);\n yield handleRequest(api.getData().req, requestIsvDealAction.endPoint, {}, requestIsvDealAction.onSuccess)\n }\n \n break;\n }\n\n case IsvTypes.API_REQUEST_CLIENT_ECB_SUBMIT: {\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n const apiType = api.putData();\n const response = yield call(apiType.req, action.endPoint, action.params);\n if (response.ok) {\n const requestIsvDealAction = requestIsvDeal(action.dealId, false);\n yield handleRequest(api.getData().req, requestIsvDealAction.endPoint, {}, requestIsvDealAction.onSuccess)\n yield put(dispatch(getECB2ReturnDataForCurrentDeal(action.dealId)));\n }\n break\n }\n\n case IsvTypes.API_REQUEST_SUBMIT_DOCUEMENT_COMMENT: {\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n const apiType = api.putData();\n const response = yield call(\n apiType.req,\n action.endPoint,\n action.params\n );\n if(response.ok) {\n yield put(getLatestCommentsByDealId(action.params.dealId, action.params.isClientScreen ? true : null, action.params.commentText.IsECBReturnVisible))\n }\n break;\n }\n\n case IsvTypes.API_REQUEST_LATEST_COMMENTS_FOR_CURRENT_DEAL: {\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n const apiType = api.getData();\n const isIsvExtUser = yield select(isIsvExternalUser);\n action.params.isClientScreen = isIsvExtUser ? true : null;\n const response = yield call(apiType.req, action.endPoint, action.params);\n if (response.ok) {\n yield put(handleGetLatestCommentsByDealIdResponse(response.data));\n }\n break;\n }\n\n case IsvTypes.API_REQUEST_LATEST_COMMENTS_DATA_FOR_CURRENT_COMMENT: {\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n const apiType = api.getData();\n const response = yield call(apiType.req, action.endPoint, action.params);\n if (response.ok) {\n yield put(handleGetLatestCommentsByCommentsId(response.data));\n }\n break;\n }\n\n default: {\n break;\n }\n }\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n IsvTypes.API_APPROVE_REJECT_REQUEST_STATUS,\n IsvTypes.API_REQUEST_SUBMIT_INFO,\n IsvTypes.API_REQUEST_SUBMIT_DOCUEMENT_COMMENT,\n IsvTypes.API_REQUEST_LATEST_COMMENTS_FOR_CURRENT_DEAL,\n IsvTypes.API_REQUEST_LATEST_COMMENTS_DATA_FOR_CURRENT_COMMENT,\n IsvTypes.API_REQUEST_SUBMIT_FINAL_SUBMISSION,\n IsvTypes.API_REQUEST_CLIENT_ECB_SUBMIT\n ], worker);\n\n /* eslint-disable-next-line */\n yield fork(\n takeLatest,\n IsvTypes.KILL_ACTIVE_SAGA_WORKERS,\n cancelWorkerSaga,\n watcherTasks\n );\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker,\n };\n};\n","import { cancel, fork, takeEvery, takeLatest, call, put } from 'redux-saga/effects';\nimport IsvTypes from 'Isv/actions/IsvTypes';\nimport { create } from 'services/api';\nimport { handleECB2ReturnDataForCurrentDeal } from 'Isv/actions/IsvDocumentsAction';\n\nexport default (api, dispatch, getState) => {\n function* worker(action) {\n switch (action.type) {\n case IsvTypes.API_REQUEST_ECB2_RETURN_DATA_FOR_CURRENT_DEAL: {\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n const apiType = api.getData();\n const response = yield call(apiType.req, action.endPoint, action.params);\n if (response.ok) {\n yield put(handleECB2ReturnDataForCurrentDeal(response.data));\n }\n break;\n }\n\n default: {\n break;\n }\n }\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n IsvTypes.API_REQUEST_ECB2_RETURN_DATA_FOR_CURRENT_DEAL,\n ], worker);\n\n /* eslint-disable-next-line */\n yield fork(takeLatest, IsvTypes.KILL_ACTIVE_SAGA_WORKERS, cancelWorkerSaga, watcherTasks);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker,\n };\n};","import { buffers, channel } from 'redux-saga';\nimport { cancel, fork, takeEvery, takeLatest, call, put, select } from 'redux-saga/effects';\nimport IsvTypes from 'Isv/actions/IsvTypes';\nimport { create } from 'Isv/services/isvApi';\nimport { setUploadProgress,handleOpenUploadOverlay, getReferenceDataForCurrentDeal, handleReferenceInformationDataForCurrentDeal } from 'Isv/actions/IsvDocumentsAction';\nimport { setSnackBar } from 'Isv/actions/SnackBarAction';\nimport { isIsvRRTeamUser } from \"selectors\";\nimport { getIsvCurrentDealId } from \"Isv/selectors\";\n\nconst downloadFileChannel = channel(buffers.expanding())\n\nexport default (api, dispatch, getState) => {\n function* worker(action) {\n switch (action.type) {\n case IsvTypes.API_REQUEST_UPLOAD_REFERENCE_DOCUMENT: {\n const currentDealId = yield select(getIsvCurrentDealId);\n const isRrUser = yield select(isIsvRRTeamUser);\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n const apiType = api.postFileData();\n\n function* onProgress(progressEvent) {\n const { loaded, total } = progressEvent;\n let percent = Math.floor((loaded * 100) / total)\n yield put(dispatch(setUploadProgress(percent)))\n }\n const response = !action.isTitleAlreadyExist ? yield call(apiType.req, action.endPoint, action.data, (progress) => downloadFileChannel.put(onProgress(progress).next())):null\n if (response && response.ok) {\n yield put(handleOpenUploadOverlay(false, null, null, false, true));\n yield put(dispatch(getReferenceDataForCurrentDeal(currentDealId, isRrUser)));\n }\n else {\n yield put(setSnackBar(action.isTitleAlreadyExist? 'File with same title already exist for this deal, please upload a new reference document or re-upload file with a different title.': response.data))\n yield put(handleOpenUploadOverlay(false, null, null, false, true))\n }\n break;\n }\n\n case IsvTypes.API_REQUEST_REFERENCE_INFORMATION_DATA_FOR_CURRENT_DEAL:{\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n const apiType = api.getData();\n const response = yield call(apiType.req, action.endPoint, action.params);\n if (response.ok) {\n yield put(handleReferenceInformationDataForCurrentDeal(response.data));\n }\n break;\n }\n\n case IsvTypes.API_REQUEST_DELETE_REFERENCE_DOCUMENTS: {\n const currentDealId = yield select(getIsvCurrentDealId);\n const api = create(process.env.REACT_APP_ISV_DEFAULT_API);\n const apiType = api.postFileData();\n const isRrUser = yield select(isIsvRRTeamUser);\n const response = yield call(apiType.req, action.endPoint)\n if (response.ok) {\n const requestIsvDealAction = getReferenceDataForCurrentDeal(currentDealId, isRrUser);\n const referenceData = yield call(api.getData().req, requestIsvDealAction.endPoint, requestIsvDealAction.params, requestIsvDealAction.onSuccess)\n yield put(handleReferenceInformationDataForCurrentDeal(referenceData.data));\n } else {\n yield put(setSnackBar(response.data))\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n\n function* watcher() {\n const watcherTasks = yield fork(takeEvery, [\n IsvTypes.API_REQUEST_UPLOAD_REFERENCE_DOCUMENT,\n IsvTypes.API_REQUEST_REFERENCE_INFORMATION_DATA_FOR_CURRENT_DEAL,\n IsvTypes.API_REQUEST_DELETE_REFERENCE_DOCUMENTS\n ], worker);\n\n /* eslint-disable-next-line */\n yield fork(takeLatest, IsvTypes.KILL_ACTIVE_SAGA_WORKERS, cancelWorkerSaga, watcherTasks);\n }\n\n function* cancelWorkerSaga(task) {\n yield cancel(task);\n yield fork(watcher);\n }\n\n return {\n watcher,\n worker,\n };\n};","import { put, select, take } from 'redux-saga/effects';\nimport { delay } from 'redux-saga';\n\nimport { UtilityTypes } from 'actions/Types';\nimport {\n checkFeature,\n requestDealInfo,\n} from 'actions/UtilityActions';\nimport { getCurrentDealId } from 'selectors';\n\nexport default (api, dispatch, getState) => {\n function* watcher() {\n /*\n * Possible scenarios:\n * - when we open feature before EventNotification will receive info that feature\n * page which we opened was disabled in that one minute interval\n *\n * - only one?\n *\n */\n while (true) {\n // for that deal feature we received 401\n const { dealFeature } = yield take(UtilityTypes.UNAUTHORIZED_EFFECT_RESPONSE_FEATURE);\n\n // we're requesting for deal info once again (immediately to not wait for EventNotification saga)\n const dealId = yield select(getCurrentDealId);\n yield put(requestDealInfo(dealId, true));\n\n // we're waiting for it response and base on that we're checking that feature which failed with 401\n yield take(UtilityTypes.API_GET_DEAL_INFO_RESPONSE)\n\n // check feature once again\n yield put(checkFeature(dealFeature));\n\n // give a once second sleep skill other failed 401 responses\n yield delay(1000);\n }\n }\n\n return {\n watcher,\n };\n};\n","import { fork, takeEvery, select } from 'redux-saga/effects';\nimport { AnalyticsTypes } from 'actions/Types';\n\nimport {\n globalTealiumArgs,\n trackViewFields,\n views,\n} from 'constants/analytics';\nimport { featurePageIds, overlayIds } from 'constants/featurePages';\nimport {\n getSelectedLanguage,\n getLoggedInStatus,\n getSUniqueName,\n getActualCategoryTitle,\n getCurrentFeedbackChartTypeName,\n getCurrentDealId,\n isInternalUser,\n} from 'selectors';\n\nconst eventTypes = {\n TRACK_EVENT: 'trackEvent',\n TRACK_VIEW: 'trackView',\n};\n\n//\n// TMS actions\n//\nconst trackEvent = (data) => {\n window.TMS && window.TMS.trackEvent(data);\n};\n\nconst trackView = (data) => {\n window.TMS && window.TMS.trackView(Object.assign({}, globalTealiumArgs, data));\n};\n\nexport default (api, dispatch, getState) => {\n function* worker(action) {\n let eventType;\n let eventDetails = {};\n\n const state = yield select();\n const language = getSelectedLanguage(state);\n\n switch (action.type) {\n //\n // \"View\" \n //\n case AnalyticsTypes.VIEW_CHANGE: {\n const { viewId } = action;\n eventType = eventTypes.TRACK_VIEW;\n eventDetails = {\n [trackViewFields.PAGE_LANGUAGE]: language,\n };\n\n const isAuthenticated = yield select(getLoggedInStatus);\n if (\n (viewId === featurePageIds.INTERNAL_LOGIN_PAGE || viewId === featurePageIds.EXTERNAL_LOGIN_PAGE) &&\n !isAuthenticated\n ) {\n if (window.__MyDealEnv === 'INTERNAL') {\n eventDetails = Object.assign(eventDetails, views['INTERNAL_LOGIN_PAGE']);\n } else { // EXTERNAL\n eventDetails = Object.assign(eventDetails, views['EXTERNAL_LOGIN_PAGE']);\n }\n } else {\n const dealId = yield select(getCurrentDealId);\n eventDetails[trackViewFields.TRANSACTION_ID] = dealId;\n\n const isInternal = isInternalUser(state);\n eventDetails[trackViewFields.CUSTOMER_GROUP] = isInternal ? 'internal' : 'external';\n\n const sCustomerId = yield select(getSUniqueName);\n eventDetails[trackViewFields.CUSTOMER_ID] = sCustomerId;\n\n switch (viewId) {\n case featurePageIds.LANDING_PAGE: {\n eventDetails = Object.assign(eventDetails, views[featurePageIds.LANDING_PAGE]);\n \n break;\n }\n case featurePageIds.MY_DOCS_DOCUMENTS_PAGE: {\n const actualTabTitle = yield select(getActualCategoryTitle);\n eventDetails = Object.assign(eventDetails, views[featurePageIds.MY_DOCS_DOCUMENTS_PAGE](actualTabTitle));\n\n break;\n }\n case featurePageIds.INVESTOR_FEEDBACK_SUMMARY_PAGE: {\n const actualTabName = yield select(getCurrentFeedbackChartTypeName);\n eventDetails = Object.assign(eventDetails, views[featurePageIds.INVESTOR_FEEDBACK_SUMMARY_PAGE](actualTabName));\n\n break\n }\n case featurePageIds.INVESTOR_FEEDBACK_DETAILS_PAGE: {\n eventDetails = Object.assign(eventDetails, views[featurePageIds.INVESTOR_FEEDBACK_DETAILS_PAGE]);\n break;\n }\n case featurePageIds.ORDERBOOK_SUMMARY_PAGE: {\n eventDetails = Object.assign(eventDetails, views[featurePageIds.ORDERBOOK_SUMMARY_PAGE]);\n break;\n }\n case featurePageIds.ORDERBOOK_FULL_PAGE: {\n eventDetails = Object.assign(eventDetails, views[featurePageIds.ORDERBOOK_FULL_PAGE]);\n\n break;\n }\n case featurePageIds.ORDERBOOK_AMENDED_PAGE: {\n eventDetails = Object.assign(eventDetails, views[featurePageIds.ORDERBOOK_AMENDED_PAGE]);\n \n break;\n                        }\n case featurePageIds.PRICING_DOCUMENTS_PAGE: {\n eventDetails = Object.assign(eventDetails, views[featurePageIds.PRICING_DOCUMENTS_PAGE]);\n break;\n }\n case featurePageIds.ROADSHOW_DAILY_SCHEDULE_PAGE: {\n eventDetails = Object.assign(eventDetails, views[featurePageIds.ROADSHOW_DAILY_SCHEDULE_PAGE]);\n break;\n }\n case featurePageIds.ROADSHOW_DOCUMENT_MODE_PAGE: {\n eventDetails = Object.assign(eventDetails, views[featurePageIds.ROADSHOW_DOCUMENT_MODE_PAGE]);\n break;\n }\n case overlayIds.SESSION_EXPIRY_OVERLAY: {\n eventDetails = Object.assign(eventDetails, views[overlayIds.SESSION_EXPIRY_OVERLAY]);\n break;\n }\n default: {\n break;\n }\n }\n //\n // If in the future urls will contain params pls create switch(true){ case regexp.test(url) ...} below\n // but add flag to switch above that any case was matched ( in default block )\n //\n }\n\n break;\n }\n //\n // \"Event\" \n //\n case AnalyticsTypes.EVENT_TRIGGERED: {\n eventType = eventTypes.TRACK_EVENT;\n eventDetails = { ...action.eventDetails };\n\n break;\n }\n default: {\n break;\n }\n }\n\n switch (eventType) {\n case eventTypes.TRACK_EVENT: {\n trackEvent(eventDetails);\n break;\n }\n case eventTypes.TRACK_VIEW: {\n trackView(eventDetails);\n break;\n }\n default: {\n break;\n }\n }\n }\n\n function* watcher() {\n yield fork(takeEvery, '*', worker);\n }\n\n return {\n watcher,\n worker,\n };\n};\n","// a library to wrap and simplify api calls\nimport apisauce from 'apisauce';\n\nconst create = (baseURL, authToken) => {\n\n const api = apisauce.create({\n // base URL is read from the \"constructor\"\n baseURL,\n // here are some default headers\n headers: {\n 'Accept': 'application/json',\n 'Cache-Control': 'no-cache',\n 'Pragma': 'no-cache',\n \n // 'Authorization' : `Bearer ${authToken}`\n },\n // 10 second timeout...\n timeout: 600000\n })\n // window.api = api;\n // TODO : add token to api.headers\n // Pulling token from sessionStorage to append to requests\n const getData = (endPoint, parameters) => api.get(endPoint, parameters, { withCredentials : false, headers: { 'Authorization': `Bearer ${window.sessionStorage.getItem('_mydeal_')}` } });\n const getDataDownload = (endPoint, parameters) => api.get(endPoint, parameters, { responseType: 'blob', withCredentials : false, headers: { 'Authorization': `Bearer ${window.sessionStorage.getItem('_mydeal_')}` } });\n const getDataCreds = (endPoint, parameters) => api.get(endPoint, parameters, { withCredentials:true });\n const postData = (endPoint, parameters) => api.post(endPoint, parameters, { withCredentials : false, headers: { 'Authorization': `Bearer ${window.sessionStorage.getItem('_mydeal_')}` } });\n const putData = (endPoint, parameters) => api.put(endPoint, parameters, { withCredentials : false, headers: { 'Authorization': `Bearer ${window.sessionStorage.getItem('_mydeal_')}` } });\n const deleteData = (endPoint, parameters) => api.delete(endPoint, parameters, { withCredentials : false, headers: { 'Authorization': `Bearer ${window.sessionStorage.getItem('_mydeal_')}` } });\n return {\n // a list of the API functions from step 2\n api,\n getData,\n getDataDownload,\n getDataCreds,\n postData,\n putData,\n deleteData,\n baseURL\n }\n}\n\n// let's return back our create method as the default.\nexport default {\n create\n}\n","import { fork, take, select } from 'redux-saga/effects';\n\nimport loginSaga from './Login';\nimport heartBeatSaga from './HeartBeat';\n\nimport fileSaga from './File';\nimport storageSaga from './Storage';\n\nimport appSetup from './AppSetup';\nimport baseRequest from './Requests';\nimport checkFeature from './CheckFeature';\nimport dealSetup from './DealSetup';\nimport eventNotifications from './EventNotifications';\nimport homeFeatures from './HomeFeatures';\nimport logout from './Logout';\nimport loginForm from './LoginForm';\nimport siteText from './SiteText';\nimport devices from './Devices';\n\nimport myDocs from './CheckFeature/MyDocs';\nimport pricing from './CheckFeature/Pricing';\n// import investors from './CheckFeature/Investors';\nimport roadshow from './CheckFeature/Roadshow'\nimport investorFeedback from './CheckFeature/InvestorFeedback'\nimport orderbook from './CheckFeature/Orderbook'\n\nimport dashboard from 'Isv/sagas/Dashboard'\nimport fileOperation from 'Isv/sagas/FileOperation'\nimport dealInformation from 'Isv/sagas/DealInformation'\nimport ecb2Return from 'Isv/sagas/Ecb2Return'\nimport referenceInformation from 'Isv/sagas/ReferenceInformation'\n\nimport unauthorizedHandler from './UnauthorizedHandler';\n\nimport analytics from './Analytics';\n\nimport markitApi from '../services/MarkitApi';\nimport { create } from '../services/api';\n\n\n\nfunction* logger() {\n while (true) {\n const action = yield take('*');\n const state = yield select(s => s);\n\n console.log(`Logger ---- Action: ${action.type}`)\n console.log(action);\n console.log(state);\n }\n}\n\nconst rootSaga = (apiUrl, dispatch, getState) => {\n const MarkitDataApi = markitApi.create(apiUrl);\n const api = create(apiUrl);\n\n function* root() {\n if (process.env.NODE_ENV === 'development') {\n yield fork(logger);\n }\n\n yield fork(loginForm(api, dispatch, getState).watcher);\n\n yield fork(loginSaga(MarkitDataApi).watcher);\n yield fork(heartBeatSaga(MarkitDataApi).watcher);\n // v1.6\n yield fork(storageSaga(api, dispatch, getState).watcher);\n yield fork(fileSaga(api, dispatch, getState).watcher);\n // v1.7\n yield fork(appSetup(api, dispatch, getState).watcher);\n yield fork(baseRequest(api, dispatch, getState).watcher);\n yield fork(dealSetup(api, dispatch, getState).watcher);\n yield fork(logout(api, dispatch, getState).watcher);\n yield fork(eventNotifications(api, dispatch, getState).watcher);\n yield fork(homeFeatures(api, dispatch, getState).watcher);\n // feature data loading + checking\n yield fork(checkFeature(api, dispatch, getState).watcher);\n yield fork(myDocs(api, dispatch, getState).watcher);\n yield fork(pricing(api, dispatch, getState).watcher);\n yield fork(roadshow(api, dispatch, getState).watcher);\n yield fork(investorFeedback(api, dispatch, getState).watcher);\n yield fork(orderbook(api, dispatch, getState).watcher);\n yield fork(dashboard(api, dispatch, getState).watcher);\n yield fork(fileOperation(api, dispatch, getState).watcher);\n yield fork(dealInformation(api, dispatch, getState).watcher);\n yield fork(ecb2Return(api, dispatch, getState).watcher);\n yield fork(referenceInformation(api, dispatch, getState).watcher);\n \n // yield fork(investors(api, dispatch, getState).watcher);\n // 401\n yield fork(unauthorizedHandler(api, dispatch, getState).watcher);\n // Adobe Analytics\n yield fork(analytics(api, dispatch, getState).watcher);\n // SiteText\n yield fork(siteText(api, dispatch, getState).watcher);\n // Devices\n yield fork(devices(api, dispatch, getState).watcher);\n\n }\n return root;\n};\n\nexport default rootSaga;\n","import { createStore, applyMiddleware, compose } from 'redux';\nimport { enableBatching } from 'redux-batched-actions';\nimport createSagaMiddleware from 'redux-saga';\nimport rootReducer from './reducers';\nimport rootSaga from './sagas/index';\n\nconst sagaMiddleware = createSagaMiddleware();\nconst middleware = applyMiddleware(sagaMiddleware);\n\nlet store;\n\nif (process.env.NODE_ENV === 'development') {\n const DevTools = require('./DevTools').default; // eslint-disable-line global-require\n store = createStore(enableBatching(rootReducer), compose(middleware, DevTools.instrument()));\n} else {\n store = createStore(enableBatching(rootReducer), compose(middleware));\n}\n\n\nconst apiUrl = process.env.REACT_APP_DEFAULT_API || 'env-not-found';\n\nsagaMiddleware.run(rootSaga(apiUrl, store.dispatch, store.getState));\n\nexport default store;\n","import 'babel-polyfill';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Provider } from 'react-redux';\n\nimport Root from './Root';\nimport store from './Store';\n\nif (process.env.NODE_ENV === 'development') {\n\n}\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { compose } from 'recompose';\nimport langNames from 'local-lang-names';\n\nimport * as modalIds from 'constants/modalIds';\n\nimport { getSelectedLanguage, getAvailableLanguages } from 'selectors';\nimport { selectLanguage } from 'actions/LanguageActions';\n\nimport { withAnalytics2 } from 'shared/hoc/withAnalytics';\nimport withTranslate from 'shared/hoc/withTranslate';\n\nimport Dropdown from 'shared/accessibility/components/Dropdown';\n\nclass LanguagePicker extends PureComponent {\n\n dropdownOpened = () => {\n this.props.languageEvent();\n }\n\n render() {\n const items = Object\n .keys(this.props.availableLanguages)\n .map((lang, idx, array) => ({\n selected: this.props.selectedLanguage === lang,\n content: langNames(lang),\n lang,\n label: this.props.selectedLanguage === lang\n ? this.props.listItemSelectedAriaLabel(lang)\n : this.props.listItemNotSelectedAriaLabel(lang),\n click: () => this.props.selectLanguage(lang),\n }));\n\n return (\n (\n \n {item.content}\n \n )}\n />\n );\n }\n}\n\nexport default compose(\n withAnalytics2(\n (eventTrigger, eventIds) => ({\n languageEvent: () => eventTrigger(eventIds.MULTI_LANGUAGE),\n })\n ),\n withTranslate((translate, props) => ({\n dropdownAriaLabel: translate('common.open_language_menu', 'Open Language Menu'),\n // list items\n listItemSelectedAriaLabel: lang => translate(\n 'common.selected_language_-_',\n `Selected language - ${langNames(lang)}`,\n [\n ['', langNames(lang)]\n ]\n ),\n listItemNotSelectedAriaLabel: lang => translate(\n 'common.select_language_-_',\n `Select language - ${langNames(lang)}`,\n [\n ['', langNames(lang)]\n ]\n ),\n })),\n connect(\n state => ({\n selectedLanguage: getSelectedLanguage(state),\n availableLanguages: getAvailableLanguages(state),\n }),\n dispatch => ({\n selectLanguage: language => dispatch(selectLanguage(language)),\n }),\n ),\n)(LanguagePicker);\n","const DASHBOARD = '/';\n\nconst DEAL_INFORMATION = '/dealInformation';\n\nconst REFERENCE_INFORMATION = '/referenceInformation';\n\nconst ECB_TO_RETURN = '/ecbToReturn';\n\nexport const mapDealFeatureToPageTitle = dealFeature => {\n switch (dealFeature) {\n case DASHBOARD: return 'HSBC - MyDeal';\n case DEAL_INFORMATION: return 'Deal Information - HSBC MyDeal';\n case REFERENCE_INFORMATION: return 'Reference Information - HSBC MyDeal';\n default: return 'HSBC - MyDeal';\n }\n}\n\nexport const allowedUiDealFeatures = [\n {\n id: DASHBOARD,\n url: '/',\n title: 'Dashboard',\n visibleInMainMenu: true\n }, {\n id: 'dealInformation',\n url: DEAL_INFORMATION,\n title: 'Deal Information',\n visibleInMainMenu: true\n }, {\n id: 'referenceInformation',\n url: REFERENCE_INFORMATION,\n title: 'Reference Information',\n visibleInMainMenu: false\n }, {\n id: 'ecbToReturn',\n url: ECB_TO_RETURN,\n title: 'ECB 2 Return',\n visibleInMainMenu: false\n }\n]\n\nexport default {\n DASHBOARD,\n DEAL_INFORMATION,\n REFERENCE_INFORMATION,\n ECB_TO_RETURN\n};\n","// const goldenRatio = 1.618;\n// const calcRatio = a => a * goldenRatio;\n// const calcPixel = pt => pt * 1.33;\n\nexport const fontColors = {\n white: '#FFFFFF',\n navBlue: '#969696',\n black: '#000000',\n grey: '#6F6F6F',\n darkGrey: '#4d6474',\n lightGrey: '#d8d8d8',\n nightGrey: '#333333',\n};\n\n\n//\n// defaults sizes\n//\nexport const headings = {\n h1: '',\n h2: '',\n h3: '',\n h4: '',\n h5: '',\n h6: '',\n}\n\n//\n//\n//\nexport const palette = {\n primary: '',\n secondary: '',\n tertiary: '',\n //\n accent: '',\n //\n text: fontColors.black,\n alternateText: fontColors.grey,\n disabledText: fontColors.nightGrey,\n //\n success: '',\n error: '',\n checkedIcon: fontColors.darkGrey,\n uncheckedIcon: fontColors.lightGrey,\n};\n\nexport const typography = {\n family: {\n light: 'Univers Next Lt',\n normal: 'Univers Next',\n bold: 'Univers Next Bd',\n },\n // should match WCAG (proposal) !\n sizes: {\n // '6px': '0.375rem',\n // '7px': '0.375rem',\n // '8px': '0.375rem',\n '9px': '0.563rem',\n // '10px': '0.375rem',\n '11px': '0.688rem',\n '12px': '0.750rem',\n '13px': '0.813rem',\n '14px': '0.875rem',\n '15px': '0.938rem',\n '16px': '1.000rem',\n '18px': '1.125rem',\n '20px': '1.250rem',\n '24px': '1.500rem',\n '37px': '2.313rem',\n '45px': '2.813rem',\n },\n lineHeights: {\n // calcRatio(this.sizes.large) (?)\n }\n};\n\n//\n// if we will have bg with opacity -> white20 ( rgba(white, 20) )\n//\nexport const backgrounds = {\n white: '#FFF',\n slateBlue: '#1D262C',\n gray: '#dddddd',\n}\n\nexport const outlines = {\n light: '1px dotted white',\n dark: '1px dotted black',\n}\n\n//\n// Custom BEM approach proposal\n//\nexport const components = {\n button: {\n '--state': {\n '--focus': `\n outline: ${outlines.light};\n `,\n '--disabled': `\n background: transparent;\n `,\n '--hover': `\n background: white;\n `,\n },\n '--default': {\n\n }\n },\n link: {\n '--state': {\n '--focus': `\n outline: ${outlines.dark};\n color: ${palette.text};\n `,\n '--hover': `\n text-decoration: underline;\n color: ${palette.text};\n\n * {\n text-decoration: underline; ${/* all nested texts inside link */''}\n }\n `,\n '--disabled': `\n cursor: not-allowed;\n color: ${palette.disabledText};\n opacity: .5;\n `,\n },\n '--default': `\n cursor: pointer;\n color: ${palette.text};\n `,\n },\n}\n","import IsvTypes from \"./IsvTypes\";\n\nexport const setSnackBar = (message) => ({\n type: IsvTypes.SET_SNACK,\n message\n});\n\nexport const closeSnackBar = () => ({\n type: IsvTypes.CLOSE_SNACK_BAR,\n});","import React from 'react';\nimport PropTypes from 'prop-types';\nconst ChipSection = (props) => {\n\n let itemStyle = Object.assign({\n listStyle:'none',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'flex-start',\n alignItems: 'center',\n }, props.style)\n\n return (\n
  • \n {props.children}\n
  • \n );\n};\n\nconst DescriptionSection = (props) =>{\n let style = {\n display: 'inline-block',\n verticalAlign:'middle',\n whiteSpace : 'nowrap',\n overflow:'hidden',\n textOverflow : 'ellipsis',\n }\n return (\n
    \n {props.children}\n
    \n)}\n/**\n * A color chip for easy reference.\n */\nconst ColorChip = (props) => {\n const { size, description, colorHex, opacity, fullChip } = props;\n const chipStyle = {\n backgroundColor: colorHex,\n opacity: opacity,\n display: 'inline-block',\n width: size,\n height: size,\n minWidth: size,\n marginRight: 10,\n verticalAlign:'middle'\n };\n return (\n \n
    \n {description}\n
    \n );\n};\nColorChip.propTypes = {\n\t/**\n\t * Hex value of the color.\n\t */\n colorHex: PropTypes.string,\n\t/**\n\t * Description of the color.\n\t */\n description: PropTypes.string,\n};\nColorChip.defaultProps = {\n size: 14,\n colorHex: '#888',\n description: 'Gray',\n opacity: 1.0,\n};\n\nexport default ColorChip;\n","import { LanguageTypes } from 'actions/Types';\n\nconst selectLanguage = selectedLanguage => ({\n type: LanguageTypes.SELECT_LANGUAGE,\n selectedLanguage,\n});\n\nexport {\n selectLanguage,\n}","/*\n * Call In order to get any specific info regarding the deal such as navigation features\n */\nconst DEAL = 'deal';\n\nconst PRICING = '/pricing';\n\nconst INVESTORS = '/investors';\n\nconst ROADSHOW = '/calendar';\n\nconst ORDERBOOK = '/orderbook';\n\nconst MY_DOCS = '/documents';\n\nconst INVESTOR_FEEDBACK = '/investorFeedback';\n\nconst SETTINGS = '/settings';\n\n\n\nexport const mapDealFeatureToPageTitle = dealFeature => {\n switch (dealFeature) {\n case PRICING: return 'Pricing - HSBC MyDeal';\n case INVESTORS: return 'Investors - HSBC MyDeal';\n case ROADSHOW: return 'Roadshow - HSBC MyDeal';\n case ORDERBOOK: return 'Orderbook - HSBC MyDeal';\n case MY_DOCS: return 'Documents - HSBC MyDeal';\n case INVESTOR_FEEDBACK: return 'Investor Feedback - HSBC MyDeal';\n default: return 'HSBC - MyDeal';\n }\n}\n\n/* Note : If visibleInHeroMenu & visibleInMainMenu false from API/adminSide it will be not visible from UI as well\nChange values to false only if from API/adminSide enabled feature we want to disable from UI\nChange will impact on both ECM/DCM for all deals */\nexport const allowedUiDealFeatures = [\n {\n id: DEAL,\n url: '/'\n }, {\n id: 'pricing',\n url: PRICING,\n visibleInHeroMenu: true,\n visibleInMainMenu: true\n }, {\n id: \"calendar\",\n url: ROADSHOW,\n visibleInHeroMenu: true,\n visibleInMainMenu: true\n }, {\n id: \"investorFeedback\",\n url: INVESTOR_FEEDBACK,\n visibleInHeroMenu: true,\n visibleInMainMenu: true\n }, {\n id: \"orders\",\n url: ORDERBOOK,\n visibleInHeroMenu: true,\n visibleInMainMenu: true\n }, {\n id: \"documents\",\n url: MY_DOCS,\n visibleInHeroMenu: true,\n visibleInMainMenu: true\n },\n];\n\nexport default {\n DEAL,\n PRICING,\n INVESTORS,\n ROADSHOW,\n ORDERBOOK,\n MY_DOCS,\n INVESTOR_FEEDBACK,\n SETTINGS,\n};\n","import { createTypes } from 'reduxsauce';\n\n//\n// Unique prefix for feature actions\n//\nconst createPrefix = (obj, prefix) => Object.keys(obj)\n .reduce((acc, key) => {\n acc[key] = `${prefix}${obj[key]}`;\n return acc;\n }, {});\n\nconst All = createTypes(`\n API_FAILURE\n API_REQUEST\n KILL_ACTIVE_SAGA_WORKERS\n APPLY_CLOSE_INFORMATION_BANNER\n APPLY_HANDLE_CONFIRMATION_DIALOUGE\n APPLY_HANDLE_UPLOAD_OVERLAY\n APPLY_HANDLE_FILE_UPLOAD\n START_UPLOADING\n UPLOAD_PROGRESS\n SET_SNACK\n CLOSE_SNACK_BAR\n HANDLE_CLIENT_DOCUMENT_DATA\n HANDLE_COMMENTS_POPUP\n HANDLE_TITLE_COLUMN_WIDTH\n HANDLE_ECB_STATUS\n HANDLE_REFERENCE_INFORMATION_STATUS\n \n \n API_REQUEST_DASHBOARD_DATA\n API_RECEIVE_DASHBOARD_DATA\n API_REQUEST_DOWNLOAD_DOCUMENT\n API_REQUEST_UPLOAD_DOCUMENTS\n API_APPROVE_REJECT_REQUEST_STATUS\n API_REQUEST_DELETE_SUPPORTING_DOCUMENTS\n API_REQUEST_SUBMIT_INFO\n API_REQUEST_SUBMIT_DOCUEMENT_COMMENT\n API_REQUEST_LATEST_COMMENTS_FOR_CURRENT_DEAL\n API_RECEIVE_LATEST_COMMENTS_DATA_FOR_CURRENT_DEAL\n API_REQUEST_LATEST_COMMENTS_DATA_FOR_CURRENT_COMMENT\n API_RECEIVE_LATEST_COMMENTS_DATA_FOR_CURRENT_COMMENT\n API_REQUEST_SUBMIT_FINAL_SUBMISSION\n API_REQUEST_DOWNLOAD_ALL_DOCUMENTS\n API_REQUEST_ECB2_RETURN_DATA_FOR_CURRENT_DEAL\n API_RECEIVE_ECB2_RETURN_DATA_FOR_CURRENT_DEAL\n API_REQUEST_CLIENT_ECB_SUBMIT\n API_REQUEST_REFERENCE_INFORMATION_DATA_FOR_CURRENT_DEAL\n API_RECEIVE_REFERENCE_INFORMATION_DATA_FOR_CURRENT_DEAL\n API_REQUEST_DOWNLOAD_REFERENCE_DOCUMENT\n API_REQUEST_UPLOAD_REFERENCE_DOCUMENT\n API_REQUEST_DELETE_REFERENCE_DOCUMENTS\n`);\n\nexport const IsvUtilityTypes = createPrefix(\n createTypes(`\n API_GET_ISV_DEALS_REQUEST\n API_GET_ISV_DEALS_RESPONSE\n API_GET_ISV_DEAL_REQUEST\n API_GET_ISV_DEAL_RESPONSE\n SETUP_ISV_DEAL\n OPEN_ONE_WAY_LETTER\n ACCEPT_ONE_WAY_LETTER\n ISV_SWITCH_DEAL\n ISV_BASE_FETCH_COMPLETED\n API_ACCEPT_LETTER\n API_REQUEST_ISV_DEAL_CLICK\n API_ACCEPT_LETTER_CLICK\n DATAFETCHING\n `),\n 'Utility_Types_',\n);\n\nexport default {\n ...All,\n};\n","import dealFeatures from './dealFeatures';\n\nexport const featurePageIds = {\n // auth \n // TODO - when external/internal auth page will have own url pls improve:\n // analytics constants line 30 & 35\n // analytics saga line 61 & 63\n INTERNAL_LOGIN_PAGE: '/',\n EXTERNAL_LOGIN_PAGE: '/',\n EXTERNAL_TOTP_LOGIN_PAGE: '/',\n EXTERNAL_PN_LOGIN_PAGE: '/',\n SETTINGS_PAGE: '/settings',\n // home\n LANDING_PAGE: '/',\n // orders\n ORDERBOOK_SUMMARY_PAGE: `${dealFeatures.ORDERBOOK}/summary`,\n ORDERBOOK_FULL_PAGE: `${dealFeatures.ORDERBOOK}/full`,\n ORDERBOOK_AMENDED_PAGE: `${dealFeatures.ORDERBOOK}/amended`,\n ORDERBOOK_EVOLUTION_PAGE: `${dealFeatures.ORDERBOOK}/evolution`,\n // investor feedback\n INVESTOR_FEEDBACK_SUMMARY_PAGE: `${dealFeatures.INVESTOR_FEEDBACK}/summary`,\n INVESTOR_FEEDBACK_DETAILS_PAGE: `${dealFeatures.INVESTOR_FEEDBACK}/details`,\n // roadshow\n ROADSHOW_DAILY_SCHEDULE_PAGE: `${dealFeatures.ROADSHOW}/dailySchedule`,\n ROADSHOW_DOCUMENT_MODE_PAGE: `${dealFeatures.ROADSHOW}/documentMode`,\n // my docs\n MY_DOCS_DOCUMENTS_PAGE: dealFeatures.MY_DOCS,\n // pricing\n PRICING_DOCUMENTS_PAGE: dealFeatures.PRICING,\n // investors\n INVESTORS_PAGE: dealFeatures.INVESTORS,\n DATAPRIVACY_NOTICE_PAGE: `${dealFeatures.SETTINGS}/privacynotice`,\n COOKIE_NOTICE_PAGE: `${dealFeatures.SETTINGS}/cookienotice`,\n DATAPRIVACY_NOTICE_PAGE_EXTERNAL: '/privacynotice',\n COOKIE_NOTICE_PAGE_EXTERNAL: '/cookienotice',\n}\n\nexport const overlayIds = {\n // modals etc.\n SESSION_EXPIRY_OVERLAY: 'session expiry overlay',\n};\n\n/*\n * Order of the feature pages is important for analytics saga worker\n * (pls do not change it - add new pages at the end of each list)\n */\nconst featurePages = {\n [dealFeatures.SETTINGS]: [\n featurePageIds.SETTINGS_PAGE,\n ],\n [dealFeatures.ORDERBOOK]: [\n featurePageIds.ORDERBOOK_SUMMARY_PAGE,\n featurePageIds.ORDERBOOK_FULL_PAGE,\n featurePageIds.ORDERBOOK_AMENDED_PAGE,\n featurePageIds.ORDERBOOK_EVOLUTION_PAGE\n ],\n [dealFeatures.ROADSHOW]: [\n featurePageIds.ROADSHOW_DAILY_SCHEDULE_PAGE,\n featurePageIds.ROADSHOW_DOCUMENT_MODE_PAGE,\n ], \n [dealFeatures.INVESTOR_FEEDBACK]: [\n featurePageIds.INVESTOR_FEEDBACK_SUMMARY_PAGE,\n featurePageIds.INVESTOR_FEEDBACK_DETAILS_PAGE,\n ],\n [dealFeatures.MY_DOCS]: [\n featurePageIds.MY_DOCS_DOCUMENTS_PAGE,\n ],\n [dealFeatures.PRICING]: [\n featurePageIds.PRICING_DOCUMENTS_PAGE,\n ],\n [dealFeatures.INVESTORS]: [\n featurePageIds.INVESTORS_PAGE,\n ],\n};\n\n\n\nexport default featurePages;","import React from 'react';\nimport moment from 'moment-timezone';\nimport numeral from 'numeral';\n\nimport { SvgIcon } from 'shared/components/Icon';\n\nimport Icon from '../components/Icon/Icon';\nimport ColorChip from '../components/ColorChip/ColorChip';\nimport { primaryColorOther, colors } from './visualisationColors';\n\nexport const nullResponseCharacter = '';\nnumeral.nullFormat(nullResponseCharacter);\n\nconst darkGray = {\n color: '#333'\n}\nconst lightGray = {\n color: '#D8D8D8'\n}\nconst medGray = {\n color: '#999999'\n}\nconst darkBlue = {\n color: '#4D6474'\n}\n\n// Decides which icon a boolean needs for the table\nconst boolIconPicker = (obj, prop, style) => {\n // currently showing icon only when false\n\n switch (prop) {\n case 'hedge': return obj[prop] ? (\n \n ) : (\n \n );\n case 'keyInvestor': return obj[prop] ? : ;\n case 'topTierInvestor': return obj[prop] ? : ;\n case 'earlyLookParticipantInvestor': return obj[prop] ? : ;\n case 'preDealEducationInvestor': return obj[prop] ? : ;\n case 'physicalRoadshow': return obj[prop] ? : ;\n case 'netRoadshow': return obj[prop] ? : ;\n case 'historicalInvestor': return obj[prop] ? : ;\n case 'hasComments':\n case 'feedback': return obj[prop] ? : ;\n case 'hasFlights': return obj[prop] ? : null;\n case 'hasTrain':\n case 'train': return obj[prop] ? : null;\n case 'chat': return obj[prop] ? : ;\n case 'hasCars': return obj[prop] ? : null;\n case 'selected': return obj[prop] ? : ;\n default: return null;\n }\n};\n\n\nexport const booleanFormatter = (value: any, obj: Object, prop: string, style: Object) => boolIconPicker(obj, prop, style);\n\nexport const tableDateFormatter = (value: any, obj: Object, prop: string) => dateFormatter(prop, value);\n\nexport const dateFormatter = (format: string, value: string): string => {\n const time = moment(value);\n let now;\n // parseZone allows you to keep the zone the timestamp has on it\n // moment will automatically parse into your local\n\n if (time.isValid()) {\n let zone,\n zoneTime,\n timeAbbreviation;\n switch (format) {\n case 'zoneTime':\n return time.parseZone().format('HH:mm');\n case 'localTime':\n return time.parseZone().format('DD MMM YYYY HH:mm:ss');\n case 'localDate':\n return time.parseZone().format('DD MMMM YYYY');\n case 'roadshow-nav':\n return time.parseZone().format('ddd DD');\n case 'roadshow':\n now = moment();\n if (now.isSame(time, 'day')) {\n return `Today ${time.parseZone().format('DD MMM')}`;\n }\n return time.parseZone().format('ddd DD MMM');\n case 'dayMonth':\n now = moment();\n if (now.isSame(time, 'day')) {\n return time.format('HH:mm');\n }\n return time.format('DD MMM');\n case 'dateMonth':\n return time.format('DD MMM');\n case 'dayMonthYearZone':\n zone = moment.tz.zone(moment.tz.guess(Date.now()));\n zoneTime = moment.tz(time, zone.name);\n timeAbbreviation = zone.abbr(Date.now());\n timeAbbreviation = ((timeAbbreviation[0] === '+' || timeAbbreviation === '-') ? 'GMT' : '') + timeAbbreviation;\n return `${zoneTime.format('DD MMMM YYYY HH:mm')} (${timeAbbreviation})`;\n case 'dayMonthYearZoneShort':\n zone = moment.tz.zone(moment.tz.guess(Date.now()));\n zoneTime = moment.tz(time, zone.name);\n timeAbbreviation = zone.abbr(Date.now());\n timeAbbreviation = ((timeAbbreviation[0] === '+' || timeAbbreviation === '-') ? 'GMT' : '') + timeAbbreviation;\n return `${zoneTime.format('DD MMM YYYY HH:mm')} (${timeAbbreviation})`;\n case 'dayMonthYearGMTtoISTZone':\n let initialDate;\n initialDate = new Date(new Date(time).getTime())\n initialDate.setHours(initialDate.getHours() + 5);\n initialDate.setMinutes(initialDate.getMinutes() + 30);\n return `${moment(initialDate).format('DD MMM YYYY HH:mm')} (IST)`;\n case \"dayMonthYearISTZone\":\n let dateToFormat;\n dateToFormat = new Date(new Date(time).getTime());\n return `${moment(dateToFormat).format(\"DD MMM YYYY HH:mm\")} (IST)`;\n case 'dayMonthYear':\n return time.format('DD MMM YYYY');\n default:\n now = moment();\n if (now.isSame(time, 'day')) {\n return time.format('HH:mm');\n }\n return time.format('DD MMM YYYY');\n }\n } else {\n return nullResponseCharacter;\n }\n};\n\nexport const titleHover = (val: any): string => {val};\n\nexport const colorChipFormatter = (val: any, obj: Object, prop: string, index: number) => {\n const colorHex = (val.toLowerCase() === 'other') ? primaryColorOther : prop[index % prop.length];\n return ;\n};\n\nexport const accessor = (val: any, obj: Object, prop: string) => {\n prop = prop.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties\n prop = prop.replace(/^\\./, ''); // strip a leading dot\n const propsToAccess = prop.split('.');\n for (let i = 0; i < propsToAccess.length; i++) {\n const currentProp = propsToAccess[i];\n if (obj) {\n if (currentProp in obj) {\n if (obj instanceof Object) {\n obj = obj[currentProp];\n }\n } else {\n return nullResponseCharacter;\n }\n }\n else {\n return nullResponseCharacter;\n }\n }\n return ((typeof obj === 'undefined') || obj === null) ? nullResponseCharacter : obj;\n};\n\nexport const summer = (arrayProp: string, val: any, obj: Object, prop: string) => {\n // drill down to array if nested\n const summee = accessor(val, obj, prop);\n\n if (obj && summee) {\n return summee.reduce((runningTotal, currentEl) => {\n if (arrayProp) {\n // If number is inside array of objects\n return runningTotal + +currentEl[arrayProp];\n } else {\n // array of numbers\n return runningTotal + +currentEl;\n }\n }, 0);\n } else {\n return null;\n }\n};\n\nexport const badNumFormatter = (val: any) => (typeof val !== 'number') ? '' : val;\n\nexport const percentFormatter = (val: any, obj: Object, short: boolean) => ((typeof val === 'number') ? `${val.toFixed(short ? 1 : 2)}%` : `${nullResponseCharacter}`);\n\nexport const percentFormatterWithDecimals = (val: any, numDecimals: number) => ((typeof val === 'number') ? `${val.toFixed(numDecimals ? numDecimals : 0)}%` : `${nullResponseCharacter}`);\n\nexport const nullValFormatter = (val: any) => (((typeof val === 'undefined') || val === null) ? nullResponseCharacter : val);\n\nexport const commaFormatter = (val: any) => {\n if ((typeof val === 'undefined') || val === null) {\n return nullResponseCharacter;\n }\n\n return numeral(val).format('0,0.00');\n};\nexport const commaWithoutDecimalFormatter = (val: any) => {\n if ((typeof val === 'undefined') || val === null) {\n return nullResponseCharacter;\n }\n\n return numeral(val).format('0,0');\n};\nexport const commaDecimalFormatter = (val: any) => (((typeof val === 'undefined') || val === null || (typeof val !== 'number')) ? nullResponseCharacter : commaFormatter(val.toFixed(2)));\n\nexport const millionFormatter = (val: any) => {\n if (typeof val === 'number') {\n return commaFormatter(val / 1000000);\n }\n};\n\n// Used on Order Book Summary Chart Dates to convert long string date to abbreviated format\nexport const abbreviateFullDate = (fullDate: string) => {\n if (fullDate === 'Other') {\n return 'Other';\n }\n return moment(fullDate).format('DD MMM');\n};\n\nexport const totalOrderFormatter = (amount: any, obj: Object) => {\n if ((typeof amount === 'undefined') || amount === null) {\n return '--';\n }\n\n let totalOrder = \"\" + amount + \" \" + obj.currency + \"\";\n\n return totalOrder;\n};\n\nexport const choosePhoneFormatter = (person: Person) => {\n\n if (person.directTelephone) {\n return `T: ${person.directTelephone}`\n }\n else if (person.mobileTelephone) {\n return `M: ${person.mobileTelephone}`\n }\n else {\n return ( )\n }\n\n}\nexport const timeAbbr = (): string => {\n let abbr = moment.tz.zone(moment.tz.guess()).abbr(Date.now());\n return ((timeAbbr[0] === '+' || timeAbbr === '-') ? 'GMT' : '') + abbr;\n}\n\nexport const renderDateTime = (date: any, timeZone: string) =>\n
    \n \n {`${dateFormatter('', date)} ${moment().isSame(date, 'day') ? timeZone : ''}`}\n \n
    \n\nexport const teamColor = i => colors(i);\nexport const findTeamColor = (teamNames, teamName) => colors(teamNames.indexOf(teamName));\n","import Types, { UtilityTypes } from 'actions/Types';\nimport { loginFailure } from 'actions/LoginActions';\n\nconst apiFailure = (message) => ({\n type: Types.API_FAILURE,\n message,\n});\n\nconst apiRequest = (isFetching) => ({\n type: Types.API_REQUEST,\n isFetching,\n});\n\nconst killActiveSagaWorkers = (actionType) => ({\n type: Types.KILL_ACTIVE_SAGA_WORKERS,\n actionType,\n});\n\nconst detectUserInteraction = () => ({\n type: Types.USER_INTERACTION,\n});\n\nconst baseFetchCompleted = dealId => ({\n type: UtilityTypes.BASE_FETCH_COMPLETED,\n dealId\n});\n\n// @effect saga handler\nconst appSetup = (unique_name, isISVUser) => ({\n type: UtilityTypes.APP_SETUP,\n unique_name,\n isISVUser\n});\n\nconst requestAcceptTerms = termsAndConditionsId => ({\n type: Types.API_GET_ACCEPT_TERMS_REQUEST,\n endPoint: `/v1/TermsAndConditions?termsAndConditionsId=${termsAndConditionsId}&accepted=true`,\n ajaxType: 'PATCH',\n onSuccess: receiveTermsAccepted,\n onFailure: loginFailure\n});\n\nconst receiveTermsAccepted = () => ({\n type: Types.API_GET_ACCEPT_TERMS_RESPONSE,\n accepted: true,\n});\n\nconst purge = () => ({ type: UtilityTypes.PURGE });\n\n// @effect saga handler\nconst dealSetup = (dealId, redirect) => ({\n type: UtilityTypes.DEAL_SETUP,\n dealId,\n redirect,\n});\n\nconst dealPurge = () => ({ type: UtilityTypes.DEAL_PURGE });\n\nconst markFeature = (dealFeature, dirty) => ({\n type: UtilityTypes.MARK_FEATURE,\n dealFeature,\n dirty,\n});\n\nconst receiveDeal = dealsData => ({\n type: UtilityTypes.API_GET_DEAL_RESPONSE,\n dealsData,\n})\nconst requestDeal = (dealId, loader) => ({\n type: UtilityTypes.API_GET_DEAL_REQUEST,\n endPoint: `/v1/deals/${dealId}`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveDeal,\n loader,\n});\n\nconst receiveDealInfo = response => ({\n type: UtilityTypes.API_GET_DEAL_INFO_RESPONSE,\n dealInfo: response.data[0],\n});\n\nconst requestDealInfo = (dealId, loader) => ({\n type: UtilityTypes.API_GET_DEAL_INFO_REQUEST,\n endPoint: `/v1/dealInfo/${dealId}`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveDealInfo,\n loader,\n});\n\nconst tileModuleFetched = tile => ({\n type: UtilityTypes.TILE_MODULE_FETCHED,\n tile,\n});\n\nconst receiveDeals = allDeals => ({\n type: UtilityTypes.API_GET_DEALS_RESPONSE,\n allDeals,\n})\nconst requestDeals = (loader) => ({\n type: UtilityTypes.API_GET_DEALS_REQUEST,\n endPoint: '/v2/deals',\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveDeals,\n loader,\n});\n\nconst receiveNavigationFeatures = ({ data }) => ({\n type: UtilityTypes.API_GET_NAV_FEATURES_RESPONSE,\n navigationFeatures: data,\n});\nconst requestNavigationFeatures = loader => ({\n type: Types.API_GET_NAV_FEATURES_REQUEST,\n endPoint: '/v1/StaticData/NavigationFeature',\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveNavigationFeatures,\n loader,\n});\n\nconst startEventNotificationSaga = () => ({\n type: UtilityTypes.START_EVENT_NOTIFICATION_SAGA,\n});\nconst stopEventNotificationSaga = () => ({\n type: UtilityTypes.STOP_EVENT_NOTIFICATION_SAGA,\n});\n\nconst receivePollingInterval = response => ({\n type: UtilityTypes.API_GET_POLLING_FREQUENCY_RESPONSE,\n pollingFrequency: response.data[0].pollingFrequency,\n});\nconst requestPollingInterval = loader => ({\n type: UtilityTypes.API_GET_POLLING_FREQUENCY_REQUEST,\n endPoint: '/v1/ServiceConfiguration',\n params: {},\n ajaxType: 'GET',\n onSuccess: receivePollingInterval,\n loader, // v 1.7\n});\n\nconst checkFeature = dealFeature => ({\n type: UtilityTypes.CHECK_FEATURE,\n dealFeature,\n});\n\nconst handleHomeFeature = (dealFeature, dealId) => ({\n type: UtilityTypes.EFFECT_HANDLE_HOME_FEATURE_SETUP,\n dealFeature,\n dealId,\n});\n\nconst setHomeFeatureStatus = (dealFeature, status) => ({\n type: UtilityTypes.SET_HOME_FEATURE_FETCH_STATUS,\n dealFeature,\n status,\n});\n\nconst addCalledEndpoint = (dealFeature, endPoint) => ({\n type: UtilityTypes.ADD_CALLED_ENDPOINT_FROM_NOTIFICATION_CYCLE,\n dealFeature,\n endPoint,\n});\n\nconst unauthorizedResponseEffect = dealFeature => ({\n type: UtilityTypes.UNAUTHORIZED_EFFECT_RESPONSE_FEATURE,\n dealFeature,\n});\n\nconst requestFeatureData = (dealFeature, dealId) => ({\n type: UtilityTypes.EFFECT_REQUEST_FEATURE_DATA,\n dealFeature,\n dealId,\n});\n\nconst openModal = modalId => ({\n type: UtilityTypes.OPEN_MODAL,\n modalId,\n});\n\nconst closeModal = modalId => ({\n type: UtilityTypes.CLOSE_MODAL,\n modalId,\n})\nconst changeTab = (tabsId, tabId) => ({\n type: UtilityTypes.CHANGE_TAB,\n tabsId,\n tabId,\n});\n\n// NOTE: All site text is for en-gb at the moment so the language is hard coded\nconst requestSiteText = (languageCode, siteTextType) => ({\n type: UtilityTypes.API_GET_SITE_TEXT_REQUEST,\n endPoint: `../../en-gb/${siteTextType}`,\n ajaxType: 'GET',\n});\n\nconst requestManageDevice = () => ({\n type: UtilityTypes.API_REQUEST_MANAGE_DEVICE,\n endPoint: `/v1/managedevice`,\n ajaxType: 'GET',\n});\n\nconst receiveManageDevice = response => ({\n type: UtilityTypes.API_RECEIVE_MANAGE_DEVICE,\n devices: response.data,\n});\n\nconst deactivateDevice = deviceId => ({\n type: UtilityTypes.API_DEACTIVATE_DEVICE,\n endPoint: `/v1/managedevice/DeactivateUserDevice?userRegisteredDeviceId=${deviceId}`,\n ajaxType: 'PATCH',\n});\n\nexport {\n apiRequest,\n apiFailure,\n killActiveSagaWorkers,\n detectUserInteraction,\n appSetup,\n purge,\n dealSetup,\n dealPurge,\n tileModuleFetched,\n markFeature,\n requestDeal,\n requestDealInfo,\n requestDeals,\n requestNavigationFeatures,\n startEventNotificationSaga,\n stopEventNotificationSaga,\n requestPollingInterval,\n checkFeature,\n handleHomeFeature,\n setHomeFeatureStatus,\n addCalledEndpoint,\n unauthorizedResponseEffect,\n requestFeatureData,\n // fetching\n baseFetchCompleted,\n // modal\n openModal,\n closeModal,\n // tabs\n changeTab,\n requestAcceptTerms,\n requestSiteText,\n requestManageDevice,\n receiveManageDevice,\n deactivateDevice,\n\n};\n","export const ALL_TRANCHES_RECORD = {\n title: 'Book Evolution',\n id: 'aT'\n};\n\nexport const ORDER_STATUS = {\n DELETED: 'Deleted',\n CANCELLED: 'Cancelled',\n INACTIVE: 'InActive',\n ACTIVE: 'Active',\n}\n\nexport const ORDER_SUMMARY_TABS = {\n FULLORDERBOOK: 'FullOrderBook',\n ORDERBOOKSUMMARY: 'OrderBookSummary',\n AMENDEDORDERSUMMARY:'AmendedOrderSummary',\n ORDEREVOLUTION:'OrderEvolution'\n}\n\nexport const ALL_TRANCHES = { key: 0, value: 'ALL', label: 'ALL' }\nexport const ALL_INVESTORS = { key: 0, value: 'ALL', label: 'ALL' }\nexport const DEFAULT_TIME_INTERVAL = { key: 15, value: '15 Min' };\nexport const DEFAULT_ALL = { value: 'ALL', label: 'ALL' };\nexport const DEFAULT_ALL_DAY = {key:81, value: 'ALL DAY', label: 'ALL DAY' };\nexport const DEFAULT_MIN = { key: 0, value: \"00\", label: \"00\" };\nexport const TIME_INTERVALS = [\n { key: 15, value: '15 Min', label: '15 Min' },\n { key: 30, value: '30 Min', label: '30 Min' },\n { key: 60, value: '60 Min', label: '60 Min' },\n];\n\nexport const TIME_RANGES = [\n DEFAULT_ALL_DAY,\n { key: 8, value: '00:00 to 08:00', label: '00:00 to 08:00' },\n { key: 16,value: '08:00 to 16:00', label: '08:00 to 16:00' },\n { key: 0, value: '16:00 to 23:59', label: '16:00 to 00:00' },\n { key: 1, value: 'From specific time', label: ' From specific time' },\n];\n\nexport const STATIC_MINUTES = [\n DEFAULT_MIN,\n { key: 15, value: '15', label: '15' },\n { key: 30, value: '30', label: '30' },\n { key: 45, value: '45', label: '45' },\n];","import { createSelector } from \"reselect\";\nimport { isInternalUser, getUniqueName } from \"selectors\";\n\nconst selectUtilityReducer = (state) => state.isvUtility;\n\nexport const getIsvDeals = (state) => selectUtilityReducer(state).allDeals;\nexport const getIsvCurrentDeal = (state) =>\n selectUtilityReducer(state).dealsData;\n\nexport const getLatestIsvCurrentDeal = (state) => {\n return state.isvInformationBanner.latestIsvCurrentDealData;\n}\nexport const getIsvUniqueProductType = createSelector(\n [getIsvDeals],\n (isvDeals) => {\n const uniqueProductType = [\n ...new Map(\n isvDeals.map((item) => [item[\"productType.productTypeName\"], item])\n ).values(),\n ];\n return uniqueProductType;\n }\n);\n\nexport const selectInformationBannerReducer = (state) => \n state.isvInformationBanner.isDashboardBannerOpen;\n\nexport const dealInformationBannerReducer = (state) =>\n state.isvInformationBanner.isDealInformationBannerOpen;\n\nexport const isIsvExternalUser = createSelector(\n [\n getIsvCurrentDeal,\n (state) => isInternalUser(state),\n (state) => getUniqueName(state),\n ],\n (isvDeal, isInternalUser, userId) => {\n if (!isvDeal || !isvDeal.dealUserMapping || !isvDeal.dealUserMapping.length)\n return false;\n return (\n isvDeal.dealUserMapping.some((ele) => ele.userId === Number(userId)) &&\n (!isInternalUser || isInternalUser === 'false')\n );\n }\n);\n\nexport const referenceInformationBannerReducer = (state) =>\n state.isvInformationBanner.isReferenceInformationBannerOpen;\n\nexport const selectConfirmationBannerStatus = (state) => state.isvInformationBanner.isConfirmationDialogueOpen;\nexport const getIsvCurrentDealId = state => selectUtilityReducer(state).dealsData.dealId;\nexport const selectUploadedFile = state => state.isvDocuments.file;\nexport const selectUploadedOverlayStatus = state => state.isvDocuments.isOverlayOpen;\nexport const selectUploadedTitle = state => state.isvDocuments.title;\nexport const selectIsEcbClientUploaded = state => state.isvDocuments.isEcbClientDocUploaded;\nexport const selectedDocument = state => state.isvDocuments.selectedDocument;\nexport const selectSnackBarStatus = state => state.isvSnackBar.showSnackbar;\nexport const selectSnackBarMessage = state => state.isvSnackBar.snackBarMessage;\nexport const isIsvBaseFetchCompleted = state => selectUtilityReducer(state).isvBaseFetchCompleted;\nexport const dataFetching = state => selectUtilityReducer(state).dataFetching;\nexport const selectDocumentDeleteId = (state) => state.isvInformationBanner.deleteDealDocumentId;\nexport const selectClientDocumentData = state => state.isvDocuments.clientDocumentData;\nexport const selectLatestCommentsDataForCurrentDeal = state => state.isvDocuments.latestCommentsDataForCurrentDeal;\nexport const selectLatestCommentsDataForCurrentComment = state => state.isvDocuments.latestCommentsDataForCurrentComment;\nexport const selectIsCommentPopUpOpen = state => state.isvDocuments.isCommentsPopupOpen;\nexport const selectIsvRejectButtonLabel = state => state.isvDocuments.rejectLabel;\nexport const selectIsvIsAdditionalComment = state => state.isvDocuments.isAdditionalComment;\nexport const selectIsvTableColumnWidth = state => state.isvDocuments.titleTableColumnWidth;\nexport const selectedEcb2ReturnDataForCurrentDeal = state => state.isvDocuments.ecb2ReturnDataForCurrentDeal;\nexport const selectedEcb2ReturnStatus = state => state.isvDocuments.isECBStatusEnabled;\nexport const selectIsRefDocumentUploaded = state => state.isvDocuments.isReferenceDocUploaded;\nexport const selectedReferenceInformationDataForCurrentDeal = state => state.isvDocuments.referenceInformationDataForCurrentDeal;\nexport const selectIsReferenceInformationEnabled = state => state.isvDocuments.isReferenceInformationEnabled;","import Types from 'actions/Types';\n\nconst attemptAuthentication = (response) => ({\n type: Types.ATTEMPT_AUTHENTICATION,\n userData: response,\n});\n\nconst setAuthentication = (status, context) => ({\n type: Types.SET_AUTHENTICATION,\n status,\n context,\n});\n\nconst loginFailure = (message) => ({\n type: Types.LOGIN_FAILURE,\n message\n});\n\nconst logout = (preventSSO) => ({\n type: Types.LOGOUT,\n preventSSO : !preventSSO ? false : true\n});\n\nconst requestAuthTokenGet = (loader) => ({\n type: Types.API_ATTEMPT_SSO,\n endPoint: '/v1/auth2/internal',\n params: {},\n ajaxType: 'GETCREDS',\n onSuccess: attemptAuthentication,\n onFailure: loginFailure,\n loader,\n});\n\nconst requestAuthTokenPost = (username, pdword, loader) => ({\n type: Types.API_ATTEMPT_LOGIN,\n endPoint: '/v1/auth/loginAs',\n params: {\n username,\n pdword,\n },\n ajaxType: 'POST',\n onSuccess: attemptAuthentication,\n onFailure: loginFailure,\n loader,\n});\n\nconst requestPreAuthErrLogPost = (username, request, response, errorCode, errorDescription, loader) => ({\n type: Types.API_PRE_AUTH_ERR_LOG,\n endPoint: '/v1/preauth/error',\n params: {\n username,\n request,\n response,\n errorCode, \n errorDescription,\n },\n ajaxType: 'POST',\n onSuccess: loginFailure,\n onFailure: loginFailure,\n loader,\n});\n\nconst requestExtAuthTokenPost = (username, pdword, aT, loader) => ({\n type: Types.API_ATTEMPT_LOGIN,\n endPoint: '/v1/auth/loginAs',\n params: {\n username,\n pdword,\n aT,\n },\n ajaxType: 'POST',\n onSuccess: attemptAuthentication,\n onFailure: loginFailure,\n loader,\n})\n\nconst loginFormChanged = (fieldName, fieldValue) => ({\n type: Types.LOGIN_FORM_CHANGE,\n fieldName,\n fieldValue,\n});\n\nconst loginFormSubmit = (userNameField, passwordField) => ({\n type: Types.LOGIN_FORM_SUBMIT,\n userNameField,\n passwordField,\n})\n\nconst setInvalidFields = (fields) => ({\n type: Types.SET_INVALID_FIELDS,\n fields,\n})\n\nconst loginFormExtSubmit = (userNameField, authTypeField) => ({\n type: Types.LOGIN_FORM_EXT_SUBMIT,\n userNameField,\n authTypeField\n})\n\nconst loginFormTotpSubmit = ( userNameField, passwordField, aT ) => ({\n type: Types.LOGIN_FORM_TOTP_SUBMIT,\n userNameField,\n passwordField,\n aT,\n})\n\nconst loginFormPnSubmit = ( userNameField, aT ) => ({\n type: Types.LOGIN_FORM_PN_SUBMIT,\n userNameField,\n aT\n})\n\nconst cancelLoginFormPnSubmit = () => ({\n type: Types.CANCEL_LOGIN_FORM_PN_SUBMIT\n})\n\nconst setAuthType = ( authType ) => ({\n type: Types.SET_AUTH_TYPE,\n authType,\n})\n\nconst setLoginError = ( e ) => ({\n type: Types.SET_LOGIN_ERROR,\n e,\n})\n\nconst setIsIsvUser = (e) => ({\n type: Types.SET_IS_ISV_USER,\n e,\n})\n\nconst setUsername = ( userName ) => ({\n type: Types.SET_USERNAME,\n userName,\n})\n\nconst setLoginModal = ( showLoginModal ) => ({\n type: Types.SET_LOGIN_MODAL,\n showLoginModal,\n})\n\nconst loginFormInvalid = (fieldName) => ({\n type: Types.LOGIN_FORM_INVALID,\n fieldName,\n})\n\nconst loginFormValid = (fieldName) => ({\n type: Types.LOGIN_FORM_VALID,\n fieldName,\n})\n\nconst initialize = (token, expiration, isInternal) => ({\n type: Types.INITIALIZE,\n token,\n expiration,\n isInternal,\n})\n\nconst initializing = (initializing) => ({\n type: Types.INITIALIZING,\n initializing,\n});\n\nconst setPendingAuthentication = pending => ({\n type: Types.SET_PENDING_AUTHENTICATION,\n pending,\n});\n\nconst setAuthenticationResponse = message => ({\n type: Types.SET_AUTHENTICATION_RESPONSE,\n message,\n});\n\nconst requestTermsAndConditions = langCode => ({\n type: Types.API_GET_TERMS_AND_CONDITIONS,\n endPoint: `/v1/TermsAndConditions?langCode=${langCode.toLowerCase()}`,\n ajaxType: 'GET',\n onSuccess: receiveTermsAndConditions,\n});\n\nconst receiveTermsAndConditions = response => ({\n type: Types.RECEIVE_TERMS_AND_CONDITIONS,\n data: response.data[0],\n})\n\nconst showTermsAndConditions = () => ({\n type: Types.SHOW_TERMS_AND_CONDITIONS,\n});\n\nconst acceptTermsAndConditions = (accepted, termsAndConditionsId) => ({\n type: Types.ACCEPT_TERMS_CONDITIONS,\n accepted,\n termsAndConditionsId,\n});\n\nconst onTermsCheckedChange = (checked) => ({\n type: Types.ON_TERMS_CHECKED_CHANGE,\n checked,\n});\n\nconst receiveTermsAccepted = () => ({\n type: Types.TERMS_AND_CONDITIONS_ACCEPTED\n});\n\nconst openSiteText = (langCode, siteTextType) => ({\n type: Types.OPEN_SITE_TEXT,\n langCode,\n siteTextType,\n});\n\nconst setSiteText = (langCode, siteTextType, text) => ({\n type: Types.SET_SITE_TEXT,\n langCode,\n siteTextType,\n text,\n});\n\nconst deactivateDevice = deviceId => ({\n type: Types.DEACTIVE_BIOMETRICS_DEVICE,\n deviceId,\n})\n\nconst viewDeviceBiometrics = () => ({\n type: Types.VIEW_DEVICE_BIOMETRICS,\n})\n\nconst setManageDevices = devices => ({\n type: Types.SET_MANAGE_DEVICES,\n devices,\n})\n\nconst clearDeviceDeactivationMessages = () => ({\n type: Types.CLEAR_DEVICE_DEACTIVATE_MESSAGES,\n})\n\nconst setDeviceDeactivationMessages = (response) => ({\n type: Types.SET_DEVICE_DEACTIVATE_MESSAGES,\n response,\n})\n\nexport {\n attemptAuthentication,\n setAuthType,\n setLoginError,\n setIsIsvUser,\n setUsername,\n setAuthentication,\n loginFailure,\n logout,\n requestPreAuthErrLogPost,\n setLoginModal,\n requestAuthTokenPost,\n requestExtAuthTokenPost,\n requestAuthTokenGet,\n loginFormChanged,\n loginFormSubmit,\n setInvalidFields,\n loginFormExtSubmit,\n loginFormTotpSubmit,\n loginFormPnSubmit,\n cancelLoginFormPnSubmit,\n loginFormInvalid,\n loginFormValid,\n initialize,\n initializing,\n setPendingAuthentication,\n setAuthenticationResponse,\n showTermsAndConditions,\n acceptTermsAndConditions,\n onTermsCheckedChange,\n receiveTermsAccepted,\n requestTermsAndConditions,\n receiveTermsAndConditions,\n openSiteText,\n setSiteText,\n deactivateDevice,\n viewDeviceBiometrics,\n setManageDevices,\n clearDeviceDeactivationMessages,\n setDeviceDeactivationMessages,\n};\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport FocusTrap from 'focus-trap-react';\nimport styled from 'styled-components';\n\nimport * as zIndexes from 'shared/styles/variables/indexes';\nimport { ModalContainer } from 'shared/components/Popup';\n\nconst ContainerWrapper = styled.div`\n display: inline-block;\n height: 100%;\n`;\n\nconst ContentWrapper = styled.div`\n ${ModalContainer} {\n width: ${props => props.width}px;\n min-width: ${props => props.width}px;\n padding: 0;\n border: 1px solid #333;\n }\n`;\n\nconst dropdownInlineStyles = {\n boxShadow: '0 5px 10px rgba(0,0,0,.2)',\n position: 'absolute',\n top: -1,\n left: 0,\n zIndex: zIndexes.dropdown,\n}\n\nclass PopupSystem extends PureComponent {\n fallbackFocus = () => {\n const id = this.props.modalID;\n\n setTimeout(() => {\n const clickableElement = document.getElementById(`${id}-btn`);\n\n if (this && this.props && this.props.closeModal) {\n this.props.closeModal();\n }\n\n if (clickableElement) {\n clickableElement.focus();\n }\n }, 100);\n }\n\n render() {\n return (\n \n {\n this.props.clickableElement\n }\n {\n this.props.isModalOpen && (\n
    \n \n \n {\n this.props.content\n }\n \n \n
    \n )\n }\n
    \n );\n }\n}\n\nPopupSystem.propTypes = {\n // required\n modalID: PropTypes.string.isRequired,\n isModalOpen: PropTypes.bool.isRequired,\n closeModal: PropTypes.func.isRequired,\n content: PropTypes.element.isRequired,\n};\n\nPopupSystem.defaultProps = {\n // needed ?\n};\n\nexport default PopupSystem;\n","//\n// Z-Indexes in whole application !\n//\nexport const navigation = 2000;\nexport const dropdown = 3000;","import { uniq } from 'lodash';\nimport { featurePageIds, overlayIds } from 'constants/featurePages';\n\nexport const globalTealiumArgs = {\n page_channel: 'web',\n site_region: 'global',\n site_subregion: 'global',\n site_country: 'global',\n site_entity: 'HSBC Bank Plc',\n site_brand: 'HSBC',\n page_language: 'en',\n page_business_line: 'GBM',\n page_customer_group: 'Business',\n};\n\n//\n// Track View (handled in Analytics worker)\n//\nexport const trackViewFields = {\n PAGE_NAME: 'page_name',\n PAGE_LANGUAGE: 'page_language',\n PAGE_TYPE: 'page_type',\n PAGE_CATEGORY: 'page_category',\n CUSTOMER_ID: 'customer_id',\n TRANSACTION_ID: 'transaction_id',\n CUSTOMER_GROUP: 'customer_group',\n};\n\nexport const views = {\n INTERNAL_LOGIN_PAGE: {\n [trackViewFields.PAGE_NAME]: 'mydeal:authentication:logon',\n [trackViewFields.PAGE_TYPE]: 'verification',\n [trackViewFields.PAGE_CATEGORY]: 'authentication',\n },\n EXTERNAL_LOGIN_PAGE: {\n [trackViewFields.PAGE_NAME]: 'mydeal:authentication:logon',\n [trackViewFields.PAGE_TYPE]: 'verification',\n [trackViewFields.PAGE_CATEGORY]: 'authentication',\n },\n EXTERNAL_TOTP_LOGIN_PAGE: {\n [trackViewFields.PAGE_NAME]: 'mydeal:authentication:logon',\n [trackViewFields.PAGE_TYPE]: 'verification',\n [trackViewFields.PAGE_CATEGORY]: 'authentication',\n },\n EXTERNAL_PN_LOGIN_PAGE: {\n [trackViewFields.PAGE_NAME]: 'mydeal:authentication:logon',\n [trackViewFields.PAGE_TYPE]: 'verification',\n [trackViewFields.PAGE_CATEGORY]: 'authentication',\n },\n [featurePageIds.LANDING_PAGE]: {\n [trackViewFields.PAGE_NAME]: 'mydeal:landing',\n [trackViewFields.PAGE_TYPE]: 'landing',\n },\n [featurePageIds.MY_DOCS_DOCUMENTS_PAGE]: actualTabTitle => ({\n [trackViewFields.PAGE_NAME]: `mydeal:documents:${actualTabTitle} documents`,\n [trackViewFields.PAGE_TYPE]: 'other',\n [trackViewFields.PAGE_CATEGORY]: 'documents',\n }),\n [featurePageIds.INVESTOR_FEEDBACK_SUMMARY_PAGE]: actualTabName => ({\n [trackViewFields.PAGE_NAME]: `mydeal:investor feedback:${actualTabName}`,\n [trackViewFields.PAGE_TYPE]: 'other',\n [trackViewFields.PAGE_CATEGORY]: 'investor feedback',\n }),\n [featurePageIds.ORDERBOOK_SUMMARY_PAGE]: {\n [trackViewFields.PAGE_NAME]: 'mydeal:orderbook:summary',\n [trackViewFields.PAGE_TYPE]: 'other',\n [trackViewFields.PAGE_CATEGORY]: 'orderbook',\n },\n [featurePageIds.ORDERBOOK_FULL_PAGE]: {\n [trackViewFields.PAGE_NAME]: 'mydeal:orderbook:detail',\n [trackViewFields.PAGE_TYPE]: 'other',\n [trackViewFields.PAGE_CATEGORY]: 'orderbook',\n },\n [featurePageIds.ORDERBOOK_AMENDED_PAGE]: {\n [trackViewFields.PAGE_NAME]: 'mydeal:orderbook:amended',\n [trackViewFields.PAGE_TYPE]: 'other',\n [trackViewFields.PAGE_CATEGORY]: 'orderbook',\n },\n [featurePageIds.ORDERBOOK_EVOLUTION_PAGE]: {\n [trackViewFields.PAGE_NAME]: 'mydeal:orderbook:evolution',\n [trackViewFields.PAGE_TYPE]: 'other',\n [trackViewFields.PAGE_CATEGORY]: 'orderbook',\n },\n [featurePageIds.PRICING_DOCUMENTS_PAGE]: {\n [trackViewFields.PAGE_NAME]: 'mydeal:pricing:document',\n [trackViewFields.PAGE_TYPE]: 'other',\n [trackViewFields.PAGE_CATEGORY]: 'pricing',\n },\n [featurePageIds.ROADSHOW_DAILY_SCHEDULE_PAGE]: {\n [trackViewFields.PAGE_NAME]: 'mydeal:roadshow:daily schedule',\n [trackViewFields.PAGE_TYPE]: 'other',\n [trackViewFields.PAGE_CATEGORY]: 'roadshow',\n },\n [overlayIds.SESSION_EXPIRY_OVERLAY]: {\n [trackViewFields.PAGE_NAME]: 'mydeal:session expiry overlay',\n [trackViewFields.PAGE_TYPE]: 'other',\n },\n //\n //\n // Added by @MD\n //\n //\n [featurePageIds.INVESTOR_FEEDBACK_DETAILS_PAGE]: {\n [trackViewFields.PAGE_NAME]: 'mydeal:investor feedback:details',\n [trackViewFields.PAGE_TYPE]: 'other',\n [trackViewFields.PAGE_CATEGORY]: 'investor feedback',\n },\n [featurePageIds.ROADSHOW_DOCUMENT_MODE_PAGE]: {\n [trackViewFields.PAGE_NAME]: 'mydeal:roadshow:document mode',\n [trackViewFields.PAGE_TYPE]: 'other',\n [trackViewFields.PAGE_CATEGORY]: 'roadshow',\n },\n};\n\n//\n// Track Event\n//\nconst trackEventCategories = {\n CONTENT: 'content',\n};\n\nconst trackEventActions = {\n BUTTON_CLICK: 'button click',\n ONSITE: 'onsite',\n TAB: 'tab'\n};\n\nconst formatEvent = (category, action, content) => ({\n event_category: category,\n event_action: action,\n event_content: content,\n});\n\nexport const events = {\n // ET-0001\n LOGIN_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'login'),\n // ET-0002\n NAVIGATION_MY_DEAL_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'mydeal'),\n NAVIGATION_PRICING_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'pricing'),\n NAVIGATION_INVESTORS_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'investors'),\n NAVIGATION_ROADSHOW_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'roadshow'),\n NAVIGATION_ORDERS_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'orders'),\n NAVIGATION_MY_DOCS_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'documents'),\n NAVIGATION_INVESTOR_FEEDBACK_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'investor feedback'),\n // ET-0003\n DEAL_SWITCH: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'switch deal'),\n LOGOUT: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'logout'),\n // ET-0004\n EXPLORE_PRICING: formatEvent(trackEventCategories.CONTENT, trackEventActions.ONSITE , 'explore'),\n EXPLORE_INVESTORS: formatEvent(trackEventCategories.CONTENT, trackEventActions.ONSITE , 'explore'),\n EXPLORE_ROADSHOW: formatEvent(trackEventCategories.CONTENT, trackEventActions.ONSITE , 'explore'),\n EXPLORE_ORDERS: formatEvent(trackEventCategories.CONTENT, trackEventActions.ONSITE , 'explore'),\n EXPLORE_MY_DOCS: formatEvent(trackEventCategories.CONTENT, trackEventActions.ONSITE , 'explore'),\n EXPLORE_INVESTOR_FEEDBACK: formatEvent(trackEventCategories.CONTENT, trackEventActions.ONSITE , 'explore'),\n LATEST_ORDERS: formatEvent(trackEventCategories.CONTENT, trackEventActions.ONSITE , 'latest orders'),\n LATEST_FEEDBACK: formatEvent(trackEventCategories.CONTENT, trackEventActions.ONSITE , 'latest feedback'),\n LATEST_DOCUMENTS: formatEvent(trackEventCategories.CONTENT, trackEventActions.ONSITE , 'documents'),\n // ET-0005\n MY_DOCS_LEFT_NAV: categoryName => formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, `documents left hand nav : ${categoryName}`),\n // ET-0006 (sorting popup removed)\n // MY_DOCS_SORT_DOCUMENTS: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'documents : sort documents'),\n // ET-0007 (TODO - in pricing / roadshow doc mod / documents we have this action - should be splitted on 3 separate events - now is as one general)\n MY_DOCS_OPEN_DOCUMENT: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'documents : open document'),\n // PRICING_OPEN_DOCUMENT: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'pricing : open document'),\n // ROADSHOW_DOC_MODE_OPEN_DOCUMENT: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, ''),\n // ET-0008\n INVESTOR_FEEDBACK_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'investor feedback'),\n INVESTOR_FULL_FEEDBACK_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'full feedback'),\n // ET-0009 (Sentimet chart is missing in excel)\n THEME_DISTRIBUTION_TAB_BUTTON: tab => formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, tab),\n // ET-0010\n INVESTOR_FEEDBACK_SUMMARY_TAB: tabTitle => formatEvent(trackEventCategories.CONTENT, trackEventActions.TAB , tabTitle),\n // ET-0011\n ORDERS_SUMMARY_CAROUSEL_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'orders : order range'),\n // ET-0012\n ORDERS_SUMMARY_FULL_ORDERBOOK_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'orders : full order book'),\n // ET-0013\n // dcm\n ORDERS_SUMMARY_DEMAND_TAB_BY_REGION: formatEvent(trackEventCategories.CONTENT, trackEventActions.TAB, 'orders : demand by region'),\n ORDERS_SUMMARY_DEMAND_TAB_BY_INVESTOR_TYPE: formatEvent(trackEventCategories.CONTENT, trackEventActions.TAB, 'orders : demand by investor type'),\n ORDERS_SUMMARY_DEMAND_TAB_BY_COUNTRY: formatEvent(trackEventCategories.CONTENT, trackEventActions.TAB, 'orders : demand by country'),\n // ecm\n ORDERS_SUMMARY_DEMAND_TAB_BY_DAY: formatEvent(trackEventCategories.CONTENT, trackEventActions.TAB, 'orders : demand by day'),\n // ET-0014\n ORDERS_SUMMARY_TOP10_TAB_ORDERS: formatEvent(trackEventCategories.CONTENT, trackEventActions.TAB, 'orders : top 10 orders'),\n ORDERS_SUMMARY_TOP10_TAB_NEW_OR_CHANGED: formatEvent(trackEventCategories.CONTENT, trackEventActions.TAB, 'orders : top 10 new or changed'),\n // ET-0015\n FULL_ORDERBOOK_SUMMARY_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'orders : order summary'),\n ORDERBOOK_AMENDED_SUMMARY_BOTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'orders : amended summary'),\n BOOK_EVOLUTION_SUMMARY_BOTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'orders : book evolution'),\n // ET-0016\n // dcm\n FULL_ORDERBOOK_TAB_ORDER_DETAIL: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'orders : order detail'),\n FULL_ORDERBOOK_TAB_INVESTOR_TYPE: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'orders : investor type'),\n FULL_ORDERBOOK_TAB_ENGAGEMENT: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'orders : engagement'),\n // ecm\n FULL_ORDERBOOK_TAB_DEMAND_DETAIL: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'orders : demand detail'),\n FULL_ORDERBOOK_TAB_ORDER_OVERVIEW: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'orders : order overview'),\n FULL_ORDERBOOK_TAB_ALLOCATION: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'orders : allocation'),\n // ET-0017\n //\n FULL_ORDERBOOK_SORT: (col, sortType) => formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, `orders : sort by ${col} ${sortType}`),\n //\n // ET-0018\n ROADSHOW_CAROUSEL_DATE_CHANGE: formatEvent(trackEventCategories.CONTENT, trackEventActions.TAB, 'roadshow : change date'),\n // ET-0019\n ROADSHOW_FULL_SCHEDULE_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'roadshow : full schedule'),\n ROADSHOW_CONTACTS_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'roadshow : roadshow contacts'),\n ROADSHOW_ONLINE_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'roadshow : online roadshow'),\n // ET-0020\n ROADSHOW_EVENT_DETAIL: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'roadshow : event detail'),\n // ET-0021\n SESSION_EXPIRY_LOGOUT: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'session expiry : logout'),\n SESSION_EXPIRY_CONTINUE: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'session expiry : continue'),\n //\n //\n // Added by @MD\n //\n //\n MULTI_LANGUAGE: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'multi language'),\n INVESTOR_FEEDBACK_SUMMARY_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'investor feedback : summary'),\n INVESTOR_FEEDBACK_SORT_FEEDBACK_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'investor feedback : sort feedback'),\n ROADSHOW_MULTITEAM_BUTTON: formatEvent(trackEventCategories.CONTENT, trackEventActions.BUTTON_CLICK, 'roadshow : multi team'),\n};\n\nif (process.env.NODE_ENV === 'development') {\n const keys = Object.keys(events);\n if (uniq(keys).length !== keys.length) {\n throw new Error('Analytic Events contains duplicated keys');\n }\n}\n","import { connect } from 'react-redux';\n\nimport { getSelectedLanguage } from 'selectors';\nimport { translationString } from 'translations/TranslationText';\n\nfunction withTranslate(ariaLabels) {\n return Cmp => connect(\n (state, ownProps) => ariaLabels(\n (key, defaultText, replace) => translationString(key, getSelectedLanguage(state), defaultText, replace),\n ownProps,\n )\n )(Cmp);\n}\n\nexport default withTranslate;\n","import IsvTypes from \"./IsvTypes\";\n\nexport const viewDocument = (clientFileId, title, fileName, documentId) => {\n let urlText = `Document/DownloadFile?clientFileId=${clientFileId}`;\n if (!clientFileId) {\n urlText = `Document/DownloadFile?documentId=${documentId}`;\n }\n return {\n type: IsvTypes.API_REQUEST_DOWNLOAD_DOCUMENT,\n endPoint: urlText,\n params: {\n documentId,\n title,\n fileName,\n },\n ajaxType: 'GET',\n };\n};\n\nexport const handleOpenUploadOverlay = (isOpen, document, title, isEcbClientDocUploaded, isReferenceDocUploaded) => ({\n type: IsvTypes.APPLY_HANDLE_UPLOAD_OVERLAY,\n isOpen,\n document,\n title,\n isEcbClientDocUploaded,\n isReferenceDocUploaded\n})\n\nexport const uploadFileDocument = (file, title) => ({\n type: IsvTypes.APPLY_HANDLE_FILE_UPLOAD,\n file,\n title\n})\n\nexport const startUploadingFile = () => ({\n type: IsvTypes.START_UPLOADING\n})\n\nexport const setUploadProgress = progress => ({\n type: IsvTypes.UPLOAD_PROGRESS,\n progress,\n})\n\nexport const uploadPostDocument = (data, isTitleAlreadyExist, isEcbDocument, document) => ({\n type: IsvTypes.API_REQUEST_UPLOAD_DOCUMENTS,\n endPoint: '/Document/UploadDocument',\n data,\n isTitleAlreadyExist,\n isEcbDocument,\n document,\n ajaxType: 'POST',\n})\n\nexport const handleDocumentApproveReject = (data) => {\n return {\n type: IsvTypes.API_APPROVE_REJECT_REQUEST_STATUS,\n endPoint: '/Document/UpdateDocumentStatus',\n params: {\n clientFileId: data.clientFileId,\n isCsmApproved: data.isCsmApproved,\n isRrApproved: data.isRrApproved,\n ecbReturnStatus: data.ecbReturnStatus,\n isRrFinalStatus: data.isRrFinalStatus,\n fromEcb2Return: data.fromEcb2Return || false,\n },\n ajaxType: 'PUT',\n selectedDealData: data.selectedDealData,\n isIsvCsmUser: data.isIsvCsmUser,\n fromEcb2Return: data.fromEcb2Return,\n dealId: data.dealId,\n }\n}\n\nexport const deleteSupportingDocument = (id) => ({\n type: IsvTypes.API_REQUEST_DELETE_SUPPORTING_DOCUMENTS,\n endPoint: `/Document/DeleteDocument?clientFileId=${id}`,\n id,\n ajaxType: 'DELETE',\n})\n\nexport const handleSubmitDealInformation = (dealId, status) => ({\n type: IsvTypes.API_REQUEST_SUBMIT_INFO,\n endPoint: `/Deals/SubmitInfo`,\n params:{\n dealId:dealId,\n status:status\n },\n dealId:dealId,\n ajaxType: 'PUT',\n})\n\nexport const handleECBSubmit = (dealId, status) => ({\n type: IsvTypes.API_REQUEST_CLIENT_ECB_SUBMIT,\n endPoint: `/Ecb/SubmitEcb2Returns`,\n params:{\n dealId:dealId,\n status:status\n },\n dealId:dealId,\n ajaxType: 'PUT',\n})\n\nexport const handeFinalSubmission = (dealId, isFinalSubmission) => ({\n type: IsvTypes.API_REQUEST_SUBMIT_FINAL_SUBMISSION,\n endPoint: `/Deals/FinalSubmission?dealId=${dealId}&IsFinalSubmission=${isFinalSubmission}`,\n dealId,\n ajaxType: 'PUT',\n})\n\nexport const handleClientDocuments = (data) => ({\n type: IsvTypes.HANDLE_CLIENT_DOCUMENT_DATA,\n data\n})\n\nexport const handlePostDocumentComment = (data) => {\n return {\n type: IsvTypes.API_REQUEST_SUBMIT_DOCUEMENT_COMMENT,\n endPoint: \"/Comments/AddComments\",\n params: {\n commentId: data.commentId,\n dealId: data.dealId,\n title: data.title,\n commentText: {\n text: data.comment.text,\n cdate: data.comment.dateTime,\n userName: data.comment.userName,\n isClientVisible: data.comment.isClientVisible,\n IsECBReturnVisible: data.comment.IsECBReturnVisible,\n from: data.comment.from,\n },\n isClientScreen: data.isClientScreen,\n },\n ajaxType: \"PUT\",\n };\n};\n\nexport const getLatestCommentsByDealId = (dealId, isClientScreen, isEcbReturn) => ({\n type: IsvTypes.API_REQUEST_LATEST_COMMENTS_FOR_CURRENT_DEAL,\n endPoint: \"/Comments/GetLatestCommentsByDealId\",\n params: {\n dealId,\n isClientScreen,\n isEcbReturn\n },\n ajaxType: \"GET\",\n});\n\nexport const handleGetLatestCommentsByDealIdResponse = (data) => ({\n type: IsvTypes.API_RECEIVE_LATEST_COMMENTS_DATA_FOR_CURRENT_DEAL,\n data,\n});\n\nexport const getLatestCommentsByCommentId = (commentId, isClientScreen, isEcbReturn) => ({\n type: IsvTypes.API_REQUEST_LATEST_COMMENTS_DATA_FOR_CURRENT_COMMENT,\n endPoint: `/Comments/GetComments`,\n params: {\n commentId,\n isClientScreen,\n isEcbReturn,\n },\n ajaxType: \"GET\",\n})\n\nexport const handleGetLatestCommentsByCommentsId = (data) => ({\n type: IsvTypes.API_RECEIVE_LATEST_COMMENTS_DATA_FOR_CURRENT_COMMENT,\n data\n})\n\nexport const handleCommentsPopup = (isOpen, isAdditionalComment, rejectLabel) => ({\n type: IsvTypes.HANDLE_COMMENTS_POPUP,\n isOpen,\n isAdditionalComment,\n rejectLabel,\n})\n\nexport const downloadAllDocuments = (dealId, referenceId) => ({\n type: IsvTypes.API_REQUEST_DOWNLOAD_ALL_DOCUMENTS,\n endPoint: `Document/GetBundleFiles/${dealId}`,\n params: {\n dealId,\n title : referenceId,\n fileName: 'zip'\n },\n ajaxType: 'GET',\n})\n\nexport const setTitleColumnWidth = width => ({\n type: IsvTypes.HANDLE_TITLE_COLUMN_WIDTH,\n width,\n})\n\nexport const getECB2ReturnDataForCurrentDeal = (dealId) => ({\n type: IsvTypes.API_REQUEST_ECB2_RETURN_DATA_FOR_CURRENT_DEAL,\n endPoint: \"/Ecb/GetEcb2Returns\",\n params: {\n dealId,\n },\n ajaxType: \"GET\",\n});\n\nexport const handleECB2ReturnDataForCurrentDeal = (data) => ({\n type: IsvTypes.API_RECEIVE_ECB2_RETURN_DATA_FOR_CURRENT_DEAL,\n data\n})\n\nexport const handleECBStatus = (status) => ({\n type: IsvTypes.HANDLE_ECB_STATUS,\n status\n})\n\nexport const handleReferenceInformationStatus = (status) => ({\n type: IsvTypes.HANDLE_REFERENCE_INFORMATION_STATUS,\n status\n})\n\nexport const getReferenceDataForCurrentDeal = (dealId, isRrUser) => ({\n type: IsvTypes.API_REQUEST_REFERENCE_INFORMATION_DATA_FOR_CURRENT_DEAL,\n endPoint: \"/ReferenceDocument/GetRefDocuments\",\n params: {\n dealId,\n isRrUser\n },\n ajaxType: \"GET\",\n});\n\nexport const handleReferenceInformationDataForCurrentDeal = (data) => ({\n type: IsvTypes.API_RECEIVE_REFERENCE_INFORMATION_DATA_FOR_CURRENT_DEAL,\n data\n})\n\nexport const uploadRefPostDocument = (data, isTitleAlreadyExist, isRefDocumentUploaded, document, isRrUser) => ({\n type: IsvTypes.API_REQUEST_UPLOAD_REFERENCE_DOCUMENT,\n endPoint: '/ReferenceDocument/UploadRefDocument',\n data,\n isTitleAlreadyExist,\n isRefDocumentUploaded,\n document,\n isRrUser,\n ajaxType: 'POST'\n})\n\nexport const deleteReferenceDocument = (id) => ({\n type: IsvTypes.API_REQUEST_DELETE_REFERENCE_DOCUMENTS,\n endPoint: `/ReferenceDocument/ArchieveRefDocument?docRefId=${id}`,\n id,\n ajaxType: 'POST',\n})\n\nexport const viewReferenceDocument = (docRefId, title, fileName) => {\n let urlText = `ReferenceDocument/DownloadRefDocument?docRefId=${docRefId}`;\n return {\n type: IsvTypes.API_REQUEST_DOWNLOAD_DOCUMENT,\n endPoint: urlText,\n params: {\n docRefId,\n title,\n fileName,\n },\n ajaxType: 'GET',\n };\n};\n","import { connect } from 'react-redux';\n\nimport { events } from 'constants/analytics';\nimport { featurePageIds } from 'constants/featurePages';\nimport { eventTriggered, viewChange } from 'actions/AnalyticsActions';\n\nfunction withAnalytics(settings) {\n return Cmp => connect(\n null,\n dispatch => (\n settings(\n eventDetails => dispatch(eventTriggered(eventDetails)),\n viewId => dispatch(viewChange(viewId)),\n )\n )\n )(Cmp);\n}\n\nfunction empty() { return ({}); }\n\nexport function withAnalytics2(\n e = empty,\n v = empty\n) {\n return Cmp => connect(\n null,\n (dispatch, ownProps) => ({\n ...e(\n eventDetails => dispatch(eventTriggered(eventDetails)),\n events,\n ownProps,\n ),\n ...v(\n viewId => dispatch(viewChange(viewId)),\n featurePageIds,\n ownProps,\n )\n })\n )(Cmp);\n}\n\nexport default withAnalytics;\n","//\n// All Used Icons since Landing Page refactor\n//\nimport React from 'react';\nimport { compose } from 'recompose';\n\nimport withTranslate from 'shared/hoc/withTranslate';\n\nclass BaseFontIcon extends React.PureComponent {\n render() {\n let alt;\n\n switch (this.props.icon) {\n //\n // icomoon\n //\n case 'Chevron': {\n alt = this.props.chevronAlt;\n break;\n }\n case 'Document': {\n alt = this.props.documentAlt;\n break;\n }\n case 'Profile': {\n alt = this.props.profileAlt;\n break;\n }\n case 'Orders': {\n alt = this.props.ordersAlt;\n break;\n }\n case 'ChatBubble': {\n alt = this.props.chatAlt;\n break;\n }\n //\n // glyphter\n //\n case 'gPlane': {\n alt = this.props.calendarAlt;\n break;\n }\n case 'gPrice': {\n alt = this.props.percentageAlt;\n break;\n }\n default:\n console.log(`Unrecognised font icon ${this.props.icon}`);\n }\n\n if (!alt) return null;\n\n const other = {};\n other['aria-hidden'] = this.props['aria-hidden'];\n other['aria-checked'] = this.props['aria-checked'];\n\n return (\n \n );\n }\n}\n\nexport default compose(\n withTranslate(\n translate => ({\n chevronAlt: translate('', 'Chevron'),\n documentAlt: translate('', 'Document'),\n profileAlt: translate('', 'Profile'),\n ordersAlt: translate('', 'Bucket'),\n chatAlt: translate('', 'Chat'),\n //\n calendarAlt: translate('', 'Calendar'),\n percentageAlt: translate('', 'Perecentage'),\n }),\n ),\n)(BaseFontIcon);\n","//\n// All Used Icons since Landing Page refactor\n//\nimport React from 'react';\nimport { compose } from 'recompose';\n\nimport withTranslate from 'shared/hoc/withTranslate';\n\n// all used icons/svgs\nimport DocumentDownload from './doc-download.svg';\n\nclass BaseImgIcon extends React.PureComponent {\n render() {\n let src, alt;\n\n switch (this.props.icon) {\n case 'DocumentDownload': {\n src = DocumentDownload;\n alt = this.props.documentUploadAlt;\n break;\n }\n default:\n console.log(`Unrecognised img icon ${this.props.icon}`);\n }\n\n if (!src && !alt) return null;\n\n const other = {};\n other['aria-hidden'] = this.props['aria-hidden'];\n other['aria-checked'] = this.props['aria-checked'];\n return (\n \n );\n }\n}\n\nexport default compose(\n withTranslate(\n translate => ({\n documentDownloadAlt: translate('', 'Document Upload'),\n }),\n ),\n)(BaseImgIcon);\n","//\n// All Used Icons since Landing Page refactor\n//\nimport React from 'react';\nimport { compose } from 'recompose';\nimport styled from 'styled-components';\n\nimport withTranslate from 'shared/hoc/withTranslate';\n\nconst IconWrapper = styled.svg`\n display: inline-block\n vertical-align: middle;\n box-sizing: border-box;\n stroke-width: 0;\n`;\n\nconst sizes = {\n xxxsmall: 14,\n xxsmall: 16,\n xsmall: 18,\n small: 20,\n default: 22,\n large: 24,\n xlarge: 26,\n xxlarge: 28,\n xxxlarge: 30\n};\n\nclass BaseSvgIcon extends React.PureComponent {\n render() {\n let alt, svg;\n\n switch (this.props.icon) {\n case 'circle-error-solid': {\n svg = 'M16 5.080c-6.221 0-11.264 5.043-11.264 11.264s5.043 11.264 11.264 11.264 11.264-5.043 11.264-11.264-5.043-11.264-11.264-11.264zM17.188 22.262h-2.361v-2.163h2.361v2.163zM16.951 19.167h-1.89l-0.469-9.393h2.832l-0.473 9.393z';\n break;\n }\n case 'triangle-error': {\n svg = ['M24.512 14.4v11.803c0 0.545-0.459 1.003-1.032 1.003h-17.683c-0.545 0-1.004-0.457-1.004-1.003v-17.684c0-0.544 0.459-1.031 1.004-1.031h11.923v-2.436h-11.923c-1.892 0-3.411 1.547-3.411 3.439v17.684c0 1.891 1.519 3.411 3.411 3.411h17.683c1.892 0 3.44-1.52 3.44-3.411v-11.775h-2.408z', 'M24.787 2.385c-2.632 0-4.8 2.139-4.8 4.8 0 2.631 2.139 4.8 4.8 4.8 2.631 0 4.8-2.14 4.8-4.8 0-2.661-2.14-4.8-4.8-4.8z'];\n break;\n }\n case 'circle-fill-information': {\n svg = 'M16 5.080c-6.221 0-11.264 5.043-11.264 11.264s5.043 11.264 11.264 11.264 11.264-5.043 11.264-11.264-5.043-11.264-11.264-11.264zM14.588 9.539h2.82v2.125h-2.82v-2.125zM18.347 22.915h-4.693v-2.112h0.939v-5.397h-0.939v-1.877h0.991v-0.002h2.764v7.277h0.939v2.112z';\n break;\n }\n case 'pop-up-window': {\n svg = ['M4.736 9.781h2.821v15.014h15.955v2.813h-18.775z','M27.264 22.919h-17.832v-17.839h17.832v17.839zM25.389 6.963h-14.081v14.080h14.081v-14.080z'];\n break;\n }\n case 'chevron-right': {\n svg = 'M22.917 16.344l-11.267 11.264-2.408-2.408 8.859-8.856-8.859-8.857 2.408-2.408z';\n break;\n }\n case 'agree': {\n svg = 'M13.347 19.108l10.646-10.646 2.657 2.657-13.293 13.293-8.286-8.286 2.655-2.655z';\n break;\n }\n case 'notification': {\n svg = ['M24.512 14.4v11.803c0 0.545-0.459 1.003-1.032 1.003h-17.683c-0.545 0-1.004-0.457-1.004-1.003v-17.684c0-0.544 0.459-1.031 1.004-1.031h11.923v-2.436h-11.923c-1.892 0-3.411 1.547-3.411 3.439v17.684c0 1.891 1.519 3.411 3.411 3.411h17.683c1.892 0 3.44-1.52 3.44-3.411v-11.775h-2.408z', 'M24.787 2.385c-2.632 0-4.8 2.139-4.8 4.8 0 2.631 2.139 4.8 4.8 4.8 2.631 0 4.8-2.14 4.8-4.8 0-2.661-2.14-4.8-4.8-4.8z'];\n break;\n }\n case 'security-code': {\n svg = ['M4.867 13.347c0.709 0 1.356 0.272 1.84 0.717 0.541 0.497 0.88 1.211 0.88 2.003 0 0.815-0.359 1.547-0.928 2.045-0.479 0.42-1.105 0.675-1.792 0.675-0.611 0-1.173-0.201-1.628-0.541-0.663-0.496-1.092-1.288-1.092-2.179 0-0.745 0.3-1.42 0.785-1.912 0.493-0.499 1.179-0.808 1.935-0.808z', 'M12.394 13.347c1.501 0 2.72 1.219 2.72 2.72 0 0.903-0.441 1.703-1.119 2.199-0.449 0.328-1.003 0.521-1.601 0.521-1.501 0-2.72-1.219-2.72-2.72 0-0.968 0.507-1.817 1.268-2.3 0.42-0.265 0.919-0.42 1.452-0.42z', 'M19.92 13.347c1.501 0 2.72 1.219 2.72 2.72 0 0.789-0.337 1.501-0.875 1.997-0.485 0.449-1.133 0.723-1.845 0.723-1.501 0-2.72-1.219-2.72-2.72 0-0.797 0.344-1.515 0.892-2.013 0.483-0.439 1.124-0.707 1.828-0.707z', 'M27.445 13.347c-1.501 0-2.72 1.219-2.72 2.72s1.219 2.72 2.72 2.72c1.501 0 2.72-1.219 2.72-2.72s-1.219-2.72-2.72-2.72zM27.445 13.949c1.168 0 2.117 0.949 2.117 2.117s-0.949 2.117-2.117 2.117c-1.168 0-2.117-0.949-2.117-2.117s0.949-2.117 2.117-2.117z', 'M27.516 13.348l0.069 0.003 0.069 0.004 0.069 0.005 0.068 0.008 0.068 0.009 0.133 0.024 0.067 0.015 0.065 0.016 0.064 0.017 0.128 0.040 0.063 0.023 0.063 0.024 0.061 0.024 0.060 0.027 0.060 0.028 0.060 0.029 0.057 0.031 0.057 0.032 0.057 0.033 0.055 0.035 0.109 0.075 0.052 0.037 0.052 0.040 0.051 0.041 0.051 0.043 0.048 0.043 0.048 0.045 0.047 0.045 0.047 0.047 0.044 0.048 0.043 0.048 0.043 0.051 0.041 0.051 0.040 0.052 0.039 0.052 0.037 0.055 0.036 0.055 0.035 0.055 0.033 0.057 0.032 0.057 0.031 0.059 0.029 0.059 0.028 0.060 0.027 0.060 0.025 0.061 0.045 0.125 0.040 0.128 0.017 0.064 0.016 0.067 0.015 0.065 0.024 0.133 0.009 0.068 0.008 0.069 0.005 0.068 0.005 0.069 0.003 0.069v0.141l-0.003 0.069-0.005 0.069-0.005 0.068-0.008 0.069-0.009 0.068-0.024 0.133-0.015 0.065-0.016 0.067-0.017 0.064-0.040 0.128-0.045 0.125-0.025 0.061-0.027 0.060-0.028 0.060-0.029 0.059-0.031 0.059-0.032 0.057-0.033 0.057-0.035 0.055-0.036 0.055-0.037 0.055-0.039 0.052-0.040 0.052-0.041 0.051-0.043 0.051-0.043 0.048-0.044 0.048-0.047 0.047-0.047 0.045-0.048 0.045-0.048 0.043-0.051 0.043-0.051 0.041-0.052 0.040-0.052 0.037-0.109 0.075-0.055 0.035-0.057 0.033-0.057 0.032-0.057 0.031-0.060 0.029-0.060 0.028-0.060 0.027-0.061 0.024-0.063 0.024-0.063 0.023-0.128 0.040-0.064 0.017-0.065 0.016-0.067 0.015-0.133 0.024-0.068 0.009-0.068 0.008-0.069 0.005-0.069 0.004-0.069 0.003-0.071 0.001-0.071-0.001-0.069-0.003-0.069-0.004-0.068-0.005-0.069-0.008-0.067-0.009-0.068-0.012-0.067-0.012-0.065-0.015-0.067-0.016-0.064-0.017-0.128-0.040-0.063-0.023-0.063-0.024-0.061-0.024-0.060-0.027-0.060-0.028-0.059-0.029-0.059-0.031-0.057-0.032-0.056-0.033-0.056-0.035-0.109-0.075-0.052-0.037-0.052-0.040-0.051-0.041-0.051-0.043-0.048-0.043-0.048-0.045-0.047-0.045-0.045-0.047-0.045-0.048-0.043-0.048-0.043-0.051-0.041-0.051-0.077-0.104-0.037-0.055-0.036-0.055-0.035-0.055-0.035-0.057-0.032-0.057-0.031-0.059-0.029-0.059-0.028-0.060-0.027-0.060-0.024-0.061-0.024-0.063-0.023-0.063-0.040-0.128-0.017-0.064-0.016-0.067-0.015-0.065-0.012-0.067-0.011-0.067-0.011-0.068-0.007-0.069-0.007-0.068-0.004-0.069-0.003-0.069-0.001-0.071 0.001-0.071 0.003-0.069 0.004-0.069 0.007-0.068 0.007-0.069 0.011-0.068 0.011-0.067 0.012-0.067 0.015-0.065 0.016-0.067 0.017-0.064 0.040-0.128 0.023-0.063 0.024-0.063 0.024-0.061 0.027-0.060 0.028-0.060 0.029-0.059 0.031-0.059 0.032-0.057 0.035-0.057 0.035-0.055 0.036-0.055 0.037-0.055 0.077-0.104 0.041-0.051 0.043-0.051 0.043-0.048 0.045-0.048 0.045-0.047 0.047-0.045 0.048-0.045 0.048-0.043 0.051-0.043 0.051-0.041 0.052-0.040 0.052-0.037 0.109-0.075 0.056-0.035 0.056-0.033 0.057-0.032 0.059-0.031 0.059-0.029 0.060-0.028 0.060-0.027 0.061-0.024 0.063-0.024 0.063-0.023 0.128-0.040 0.064-0.017 0.067-0.016 0.065-0.015 0.067-0.012 0.068-0.012 0.067-0.009 0.069-0.008 0.068-0.005 0.069-0.004 0.069-0.003 0.071-0.001 0.071 0.001zM27.391 13.951l-0.055 0.001-0.107 0.008-0.107 0.013-0.104 0.019-0.051 0.012-0.052 0.012-0.049 0.013-0.051 0.016-0.049 0.016-0.049 0.017-0.048 0.017-0.048 0.020-0.047 0.020-0.093 0.045-0.045 0.024-0.088 0.051-0.043 0.027-0.043 0.028-0.043 0.029-0.041 0.031-0.040 0.031-0.040 0.032-0.039 0.033-0.037 0.033-0.037 0.035-0.036 0.035-0.036 0.037-0.035 0.037-0.033 0.037-0.033 0.039-0.032 0.040-0.031 0.040-0.031 0.041-0.028 0.041-0.028 0.043-0.028 0.044-0.051 0.088-0.024 0.045-0.023 0.047-0.043 0.093-0.020 0.048-0.017 0.048-0.017 0.049-0.016 0.049-0.015 0.051-0.015 0.049-0.012 0.052-0.011 0.051-0.011 0.052-0.008 0.052-0.008 0.053-0.007 0.053-0.008 0.107-0.003 0.109 0.003 0.109 0.008 0.107 0.007 0.053 0.008 0.053 0.008 0.052 0.011 0.052 0.011 0.051 0.012 0.052 0.015 0.049 0.015 0.051 0.016 0.049 0.017 0.049 0.017 0.048 0.020 0.048 0.043 0.093 0.023 0.047 0.024 0.045 0.051 0.088 0.028 0.044 0.028 0.043 0.028 0.041 0.031 0.041 0.031 0.040 0.032 0.040 0.033 0.039 0.033 0.037 0.035 0.037 0.036 0.037 0.036 0.035 0.037 0.035 0.037 0.033 0.039 0.033 0.040 0.032 0.040 0.031 0.041 0.031 0.043 0.029 0.043 0.028 0.043 0.027 0.088 0.051 0.045 0.024 0.093 0.045 0.047 0.020 0.048 0.020 0.048 0.017 0.049 0.017 0.049 0.016 0.051 0.016 0.049 0.013 0.052 0.012 0.051 0.012 0.104 0.019 0.107 0.013 0.107 0.008 0.109 0.003 0.109-0.003 0.107-0.008 0.107-0.013 0.104-0.019 0.052-0.012 0.051-0.012 0.051-0.013 0.099-0.032 0.049-0.017 0.048-0.017 0.048-0.020 0.047-0.020 0.093-0.045 0.045-0.024 0.088-0.051 0.044-0.027 0.043-0.028 0.041-0.029 0.041-0.031 0.040-0.031 0.040-0.032 0.039-0.033 0.037-0.033 0.075-0.069 0.104-0.112 0.032-0.039 0.032-0.040 0.031-0.040 0.031-0.041 0.029-0.041 0.028-0.043 0.027-0.044 0.051-0.088 0.024-0.045 0.045-0.093 0.020-0.047 0.020-0.048 0.019-0.048 0.016-0.049 0.017-0.049 0.015-0.051 0.013-0.049 0.012-0.052 0.012-0.051 0.019-0.104 0.013-0.107 0.008-0.107 0.003-0.109-0.003-0.109-0.008-0.107-0.013-0.107-0.019-0.104-0.012-0.051-0.012-0.052-0.013-0.049-0.015-0.051-0.017-0.049-0.016-0.049-0.019-0.048-0.020-0.048-0.020-0.047-0.045-0.093-0.024-0.045-0.051-0.088-0.027-0.044-0.028-0.043-0.029-0.041-0.031-0.041-0.031-0.040-0.032-0.040-0.032-0.039-0.104-0.112-0.075-0.069-0.037-0.033-0.039-0.033-0.040-0.032-0.040-0.031-0.041-0.031-0.041-0.029-0.043-0.028-0.044-0.027-0.088-0.051-0.045-0.024-0.093-0.045-0.047-0.020-0.048-0.020-0.048-0.017-0.049-0.017-0.099-0.032-0.051-0.013-0.051-0.012-0.052-0.012-0.104-0.019-0.107-0.013-0.107-0.008-0.109-0.003-0.055 0.001z'];\n break;\n }\n case 'contact-virtual': {\n svg = ['M5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z','M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z'];\n break;\n }\n case 'security-password': {\n svg= ['M2.2 1.2h13.6v1.6H17V0H1v2.8h1.2V1.2zm6.797 15.546c-1.671-.527-3.892-1.563-5.333-3.546H2.24C3.624 15.551 6.058 17.151 9 18c2.657-.767 4.9-2.504 6.329-4.8h-1.457c-1.196 1.628-2.882 2.893-4.875 3.546zM16.5 4h-15C.675 4 0 4.675 0 5.5v5c0 .825.675 1.5 1.5 1.5h15c.825 0 1.5-.675 1.5-1.5v-5c0-.825-.675-1.5-1.5-1.5zm.3 6.5c0 .163-.137.3-.3.3h-15c-.163 0-.3-.137-.3-.3v-5c0-.163.137-.3.3-.3h15c.163 0 .3.137.3.3v5zM12 9h3V7.8h-3V9zM4.3 6.7C3.582 6.7 3 7.282 3 8s.582 1.3 1.3 1.3S5.6 8.718 5.6 8s-.582-1.3-1.3-1.3zm4.7 0c-.718 0-1.3.582-1.3 1.3S8.282 9.3 9 9.3s1.3-.582 1.3-1.3S9.718 6.7 9 6.7z']\n break;\n }\n case 'arrow-up': {\n svg=['M8 11h3v10h2V11h3l-4-4-4 4zM4']\n break;\n }\n case 'arrow-down': {\n svg=['M16 13h-3V3h-2v10H8l4 4 4-4zM4']\n break;\n }\n case 'chart-legend': {\n svg=[\"M0,16h10.666666666666666A5.333333333333333,5.333333333333333,0,1,1,21.333333333333332,16H32M21.333333333333332,16A5.333333333333333,5.333333333333333,0,1,1,10.666666666666666,16\"]\n break\n }\n\n case 'pencil-edit': {\n svg=[\"M12.854.146a.5.5 0 0 0-.707 0L10.5 1.793 14.207 5.5l1.647-1.646a.5.5 0 0 0 0-.708l-3-3zm.646 6.061L9.793 2.5 3.293 9H3.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.207l6.5-6.5zm-7.468 7.468A.5.5 0 0 1 6 13.5V13h-.5a.5.5 0 0 1-.5-.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.5-.5V10h-.5a.499.499 0 0 1-.175-.032l-.179.178a.5.5 0 0 0-.11.168l-2 5a.5.5 0 0 0 .65.65l5-2a.5.5 0 0 0 .168-.11l.178-.178z\"]\n break\n }\n\n case 'close-icon': {\n svg=[\"M16.424 2.424l-.848-.848L9 8.152 2.424 1.576l-.848.848L8.152 9l-6.576 6.576.848.848L9 9.848l6.576 6.576.848-.848L9.848 9z\"]\n break\n }\n\n case 'info-icon': {\n svg=[\"M9 0C4.029 0 0 4.029 0 9c0 4.97 4.029 9 9 9s9-4.03 9-9c0-4.971-4.029-9-9-9zm.9 14.25H8.1v-6h1.8v6zm-.899-8c-.69 0-1.25-.56-1.25-1.25s.56-1.25 1.25-1.25 1.25.56 1.25 1.25-.56 1.25-1.25 1.25z\"]\n break\n }\n\n case 'circle-delete': {\n svg=['M18.816 6.957v-1.877h-5.632v1.877h-6.571v2.816h18.773v-2.816z','M7.548 11.651l0.002 15.957h16.891l0.003-15.957h-16.896zM12.245 24.792h-1.877v-10.325h1.877v10.325zM16.939 24.792h-1.877v-10.325h1.877v10.325zM21.632 24.792h-1.877v-10.325h1.877v10.325z']\n break\n }\n \n default:\n console.log(`Unrecognised svg icon ${this.props.icon}`);\n }\n\n if (!svg) {\n throw new Error(`SVGIcon: SVG is missing for icon ${this.props.icon}`);\n }\n\n svg = Array.isArray(svg) ? (\n svg.map((item, i) => )\n ) : (\n \n );\n\n const svgSize = sizes[this.props.size] || (typeof this.props.size === 'number' && this.props.size) || sizes.default;\n\n const other = {};\n other['aria-hidden'] = this.props['aria-hidden'];\n other['aria-checked'] = this.props['aria-checked'];\n\n return (\n \n {/* - accessibility */}\n {/* <desc> - accessibility */}\n {svg}\n </IconWrapper>\n );\n }\n}\n\nexport default compose(\n //\n // Descriptions for SVG Icons\n //\n withTranslate(\n translate => ({\n warningAlt: translate('', 'Warning'),\n notificationAlt: translate('', 'Notification'),\n infoAlt: translate('', 'Information'),\n }),\n ),\n)(BaseSvgIcon);\n\n\n/*\n Icons to use\n -- https://alm-github.systems.uk.hsbc/BRP/cdl-icon/blob/master/src/glyphs.js\n\n{\n 'accounts': 'M4.737 23.853c0 0.518 0.42 0.939 0.939 0.939h20.651c0.518 0 0.939-0.42 0.939-0.939v-15.019c0-0.518-0.42-0.939-0.939-0.939h-20.651c-0.518 0-0.939 0.42-0.939 0.939v15.019zM6.614 10.243c0-0.259 0.21-0.469 0.469-0.469h17.835c0.259 0 0.469 0.21 0.469 0.469v1.447h-18.773v-1.447zM24.918 22.915h-17.835c-0.259 0-0.469-0.21-0.469-0.469v-7.001h18.773v7.001c0 0.259-0.21 0.469-0.469 0.469z',\n 'active-directory': ['M15.994 27.601c-6.211 0-11.264-5.053-11.264-11.264s5.053-11.264 11.264-11.264 11.264 5.053 11.264 11.264-5.053 11.264-11.264 11.264zM15.994 6.95c-5.176 0-9.387 4.211-9.387 9.387s4.211 9.387 9.387 9.387 9.387-4.211 9.387-9.387-4.211-9.387-9.387-9.387z','M17.872 13.521c0 1.037-0.84 1.877-1.877 1.877s-1.877-0.841-1.877-1.877c0-1.037 0.841-1.877 1.877-1.877s1.877 0.841 1.877 1.877z','M19.749 20.091c0-2.074-1.681-3.755-3.755-3.755s-3.755 1.681-3.755 3.755v0 0.939h7.509v-0.939z'],\n 'add': 'M27.264 14.467h-9.383v-9.387h-3.755v9.387h-9.39v3.755h9.39v9.387h3.755v-9.387h9.383z',\n 'agree': 'M13.347 19.108l10.646-10.646 2.657 2.657-13.293 13.293-8.286-8.286 2.655-2.655z',\n 'alert': 'M25.183 21.157c0 0-1.247-1.188-2.055-12.052-0.896-4.069-7.084-4.025-7.084-4.025h-0.088c0 0-6.187-0.044-7.084 4.024-0.831 10.865-2.055 12.052-2.055 12.052s-5.007 4.883 2.055 3.981h4.486c0.091 1.381 1.237 2.47 2.642 2.47s2.55-1.090 2.641-2.47h4.486c7.062 0.902 2.055-3.981 2.055-3.981z',\n 'anchor-down': 'M9.429 20.706l6.571 6.571 6.571-6.571h-4.693l-0-15.019h-3.755v15.019z',\n 'anchor-up': 'M22.571 11.982l-6.571-6.571-6.571 6.571h4.693l0 15.019h3.755v-15.019z',\n 'approval-authority': ['M14.117 16.337h-3.755c-0.518-0-0.939-0.42-0.939-0.939v0-0.626c0-0.8-0.488-1.587-0.918-2.282-0.164-0.248-0.335-0.542-0.49-0.846l-0.025-0.053c-0.283-0.575-0.448-1.252-0.448-1.968 0-0.792 0.203-1.537 0.559-2.185l-0.012 0.024c0.672-1.244 1.884-2.123 3.313-2.327l0.024-0.003c0.244-0.037 0.526-0.058 0.813-0.058s0.568 0.021 0.844 0.062l-0.031-0.004c1.453 0.207 2.665 1.086 3.325 2.306l0.012 0.024c0.345 0.625 0.547 1.37 0.547 2.162 0 0.715-0.165 1.392-0.46 1.994l0.012-0.027c-0.18 0.357-0.351 0.652-0.537 0.935l0.022-0.036c-0.43 0.695-0.918 1.483-0.918 2.282v0.626c0 0 0 0 0 0 0 0.518-0.42 0.939-0.939 0.939v0zM11.289 14.459h1.902c0.096-1.196 0.721-2.205 1.187-2.958 0.129-0.195 0.266-0.428 0.392-0.669l0.022-0.045c0.168-0.34 0.265-0.741 0.265-1.164 0-0.467-0.119-0.906-0.329-1.289l0.007 0.014c-0.394-0.727-1.103-1.24-1.938-1.358l-0.014-0.002c-0.163-0.025-0.352-0.039-0.543-0.039s-0.38 0.014-0.564 0.041l0.021-0.003c-0.849 0.12-1.558 0.633-1.945 1.346l-0.007 0.014c-0.203 0.369-0.322 0.808-0.322 1.275 0 0.423 0.098 0.824 0.273 1.18l-0.007-0.016c0.093 0.197 0.249 0.448 0.414 0.714 0.466 0.753 1.091 1.762 1.187 2.958z','M15.309 24.785c-0.456-0.886-0.723-1.934-0.723-3.044 0-0.002 0-0.005 0-0.007v0c0-0.248 0.013-0.493 0.039-0.734l-0.003 0.030h-8.015v-1.877h8.487c0.295-0.708 0.675-1.317 1.138-1.854l-0.007 0.009c-0.069-0.019-0.148-0.031-0.23-0.032h-11.265v5.632h1.877v1.877h8.701z','M25.377 21.812c-0.039 2.178-1.814 3.93-3.998 3.93-2.208 0-3.998-1.79-3.998-3.998s1.79-3.998 3.998-3.998c0.792 0 1.531 0.23 2.152 0.628l-0.016-0.010 1.352-1.351c-0.96-0.713-2.169-1.141-3.477-1.141-3.241 0-5.868 2.627-5.868 5.868s2.627 5.868 5.868 5.868c3.241 0 5.868-2.627 5.868-5.868 0-0.566-0.080-1.113-0.229-1.63l0.010 0.041z','M21.626 24.235l-3.010-3.010 1.327-1.328 1.683 1.683 4.968-4.968 1.327 1.328-6.296 6.296z'],\n 'articles': ['M6.541 7.35h8.109v4.498h4.506v13.493h-12.616v-17.991zM4.737 5.549v21.589h16.22v-16.192l-5.407-5.398h-10.813z','M16.902 5.549l5.407 5.398v16.192h1.798l-0.001-16.192-5.461-5.398z','M20.059 5.549l5.403 5.398v16.192h1.802v-16.192l-5.462-5.398z'],\n 'assets': ['M22.144 17.585c-2.828 0-5.202-0.764-5.202-1.707v1.82c0 0.943 2.374 1.707 5.202 1.707s5.12-0.764 5.12-1.707v-1.82c0 0.942-2.292 1.706-5.12 1.706z','M22.144 20.316c-2.828 0-5.202-0.764-5.202-1.706v1.821c0 0.943 2.374 1.706 5.202 1.706s5.12-0.764 5.12-1.706v-1.821c0 0.942-2.292 1.706-5.12 1.706z','M22.144 23.047c-2.828 0-5.202-0.764-5.202-1.707v1.821c0 0.943 2.374 1.706 5.202 1.706s5.12-0.764 5.12-1.706v-1.821c0 0.942-2.292 1.707-5.12 1.707z','M22.144 25.778c-2.828 0-5.202-0.764-5.202-1.706v1.821c0 0.943 2.374 1.706 5.202 1.706s5.12-0.764 5.12-1.706v-1.821c0 0.942-2.292 1.706-5.12 1.706z','M16.942 14.968c0 0.943 2.374 1.707 5.202 1.707s5.12-0.764 5.12-1.707-2.292-1.707-5.12-1.707c-2.828 0-5.202 0.764-5.202 1.707z','M23.105 12.178l-7.094-7.093-4.7 4.696v-1.88h-2.816v4.693l-3.758 3.755h3.758v8.448l7.509-0.015v-10.753c0-0.943 2.816-1.941 5.357-1.941 0.794 0 1.071 0.022 1.744 0.089z'],\n 'attachment': 'M25.292 13.483l1.183 1.167c0 0-10.259 10.764-10.594 11.099-0.564 0.564-4.647 3.911-8.601-0.041-3.7-3.698-0.648-7.653 0.938-9.239 0.414-0.414 10.719-10.845 10.719-10.845s0.476-0.544 1.509-0.544c1.127 0 1.56 0.544 1.56 0.544l2.951 2.949c0 0 0.599 0.467 0.599 1.406 0 0.976-0.599 1.49-0.599 1.49s-11.348 11.641-11.564 11.857c-0.38 0.379-1.892 1.693-3.586 0-1.837-1.836 0-3.587 0-3.587l5.591-5.756 1.271 1.27-5.737 5.901c0 0-0.542 0.508 0 1.050 0.518 0.517 1.1-0.057 1.1-0.057l11.128-11.421c0 0 0.32-0.296 0.32-0.69s-0.32-0.71-0.32-0.71l-1.893-1.892c0 0-0.266-0.336-0.773-0.336s-0.781 0.336-0.781 0.336-10.164 10.457-10.591 10.884c-0.428 0.427-3.268 3.262-0.451 6.078 3.039 3.037 6.007-0.002 6.456-0.451 0.862-0.862 10.166-10.463 10.166-10.463z',\n 'back': 'M14.123 9.891l-6.571 6.451 6.571 6.455v-4.576h10.325v-3.755h-10.325z',\n 'banking': 'M27.264 14.467v-1.877l-11.264-7.509-11.264 7.509v1.877h1.877v11.264h-1.877v1.877h22.528v-1.877h-1.877v-11.264h1.877zM10.368 25.731v-11.264h3.755v11.264h-3.755zM21.632 25.731h-3.755v-11.264h3.755v11.264z',\n 'barcode': ['M22.571 6.957h1.877v18.773h-1.877v-18.773z','M20.693 6.957h0.939v18.773h-0.939v-18.773z','M18.816 6.957h0.939v18.773h-0.939v-18.773z','M16.892 6.957h0.986v18.773h-0.986v-18.773z','M13.184 6.957h1.877v18.773h-1.877v-18.773z','M11.307 6.957h0.939v18.773h-0.939v-18.773z','M9.429 6.957h0.939v18.773h-0.939v-18.773z','M6.613 6.957h1.877v18.773h-1.877v-18.773z','M4.736 6.957h0.892v18.773h-0.892v-18.773z','M26.372 6.957h0.892v18.773h-0.892v-18.773z'],\n 'bin': ['M18.816 6.957v-1.877h-5.632v1.877h-6.571v2.816h18.773v-2.816z','M7.548 11.651l0.002 15.957h16.891l0.003-15.957h-16.896zM12.245 24.792h-1.877v-10.325h1.877v10.325zM16.939 24.792h-1.877v-10.325h1.877v10.325zM21.632 24.792h-1.877v-10.325h1.877v10.325z'],\n 'bookmark': 'M24.444 27.259l-8.451-5.918-8.444 5.918v-22.531h16.895z',\n 'borrowing': ['M12.555 25.732v-5.609h-0.002v-1.877h0.002v-1.428c0-0.259 0.21-0.469 0.469-0.469l14.233-0.004-11.26-11.268-4.69 4.695v-1.875h-2.816v4.693l-3.751 3.756h3.747v9.385h4.067z','M13.494 27.036c0 0.317 0.257 0.574 0.574 0.574h12.62c0.317 0 0.574-0.257 0.574-0.574v-9.178c0-0.317-0.257-0.574-0.574-0.574h-12.62c-0.317 0-0.574 0.257-0.574 0.574v9.178zM14.642 18.718c0-0.158 0.129-0.287 0.287-0.287h10.899c0.158 0 0.287 0.128 0.287 0.287v0.885h-11.473v-0.885zM25.827 26.462h-10.899c-0.158 0-0.287-0.128-0.287-0.287v-4.278h11.473v4.278c0 0.158-0.128 0.287-0.287 0.287z'],\n 'branded-templates': ['M18.81 5.073h-11.264v9.856h1.877v-7.979h8.448v4.693h4.693v14.080h-9.387v1.877h11.264v-16.896l-5.632-5.632z','M11.106 22.244l-1.683 1.683v-8.059h-1.877v8.059l-1.683-1.683-1.328 1.328 3.949 3.949 3.949-3.949-1.328-1.328z','M21.626 23.377l-1.408 1.408v-2.816l1.408 1.408z','M18.81 23.377l-1.408-1.408h2.816l-1.408 1.408z','M18.81 23.377l1.408 1.408h-2.816l1.408-1.408z','M15.994 23.377l1.408-1.408v2.816l-1.408-1.408z'],\n 'calendar': ['M10.369 5.080h1.879v3.757h-1.879v-3.757z','M19.756 5.080h1.879v3.757h-1.879v-3.757z','M27.264 27.608h-22.528v-20.65h4.693v2.816h3.755v-2.816h5.633l0 2.818h3.753l0.004-2.816h4.69v20.649zM10.848 21.52h-3.751v3.751h3.751v-3.751zM15.545 21.52h-3.766v3.751h3.766v-3.751zM20.235 21.52h-3.751v3.751h3.751v-3.751zM24.931 21.52h-3.766v3.751h3.766v-3.751zM10.848 16.827h-3.751v3.751h3.751v-3.751zM15.545 16.827h-3.766v3.751h3.766v-3.751zM20.235 16.827h-3.751v3.751h3.751v-3.751zM24.931 16.827h-3.766v3.751h3.766v-3.751zM10.848 12.133h-3.751v3.751h3.751v-3.751zM15.545 12.133h-3.766v3.751h3.766v-3.751zM20.235 12.133h-3.751v3.751h3.751v-3.751zM24.931 12.133h-3.766v3.751h3.766v-3.751z'],\n 'camera': ['M20.688 9.773l-1.877-1.877h-5.637l-1.851 1.877h-6.588v15.019h22.528v-15.019h-6.576zM16 23.499c-3.421 0-6.195-2.775-6.195-6.195 0-3.403 2.775-6.195 6.195-6.195s6.195 2.792 6.195 6.195c0 3.42-2.775 6.195-6.195 6.195zM26.325 13.528h-3.755v-2.816h3.755v2.816z','M16 12.807c-2.485 0-4.497 2.030-4.497 4.497 0 2.485 2.012 4.514 4.497 4.514s4.514-2.029 4.514-4.514c0-2.468-2.029-4.497-4.514-4.497z'],\n 'canteen': ['M14.117 5.073v3.755h-0.938v-3.755h-1.877v3.755h-0.939v-3.755h-1.877v6.571c0.003 1.738 1.186 3.199 2.79 3.625l0.026 0.006v11.388c0 0.518 0.42 0.939 0.939 0.939s0.939-0.42 0.939-0.939v0-11.388c1.63-0.432 2.813-1.893 2.816-3.631v-6.571h-1.877zM14.117 11.643c0 1.037-0.841 1.877-1.877 1.877s-1.877-0.841-1.877-1.877v0-0.939h3.755v0.939z','M22.565 5.073h-1.408c-1.295 0.002-2.345 1.051-2.347 2.347v8.448c0.002 1.295 1.051 2.345 2.347 2.347h0.469v8.448c0 0.518 0.42 0.939 0.939 0.939s0.939-0.42 0.939-0.939v0-20.651c-0-0.518-0.42-0.939-0.939-0.939v0zM21.157 16.337c-0.258-0.004-0.466-0.212-0.469-0.469v-8.448c0.004-0.258 0.212-0.466 0.469-0.469h0.47v9.387h-0.469z'],\n 'careers': 'M27.259 11.643l-3.755-3.755h-6.571v-1.877h-1.877v1.877h-10.326v7.509h10.325v11.264h1.877v-11.264h6.571zM6.608 13.521v-3.755h16.118l1.877 1.877-1.877 1.877h-16.118z',\n 'chat': 'M4.736 6.959v13.139h3.757v5.635l5.633-5.636h13.138v-13.141z',\n 'chevron-double-left': ['M14.704 16.344l9.73 9.728 2.080-2.079-7.651-7.648 7.651-7.649-2.080-2.079z','M5.488 16.344l9.73 9.728 2.080-2.079-7.651-7.648 7.651-7.649-2.080-2.079z'],\n 'chevron-double-right': ['M7.568 6.616l-2.080 2.079 7.651 7.649-7.651 7.648 2.080 2.079 9.73-9.728z','M16.784 6.616l-2.080 2.079 7.651 7.649-7.651 7.648 2.080 2.079 9.73-9.728z'],\n 'chevron-down': 'M24.618 9.501l-8.629 8.631-8.618-8.62-2.636 2.636 11.264 11.267 11.264-11.267z',\n 'chevron-down-small': 'M16 21.363l-8.268-8.27 1.767-1.768 6.501 6.503 6.501-6.503 1.767 1.768z',\n 'chevron-left': 'M20.205 27.608l2.636-2.635-8.63-8.628 8.63-8.63-2.636-2.636-11.267 11.264z',\n 'chevron-left-small': 'M10.981 16.344l8.27-8.268 1.768 1.767-6.503 6.501 6.503 6.501-1.768 1.767z',\n 'chevron-right': 'M22.917 16.344l-11.267 11.264-2.408-2.408 8.859-8.856-8.859-8.857 2.408-2.408z',\n 'chevron-right-small': 'M21.018 16.344l-8.27 8.268-1.768-1.767 6.503-6.501-6.503-6.501 1.768-1.767z',\n 'chevron-up': 'M7.371 23.401l8.612-8.613 8.628 8.631 2.653-2.654-11.264-11.267-11.264 11.267z',\n 'chevron-up-small': 'M16 11.325l8.268 8.27-1.767 1.768-6.501-6.503-6.501 6.503-1.767-1.768z',\n 'cilent-conflicts-of-interest': ['M18.81 5.073h-11.264v22.528h16.896v-16.896zM22.565 25.723h-13.141v-18.773h8.448v4.693h4.693v14.080z','M13.178 24.235l-2.541-2.541 1.327-1.327 1.214 1.214 3.091-3.091 1.327 1.328-4.418 4.418z','M16.658 12.307l-1.327-1.328-1.683 1.683-1.683-1.683-1.327 1.328 1.683 1.683-1.683 1.683 1.327 1.328 1.683-1.683 1.683 1.683 1.327-1.328-1.683-1.683 1.683-1.683z'],\n 'circle-confirmation': ['M14.592 17.541l-2.722-2.722-1.502 1.478 4.224 4.271 7.087-7.087-1.502-1.502z','M16 5.080c-6.219 0-11.264 5.045-11.264 11.264s5.045 11.264 11.264 11.264 11.264-5.045 11.264-11.264-5.045-11.264-11.264-11.264zM16 25.731c-5.186 0-9.387-4.201-9.387-9.387s4.201-9.387 9.387-9.387 9.387 4.201 9.387 9.387-4.201 9.387-9.387 9.387z'],\n 'circle-confirmation-solid': 'M16 5.080c-6.221 0-11.264 5.043-11.264 11.264s5.043 11.264 11.264 11.264 11.264-5.043 11.264-11.264-5.043-11.264-11.264-11.264zM14.596 20.568c0 0-0.062-0.061-0.143-0.142l-1.203-1.204-2.735-2.768c-0.082-0.082-0.147-0.151-0.147-0.151l1.355-1.346c0.082-0.082 0.147-0.144 0.147-0.144l2.731 2.727 5.577-5.561 1.507 1.506-7.088 7.083z',\n 'circle-delete': ['M19.332 11.698l-3.332 3.309-3.309-3.309-1.338 1.338 3.332 3.309-3.332 3.309 1.338 1.338 3.309-3.309 3.332 3.309 1.314-1.338-3.309-3.309 3.309-3.309z','M16 5.080c-6.219 0-11.264 5.045-11.264 11.264s5.045 11.264 11.264 11.264 11.264-5.045 11.264-11.264-5.045-11.264-11.264-11.264zM16 25.731c-5.186 0-9.387-4.201-9.387-9.387s4.201-9.387 9.387-9.387 9.387 4.201 9.387 9.387-4.201 9.387-9.387 9.387z'],\n 'circle-delete-solid': 'M16 5.080c-6.221 0-11.264 5.043-11.264 11.264s5.043 11.264 11.264 11.264 11.264-5.043 11.264-11.264-5.043-11.264-11.264-11.264zM20.646 19.663l-1.327 1.327-3.319-3.319-3.319 3.319-1.327-1.327 3.318-3.319-3.318-3.319 1.327-1.327 3.319 3.319 3.319-3.319 1.327 1.327-3.319 3.319 3.319 3.319z',\n 'circle-error': ['M14.827 20.099h2.37v2.159h-2.37v-2.159z','M15.061 19.16h1.901l0.469-9.387h-2.839z','M16 5.080c-6.219 0-11.264 5.045-11.264 11.264s5.045 11.264 11.264 11.264 11.264-5.045 11.264-11.264-5.045-11.264-11.264-11.264zM16 25.731c-5.186 0-9.387-4.201-9.387-9.387s4.201-9.387 9.387-9.387 9.387 4.201 9.387 9.387-4.201 9.387-9.387 9.387z'],\n 'circle-error-solid': 'M16 5.080c-6.221 0-11.264 5.043-11.264 11.264s5.043 11.264 11.264 11.264 11.264-5.043 11.264-11.264-5.043-11.264-11.264-11.264zM17.188 22.262h-2.361v-2.163h2.361v2.163zM16.951 19.167h-1.89l-0.469-9.393h2.832l-0.473 9.393z',\n 'circle-fill-information': 'M16 5.080c-6.221 0-11.264 5.043-11.264 11.264s5.043 11.264 11.264 11.264 11.264-5.043 11.264-11.264-5.043-11.264-11.264-11.264zM14.588 9.539h2.82v2.125h-2.82v-2.125zM18.347 22.915h-4.693v-2.112h0.939v-5.397h-0.939v-1.877h0.991v-0.002h2.764v7.277h0.939v2.112z',\n 'circle-help': ['M14.863 19.981h2.273v2.046h-2.273v-2.046z','M16.045 10.024c-0.773 0-1.546 0.091-2.319 0.227v1.728c0.591-0.159 1.137-0.273 1.75-0.273 1.296 0 2.341 0.5 2.341 1.66 0 0.818-0.432 1.341-1.5 2.342-1.091 1.023-1.25 1.273-1.25 2.114v1.25h2.024v-0.887c0-0.796 0.204-1.045 0.841-1.546 1.5-1.182 2.455-2.023 2.455-3.501-0.023-2.455-2.251-3.114-4.342-3.114z','M16 5.080c-6.219 0-11.264 5.045-11.264 11.264s5.045 11.264 11.264 11.264 11.264-5.045 11.264-11.264-5.045-11.264-11.264-11.264zM16 25.731c-5.186 0-9.387-4.201-9.387-9.387s4.201-9.387 9.387-9.387 9.387 4.201 9.387 9.387-4.201 9.387-9.387 9.387z'],\n 'circle-help-solid': 'M15.999 5.081c-6.221 0-11.264 5.043-11.264 11.264s5.043 11.264 11.264 11.264c6.221 0 11.264-5.043 11.264-11.264s-5.043-11.264-11.264-11.264zM17.173 22.212h-2.348v-2.112h2.348v2.112zM17.979 16.635c-0.667 0.516-0.872 0.774-0.872 1.6v0.925h-2.086v-1.269c0-0.878 0.171-1.136 1.299-2.185 1.095-1.033 1.54-1.583 1.54-2.426 0-1.187-1.078-1.704-2.412-1.704-0.616 0-1.197 0.103-1.795 0.275v-1.79c0.787-0.137 1.59-0.241 2.394-0.241 2.155 0 4.464 0.688 4.464 3.2 0 1.514-0.975 2.392-2.531 3.613z',\n 'circle-info': ['M14.593 9.54h2.816v2.135h-2.816v-2.135z','M17.409 13.529h-3.755v1.877h0.939v5.397h-0.939v2.112h4.693v-2.112h-0.939z','M16.001 5.081c-6.219 0-11.264 5.045-11.264 11.264s5.045 11.264 11.264 11.264 11.264-5.045 11.264-11.264-5.045-11.264-11.264-11.264zM16.001 25.732c-5.186 0-9.387-4.201-9.387-9.387s4.201-9.387 9.387-9.387 9.387 4.201 9.387 9.387c0 5.186-4.201 9.387-9.387 9.387z'],\n 'client-download': ['M21.402 18.769c-0.486-0.648-1.065-1.18-1.736-1.597s-1.389-0.625-2.107-0.625h-4.005c-0.744 0-1.447 0.205-2.119 0.611v5.042l4.564 0.013-2.743 2.736h9.742v-1.69c0-0.741-0.139-1.528-0.44-2.315s-0.695-1.528-1.157-2.176z','M15.384 15.505c1.134 0 2.083-0.394 2.893-1.204 0.787-0.787 1.204-1.759 1.204-2.87 0-1.134-0.394-2.107-1.204-2.894-0.787-0.787-1.759-1.181-2.893-1.181s-2.083 0.394-2.87 1.181-1.18 1.759-1.18 2.894c0 1.111 0.394 2.083 1.204 2.87 0.764 0.81 1.736 1.204 2.847 1.204z','M26.824 18.668c-0.301-0.787-0.695-1.528-1.158-2.176-0.486-0.648-1.065-1.18-1.736-1.597s-1.389-0.625-2.107-0.625h-2.173c-0.17 0.238-0.362 0.466-0.578 0.682-0.318 0.319-0.655 0.584-1.011 0.798h0.084c0.766 0 1.531 0.222 2.248 0.667s1.334 1.013 1.853 1.705c0.494 0.692 0.914 1.482 1.235 2.322 0.289 0.755 0.436 1.51 0.464 2.229h3.318v-1.69c0-0.741-0.139-1.528-0.44-2.315z','M20.542 11.448c0 0.616-0.106 1.197-0.311 1.738 0.881-0.115 1.643-0.495 2.31-1.162 0.787-0.787 1.204-1.759 1.204-2.87 0-1.134-0.394-2.107-1.204-2.893-0.787-0.787-1.759-1.181-2.893-1.181s-2.083 0.394-2.87 1.181c-0.097 0.097-0.188 0.197-0.273 0.299 0.978 0.176 1.838 0.627 2.568 1.356 0.989 0.961 1.469 2.148 1.469 3.532z','M10.519 23.099v-6.633h-2.552v6.633h-3.231l4.507 4.509 4.504-4.509z'],\n 'client-upload': ['M21.402 18.788c-0.486-0.648-1.065-1.181-1.736-1.597s-1.389-0.625-2.107-0.625h-4.005c-0.766 0-1.488 0.219-2.179 0.65l4.624 4.613-4.564 0.013v3.128h11.563v-1.69c0-0.741-0.139-1.528-0.44-2.315s-0.694-1.528-1.157-2.176z','M15.384 15.524c1.134 0 2.083-0.394 2.893-1.204 0.787-0.787 1.204-1.759 1.204-2.87 0-1.134-0.394-2.107-1.204-2.893-0.787-0.787-1.759-1.181-2.893-1.181s-2.083 0.394-2.87 1.181-1.18 1.759-1.18 2.893c0 1.111 0.393 2.083 1.204 2.87 0.764 0.81 1.736 1.204 2.847 1.204z','M26.824 18.687c-0.301-0.787-0.695-1.528-1.158-2.176-0.486-0.648-1.065-1.181-1.736-1.597s-1.389-0.625-2.107-0.625h-2.173c-0.17 0.238-0.362 0.466-0.578 0.682-0.319 0.319-0.655 0.584-1.011 0.798h0.084c0.766 0 1.531 0.222 2.248 0.667s1.334 1.013 1.853 1.705c0.494 0.692 0.914 1.482 1.235 2.322 0.289 0.755 0.436 1.51 0.464 2.229h3.318v-1.69c0-0.741-0.139-1.528-0.44-2.315z','M20.543 11.467c0 0.616-0.106 1.197-0.311 1.738 0.881-0.115 1.643-0.495 2.31-1.162 0.787-0.787 1.204-1.759 1.204-2.87 0-1.134-0.394-2.106-1.204-2.893-0.787-0.787-1.759-1.181-2.893-1.181s-2.083 0.394-2.87 1.181c-0.097 0.097-0.188 0.197-0.272 0.299 0.978 0.176 1.838 0.627 2.568 1.356 0.989 0.961 1.469 2.148 1.469 3.532z','M9.243 16.433l-4.507 4.509h3.231v6.632h2.552v-6.632h3.229z'],\n 'clock': ['M27.264 16.344c0 6.195-5.069 11.264-11.264 11.264-6.219 0-11.264-5.069-11.264-11.264s5.045-11.264 11.264-11.264c6.195 0 11.264 5.069 11.264 11.264zM25.457 16.344c0-5.21-4.247-9.457-9.457-9.457-5.233 0-9.457 4.247-9.457 9.457s4.224 9.457 9.457 9.457c5.21 0 9.457-4.247 9.457-9.457z','M16.939 15.576v-5.803h-1.877v6.564l-0.008 0.008 4.696 4.696 1.327-1.328z'],\n 'collapse': ['M6.153 14.463l7.969-0v-7.967l-2.655 2.652-4.016-4.016-2.692 2.692 4.016 4.016z','M25.847 14.463l-7.97-0v-7.967l2.656 2.652 4.016-4.016 2.692 2.692-4.016 4.016z','M6.153 18.217h7.97l-0.003 7.977-2.653-2.653-4.016 4.016-2.692-2.692 4.016-4.017z','M25.847 18.217h-7.97v7.977l2.656-2.653 4.016 4.016 2.692-2.692-4.016-4.017z'],\n 'column-view': ['M4.737 5.080v22.528h9.387v-22.528h-9.387zM12.246 25.731h-5.632v-18.773h5.632v18.773z','M17.878 5.080v22.528h9.387v-22.528h-9.387zM25.388 25.731h-5.632v-18.773h5.632v18.773z'],\n 'compliance': ['M13.453 17.268l-3.319-3.319 1.327-1.327 1.991 1.991 3.319-3.318 1.327 1.327-4.646 4.646z','M27.259 25.61l-5.587-5.587c1.144-1.532 1.832-3.463 1.832-5.555 0-0.003 0-0.006 0-0.009v0c0-5.176-4.211-9.387-9.387-9.387s-9.387 4.211-9.387 9.387 4.211 9.387 9.387 9.387c0.003 0 0.006 0 0.009 0 2.092 0 4.023-0.688 5.579-1.85l-0.025 0.018 5.587 5.587zM6.608 14.459c0-4.147 3.362-7.509 7.509-7.509s7.509 3.362 7.509 7.509c0 4.147-3.362 7.509-7.509 7.509v0c-4.145-0.005-7.504-3.364-7.509-7.509v-0z'],\n 'complaints': 'M4.737 6.961v13.136h3.756v5.633l5.632-5.635h13.135v-13.139l-22.523 0.004zM15.106 16.674h1.799v1.639h-1.799v-1.639zM14.928 8.835h2.156l-0.356 7.126h-1.443l-0.356-7.126z',\n 'compose': ['M19.747 25.733h-13.141v-18.773h8.447v4.694h4.694v2.156l1.875-1.872v-1.225l-5.632-5.632h-11.264v22.528h16.896v-8.366l-1.875 1.881z','M14.339 20.539l-1.161 3.485 3.485-1.162 8.629-8.628-2.323-2.323z','M27.282 12.243l-1.328 1.328-2.323-2.323 1.328-1.328 2.323 2.323z'],\n 'confidential': ['M15.065 21.037v6.574h-9.389v-6.572h1.317c0 0 0-0.251 0-2.277v-0.022c0-1.919 1.511-3.473 3.377-3.473s3.366 1.554 3.366 3.473c0 0 0 0 0 0.022v2.275l1.329 0.001zM12.171 18.536v-0.011c0-1.018-0.804-1.854-1.801-1.854-0.986 0-1.79 0.826-1.79 1.854v2.513h3.591v-2.502zM9.585 26.127h1.559c0.091 0 0.153-0.093 0.118-0.177l-0.656-1.591c0.407-0.118 0.697-0.472 0.697-0.9 0-0.594-0.549-1.051-1.15-0.921-0.366 0.080-0.657 0.382-0.722 0.752-0.088 0.499 0.222 0.949 0.682 1.070l-0.646 1.592c-0.034 0.084 0.027 0.176 0.118 0.176z','M15.999 27.607h10.325v-16.896l-5.632-5.632h-11.264v9.383c0 0 0.424-0.133 0.942-0.133s0.938 0.133 0.938 0.133v-7.503h8.447v4.694h4.694v14.079h-8.45v1.876z'],\n 'contactless-payments': 'M16 5.080c-6.222 0-11.264 5.060-11.264 11.264s5.042 11.264 11.264 11.264c6.204 0 11.264-5.060 11.264-11.264s-5.060-11.264-11.264-11.264zM11.945 17.819c-0.232 0.238-0.788 0.383-1.059 0.102-0.248-0.258-0.259-0.639-0.141-0.787 0.078-0.097 0.328-0.3 0.328-0.737 0-0.295-0.204-0.659-0.29-0.749-0.214-0.253-0.093-0.54 0.164-0.782 0.285-0.268 0.83-0.132 1.055 0.121 0.247 0.289 0.443 0.719 0.443 1.315 0 0.793-0.245 1.244-0.5 1.517zM14.481 19.189c-0.273 0.349-0.771 0.434-1.124 0.154s-0.422-0.791-0.162-1.153c0.104-0.129 0.65-0.866 0.652-1.912 0.003-1.111-0.497-1.785-0.597-1.918-0.249-0.37-0.165-0.891 0.195-1.148 0.361-0.269 0.857-0.197 1.119 0.173 0.287 0.423 0.91 1.451 0.889 2.915-0.022 1.49-0.673 2.488-0.972 2.889zM16.139 20.893c-0.392-0.241-0.486-0.739-0.251-1.128 0.614-1.011 0.975-2.169 0.993-3.45 0.018-1.268-0.309-2.449-0.893-3.465-0.224-0.396-0.114-0.904 0.284-1.133 0.36-0.23 0.869-0.105 1.092 0.29 0.734 1.266 1.159 2.75 1.136 4.331s-0.49 3.052-1.26 4.296c-0.235 0.389-0.734 0.499-1.1 0.259zM19.973 22.21c-0.222 0.389-0.721 0.513-1.1 0.272-0.379-0.228-0.499-0.739-0.264-1.128 0.863-1.465 1.371-3.171 1.398-5s-0.433-3.549-1.253-5.039c-0.224-0.396-0.089-0.903 0.297-1.12 0.386-0.23 0.881-0.092 1.092 0.303 0.956 1.74 1.501 3.748 1.47 5.878s-0.634 4.136-1.639 5.834z',\n 'contactless-payments-outline': ['M16 5.080c-6.219 0-11.264 5.045-11.264 11.264s5.045 11.264 11.264 11.264 11.264-5.045 11.264-11.264-5.045-11.264-11.264-11.264zM16 25.731c-5.186 0-9.387-4.201-9.387-9.387s4.201-9.387 9.387-9.387 9.387 4.2 9.387 9.387c0 5.186-4.201 9.387-9.387 9.387z','M10.947 14.866c-0.257 0.242-0.378 0.529-0.164 0.782 0.086 0.090 0.29 0.454 0.29 0.749 0 0.437-0.25 0.64-0.328 0.737-0.118 0.148-0.107 0.529 0.141 0.787 0.271 0.281 0.827 0.135 1.059-0.102 0.255-0.273 0.5-0.724 0.5-1.517 0-0.597-0.196-1.026-0.443-1.315-0.225-0.253-0.77-0.389-1.055-0.121z','M13.445 13.212c-0.36 0.256-0.444 0.778-0.195 1.147 0.1 0.133 0.6 0.807 0.597 1.918-0.002 1.046-0.548 1.783-0.652 1.912-0.26 0.362-0.191 0.873 0.162 1.153s0.851 0.195 1.124-0.154c0.299-0.401 0.951-1.398 0.972-2.889 0.021-1.464-0.601-2.493-0.889-2.916-0.262-0.37-0.758-0.442-1.119-0.173z','M19.050 10.194c-0.386 0.217-0.52 0.724-0.297 1.12 0.82 1.489 1.279 3.209 1.253 5.039s-0.535 3.536-1.398 5c-0.235 0.389-0.115 0.9 0.264 1.128 0.379 0.241 0.878 0.117 1.1-0.272 1.006-1.698 1.608-3.703 1.639-5.834s-0.514-4.139-1.47-5.878c-0.211-0.395-0.706-0.533-1.092-0.303z','M17.364 12.007c-0.224-0.395-0.732-0.52-1.092-0.29-0.398 0.229-0.508 0.738-0.284 1.133 0.585 1.015 0.912 2.197 0.893 3.465-0.018 1.281-0.379 2.439-0.993 3.45-0.235 0.389-0.14 0.887 0.251 1.128 0.366 0.241 0.865 0.13 1.1-0.259 0.77-1.244 1.237-2.715 1.26-4.296s-0.402-3.065-1.136-4.331z'],\n 'copy': ['M4.736 11.651h4.697v1.877h-2.816v12.203h13.141v-3.755h1.877v5.632h-16.9z','M14.156 20.136h11.235v-13.179h-14.080v10.325l-1.877 1.91v-14.113h17.831v16.896h-15.015z','M12.285 14.519h4.658v4.658l-1.668-1.668-6.344 6.345-1.323-1.323 6.345-6.344z','M13.188 8.835h10.325v0.976h-10.325v-0.976z','M13.188 11.651h10.325v0.939h-10.325v-0.939z','M18.782 14.467h4.731v0.939h-4.731v-0.939z','M18.82 17.283h4.693v0.939h-4.693v-0.939z'],\n 'core-leave-tool': 'M23.501 8.829v-1.879h-4.693v1.879h-5.629v-1.879h-4.693v1.879h-3.757v16.895h16.901l5.629-5.629v-11.265h-3.757zM20.686 8.829h0.936v1.879h-0.936zM10.364 8.829h0.936v1.879h-0.936zM25.38 19.152h-4.693v4.693h-14.080v-9.387h18.773v4.693zM25.38 13.523h-18.773v-2.815h1.879v1.879h4.693v-1.879h5.629v1.879h4.693v-1.879h1.879v2.815zM10.034 18.161l-1.163-1.163 0.661-0.661 0.495 0.495 1.163-1.163 0.661 0.661zM13.791 18.161l-1.17-1.163 0.661-0.661 0.495 0.495 1.163-1.163 0.661 0.661zM17.548 18.161l-1.17-1.163 0.661-0.661 0.495 0.495 1.163-1.163 0.661 0.661zM10.034 21.918l-1.163-1.163 0.661-0.661 0.495 0.495 1.163-1.163 0.661 0.661zM13.791 21.918l-1.163-1.163 0.661-0.661 0.495 0.495 1.163-1.163 0.661 0.661zM17.548 21.918l-1.17-1.163 0.661-0.661 0.495 0.495 1.163-1.163 0.661 0.661zM21.306 18.161l-1.17-1.163 0.661-0.661 0.495 0.495 1.163-1.163 0.661 0.661z',\n 'corporate': 'M6.613 5.080v22.528h7.509v-7.509h3.755v7.509h7.509v-22.528h-18.773zM12.245 24.608h-3.755v-4.509h3.755v4.509zM12.245 18.221h-3.755v-4.693h3.755v4.693zM12.245 11.651h-3.755v-4.643h3.755v4.643zM17.877 18.221h-3.755v-4.693h3.755v4.693zM17.877 11.651h-3.755v-4.551h3.755v4.551zM23.509 24.792h-3.755v-4.693h3.755v4.693zM23.509 18.221h-3.755v-4.693h3.755v4.693zM23.509 11.651h-3.755v-4.598h3.755v4.598z',\n 'courier-booking': 'M27.259 17.356l-2.816-2.816v-5.713h-19.712v1.877h3.755v1.877h-2.816v1.877h2.816v1.877h-1.878v1.877h1.878v3.755h2.98c0.397 1.103 1.434 1.877 2.652 1.877s2.255-0.774 2.646-1.858l0.006-0.020h2.206c0.397 1.103 1.434 1.877 2.652 1.877s2.255-0.774 2.646-1.858l0.006-0.020h2.981v-4.613zM14.117 21.969c-0.518 0-0.939-0.42-0.939-0.939s0.42-0.939 0.939-0.939c0.518 0 0.939 0.42 0.939 0.939v0c-0.001 0.518-0.421 0.938-0.939 0.939h-0zM21.627 21.969c-0.518 0-0.939-0.42-0.939-0.939s0.42-0.939 0.939-0.939c0.518 0 0.939 0.42 0.939 0.939v0c-0.001 0.518-0.421 0.938-0.939 0.939h-0zM25.381 20.091h-1.103c-0.397-1.103-1.434-1.877-2.652-1.877s-2.255 0.774-2.646 1.858l-0.006 0.020h-2.206c-0.397-1.103-1.434-1.877-2.652-1.877s-2.255 0.774-2.646 1.858l-0.006 0.020h-1.103v-9.387h12.203v3.755h-1.877v1.877h2.897l1.797 1.797v1.958z',\n 'dashboard': ['M16.939 15.659v-5.885h-1.877v5.885c-0.561 0.325-0.939 0.93-0.939 1.624 0 1.037 0.841 1.877 1.877 1.877s1.877-0.84 1.877-1.877c0-0.694-0.378-1.3-0.939-1.624z','M16 5.080c-6.219 0-11.264 5.045-11.264 11.264s5.045 11.264 11.264 11.264 11.264-5.045 11.264-11.264-5.045-11.264-11.264-11.264zM16 25.731c-4.869 0-8.869-3.703-9.34-8.448h2.769v-1.877h-2.769c0.219-2.205 1.201-4.185 2.678-5.674l2.025 2.025 1.328-1.328-1.897-1.896c1.49-0.994 3.279-1.576 5.206-1.576 1.936 0 3.734 0.586 5.228 1.589l-1.888 1.888 1.328 1.328 2.012-2.012c1.467 1.486 2.442 3.459 2.66 5.656h-2.769v1.877h2.769c-0.471 4.745-4.471 8.448-9.34 8.448z'],\n 'delete': 'M25.292 9.707l-2.655-2.655-6.637 6.638-6.638-6.638-2.655 2.655 6.638 6.637-6.637 6.637 2.655 2.655 6.638-6.638 6.637 6.638 2.655-2.655-6.637-6.637z',\n 'delete-small': 'M22.223 11.924l-1.768-1.768-4.42 4.421-4.421-4.421-1.768 1.768 4.421 4.42-4.42 4.42 1.768 1.768 4.421-4.421 4.42 4.421 1.768-1.768-4.42-4.42z',\n 'devices': ['M26.899 7.896h-18.981c-0.2 0-0.364 0.163-0.364 0.363v1.514h17.834v9.387h-12.203v1.877h1.767c0.077 0.501 0.18 1.6-0.151 2.020-0.411 0.526-1.608 1.259-1.608 1.259v0.476h7.96v-0.476c0 0-1.198-0.733-1.611-1.259-0.331-0.42-0.229-1.52-0.15-2.020h7.507c0.2 0 0.363-0.163 0.363-0.362v-12.416c0-0.2-0.162-0.363-0.363-0.363z','M12.251 11.809c0.012-0.49-0.337-1.097-0.942-1.097h-5.473c-0.607 0-1.097 0.491-1.097 1.097v11.885c0 0.607 0.49 1.098 1.097 1.098h5.473c0.605 0 0.942-0.491 0.942-1.098v-11.885h-0zM7.403 12.049v-0.289h2.006v0.289h-2.006zM11.312 22.604h-5.635v-9.705h5.636l-0.001 9.705z'],\n 'desktop-computer': 'M26.842 6.949h-21.707c-0.235 0-0.422 0.188-0.422 0.422v13.259c0 0.235 0.188 0.422 0.422 0.422h8.284c0 0 0.399 2.065-0.117 2.722-0.469 0.587-1.995 1.431-1.995 1.431v0.54h9.387v-0.54c0 0-1.549-0.821-2.018-1.431-0.516-0.681-0.094-2.746-0.094-2.746h8.284c0.235 0 0.422-0.188 0.422-0.422v-13.235c-0.023-0.235-0.211-0.422-0.446-0.422zM25.387 19.152h-18.773v-10.325h18.773v10.325z',\n 'dial': ['M4.761 5.105h6.566v6.566h-6.566v-6.566z','M12.717 5.105h6.566v6.566h-6.566v-6.566z','M20.673 5.105h6.566v6.566h-6.566v-6.566z','M4.761 21.017h6.566v6.566h-6.566v-6.566z','M12.717 21.017h6.566v6.566h-6.566v-6.566z','M20.673 21.017h6.566v6.566h-6.566v-6.566z','M4.761 13.079h6.566v6.566h-6.566v-6.566z','M12.717 13.079h6.566v6.566h-6.566v-6.566z','M20.673 13.079h6.566v6.566h-6.566v-6.566z'],\n 'dining-food': ['M25.564 17.736c-0.155 2.139-1.228 5.261-4.622 6.805h-9.885c-3.414-1.544-4.471-4.667-4.622-6.805-0.021-0.299-0.001-0.554-0.001-0.554h19.131c0-0 0.021 0.255-0.001 0.555z','M20.731 25.798h-9.462v1.355c0 0.251 0 0.455 0 0.455h9.462c0 0 0-0.204 0-0.455v-1.355z','M12.231 15.37c0 0 0.148-0.159 0.243-0.288 1.008-1.372 1.839-3.344-0.218-5.478-1.426-1.48-1.212-2.387-0.266-3.569 0.078-0.097 0.161-0.225 0.161-0.225l-1.15-0.729c0 0-0.195 0.158-0.29 0.287-1.002 1.348-1.642 2.918 0.562 5.28 1.365 1.464 0.711 2.893 0.015 3.77-0.275 0.347-0.159 0.324-0.159 0.324l1.102 0.63z','M16.352 15.37c0 0 0.148-0.159 0.243-0.288 1.008-1.372 1.839-3.344-0.218-5.478-1.426-1.48-1.212-2.387-0.266-3.569 0.078-0.097 0.161-0.225 0.161-0.225l-1.15-0.729c0 0-0.195 0.158-0.29 0.287-1.002 1.348-1.642 2.918 0.562 5.28 1.365 1.464 0.711 2.893 0.015 3.77-0.275 0.347-0.159 0.324-0.159 0.324l1.102 0.63z','M20.282 15.37c0 0 0.148-0.159 0.243-0.288 1.007-1.372 1.839-3.344-0.218-5.478-1.426-1.48-1.212-2.387-0.266-3.569 0.078-0.097 0.161-0.225 0.161-0.225l-1.15-0.729c0 0-0.195 0.158-0.29 0.287-1.002 1.348-1.642 2.918 0.562 5.28 1.365 1.464 0.711 2.893 0.015 3.77-0.276 0.347-0.159 0.324-0.159 0.324l1.102 0.63z'],\n 'documents-repository': ['M10.362 5.073h-5.632v19.712h5.632v-19.712zM8.485 6.95v0.939h-1.877v-0.939h1.878zM8.485 9.766v9.387h-1.877v-9.387h1.878zM6.608 22.907v-1.877h1.878v1.877h-1.878z','M16.933 5.073h-5.632v19.712h5.632v-19.712zM15.056 6.95v0.939h-1.877v-0.939h1.877zM15.056 9.766v10.325h-1.877v-10.325h1.877zM13.178 22.907v-0.939h1.877v0.939h-1.877z','M4.73 25.723h22.528v1.877h-22.528v-1.877z','M27.453 23.872l-4.196-17.334-5.474 1.325 4.196 17.334zM23.362 22.93l-0.21-0.869 1.825-0.442 0.21 0.869zM21.874 8.804l2.661 10.991-1.825 0.442-2.661-10.991z'],\n 'document': 'M18.816 5.080h-11.264v22.528h16.896v-16.896l-5.632-5.632zM22.573 25.733h-13.141v-18.773h8.447v4.694h4.694v14.079z',\n 'dollar-bill': ['M4.736 9.773v13.141h22.528v-13.141h-22.528zM25.387 18.269c-0.152-0.031-0.308-0.047-0.469-0.047-1.296 0-2.347 1.051-2.347 2.347 0 0.161 0.016 0.318 0.047 0.469h-13.236c0.031-0.152 0.047-0.309 0.047-0.469 0-1.296-1.051-2.347-2.347-2.347-0.161 0-0.318 0.016-0.469 0.047v-3.849c0.152 0.031 0.309 0.047 0.469 0.047 1.296 0 2.347-1.051 2.347-2.347 0-0.161-0.016-0.318-0.047-0.469h13.236c-0.031 0.152-0.047 0.309-0.047 0.469 0 1.296 1.051 2.347 2.347 2.347 0.161 0 0.318-0.016 0.469-0.047v3.849z','M16 12.589c-2.074 0-3.755 1.681-3.755 3.755s1.681 3.755 3.755 3.755 3.755-1.681 3.755-3.755-1.681-3.755-3.755-3.755zM16.849 19.16h-1.415v-4.366c-0.375 0.343-0.838 0.59-1.308 0.758v-1.099c0.646-0.223 0.981-0.455 1.484-0.926h1.24v5.632z'],\n 'download': ['M23.513 24.202v-6.933h3.751v10.339h-22.528v-10.339h3.758v6.933z','M9.902 14.232l6.099 6.101 6.103-6.101h-4.224v-9.152h-3.755v9.152z'],\n 'do-not-view': ['M24.896 5.614l-4.533 4.533c-1.264-0.533-2.714-0.875-4.362-0.877h-0.012c-7.477 0-11.225 7.628-11.225 7.628s1.454 2.945 3.904 4.945l-3.901 3.901 0.871 0.871 20.13-20.13-0.871-0.871zM13.818 11.951c0.282-0.117 0.634 0.023 0.727 0.305 0.117 0.305-0.023 0.634-0.329 0.751-0.117 0.047-0.704 0.282-1.079 0.915-0.399 0.681-0.352 1.267-0.329 1.385 0.023 0.305-0.235 0.587-0.54 0.634-0.305 0.023-0.587-0.188-0.61-0.516-0.023-0.352-0.047-1.197 0.516-2.089s1.314-1.267 1.643-1.385zM6.609 16.896c0.553-0.96 2.289-3.613 5.261-5.042-0.988 1.029-1.596 2.425-1.596 3.964 0 1.247 0.4 2.401 1.077 3.341l-1.497 1.497c-1.753-1.389-2.831-3.044-3.245-3.76z','M21.726 15.817c0-1.024-0.27-1.984-0.742-2.815l-7.8 7.8c0.832 0.471 1.792 0.741 2.816 0.741 3.162 0 5.726-2.564 5.726-5.726z','M22.595 11.391l-1.201 1.201c2.201 1.47 3.526 3.495 3.996 4.306-0.773 1.34-3.849 5.983-9.38 5.983h-0.010c-1.518-0.002-2.851-0.354-4.004-0.891l-1.241 1.241c1.457 0.765 3.199 1.291 5.244 1.293h0.012c7.477 0 11.225-7.628 11.225-7.628s-1.694-3.427-4.642-5.505z'],\n 'edit': ['M27.264 9.336l-2.405 2.349-4.138-4.186 2.377-2.419z','M19.785 8.454l4.146 4.173-13.040 13.021-6.155 1.961 1.954-6.177z'],\n 'education': 'M15.797 9.58c0.090-0.023 0.18-0.023 0.27 0l11.196 4.258-11.196 4.303c-0.090 0.022-0.18 0.022-0.27 0l-11.061-4.258 11.061-4.303zM16.068 18.884l5.677-2.208v3.289c0 1.171-2.613 2.073-5.812 2.073-3.221 0-5.835-0.923-5.835-2.073v-3.289l5.7 2.208c0.090 0.045 0.18 0.045 0.27 0zM23.254 23.3v-7.141l1.464-0.563v7.141c0 0-0.090 0.045-0.248 0.090l-0.721 0.27c-0.248 0.068-0.496 0.203-0.496 0.203z',\n 'eForms': ['M12.24 16.337h12.203v1.877h-12.203v-1.877z','M12.24 10.705h12.203v1.877h-12.203v-1.877z','M10.362 19.153h14.080v1.877h-14.080v-1.877z','M12.24 21.969h12.203v1.877h-12.203v-1.877z','M24.442 15.398h-15.957c-1.555-0.002-2.814-1.261-2.816-2.816v-1.877c0-1.555 1.261-2.816 2.816-2.816s2.816 1.261 2.816 2.816v0 1.877h-3.755c0 0.518 0.42 0.938 0.939 0.939h15.957v1.877zM7.546 10.705h1.877c0-0.518-0.42-0.939-0.939-0.939s-0.939 0.42-0.939 0.939v0z'],\n 'error': 'M17.76 21.507h-3.543l-0.845-16.427h5.257l-0.868 16.427zM13.653 27.608v-3.755h4.693v3.755h-4.693z',\n 'expand': ['M18.456 5.082l8.808-0.002v8.811l-3.158-3.158-4.963 4.963-2.494-2.494 4.963-4.963z','M13.544 5.082l-8.808-0.002v8.811l3.158-3.158 4.969 4.962 2.494-2.494-4.968-4.961z','M18.456 27.606l8.808 0.002v-8.811l-3.158 3.158-4.964-4.964-2.494 2.494 4.964 4.964z','M13.544 27.606l-8.808 0.002v-8.811l3.158 3.158 4.963-4.964 2.494 2.494-4.963 4.964z'],\n 'expenses': 'M24.444 10.708v-5.368c0-0 0-0 0-0 0-0.146-0.116-0.264-0.261-0.268h-0l-0.083 0.014-16.372 5.457c-0.105 0.038-0.179 0.137-0.179 0.253 0 0.001 0 0.001 0 0.002v-0 4.604h1.879v-2.822h15.952v10.323h-2.815v1.879h4.693v-14.073h-2.815zM13.178 10.708l9.394-3.131v3.131zM19.613 16.337h-12.862c-1.114 0-2.016 0.903-2.016 2.016v0 7.226c0 1.114 0.903 2.016 2.016 2.016v0h12.855c1.114 0 2.016-0.903 2.016-2.016v-7.226c0-1.114-0.903-2.016-2.016-2.016v0zM6.751 18.216h12.814c0.076 0 0.186 0.062 0.186 0.138v0.798h-13.144v-0.798c0-0 0-0 0-0 0-0.076 0.062-0.138 0.138-0.138 0.002 0 0.005 0 0.007 0h-0zM19.606 25.724h-12.855c-0.076 0-0.138-0.062-0.138-0.138v0-3.62h13.137v3.613c0 0.002 0 0.005 0 0.007 0 0.076-0.062 0.138-0.138 0.138-0.002 0-0.005-0-0.007-0h0z',\n 'expenses-policy': ['M18.81 5.073h-11.264v22.528h6.571v-1.877h-4.693v-18.773h8.448v4.693h4.693v2.816h1.877v-3.755l-5.632-5.632z','M26.202 19.153h-1.76v-3.581c0-0.065-0.053-0.117-0.117-0.117-0.016 0-0.031 0.003-0.044 0.009l0.001-0-9.226 3.69v8.448h11.264v-8.331c0-0 0-0 0-0 0-0.065-0.052-0.117-0.117-0.117-0 0-0 0-0 0h0zM22.565 18.287v0.866h-2.338zM24.442 25.723h-7.51v-4.693h7.509v4.693z','M11.301 9.766h4.693v0.939h-4.693v-0.939z','M11.301 11.643h4.693v0.939h-4.693v-0.939z','M11.301 13.521h8.448v0.939h-8.448v-0.939z'],\n 'export': ['M22.396 17.981v5.435l-15.849-0.019v-8.602h4.029c0.386-0.8 0.778-1.358 1.171-1.802h-7.012v12.225h19.471c0 0 0-6.207 0-8.692l-1.811 1.455z','M20.678 10.455v-3.259l6.586 5.362-6.586 5.327v-3.259c-0.846-0.035-1.738 0.026-2.677 0.184s-1.667 0.324-2.184 0.5l-0.757 0.263c-0.681 0.257-1.292 0.578-1.832 0.964s-0.948 0.727-1.224 1.025c-0.276 0.298-0.526 0.646-0.748 1.043s-0.349 0.649-0.379 0.753c-0.030 0.105-0.074 0.251-0.132 0.438 0 0-0.099-2.421 0.6-4.095 0.193-0.463 0.759-1.533 1.258-2.1s1.083-1.060 1.752-1.481 1.553-0.788 2.651-1.104c1.097-0.315 2.321-0.502 3.672-0.561z'],\n 'facebook': 'M14.451 26.881v-9.597h-2.527v-3.464h2.527c0 0 0-1.419 0-2.953 0-2.328 1.504-4.458 4.968-4.458 1.392 0 2.442 0.142 2.442 0.142l-0.085 3.237c0 0-1.051 0-2.215 0-1.249 0-1.448 0.568-1.448 1.533 0 0.114 0 0.171 0 0.171 0 0.255 0 0.909 0 2.357h3.748l-0.17 3.436h-3.606v9.597h-3.634z',\n 'facebook-solid': 'M4.736 5.080v22.528h12.88v-8.277h-2.18v-2.987h2.18c0 0 0-1.224 0-2.547 0-2.008 1.297-3.844 4.285-3.844 1.2 0 2.106 0.122 2.106 0.122l-0.073 2.792c0 0-0.906 0-1.91 0-1.078 0-1.249 0.489-1.249 1.322 0 0.098 0 0.147 0 0.147 0 0.22 0 0.784 0 2.033h3.232l-0.147 2.963h-3.11v8.277h6.514v-22.528h-22.528z',\n 'fast-track': ['M25.34 18.221c0 5.163-4.177 9.387-9.34 9.387s-9.34-4.224-9.34-9.387 4.177-9.387 9.34-9.387 9.34 4.224 9.34 9.387zM23.063 18.221c0-3.919-3.168-7.11-7.087-7.11-3.896 0-7.064 3.191-7.064 7.11s3.168 7.11 7.087 7.11c3.895 0 7.063-3.191 7.063-7.11zM14.076 5.080h3.755v3.004c0 0-0.892-0.164-1.83-0.164-0.962 0-1.924 0.164-1.924 0.164v-3.004zM21.139 9.163c-0.024-0.023-0.071-0.047-0.117-0.070l0.704-0.939c0.117-0.164 0.211-0.282 0.211-0.282l2.206 1.643c0.141 0.117 0.281 0.235 0.281 0.235l-0.962 1.291c-0.094-0.094-0.188-0.211-0.258-0.258-0.117-0.094-0.516-0.493-0.774-0.681-0.259-0.211-0.469-0.375-0.657-0.516-0.351-0.258-0.539-0.352-0.632-0.422z','M16.892 18.385v-5.796h-1.877v6.571h0.015l-0.009 0.009 3.75 3.75 1.328-1.328z'],\n 'favourite': 'M20.33 18.874l2.675 8.57-6.991-5.218-7.055 5.381 2.684-8.734-6.907-5.353 8.543-0.008 2.735-8.434 2.66 8.433 8.59 0.008z',\n 'favourite-outline': ['M9.029 27.644l2.67-8.705-6.882-5.381h8.499l2.732-8.382 2.677 8.382h8.561l-6.951 5.381 2.691 8.692-6.971-5.333-7.026 5.347zM6.015 13.97l6.166 4.817-2.381 7.756 6.255-4.762 6.187 4.742-2.388-7.735 6.221-4.817h-7.652l-2.374-7.446-2.429 7.446h-7.604z','M23.054 27.568l-6.971-5.34-7.012 5.34 2.67-8.692-6.82-5.333h8.437l2.725-8.382 2.67 8.382h8.499l-6.882 5.333 2.684 8.692zM9.366 15.071l4.15 3.241-1.583 5.141 4.157-3.159 4.088 3.131-1.583-5.113 4.184-3.241h-5.141l-1.569-4.92-1.603 4.92h-5.099z'],\n 'fire-medical-assistance': ['M23.504 8.827v-3.755h-6.571v3.755h-3.755v3.755h1.877v-1.877h3.755v-3.755h2.816v3.755h3.755v2.816h-3.755v3.755h-2.816v-3.755h-1.877v5.632h6.571v-3.755h3.755v-6.571h-3.755z','M10.832 27.601c-2.85-0.003-5.16-2.313-5.163-5.162v-9.306l1.877 1.877v-3.755l4.693 4.693 2.359-2.359 0.424 1.564c0.040 0.146 0.971 3.624 0.971 7.286-0.003 2.85-2.313 5.159-5.162 5.163h-0zM7.546 17.664v4.774c0 1.814 1.471 3.285 3.285 3.285s3.285-1.471 3.285-3.285v0c0-1.945-0.291-3.868-0.543-5.169l-1.334 1.334-2.816-2.816v3.755z','M12.709 23.846c0 1.037-0.841 1.877-1.877 1.877s-1.877-0.84-1.877-1.877c0-1.037 0.841-1.877 1.877-1.877s1.877 0.84 1.877 1.877z'],\n 'fixed-income-guidance': ['M5.669 12.582h3.755v10.325h-3.755v-10.325z','M10.362 9.766h3.755v13.141h-3.755v-13.141z','M27.030 19.846c-0.703-2.435-2.819-4.223-5.382-4.427l-0.021-0.001v5.509z','M20.688 15.418c-3.161 0.25-5.632 2.877-5.632 6.082 0 1.189 0.34 2.298 0.928 3.236l-0.015-0.026 4.719-3.448v-5.843z','M26.615 24.227c0.406-0.793 0.644-1.729 0.644-2.721 0-0.002 0-0.004 0-0.006v0c-0.001-0.259-0.017-0.513-0.048-0.763l0.003 0.030-4.774 0.955z','M16.524 25.467c1.125 1.31 2.783 2.134 4.634 2.134 2.045 0 3.855-1.007 4.961-2.551l0.013-0.018-4.948-2.969z','M18.81 14.861v-9.789h-3.755v12.916c0.844-1.446 2.147-2.546 3.706-3.112l0.049-0.016z'],\n 'filter': 'M4.736 5.080h22.528v2.816l-9.387 10.504v9.208l-3.755-3.126v-6.083l-9.387-10.504z',\n 'gift': 'M25.381 11.643h-3.936c1.413-0.927 2.225-2.42 1.914-3.796-0.316-1.395-1.692-2.256-3.351-2.256-0.529 0.002-1.039 0.083-1.52 0.231l0.037-0.010c-1.22 0.362-2.095 1.663-2.579 3.066-0.484-1.403-1.358-2.703-2.579-3.066-0.443-0.138-0.953-0.219-1.482-0.221h-0.001c-1.659 0-3.036 0.861-3.351 2.256-0.311 1.376 0.501 2.869 1.914 3.796h-3.84v5.632h0.939v10.325h16.896v-10.325h0.939v-5.632zM23.504 15.398h-6.571v-1.877h6.571v1.877zM17.806 9.257c0.415-1.063 0.935-1.55 1.254-1.645 0.283-0.089 0.609-0.141 0.947-0.143h0.001c0.646 0 1.397 0.248 1.52 0.793 0.164 0.726-0.684 1.845-2.066 2.255-0.423 0.126-0.829 0.261-1.187 0.381-0.275 0.092-0.602 0.201-0.889 0.286 0.040-0.703 0.19-1.36 0.435-1.969l-0.015 0.042zM10.364 8.262c0.123-0.545 0.875-0.793 1.521-0.793 0.339 0.002 0.665 0.054 0.972 0.15l-0.024-0.006c0.319 0.095 0.838 0.582 1.254 1.645 0.23 0.567 0.381 1.224 0.42 1.911l0.001 0.016c-0.287-0.085-0.614-0.194-0.889-0.286-0.358-0.12-0.764-0.256-1.187-0.381-1.382-0.41-2.231-1.529-2.066-2.255zM8.485 13.521h6.571v1.877h-6.571v-1.877zM9.424 17.275h5.632v8.448h-5.632v-8.448zM22.565 25.723h-5.632v-8.448h5.632v8.448z',\n 'global': 'M16 5.080c-6.221 0-11.264 5.043-11.264 11.264s5.043 11.264 11.264 11.264 11.264-5.043 11.264-11.264-5.043-11.264-11.264-11.264zM20.205 7.546c-0.15-0.042-0.298-0.085-0.446-0.122-0.014-0.033-0.023-0.066-0.040-0.099 0.164 0.068 0.326 0.143 0.486 0.221zM22.709 10.132c-0.005 0.39-0.063 0.779-0.174 1.169-0.875-0.735-1.814-1.326-2.741-1.812 0.056-0.153 0.106-0.31 0.138-0.467 0.899 0.272 1.826 0.638 2.776 1.11zM19.025 10.75c0.106 0.056 0.214 0.106 0.322 0.164 0.972 0.528 1.821 1.124 2.551 1.783-0.345 0.556-0.791 1.089-1.324 1.584-0.692-1.070-1.455-2.030-2.218-2.87 0.249-0.214 0.474-0.434 0.669-0.662zM19.389 15.211c-0.758 0.509-1.622 0.948-2.57 1.281-0.39-1.373-0.732-2.577-1.030-3.626 0.474-0.174 0.915-0.375 1.323-0.603 0.784 0.852 1.572 1.842 2.276 2.947zM17.539 7.262c0.481 0.225 0.812 0.537 0.92 0.911 0.056 0.204 0.045 0.436-0.026 0.678-1.016-0.429-1.964-0.727-2.741-0.932 0.605-0.26 1.26-0.483 1.847-0.657zM17.584 10.097c-0.53 0.5-1.279 0.972-2.206 1.326-0.244-0.859-0.451-1.584-0.627-2.201 0.727 0.162 1.732 0.439 2.832 0.875zM15.378 16.9c-0.983 0.216-1.945 0.298-2.861 0.265 0.016-1.312 0.169-2.57 0.387-3.708 0.476-0.021 0.957-0.080 1.443-0.181l1.030 3.623zM13.311 9.63c0.033 0.117 0.066 0.23 0.101 0.354l0.521 1.835c-0.483 0.092-0.964 0.157-1.431 0.157-0.411 0-0.791-0.042-1.138-0.113 0.706-0.95 1.415-1.711 1.948-2.234zM11.396 13.385c-0.204 1.117-0.35 2.337-0.375 3.611-0.713-0.141-1.373-0.359-1.957-0.65 0.272-0.946 0.683-1.898 1.232-2.858 0.061-0.106 0.124-0.209 0.188-0.31 0.284 0.089 0.589 0.157 0.913 0.207zM9.915 9.426c0.587-0.16 1.265-0.317 1.915-0.413-0.554 0.584-1.204 1.338-1.845 2.239-0.185-0.167-0.319-0.354-0.378-0.561-0.106-0.371 0.012-0.812 0.307-1.265zM8.085 10.644c0.002 0.035 0.007 0.070 0.012 0.103-0.101 0.103-0.199 0.214-0.298 0.322 0.094-0.143 0.185-0.284 0.286-0.425zM7.205 20.026l-0.35-0.26c-0.094-0.246-0.176-0.495-0.249-0.751-0.282-0.997-0.397-2.002-0.364-2.985 0.329 0.38 0.709 0.725 1.136 1.030-0.183 0.943-0.256 1.936-0.174 2.966zM7.784 15.495c-0.298-0.27-0.554-0.573-0.763-0.899 0.561-0.903 1.157-1.704 1.783-2.41 0.108 0.117 0.225 0.23 0.357 0.331-0.535 0.901-1.018 1.896-1.377 2.978zM8.746 17.829c0.704 0.31 1.476 0.54 2.3 0.678 0.063 1.143 0.242 2.307 0.563 3.468-0.986-0.164-1.908-0.453-2.736-0.857-0.237-1.082-0.279-2.18-0.127-3.29zM10.004 24.034c-0.199-0.352-0.375-0.706-0.53-1.063 0.835 0.284 1.727 0.474 2.656 0.575 0.293 0.73 0.662 1.448 1.096 2.15-1.173-0.35-2.267-0.915-3.222-1.661zM13.217 22.131c-0.371-1.155-0.575-2.326-0.657-3.475 0.131 0.005 0.263 0.012 0.397 0.012 0.918 0 1.87-0.108 2.83-0.324l0.979 3.436c-1.204 0.279-2.401 0.392-3.548 0.352zM15.993 26.111c-0.225 0-0.448-0.014-0.669-0.028-0.622-0.788-1.122-1.607-1.516-2.45 1.101-0.012 2.234-0.15 3.365-0.418l0.767 2.696c-0.643 0.129-1.295 0.199-1.948 0.199zM17.227 17.93c1.068-0.368 2.046-0.852 2.912-1.427 0.535 1.018 0.979 2.121 1.27 3.299-0.957 0.636-2.035 1.171-3.203 1.568-0.352-1.239-0.678-2.387-0.979-3.44zM21.698 24.264c-0.709 0.509-1.485 0.925-2.319 1.232-0.268-0.939-0.521-1.833-0.763-2.685 1.101-0.371 2.135-0.852 3.079-1.422 0.108 0.922 0.113 1.88 0.002 2.875zM21.348 15.579c0.627-0.551 1.162-1.155 1.593-1.79 0.718 0.866 1.26 1.823 1.629 2.868-0.49 0.779-1.124 1.511-1.877 2.168-0.338-1.155-0.8-2.243-1.345-3.245zM24.525 21.096c-0.354 0.636-0.777 1.218-1.248 1.748 0-0.826-0.066-1.631-0.199-2.405 0.737-0.575 1.394-1.209 1.955-1.889 0.056 0.387 0.094 0.781 0.11 1.187-0.174 0.462-0.371 0.92-0.617 1.359zM23.699 12.411c0.202-0.481 0.345-0.972 0.425-1.464 0.551 0.826 0.983 1.739 1.265 2.727 0.073 0.256 0.127 0.512 0.181 0.767l-0.157 0.408c-0.474-0.92-1.058-1.729-1.713-2.438z',\n 'global-links': ['M16.13 27.424l-0.664-0.664c-0.317-0.318-0.578-0.694-0.764-1.11l-0.009-0.024c-0.097-0.014-0.194-0.025-0.29-0.041-0.812-0.637-1.525-1.742-2.062-3.148h2.42c0.181-0.36 0.401-0.67 0.663-0.94l-0.001 0.001h-3.401c-0.424-1.399-0.682-3.009-0.714-4.676l-0-0.017h4.218v4.586l0.939-0.939v-3.648h3.648l0.997-0.997c0.149-0.147 0.311-0.283 0.483-0.404l0.012-0.008c-0.058-1.526-0.289-2.973-0.673-4.356l0.031 0.133h2.866c0.735 1.098 1.251 2.404 1.452 3.812l0.006 0.050c0.439 0.196 0.814 0.456 1.132 0.773l0.664 0.664c0.060 0.060 0.113 0.123 0.168 0.186 0.003-0.107 0.008-0.214 0.008-0.322 0-6.211-5.053-11.264-11.264-11.264s-11.264 5.053-11.264 11.264 5.053 11.264 11.264 11.264c0.108 0 0.215-0.005 0.322-0.008-0.063-0.055-0.127-0.108-0.186-0.168zM23.119 10.235h-2.451c-0.367-1.042-0.827-1.948-1.36-2.68 1.52 0.587 2.8 1.504 3.8 2.667l0.010 0.012zM16.464 6.962c0.415 0.022 0.801 0.067 1.178 0.134l-0.057-0.008c0.812 0.637 1.525 1.742 2.062 3.148h-3.184v-3.273zM16.464 11.174h3.503c0.424 1.399 0.683 3.009 0.714 4.676l0 0.017h-4.218v-4.693zM15.525 15.867h-4.218c0.032-1.684 0.291-3.295 0.747-4.82l-0.033 0.127h3.504v4.693zM14.403 7.088c0.321-0.059 0.706-0.104 1.098-0.125l0.023-0.001v3.273h-3.184c0.538-1.406 1.251-2.511 2.063-3.148zM12.681 7.556c-0.532 0.732-0.993 1.637-1.36 2.68h-2.451c1.011-1.176 2.291-2.092 3.747-2.657l0.064-0.022zM8.161 11.174h2.866c-0.393 1.401-0.632 3.014-0.658 4.678l-0 0.015h-3.749c0.089-1.758 0.652-3.369 1.562-4.727l-0.021 0.034zM6.62 16.806h3.749c0.026 1.68 0.265 3.293 0.69 4.828l-0.032-0.135h-2.866c-0.889-1.324-1.452-2.935-1.54-4.671l-0.001-0.022zM8.87 22.438h2.451c0.367 1.042 0.827 1.948 1.36 2.68-1.52-0.587-2.8-1.504-3.8-2.667l-0.010-0.012z','M21.44 26.097l-0.664 0.664c-0.51 0.509-1.214 0.823-1.991 0.823s-1.481-0.315-1.991-0.824l-0.664-0.664c-0.509-0.51-0.823-1.214-0.823-1.991s0.315-1.481 0.824-1.991l2.323-2.323c0.51-0.509 1.214-0.823 1.991-0.823s1.481 0.315 1.991 0.824l-0-0c0.17 0.17 0.275 0.405 0.275 0.664 0 0.518-0.42 0.939-0.939 0.939-0.259 0-0.494-0.105-0.664-0.275v0c-0.17-0.17-0.405-0.274-0.664-0.274s-0.494 0.105-0.664 0.275v0l-2.323 2.323c-0.17 0.17-0.274 0.405-0.274 0.664s0.105 0.494 0.275 0.664v0l0.664 0.664c0.17 0.17 0.405 0.274 0.664 0.274s0.494-0.105 0.664-0.275v0l0.664-0.664c0.17-0.17 0.405-0.275 0.664-0.275 0.518 0 0.939 0.42 0.939 0.939 0 0.259-0.105 0.494-0.275 0.664v0z','M26.418 21.119l-2.323 2.323c-0.51 0.509-1.214 0.823-1.991 0.823s-1.481-0.315-1.991-0.824l0 0c-0.17-0.17-0.275-0.405-0.275-0.664 0-0.518 0.42-0.939 0.939-0.939 0.259 0 0.494 0.105 0.664 0.275v0c0.17 0.17 0.405 0.274 0.664 0.274s0.494-0.105 0.664-0.275v0l2.323-2.323c0.17-0.17 0.274-0.405 0.274-0.664s-0.105-0.494-0.275-0.664v0l-0.664-0.664c-0.17-0.17-0.405-0.274-0.664-0.274s-0.494 0.105-0.664 0.275v0l-0.332 0.332c-0.17 0.17-0.405 0.275-0.664 0.275-0.518 0-0.939-0.42-0.939-0.939 0-0.259 0.105-0.494 0.275-0.664l0.332-0.332c0.51-0.509 1.214-0.823 1.991-0.823s1.481 0.315 1.991 0.824l0.664 0.664c0.509 0.51 0.823 1.214 0.823 1.991s-0.315 1.481-0.824 1.991l0-0z'],\n 'global-product-inventory': ['M19.93 24.853c-0.204 0.095-0.411 0.184-0.623 0.264 0.145-0.2 0.284-0.413 0.418-0.637-0.050-0.092-0.101-0.181-0.151-0.275-0.125-0.238-0.251-0.489-0.374-0.75-0.463 0.923-1.012 1.657-1.616 2.131-0.321 0.059-0.706 0.104-1.098 0.125l-0.023 0.001v-3.274h2.309c-0.095-0.243-0.194-0.556-0.276-0.876l-0.014-0.062h-2.020v-4.693h2.907c0.282-0.357 0.602-0.666 0.958-0.929l0.014-0.010h-3.879v-4.693h3.503c0.403 1.329 0.657 2.861 0.705 4.446l0.001 0.027c0.131-0.083 0.289-0.169 0.452-0.247l0.029-0.013c0.144-0.067 0.291-0.126 0.442-0.178-0.070-1.465-0.297-2.845-0.665-4.167l0.031 0.132h2.866c0.8 1.194 1.337 2.627 1.497 4.173l0.003 0.040c0.23 0.107 0.424 0.215 0.608 0.334l-0.019-0.011c0.521 0.34 0.959 0.758 1.312 1.242l0.010 0.014c0.012-0.208 0.018-0.418 0.018-0.629 0-6.211-5.053-11.264-11.264-11.264s-11.264 5.053-11.264 11.264 5.053 11.264 11.264 11.264c0.003 0 0.007 0 0.011 0 1.803 0 3.506-0.426 5.014-1.183l-0.064 0.029c-0.331-0.451-0.67-0.971-0.98-1.51l-0.045-0.084zM23.119 10.235h-2.451c-0.367-1.042-0.827-1.948-1.36-2.68 1.52 0.587 2.8 1.504 3.801 2.667l0.010 0.012zM16.464 6.962c0.415 0.022 0.801 0.067 1.178 0.134l-0.057-0.008c0.812 0.637 1.525 1.742 2.062 3.148h-3.184v-3.273zM12.681 7.556c-0.532 0.732-0.993 1.637-1.36 2.68h-2.451c1.011-1.176 2.291-2.092 3.747-2.658l0.064-0.022zM8.16 11.174h2.866c-0.393 1.401-0.632 3.014-0.658 4.678l-0 0.015h-3.749c0.089-1.758 0.652-3.369 1.562-4.727l-0.021 0.034zM6.62 16.806h3.749c0.026 1.68 0.265 3.293 0.69 4.828l-0.032-0.135h-2.866c-0.889-1.325-1.452-2.935-1.54-4.671l-0.001-0.022zM8.87 22.438h2.451c0.367 1.042 0.827 1.948 1.36 2.68-1.52-0.587-2.8-1.504-3.801-2.667l-0.010-0.012zM15.525 25.711c-0.415-0.022-0.801-0.067-1.178-0.134l0.057 0.008c-0.812-0.637-1.525-1.742-2.062-3.148h3.184v3.273zM15.525 21.499h-3.503c-0.424-1.399-0.683-3.009-0.714-4.676l-0-0.017h4.218v4.693zM15.525 15.867h-4.219c0.032-1.684 0.291-3.295 0.747-4.82l-0.033 0.127h3.504v4.693zM15.525 10.235h-3.184c0.538-1.406 1.251-2.511 2.062-3.148 0.321-0.059 0.707-0.104 1.098-0.125l0.023-0.001v3.273z','M25.41 16.499c-0.613-0.399-1.362-0.636-2.167-0.636-2.007 0-3.669 1.474-3.964 3.398l-0.003 0.022c-0.249 1.531 0.433 3.157 1.13 4.486 0.726 1.384 1.648 2.766 2.804 3.832 1.005-0.892 1.812-2.050 2.492-3.2 0.802-1.356 1.536-2.92 1.556-4.523-0.010-1.41-0.736-2.648-1.833-3.37l-0.015-0.009zM23.244 21.384c-0.831 0-1.505-0.674-1.505-1.505s0.674-1.505 1.505-1.505c0.831 0 1.505 0.674 1.505 1.505v0c0 0.831-0.674 1.505-1.505 1.505v0z'],\n 'googleplus': ['M25.946 14.913v-0.013h-2.618v-2.669h-1.532v2.669h-2.634v1.489h0.016v0.057h2.618v2.617h1.532v-2.617h2.682v-1.533z','M15.674 17.711c-0.524-0.371-1.527-1.274-1.527-1.805 0-0.622 0.178-0.928 1.114-1.66 0.96-0.75 1.639-1.822 1.639-3.049 0-1.46-0.65-2.901-1.87-3.37h1.84l1.299-0.939c0 0-4.352 0-5.803 0-2.601 0-5.050 1.989-5.050 4.272 0 2.333 1.773 4.225 4.42 4.225 0.184 0 0.363 0.001 0.538-0.012-0.172 0.329-0.295 0.701-0.295 1.086 0 0.648 0.349 1.175 0.79 1.604-0.333 0-0.655 0.010-1.006 0.010-3.222 0-5.702 2.052-5.702 4.181 0 2.096 2.719 3.407 5.941 3.407 3.673 0 5.702-2.084 5.702-4.18 0-1.68-0.496-2.687-2.029-3.771zM12.575 14.803c-1.495-0.045-2.916-1.672-3.174-3.635s0.744-3.466 2.239-3.421c1.495 0.045 2.916 1.62 3.174 3.583s-0.745 3.518-2.239 3.473zM11.989 24.735c-2.227 0-3.836-1.41-3.836-3.103 0-1.66 1.995-3.041 4.222-3.017 0.52 0.006 1.004 0.089 1.444 0.231 1.209 0.841 2.076 1.316 2.321 2.274 0.046 0.194 0.071 0.394 0.071 0.598 0 1.694-1.091 3.017-4.222 3.017z'],\n 'googleplus-solid': ['M13.446 9.918c-0.333-0.241-0.715-0.369-1.146-0.383-0.571 0.014-1.046 0.245-1.424 0.693-0.319 0.469-0.472 0.993-0.458 1.572 0 0.765 0.223 1.562 0.669 2.389 0.216 0.386 0.495 0.714 0.836 0.983s0.732 0.403 1.171 0.403c0.555-0.021 1.018-0.22 1.387-0.6 0.178-0.269 0.292-0.544 0.343-0.828 0.030-0.282 0.046-0.52 0.046-0.714 0-0.834-0.213-1.675-0.638-2.524-0.199-0.407-0.462-0.738-0.787-0.993z','M13.304 18.961c-0.108-0.015-0.383 0-0.826 0.041-0.436 0.062-0.882 0.161-1.338 0.299-0.108 0.042-0.259 0.103-0.453 0.187-0.195 0.089-0.393 0.217-0.593 0.382-0.195 0.172-0.359 0.386-0.493 0.64-0.154 0.269-0.231 0.592-0.231 0.97 0 0.743 0.335 1.356 1.006 1.838 0.637 0.482 1.51 0.73 2.617 0.743 0.993-0.014 1.751-0.234 2.275-0.66 0.509-0.42 0.765-0.961 0.765-1.621 0-0.536-0.175-1.004-0.524-1.404-0.369-0.379-0.945-0.843-1.731-1.393-0.134-0.014-0.292-0.021-0.473-0.021z','M4.736 5.080v22.528h22.528v-22.528h-22.528zM15.664 9.959c0.159 0.165 0.314 0.368 0.467 0.609 0.145 0.227 0.274 0.495 0.387 0.805 0.092 0.31 0.138 0.671 0.138 1.084-0.012 0.757-0.178 1.362-0.499 1.816-0.157 0.22-0.324 0.423-0.5 0.609-0.194 0.186-0.402 0.375-0.621 0.567-0.126 0.131-0.241 0.279-0.349 0.444-0.125 0.172-0.188 0.372-0.188 0.599 0 0.22 0.065 0.403 0.193 0.547 0.11 0.138 0.216 0.258 0.319 0.361l0.715 0.589c0.445 0.365 0.834 0.767 1.169 1.208 0.316 0.447 0.48 1.032 0.493 1.755 0 1.025-0.451 1.933-1.353 2.724-0.935 0.819-2.284 1.243-4.047 1.27-1.477-0.014-2.579-0.33-3.307-0.948-0.735-0.577-1.102-1.267-1.102-2.071 0-0.391 0.119-0.827 0.358-1.308 0.232-0.481 0.652-0.903 1.259-1.267 0.683-0.391 1.4-0.653 2.151-0.783 0.744-0.11 1.362-0.171 1.853-0.185-0.152-0.201-0.287-0.415-0.406-0.643-0.139-0.221-0.208-0.488-0.208-0.799 0-0.186 0.026-0.343 0.079-0.467 0.046-0.132 0.088-0.253 0.129-0.363-0.239 0.027-0.466 0.041-0.678 0.041-1.121-0.014-1.977-0.368-2.565-1.063-0.616-0.646-0.923-1.4-0.923-2.26 0-1.039 0.436-1.982 1.309-2.828 0.599-0.495 1.222-0.819 1.867-0.97 0.64-0.131 1.239-0.196 1.798-0.196h4.215l-1.302 0.763h-1.299c0.132 0.083 0.281 0.203 0.446 0.361zM24.448 16.728h-2.271v2.216h-1.297v-2.216h-2.217v-0.048h-0.014v-1.261h2.231v-2.259h1.297v2.259h2.216v0.011h0.055v1.297z'],\n 'grid-view': ['M4.736 14.392h9.381v-9.312h-9.381v9.312zM6.603 6.882h5.645v5.707h-5.645v-5.707z','M17.891 5.080v9.312h9.373v-9.312h-9.373zM25.397 12.589h-5.638v-5.707h5.638v5.707z','M4.736 27.608h9.381v-9.312h-9.381v9.312zM6.603 20.099h5.645v5.707h-5.645v-5.707z','M17.891 27.608h9.373v-9.312h-9.373v9.312zM19.758 20.099h5.638v5.707h-5.638v-5.707z'],\n 'group-directory': ['M26.32 10.705v-3.755h-1.877v-1.877h-16.896v3.755h-1.877v1.877h1.877v4.693h-1.877v1.877h1.877v4.693h-1.877v1.877h1.877v3.755h16.896v-12.203h1.877v-3.755h-1.877v-0.939h1.877zM22.565 25.723h-13.142v-18.773h13.142v18.773z','M17.872 13.521c0 1.037-0.84 1.877-1.877 1.877s-1.877-0.841-1.877-1.877c0-1.037 0.841-1.877 1.877-1.877s1.877 0.841 1.877 1.877z','M19.749 20.091c0-2.074-1.681-3.755-3.755-3.755s-3.755 1.681-3.755 3.755v0 0.939h7.509v-0.939z'],\n 'global-research': ['M12.021 11.174h3.504v3.755h0.939v-3.755h3.503c0.337 1.1 0.575 2.38 0.667 3.7l0.003 0.055h0.943c-0.085-1.373-0.306-2.655-0.649-3.885l0.031 0.131h2.866c0.717 1.068 1.227 2.336 1.44 3.702l0.007 0.053h1.892c-0.695-5.548-5.439-9.856-11.173-9.856-6.211 0-11.264 5.053-11.264 11.264 0 5.239 3.595 9.654 8.448 10.908v-3.093c-0.305-0.489-0.587-1.053-0.814-1.644l-0.023-0.069h0.838v-0.939h-1.157c-0.416-1.386-0.672-2.991-0.712-4.693h1.869v-0.939h-1.869c0.040-1.702 0.296-3.308 0.712-4.693zM23.119 10.235h-2.451c-0.367-1.042-0.827-1.948-1.36-2.68 1.52 0.587 2.8 1.504 3.8 2.667l0.010 0.012zM16.464 6.962c0.415 0.022 0.801 0.067 1.178 0.134l-0.057-0.008c0.812 0.637 1.525 1.742 2.062 3.148h-3.184v-3.273zM14.403 7.088c0.321-0.059 0.706-0.104 1.098-0.125l0.023-0.001v3.273h-3.184c0.538-1.406 1.251-2.511 2.063-3.148zM12.681 7.556c-0.532 0.732-0.993 1.637-1.36 2.68h-2.451c1.011-1.176 2.291-2.092 3.747-2.657l0.064-0.022zM8.161 11.174h2.866c-0.389 1.398-0.62 2.989-0.657 4.693h-3.749c0.089-1.758 0.651-3.369 1.561-4.727l-0.021 0.034zM12.681 25.117c-1.52-0.587-2.8-1.504-3.801-2.667l-0.010-0.012h2.451c0.366 1.043 0.827 1.948 1.359 2.68zM11.027 21.499h-2.866c-0.889-1.325-1.451-2.935-1.539-4.671l-0.001-0.022h3.749c0.036 1.704 0.268 3.296 0.657 4.694z','M22.096 18.683h2.347v0.939h-2.347v-0.939z','M22.096 20.561h2.347v0.939h-2.347v-0.939z','M14.117 15.867v11.733h4.693c0.518 0.001 0.938 0.421 0.939 0.939v0h1.877c0.001-0.518 0.421-0.938 0.939-0.939h4.693v-11.733h-13.141zM25.381 25.723h-2.816c-0.001 0-0.001 0-0.002 0-0.722 0-1.38 0.273-1.878 0.721l0.003-0.002c-0.495-0.446-1.153-0.719-1.875-0.719-0.001 0-0.002 0-0.002 0h-2.816v-7.979h4.224v7.040h0.939v-7.040h4.224v7.979z'],\n 'gym': 'M27.258 15.398h-1.877v-2.816h-1.877v-1.877h-2.816v4.693h-9.387v-4.693h-2.816v1.877h-1.877v2.816h-1.877v1.877h1.877v2.816h1.877v1.877h2.816v-4.693h9.387v4.693h2.816v-1.877h1.877v-2.816h1.877v-1.877z',\n 'GSR': 'M23.973 17.745c-0.518-0.001-0.938-0.421-0.939-0.939v-2.816c-0.004-3.109-2.523-5.628-5.632-5.632h-12.672v0.939c0.003 2.45 1.567 4.533 3.751 5.309l0.039 0.012c0.256 2.187 1.729 3.974 3.715 4.681l0.039 0.012c0.33 2.827 2.709 5 5.596 5.004h5.632c0.084-0.001 0.165-0.013 0.241-0.035l-0.007 0.002c0.070 0.020 0.151 0.032 0.234 0.033h0.001c1.814-0 3.285-1.471 3.285-3.285s-1.471-3.285-3.285-3.285c-0 0-0 0-0 0v0zM23.973 22.438c-0.084 0.001-0.165 0.013-0.241 0.035l0.007-0.002c-0.070-0.020-0.151-0.032-0.234-0.033h-5.632c-1.738-0.003-3.199-1.186-3.625-2.79l-0.006-0.026h1.754c0.518 0 0.939-0.42 0.939-0.939s-0.42-0.939-0.939-0.939h-1.877c-1.738-0.003-3.199-1.186-3.625-2.79l-0.006-0.026h1.754c0.518 0 0.939-0.42 0.939-0.939s-0.42-0.939-0.939-0.939v0h-1.877c-1.739-0.002-3.202-1.185-3.63-2.79l-0.006-0.026h10.676c2.073 0.002 3.752 1.682 3.755 3.754v2.816c0.002 1.555 1.262 2.814 2.816 2.816h0c0.778 0 1.408 0.63 1.408 1.408s-0.63 1.408-1.408 1.408v0z',\n 'health': 'M25.536 16.27h-7.564l-1.070 2.479-2.394-7.807-2.392 5.327h-5.692c-0.985-1.496-1.688-2.803-1.688-4.588 0-3.232 2.633-5.865 5.908-5.865 2.371 0 4.401 1.396 5.345 3.411 0.944-2.015 2.995-3.411 5.366-3.411 3.256 0 5.901 2.633 5.908 5.865 0.005 1.792-0.723 3.072-1.728 4.588zM18.61 17.166h6.289c0 0-3.442 4.558-8.245 9.113-0.183 0.173-0.654 0.565-0.654 0.565s-0.487-0.385-0.676-0.563c-4.821-4.556-8.251-9.114-8.251-9.114h5.604l1.725-3.97 2.386 8.047 1.822-4.077z',\n 'help': 'M17.864 17.168c-1.183 0.916-1.547 1.374-1.547 2.839v1.496h-3.701v-2.106c0-1.557 0.303-2.015 2.305-3.877 1.942-1.832 2.731-2.809 2.731-4.304 0-2.106-1.912-3.022-4.278-3.022-1.092 0-2.124 0.183-3.185 0.489v-3.175c1.396-0.244 2.822-0.427 4.247-0.427 3.822 0 7.918 1.221 7.918 5.678 0 2.687-1.729 4.243-4.49 6.411zM12.3 27.608v-3.989h4.459v3.989h-4.459z',\n 'holiday': ['M21.076 20.091h-9.387l-5.357-5.357-1.328 1.328 4.968 4.968-2.622 2.622 1.328 1.328 3.010-3.010h4.842l0.743 2.771 1.813-0.486-0.612-2.286h1.824l3.010 3.010 1.328-1.328-3.56-3.56z','M23.958 8.372c-2.038-2.039-4.854-3.3-7.964-3.3-5.184 0-9.549 3.502-10.86 8.269l-0.019 0.079 8.514-2.281 2.147 8.013h1.944l-2.277-8.499z'],\n 'home': 'M15.999 5.078l-11.257 11.269h3.747v11.263h4.693v-7.304h5.632v7.304h4.693v-11.264h3.751z',\n 'HORIS': ['M27.258 24.785h-22.528v-16.896h1.877v15.019h20.651v1.877z','M25.381 22.907h-2.816v-11.264h2.816v11.264z','M21.626 22.907h-2.816v-7.509h2.816v7.509z','M12.24 22.907h-2.816v-5.632h2.816v5.632z','M15.994 22.907h-2.816v-8.448h2.816v8.448z'],\n 'HR-direct': ['M11.699 15.185c-0.017-0-0.036-0.001-0.056-0.001-0.399 0-0.772 0.11-1.090 0.3l0.010-0.005c-0.497 0.315-0.761 0.888-0.781 1.639 0 0.061 0.051 0.157 0.112 0.157h0.913c0.061 0 0.112-0.096 0.112-0.157 0.002-0.241 0.070-0.466 0.186-0.658l-0.003 0.006c0.122-0.203 0.335-0.306 0.649-0.306s0.518 0.076 0.639 0.228c0.114 0.15 0.183 0.339 0.183 0.545 0 0 0 0 0 0v-0c-0.005 0.179-0.065 0.344-0.164 0.478l0.002-0.002c-0.068 0.088-0.145 0.165-0.23 0.23l-0.003 0.002-0.284 0.223c-0.284 0.223-0.457 0.416-0.528 0.588s-0.112 0.432-0.132 0.868c0 0.061 0.051 0.067 0.112 0.067h0.852c0.061 0 0.112-0.006 0.112-0.067-0.001-0.016-0.001-0.034-0.001-0.053 0-0.139 0.019-0.274 0.054-0.402l-0.002 0.011c0.041-0.152 0.142-0.273 0.294-0.395l0.285-0.218c0.284-0.213 0.467-0.393 0.568-0.545 0.173-0.233 0.254-0.384 0.254-0.729 0-0.558-0.193-1.105-0.589-1.379-0.376-0.284-0.873-0.425-1.472-0.425zM12.474 19.968c0-0.062-0.050-0.112-0.112-0.112v0h-0.95c-0.062 0-0.112 0.050-0.112 0.112v0.95c0 0.062 0.050 0.112 0.112 0.112v0h0.95c0.062 0 0.112-0.050 0.112-0.112v-0.95z','M26.32 5.073h-8.448c-0.518 0.002-0.937 0.421-0.939 0.939v3.755h0.117c1.513 0 2.699 1.237 2.699 2.816v0.939h1.877l1.877 1.877v-1.877h2.816c0.518 0 0.939-0.42 0.939-0.939v0-6.571c0-0.518-0.42-0.939-0.939-0.939-0 0-0 0-0 0v0zM25.381 9.766h-4.693v-0.939h4.693v0.939zM25.381 7.889h-4.693v-0.939h4.693v0.939z','M17.050 10.705h-10.325c-1.081 0-1.995 0.86-1.995 1.877v10.325c0 1.018 0.913 1.877 1.995 1.877h0.821v2.816h1.316l2.933-2.816h5.254c1.003 0 1.76-0.807 1.76-1.877v-10.325c0-1.070-0.757-1.877-1.76-1.877zM16.933 22.907h-5.892l-1.617 1.552v-1.552h-2.698c-0.045-0.006-0.085-0.025-0.117-0.054l0 0v-10.219c0.032-0.028 0.072-0.047 0.116-0.053l0.001-0h10.208v10.325z'],\n 'HSBC-branding': ['M15.994 16.337l-5.632-5.632h11.264l-5.632 5.632z','M15.994 16.337l5.632 5.632h-11.264l5.632-5.632z','M4.73 16.337l5.632-5.632v11.264l-5.632-5.632z','M27.258 16.337l-5.632 5.632v-11.264l5.632 5.632z'],\n 'HSBC-confidential': ['M26.32 20.091v-1.408c0-1.555-1.261-2.816-2.816-2.816s-2.816 1.261-2.816 2.816v0 1.408h-0.939v7.509h7.51v-7.509h-0.939zM22.565 18.683c0-0.518 0.42-0.939 0.939-0.939s0.939 0.42 0.939 0.939v0 1.408h-1.877v-1.408z','M25.381 5.073h-15.019c-1.036 0.001-1.876 0.841-1.877 1.877v1.877h-1.877c-1.036 0.001-1.876 0.841-1.877 1.877v9.387c0.001 1.036 0.841 1.876 1.877 1.877h1.878v2.816h1.328l2.816-2.816h6.182v-1.877h-6.96l-1.489 1.488v-1.488h-3.755v-9.387h15.019v4.224h1.877v-4.224c-0.001-1.036-0.841-1.876-1.877-1.877h-11.264v-1.877h15.019v7.979h1.878v-7.979c-0.001-1.036-0.841-1.876-1.877-1.877h-0z'],\n 'HSBC-food': ['M11.301 25.723h9.387v1.877h-9.387v-1.877z','M6.608 17.275v0.573c0 1.316 0.464 2.62 1.202 3.914 0.738 1.295 1.931 2.302 3.492 3.023h9.387c1.561-0.721 2.754-1.728 3.492-3.023 0.738-1.294 1.202-2.598 1.202-3.914v-0.573h-18.773z','M16.602 15.55l-1.328-1.328 0.268-0.268c0.25-0.323 0.457-0.697 0.601-1.1l0.009-0.028c0.089-0.28 0.064-0.698-0.075-1.207-0.148-0.543-0.51-1.123-1.076-1.725-1.4-1.507-1.454-3.289-0.16-5.030l0.165-0.275 1.61 0.966-0.246 0.4c-0.786 1.039-0.785 1.809 0.003 2.657 0.775 0.824 1.286 1.671 1.516 2.513 0.241 0.884 0.258 1.628 0.052 2.274-0.23 0.663-0.547 1.238-0.944 1.747l0.010-0.013-0.087 0.101z','M12.637 15.55l-1.328-1.328 0.268-0.268c0.25-0.323 0.457-0.697 0.601-1.1l0.009-0.028c0.089-0.28 0.064-0.698-0.075-1.208-0.148-0.543-0.51-1.123-1.076-1.725-1.4-1.507-1.454-3.289-0.16-5.030l0.165-0.275 1.61 0.966-0.246 0.4c-0.786 1.039-0.786 1.808 0.003 2.657 0.775 0.824 1.286 1.671 1.516 2.513 0.241 0.885 0.258 1.629 0.052 2.274-0.23 0.663-0.547 1.238-0.944 1.747l0.010-0.013-0.087 0.101z','M20.567 15.55l-1.328-1.328 0.268-0.268c0.25-0.323 0.457-0.697 0.601-1.1l0.009-0.028c0.089-0.28 0.064-0.698-0.075-1.207-0.148-0.543-0.51-1.123-1.076-1.725-1.4-1.507-1.454-3.289-0.16-5.030l0.165-0.275 1.61 0.966-0.246 0.4c-0.786 1.039-0.785 1.809 0.003 2.657 0.775 0.824 1.286 1.671 1.516 2.513 0.241 0.884 0.258 1.628 0.052 2.274-0.23 0.663-0.547 1.238-0.944 1.747l0.010-0.013-0.087 0.101z'],\n 'HSBC-global-standards': ['M25.377 21.812c-0.039 2.178-1.814 3.93-3.998 3.93-2.208 0-3.998-1.79-3.998-3.998s1.79-3.998 3.998-3.998c0.792 0 1.531 0.23 2.152 0.628l-0.016-0.010 1.352-1.351c-0.96-0.713-2.169-1.141-3.477-1.141-3.241 0-5.868 2.627-5.868 5.868s2.627 5.868 5.868 5.868c3.241 0 5.868-2.627 5.868-5.868 0-0.566-0.080-1.113-0.229-1.63l0.010 0.041z','M21.626 24.235l-3.010-3.011 1.328-1.327 1.683 1.683 4.968-4.968 1.328 1.327-6.296 6.296z','M16.464 17.043v-0.238h0.238c0.365-0.349 0.772-0.659 1.212-0.921l0.031-0.017h-1.48v-4.693h3.503c0.34 1.113 0.579 2.408 0.668 3.744l0.003 0.053c0.226-0.027 0.488-0.042 0.753-0.043h0c0.062 0 0.124 0.003 0.186 0.004-0.084-1.374-0.303-2.658-0.647-3.89l0.031 0.131h2.866c0.973 1.45 1.553 3.234 1.553 5.154 0 0.003 0 0.006 0 0.009v-0c0 0.055-0.002 0.109-0.003 0.164l1.765-1.765c-0.78-5.455-5.481-9.663-11.148-9.663-6.211 0-11.264 5.053-11.264 11.264s5.053 11.264 11.264 11.264c0 0 0 0 0 0 0.612 0 1.212-0.049 1.797-0.142l-0.064 0.009c-0.729-0.472-1.343-1.052-1.836-1.727l-0.013-0.019c-0.526-0.007-1.035-0.056-1.531-0.143l0.057 0.008c-0.812-0.637-1.525-1.742-2.062-3.148h2.282c-0.023-0.211-0.036-0.456-0.036-0.704v-0c0-0.079 0.003-0.157 0.006-0.235h-2.571c-0.424-1.399-0.682-3.009-0.714-4.676l-0-0.017h4.218v1.48c0.469-0.45 0.704-0.867 0.938-1.243zM23.119 10.235h-2.451c-0.367-1.042-0.827-1.948-1.36-2.68 1.52 0.587 2.8 1.504 3.8 2.667l0.010 0.012zM16.464 6.962c0.408 0.016 0.794 0.061 1.17 0.133l-0.048-0.008c0.812 0.637 1.525 1.742 2.062 3.148h-3.184v-3.273zM14.403 7.088c0.367-0.063 0.887-0.107 1.122-0.126v3.273h-3.184c0.538-1.406 1.251-2.511 2.063-3.148zM8.161 11.174h2.866c-0.393 1.401-0.632 3.014-0.658 4.678l-0 0.015h-3.749c0.089-1.758 0.652-3.369 1.562-4.727l-0.021 0.034zM6.62 16.806h3.749c0.026 1.68 0.265 3.293 0.69 4.828l-0.032-0.135h-2.866c-0.889-1.324-1.452-2.935-1.54-4.671l-0.001-0.022zM11.321 22.438c0.367 1.042 0.827 1.948 1.36 2.68-1.52-0.587-2.8-1.504-3.801-2.667l-0.010-0.012h2.451zM8.87 10.235c1.011-1.176 2.291-2.092 3.747-2.657l0.064-0.022c-0.532 0.732-0.993 1.637-1.36 2.68h-2.451zM11.307 15.867c0.032-1.684 0.291-3.295 0.747-4.82l-0.033 0.127h3.504v4.693h-4.219z'],\n 'HSBC-intranet': 'M23.034 12.113c-1.217 0.002-2.253 0.776-2.646 1.858l-0.006 0.020h-1.212c-0.115-0.495-0.303-0.931-0.554-1.323l0.010 0.017 2.257-2.257c0.357 0.175 0.777 0.278 1.222 0.278 1.561 0 2.826-1.265 2.826-2.826s-1.265-2.826-2.826-2.826c-1.561 0-2.826 1.265-2.826 2.826 0 0.444 0.102 0.864 0.285 1.238l-0.007-0.017-2.257 2.257c-0.636-0.409-1.412-0.652-2.245-0.652s-1.609 0.243-2.261 0.662l0.017-0.010-1.318-1.318c0.175-0.357 0.278-0.777 0.278-1.222 0-1.561-1.265-2.826-2.826-2.826s-2.826 1.265-2.826 2.826c0 1.561 1.265 2.826 2.826 2.826 0.444 0 0.864-0.102 1.238-0.285l-0.017 0.007 1.318 1.318c-0.409 0.636-0.652 1.412-0.652 2.245s0.243 1.609 0.662 2.261l-0.010-0.017-0.743 0.743c-0.489-0.407-1.123-0.654-1.815-0.654-1.571 0-2.844 1.273-2.844 2.844s1.273 2.844 2.844 2.844c1.571 0 2.844-1.273 2.844-2.844 0-0.183-0.017-0.362-0.050-0.536l0.003 0.018 1.088-1.088c0.375 0.241 0.811 0.428 1.277 0.538l0.028 0.006v3.089c-1.103 0.398-1.877 1.436-1.877 2.655 0 1.555 1.261 2.816 2.816 2.816s2.816-1.261 2.816-2.816c0-1.219-0.774-2.257-1.858-2.649l-0.020-0.006v-3.089c1.581-0.373 2.804-1.595 3.171-3.148l0.006-0.029h1.212c0.399 1.102 1.436 1.875 2.653 1.875 1.554 0 2.815-1.26 2.815-2.815s-1.26-2.815-2.815-2.815c-0 0-0.001 0-0.001 0h0zM22.096 6.95c0.518 0 0.939 0.42 0.939 0.939s-0.42 0.939-0.939 0.939c-0.518 0-0.939-0.42-0.939-0.939v0c0-0.518 0.42-0.938 0.939-0.939h0zM8.016 8.827c0-0.518 0.42-0.939 0.939-0.939s0.939 0.42 0.939 0.939c0 0.518-0.42 0.939-0.939 0.939v0c-0.518-0.001-0.938-0.42-0.939-0.939v-0zM8.954 21.030c-0.518 0-0.939-0.42-0.939-0.939s0.42-0.939 0.939-0.939c0.518 0 0.939 0.42 0.939 0.939v0c-0.001 0.518-0.42 0.938-0.939 0.939h-0zM15.056 25.723c-0.518 0-0.939-0.42-0.939-0.939s0.42-0.939 0.939-0.939c0.518 0 0.939 0.42 0.939 0.939v0c-0.001 0.518-0.42 0.938-0.939 0.939h-0zM15.056 17.275c-1.296 0-2.347-1.051-2.347-2.347s1.051-2.347 2.347-2.347c1.296 0 2.347 1.051 2.347 2.347v0c-0.002 1.295-1.051 2.345-2.347 2.347h-0zM23.034 15.867c-0.518 0-0.939-0.42-0.939-0.939s0.42-0.939 0.939-0.939c0.518 0 0.939 0.42 0.939 0.939v0c-0 0.518-0.42 0.938-0.939 0.939h-0z',\n 'HSBC-rewards': 'M23.042 27.182l-7.048-3.705-7.048 3.705 1.346-7.848-5.702-5.558 7.88-1.145 3.524-7.14 3.524 7.14 7.88 1.145-5.702 5.558zM15.994 21.356l4.555 2.395-0.87-5.072 3.685-3.592-5.092-0.74-2.277-4.614-2.277 4.614-5.092 0.74 3.685 3.592-0.87 5.072z',\n 'HSBC-travel': ['M19.749 10.705h-0.939v-5.632h-5.632v5.632h-0.939c-1.554 0.002-2.814 1.261-2.816 2.816v10.326c0.002 1.555 1.261 2.814 2.816 2.816h0v0.939h1.877v-0.939h3.755v0.939h1.877v-0.939c1.555-0.002 2.814-1.262 2.816-2.816v-10.326c-0.002-1.555-1.262-2.814-2.816-2.816h-0zM15.056 6.95h1.877v3.755h-1.877v-3.755zM20.688 23.846c-0.001 0.518-0.421 0.938-0.939 0.939h-7.509c-0.518-0.001-0.938-0.421-0.939-0.939v-10.325c0.001-0.518 0.421-0.938 0.939-0.939h7.509c0.518 0.001 0.938 0.421 0.939 0.939v10.325z','M12.023 15.249l3.469-1.437 0.718 1.734-3.469 1.437-0.718-1.734z'],\n 'HSBC-useful-contacts': ['M8.485 16.337h4.693v1.877h-4.693v-1.877z','M8.485 19.153h6.571v1.877h-6.571v-1.877z','M21.626 7.889v-1.877h-1.877v1.877h-7.509v-1.877h-1.877v1.877h-5.632v16.896h22.528v-16.896h-5.632zM25.381 22.907h-18.773v-13.141h18.773v13.141z','M21.814 14.647c0 0.881-0.714 1.596-1.596 1.596s-1.596-0.714-1.596-1.596c0-0.881 0.714-1.596 1.596-1.596s1.596 0.714 1.596 1.596z','M23.504 20.232c0-1.763-1.523-3.191-3.285-3.191s-3.285 1.429-3.285 3.191v0.798h6.571v-0.798z'],\n 'in-branch': ['M15.777 15.523c1.455 0 2.675-0.493 3.708-1.549 1.009-1.009 1.549-2.253 1.549-3.684 0-1.455-0.493-2.699-1.549-3.708-1.009-1.009-2.253-1.502-3.708-1.502s-2.675 0.493-3.684 1.502c-1.009 1.009-1.502 2.253-1.502 3.708 0 1.431 0.493 2.675 1.549 3.684 0.985 1.033 2.229 1.549 3.637 1.549z','M12.421 20.38c0 2.863 1.126 7.228 1.126 7.228h-7.064v-2.159c0-1.267 0.305-2.605 0.915-3.919 0.634-1.337 1.479-2.44 2.558-3.356 0.892-0.727 1.83-1.15 2.816-1.291 0 0-0.352 1.807-0.352 3.497zM19.579 20.545c0-1.22-0.352-3.662-0.352-3.662l0.070 0.024c0.68 0.093 1.314 0.352 1.948 0.751 0.868 0.54 1.596 1.22 2.229 2.041 0.587 0.821 1.103 1.784 1.478 2.793s0.563 2.018 0.563 2.957v2.159h-7.040c0.821-2.839 1.103-5.021 1.103-7.063zM13.548 27.608l1.736-7.674-1.736-3.098h4.881l-1.76 3.098 1.783 7.674h-4.904zM23.521 21.976h-2.816v1.408h2.816v-1.408z'],\n 'insight': ['M19.747 19.629c2.384-1.324 3.998-3.868 3.998-6.789 0-4.286-3.474-7.76-7.76-7.76s-7.76 3.474-7.76 7.76c0 2.921 1.613 5.464 3.998 6.789v1.442h7.525v-1.442zM12.222 22.011h7.525v0.941h-7.525v-0.941zM12.222 23.893h7.525v0.941h-7.525v-0.941z','M18.279 25.774c-0.236 1.050-1.173 1.834-2.294 1.834s-2.059-0.784-2.294-1.834h4.589z'],\n 'insurance': 'M16.882 6.624v-1.544h-1.77v1.544c-5.804 0.281-10.376 3.287-10.376 6.959 0 0.038 0.003 0.074 0.004 0.112 0.749-0.28 1.668-0.447 2.666-0.447 1.726 0 3.226 0.494 3.988 1.222 0.746-0.616 2.107-1.062 3.718-1.185v11.765c0 1.411 1.149 2.558 2.559 2.558s2.558-1.148 2.558-2.558h-1.77c0 0.434-0.354 0.788-0.788 0.788s-0.789-0.353-0.789-0.788v-11.764c1.577 0.12 2.916 0.548 3.671 1.145 0.774-0.706 2.249-1.183 3.946-1.183 1.038 0 1.996 0.18 2.758 0.481 0.002-0.048 0.007-0.097 0.007-0.145 0-3.673-4.578-6.678-10.382-6.959z',\n 'intranet': 'M18.738 12.315c-0.78-0.531-1.722-0.841-2.737-0.841-0.841 0-1.631 0.213-2.321 0.588l-3-3c0.095-0.295 0.147-0.61 0.147-0.936 0-1.681-1.363-3.044-3.044-3.044s-3.044 1.363-3.044 3.044c0 1.681 1.363 3.044 3.044 3.044 0.682 0 1.312-0.224 1.819-0.603l2.659 2.659c-0.705 0.845-1.13 1.932-1.13 3.119 0 1.015 0.31 1.957 0.841 2.737l-2.782 2.782c-0.421-0.22-0.9-0.345-1.408-0.345-1.681 0-3.044 1.363-3.044 3.044s1.363 3.044 3.044 3.044 3.044-1.363 3.044-3.044c0-0.508-0.124-0.987-0.345-1.408l2.782-2.782c0.78 0.531 1.722 0.841 2.737 0.841 1.187 0 2.274-0.424 3.119-1.13l2.659 2.659c-0.379 0.508-0.603 1.137-0.603 1.819 0 1.681 1.363 3.044 3.044 3.044s3.044-1.363 3.044-3.044c0-1.681-1.363-3.044-3.044-3.044-0.327 0-0.641 0.051-0.936 0.147l-3-3c0.375-0.69 0.588-1.481 0.588-2.321 0-1.015-0.31-1.957-0.841-2.737l2.782-2.782c0.421 0.22 0.9 0.345 1.408 0.345 1.681 0 3.044-1.363 3.044-3.044s-1.363-3.044-3.044-3.044c-1.681 0-3.044 1.363-3.044 3.044 0 0.508 0.124 0.987 0.345 1.408l-2.782 2.782z',\n 'investment': 'M7.54 24.792v-3.539l3.746-3.746 4.703 4.709 0.003-0.003 0.008 0.007 8.423-8.438 0.829 0.829 1.991-1.991-2.821-2.82-8.43 8.43-4.7-4.712-3.752 3.753v-12.191h-2.816v22.528h22.551v-2.816z',\n 'KYC-CDD-forms': ['M11.301 27.601h-6.571v-6.571h6.571v6.571zM6.608 25.723h2.816v-2.816h-2.816v2.816z','M14.117 6.95h13.141v1.877h-13.141v-1.877z','M14.117 14.929h13.141v1.877h-13.141v-1.877z','M14.117 22.907h13.141v1.877h-13.141v-1.877z','M6.608 6.95h1.877l1.877-1.877h-5.632v6.571h6.571v-1.877h-4.693v-2.816z','M8.485 9.491l-1.271-1.271 0.664-0.664 0.607 0.607 2.484-2.484 0.664 0.664-3.148 3.148z','M6.608 14.929h1.877l1.877-1.877h-5.632v6.571h6.571v-1.877h-4.693v-2.816z','M8.485 17.47l-1.271-1.27 0.664-0.664 0.607 0.607 2.484-2.484 0.664 0.664-3.148 3.148z'],\n 'job': 'M21.626 9.766v-2.816h-11.264v2.816h-5.632v15.957h22.528v-15.957h-5.632zM12.24 8.827h7.509v0.939h-7.509v-0.939zM25.381 23.846h-18.773v-3.755h5.632v1.877h7.509v-1.877h5.632v3.755zM14.117 20.091v-1.877h3.755v1.877h-3.755zM19.749 18.214v-1.877h-7.509v1.877h-5.632v-6.571h18.773v6.571h-5.632z',\n 'language-classes': 'M25.38 4.728h-12.201c-1.039 0-1.879 0.84-1.879 1.879v5.629h-4.693c-0.502-0.007-0.984 0.193-1.335 0.544s-0.551 0.833-0.544 1.335v8.451c-0.007 0.502 0.193 0.984 0.544 1.335s0.833 0.551 1.335 0.544h0.936v2.815h1.294l2.932-2.815h5.161c1.039 0 1.879-0.84 1.879-1.879v-5.636h1.411l2.932 2.822h1.294v-2.822h0.819c1.080 0 1.996-0.86 1.996-1.879v-8.444c0.007-0.502-0.193-0.984-0.544-1.335s-0.833-0.551-1.335-0.544v0zM16.936 22.565h-5.918l-1.59 1.555v-1.555h-2.822v-8.451h10.323v8.451h0.007zM24.444 6.606h0.936v8.396c-0.034 0.028-0.076 0.048-0.117 0.055h-2.698v1.555l-1.59-1.555h-2.168v-0.943c0-0.495-0.2-0.977-0.551-1.328s-0.833-0.551-1.328-0.551h-3.751v-5.629h11.265zM13.784 16.929h0.805v-0.936h-2.347v-0.936h-0.943v0.936h-2.347v0.936h3.833c-0.275 0.64-0.681 1.218-1.191 1.693-0.234-0.323-0.434-0.674-0.592-1.046l-0.881 0.344c0.2 0.468 0.447 0.908 0.75 1.314-0.599 0.44-1.246 0.805-1.934 1.080l0.317 0.881c0.798-0.31 1.548-0.729 2.23-1.239 0.564 0.564 1.308 1.074 2.264 1.259l0.179-0.922c-0.709-0.138-1.28-0.516-1.72-0.95 0.654-0.626 1.252-1.425 1.576-2.415zM20.721 11.534h1.438l0.31 0.702h1.032l-1.631-3.757h-0.86l-1.631 3.757h1.032l0.31-0.702zM21.443 9.889l0.31 0.709h-0.619l0.31-0.709z',\n 'link': ['M15.549 20.647l-4.37 4.393-3.875-3.875 4.393-4.37 0.631 0.653 1.284-1.306-1.915-1.915-6.961 6.938 6.443 6.443 6.938-6.961-1.915-1.915-1.306 1.284z','M16.451 12.041l4.37-4.393 3.875 3.875-4.393 4.371-0.631-0.654-1.284 1.307 1.915 1.915 6.961-6.939-6.443-6.443-6.938 6.961 1.915 1.915 1.306-1.284z','M19.393 11.677l1.29 1.29-8.044 8.044-1.29-1.29 8.044-8.044z'],\n 'linkedin': 'M8.695 7.839c1.19 0 1.904 0.862 1.933 1.963 0 1.1-0.743 1.963-1.963 1.963h-0.030c-1.16 0-1.903-0.892-1.903-1.963 0-1.101 0.773-1.963 1.963-1.963zM10.866 24.823h-3.927v-11.779h3.926v11.779h0zM25.173 24.823h-3.867v-6.157c0-1.547-0.446-2.587-1.844-2.587-1.071 0-1.696 0.714-1.993 1.397-0.089 0.239-0.119 0.595-0.119 0.923v6.425h-3.956c0 0 0.059-10.738 0-11.808h3.986v1.636c0.505-0.773 1.427-1.904 3.48-1.904 2.529 0 4.313 1.963 4.313 5.502v6.573h0z',\n 'linkedin-solid': 'M4.736 5.080v22.528h22.528v-22.528h-22.528zM10.188 8.835c1.029 0 1.646 0.746 1.671 1.697 0 0.951-0.643 1.697-1.697 1.697h-0.026c-1.002 0-1.645-0.771-1.645-1.697 0-0.951 0.669-1.697 1.697-1.697zM12.064 23.516h-3.394v-10.182h3.394v10.182zM24.432 23.516h-3.343v-5.322c0-1.337-0.386-2.237-1.594-2.237-0.926 0-1.466 0.617-1.723 1.208-0.077 0.206-0.103 0.514-0.103 0.797v5.554h-3.42c0 0 0.051-9.282 0-10.207h3.446v1.414c0.437-0.669 1.234-1.646 3.008-1.646 2.185 0 3.728 1.697 3.728 4.757v5.682z',\n 'list': ['M9.433 6.488h17.832v2.816h-17.832v-2.816z','M9.433 12.12h17.832v2.816h-17.832v-2.816z','M9.433 17.751h17.832v2.816h-17.832v-2.816z','M9.433 23.383h17.832v2.816h-17.832v-2.816z','M7.556 7.898c0 0.779-0.631 1.41-1.41 1.41s-1.41-0.631-1.41-1.41c0-0.779 0.631-1.41 1.41-1.41s1.41 0.631 1.41 1.41z','M7.556 13.529c0 0.779-0.631 1.41-1.41 1.41s-1.41-0.631-1.41-1.41c0-0.779 0.631-1.41 1.41-1.41s1.41 0.631 1.41 1.41z','M7.556 19.16c0 0.779-0.631 1.41-1.41 1.41s-1.41-0.631-1.41-1.41c0-0.779 0.631-1.41 1.41-1.41s1.41 0.631 1.41 1.41z','M7.556 24.791c0 0.779-0.631 1.41-1.41 1.41s-1.41-0.631-1.41-1.41c0-0.779 0.631-1.41 1.41-1.41s1.41 0.631 1.41 1.41z'],\n 'location': 'M23.434 12.389c0 1.090-0.298 2.067-0.67 3.025v0.019c-0.13 0.319-0.335 0.582-0.484 0.883l-6.271 11.292-6.271-11.292c-0.168-0.301-0.335-0.601-0.484-0.883v-0.019c-0.446-0.921-0.689-1.935-0.689-3.025 0-4.040 3.331-7.309 7.444-7.309 4.094 0 7.425 3.269 7.425 7.309zM19.099 12.389c0-1.691-1.377-3.025-3.089-3.025s-3.089 1.334-3.089 3.025c0 1.672 1.377 3.025 3.089 3.025s3.089-1.353 3.089-3.025z',\n 'market': ['M23.040 5.080h4.224v22.528h-4.224v-22.528z','M16.939 13.528h4.224v14.080h-4.224v-14.080z','M10.837 21.037h4.224v6.571h-4.224v-6.571z','M4.736 17.283h4.224v10.325h-4.224v-10.325z'],\n 'memo': ['M4.734 27.61v-22.531h22.531v16.898l-5.633 5.633h-16.898zM6.614 6.955v18.776h14.081v-4.695h4.695v-14.081h-18.776z','M17.924 10.712c0 1.037-0.841 1.878-1.878 1.878s-1.878-0.841-1.878-1.878c0-1.037 0.841-1.878 1.878-1.878s1.878 0.841 1.878 1.878z'],\n 'menu': ['M4.736 14.467h22.528v3.755h-22.528v-3.755z','M4.736 21.037h22.528v3.755h-22.528v-3.755z','M4.736 7.896h22.528v3.755h-22.528v-3.755z'],\n 'message': 'M16 19.787l11.264-10.817v15.426c0 0.218 0 0.397 0 0.397h-22.528c0 0 0-0.179 0-0.397v-15.426l11.264 10.817zM6.041 7.897h19.898l-9.935 9.551-9.962-9.551z',\n 'microphone': ['M19.792 25.696h-2.86v-2.794c3.145-0.453 5.57-3.165 5.57-6.433 0-0.505-0.409-0.914-0.914-0.914s-0.914 0.409-0.914 0.914c0 2.576-2.096 4.672-4.672 4.672s-4.672-2.096-4.672-4.672c0-0.505-0.409-0.914-0.914-0.914s-0.914 0.409-0.914 0.914c0 3.268 2.425 5.98 5.57 6.433v2.794h-2.777c-0.514 0-0.931 0.417-0.931 0.931s0.417 0.931 0.931 0.931h7.498c0.514 0 0.931-0.417 0.931-0.931s-0.417-0.931-0.931-0.931z','M16.001 20.093c2.057 0 3.724-1.667 3.724-3.724v-7.515c0-2.057-1.667-3.724-3.724-3.724s-3.724 1.667-3.724 3.724v7.515c0 2.057 1.667 3.724 3.724 3.724z'],\n 'minimize': 'M4.736 14.467h22.528v3.755h-22.528v-3.755z',\n 'mobile': 'M19.894 5.080h-7.65c-1.009 0-1.807 0.821-1.807 1.807v18.914c0 1.009 0.798 1.807 1.807 1.807h7.65c0.986 0 1.807-0.821 1.807-1.807v-18.914c0-0.986-0.798-1.807-1.807-1.807zM14.379 6.957h3.379v0.939h-3.379v-0.939zM19.823 23.853h-7.509v-15.019h7.509v15.019z',\n 'mobile-phone-roaming-request': ['M22.096 23.377c0 0.778-0.63 1.408-1.408 1.408s-1.408-0.63-1.408-1.408c0-0.778 0.63-1.408 1.408-1.408s1.408 0.63 1.408 1.408z','M22.501 12.628c-0.309-1.249-1.419-2.16-2.743-2.16-0.231 0-0.455 0.028-0.67 0.080l0.019-0.004q-0.041 0.010-0.082 0.023l-1.895 0.639c-0.001-0.001-0.002-0.002-0.004-0.003l-4.756-3.749c-0.158-0.125-0.361-0.201-0.582-0.201-0.077 0-0.152 0.009-0.224 0.027l0.006-0.001-1.826 0.436c-0.416 0.102-0.72 0.472-0.72 0.913 0 0.141 0.031 0.275 0.087 0.395l-0.002-0.006 1.932 4.243-1.423 0.48-1.888-1.16c-0.14-0.087-0.31-0.139-0.491-0.139-0.337 0-0.632 0.177-0.797 0.443l-0.002 0.004-1.39 2.262c-0.087 0.14-0.139 0.31-0.139 0.491 0 0.337 0.177 0.632 0.443 0.797l0.004 0.002 3.394 2.084c0.14 0.087 0.31 0.139 0.491 0.139 0.077 0 0.153-0.009 0.225-0.027l-0.006 0.001 3.251-0.777-0.41 4.371c-0.003 0.026-0.004 0.057-0.004 0.088 0 0.518 0.42 0.939 0.939 0.939 0.077 0 0.152-0.009 0.224-0.027l-0.006 0.001 1.826-0.436c0.306-0.075 0.55-0.293 0.658-0.577l0.002-0.006 2.107-5.627 2.368-0.566c1.249-0.309 2.16-1.419 2.16-2.743 0-0.231-0.028-0.455-0.080-0.67l0.004 0.019zM11.29 9.275l0.275-0.066 3.442 2.713-2.177 0.734zM14.358 21.088l-0.065 0.015 0.347-3.702 1.206-0.288zM20.56 13.772c-0.129 0.21-0.333 0.362-0.573 0.422l-0.006 0.001-10.577 2.528-2.262-1.39 0.407-0.663 1.463 0.898c0.14 0.087 0.309 0.139 0.491 0.139 0.107 0 0.211-0.018 0.307-0.051l-0.007 0.002 9.777-3.297c0.056-0.012 0.119-0.018 0.185-0.018 0.517 0 0.936 0.419 0.936 0.936 0 0.182-0.052 0.352-0.142 0.496l0.002-0.004z','M24.442 27.601h-7.509c-1.555-0.002-2.814-1.262-2.816-2.816v-0.939h1.877v0.939c0.001 0.518 0.42 0.938 0.939 0.939h7.509c0.518-0.001 0.938-0.421 0.939-0.939v-16.896c-0.001-0.518-0.421-0.938-0.939-0.939h-7.509c-0.518 0.001-0.938 0.42-0.939 0.939v0h-1.877c0.002-1.554 1.261-2.814 2.816-2.816h7.509c1.555 0.002 2.814 1.261 2.816 2.816v16.896c-0.002 1.555-1.262 2.814-2.816 2.816h-0z'],\n 'more': ['M8.491 16.344c0 1.037-0.841 1.877-1.877 1.877s-1.877-0.84-1.877-1.877c0-1.037 0.841-1.877 1.877-1.877s1.877 0.841 1.877 1.877z','M17.877 16.344c0 1.037-0.84 1.877-1.877 1.877s-1.877-0.84-1.877-1.877c0-1.037 0.841-1.877 1.877-1.877s1.877 0.841 1.877 1.877z','M27.264 16.344c0 1.037-0.84 1.877-1.877 1.877s-1.877-0.84-1.877-1.877c0-1.037 0.84-1.877 1.877-1.877s1.877 0.841 1.877 1.877z'],\n 'more-vertical': ['M17.877 25.731c0 1.037-0.84 1.877-1.877 1.877s-1.877-0.84-1.877-1.877c0-1.037 0.841-1.877 1.877-1.877s1.877 0.84 1.877 1.877z','M17.877 16.344c0 1.037-0.84 1.877-1.877 1.877s-1.877-0.84-1.877-1.877c0-1.037 0.841-1.877 1.877-1.877s1.877 0.841 1.877 1.877z','M17.877 6.957c0 1.037-0.84 1.877-1.877 1.877s-1.877-0.841-1.877-1.877c0-1.037 0.841-1.877 1.877-1.877s1.877 0.841 1.877 1.877z'],\n 'multiple-accounts': ['M5.205 24.323c0 0.389 0.315 0.704 0.704 0.704h15.488c0.389 0 0.704-0.315 0.704-0.704v-11.264c0-0.389-0.315-0.704-0.704-0.704h-15.488c-0.389 0-0.704 0.315-0.704 0.704v11.264zM6.613 14.115c0-0.194 0.158-0.352 0.352-0.352h13.376c0.194 0 0.352 0.158 0.352 0.352v1.086h-14.080v-1.086zM20.341 23.619h-13.376c-0.194 0-0.352-0.158-0.352-0.352v-5.25h14.080v5.25c0 0.194-0.158 0.352-0.352 0.352z','M23.744 10.008h-15.488c-0.389 0-0.704 0.315-0.704 0.704v0.704h14.787c0.389 0 0.704 0.315 0.704 0.704v10.56h0.701c0.389 0 0.704-0.315 0.704-0.704v-11.264c0-0.389-0.315-0.704-0.704-0.704z','M26.091 7.661h-15.488c-0.389 0-0.704 0.315-0.704 0.704v0.704h14.787c0.389 0 0.704 0.315 0.704 0.704v10.56h0.701c0.389 0 0.704-0.315 0.704-0.704v-11.264c0-0.389-0.315-0.704-0.704-0.704z'],\n 'multiple-users': ['M11.337 18.090h4.5c0.816 0 1.608 0.233 2.378 0.699 0.746 0.466 1.399 1.072 1.959 1.795 0.513 0.723 0.956 1.562 1.305 2.448s0.489 1.772 0.489 2.611v1.912h-16.763v-1.912c0-1.119 0.256-2.284 0.816-3.451 0.536-1.166 1.305-2.145 2.238-2.938 0.979-0.769 1.982-1.165 3.077-1.165z','M13.412 16.924c1.282 0 2.355-0.443 3.264-1.352 0.886-0.886 1.352-1.982 1.352-3.241 0-1.282-0.443-2.378-1.352-3.264-0.886-0.886-1.982-1.329-3.264-1.329s-2.355 0.443-3.241 1.329-1.329 1.982-1.329 3.264c0 1.259 0.443 2.355 1.352 3.241 0.863 0.909 1.959 1.352 3.218 1.352z','M26.795 23.079c0-0.839-0.163-1.726-0.49-2.612-0.35-0.886-0.793-1.725-1.306-2.448-0.536-0.723-1.189-1.329-1.958-1.795-0.746-0.466-1.562-0.699-2.378-0.699h-2.448c-0.187 0.28-0.396 0.536-0.652 0.77-0.35 0.349-0.746 0.652-1.143 0.909h0.093c0.863 0 1.725 0.257 2.541 0.746s1.492 1.142 2.098 1.912c0.56 0.77 1.026 1.679 1.399 2.611 0.327 0.839 0.49 1.702 0.513 2.518h3.73v-1.912z','M19.217 12.354c0 0.699-0.116 1.352-0.349 1.959 1.002-0.14 1.842-0.56 2.611-1.305 0.886-0.886 1.353-1.982 1.353-3.241 0-1.282-0.443-2.378-1.353-3.264-0.886-0.886-1.981-1.329-3.264-1.329s-2.355 0.443-3.241 1.329c-0.117 0.117-0.21 0.233-0.303 0.327 1.096 0.187 2.075 0.699 2.891 1.539 1.119 1.072 1.655 2.424 1.655 3.986z'],\n 'my-learning': ['M21.626 18.214c0-0.001 0-0.002 0-0.004 0-1.555-1.261-2.816-2.816-2.816s-2.816 1.261-2.816 2.816c0 1.037 0.56 1.943 1.395 2.432l0.013 0.007v4.33l1.408-1.408 1.408 1.408v-4.33c0.847-0.495 1.407-1.4 1.408-2.435v-0zM18.81 20.091c-1.037 0-1.877-0.84-1.877-1.877s0.84-1.877 1.877-1.877c1.037 0 1.877 0.84 1.877 1.877v0c0 1.037-0.84 1.877-1.877 1.877v0z','M18.81 5.073h-11.264v22.528h16.896v-16.896zM22.565 25.723h-13.141v-18.773h8.448v4.693h4.693v14.080z'],\n 'newspaper': ['M4.736 5.080v22.528h22.528v-22.528h-22.528zM26.325 26.669h-20.651v-20.651h20.651v20.651z','M16.939 7.896h7.509v9.387h-7.509v-9.387z','M7.552 7.896h7.509v1.877h-7.509v-1.877z','M7.552 11.651h7.509v1.877h-7.509v-1.877z','M7.552 15.405h7.509v1.877h-7.509v-1.877z','M7.552 19.16h7.509v1.877h-7.509v-1.877z','M7.552 22.915h7.509v1.877h-7.509v-1.877z','M16.939 19.16h7.509v1.877h-7.509v-1.877z','M16.939 22.915h7.509v1.877h-7.509v-1.877z'],\n 'new-window': ['M17.291 11.651h-10.677v14.080h14.057l0.023-10.677 2.065-2.065v14.62h-18.022v-18.022h14.62z','M18.464 5.080h8.8v8.8l-3.168-3.145-9.668 9.668-2.488-2.488 9.668-9.668z'],\n 'notification': ['M24.512 14.4v11.803c0 0.545-0.459 1.003-1.032 1.003h-17.683c-0.545 0-1.004-0.457-1.004-1.003v-17.684c0-0.544 0.459-1.031 1.004-1.031h11.923v-2.436h-11.923c-1.892 0-3.411 1.547-3.411 3.439v17.684c0 1.891 1.519 3.411 3.411 3.411h17.683c1.892 0 3.44-1.52 3.44-3.411v-11.775h-2.408z', 'M24.787 2.385c-2.632 0-4.8 2.139-4.8 4.8 0 2.631 2.139 4.8 4.8 4.8 2.631 0 4.8-2.14 4.8-4.8 0-2.661-2.14-4.8-4.8-4.8z'],\n 'office-lights': ['M13.178 25.723h5.632v1.877h-5.632v-1.877z','M12.24 22.907h7.509v1.877h-7.509v-1.877z','M19.749 21.969h-1.877c0-1.553 0.901-2.75 1.559-3.624 0.155-0.206 0.302-0.4 0.417-0.573 0.080-0.12 0.175-0.253 0.28-0.4 0.685-0.958 1.721-2.406 1.484-4.693l-0.005-0.097c0-2.653-2.399-5.62-5.612-5.632-3.213 0.012-5.612 2.979-5.612 5.632l-0.005 0.097c-0.237 2.286 0.798 3.734 1.484 4.693 0.105 0.147 0.2 0.28 0.28 0.4 0.115 0.173 0.261 0.367 0.417 0.573 0.658 0.874 1.559 2.071 1.559 3.624h-1.877c0-0.926-0.628-1.759-1.182-2.495-0.172-0.228-0.334-0.443-0.479-0.661-0.070-0.105-0.153-0.221-0.245-0.349-0.742-1.037-2.12-2.964-1.829-5.931 0.028-3.528 3.085-7.436 7.469-7.46h0.040c4.384 0.024 7.441 3.932 7.469 7.46 0.291 2.967-1.087 4.893-1.829 5.931-0.092 0.128-0.175 0.244-0.245 0.349-0.145 0.217-0.307 0.433-0.479 0.661-0.554 0.736-1.182 1.569-1.182 2.495z','M12.26 12.582h-0.939c0-0.002 0-0.005 0-0.008 0-2.584 2.091-4.679 4.673-4.686h0.001v0.939c-2.112 0-3.735 1.684-3.735 3.755z'],\n 'onboarding-forms': ['M18.81 5.073h-11.264v22.528h7.040v-1.877h-5.163v-18.773h8.448v4.693h4.693v3.285h1.877v-4.224l-5.632-5.632z','M12.24 12.307l-1.271-1.271 0.664-0.664 0.607 0.607 2.484-2.484 0.664 0.664-3.148 3.148z','M12.24 17l-1.271-1.271 0.664-0.664 0.607 0.607 2.484-2.484 0.664 0.664-3.148 3.148z','M26.32 15.867h-9.856c-0.518 0.002-0.937 0.421-0.939 0.939v9.856c0.002 0.518 0.421 0.937 0.939 0.939h9.856c0.518-0.002 0.937-0.421 0.939-0.939v-9.856c-0.002-0.518-0.421-0.937-0.939-0.939h-0zM21.392 17.745c0.881 0 1.596 0.714 1.596 1.596s-0.714 1.596-1.596 1.596c-0.881 0-1.596-0.714-1.596-1.596v0c0-0.881 0.714-1.596 1.596-1.596v0zM24.677 25.723h-6.571v-0.798c0-1.763 1.523-3.191 3.285-3.191s3.285 1.429 3.285 3.191v0.798z'],\n 'pay': ['M24.449 16.344l-0.001-2.813h-6.567v-3.747h2.816l-4.678-4.704-4.709 4.724h2.816v3.727h-9.39v11.266h2.816v2.811h19.712v-11.264h-2.815zM6.146 23.386v-8.45h16.895v1.407h-15.489v7.042h-1.406zM25.858 23.916c-0.151-0.039-0.309-0.062-0.472-0.062-1.037 0-1.877 0.841-1.877 1.877 0 0.163 0.023 0.32 0.062 0.47h-12.326c0.039-0.151 0.062-0.308 0.062-0.47 0-1.037-0.841-1.877-1.877-1.877-0.161 0-0.318 0.023-0.467 0.061v-3.873c0.15 0.038 0.306 0.061 0.467 0.061 1.037 0 1.877-0.841 1.877-1.877 0-0.163-0.023-0.321-0.062-0.472h12.326c-0.038 0.15-0.061 0.306-0.061 0.468 0 1.037 0.841 1.877 1.877 1.877 0.163 0 0.321-0.023 0.472-0.062v3.879z','M19.755 21.976c0 1.555-1.261 2.816-2.816 2.816s-2.816-1.261-2.816-2.816c0-1.555 1.261-2.816 2.816-2.816s2.816 1.261 2.816 2.816z'],\n 'pdf': ['M11.729 17.929c0-0.219-0.056-0.376-0.167-0.469s-0.268-0.14-0.469-0.14h-0.793v1.241h0.793c0.202 0 0.357-0.051 0.469-0.152s0.167-0.261 0.167-0.48z','M15.331 17.319h-0.814v2.751h0.814c0.416 0 0.706-0.205 0.871-0.615 0.089-0.225 0.134-0.493 0.134-0.804 0-0.429-0.067-0.758-0.202-0.988s-0.402-0.345-0.803-0.345z','M19.745 5.080h-11.264v9.387h-1.863v8.448h1.863v4.693h16.896v-16.896l-5.632-5.632zM10.299 20.803h-0.875v-4.216h1.81c0.417 0 0.75 0.109 0.998 0.326s0.372 0.554 0.372 1.010c0 0.497-0.123 0.849-0.37 1.055s-0.599 0.309-1.057 0.309h-0.878v1.516h-0zM23.502 25.733h-13.141v-2.818h13.141v2.818zM13.662 20.803v-4.216h1.818c0.261 0.004 0.479 0.034 0.653 0.092 0.296 0.097 0.535 0.276 0.718 0.535 0.147 0.21 0.247 0.436 0.3 0.681s0.080 0.476 0.080 0.698c0 0.561-0.112 1.035-0.337 1.424-0.305 0.524-0.776 0.787-1.414 0.787h-1.818zM20.986 18.303v0.732h-1.868v1.767h-0.875v-4.21h3.006v0.741h-2.131v0.97h1.868zM23.502 14.467h-13.141v-7.507h8.447v4.694h4.694v2.813z'],\n 'phone': 'M8.068 5.159c2.822-0.9 4.86 6.233 4.86 6.233l-2.598 2.166c0 0 0.77 2.487 3.383 5.169s5.074 3.473 5.074 3.473l2.287-2.811c0 0 3.235 0.708 5.968 2.461 0.158 0.102 0.247 0.292 0.216 0.481-0.55 3.398-2.915 5.593-6.485 5.241-1.553-0.161-11.545-2.585-15.734-14.82-0.885-2.544 0.177-6.663 3.029-7.592z',\n 'pie-chart': ['M25.833 13.185c0.39 1.12 0.602 2.322 0.602 3.574 0.001 5.992-4.857 10.85-10.849 10.85s-10.85-4.858-10.85-10.85c0-5.992 4.858-10.849 10.85-10.849 1.252 0 2.455 0.212 3.574 0.602l-3.574 10.247 10.247-3.574z','M20.591 5.080c3.117 1.087 5.586 3.557 6.673 6.674l-10.247 3.574 3.574-10.247z'],\n 'pin': 'M26.909 13.987c-0.447 0.451-1.175 0.475-2.091 0.166l-5.192 5.626c0.916 1.899 1.080 3.537 0.259 4.368-1.175 1.187-3.947 0.285-6.719-1.97l-8.429 5.432 5.586-8.209c-2.208-2.825-3.054-5.697-1.88-6.883 0.822-0.831 2.397-0.688 4.253 0.261l5.591-5.151c-0.306-0.949-0.306-1.756 0.118-2.184 0.987-0.997 3.735 0.142 6.085 2.493 2.326 2.373 3.383 5.079 2.42 6.052z',\n 'play': 'M10.644 5.080v22.528l11.264-11.263z',\n 'pop-up-window': ['M4.736 9.781h2.821v15.014h15.955v2.813h-18.775z','M27.264 22.919h-17.832v-17.839h17.832v17.839zM25.389 6.963h-14.081v14.080h14.081v-14.080z'],\n 'portal': ['M17.872 6.95c0 1.037-0.84 1.877-1.877 1.877s-1.877-0.841-1.877-1.877c0-1.037 0.841-1.877 1.877-1.877s1.877 0.841 1.877 1.877z','M19.749 19.345v2.047c3.020 0.494 4.618 1.498 4.618 1.984 0 0.659-2.934 2.272-8.373 2.272s-8.373-1.612-8.373-2.272c0-0.486 1.598-1.49 4.618-1.984v-2.047c-3.675 0.543-6.646 1.905-6.646 4.031 0 2.822 5.232 4.299 10.4 4.299s10.4-1.477 10.4-4.299c0-2.127-2.971-3.488-6.646-4.031z','M19.749 13.521c-0-2.074-1.681-3.754-3.755-3.754-0.060 0-0.12 0.001-0.18 0.004l0.008-0c-2.014 0.089-3.583 1.789-3.583 3.805v4.639h1.877v4.693h3.755v-4.693h1.877v-4.693zM17.872 16.337h-3.755v-2.865c0-1.034 0.818-1.904 1.852-1.917 1.097-0.014 1.903 0.874 1.903 1.967v2.816z'],\n 'portfolio': ['M27.264 14.941l-4.793 9.944c-0.34 0.716-1.094 1.32-2.188 1.32h-14.042c-1.207 0-1.521-0.717-1.505-1.32l4.783-9.944h17.744zM16 10.287h-1.378v-1.917c0-0.264-0.226-0.49-0.509-0.49h-3.223c-0.264 0-0.472 0.226-0.472 0.49v1.917h-1.396v-1.917c0-1.151 0.943-1.887 2.093-1.887h2.772c1.169 0 2.112 0.736 2.112 1.887v1.917zM21.799 15.885h-1.396v2.526c0 0.264-0.208 0.49-0.472 0.49h-3.789c-0.283 0-0.509-0.226-0.509-0.49v-2.526h-1.378v2.301c0 1.169 0.943 2.112 2.112 2.112h3.338c1.15 0 2.093-0.943 2.093-2.112v-2.301h-0z','M8.976 13.885h12.818v-2.581h-16.896v11.022z'],\n 'print': 'M24.448 17.293v-6.581l-5.632-5.632h-11.264v12.213h-2.816v10.315h22.528v-10.315h-2.816zM9.431 6.959h8.447v4.694h4.694v5.64h-13.141v-10.334zM23.509 23.853c-0.777 0-1.408-0.631-1.408-1.408s0.631-1.408 1.408-1.408c0.777 0 1.408 0.631 1.408 1.408s-0.631 1.408-1.408 1.408z',\n 'presentation': ['M16.676 6.452v-1.372h-1.352v1.372h-10.588v15.769h22.528v-15.769h-10.588zM25.912 20.869h-19.824v-13.065h19.824v13.065h-0z','M15.324 22.222h1.352v3.605h-1.352v-3.605z','M9.016 27.608h1.802l4.506-5.386h-1.802z','M16.676 22.222l4.506 5.386h1.802l-4.506-5.386z','M9.692 10.732c0 0.498-0.403 0.901-0.901 0.901s-0.901-0.403-0.901-0.901c0-0.498 0.403-0.901 0.901-0.901s0.901 0.403 0.901 0.901z','M11.043 9.832h13.067v1.802h-13.067v-1.802z','M9.692 14.337c0 0.498-0.403 0.901-0.901 0.901s-0.901-0.403-0.901-0.901c0-0.498 0.403-0.901 0.901-0.901s0.901 0.403 0.901 0.901z','M11.043 13.436h13.067v1.802h-13.067v-1.802z','M9.692 17.942c0 0.498-0.403 0.901-0.901 0.901s-0.901-0.403-0.901-0.901c0-0.498 0.403-0.901 0.901-0.901s0.901 0.403 0.901 0.901z','M11.043 17.041h13.067v1.802h-13.067v-1.802z'],\n 'products-services': ['M21.631 5.080h-11.264v10.795h1.879v-8.915h8.447v4.694h4.694v14.079h-5.399v1.875h7.275v-16.896z','M4.738 27.020c0 0.324 0.263 0.587 0.587 0.587h12.904c0.324 0 0.587-0.263 0.587-0.587v-9.385c0-0.324-0.263-0.587-0.587-0.587h-12.904c-0.324 0-0.587 0.263-0.587 0.587v9.385zM5.911 18.515c0-0.162 0.131-0.293 0.293-0.293h11.145c0.162 0 0.293 0.131 0.293 0.293v0.904h-11.731v-0.904zM17.349 26.433h-11.145c-0.162 0-0.293-0.131-0.293-0.293v-4.375h11.731v4.375c0 0.162-0.131 0.293-0.293 0.293z'],\n 'quote-close': 'M19.085 7.36h8.166v5.843c0 2.37-0.211 4.224-0.634 5.609-0.422 1.361-1.197 2.605-2.323 3.684s-2.558 1.948-4.294 2.558l-1.596-3.379c1.619-0.54 2.793-1.291 3.497-2.276 0.704-0.962 1.079-2.253 1.126-3.872h-3.966v-8.166h0.023zM5.427 7.36h8.166v5.843c0 2.394-0.211 4.247-0.634 5.609s-1.197 2.581-2.323 3.661c-1.126 1.079-2.558 1.948-4.294 2.558l-1.596-3.379c1.619-0.54 2.793-1.291 3.497-2.276 0.704-0.962 1.079-2.253 1.126-3.872h-3.966v-8.143h0.023z',\n 'quote-open': 'M12.913 25.053h-8.166v-5.843c0-2.37 0.211-4.224 0.634-5.609 0.422-1.361 1.197-2.605 2.323-3.684s2.558-1.948 4.294-2.558l1.596 3.379c-1.619 0.54-2.793 1.291-3.497 2.276-0.704 0.962-1.079 2.253-1.126 3.872h3.966v8.166h-0.023zM26.571 25.053h-8.166v-5.843c0-2.394 0.211-4.247 0.634-5.609s1.197-2.581 2.323-3.661c1.126-1.079 2.558-1.948 4.294-2.558l1.596 3.379c-1.619 0.54-2.793 1.291-3.497 2.276-0.704 0.962-1.079 2.253-1.126 3.872h3.966v8.143h-0.023z',\n 'rates': ['M23.203 7.497l1.69 1.736-15.934 16.051-1.713-1.737z','M13.464 11.44c0 1.314-1.056 2.394-2.37 2.394s-2.37-1.079-2.37-2.394 1.056-2.394 2.37-2.394 2.37 1.079 2.37 2.394zM11.117 6.887c-2.487 0-4.506 2.042-4.506 4.553s2.018 4.553 4.506 4.553 4.506-2.042 4.506-4.553c0-2.511-2.018-4.553-4.506-4.553z','M23.39 21.249c0 1.314-1.056 2.394-2.37 2.394s-2.37-1.079-2.37-2.394c0-1.314 1.056-2.394 2.37-2.394s2.37 1.079 2.37 2.394zM21.020 16.696c-2.487 0-4.506 2.042-4.506 4.553s2.018 4.553 4.506 4.553c2.488 0 4.506-2.042 4.506-4.552s-2.018-4.553-4.506-4.553z'],\n 'refresh': 'M23.963 8.376c-2.038-2.037-4.853-3.296-7.962-3.296-6.221 0-11.264 5.043-11.264 11.264s5.043 11.264 11.264 11.264 11.264-5.043 11.264-11.264h-2.816c0 4.666-3.782 8.448-8.448 8.448s-8.448-3.782-8.448-8.448 3.782-8.448 8.448-8.448c2.332 0 4.443 0.945 5.971 2.472l-3.473 3.473 8.763 0.002-0.002-8.763-3.298 3.296z',\n 'relationship-review-tool': ['M10.684 21.647c-1.367-1.356-2.215-3.233-2.22-5.309v-0.551l1.224 1.214 1.333-1.327-3.477-3.48-3.479 3.48 1.328 1.327 1.214-1.214v0.55c0.002 3.865 2.337 7.184 5.673 8.625l0.061 0.023 0.731-1.729c-0.928-0.398-1.72-0.941-2.387-1.609l-0-0z','M25.311 15.177l-1.863 0.231c0.037 0.28 0.058 0.603 0.058 0.932 0 2.765-1.496 5.18-3.722 6.481l-0.036 0.019-0.476 0.275 0.444-1.658-1.813-0.486-1.274 4.753 4.753 1.274 0.486-1.813-1.658-0.444 0.476-0.275c2.826-1.655 4.694-4.677 4.694-8.135 0-0.407-0.026-0.807-0.076-1.2l0.005 0.047z','M22.533 6.339l-1.813 0.486 0.444 1.658-0.476-0.275c-1.347-0.79-2.966-1.257-4.695-1.257-2.136 0-4.106 0.713-5.684 1.914l0.023-0.017 1.132 1.498c1.243-0.949 2.819-1.521 4.529-1.521 1.384 0 2.68 0.375 3.793 1.028l-0.035-0.019 0.476 0.275-1.658 0.444 0.486 1.813 4.753-1.274z'],\n 'renew': ['M7.553 16.344c0-4.666 3.782-8.448 8.448-8.448 2.332 0 4.443 0.945 5.971 2.472l-3.473 3.473 8.763 0.002-0.002-8.763-3.298 3.296c-2.038-2.037-4.853-3.296-7.962-3.296-6.221 0-11.264 5.043-11.264 11.264z','M24.449 16.344c0 4.666-3.782 8.448-8.448 8.448-2.332 0-4.443-0.945-5.971-2.472l3.473-3.473-8.763-0.002 0.002 8.763 3.298-3.296c2.038 2.037 4.853 3.296 7.962 3.296 6.221 0 11.264-5.043 11.264-11.264z'],\n 'reply': 'M13.187 12.581v-5.373l-8.448 8.448 8.448 8.448v-5.856c1.152-0.048 2.898 0.036 4.178 0.25s2.273 0.441 2.977 0.679l1.032 0.357c0.929 0.349 1.761 0.786 2.497 1.31s1.293 0.988 1.668 1.393c0.377 0.405 0.717 0.877 1.021 1.417s0.476 0.881 0.516 1.024c0.040 0.143 0.1 0.341 0.18 0.595 0 0 0.135-3.291-0.818-5.565-0.264-0.629-1.035-2.083-1.715-2.853-0.68-0.77-1.477-1.441-2.389-2.012s-2.117-1.072-3.613-1.5c-1.496-0.429-3.693-0.682-5.534-0.762z',\n 'report': ['M8.491 11.651h0.939v3.755h-0.939v-3.755z','M8.491 5.080v4.693h0.939v-3.755h14.080v20.651h-14.080v-3.755h-0.939v4.693h15.957v-22.528z','M8.491 17.283h0.939v3.755h-0.939v-3.755z','M13.184 9.773h7.509v1.877h-7.509v-1.877z','M13.184 13.528h7.509v1.877h-7.509v-1.877z','M7.552 10.243h2.816v0.939h-2.816v-0.939z','M7.552 15.875h2.816v0.939h-2.816v-0.939z','M7.552 21.507h2.816v0.939h-2.816v-0.939z'],\n 'rewards': 'M4.736 5.526c0-0.235 0-0.446 0-0.446h10.067v6.172c-0.563-0.61-1.197-1.173-1.924-1.643-1.549-1.079-3.262-1.713-4.576-1.713-1.197 0-1.783 0.516-2.089 0.939-1.15 1.69 0.681 4.247 3.121 5.937 0.422 0.305 0.868 0.563 1.314 0.774h-5.914v-10.020zM10.532 23.525l1.737 0.892 2.534-4.928v8.119h-10.067c0 0 0-0.211 0-0.446v-9.879h8.87l-3.074 6.242zM14.404 14.42c-0.047 0.023-0.164 0.094-0.493 0.094-0.704 0-1.971-0.376-3.45-1.384-2.159-1.478-2.722-2.957-2.605-3.215 0.023-0.023 0.164-0.094 0.469-0.094 0.704 0 1.971 0.376 3.45 1.385 2.159 1.525 2.722 2.98 2.628 3.215zM16.751 11.932l0.023-6.852h10.020c0.282 0 0.469 0 0.469 0v10.466h-5.702c1.948-1.549 2.699-3.637 1.737-4.975-0.423-0.587-1.173-0.915-2.065-0.915-1.056 0-2.323 0.469-3.403 1.291-0.375 0.305-0.774 0.634-1.079 0.986zM18.042 17.283h9.222v10.325c0 0-0.211 0-0.469 0h-10.044v-8.612l2.089 2.276 1.432-1.291-2.23-2.699zM21.726 11.745c0.164 0.258-0.188 1.408-1.525 2.394-0.728 0.54-1.596 0.892-2.206 0.892-0.282 0-0.446-0.071-0.493-0.141s-0.071-0.352 0.117-0.751c0.258-0.54 0.751-1.15 1.408-1.643 0.727-0.54 1.596-0.868 2.229-0.868 0.282 0 0.422 0.071 0.469 0.118z',\n 'risk-appetite': 'M27.086 10.164l-0.888-1.266-2.822-4.033-0.95 0.378-14.080 5.629-3.62 5.168v1.707c0 2.334 1.892 4.225 4.225 4.225s4.225-1.892 4.225-4.225v0-1.707l-2.773-3.964 4.652-1.858v15.505h-5.636v1.879h13.144v-1.879h-5.629v-16.262l3.523-1.411-1.652 2.354v1.707c0 2.334 1.892 4.225 4.225 4.225s4.225-1.892 4.225-4.225v0-1.7zM11.3 17.748c0 1.296-1.051 2.347-2.347 2.347s-2.347-1.051-2.347-2.347v0-0.475h4.693zM11.093 16.337h-4.28l2.14-3.055zM23.033 7.646l1.762 2.512 0.378 0.544h-4.28zM25.38 12.112c0 1.296-1.051 2.347-2.347 2.347s-2.347-1.051-2.347-2.347v-0.468h4.693z',\n 'room-booking': 'M27.259 22.441c0-0.005 0-0.012 0-0.018 0-1.554-1.26-2.815-2.815-2.815-1.236 0-2.286 0.797-2.664 1.905l-0.006 0.020-1.087-7.074h-9.387l-1.087 7.074c-0.384-1.128-1.434-1.924-2.67-1.924-1.554 0-2.815 1.26-2.815 2.815 0 0.006 0 0.013 0 0.019v-0.001 1.411h5.127l-0.434 2.815h13.144l-0.434-2.815h5.127zM15.993 9.765c1.038 0 1.879-0.841 1.879-1.879s-0.841-1.879-1.879-1.879c-1.038 0-1.879 0.841-1.879 1.879v0c0 1.038 0.841 1.879 1.879 1.879v0zM18.808 13.048c0-1.554-1.26-2.815-2.815-2.815s-2.815 1.26-2.815 2.815v0 0.468h5.629zM24.437 19.152c0.002 0 0.004 0 0.007 0 1.038 0 1.879-0.841 1.879-1.879s-0.841-1.879-1.879-1.879c-1.038 0-1.879 0.841-1.879 1.879v0c0 1.038 0.841 1.879 1.879 1.879v0zM7.542 19.152c0.002 0 0.004 0 0.007 0 1.038 0 1.879-0.841 1.879-1.879s-0.841-1.879-1.879-1.879c-1.038 0-1.879 0.841-1.879 1.879v0c0 1.038 0.841 1.879 1.879 1.879v0zM11.609 24.781l1.301-8.451h6.152l1.314 8.451z',\n 'save': ['M27.264 7.896v19.712c0 0-0.506 0-1.122 0h-21.406v-22.528h19.716l2.812 2.816zM23.513 15.405v-8.445l-15.019-0.003v8.452l15.019-0.004z','M9.433 7.896h3.755v6.571h-3.755v-6.571z'],\n 'savings': ['M9.852 9.41c-2.84 0-5.116-0.774-5.116-1.713v1.83c0 0.939 2.3 1.713 5.116 1.713s5.21-0.774 5.21-1.713v-1.83c0 0.938-2.37 1.713-5.21 1.713z','M9.852 12.132c-2.84 0-5.116-0.774-5.116-1.713v1.83c0 0.939 2.3 1.713 5.116 1.713s5.21-0.775 5.21-1.713v-1.83c0 0.939-2.37 1.713-5.21 1.713z','M9.852 14.854c-2.84 0-5.116-0.774-5.116-1.713v1.83c0 0.939 2.3 1.713 5.116 1.713s5.21-0.774 5.21-1.713v-1.83c0 0.939-2.37 1.713-5.21 1.713z','M9.852 17.6c-2.84 0-5.116-0.775-5.116-1.713v1.831c0 0.939 2.3 1.713 5.116 1.713s5.21-0.775 5.21-1.713v-1.831c0 0.939-2.37 1.713-5.21 1.713z','M9.852 20.322c-2.816 0-5.116-0.775-5.116-1.713v1.831c0 0.939 2.3 1.713 5.116 1.713s5.21-0.774 5.21-1.713v-1.831c0 0.939-2.37 1.713-5.21 1.713z','M9.852 23.044c-2.84 0-5.116-0.774-5.116-1.713v1.83c0 0.939 2.3 1.713 5.116 1.713s5.21-0.775 5.21-1.713v-1.83c0 0.939-2.37 1.713-5.21 1.713z','M9.852 25.79c-2.816-0.024-5.116-0.775-5.116-1.713v1.831c0 0.939 2.3 1.713 5.116 1.713s5.21-0.774 5.21-1.713v-1.831c0 0.939-2.37 1.713-5.21 1.713z','M9.852 8.495c2.84 0 5.21-0.774 5.21-1.713s-2.37-1.713-5.21-1.713c-2.816 0-5.116 0.774-5.116 1.713s2.276 1.713 5.116 1.713z','M22.148 17.576c-2.816 0-5.21-0.775-5.21-1.713v1.831c0 0.939 2.37 1.713 5.21 1.713s5.116-0.774 5.116-1.713v-1.831c0 0.939-2.3 1.713-5.116 1.713z','M22.148 20.298c-2.816 0-5.21-0.775-5.21-1.713v1.831c0 0.939 2.37 1.713 5.21 1.713s5.116-0.775 5.116-1.713v-1.831c0 0.939-2.3 1.713-5.116 1.713z','M22.148 23.044c-2.816 0-5.21-0.774-5.21-1.713v1.807c0 0.939 2.37 1.713 5.21 1.713s5.116-0.775 5.116-1.713v-1.807c0 0.939-2.3 1.713-5.116 1.713z','M22.148 25.766c-2.816 0-5.21-0.775-5.21-1.713v1.831c0 0.939 2.37 1.713 5.21 1.713s5.116-0.775 5.116-1.713v-1.831c0 0.939-2.3 1.713-5.116 1.713z','M22.148 16.661c2.816 0 5.116-0.775 5.116-1.713s-2.276-1.713-5.116-1.713c-2.839 0-5.21 0.774-5.21 1.713s2.394 1.713 5.21 1.713z'],\n 'savings-goals': 'M25.442 6.988v-1.901l-1.807 1.737v1.338l-3.813 3.787c-1.6-1.469-3.738-2.366-6.079-2.366-4.975 0-9.011 4.036-9.011 9.011s4.036 9.011 9.011 9.011 9.011-4.037 9.011-9.011c0-1.971-0.634-3.802-1.713-5.28l-0.939 0.915c0.845 1.244 1.338 2.746 1.338 4.365 0 4.248-3.45 7.697-7.697 7.697s-7.697-3.449-7.697-7.697c0-4.247 3.45-7.697 7.697-7.697 1.986 0 3.796 0.736 5.16 1.965l-0.974 0.967c-1.137-0.984-2.602-1.594-4.233-1.594-3.543 0-6.406 2.863-6.406 6.406s2.863 6.406 6.406 6.406 6.406-2.863 6.406-6.406c0-1.244-0.352-2.417-0.986-3.403l-1.126 1.126c0.352 0.681 0.563 1.455 0.563 2.276 0 2.675-2.183 4.857-4.858 4.857s-4.858-2.182-4.858-4.857 2.182-4.858 4.858-4.858c1.187 0 2.285 0.426 3.134 1.137l-0.99 0.983c-0.583-0.457-1.308-0.736-2.097-0.736-1.877 0-3.426 1.525-3.426 3.426 0 1.877 1.525 3.427 3.426 3.427 1.877 0 3.426-1.525 3.426-3.427 0-0.422-0.070-0.821-0.211-1.197l-2.205 2.206-0.681-0.68 0.113-0.113 10.083-10.014h1.173l1.83-1.807h-1.83z',\n 'security-code': ['M4.867 13.347c0.709 0 1.356 0.272 1.84 0.717 0.541 0.497 0.88 1.211 0.88 2.003 0 0.815-0.359 1.547-0.928 2.045-0.479 0.42-1.105 0.675-1.792 0.675-0.611 0-1.173-0.201-1.628-0.541-0.663-0.496-1.092-1.288-1.092-2.179 0-0.745 0.3-1.42 0.785-1.912 0.493-0.499 1.179-0.808 1.935-0.808z', 'M12.394 13.347c1.501 0 2.72 1.219 2.72 2.72 0 0.903-0.441 1.703-1.119 2.199-0.449 0.328-1.003 0.521-1.601 0.521-1.501 0-2.72-1.219-2.72-2.72 0-0.968 0.507-1.817 1.268-2.3 0.42-0.265 0.919-0.42 1.452-0.42z', 'M19.92 13.347c1.501 0 2.72 1.219 2.72 2.72 0 0.789-0.337 1.501-0.875 1.997-0.485 0.449-1.133 0.723-1.845 0.723-1.501 0-2.72-1.219-2.72-2.72 0-0.797 0.344-1.515 0.892-2.013 0.483-0.439 1.124-0.707 1.828-0.707z', 'M27.445 13.347c-1.501 0-2.72 1.219-2.72 2.72s1.219 2.72 2.72 2.72c1.501 0 2.72-1.219 2.72-2.72s-1.219-2.72-2.72-2.72zM27.445 13.949c1.168 0 2.117 0.949 2.117 2.117s-0.949 2.117-2.117 2.117c-1.168 0-2.117-0.949-2.117-2.117s0.949-2.117 2.117-2.117z', 'M27.516 13.348l0.069 0.003 0.069 0.004 0.069 0.005 0.068 0.008 0.068 0.009 0.133 0.024 0.067 0.015 0.065 0.016 0.064 0.017 0.128 0.040 0.063 0.023 0.063 0.024 0.061 0.024 0.060 0.027 0.060 0.028 0.060 0.029 0.057 0.031 0.057 0.032 0.057 0.033 0.055 0.035 0.109 0.075 0.052 0.037 0.052 0.040 0.051 0.041 0.051 0.043 0.048 0.043 0.048 0.045 0.047 0.045 0.047 0.047 0.044 0.048 0.043 0.048 0.043 0.051 0.041 0.051 0.040 0.052 0.039 0.052 0.037 0.055 0.036 0.055 0.035 0.055 0.033 0.057 0.032 0.057 0.031 0.059 0.029 0.059 0.028 0.060 0.027 0.060 0.025 0.061 0.045 0.125 0.040 0.128 0.017 0.064 0.016 0.067 0.015 0.065 0.024 0.133 0.009 0.068 0.008 0.069 0.005 0.068 0.005 0.069 0.003 0.069v0.141l-0.003 0.069-0.005 0.069-0.005 0.068-0.008 0.069-0.009 0.068-0.024 0.133-0.015 0.065-0.016 0.067-0.017 0.064-0.040 0.128-0.045 0.125-0.025 0.061-0.027 0.060-0.028 0.060-0.029 0.059-0.031 0.059-0.032 0.057-0.033 0.057-0.035 0.055-0.036 0.055-0.037 0.055-0.039 0.052-0.040 0.052-0.041 0.051-0.043 0.051-0.043 0.048-0.044 0.048-0.047 0.047-0.047 0.045-0.048 0.045-0.048 0.043-0.051 0.043-0.051 0.041-0.052 0.040-0.052 0.037-0.109 0.075-0.055 0.035-0.057 0.033-0.057 0.032-0.057 0.031-0.060 0.029-0.060 0.028-0.060 0.027-0.061 0.024-0.063 0.024-0.063 0.023-0.128 0.040-0.064 0.017-0.065 0.016-0.067 0.015-0.133 0.024-0.068 0.009-0.068 0.008-0.069 0.005-0.069 0.004-0.069 0.003-0.071 0.001-0.071-0.001-0.069-0.003-0.069-0.004-0.068-0.005-0.069-0.008-0.067-0.009-0.068-0.012-0.067-0.012-0.065-0.015-0.067-0.016-0.064-0.017-0.128-0.040-0.063-0.023-0.063-0.024-0.061-0.024-0.060-0.027-0.060-0.028-0.059-0.029-0.059-0.031-0.057-0.032-0.056-0.033-0.056-0.035-0.109-0.075-0.052-0.037-0.052-0.040-0.051-0.041-0.051-0.043-0.048-0.043-0.048-0.045-0.047-0.045-0.045-0.047-0.045-0.048-0.043-0.048-0.043-0.051-0.041-0.051-0.077-0.104-0.037-0.055-0.036-0.055-0.035-0.055-0.035-0.057-0.032-0.057-0.031-0.059-0.029-0.059-0.028-0.060-0.027-0.060-0.024-0.061-0.024-0.063-0.023-0.063-0.040-0.128-0.017-0.064-0.016-0.067-0.015-0.065-0.012-0.067-0.011-0.067-0.011-0.068-0.007-0.069-0.007-0.068-0.004-0.069-0.003-0.069-0.001-0.071 0.001-0.071 0.003-0.069 0.004-0.069 0.007-0.068 0.007-0.069 0.011-0.068 0.011-0.067 0.012-0.067 0.015-0.065 0.016-0.067 0.017-0.064 0.040-0.128 0.023-0.063 0.024-0.063 0.024-0.061 0.027-0.060 0.028-0.060 0.029-0.059 0.031-0.059 0.032-0.057 0.035-0.057 0.035-0.055 0.036-0.055 0.037-0.055 0.077-0.104 0.041-0.051 0.043-0.051 0.043-0.048 0.045-0.048 0.045-0.047 0.047-0.045 0.048-0.045 0.048-0.043 0.051-0.043 0.051-0.041 0.052-0.040 0.052-0.037 0.109-0.075 0.056-0.035 0.056-0.033 0.057-0.032 0.059-0.031 0.059-0.029 0.060-0.028 0.060-0.027 0.061-0.024 0.063-0.024 0.063-0.023 0.128-0.040 0.064-0.017 0.067-0.016 0.065-0.015 0.067-0.012 0.068-0.012 0.067-0.009 0.069-0.008 0.068-0.005 0.069-0.004 0.069-0.003 0.071-0.001 0.071 0.001zM27.391 13.951l-0.055 0.001-0.107 0.008-0.107 0.013-0.104 0.019-0.051 0.012-0.052 0.012-0.049 0.013-0.051 0.016-0.049 0.016-0.049 0.017-0.048 0.017-0.048 0.020-0.047 0.020-0.093 0.045-0.045 0.024-0.088 0.051-0.043 0.027-0.043 0.028-0.043 0.029-0.041 0.031-0.040 0.031-0.040 0.032-0.039 0.033-0.037 0.033-0.037 0.035-0.036 0.035-0.036 0.037-0.035 0.037-0.033 0.037-0.033 0.039-0.032 0.040-0.031 0.040-0.031 0.041-0.028 0.041-0.028 0.043-0.028 0.044-0.051 0.088-0.024 0.045-0.023 0.047-0.043 0.093-0.020 0.048-0.017 0.048-0.017 0.049-0.016 0.049-0.015 0.051-0.015 0.049-0.012 0.052-0.011 0.051-0.011 0.052-0.008 0.052-0.008 0.053-0.007 0.053-0.008 0.107-0.003 0.109 0.003 0.109 0.008 0.107 0.007 0.053 0.008 0.053 0.008 0.052 0.011 0.052 0.011 0.051 0.012 0.052 0.015 0.049 0.015 0.051 0.016 0.049 0.017 0.049 0.017 0.048 0.020 0.048 0.043 0.093 0.023 0.047 0.024 0.045 0.051 0.088 0.028 0.044 0.028 0.043 0.028 0.041 0.031 0.041 0.031 0.040 0.032 0.040 0.033 0.039 0.033 0.037 0.035 0.037 0.036 0.037 0.036 0.035 0.037 0.035 0.037 0.033 0.039 0.033 0.040 0.032 0.040 0.031 0.041 0.031 0.043 0.029 0.043 0.028 0.043 0.027 0.088 0.051 0.045 0.024 0.093 0.045 0.047 0.020 0.048 0.020 0.048 0.017 0.049 0.017 0.049 0.016 0.051 0.016 0.049 0.013 0.052 0.012 0.051 0.012 0.104 0.019 0.107 0.013 0.107 0.008 0.109 0.003 0.109-0.003 0.107-0.008 0.107-0.013 0.104-0.019 0.052-0.012 0.051-0.012 0.051-0.013 0.099-0.032 0.049-0.017 0.048-0.017 0.048-0.020 0.047-0.020 0.093-0.045 0.045-0.024 0.088-0.051 0.044-0.027 0.043-0.028 0.041-0.029 0.041-0.031 0.040-0.031 0.040-0.032 0.039-0.033 0.037-0.033 0.075-0.069 0.104-0.112 0.032-0.039 0.032-0.040 0.031-0.040 0.031-0.041 0.029-0.041 0.028-0.043 0.027-0.044 0.051-0.088 0.024-0.045 0.045-0.093 0.020-0.047 0.020-0.048 0.019-0.048 0.016-0.049 0.017-0.049 0.015-0.051 0.013-0.049 0.012-0.052 0.012-0.051 0.019-0.104 0.013-0.107 0.008-0.107 0.003-0.109-0.003-0.109-0.008-0.107-0.013-0.107-0.019-0.104-0.012-0.051-0.012-0.052-0.013-0.049-0.015-0.051-0.017-0.049-0.016-0.049-0.019-0.048-0.020-0.048-0.020-0.047-0.045-0.093-0.024-0.045-0.051-0.088-0.027-0.044-0.028-0.043-0.029-0.041-0.031-0.041-0.031-0.040-0.032-0.040-0.032-0.039-0.104-0.112-0.075-0.069-0.037-0.033-0.039-0.033-0.040-0.032-0.040-0.031-0.041-0.031-0.041-0.029-0.043-0.028-0.044-0.027-0.088-0.051-0.045-0.024-0.093-0.045-0.047-0.020-0.048-0.020-0.048-0.017-0.049-0.017-0.099-0.032-0.051-0.013-0.051-0.012-0.052-0.012-0.104-0.019-0.107-0.013-0.107-0.008-0.109-0.003-0.055 0.001z'],\n 'script': ['M10.353 9.819h8.427v0.918h-8.427v-0.918z','M10.353 12.593h8.427v0.918h-8.427v-0.918z','M10.353 15.409h8.427v0.918h-8.427v-0.918z','M10.367 18.225h5.627v0.96h-5.627v-0.96z','M27.159 8.361c0-1.797-1.457-3.254-3.254-3.254l-0.033 0.001-13.423 0.009c-2.084 0-3.774 1.69-3.774 3.774v14.941h-1.834l-0.001 0.029c0 2.056 1.667 3.722 3.722 3.722 0.066 0 0.132-0.002 0.197-0.006l0.002 0.005 9.97-0.009c2.076-0.010 3.756-1.695 3.756-3.774v-15.412h4.672l0-0.025zM20.651 13.982v9.816c0 1.069-0.87 1.939-1.94 1.939h-0.134c-0.976-0.078-1.744-0.895-1.744-1.891l0-0.015h-8.323v-14.941c0-1.069 0.87-1.938 1.94-1.938l10.523-0.007c-0.207 0.428-0.323 0.908-0.323 1.416l0.001 0.025h0v5.596z'],\n 'search': 'M27.264 25.059l-7.95-7.95c0.782-1.225 1.192-2.616 1.192-4.144 0-2.195-0.762-4.077-2.33-5.6-1.523-1.523-3.405-2.285-5.6-2.285s-4.032 0.762-5.555 2.285c-1.523 1.523-2.285 3.405-2.285 5.6 0 2.151 0.762 4.032 2.33 5.555 1.478 1.568 3.36 2.33 5.51 2.33 1.57 0 2.957-0.392 4.193-1.188l7.947 7.946 2.549-2.549zM6.538 12.965c0-3.359 2.723-6.082 6.082-6.082s6.083 2.723 6.083 6.082-2.723 6.083-6.083 6.083c-3.359 0-6.082-2.723-6.082-6.083z',\n 'secure-key-passcode': 'M7.552 5.080v22.528h16.896v-22.528h-16.896zM13.184 25.731h-3.755v-3.755h3.755v3.755zM13.184 21.037h-3.755v-3.755h3.755v3.755zM13.184 16.344h-3.755v-3.755h3.755v3.755zM17.877 25.731h-3.755v-3.755h3.755v3.755zM17.877 21.037h-3.755v-3.755h3.755v3.755zM17.877 16.344h-3.755v-3.755h3.755v3.755zM22.571 25.731h-3.755v-3.755h3.755v3.755zM22.571 21.037h-3.755v-3.755h3.755v3.755zM22.571 16.344h-3.755v-3.755h3.755v3.755zM22.573 10.712h-13.141v-3.755h13.141v3.755z',\n 'security-lock': 'M24.448 15.409v12.199h-16.896v-12.203h1.877c0 0 0-0.298 0-3.978v-0.039c0-3.485 3.052-6.309 6.44-6.309s6.702 2.823 6.702 6.309c0 0 0 0 0 0.039v3.978l1.877 0.004zM19.728 11.019v-0.019c0-1.85-2.048-3.368-3.858-3.368-1.791 0-3.558 1.499-3.558 3.368v4.406h7.417v-4.387zM14.592 24.792h2.831c0.166 0 0.279-0.168 0.215-0.321l-1.192-2.891c0.74-0.214 1.266-0.857 1.266-1.636 0-1.079-0.998-1.91-2.089-1.673-0.665 0.145-1.193 0.694-1.311 1.365-0.16 0.907 0.403 1.724 1.238 1.943l-1.174 2.892c-0.062 0.153 0.050 0.321 0.216 0.321z',\n 'settings': 'M27.264 18.202v-3.755h-2.069c-0.246-1.198-0.721-2.311-1.375-3.295l1.459-1.459-2.655-2.655-1.465 1.465c-0.986-0.65-2.102-1.12-3.301-1.361v-2.062h-3.755v2.069c-1.198 0.246-2.311 0.721-3.295 1.375l-1.459-1.459-2.655 2.655 1.465 1.465c-0.65 0.986-1.12 2.102-1.361 3.301h-2.062v3.755h2.069c0.246 1.198 0.721 2.311 1.375 3.295l-1.459 1.459 2.655 2.655 1.465-1.465c0.986 0.65 2.102 1.12 3.301 1.361v2.062h3.755v-2.069c1.198-0.246 2.311-0.721 3.295-1.375l1.459 1.459 2.655-2.655-1.465-1.465c0.65-0.987 1.12-2.102 1.361-3.301l2.062-0zM16 21.976c-3.111 0-5.632-2.521-5.632-5.632s2.521-5.632 5.632-5.632 5.632 2.521 5.632 5.632-2.521 5.632-5.632 5.632z',\n 'share': 'M23.885 20.85c-1.065 0-2.014 0.494-2.634 1.265l-9.806-5.214c0.030-0.181 0.050-0.366 0.050-0.556 0-0.226-0.023-0.447-0.065-0.661l9.762-5.19c0.617 0.816 1.592 1.346 2.694 1.346 1.866 0 3.379-1.513 3.379-3.379s-1.513-3.379-3.379-3.379c-1.866 0-3.379 1.513-3.379 3.379 0 0.117 0.006 0.233 0.018 0.347l-9.909 5.269c-0.618-0.681-1.507-1.11-2.499-1.11-1.866 0-3.379 1.513-3.379 3.379s1.513 3.379 3.379 3.379c1.029 0 1.949-0.461 2.568-1.187l9.856 5.24c-0.020 0.149-0.034 0.299-0.034 0.452 0 1.866 1.513 3.379 3.379 3.379s3.379-1.513 3.379-3.379c0-1.866-1.513-3.379-3.379-3.379z',\n 'share-plans': ['M27.258 24.785h-22.528v-16.896h1.877v15.019h20.651v1.877z','M21.626 8.827v1.877h2.195l-4.968 4.347-2.859-2.859-7.234 7.235 1.328 1.327 5.907-5.907 2.773 2.773 6.613-5.787v2.625h1.877v-5.632h-5.632z'],\n 'shopping-cart': ['M7.795 8.764l-3.061-0.002v-1.5h4.213l0.789 3.004h17.53l-2.76 10.515h-13.556l-3.154-12.017zM25.327 11.769h-15.186l0.785 3.004h13.599l0.802-3.004zM24.135 16.275h-12.816l0.792 3.004h11.236l0.789-3.004z','M15.25 23.41c0 1.037-0.841 1.878-1.878 1.878s-1.878-0.841-1.878-1.878c0-1.037 0.841-1.878 1.878-1.878s1.878 0.841 1.878 1.878z','M24.262 23.41c0 1.037-0.841 1.878-1.878 1.878s-1.878-0.841-1.878-1.878c0-1.037 0.841-1.878 1.878-1.878s1.878 0.841 1.878 1.878z'],\n 'shortcuts': ['M4.775 9.8h3.755v3.755h-3.755v-3.755z','M9.427 9.8h3.755v3.755h-3.755v-3.755z','M14.127 9.8h3.755v3.755h-3.755v-3.755z','M18.8 9.8h3.755v3.755h-3.755v-3.755z','M23.472 9.8h3.755v3.755h-3.755v-3.755z','M7.112 14.472h3.755v3.755h-3.755v-3.755z','M11.763 14.472h3.755v3.755h-3.755v-3.755z','M16.464 14.472h3.755v3.755h-3.755v-3.755z','M21.136 14.472h3.755v3.755h-3.755v-3.755z','M7.58 19.144h16.821v3.755h-16.821v-3.755z'],\n 'signature': ['M27.198 9.794l-1.595 1.559-2.745-2.777 1.577-1.605 2.763 2.823z','M22.236 9.209l2.75 2.768-8.651 8.638-4.083 1.301 1.296-4.098 8.687-8.609z','M4.828 23.759h22.37v1.958h-22.37v-1.958z','M11.412 16.252l-0.944-0.944-2.36 2.36-2.36-2.36-0.944 0.944 2.36 2.36-2.36 2.36 0.944 0.944 2.36-2.36 2.36 2.36 0.944-0.944-2.36-2.36 2.36-2.36z'],\n 'smartcard-admin': ['M12.056 15.232c-0.107-0.229-0.17-0.498-0.17-0.781 0-1.037 0.841-1.878 1.878-1.878s1.878 0.841 1.878 1.878c0 0.17-0.023 0.335-0.065 0.491l0.003-0.013h1.906c0.019-0.142 0.030-0.307 0.030-0.474 0-2.073-1.68-3.753-3.753-3.753s-3.753 1.68-3.753 3.753c0 0.8 0.25 1.542 0.677 2.151l-0.008-0.012c0.302-0.595 0.778-1.066 1.359-1.354l0.018-0.008z','M10.362 19.237l-0.659-0.389c-0.136-0.082-0.301-0.131-0.477-0.131-0.087 0-0.171 0.012-0.251 0.034l0.007-0.002-1.136 0.306-0.975-1.705 0.862-0.842c0.175-0.171 0.283-0.408 0.283-0.671 0 0 0-0 0-0v0-2.698c0 0 0 0 0-0 0-0.262-0.107-0.499-0.281-0.669l-0-0-0.867-0.852 0.97-1.715 1.145 0.298c0.071 0.019 0.152 0.030 0.236 0.030 0.176 0 0.341-0.048 0.482-0.132l-0.004 0.002 2.337-1.378c0.211-0.126 0.366-0.327 0.43-0.566l0.002-0.007 0.311-1.199h1.968l0.309 1.197c0.064 0.243 0.216 0.443 0.42 0.567l0.004 0.002 2.334 1.408c0.138 0.085 0.305 0.135 0.484 0.135 0.087 0 0.171-0.012 0.251-0.034l-0.007 0.002 1.138-0.306 0.977 1.707-0.858 0.841c-0.174 0.17-0.281 0.408-0.281 0.67 0 0 0 0 0 0v0 1.79h1.877v-1.396l1.094-1.073c0.174-0.17 0.281-0.408 0.281-0.67 0-0.172-0.046-0.333-0.127-0.471l0.002 0.004-1.698-2.963c-0.164-0.284-0.467-0.472-0.813-0.472-0.087 0-0.171 0.012-0.251 0.034l0.007-0.002-1.45 0.39-1.663-1.003-0.395-1.53c-0.108-0.408-0.474-0.705-0.909-0.705h-3.421c-0.434 0-0.8 0.295-0.907 0.696l-0.002 0.007-0.396 1.526-1.667 0.983-1.466-0.381c-0.071-0.019-0.152-0.030-0.236-0.030-0.349 0-0.653 0.19-0.815 0.472l-0.002 0.005-1.679 2.97c-0.076 0.133-0.121 0.292-0.121 0.462 0 0.262 0.107 0.499 0.281 0.67l0 0 1.1 1.080v1.91l-1.098 1.073c-0.175 0.171-0.283 0.408-0.283 0.672 0 0.172 0.046 0.332 0.126 0.471l-0.002-0.005 1.695 2.963c0.165 0.284 0.468 0.473 0.815 0.473 0.087 0 0.171-0.012 0.251-0.034l-0.007 0.002 1.454-0.391 1.274 0.753v-2.181z','M25.199 15.867h-11.839c-1.137 0-2.059 0.922-2.059 2.059v0 7.615c0 1.137 0.922 2.059 2.059 2.059v0h11.839c0 0 0 0 0 0 1.137 0 2.059-0.922 2.059-2.059v0-7.615c0-1.137-0.922-2.059-2.059-2.059-0 0-0 0-0 0v0zM25.381 25.541c-0.015 0.094-0.088 0.167-0.181 0.182l-0.001 0h-11.839c-0.094-0.015-0.167-0.088-0.182-0.181l-0-0.001v-3.573h12.203v3.573zM25.381 19.153h-12.202v-1.226c0.015-0.094 0.088-0.167 0.181-0.182l0.001-0h11.839c0.094 0.015 0.167 0.088 0.182 0.181l0 0.001v1.226z'],\n 'smartcard-topup': ['M18.49 14.929l0.32-4.152v-0.072h-1.88l-0.325 4.224h1.885z','M25.199 15.867h-11.839c-1.137 0-2.059 0.922-2.059 2.059v0 4.042h-3.824l-0.866-11.264h-1.88l1.008 13.141h5.563v1.696c0 1.137 0.922 2.059 2.059 2.059h11.839c0 0 0 0 0 0 1.137 0 2.059-0.922 2.059-2.059v0-7.615c0-1.137-0.922-2.059-2.059-2.059-0 0-0 0-0 0v0zM25.381 25.541c-0.015 0.094-0.088 0.167-0.181 0.182l-0.001 0h-11.839c-0.094-0.015-0.167-0.088-0.182-0.181l-0-0.001v-3.573h12.203v3.573zM25.381 19.153h-12.202v-1.226c0.015-0.094 0.088-0.167 0.181-0.182l0.001-0h11.839c0.094 0.015 0.167 0.088 0.182 0.181l0 0.001v1.226z','M17.872 7.889v-2.816h-12.203v2.816h-0.939v1.877h14.078l0.002-1.877h-0.938zM7.546 7.889v-0.939h8.448v0.939h-8.448z'],\n 'solution-centre': ['M27.192 24.436l-1.81-4.526v-11.083c-0.001-1.036-0.841-1.876-1.877-1.877h-15.019c-1.036 0.001-1.876 0.841-1.877 1.877v11.084l-1.81 4.526c-0.043 0.103-0.067 0.223-0.067 0.349 0 0.518 0.42 0.939 0.939 0.939 0 0 0 0 0 0h20.651c0.518-0 0.938-0.42 0.938-0.939 0-0.126-0.025-0.245-0.069-0.355l0.002 0.006zM23.504 8.827v10.795h-15.019v-10.795zM7.056 23.846l1.314-3.285h15.25l1.314 3.285h-17.878z','M17.403 21.969h-2.816c-0.259 0-0.469 0.21-0.469 0.469s0.21 0.469 0.469 0.469h2.816c0.259-0 0.469-0.21 0.469-0.469s-0.21-0.469-0.469-0.469c-0 0-0 0-0 0v0z'],\n 'sound': 'M14.458 12.589h-4.678v8.448h4.678l7.487 6.571v-22.528z',\n 'stock-down': 'M27.264 10.987h-22.528l11.263 11.264z',\n 'stock-up': 'M4.737 21.701h22.528l-11.263-11.264z',\n 'survey': 'M23.51 9.773v17.835h-15.019v-17.835h2.816v2.816h9.387l0.018-2.805 2.798-0.011zM12.246 11.651v-1.31c0-0.324 0.019-1.506 1.276-1.506 1.238 0 0.788-1.182 0.788-2.078 0-0.915 0.724-1.677 1.715-1.677 0.972 0 1.676 0.762 1.676 1.677 0 0.896-0.48 2.078 0.758 2.078 1.257 0 1.295 1.182 1.295 1.506v1.31h-7.509zM16.78 6.8c0-0.439-0.343-0.781-0.781-0.781s-0.819 0.343-0.819 0.781 0.381 0.8 0.819 0.8c0.438 0 0.781-0.362 0.781-0.8z',\n 'switch': ['M28.203 11.651l-6.604-6.571-6.538 6.571h4.693l0 15.019h3.755v-15.019z','M3.797 21.037l6.604 6.571 6.538-6.571h-4.693l-0-15.019h-3.755v15.019z'],\n 'tablet': 'M25.454 7.896h-18.909c-0.999 0-1.809 0.81-1.809 1.807v13.281c0 0.999 0.81 1.808 1.809 1.808h18.909c1 0 1.81-0.809 1.81-1.808v-13.281c0-0.997-0.81-1.807-1.81-1.807zM25.122 22.877h-18.248v-13.066h18.248v13.066zM26.136 16.797c-0.249 0-0.451-0.202-0.451-0.451s0.202-0.451 0.451-0.451c0.249 0 0.451 0.202 0.451 0.451s-0.202 0.451-0.451 0.451z',\n 'tasks': ['M4.736 21.037v4.693h22.528v-4.693h-22.528zM26.325 24.792h-14.080v-2.816h14.080v2.816z','M4.736 13.997v4.693h22.528v-4.693h-22.528zM26.325 17.752h-4.693v-2.816h4.693v2.816z','M4.736 6.957v4.693h22.528v-4.693h-22.528zM26.325 10.712h-8.448v-2.816h8.448v2.816z'],\n 'templates': ['M18.81 5.073h-11.264v9.856h1.877v-7.979h8.448v4.693h4.693v14.080h-9.387v1.877h11.264v-16.896l-5.632-5.632z','M11.106 22.244l-1.683 1.683v-8.059h-1.877v8.059l-1.683-1.683-1.328 1.328 3.949 3.949 3.949-3.949-1.328-1.328z'],\n 'thumbsup': ['M5.416 24.079h4.005v-7.522h-4.005c-0.33 0-0.592 0.268-0.592 0.592v6.338c-0.007 0.33 0.261 0.592 0.592 0.592z','M23.604 22.875h-2.381c-0.007 0-0.007-0.007-0.014-0.007h-0.028l0.007-0.007c-0.076-0.014-0.131-0.076-0.138-0.151v-0.145c0-0.089 0.076-0.165 0.165-0.165h3.331c0.544-0.041 0.963-0.489 0.963-1.032v-0.034c0-0.502-0.365-0.936-0.86-1.018h-2.711c-0.089 0-0.165-0.076-0.165-0.165v-0.145c0-0.089 0.076-0.165 0.165-0.165h3.386c0.661-0.062 1.163-0.612 1.163-1.28v-0.048c0-0.709-0.578-1.287-1.294-1.294l-2.443-0.007c-0.096-0.007-0.165-0.083-0.165-0.172l0.007-0.165c0-0.089 0.076-0.165 0.165-0.165h3.276c0.716-0.021 1.273-0.612 1.252-1.328 0 0 0-0.007 0-0.007-0.028-0.702-0.612-1.246-1.314-1.246h-0.021l0.014-0.014c0 0-5.946 0.007-6.317 0.007s-0.434-0.337-0.502-0.606c0.736-3.014 0.028-4.879-1.039-5.822-0.86-0.764-2.071 0.014-2.071 0.014s0.103 1.645 0 2.952c-0.2 2.526-5.56 5.808-5.643 5.856l0.021 7.556c0 0 1.074 0.034 1.514 0.034 2.98 0.908 6.462 0.922 6.531 0.922h4.315c0.592 0 1.865-0.489 1.865-1.080v0c-0.007-0.578-0.454-1.046-1.032-1.074z'],\n 'timesheet': ['M14.586 21.969h-7.979v-9.387h18.773v2.347h1.878v-7.979h-3.755v-1.877h-4.693v1.877h-5.632v-1.877h-4.693v1.877h-3.755v16.896h9.856v-1.877zM20.688 6.95h0.939v1.877h-0.939v-1.877zM10.362 6.95h0.939v1.877h-0.939v-1.877zM6.608 8.827h1.878v1.877h4.693v-1.877h5.632v1.877h4.693v-1.877h1.877v2.816h-18.774v-2.816z','M21.392 27.601c-3.24 0-5.867-2.627-5.867-5.867s2.627-5.867 5.867-5.867c3.24 0 5.867 2.627 5.867 5.867v0c-0.004 3.239-2.628 5.863-5.866 5.867h-0zM21.392 17.745c-2.203 0-3.989 1.786-3.989 3.989s1.786 3.989 3.989 3.989c2.203 0 3.989-1.786 3.989-3.989v0c-0.003-2.202-1.787-3.987-3.989-3.989h-0z','M21.94 23.402l-1.018-1.526v-2.958h0.939v2.674l0.86 1.29-0.781 0.521z'],\n 'tools': 'M26.958 24.819c0.408 0.404 0.408 1.049 0 1.453l-1.060 1.049c-0.387 0.384-1.060 0.384-1.447 0l-7.521-7.504c-0.347-0.343-0.367-0.827-0.102-1.231l-0.51-0.484-7.42 8.776c-1.427 1.251-2.629 0.383-2.629 0.383-0.285-0.201-0.469-0.282-0.612-0.444-0.224-0.161-0.367-0.403-0.55-0.625 0 0-0.958-1.069 0.204-2.603l8.357-8.11-4.872-4.822-1.406-0.787-1.569-2.32 1.182-1.17 2.344 1.553 0.795 1.332 4.954 4.882 0.143-0.161 2.425-2.441c-0.142-0.101-0.448-1.553-0.448-1.553-0.428-1.453 0.754-3.288 2.303-4.236 1.549-0.928 3.893-0.666 4.077-0.545 0 0 0.224 0.121 0.061 0.383l-2.976 2.905-0.061 0.666 0.855 0.706 0.836 0.726 0.611-0.061 2.691-3.107c0.265-0.161 0.407 0 0.407 0 0.143 0.182 0.571 2.522-0.265 4.116-0.856 1.594-2.568 2.865-4.056 2.562 0 0-1.508-0.202-1.61-0.343l-2.424 2.764-0.122 0.121 0.632 0.545c0.367-0.202 1.244 0.121 1.244 0.121l7.541 7.505z',\n 'transfers': ['M11.308 4.141l-6.571 6.604 6.571 6.538v-4.693l15.019-0v-3.755h-15.019z','M20.694 28.547l6.571-6.604-6.571-6.538v4.693h-15.019v3.755h15.019z'],\n 'travel': 'M18.198 17.153c-2.683 2.539-3.95 3.664-5.814 5.422-0.121 0.114-0.182 0.279-0.164 0.444l0.406 3.652c0.018 0.165-0.042 0.329-0.163 0.444l-0.374 0.351c-0.258 0.242-0.676 0.167-0.834-0.149l-1.992-3.982c-0.051-0.102-0.134-0.184-0.235-0.236l-4-2.009c-0.317-0.16-0.39-0.581-0.144-0.837l0.343-0.357c0.113-0.118 0.274-0.177 0.437-0.16l3.66 0.387c0.164 0.017 0.328-0.044 0.441-0.165 1.76-1.864 2.885-3.131 5.444-5.813 0.146-0.153 0.063-0.407-0.146-0.443l-8.743-1.507c-0.426-0.073-0.588-0.599-0.278-0.899l1.231-1.192c0.093-0.090 0.216-0.143 0.346-0.148l11.876-0.491c0.136-0.006 0.266-0.065 0.361-0.164 1.483-1.547 2.096-2.221 2.459-2.585 0.111-0.111 0.221-0.199 0.354-0.287 1.083-0.884 2.63-1.26 3.581-1.326 0.464-0.044 0.796-0.022 0.906 0.088s0.132 0.442 0.088 0.906c-0.066 0.972-0.442 2.497-1.305 3.58-0.111 0.133-0.199 0.243-0.309 0.354-0.364 0.364-1.038 0.976-2.586 2.458-0.099 0.095-0.158 0.226-0.164 0.362l-0.47 11.87c-0.005 0.131-0.059 0.255-0.15 0.348l-1.213 1.239c-0.301 0.308-0.824 0.145-0.897-0.279l-1.509-8.729c-0.035-0.207-0.289-0.291-0.442-0.146z',\n 'triangle-error': 'M27.011 23.845l-9.283-16.702c-0.007-0.021-0.021-0.041-0.028-0.062-0.303-0.633-0.95-1.067-1.693-1.067-0.729 0-1.356 0.413-1.672 1.018l-9.352 16.812c-0.158 0.275-0.248 0.599-0.248 0.936 0 1.039 0.84 1.879 1.879 1.879h18.773c1.039 0 1.879-0.84 1.879-1.879-0.007-0.337-0.096-0.661-0.255-0.936zM17.163 23.886c0 0.172-0.083 0.255-0.248 0.255h-1.872c-0.145 0-0.213-0.083-0.213-0.255v-1.672c0-0.172 0.076-0.255 0.213-0.255h1.872c0.165 0 0.248 0.083 0.248 0.255v1.672zM17.301 15.374l-0.633 5.443c0 0.138-0.083 0.206-0.248 0.206h-0.846c-0.165 0-0.248-0.069-0.248-0.206l-0.633-5.443v-3.475c0-0.172 0.069-0.261 0.213-0.261h2.175c0.145 0 0.213 0.089 0.213 0.261v3.475z',\n 'twitter': 'M24.273 12.102c0.027 0.188 0.027 0.377 0.027 0.538 0 5.625-4.279 12.139-12.139 12.139-2.395 0-4.656-0.7-6.54-1.938 0.323 0.054 0.673 0.081 1.023 0.081 2.019 0 3.849-0.673 5.303-1.831-1.884-0.053-3.446-1.265-3.984-2.96 0.242 0.080 0.538 0.080 0.807 0.080 0.377 0 0.754-0.054 1.103-0.161-1.938-0.377-3.418-2.126-3.418-4.172 0-0.027 0-0.054 0-0.081 0.565 0.323 1.238 0.539 1.938 0.539-1.131-0.754-1.911-2.073-1.911-3.553 0-0.78 0.215-1.507 0.592-2.153 2.099 2.611 5.249 4.334 8.801 4.494-0.081-0.323-0.108-0.646-0.108-0.969 0-2.369 1.911-4.252 4.253-4.252 1.238 0 2.341 0.538 3.122 1.346 0.969-0.215 1.884-0.538 2.718-1.049-0.323 0.996-0.996 1.857-1.884 2.369 0.862-0.108 1.696-0.323 2.449-0.673-0.592 0.834-1.319 1.561-2.154 2.207z',\n 'twitter-solid': 'M4.736 5.080v22.528h22.528v-22.528h-22.528zM22.824 12.886c0.023 0.154 0.023 0.308 0.023 0.44 0 4.606-3.504 9.939-9.939 9.939-1.961 0-3.813-0.573-5.355-1.587 0.264 0.044 0.551 0.066 0.837 0.066 1.653 0 3.152-0.551 4.342-1.499-1.543-0.044-2.821-1.036-3.262-2.424 0.199 0.066 0.441 0.066 0.661 0.066 0.309 0 0.617-0.044 0.903-0.132-1.587-0.309-2.799-1.741-2.799-3.416 0-0.022 0-0.044 0-0.066 0.463 0.264 1.014 0.441 1.587 0.441-0.926-0.617-1.565-1.697-1.565-2.909 0-0.639 0.176-1.234 0.485-1.763 1.719 2.138 4.297 3.548 7.207 3.681-0.066-0.265-0.088-0.529-0.088-0.793 0-1.94 1.564-3.482 3.482-3.482 1.014 0 1.917 0.441 2.557 1.102 0.793-0.176 1.543-0.441 2.226-0.859-0.264 0.815-0.815 1.52-1.543 1.94 0.705-0.088 1.388-0.264 2.005-0.551-0.484 0.683-1.080 1.278-1.763 1.807z',\n 'unusual-activity-report': ['M27.259 25.61l-5.587-5.587c1.144-1.532 1.832-3.463 1.832-5.555 0-0.003 0-0.006 0-0.009v0c0-5.176-4.211-9.387-9.387-9.387s-9.387 4.211-9.387 9.387 4.211 9.387 9.387 9.387c0.003 0 0.006 0 0.009 0 2.092 0 4.023-0.688 5.579-1.85l-0.025 0.018 5.587 5.587zM6.608 14.459c0-4.147 3.362-7.509 7.509-7.509s7.509 3.362 7.509 7.509c0 4.147-3.362 7.509-7.509 7.509v0c-4.145-0.005-7.504-3.364-7.509-7.509v-0z','M15.994 11.174c0 1.037-0.841 1.877-1.877 1.877s-1.877-0.841-1.877-1.877c0-1.037 0.841-1.877 1.877-1.877s1.877 0.841 1.877 1.877z','M17.872 17.745c0-2.074-1.681-3.755-3.755-3.755s-3.755 1.681-3.755 3.755v0 0.939h7.509v-0.939z'],\n 'upload': ['M23.513 23.853v-6.585h3.751v10.339h-22.528v-10.325h3.758v6.571z','M22.105 11.181l-6.103-6.101-6.099 6.101h4.224v9.217h3.755v-9.217z'],\n 'user-personal': ['M13.428 16.849h5.144c0.916 0 1.832 0.259 2.702 0.799s1.597 1.221 2.232 2.044c0.587 0.822 1.104 1.785 1.48 2.796s0.563 2.020 0.563 2.959v2.162h-19.098v-2.162c0-1.268 0.305-2.607 0.916-3.923 0.634-1.339 1.48-2.443 2.56-3.359 1.104-0.869 2.255-1.316 3.5-1.316z','M15.777 15.534c1.457 0 2.678-0.493 3.711-1.55 1.010-1.010 1.55-2.255 1.55-3.688 0-1.457-0.493-2.702-1.55-3.711-1.010-1.010-2.255-1.504-3.711-1.504s-2.678 0.494-3.688 1.503c-1.010 1.010-1.504 2.255-1.504 3.712 0 1.433 0.493 2.678 1.55 3.688 0.963 1.034 2.208 1.551 3.641 1.551z'],\n 'video': ['M19.931 9.781v13.122c0 0-0.201 0-0.45 0h-14.718c0 0-0.027-0.338-0.027-0.587v-11.98c0-0.248 0-0.555 0-0.555h14.745c0.249 0 0.45 0 0.45 0z','M20.702 18.18v-3.707l6.562-6.562v16.867z'],\n 'view': 'M27.065 15.987c-0.143-0.296-3.595-7.261-11.064-7.269h-0.012c-7.477 0-10.912 6.974-11.054 7.271l-0.171 0.357 0.172 0.356c0.143 0.296 3.595 7.261 11.064 7.269h0.013c7.477 0 10.912-6.974 11.054-7.271l0.171-0.357-0.172-0.356zM12.809 14.754c0.023 0.305-0.235 0.587-0.54 0.634-0.305 0.023-0.587-0.188-0.61-0.516-0.023-0.352-0.047-1.197 0.516-2.089s1.314-1.267 1.643-1.385c0.282-0.117 0.634 0.023 0.727 0.305 0.117 0.305-0.023 0.634-0.329 0.751-0.117 0.047-0.704 0.282-1.079 0.915-0.399 0.681-0.352 1.267-0.329 1.385zM16.011 22.328h-0.010c-5.526-0.006-8.615-4.646-9.391-5.985 0.553-0.96 2.289-3.613 5.261-5.042-0.988 1.029-1.596 2.425-1.596 3.964 0 3.162 2.564 5.726 5.726 5.726s5.726-2.564 5.726-5.726c0-1.53-0.601-2.919-1.579-3.946 2.957 1.434 4.691 4.072 5.244 5.027-0.773 1.34-3.849 5.983-9.38 5.983z',\n 'view-all': ['M4.736 18.221h7.509v7.509h-7.509v-7.509z','M4.736 6.957h7.509v7.509h-7.509v-7.509z','M16 6.957h11.264v3.755h-11.264v-3.755z','M16 21.976h11.264v3.755h-11.264v-3.755z','M16 14.467h11.264v3.755h-11.264v-3.755z'],\n 'vimeo': 'M25.602 11.836c-0.086 1.893-1.406 4.485-3.958 7.774-2.639 3.437-4.871 5.155-6.698 5.155-1.13 0-2.089-1.046-2.87-3.139-0.522-1.919-1.044-3.837-1.567-5.755-0.581-2.092-1.203-3.139-1.869-3.139-0.145 0-0.653 0.306-1.523 0.916l-0.913-1.178c0.958-0.844 1.902-1.687 2.832-2.53 1.278-1.106 2.236-1.688 2.876-1.746 1.51-0.146 2.44 0.889 2.789 3.103 0.377 2.389 0.638 3.876 0.784 4.456 0.435 1.982 0.914 2.972 1.438 2.972 0.406 0 1.016-0.642 1.83-1.928s1.248-2.264 1.307-2.936c0.116-1.11-0.32-1.666-1.307-1.666-0.464 0-0.944 0.107-1.436 0.319 0.954-3.13 2.776-4.651 5.466-4.564 1.994 0.059 2.934 1.354 2.82 3.888z',\n 'vimeo-solid': 'M4.736 5.080v22.528h22.528v-22.528h-22.528zM23.502 13.522c-0.069 1.513-1.124 3.584-3.163 6.212-2.108 2.746-3.893 4.119-5.352 4.119-0.904 0-1.669-0.836-2.294-2.508-0.417-1.533-0.834-3.066-1.252-4.599-0.464-1.672-0.962-2.508-1.494-2.508-0.116 0-0.522 0.245-1.217 0.732l-0.73-0.942c0.765-0.674 1.52-1.348 2.263-2.022 1.021-0.884 1.787-1.349 2.298-1.396 1.207-0.116 1.95 0.71 2.228 2.479 0.301 1.909 0.51 3.097 0.627 3.561 0.348 1.584 0.731 2.375 1.149 2.375 0.325 0 0.812-0.513 1.462-1.541s0.997-1.809 1.044-2.346c0.093-0.887-0.256-1.331-1.044-1.331-0.371 0-0.754 0.085-1.148 0.255 0.762-2.502 2.219-3.716 4.368-3.647 1.594 0.047 2.345 1.082 2.253 3.107z',\n 'visitors-alt': ['M16.933 21.030h6.571v0.939h-6.571v-0.939z','M16.933 22.907h5.632v0.939h-5.632v-0.939z','M18.81 9.766v-3.755h-5.632v3.755h-8.448v17.835h22.528v-17.835h-8.448zM15.056 7.889h1.877v4.693h-1.877v-4.693zM25.381 25.723h-18.773v-14.080h6.571v2.816h5.632v-2.816h6.571v14.080z','M13.366 17.463c0 0.881-0.714 1.596-1.596 1.596s-1.596-0.714-1.596-1.596c0-0.881 0.714-1.596 1.596-1.596s1.596 0.714 1.596 1.596z','M15.056 23.048c0-1.763-1.523-3.191-3.285-3.191s-3.285 1.429-3.285 3.191v0.798h6.571v-0.798z'],\n 'volunteering': ['M23.504 14.335l-3.131-2.915c-0.384-0.371-0.623-0.891-0.623-1.467 0-0.068 0.003-0.135 0.010-0.201l-0.001 0.008c0.067-0.643 0.419-1.193 0.926-1.526l0.008-0.005c0.83-0.55 1.972-0.423 2.715 0.302l0.121 0.118 0.159-0.155c0.387-0.372 0.913-0.601 1.493-0.601 0.018 0 0.037 0 0.055 0.001l-0.003-0c0.598 0.013 1.133 0.272 1.509 0.68l0.001 0.001c0.739 0.802 0.677 2.101-0.139 2.896z','M26.173 18.788c-0.859-0.468-1.864-0.317-2.734-0.107-1.021 0.247-2.026 0.479-3.032 0.627 0.171-0.771-0.034-1.316-0.249-1.642-0.629-0.951-1.946-1.125-2.907-1.253l-0.207-0.028c-1.743-0.241-3.581-0.552-5.619-0.951l-0.029-0.005c-0.93-0.153-2.133 0.124-2.91 0.355v-1.325h-3.755v10.325h3.755v-0.634c0.649 0.24 1.346 0.467 2.107 0.687 2.055 0.594 3.881 0.886 5.551 0.886q0.475 0 0.934-0.032c2.237-0.153 4.397-0.892 6.398-1.667 0.1-0.039 0.204-0.078 0.312-0.119 1.131-0.427 2.68-1.011 3.28-2.334 0.461-1.016 0.059-2.264-0.895-2.784zM25.358 20.797c-0.28 0.616-1.409 1.042-2.233 1.353-0.113 0.043-0.222 0.084-0.327 0.125-1.863 0.722-3.861 1.408-5.849 1.545-1.697 0.115-3.606-0.141-5.836-0.785-1.080-0.307-1.953-0.612-2.804-0.961l0.177 0.064v-4.38c0.698-0.253 1.932-0.578 2.595-0.477 2.066 0.404 3.932 0.72 5.706 0.965l0.217 0.029c0.428 0.057 1.431 0.19 1.588 0.428 0.005 0.008 0.021 0.082-0.027 0.252-0.059 0.187-0.14 0.349-0.241 0.496l0.004-0.006c-1.886 0.022-3.793-0.013-4.181-0.12l-0.535 1.799c0.92 0.273 4.713 0.206 5.854 0.179l0.052-0.003c1.491-0.119 2.914-0.443 4.362-0.792 0.289-0.070 1.056-0.255 1.396-0.069 0.092 0.050 0.136 0.241 0.082 0.36z'],\n 'weather': 'M17.638 14.837c1.321 0 2.491 0.86 2.897 2.12l0.537 1.659 1.693-0.413c0.165-0.028 0.337-0.041 0.502-0.034 1.142 0 2.113 0.991 2.113 2.168s-0.984 2.23-2.113 2.23h-9.621c-0.75 0-1.411-0.709-1.411-1.521 0-0.654 0.44-1.294 1.005-1.466l1.314-0.392 0.028-1.376c0.021-1.665 1.383-2.994 3.049-2.98l0.007 0.007zM17.631 12.951c-2.677 0-4.865 2.147-4.92 4.824-1.363 0.399-2.354 1.775-2.354 3.262 0 1.817 1.473 3.4 3.283 3.4h9.628c2.202 0 3.991-1.906 3.991-4.108s-1.789-4.046-3.991-4.046c-0.317-0.007-0.64 0.021-0.95 0.089-0.661-2.037-2.546-3.413-4.686-3.42v0zM13.172 7.542h-1.872v2.815h1.879l-0.007-2.815zM7.584 9.077l-1.314 1.328 1.989 1.996 1.328-1.328-2.003-1.996zM4.728 14.114v1.879h2.815v-1.879h-2.815zM6.262 19.702l1.328 1.328 1.989-1.989-1.321-1.335-1.996 1.996zM14.892 11.073l1.328 1.328 1.989-1.989-1.328-1.328-1.989 1.989zM10.378 18.312c0.385-0.502 0.881-0.908 1.445-1.191 0.261-1.954 1.486-3.647 3.262-4.514-0.977-1.129-2.526-1.569-3.95-1.129s-2.45 1.686-2.615 3.166c-0.165 1.486 0.564 2.925 1.858 3.668v0z',\n 'weibo': ['M21.184 15.636c0-0.382 0.352-0.765 0.352-1.557s-0.499-1.705-2.145-1.705c-1.616 0-3.144 0.852-3.439 0.852-0.088 0-0.235 0-0.235-0.176 0-0.147 0.235-0.5 0.235-1.557 0-1.117-0.764-1.646-1.793-1.646-3.644 0-9.286 5.878-9.286 9.522 0 3.879 4.996 5.966 9.228 5.966 5.671 0 10.197-3.203 10.197-6.406 0-2.616-3.114-2.939-3.114-3.291zM13.25 24.070c-3.615 0-6.142-1.94-6.142-4.085s2.822-4.791 7.258-4.791c3.027 0 6.143 1.47 6.143 4.085 0 2.645-3.645 4.79-7.259 4.79z','M23.3 14.549c0.294 0 0.823-0.089 0.823-1.352 0-2.146-1.822-2.909-2.909-2.909-0.793 0-1.146 0.353-1.146 0.793s0.294 0.735 0.646 0.735c0.147 0 0.352-0.059 0.5-0.059 1 0 1.44 0.852 1.469 1.381 0 0.353-0.088 0.529-0.088 0.706-0 0.469 0.412 0.705 0.705 0.705z','M21.243 7.319c-1.499 0-1.91 0.411-1.91 0.97 0 0.382 0.264 0.852 0.853 0.852 0.323 0 0.382-0.147 1.058-0.147 2.086 0 4.202 1.646 4.202 4.173 0 1.088-0.265 1.264-0.265 1.617 0 0.323 0.294 0.823 0.853 0.823 0.646 0 1.117-0.558 1.087-2.41 0-3.967-3.438-5.878-5.877-5.878z','M13.631 17.017c-2.057 0-3.82 1.587-3.82 3.291 0 1.058 0.853 2.851 3.233 2.851s3.82-1.852 3.82-3.321-1.175-2.821-3.232-2.821zM12.133 21.837c-0.676 0-1.117-0.411-1.117-1.029 0-0.646 0.617-1.205 1.352-1.205s1.058 0.47 1.087 0.999c0 0.677-0.735 1.235-1.322 1.235zM13.984 19.926c-0.265 0-0.411-0.235-0.411-0.411s0.146-0.471 0.529-0.471c0.353 0 0.411 0.206 0.411 0.382s-0.176 0.5-0.529 0.5z'],\n 'weibo-solid': ['M13.115 18.877c-0.582 0-1.071 0.442-1.071 0.954 0 0.488 0.349 0.814 0.884 0.814 0.465 0 1.047-0.442 1.047-0.977-0.024-0.418-0.279-0.791-0.861-0.791z','M14.488 18.435c-0.303 0-0.419 0.233-0.419 0.372s0.116 0.326 0.326 0.326c0.279 0 0.419-0.256 0.419-0.396s-0.046-0.302-0.325-0.302z','M14.696 15.387c-3.512 0-5.746 2.094-5.746 3.792s2.001 3.233 4.862 3.233c2.861 0 5.746-1.698 5.746-3.792 0-2.070-2.466-3.234-4.862-3.234zM13.65 21.691c-1.884 0-2.559-1.419-2.559-2.257 0-1.349 1.396-2.605 3.024-2.605s2.559 1.070 2.559 2.233c0 1.163-1.14 2.629-3.024 2.629z','M4.736 5.080v22.528h22.528v-22.528h-22.528zM14.488 23.413c-3.35 0-7.304-1.652-7.304-4.722 0-2.885 4.467-7.537 7.351-7.537 0.814 0 1.419 0.419 1.419 1.303 0 0.837-0.186 1.117-0.186 1.233 0 0.14 0.116 0.14 0.186 0.14 0.233 0 1.442-0.675 2.722-0.675 1.303 0 1.698 0.721 1.698 1.349s-0.279 0.93-0.279 1.233c0 0.279 2.466 0.535 2.466 2.606-0 2.535-3.583 5.071-8.072 5.071zM20.117 12.665c-0.116 0-0.279 0.046-0.396 0.046-0.279 0-0.512-0.233-0.512-0.582s0.279-0.628 0.907-0.628c0.861 0 2.303 0.605 2.303 2.303 0 1-0.418 1.070-0.651 1.070s-0.558-0.186-0.558-0.558c0-0.14 0.070-0.279 0.070-0.559-0.023-0.418-0.372-1.093-1.163-1.093zM23.932 15.713c-0.442 0-0.675-0.396-0.675-0.651 0-0.279 0.21-0.419 0.21-1.28 0-2-1.675-3.303-3.327-3.303-0.535 0-0.581 0.116-0.837 0.116-0.465 0-0.675-0.372-0.675-0.675 0-0.442 0.326-0.768 1.512-0.768 1.931 0 4.652 1.512 4.652 4.652 0.023 1.466-0.349 1.907-0.861 1.907z'],\n 'world-time': ['M15.994 16.337c-2.981 0-5.397-2.416-5.397-5.397s2.416-5.397 5.397-5.397c2.981 0 5.397 2.416 5.397 5.397v0c-0.003 2.979-2.418 5.394-5.397 5.397h-0zM15.994 7.419c-1.944 0-3.52 1.576-3.52 3.52s1.576 3.52 3.52 3.52c1.944 0 3.52-1.576 3.52-3.52v0c-0.002-1.943-1.577-3.518-3.52-3.52h-0z','M16.543 12.608l-1.018-1.526v-2.958h0.939v2.674l0.86 1.29-0.781 0.521z','M10.128 27.131c-2.981 0-5.397-2.416-5.397-5.397s2.416-5.397 5.397-5.397c2.981 0 5.397 2.416 5.397 5.397v0c-0.003 2.979-2.418 5.394-5.397 5.397h-0zM10.128 18.214c-1.944 0-3.52 1.576-3.52 3.52s1.576 3.52 3.52 3.52c1.944 0 3.52-1.576 3.52-3.52v0c-0.002-1.943-1.577-3.518-3.52-3.52h-0z','M10.597 22.203h-2.112v-0.939h1.173v-2.347h0.939v3.285z','M21.861 27.131c-2.981 0-5.397-2.416-5.397-5.397s2.416-5.397 5.397-5.397c2.981 0 5.397 2.416 5.397 5.397v0c-0.003 2.979-2.418 5.394-5.397 5.397h-0zM21.861 18.214c-1.944 0-3.52 1.576-3.52 3.52s1.576 3.52 3.52 3.52c1.944 0 3.52-1.576 3.52-3.52v0c-0.002-1.943-1.577-3.518-3.52-3.52h-0z','M21.313 23.872l-0.781-0.521 0.86-1.29v-2.674h0.939v2.958l-1.018 1.526z'],\n 'youtube': 'M26.153 12.197c0 0-0.203-1.429-0.825-2.059-0.789-0.826-1.673-0.831-2.078-0.879-2.903-0.21-7.258-0.21-7.258-0.21h-0.009c0 0-4.354 0-7.258 0.21-0.405 0.048-1.29 0.052-2.078 0.879-0.622 0.63-0.825 2.059-0.825 2.059s-0.207 1.679-0.207 3.357v1.574c0 1.679 0.207 3.358 0.207 3.358s0.203 1.43 0.825 2.059c0.789 0.826 1.826 0.8 2.288 0.887 1.659 0.159 7.053 0.208 7.053 0.208s4.359-0.007 7.262-0.217c0.405-0.048 1.29-0.052 2.078-0.878 0.622-0.629 0.825-2.059 0.825-2.059s0.207-1.678 0.207-3.358v-1.574c0-1.679-0.207-3.357-0.207-3.357zM13.846 19.035l-0.001-5.829 5.605 2.924-5.605 2.904z',\n 'youtube-solid': ['M4.736 5.080v22.528h22.528v-22.528h-22.528zM24.347 17.212c0 0.786-0.073 1.855-0.155 2.455-0.083 0.605-0.325 1.425-0.858 1.874-0.379 0.32-0.777 0.462-1.435 0.528-0.752 0.076-3.815 0.191-5.92 0.191-1.399 0-5.63-0.083-6.402-0.27-0.695-0.17-1.155-0.439-1.459-1-0.329-0.608-0.389-1.066-0.442-1.594s-0.126-1.277-0.126-2.116c0-0.518-0.003-1.165-0.003-1.799s0.083-2.099 0.188-2.62c0.106-0.521 0.203-1.010 0.581-1.478 0.36-0.445 0.902-0.673 1.442-0.756 0.647-0.099 4.396-0.198 6.23-0.198 1.868 0 5.263 0.076 6.135 0.205 0.851 0.125 1.181 0.446 1.34 0.617 0.307 0.33 0.587 0.861 0.713 1.689 0.147 0.968 0.172 1.914 0.172 2.521s0 0.964 0 1.749z','M14.305 18.702l4.543-2.353-4.543-2.37z'],\n}\n\n*/\n","export { default as FontIcon } from './FontIcon';\nexport { default as ImgIcon } from './ImgIcon';\nexport { default as SvgIcon } from './SvgIcon';","const ECM_SUMMARY_DEMAND_TABS = 'e-s-d-t';\nexport const ecmSummaryDemandTabs = {\n BY_INVESTOR_TYPE: 'bit',\n BY_COUNTRY: 'bc',\n BY_DAY: 'bd',\n};\n\nconst ALL_TRANCHES_SUB_TABS = 'a-t-s-t';\nexport const allTranchesOrderSummarySubTabs = {\n VIEW_CHART : 'vc',\n VIEW_TABLE : 'vt'\n}\nconst ALL_TRANCHES_BOOK_EVOLUTION_SUB_TABS = 'a-t-b-e-s-t';\nexport const allTranchesBookEvolutionSubTabs = {\n VIEW_CHART : 'vbc',\n VIEW_TABLE : 'vbt'\n}\n\nconst ALL_TRANCHES_AMENDED_SUMMARY_SUB_TABS = 'a=t-a-s-s-t';\nexport const allTranchesAmendedSummarySubTabs = {\n VIEW_CHART: 'vc',\n VIEW_TABLE: 'vt'\n}\n\nconst DCM_SUMMARY_DEMAND_TABS = 'd-s-d-t';\nexport const dcmSummaryDemandTabs = {\n BY_REGION: 'br',\n BY_INVESTOR_TYPE: 'bit',\n BY_COUNTRY: 'bc',\n};\n\nconst TOP_TEN_ORDERS_TABS = 't-t-o-t';\nexport const topTenOrdersTabs = {\n TOP_TEN_ORDERS: 'tto',\n MOST_RECENT_TOP_TEN: 'mrtt',\n};\n\nconst INVESTOR_FEEDBACK_CHART_TABS = 'i-f-c-t';\nexport const investorFeedbackChartTabs = {\n THEME_DISTRIBUTION: 'td',\n SENTIMENT: 's',\n PRICE_DEMAND: 'pd',\n};\n\n\nconst ROADSHOW_CONTACT_TABS = 'r-c-t';\nexport const roadshowContactTabs = {\n ALL_CONTACTS: 'ac',\n COORDINATORS: 'c',\n ONLINE: 'o' \n};\n\n//\n// All Ids of tab containers\n//\nexport const tabIds = { \n // orders\n ECM_SUMMARY_DEMAND_TABS,\n DCM_SUMMARY_DEMAND_TABS,\n TOP_TEN_ORDERS_TABS,\n ALL_TRANCHES_SUB_TABS,\n ALL_TRANCHES_BOOK_EVOLUTION_SUB_TABS,\n ALL_TRANCHES_AMENDED_SUMMARY_SUB_TABS,\n // investor feedback\n INVESTOR_FEEDBACK_CHART_TABS,\n // roadshow\n ROADSHOW_CONTACT_TABS,\n};\n","//\n// Roadshow\n//\nexport const ROADSHOW_MULTITEAM_MODAL_ID = 'r-m-m-1';\nexport const ROADSHOW_COMBINED_CONTACTS_MODAL_ID_1 = 'r-c-m-5';\nexport const ROADSHOW_COMBINED_CONTACTS_MODAL_ID_2 = 'r-c-m-6';\nexport const ROADSHOW_COMBINED_CONTACTS_MODAL_ID_3 = 'r-c-m-7';\n//\n// Investor Feedback\n//\nexport const INVESTOR_FEEDBACK_DETAIL_MODAL_ID = feedbackId => `if-d-m-1--${feedbackId}`;\nexport const INVESTOR_FFEDBACK_SORT_MODAL_ID = 'if-s-m-2';\n\n//\n// Language\n//\nexport const MULTILANGUAGE_PICKER_MODAL_ID = 'm-p-m-1';\n\n//\n// General\n//\nexport const DEAL_SWITCHER_MODAL_ID = 'd-s-m-1';\nexport const CONTINUE_SESSION_MODAL_ID = 'c-s-m-2';\nexport const TERMS_AND_CONDITIONS_MODAL_ID = 't-a-c-m-2';\nexport const LOG_ON_SCREEN_MODAL_ID = 'l-o-s-m-1'\n\n//\n// SiteText\n//\nexport const TERMS_MODAL_ID = 'terms-m-1';\nexport const EULA_MODAL_ID = 'eula-m-1';\nexport const PRIVACY_MODAL_ID = 'privacy-m-1';\nexport const COOKIES_MODAL_ID = 'cookie-m-1';\nexport const CONTACT_US_MODAL_ID = 'contact-us-m-1';\nexport const BIOMETRIC_TERMS_MODAL_ID = 'bioterms-t-m-1';\nexport const BIOMETRIC_FAQ_MODAL_ID = 'biofaq-f-m-1';\nexport const BIOMETRIC_ON_DEVICE_MODAL_ID = 'bio-o-d-m-1';\n\nexport const ONE_WAY_LETTER = 'one-w-l-1';\n\n//Order Summary Table Row Modal\n\nexport const ORDER_SUMMARY_TABLE_ROW_MODAL_ID = \"summary-t-r-m-1\"\nexport const BOOK_EVOLUTION_TABLE_ROW_MODAL_ID = \"book-evolution-t-r-m-1\"","//\n// Component Enhancer that provides additional value from store ( selected language )\n//\nimport { connect } from 'react-redux';\n\nimport { getSelectedLanguage } from 'selectors';\n\nfunction withLanguage(WrappedComponent) {\n return connect(\n state => ({\n language: getSelectedLanguage(state),\n }),\n )(WrappedComponent);\n}\n\nexport default withLanguage;\n","import React, { PureComponent, Fragment} from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport { Row, Col } from 'react-bootstrap';\n\nimport { PrimaryButton, SecondaryButton, SecondarySlateButton } from 'mk-pattern-library-react';\n\nimport TranslationText from 'translations/TranslationText';\n\nimport { typography } from 'shared/styles/variables/theme'\n\nexport const Header = styled.h1`\n font-size: 1.438rem;\n line-height: 3.6rem;\n margin: 0 0 20px;\n text-align: left;\n`;\n\nexport const Divider = styled.div`\n margin: 0 0 20px 0;\n border-bottom: 1px solid #D8D8D8;\n`;\n\nexport const baseBtnStyle = {\n fontSize: typography.sizes['16px'],\n padding: '14px 20px',\n};\n\nexport const ModalContainer = styled.div`\n position: relative;\n padding: 40px;\n background: ${props => ( props.style && props.style.background ) || '#ffffff'};\n margin: 0 auto;\n min-width: 340px;\n width: ${props => {\n if (props.static) {\n if (props.width) {\n return `${props.width}px`;\n }\n return '100%';\n }\n return '340px';\n }};\n max-width: calc(100vw - 20px);\n max-height: calc(100vh - 40px);\n border: 4px solid #000000;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: center;\n color: ${props => ( props.style && props.style.color ) || 'black'};\n text-align: left;\n`;\n\nexport class Popup extends PureComponent {\n render() {\n return (\n <ModalContainer\n static={this.props.static}\n width={this.props.width}\n style={this.props.style}\n >\n {\n this.props.header && (\n <Header className=\"text-univ-lt\">\n <TranslationText\n dictionaryKey={this.props.headerKey}\n defaultText={this.props.header}\n />\n </Header>\n )\n }\n <div className=\"popover-content popover-spacing-bottom-sm\">\n { this.props.children }\n </div>\n {\n (this.props.primaryButton || this.props.secondaryButton || this.props.secondarySlateButton) && (\n <Fragment>\n <Row>\n <Col sm={12}>\n <Divider\n style={this.props.dividerStyle}\n />\n </Col>\n </Row>\n {this.props.actionBarControls && (\n <Row>\n <Col sm={12} style={this.props.actionBarControlsStyle}>\n {this.props.actionBarControls}\n </Col>\n </Row>\n )}\n <Row>\n <Col sm={3} className=\"text-left\">\n {\n this.props.secondaryButton && (\n <SecondaryButton\n disabled={this.props.secondaryButtonDisabled}\n onClick={this.props.secondaryButtonAction}\n style={this.props.secondaryButtonStyle || baseBtnStyle}\n >\n <TranslationText\n dictionaryKey={this.props.secondaryButtonKey}\n defaultText={this.props.secondaryButtonContent}\n />\n </SecondaryButton>\n )\n }\n </Col>\n <Col sm={9} className=\"text-right\">\n {\n this.props.secondarySlateButton && (\n <SecondarySlateButton\n disabled={this.props.secondarySlateButtonDisabled}\n onClick={this.props.secondarySlateButtonAction}\n style={baseBtnStyle}\n >\n <TranslationText\n dictionaryKey={this.props.secondarySlateButtonKey}\n defaultText={this.props.secondarySlateButtonContent}\n />\n </SecondarySlateButton>\n )\n }\n {\n this.props.primaryButton && (\n <PrimaryButton\n size=\"normal\"\n disabled={this.props.primaryButtonDisabled}\n onClick={this.props.primaryButtonAction}\n style={this.props.primaryButtonStyle || baseBtnStyle}\n aria-haspopup={this.props.primaryButtonHasPopup}\n >\n <TranslationText\n dictionaryKey={this.props.primaryButtonKey}\n defaultText={this.props.primaryButtonContent}\n />\n </PrimaryButton>\n )\n }\n </Col>\n </Row>\n </Fragment>\n )\n }\n </ModalContainer>\n );\n }\n}\n\nPopup.propTypes = {\n // content\n header: PropTypes.string,\n static: PropTypes.bool,\n primaryButtonStyle: PropTypes.object,\n secondaryButtonStyle: PropTypes.object,\n dividerStyle: PropTypes.object,\n // action\n primaryButton: PropTypes.bool,\n primaryButtonContent: PropTypes.string,\n primaryButtonAction: PropTypes.func,\n};\n\nPopup.defaultProps = {\n // Todo\n};\n\nexport default Popup;\n","import IsvTypes, { IsvUtilityTypes } from './IsvTypes';\n\nconst apiFailure = (message) => ({\n type: IsvTypes.API_FAILURE,\n message,\n});\n\nconst apiRequest = (isFetching) => ({\n type: IsvTypes.API_REQUEST,\n isFetching,\n});\n\nconst receiveIsvDeal = dealsData => ({\n type: IsvUtilityTypes.API_GET_ISV_DEAL_RESPONSE,\n dealsData,\n});\n\nconst requestIsvDeal = (dealId, loader) => ({\n type: IsvUtilityTypes.API_GET_ISV_DEAL_REQUEST,\n endPoint: `/Deals/GetDealByID?id=${dealId}`,\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveIsvDeal,\n loader,\n});\n\nconst requestIsvDealClick = dealId => ({\n type: IsvUtilityTypes.API_REQUEST_ISV_DEAL_CLICK,\n dealId\n});\n\nconst receiveIsvDeals = allDeals => ({\n type: IsvUtilityTypes.API_GET_ISV_DEALS_RESPONSE,\n allDeals,\n});\n\nconst requestIsvDeals = (loader) => ({\n type: IsvUtilityTypes.API_GET_ISV_DEALS_REQUEST,\n endPoint: '/Deals/GetDeals',\n params: {},\n ajaxType: 'GET',\n onSuccess: receiveIsvDeals,\n loader,\n});\n\nconst setupIsvDeal = (dealId, redirect) => ({\n type: IsvUtilityTypes.SETUP_ISV_DEAL,\n dealId,\n redirect,\n});\n\nconst openOneWayLetter = (modalId) => ({\n type: IsvUtilityTypes.OPEN_ONE_WAY_LETTER,\n modalId,\n});\n\nconst acceptOneWayLetter = (modalId) => ({\n type: IsvUtilityTypes.ACCEPT_ONE_WAY_LETTER,\n modalId,\n});\n\nconst isvSwitchDeal = (dealId) =>({\n type: IsvUtilityTypes.ISV_SWITCH_DEAL,\n dealId\n});\n\nconst receiveAcceptLetter=(status)=>({\n type: IsvUtilityTypes.API_ACCEPT_LETTER_RESPONSE,\n status,\n});\n\nconst acceptLetter = dealId => ({\n type: IsvUtilityTypes.API_ACCEPT_LETTER,\n endPoint: `/Deals/AcceptOneWayLetter?dealId=${dealId}`,\n ajaxType: 'PUT',\n});\n\nconst acceptLetterClick = dealId => ({\n type: IsvUtilityTypes.API_ACCEPT_LETTER_CLICK,\n dealId\n})\n\nconst isvBaseFetchCompleted = dealId => ({\n type: IsvUtilityTypes.ISV_BASE_FETCH_COMPLETED,\n dealId\n});\n\nconst dataFetching = (dataFetching) => ({\n type: IsvUtilityTypes.DATAFETCHING,\n dataFetching,\n});\n\nexport {\n apiRequest,\n apiFailure,\n requestIsvDeal,\n requestIsvDeals,\n setupIsvDeal,\n openOneWayLetter,\n acceptOneWayLetter,\n isvSwitchDeal,\n acceptLetter,\n receiveAcceptLetter,\n requestIsvDealClick,\n acceptLetterClick,\n isvBaseFetchCompleted,\n receiveIsvDeal,\n dataFetching\n };\n","import React from 'react';\n\nimport { translationString }from 'translations/TranslationText';\nimport withLanguage from 'translations/withLanguage';\n\nimport close from '../../images/Close X/Modal.png';\nimport closeX from '../../images/Close X/Regular.png';\nimport close2X from '../../images/Close X/Regular@2x.png';\n\nimport logo from '../../images/HSBC_Logo.svg';\n\nimport cardOn from '../../images/Table-card Toggle/Card Dark.svg';\nimport cardOff from '../../images/Table-card Toggle/Card Light.svg';\n\nimport tableOn from '../../images/Table-card Toggle/Table Dark.svg';\nimport tableOff from '../../images/Table-card Toggle/Table Light.svg';\n\nimport CheckMarkOn from '../../images/Checkmark/Dark Blue.svg';\nimport CheckMarkOff from '../../images/Checkmark/Light Gray.svg';\n\nimport dealSwitch from '../../images/deal-switch.svg'\nimport Doc from '../../images/doc-download.svg';\nimport Upload from \"Isv/images/upload.png\";\n\nconst Icon = (props) => {\n let icon;\n let isIcon = true;\n let alt;\n switch (props.iconName) {\n // ───────────────────────────────── traditional Icons ───────────────────────────────────────────────\n case \"close\":\n alt = translationString('', props.language, 'Close');\n isIcon = false; // show img element\n icon = close;\n break\n case \"closeX\":\n alt = translationString('', props.language, 'Close');\n isIcon = false; // show img element\n icon = closeX;\n break\n case \"close2X\":\n alt = translationString('', props.language, 'Close');\n isIcon = false; // show img element\n icon = close2X;\n break\n case \"logoHeader\":\n alt = translationString('', props.language, 'Logo header');\n isIcon = false; // show img element\n icon = logo;\n break\n case \"cardViewOn\":\n alt = translationString('', props.language, 'Card view on');\n isIcon = false; // show img element\n icon = cardOn;\n break\n case \"tableViewOn\":\n alt = translationString('', props.language, 'Table view on');\n isIcon = false; // show img element\n icon = tableOn;\n break\n case \"cardViewOff\":\n alt = translationString('', props.language, 'Card view off');\n isIcon = false; // show img element\n icon = cardOff;\n break\n case \"tableViewOff\":\n alt = translationString('', props.language, 'Table view off');\n isIcon = false; // show img element\n icon = tableOff;\n break\n case \"CheckMarkOn\":\n alt = translationString('', props.language, 'Check mark on');\n isIcon = false; // show img element\n icon = CheckMarkOn;\n break\n case \"CheckMarkOff\":\n alt = translationString('', props.language, 'Check mark off');\n isIcon = false; // show img element\n icon = CheckMarkOff;\n break\n case \"dealSwitch\":\n alt = translationString('', props.language, 'Deal Switch');\n isIcon = false;\n icon = dealSwitch;\n break\n case \"DocumentUpload\":\n alt = translationString('', props.language, 'Document');\n isIcon = false;\n icon = Doc;\n break\n case \"Upload\":\n alt = translationString('', props.language, 'Upload');\n isIcon = false;\n icon = Upload;\n break\n \n // ───────────────────────────────── Font Icons ───────────────────────────────────────────────\n case \"Checkmark\":\n alt = translationString('', props.language, 'Check mark');\n icon = \"Checkmark\"\n break\n case \"Train\":\n alt = translationString('', props.language, 'Train');\n icon = \"Train\"\n break\n case \"Car\":\n alt = translationString('', props.language, 'Car');\n icon = \"Car\"\n break\n case \"Hotel\":\n alt = translationString('', props.language, 'Hotel ');\n icon = \"Hotel\"\n break\n case \"Star\":\n alt = translationString('', props.language, 'Star');\n icon = \"Star\"\n break\n case \"Search\":\n alt = translationString('', props.language, 'Search');\n icon = \"Search\"\n break\n case \"Profile\":\n alt = translationString('', props.language, 'Profile');\n icon = \"Profile\"\n break\n case \"Historical\":\n alt = translationString('', props.language, 'Historical');\n icon = \"Historical\"\n break\n case \"Document\":\n alt = translationString('', props.language, 'Document');\n icon = \"Document\"\n break\n case \"Desktop\":\n alt = translationString('', props.language, 'Desktop');\n icon = \"Desktop\"\n break\n case \"CommentIndicator\":\n alt = translationString('', props.language, 'Comment Indicator');\n icon = \"CommentIndicator\"\n break\n case \"ChatBubble\":\n alt = translationString('', props.language, 'Chat bubble');\n icon = \"ChatBubble\"\n break\n case \"Binoculars\":\n alt = translationString('', props.language, 'Binoculars');\n icon = \"Binoculars\"\n break\n case \"CaretUp\":\n alt = translationString('', props.language, 'Caret up image');\n icon = \"CaretUp\"\n break\n case \"CaretDown\":\n alt = translationString('', props.language, 'Caret down image');\n icon = \"CaretDown\"\n break\n case \"Notebook\":\n alt = translationString('', props.language, 'Notebook');\n icon = \"Notebook\"\n break\n case \"InvestorsTie\":\n alt = translationString('', props.language, 'Investors tie');\n icon = \"InvestorsTie\"\n break\n case \"Orders\":\n alt = translationString('', props.language, 'Orders');\n icon = \"Orders\";\n break\n case \"PrevArrow\":\n alt = translationString('', props.language, 'Previous arrow');\n icon = \"PrevArrow\";\n break\n case \"NextArrow\":\n alt = translationString('', props.language, 'Next arrow');\n icon = \"NextArrow\";\n break\n case \"OrderbookHome\":\n alt = translationString('', props.language, 'Orderbook');\n icon = \"OrderbookHome\";\n break\n case \"DocumentHome\":\n alt = translationString('', props.language, 'Document');\n icon = \"DocumentHome\";\n break\n case \"Chevron\":\n alt = translationString('', props.language, 'Chevron image');\n icon = \"Chevron\";\n break\n\n // Glyphter - IcoMoon did not interpret these icons properly\n // ClassNames for these icons are prefixed 'icon-g'. This is why the icon names below are things like 'gPlane' and not 'Plane'\n case \"Plane\":\n alt = translationString('', props.language, 'Plane');\n icon = \"gPlane\"\n break\n case \"Price\":\n alt = translationString('', props.language, 'Price');\n icon = \"gPrice\";\n break\n default:\n alt = translationString('', props.language, 'Plane');\n icon = \"Plane\";\n break\n }\n\n const other = {};\n\n if (props[\"aria-hidden\"]) {\n other[\"aria-hidden\"] = true;\n }\n\n other[\"aria-checked\"] = props[\"aria-checked\"];\n\n if (isIcon) {\n return (\n <span\n aria-hidden\n aria-label={props.alt || alt || 'Icon'}\n style={props.style}\n className={`icon-${icon} ${props.className}`}\n {...other}\n />\n )\n\n } else {\n // eslint-disable-next-line\n return (\n <img\n className={props.className}\n src={icon}\n style={props.style}\n alt={props.alt || alt || 'Image'}\n {...other}\n />\n )\n\n }\n\n\n}\n\nexport default withLanguage(Icon);\n","module.exports = __webpack_public_path__ + \"static/media/doc-download.a2f29d89.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAdCAYAAAC9pNwMAAAAAXNSR0IArs4c6QAAA7tJREFUSA2tl91LFFEYxs877s5WkiBGSEGg0cdNd5JihWxGK6auJSq5dhOEFXQT3WRBN30Q1G3mTVdqqJSuX2gli0Vi4R+QfShFxRaJYJjs7Din9x1nlrO7c0azHVj2nfd5zvM7H+vOCmydF+ccugfHiwymH+KGks+B59NQ4BAFxYgqzPO6sbp8GgD4eiJhLVPPcCRfi2utSKhnnJkw6RhgUcahV/WqtxtO+KNSHwpScCQS8Xxf1K7j9K8wzrPdQtI0gCUMvrcjR73p9/v1NF0G7hx6lcv1pV7Uy50G/UNvHDzZ9aGqIwupY9JWTFsbj8cmcKV7U80buUfAe6/XV5a69YoYNjLywafpWn+moJRNWZjZR9kiKwm8oM+14XkWi4aM1JyXmNlCWGKrH/ePFa8wPiVoGS+zGJScrg28oeDEig1gd91IOMPPACwm85BGHplOfZFhgjuGnx/AL4gy6SCAj5tU32EMrnWCW9Ba8jD0ynKIQSzSV1esG1Uys2Xqrav0f20KVoymwm0oaeTBQPozlF8WywRjWIXciVvE+dWu8LPL5BHhIpQ08pCXatlls1ZXzFmBzGj3DW7c7xoYu0T3CThuPdXUI408VLteFgsnwFhn/2gM/95U1wGWiA+Bi6FgoE30dobHLuD5PRB7shqBWqi2wgc9k5ObtZ+Lf2TG9D7EVYXta6gJzJHWMzBWoBlsBr8qvOle5466PWeL0lBaugwMlp0tyV2c7QrLYmdsKKlmjT1TS7Y73hGLmKtnzPgPR5fQpGCeBaHm6kA3tTvCo+foRTX1SFsffJVlgWmr5JcTFGfeTq8NwE2WBYYROZYe2nBDXCkB6RcJvVLh5HXLwjSThYvBT/XQi0Ku65/kA2Dek8XLdYMdtKGil37ucMZbPAp7q6/AOH7Q8kRdrMHj2R2qOjZrgknoDI8+wdGnRFNSDWwRoVtplUl968aC/8bnYI6TTj3cnqehYEUd1fYZMy9TW+ksqel4YaAMSn5Tc4NiNjHs7AS4IXh0Bqd0xxYy/o7ZJsMKTto2mjV+9fXhlgczCcYtDjfVBE7Scdi5iRVTgwRvjq8Z31/ahv99x6wJKzMBNVlOwdPT09533+Yf4sGdddLX3QN4tH9n3vmioqJ46pikrU4V8THXbDB+CyewK1VzvQf4ojC41hQ83iHzuYJpEP06XNBmW3CfGvGzW4KtpOMRgg08rCkM7M5VC9srK/fEBC2tXBMsjugajGwzuFaiAORzw/rfSYEoPvyjCqhTTdX+X6Lfrf4Lzt9/fRyhT4cAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAAXNSR0IArs4c6QAAAMZJREFUKBWFkM8KQVEQxk/ehSQbSTZ0I16AlQew4Q3sLTykhZIoYeFPSfGbc8+n67gx9Tsz55v5TveOc2mMSM1Q56Uq4liNIcUDTpBnqqDv4AlTcC04gwmxqYy2Db07eQA+Es4LZE0l7pugfQyj+ehwXkGmn8OpxbkexS2YzPj1ckGTIa/I9h8K+7elLnEuIqxBL2sRe7Tav2HbRhtkOlDXZYpffq+OgQS0vSN1w0wT0Gdkh61n0QVtb+4VjhnkDavfp1jY5QVBPjxk0ysQuwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAZ9JREFUSA21lUlKBEEQRct53Gg7DycQXIkLETyFCy/hSr2BJ3AhCAqCILgSBBEEEdw7IM56AkEQXAr6IqkootrO6sxqDPgZUVkR72d301VJko9ZLnvzW1FXrXQv+CbmuPGFLlAZkxbmDtA3WkK5mOHqE/2kijUR+L6Zz5lMcePD3Iw1aWZ2r8a8mCyipA9dIgXbXO+TCHzXM/vO/jRyUWG9Rhautc+kif4dz0wOTo+LAdZbpGCbq00EvuXprQmn18Ug6x2ycK3VROCbnp5CODMuhlkfkIJtFpOG4M6BZRQ9IQsvqoNOrnDNYxQvASal4GoyQfFWYNIQXE22CwxOuNemjWXyRgFcf5NDetr/C64mRxh0xJj4Ti7fue8ffxxqUgSXZ0s/ukJ6epvlN+lE3qgH18EKxQ2ycK1P2e/SRptD4Tojj5VbpGCbz9jv1kbJsXCdHaK4Rxau9Tn7PSiZR7ppc+ifaIT5Rw9jlX0Xy6xl4Om4e3Y9VzHkXSEvpCzWqMQk9OTZYFqMk1+RMP7A055khSJ7zelmRJ6kdx1lJ/8FB8/zdMHPQaQAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/Card Dark.8be7de03.svg\";","module.exports = __webpack_public_path__ + \"static/media/Card Light.5af17be3.svg\";","module.exports = __webpack_public_path__ + \"static/media/Table Dark.9cb94fde.svg\";","module.exports = __webpack_public_path__ + \"static/media/Table Light.94680478.svg\";","module.exports = __webpack_public_path__ + \"static/media/Dark Blue.48f7e4ed.svg\";","module.exports = __webpack_public_path__ + \"static/media/Light Gray.2bb4179a.svg\";","module.exports = __webpack_public_path__ + \"static/media/deal-switch.2373ea84.svg\";","module.exports = __webpack_public_path__ + \"static/media/doc-download.a2f29d89.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/landing-hd.8c268831.jpg\";","module.exports = __webpack_public_path__ + \"static/media/landing-fhd.502f8669.jpg\";","module.exports = __webpack_public_path__ + \"static/media/landing-5k.25820d24.jpg\";","module.exports = __webpack_public_path__ + \"static/media/welcome-step-1.325efc03.png\";","module.exports = __webpack_public_path__ + \"static/media/welcome-step-2.38dd0389.png\";","module.exports = __webpack_public_path__ + \"static/media/welcome-step-3.fd6315fd.jpg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAIAAAACtmMCAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEKSURBVEhL1ZXBDYMwDEWTqkcYgAUyAGUMJuAOrMEE3GEAFmANygAMgLgzQPtFXBSpimJEqop3ANtKHw5JqHgZNE3z2EBAJTu2wRK5+PDcQKCH6qIN22Dp/OVRbnT3xxWMEqtDoSd+0GOe51JKynzwv90TBEFRFEopyu2wjGma9n0PI7xUsuMwoqmu66qqCsOQSi4cRog4MzVxGPEtqOs6yzLKGbjfI2Y9TRMlDFgrc4grGLlnZhgGXLElx3HUlTiOkyTRscmd7seBDg+gxODsrNd1Rdc78zxze2zbFtdlWXS6g41VlqWOcRbwP8jtEUaAFij/Qutwxvys9a5D7MFo6sBZYxRFpk4I8Qa89Z0dzHiE6AAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/Orderbook-bg.08d84ae9.png\";","module.exports = __webpack_public_path__ + \"static/media/MyDealTotpFlow.b6479a95.png\";","module.exports = __webpack_public_path__ + \"static/media/HsbcnetPnFlow.97ec0b69.png\";","import { createTypes } from 'reduxsauce';\n\n//\n// Unique prefix for feature actions\n//\nconst createPrefix = (obj, prefix) => Object.keys(obj)\n .reduce((acc, key) => {\n acc[key] = `${prefix}${obj[key]}`;\n return acc;\n }, {});\n\nconst All = createTypes(`\n ATTEMPT_AUTHENTICATION\n SET_AUTH_TYPE\n SET_LOGIN_ERROR\n SET_IS_ISV_USER\n SET_USERNAME\n SET_LOGIN_MODAL\n SET_INVALID_FIELDS\n SET_AUTHENTICATION\n HSBCNET_VERIFY_USERNAME\n LOGIN_FAILURE\n LOGOUT\n LOGOFF\n LOGOFF_SUCCESS\n RENEW_TOKEN\n RENEW_TOKEN_RECEIVE\n HEARTBEAT_PULSE\n KILL_HEARTBEAT\n CHECK_PULSE\n KILL_ACTIVE_SAGA_WORKERS\n\n USER_INTERACTION\n\n API_ATTEMPT_SSO\n API_ATTEMPT_LOGIN\n API_PRE_AUTH_ERR_LOG\n\n UPDATE_CURRENT_TRANCHE\n CHANGE_FULL_ORDERBOOK_SORT\n CHANGE_ALL_TRANCHES_FULL_ORDERBOOK_SORT\n\n UPDATE_ORDER_SUMMARY\n UPDATE_FULL_ORDERBOOK\n UPDATE_BOOK_EVOLUTION_SUMMARY\n UPDATE_BOOK_EVOLUTION_SUMMARY_FOR_AMENDED_ORDER_BY_INVESTOR\n API_RECEIVE_STAGES\n API_UPDATE_STAGES\n UPDATE_AMENDED_ORDER_SUMMARY\n\n API_FAILURE\n API_REQUEST\n\n API_REQUEST_ECM_ORDERS\n API_REQUEST_ORDERS\n API_RECEIVE_ORDERS\n\n API_REQUEST_ORDERS_FOR_ALL_TRANCHES\n INCLUDE_AMENDED_ORDERS\n API_REQUEST_SHARE_DEMAND\n API_RECEIVE_SHARE_DEMAND\n\n API_REQUEST_DEMAND_SUMMARY_BY_TYPE\n API_RECEIVE_DEMAND_SUMMARY_BY_TYPE\n\n API_REQUEST_DEMAND_SUMMARY_BY_SHARE_AND_TYPE\n API_RECEIVE_DEMAND_SUMMARY_BY_SHARE_AND_TYPE\n\n API_REQUEST_TRANCHES\n API_RECEIVE_TRANCHES\n\n CHANGE_TRANCHE_LOADER_STATUS\n\n API_REQUEST_INVESTOR_NAMES\n API_RECEIVE_INVESTOR_NAMES\n\n API_REQUEST_TRANCHE_LISTS\n API_RECEIVE_TRANCHE_LISTS\n\n API_RECEIVE_ORDER_SUMMARY\n API_REQUEST_ORDER_SUMMARY\n\n UPDATE_SELECTION_ORDER_SUMMARY\n REFRESH_FULLORDERBOOK_DATA\n\n UPDATE_SELECTION_AMENDED_ORDER_SUMMARY\n UPDATE_SET_STAGES_MODAL_OPEN\n UPDATE_SELECTION_BOOK_EVOLUTION_SUMMARY\n UPDATE_SELECTION_BOOK_EVOLUTION_SUMMARY_AMENDED_ORDER_BY_INVESTOR\n UPDATE_STAGES\n ROADSHOW_UPDATE_SELECTED_DAY\n SET_ROADSHOW_DAILY_EVENT\n\n API_RECEIVE_ROADSHOW_SUMMARY\n API_REQUEST_ROADSHOW_SUMMARY\n\n API_RECEIVE_ROADSHOW_EVENTS\n API_REQUEST_ROADSHOW_EVENTS\n\n API_RECEIVE_ROADSHOW_CONTACTS\n API_REQUEST_ROADSHOW_CONTACTS\n\n API_RECEIVE_DOCUMENTS_SUMMARY\n API_REQUEST_DOCUMENTS_SUMMARY\n\n API_RECEIVE_DOCUMENTS\n API_REQUEST_DOCUMENTS\n\n API_REQUEST_DOC\n\n API_RECEIVE_FEEDBACK_THEME_TYPES\n API_REQUEST_FEEDBACK_THEME_TYPES\n\n API_RECEIVE_FEEDBACK_SENTIMENTS\n API_REQUEST_FEEDBACK_SENTIMENTS\n\n API_RECEIVE_DEAL_THEMES\n API_REQUEST_DEAL_THEMES\n\n API_RECEIVE_FEEDBACK_FOR_DEAL\n API_REQUEST_FEEDBACK_FOR_DEAL\n\n API_RECEIVE_FEEDBACK_FOR_DEAL_AND_THEME\n API_REQUEST_FEEDBACK_FOR_DEAL_AND_THEME\n\n API_RECEIVE_FEEDBACK_HIGHLIGHTS_FOR_DEAL_AND_THEMETYPE\n API_REQUEST_FEEDBACK_HIGHLIGHTS_FOR_DEAL_AND_THEMETYPE\n\n API_RECEIVE_FEEDBACK_CHART_TYPES\n API_REQUEST_FEEDBACK_CHART_TYPES\n\n API_RECEIVE_FEEDBACK_CHART_DATA\n API_REQUEST_FEEDBACK_CHART_DATA\n\n SELECT_CHART_ID\n SELECT_CHART_TAB\n SELECT_CHART_SUB_TAB\n\n API_RECEIVE_INVESTOR_ENGAGEMENT\n API_REQUEST_INVESTOR_ENGAGEMENT\n\n API_RECEIVE_PRICING_DOCUMENT_ID\n API_REQUEST_PRICING_DOCUMENT_ID\n\n ROADSHOW_CHANGE_TEAM\n ROADSHOW_EFFECT_SET_TEAM\n\n LOGIN_FORM_CHANGE\n LOGIN_FORM_SUBMIT\n LOGIN_FORM_EXT_SUBMIT\n LOGIN_FORM_PN_SUBMIT\n CANCEL_LOGIN_FORM_PN_SUBMIT\n LOGIN_FORM_TOTP_SUBMIT\n LOGIN_FORM_INVALID\n LOGIN_FORM_VALID\n\n INITIALIZE\n INITIALIZING\n DATAFETCHING\n\n SET_PENDING_AUTHENTICATION\n SET_AUTHENTICATION_RESPONSE\n\n SHOW_TERMS_AND_CONDITIONS\n TERMS_AND_CONDITIONS_RESPONSE\n ACCEPT_TERMS_CONDITIONS\n CANCEL_TERMS_CONDITIONS\n ON_TERMS_CHECKED_CHANGE\n TERMS_AND_CONDITIONS_ACCEPTED\n\n API_GET_ACCEPT_TERMS_RESPONSE\n API_GET_ACCEPT_TERMS_REQUEST\n\n API_GET_TERMS_AND_CONDITIONS\n RECEIVE_TERMS_AND_CONDITIONS\n\n OPEN_SITE_TEXT\n SET_SITE_TEXT\n\n\n API_DEACTIVATE_DEVICE\n\n SET_DEVICE_DEACTIVATE_MESSAGES\n CLEAR_DEVICE_DEACTIVATE_MESSAGES\n\n VIEW_DEVICE_BIOMETRICS\n DEACTIVE_BIOMETRICS_DEVICE\n SET_MANAGE_DEVICES\n\n ORDER_SUMMARY_MODAL\n CLOSE_ORDER_SUMMARY_MODAL\n\n SELECT_ORDER_SUMMARY_DROPDOWN\n SELECT_AMENDED_ORDER_BY_INVESTOR_DROPDOWN\n SELECT_INVESTOR_TYPE\n RESET_ORDER_SUMMARY_DROPDOWN\n CURRENT_ACTIVE_ORDER_SUMMARY_TAB\n\n`);\n\nexport const UtilityTypes = createPrefix(\n createTypes(`\n APP_SETUP\n\n PURGE\n\n DEAL_SETUP\n DEAL_PURGE\n\n MARK_FEATURE\n CHECK_FEATURE\n\n API_GET_POLLING_FREQUENCY_REQUEST\n API_GET_POLLING_FREQUENCY_RESPONSE\n\n API_GET_DEAL_REQUEST\n API_GET_DEAL_RESPONSE\n TILE_MODULE_FETCHED\n\n API_REQUEST_MANAGE_DEVICE\n API_RECEIVE_MANAGE_DEVICE\n\n API_GET_DEAL_INFO_RESPONSE\n API_GET_DEAL_INFO_REQUEST\n\n API_GET_DEALS_REQUEST\n API_GET_DEALS_RESPONSE\n\n API_GET_NAV_FEATURES_REQUEST\n API_GET_NAV_FEATURES_RESPONSE\n\n API_GET_SITE_TEXT_REQUEST\n API_GET_SITE_TEXT_RESPONSE\n\n START_EVENT_NOTIFICATION_SAGA\n STOP_EVENT_NOTIFICATION_SAGA\n\n EFFECT_HANDLE_HOME_FEATURE_SETUP\n SET_HOME_FEATURE_FETCH_STATUS\n\n ADD_CALLED_ENDPOINT_FROM_NOTIFICATION_CYCLE\n\n UNAUTHORIZED_EFFECT_RESPONSE_FEATURE\n\n EFFECT_REQUEST_FEATURE_DATA\n\n BASE_FETCH_COMPLETED\n\n OPEN_MODAL\n CLOSE_MODAL\n\n CHANGE_TAB\n `),\n 'Utility_Types_',\n);\n\nexport const LanguageTypes = createPrefix(\n createTypes(`\n SELECT_LANGUAGE\n `),\n 'Language_Types_',\n);\n\nexport const MyDocsTypes = createPrefix(\n createTypes(`\n CHANGE_ACTIVE_CATEGORY\n `),\n 'MyDocs_Types_',\n);\n\nexport const AnalyticsTypes = createPrefix(\n createTypes(`\n VIEW_CHANGE\n EVENT_TRIGGERED\n `),\n 'Analytics_Types_',\n);\n\nexport default {\n ...All,\n};\n","import React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport styled from 'styled-components';\n\nimport PerfectScroll from 'perfect-scrollbar';\n\nconst Scroll = styled.div`\n position: relative;\n \n &.ps > .ps__rail-y {\n opacity: .6;\n }\n\n &.ps--active-y .ps__scrollbar-y-rail {\n opacity: 1 !important;\n }\n`;\n\nclass Scrollable extends Component {\n constructor(props) {\n super(props);\n\n this._scroll = null; // PS handler\n this._scrollContainer = null; // Element ref\n\n this.targetObserver = new MutationObserver(() => {\n if (this.props.update) {\n this.props.update();\n }\n });\n\n this.childObserver = new MutationObserver(() => {\n this.scrollUpdate();\n })\n\n this.scrollUpdate = this.scrollUpdate.bind(this);\n }\n\n scrollUpdate() {\n if (this._scroll) this._scroll.update();\n }\n\n componentDidMount() {\n const target = ReactDOM.findDOMNode(this);\n const child = target.children[0];\n \n this.targetObserver.observe(target, {\n attributes: true,\n });\n\n this.childObserver.observe(child, {\n attributes: true,\n subtree: true,\n });\n\n this._scroll = new PerfectScroll(this._scrollContainer, {\n theme: 'default',\n suppressScrollX: true,\n });\n\n setTimeout(() => {\n if (this._scrollContainer) {\n const rail = this._scrollContainer.querySelector('.ps__rail-y')\n const thumb = this._scrollContainer.querySelector('.ps__thumb-y')\n if (rail && thumb) {\n rail.setAttribute('aria-hidden', true);\n thumb.setAttribute('focusable', false)\n thumb.setAttribute('tabindex', -1);\n }\n }\n }, 10);\n\n window.addEventListener(\"resize\", this.scrollUpdate);\n window.addEventListener(\"orientationChange\", this.scrollUpdate);\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.scrollHeight !== this.props.scrollHeight) {\n this.scrollUpdate();\n }\n\n if (prevProps.scrollToTopFlag !== this.props.scrollToTopFlag) {\n this._scroll.scrollTop = 0;\n }\n\n return true;\n }\n\n componentWillUnmount() {\n if (this._scroll) this._scroll.destroy();\n\n this.targetObserver.disconnect();\n this.childObserver.disconnect();\n\n window.removeEventListener(\"resize\", this.scrollUpdate);\n window.removeEventListener(\"orientationChange\", this.scrollUpdate);\n }\n\n render() {\n return (\n <Scroll\n ref={(el) => {\n this._scrollContainer = el;\n }}\n style={{\n ...this.props.style,\n height: this.props.scrollHeight\n }}\n className={this.props.className}\n >\n {this.props.children}\n </Scroll>\n );\n }\n}\n\nexport default Scrollable;\n","//\n//\n//\nconst keys = {\n tab: 9,\n enter: 13,\n esc: 27,\n space: 32,\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n delete: 46,\n};\n\nexport default keys;\n"],"sourceRoot":""}