{"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","selectors/index.js","shared/components/ResponsiveEllipsis.js","mk-pattern-library-react/components/SvgIcon/SvgIcon.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","constants/chartTypes.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","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","util/navigationFeatures.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","shared/accessibility/components/Dropdown/DropdownSystem.js","shared/styles/variables/indexes.js","actions/LoginActions.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","shared/components/Icon/doc-download.svg","mk-pattern-library-react/components/Icon/Icon.js","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","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","Object","keys","getCurrentDealInfo","deals","find","x","isDCMDealType","deal","dealType","isECMDealType","getAllowedNavigationFeatures","allowedNavigationFeatures","allNavigationFeatures","noDeals","allowedNavFeatures","Array","prototype","push","map","feature","_objectSpread","visibleInHeroMenu","visibleInMainMenu","title","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","n","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","color","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","document","archived","getMyDocsForActiveCategory","doc","categoryId","getLastDocuments","getSiteTextState","siteText","makeGetSiteTextSelector","siteTextTypeName","langCode","getSiteTextValue","SITE_TEXT_TYPES","getTermsAndConditionsText","termsAndConditions","termsAndConditionsText","recompose__WEBPACK_IMPORTED_MODULE_0__","react_lines_ellipsis__WEBPACK_IMPORTED_MODULE_1__","react_lines_ellipsis__WEBPACK_IMPORTED_MODULE_1___default","react_lines_ellipsis_lib_responsiveHOC__WEBPACK_IMPORTED_MODULE_2__","react_lines_ellipsis_lib_responsiveHOC__WEBPACK_IMPORTED_MODULE_2___default","EnhancedRespEllipsis","compose","lifecycle","componentDidMount","elements","from","querySelectorAll","element","visibility","setAttribute","responsiveHOC","LinesEllipsis","SvgIcon","children","_ref$viewBoxMinWidth","viewBoxMinWidth","_ref$viewBoxMinHeight","viewBoxMinHeight","_ref$width","viewBoxWidth","viewBoxHeight","width","_ref$height","height","_ref$isCheckedIndicat","isCheckedIndicator","_ref$isDisabled","isDisabled","otherProps","_objectWithoutProperties","attributes","assign","viewBox","getColor","uncheckedIcon","checkedIcon","StatusIcon","aria-hidden","focusable","fill","points","RoadshowIcon","PricingIcon","FeedbackIcon","y","OrdersIcon","DocumentsIcon","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","PRICE_DEMENT_CHART_TYPE","THEME_DISTRIBUTION_CHART_TYPE","SENTIMENT_CHART_TYPE","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","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","dateFormatters","dayMonth","time","isValid","dayMonthYearZoneShort","zone","tz","guess","zoneTime","timeAbbreviation","abbr","dayMonthYearWithProvidedZone","timeZone","parseZone","dateTime","timeAbbr","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","checkAllowedUiFeatures","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","isInThatFeaturePage","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","constants_featurePages__WEBPACK_IMPORTED_MODULE_0__","constants_dealFeatures__WEBPACK_IMPORTED_MODULE_1__","features","visibleProperty","uIElementIndex","featurePages","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","ContainerWrapper","ModalContainer","dropdownInlineStyles","pdword","request","receiveTermsAndConditions","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.232f3a24.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 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);","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","/* @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","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; ","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 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 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 { 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 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 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 { 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","module.exports = __webpack_public_path__ + \"static/media/doc-download.a2f29d89.svg\";","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 = \"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":""}