{"version":3,"sources":["assets/images/dashboard sync /^/.//.*$","assets/images/dashboard/chrome.png","assets/images/dashboard/contact-icon.png","assets/images/dashboard/download.png","assets/images/dashboard/files-icon.png","assets/images/dashboard/firefox.png","assets/images/dashboard/gallery.jpg","assets/images/dashboard/gallery.png","assets/images/dashboard/ie.png","assets/images/dashboard/kea-recs-clicked-1.svg","assets/images/dashboard/kea-recs-viewed-1.svg","assets/images/dashboard/kea-search-action-rate-1.svg","assets/images/dashboard/kea-search-sessions-1.svg","assets/images/dashboard/kea-uniq-visitors-1.svg","assets/images/dashboard/kea-viewed-products-1.svg","assets/images/dashboard/kea-viewed-products-2.svg","assets/images/dashboard/kea-viewed-products-3.svg","assets/images/dashboard/light.jpg","assets/images/dashboard/light.png","assets/images/dashboard/mouse-icon-sm.png","assets/images/dashboard/mouse-icon.png","assets/images/dashboard/no-data-available-1.svg","assets/images/dashboard/no-data-available-2.svg","assets/images/dashboard/no-data-available-4.svg","assets/images/dashboard/project-icon.png","assets/images/dashboard/rich-icon-sm.png","assets/images/dashboard/rich-icon.png","assets/images/dashboard/safari.png","assets/images/dashboard/shopping-bag-icon-sm.png","assets/images/dashboard/shopping-bag-icon.png","assets/images/dashboard/tasks-icon.png","assets/images/dashboard/teams-icon.png","assets/images/dummy sync /^/.//product_stub_.*/.png$","assets/images/dummy/product_stub_0.png","assets/images/dummy/product_stub_1.png","assets/images/dummy/product_stub_2.png","assets/images/dummy/product_stub_3.png","assets/images/dummy/product_stub_4.png","assets/images/dummy/product_stub_5.png","assets/images/dummy/product_stub_6.png","assets/images/dummy/product_stub_7.png","constants/actionTypes/notifications.js","util/authUtils.js","util/appUtils.js","actions/Notifications.js","containers/NotificationSnackbar/index.js","reducers/App.js","constants/ActionTypes.js","constants/ThemeColors.js","reducers/Auth.js","constants/actionTypes/billing.js","reducers/Billing.js","constants/actionTypes/catalog.js","reducers/Catalog.js","constants/actionTypes/analytics.js","components/kea/DateRangePicker/timeframeList.js","reducers/Analytics.js","reducers/Recs.js","constants/actionTypes/recs.js","reducers/Search.js","constants/actionTypes/search.js","actions/App.js","actions/Auth.js","actions/Catalog.js","actions/Analytics.js","actions/Settings.js","constants/actionTypes/settings.js","actions/Recs.js","actions/Search.js","actions/Onboarding.js","reducers/Settings.js","reducers/Notifications.js","slices/OnboardingSlice.js","reducers/index.js","sagas/Auth.js","sagas/Billing.js","sagas/Analytic.js","sagas/Catalog.js","sagas/Settings.js","sagas/Recs.js","sagas/Search.js","sagas/Notifications.js","sagas/ErrorHandlers.js","sagas/index.js","store/index.js","util/RTL.js","components/kea/placeholders/Spinner/index.jsx","components/kea/placeholders/CircularProgress/index.js","util/asyncComponent.js","containers/themes/greenTheme.js","components/kea/placeholders/PlaceholderError/index.jsx","components/kea/SafetyRoute/index.js","containers/SignIn/SignInPage.js","containers/SignIn/SignInEmbedded.js","containers/SignIn/ForgotPassword.js","containers/SignIn/SubmitNewPassword.js","containers/SignIn/index.js","containers/Customizer/SideNavOption.js","containers/Customizer/ColorOption.js","assets/images/kealogo-text-bg.svg","components/UserInfo/index.js","util/CustomScrollbars.js","components/Onboarding/StrangeIcon.jsx","components/Navigation/NavMenuItem.js","components/Navigation/NavCollapse.js","components/Navigation/NavSection.js","components/Navigation/index.js","containers/SideBar/SideBarContent.js","containers/SideBar/index.js","containers/AppLayout/Vertical/index.js","components/SearchBox/index.js","components/dashboard/Common/CardMenu.js","components/dashboard/Common/CardHeader/index.js","components/LanguageSwitcher/LanguageItem.js","components/LanguageSwitcher/data.js","components/LanguageSwitcher/index.js","components/UserInfo/UserInfoPopup.js","containers/AppLayout/Horizontal/Header/TopNav/Menu.js","components/AppNotification/NotificationItem.js","components/AppNotification/data.js","components/AppNotification/index.js","components/MailNotification/NotificationItem.js","components/MailNotification/data.js","components/MailNotification/index.js","containers/AppLayout/Horizontal/Header/InsideNavHeader.js","containers/AppLayout/Horizontal/InsideHeaderNav.js","containers/AppLayout/Horizontal/Header/BelowNavHeader.js","containers/AppLayout/Horizontal/Header/TopNav/index.js","containers/AppLayout/Horizontal/BelowHeaderNav.js","containers/AppLayout/Horizontal/Header/AboveNavHeader.js","containers/AppLayout/AppLayouts.js","containers/AppLayout/Horizontal/AboveHeaderNav.js","components/kea/CardWithTabs/index.jsx","components/ContainerHeader/index.js","components/kea/settings/SaveActionBtnGrp/index.js","components/kea/placeholders/PlaceholderSpinner/index.jsx","components/kea/settings/SettingsToggleSwitcher/index.js","components/kea/settings/SettingsSelectInput/index.js","components/kea/Slider/Slider.js","components/kea/settings/SettingRangeSlider/index.js","components/kea/settings/SettingTextInput/index.js","app/routes/search/settings/autocomplete/index.jsx","components/kea/settings/SettingsSelectRadio/index.js","app/routes/search/settings/general/index.jsx","app/routes/search/settings/result-page/index.jsx","app/routes/search/settings/filters/index.jsx","components/kea/ColorPicker/index.js","components/kea/settings/SettingColorPicker/index.js","app/routes/search/settings/theme/index.jsx","app/routes/search/settings/index.jsx","components/kea/DateRangePicker/index.jsx","util/chartUtils.js","components/kea/CardBox/index.js","components/kea/DashboardStub/index.js","app/routes/search/dashboard/SearchEfficiency.jsx","components/Widget/index.js","components/kea/IconWithTextCard/index.js","webpack:///./src/assets/images/dashboard/kea-uniq-visitors-1.svg?5289","webpack:///./src/assets/images/dashboard/kea-viewed-products-1.svg?c64a","webpack:///./src/assets/images/dashboard/kea-search-sessions-1.svg?8349","webpack:///./src/assets/images/dashboard/kea-search-action-rate-1.svg?5afd","app/routes/search/dashboard/Summary.jsx","app/routes/search/dashboard/SearchTrends.jsx","app/routes/search/dashboard/Audience.jsx","app/routes/search/dashboard/Carts.jsx","components/kea/ButtonGrp/index.js","app/routes/search/dashboard/Profitability.jsx","app/routes/search/dashboard/index.js","components/kea/widgets/common/WidgetWithChart/index.jsx","components/kea/widgets/common/CustomToolTIp.jsx","components/kea/widgets/lostOpportunities/QueriesWithLowCTR/PreparedChart.js","components/kea/widgets/lostOpportunities/QueriesWithLowCTR/index.jsx","components/kea/tables/WidgetTable/index.js","components/kea/CardContainerSmall/index.js","components/kea/widgets/BriefQueryNoResult/index.jsx","components/kea/widgets/common/WidgetRainbow/index.js","components/kea/widgets/lostOpportunities/AffectedUsers/index.jsx","components/kea/tables/utils.js","components/kea/tables/EnhancedTableHead.jsx","components/kea/tables/AnalyticTable/index.jsx","components/kea/CardContainer/index.jsx","app/routes/search/analytic/LostOpportunities/MainSection.jsx","app/routes/search/analytic/LostOpportunities/index.jsx","app/routes/search/analytic/QueryPopular/MainSection.jsx","components/kea/widgets/popularQueries/TotalCTR/PreparedChart.jsx","components/kea/widgets/popularQueries/TotalCTR/index.jsx","components/kea/widgets/popularQueries/TotalQueries/PreparedChart.jsx","components/kea/widgets/popularQueries/TotalQueries/index.jsx","components/kea/widgets/BriefPopularProductsByView/index.jsx","app/routes/search/analytic/QueryPopular/index.jsx","components/kea/widgets/BriefLostOpportunities/index.jsx","components/kea/widgets/noResultQueries/AffectedUsers/index.jsx","components/kea/widgets/noResultQueries/QueriesWithoutResults/PreparedChart.jsx","components/kea/widgets/noResultQueries/QueriesWithoutResults/index.jsx","app/routes/search/analytic/QueryNoResult/MainSection.jsx","app/routes/search/analytic/QueryNoResult/index.jsx","app/routes/search/analytic/QueryDetail/QueryTimeline.jsx","app/routes/search/analytic/QueryDetail/RelatedQueries.jsx","app/routes/search/analytic/QueryDetail/RelatedProducts.js","app/routes/search/analytic/QueryDetail/index.jsx","app/routes/search/analytic/index.js","components/kea/SearchFieldSetting/index.js","app/routes/search/customization/fields/index.jsx","app/routes/search/customization/index.js","components/Onboarding/OnboardingButton.jsx","components/Onboarding/OnboardingCard.jsx","components/Typography/Header.jsx","components/Typography/TextCenter.jsx","components/Onboarding/SupportRow.jsx","components/Typography/Subheader.jsx","components/Layout/Center.jsx","containers/Onboarding.jsx","containers/OnboardingSearch.jsx","app/routes/search/SearchRouter.js","app/routes/recs/settings/theme/index.jsx","app/routes/recs/settings/general/index.jsx","app/routes/recs/settings/index.js","webpack:///./src/assets/images/dashboard/kea-recs-viewed-1.svg?43ee","webpack:///./src/assets/images/dashboard/kea-recs-clicked-1.svg?0c86","app/routes/recs/dashboard/Summary.jsx","app/routes/recs/dashboard/Audience.jsx","app/routes/recs/dashboard/CartProducts.jsx","app/routes/recs/dashboard/Conversion.jsx","app/routes/recs/dashboard/AdditionalProfit.jsx","app/routes/recs/dashboard/AOV.jsx","app/routes/recs/dashboard/AverageViews.jsx","app/routes/recs/dashboard/Profitability.jsx","app/routes/recs/dashboard/index.js","app/routes/recs/analytics/RecsAnalyticsWidgetsPerformance/WidgetPerformanceBlock.js","app/routes/recs/analytics/RecsAnalyticsWidgetsPerformance/PagePerformanceBlock.js","app/routes/recs/analytics/RecsAnalyticsWidgetsPerformance/MainSection.js","app/routes/recs/analytics/RecsAnalyticsWidgetsPerformance/index.jsx","app/routes/recs/analytics/index.js","components/kea/RecsFieldSetting/index.js","app/routes/recs/customization/fields/index.jsx","app/routes/recs/customization/widgets/index.jsx","app/routes/recs/customization/widgets/pageEditor/widget/index.jsx","app/routes/recs/customization/widgets/pageEditor/WidgetListDialog.js","app/routes/recs/customization/widgets/pageEditor/WidgetList.jsx","app/routes/recs/customization/widgets/pageEditor/index.js","app/routes/recs/customization/index.js","components/SetupRecs/SetupCard.jsx","components/Layout/RealGrid.jsx","components/SetupRecs/SetupRecsIndustry.jsx","components/SetupRecs/SetupRecsFields.jsx","components/kea/Slider/BigSlider.js","components/SetupRecs/SetupRecsAudience.jsx","components/SetupRecs/SetupRecs.jsx","containers/OnboardingRecs.jsx","app/routes/recs/RecsRouter.js","components/kea/placeholders/IncorrectShop/index.js","app/routes/store/catalog/Product/TrendingWidget/index.jsx","app/routes/store/catalog/Product/ProductDetail/index.jsx","app/routes/store/catalog/Product/RelatedProductsByView/index.jsx","app/routes/store/catalog/Product/RelatedProductsByPurchase/index.jsx","app/routes/store/catalog/Product/RelatedQueries/index.js","app/routes/store/catalog/Product/StatsWidget/index.js","app/routes/store/catalog/Product/DiscoveryWidget/index.js","app/routes/store/catalog/Product/index.js","components/kea/tables/ProductsTable/index.jsx","app/routes/store/catalog/ProductList/SearchInput.js","app/routes/store/catalog/ProductList/index.jsx","app/routes/store/catalog/ProductListOld/SearchInput.js","app/routes/store/catalog/ProductListOld/index.jsx","app/routes/store/catalog/index.js","app/routes/store/analytisc/Conversion/WorstConversion/index.jsx","app/routes/store/analytisc/Conversion/BestConversion/index.jsx","app/routes/store/analytisc/Conversion/index.jsx","app/routes/store/analytisc/PopularProducts/PopularProductsByView/index.jsx","app/routes/store/analytisc/PopularProducts/PopularProductsByPurchase/index.jsx","app/routes/store/analytisc/PopularProducts/index.jsx","app/routes/store/analytisc/index.js","assets/images/icons/arrow_upward-24px.svg","assets/images/icons/arrow_downward-24px.svg","app/routes/store/experiment/index.js","app/routes/store/experiment/carts/index.js","app/routes/store/StoreRouter.js","app/routes/Router.js","containers/AppLayout/index.js","containers/themes/indigoTheme.js","containers/themes/cyanTheme.js","containers/themes/amberTheme.js","containers/themes/orangeTheme.js","containers/themes/pinkTheme.js","containers/themes/blueTheme.js","containers/themes/purpleTheme.js","lngProvider/entries/en-US.js","components/kea/AlertDismissible/index.js","containers/AlertBanner/index.js","containers/App.js","util/getColorTheme.js","MainApp.js","components/SetupRecs/SetupRecs.module.scss","components/SetupRecs/SetupCard.module.scss","app/routes/404/index.js","assets/images/kealogo.svg","assets/images/logo.png","components/Typography/Header.module.scss","components/Typography/Subheader.module.scss","components/SetupRecs/SetupRecsAudience.module.scss","util/IntlMessages.js","assets/images/dashboard/no-data-available-3.svg","components/Typography/TextCenter.module.scss","components/Layout/RealGrid.module.scss","index.js","assets/images/placeholder/server-is-no-available-1.svg"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","ENQUEUE_SNACKBAR","CLOSE_SNACKBAR","tokenKey","getToken","store","get","rmToken","remove","wsBaseUri","window","WS_BASE_URI","m","getInitUrlByShop","shop","shopId","searchEnabled","search","onboarding","completed","recsEnabled","recs","appInIframe","isSameDay","momentFrom","momentTo","isSame","matchDatesDashboardCase","dataDate","picker","fromIsMatched","moment","from","toIsMatched","to","getShopIdFromLocation","location","pathname","split","genRandomKey","Date","getTime","Math","random","linkToQueryDetail","query","path","linkToProductDetail","product","productId","qsParams","qs","parse","ignoreQueryPrefix","wsClient","domain","KeaWebServiceClient","baseUrl","secret","extraHeaders","prepareDateRange","range","format","calcWidgetCurve","data","a","length","forEach","el","_id","year","month","day","alias","label","hasOwnProperty","total","click","noaction","refine","ctr","count","currMonth","objectDifference","object","base","_","transform","result","value","key","isEqual","isObject","mapDifference","examplar","push","commaSeparate","number","toFixed","toString","replace","groupCurveByDays","arr","bucketSize","dateName","fields","grouped","bucket","added","endOfTheBucket","i","entry","join","theCurveIsMostlyFull","fieldName","minFillRatio","filter","shopifyColors","primaryButtonBackground","primaryButtonBorder","sky","lighter","light","normal","dark","darker","titleBar","red","orange","yellow","green","teal","blue","indigo","purple","bundle","toggleValueInArray","array","indexOf","splice","enqueueErrorSnackbar","message","duration","type","c","payload","options","variant","autoHideDuration","enqueueSuccessSnackbar","displayed","NotificationSnackbar","dispatch","useDispatch","snackbars","useSelector","notifications","useSnackbar","enqueueSnackbar","closeSnackbar","useEffect","dismissed","includes","onClose","event","reason","myKey","onExited","removeSnackbar","rltLocale","initialSettings","currentShop","navCollapsed","drawerType","themeColor","darkTheme","width","innerWidth","isDirectionRTL","navigationStyle","horizontalNavPosition","locale","languageId","name","icon","app","state","action","isNavCollapsed","color","INIT_STATE","loader","alertMessage","showMessage","initURL","authUser","localStorage","getItem","profile","isFetching","isFetched","authorization","account","shopList","shopMap","GET_PLANS","GET_PLANS_FAILED","defaultState","plans","isActivation","status","trialDaysLeft","confirmation","active","usage","charge","GET_PRODUCTS","productList","isFiltering","filterQuery","filteredData","GET_A_B_RESULTS","GET_A_B_CARTS","GET_SEARCH_STATS","GET_SEARCH_CURVE","today","_d","text","thisWeek","startOf","previousWeek","subtract","endOf","thisMonth","previousMonth","last7days","last30days","last90days","lastYear","timeframe","timeframeList","experimentCarts","error","experiment","b","diff","dashboard","widgetsPerformance","stats","filterPopular","lostOpportunities","curve","queryPopular","querySorted","queryNoResult","relatedQueries","relatedQueriesByProduct","products","conversionBest","conversionWorst","popularByView","popularByPurchase","relatedByView","relatedByPurchase","relatedByQuery","records","users","queries","widget","isDeleting","isUpdating","model","page","attributes","updated","changes","forDiff","algorithm","SIMILARITY","RELATED_ITEMS_VIEW","RELATED_ITEMS_PURCHASE","AFTER_VIEW_BOUGHT","SAME_COLLECTION","POPULAR_PRODUCTS_FROM_RELATED_CATEGORIES","POPULAR_PRODUCTS_IN_CATEGORY","POPULAR_PRODUCTS_IN_SHOP","RELATED_PRODUCTS_FOR_CART","YOU_MAY_LIKE","BROWSING_HISTORY","flat","field","dataMap","dataForSelect","dataMapDefault","pageId","sections","toggleCollapsedNav","setDrawerType","setHorizontalMenuPosition","navigationPosition","switchLanguage","getProducts","start","limit","filterProducts","changeTimeframe","getAnalyticLostOpportunities","token","getAnalyticQueryNoResult","getPopularByView","getAlerts","appId","saveSearchSettings","saveRecsSettings","updateSearchVisible","isVisible","updateRecsVisible","updatePreview","createAction","changeSearchGeneralSetting","changeSearchResultSetting","changeSearchBoxSetting","changeSearchThemeSetting","changeSearchFacetsSetting","changeRecsThemeSetting","rewriteAlertBanners","updatedBanners","getRecsFields","recsLoadAllPages","recsLoadOnePage","recsUpdatePage","recsCustomizePageSections","recsLoadAllModels","recsLoadOneModel","modelId","recsLoadAllWidgets","recsLoadOneWidget","widgetId","recsUpdateOneWidget","recsCreateWidget","sectionId","recsDeleteWidget","recsUpdateManyWidgets","arrayToUpdate","forceUpdateRecsVisible","fieldsDataUpdate","discardRecsFieldsSetting","saveRecsFields","changeSearchOnboardingSettings","settings","changeRecsOnboardingSettings","hexRegEx","isUpdatingSearch","isUpdatingRecs","describes","searchVisible","recsVisible","alerts","actions","COMPILE_BUNDLE","title","REBUILD_INDEX","SING_IN_FAILED","PASSWORD_RESET_FAILED","PASSWORD_RESET","PASSWORDS_NOT_MATCHED","PASSWORD_TOO_SHORT","PASSWORD_UPDATED_SUCCESSFULLY","PASSWORD_SUBMIT_TOKEN_NOT_FOUND","stateCopy","isPreview","theme","general","searchBox","searchResultPage","facets","snackbar","dismissAll","searchPreview","searchCustomize","searchActivate","recsWizardComplete","recsPreview","recsCustomize","recsActivate","sagas","sliceName","onboardingSearchPreview","onboardingSearchCustomize","onboardingSearchActivate","onboardingRecsWizardComplete","onboardingRecsPreview","onboardingRecsCustomize","onboardingRecsActivate","orderSlice","createSlice","initialState","industries","audienceSize","wizardCompleted","reducers","onboardingRecsChange","onboardingSearchChange","onboardingChange","reducer","select","shopAddress","prefix","startsWith","open","step1","put","console","log","step2","step3","takeLatest","signIn","resetPasswordRequest","submitNewPassword","keaSignIn","keaSignInWithSecret","getAuthorization","authSaga","postRequest","url","body","method","credentials","headers","JSON","stringify","fetch","keaSignOut","history","go","response","sessionToken","set","assign","statusText","bannersActions","email","bannerAction","password","prepareRequest","shops","test","reload","getPlans","searchSaga","getABResults","getABCarts","getRecsDashboard","getSearchDashboard","getSearchStats","getAnalyticFilterPopular","getSearchAnalyticCurve","getAnalyticQueryPopular","getAnalyticQuerySorted","getRelatedQueries","getProductConversionBest","getProductConversionWorst","getProductPopularView","getProductPopularPurchase","getProductsRelatedByView","getProductsRelatedByPurchase","getRelatedProductsByQuery","getRelatedQueriesByProduct","getAnalyticsWidgetsPerformance","analyticSagas","GET","group","skip","fetchReports","calculatedData","pv","getProductById","catalogSagas","trendingCurve","vendor","vendorCode","thumbnail","filtered","toLowerCase","element","updateAlertBanners","getSettings","getSettingDescribes","updateAppSettings","forceUpdateSearchVisible","fetchAlerts","alertIds","uniq","fetchShopSettings","fetchSettingsDescribes","background","dataToUpdate","updateShopSettings","takeEvery","getFields","updateFields","loadAllModels","loadAllWidgets","deleteWidget","updateOneWidget","createWidget","loadAllPages","updatePage","fetchFields","weight","autocomplete","fieldsDiff","keyBy","errors","loginFailed","unexpectedError","fetchingFailed","savedSuccess","savedSuccessWithActions","savedSuccessWithMessage","all","errorHandlers","criticalErrorHandler","errorHandler","rootSaga","authSagas","billingSagas","settingsSagas","Onboarding","createBrowserHistory","routeMiddleware","routerMiddleware","sagaMiddleware","createSagaMiddleware","middlewares","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","jss","create","plugins","jssPreset","rtl","RTL","children","StylesProvider","Spinner","r","className","viewBox","cx","cy","fill","strokeWidth","strokeMiterlimit","defaultProps","CircularProgress","asyncComponent","importComponent","props","component","Nprogress","this","mounted","Component","default","done","setState","style","height","rows","ready","React","palette","primary","main","contrastText","secondary","danger","typography","button","fontWeight","textAlign","PlaceholderError","src","require","alt","WrappedComponent","SafetyRoute","Route","hasError","errorInfo","SignInPage","auth","emailInputRef","useRef","passwordInputRef","submitLogin","current","onKeyDown","useCallback","keyCode","document","addEventListener","focus","removeEventListener","TextField","IntlMessages","fullWidth","margin","inputRef","Button","onClick","NotificationManager","SignInEmbedded","match","mode","params","ForgotPassword","disabled","SubmitNewPassword","newPasswordRef","repeatNewPasswordRef","newPassword","repeatNewPassword","SignIn","exact","render","Customizer","FormControl","required","RadioGroup","aria-label","onChange","target","FormControlLabel","control","Radio","ButtonGroup","withRouter","useState","drawerStatus","setDrawerStatus","URLSearchParams","has","classList","add","closeCustomizer","handleThemeColor","colorCode","Drawer","anchor","IconButton","Switch","checked","toggle","SideNavOption","_extends","arguments","source","prototype","call","apply","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","createElement","d","fillRule","_ref","svgRef","ref","ForwardRef","forwardRef","UserInfo","anchorE1","setAnchorE1","setOpen","currentTarget","anchorEl","PaperProps","minWidth","paddingTop","paddingBottom","MenuItem","CustomScrollbars","autoHide","renderTrackHorizontal","display","StrangeIcon","NavMenuItem","link","List","NavCollapse","useHistory","isExpandable","isUrlInChildren","parent","listen","MenuCollapse","ListItem","MenuItemChildren","Collapse","in","timeout","disablePadding","item","index","NavSection","Navigation","menuItems","LogoutButton","anchorRef","handleLogout","handleClose","contains","SideBarContent","isDisabled","logoutButton","shopDisabled","searchDisabled","recsDisabled","navigationMenus","enabled","updateWindowWidth","drawerStyle","classes","paper","isIOS","isMobile","SearchBox","styleName","placeholder","CardMenu","menuState","handleRequestClose","MenuListProps","option","CardHeader","undefined","setMenuState","heading","subHeading","LanguageItem","language","languageData","LanguageSwitcher","UserInfoPopup","Menu","mainMenu","getElementsByClassName","onclick","j","subMenuLi","activeLi","querySelector","activeNav","closest","parentNav","selector","matchesFn","some","fn","parentElement","NotificationItem","notification","image","time","Avatar","size","AppNotification","badge","MailNotification","setSearchBox","searchText","setSearchText","mailNotification","setMailNotification","userInfo","setUserInfo","langSwitcher","setLangSwitcher","appNotification","setAppNotification","apps","setApps","updateSearchText","evt","AppBar","Toolbar","disableGutters","val","Dropdown","isOpen","DropdownToggle","tag","data-toggle","DropdownMenu","right","lang","TopNav","Header","AppLayouts","Vertical","InsideHeaderNav","BelowHeaderNav","BelowNavHeader","AboveHeaderNav","AboveNavHeader","CardWithTabs","tabs","tabId","onTabClick","activeTab","tabIdList","Card","gridTemplateColumns","Tabs","indicatorColor","textColor","scrollButtons","Tab","capitalize","string","charAt","toUpperCase","slice","getDisplayString","subPath","Delimiter","Breadcrumbs","show","urlAsArray","Fragment","relative","shift","ContainerHeader","showBreadcrumbs","SaveActionBtnGrp","buttons","PlaceholderSpinner","SettingsToggleSwitcher","description","Grid","container","direction","alignItems","xs","sm","justify","FormGroup","SettingsSelectInput","items","Select","autoWidth","boxShadow","withStyles","root","padding","thumb","backgroundColor","marginTop","marginLeft","valueLabel","left","top","track","rail","opacity","mark","markLabel","markLabelActive","markActive","Slider","SettingRangeSlider","min","max","step","valueLabelDisplay","aria-labelledby","newValue","SettingTextInput","Autocomplete","minSymbols","navigateToProductIfSingleResult","navigateToProductIfSingleResultOnlyWhenIdMatches","maxCategories","maxProducts","maxContent","align","categoryFacetName","useStyles","makeStyles","checkboxLabel","fontSize","SettingsSelectRadio","groupTitle","General","searchFuzzy","searchInDescription","searchFuzzyInDescription","availability","searchOperator","ResultPage","showSearchBox","limitSelected","paginationButtonsCount","Filters","collapseDefault","collapseKeepOpened","limitFacets","maxColors","ColorPicker","displayColorPicker","setDisplayColorPicker","setAnchorEl","Popper","placement","transition","modifiers","fallbackPlacements","TransitionProps","Fade","Paper","hex","SettingColorPicker","Theme","text_header","text_main","main_accent","second_accent","border_color","background_color","Settings","s","setTabId","filters","settingsChanged","visibleChanged","savingIsDisable","isSelectingFirstDay","isBeforeFirstDay","DateUtils","isDayBefore","dateForReset","enteredTo","DateRangePicker","getInitialRange","handleClick","updateRange","newRange","handleClickTimeframe","onSubmitRange","handleResetClick","end","futureDay","isFutureDay","labelText","toLocaleDateString","initialMonth","addMonths","Popover","Boolean","anchorOrigin","vertical","horizontal","transformOrigin","numberOfMonths","pagedNavigation","firstDayOfWeek","selectedDays","onDayClick","onDayMouseEnter","chartColors","chartGradients","color1","color2","gradient2","gradient3","buildchartGradients","CardBox","header","subheader","subsubheader","actionComponent","DashboardStub","imgName","SearchEfficiency","gray","different","accent","howToNameIt","labels","datasets","totalBad","usedFilters","navigateViewAll","navigateProductSearch","navigateProductSuggest","hoverBackgroundColor","totalGoodRateWithBounds","totalSearch","totalSuggest","textYIndex","legend","position","navigateProductSuggestRate","navigateViewAllTotalRate","navigateProductSearchRate","Widget","CardTitle","IconWithTextCard","imageIcon","subTitle","enableBackground","_ref10","_ref11","_ref12","_ref13","_ref14","_ref15","_ref16","_ref17","x","y","xmlSpace","Summary","summary","totalCarts","totalViews","totalSearchSessions","actionsPercentage","SearchTrends","demand","xAxis","curves","borderWidth","borderColor","pointRadius","Audience","audience","bad","noSearch","searchPercentage","interested","Carts","withProducts","cartsNoSearch","cartsSearch","cartsSearchPercentage","cartsTotal","ButtonGrp","Profitability","chart","barIsWeekly","daily","money","weeklyBar","toggleBarType","weekly","raw","date","prepareData","tooltips","intersect","responsive","scales","xAxes","stacked","yAxes","Dashboard","analytics","projection","meta","dataIsUnavailable","datesIsMatched","timeframePicker","WidgetWithChart","mainNumber","CustomTooltip","dataKey","PreparedChart","bottom","x1","y1","x2","y2","offset","stopColor","stopOpacity","stackId","stroke","fillOpacity","content","QueriesWithLowCTR","dataIsReady","filteredTotal","WidgetTable","headCells","TableContainer","Table","TableHead","TableRow","TableCell","TableBody","row","cellId","CardContainerSmall","headerId","showMoreUrl","StubComponent","BriefQueryNoResult","sortDesc","attachLinkToArray","hidePagination","sort","numeric","WidgetRainbow","pieData","startAngle","endAngle","innerRadius","outerRadius","paddingAngle","AffectedUsers","otherTotal","descendingComparator","orderBy","getComparator","order","stableSort","comparator","stabilizedThis","EnhancedTableHead","onRequestSort","headCell","sortDirection","TableSortLabel","property","visuallyHidden","table","border","clip","overflow","defaultPaginationOptions","rowsPerPageList","initRowsPerPage","AnalyticTable","paginationOptions","orderById","setOrder","setOrderBy","selected","setSelected","setPage","rowsPerPage","setRowsPerPage","rowsCount","emptyRows","numSelected","onSelectAllClick","newSelecteds","n","rowCount","isItemSelected","hover","aria-checked","tabIndex","colSpan","TablePagination","rowsPerPageOptions","onChangePage","newPage","onChangeRowsPerPage","parseInt","CardContainer","headerPostfix","subheaderId","MainSection","LostOpportunities","spacing","md","lg","round","TotalCTR","TotalQueries","BriefPopularProductsByView","Array","isArray","QueryPopular","BriefLostOpportunities","QueriesWithoutResults","QueryNoResult","SelectGrouping","QueryTimeline","groupBy","setGroupBy","getAnalyticCurve","wantedFields","groupByDays","curveData","granularity","autoGroupCurve","getData","RelatedQueries","RelatedProducts","QueryDetail","Reports","SearchFieldSetting","onChangeWeight","onChangeAutocomplete","priorities","valueLabelFormat","SearchFields","weightChangeHandler","autoCompleteChangeHandler","disableSaving","entries","Search","onboardingButton","justifyContent","OnboardingButton","styles","card","flexDirection","cardHeader1","verticalAlign","marginBottom","cardSubheader1","cardText","OnboardingCard","Typography","buttonColor","buttonOnClick","buttonIcon","buttonText","header1","header2","TextCenter","center","SupportRow","Link","href","Subheader","subheader1","subheader2","Center","cards","cardsComponents","OnboardingSearch","buildCards","SearchRouter","dashboardUrl","_ref18","_ref19","_ref20","totalRecsViewed","totalRecsClicked","noRecs","recsPercentage","CartProducts","Conversion","conversion","chartData","rate","categoryPercentage","barPercentage","ticks","beginAtZero","ratio","AdditionalProfit","currencyId","noRecsDelta","recsFullDelta","recsFullRate","totalRecPureRate","AverageOrder","aov","AverageViews","averageViews","noRec","rec","WidgetPerformanceBlock","canvas","views","clicks","gradient","getContext","createLinearGradient","addColorStop","toISOString","maintainAspectRatio","spanGaps","elements","point","radius","gridLines","tickMarkLength","counters","view","clickRate","PagePerformanceBlock","widgets","pages","RecsAnalyticsWidgetsPerformance","Analytics","FieldPrioritySetting","RecsFields","changeHandler","RecsFieldSetting","Page","widgetDefault","discardChanges","sectionsDef","flatten","section","widgetsDef","difference","models","widgetSettingsIsNotChanged","thisWidgetIsNew","detectNewWidget","currentWidget","saveActionHandler","values","widgetName","showTitle","maxItemsCount","showAddToCartButton","showIfLittleRecs","shuffle","connect","bindActionCreators","DialogSelect","widgetList","pagesMap","widgetsMap","availableWidgets","isKnownWidget","isApplicableOnThisPage","isNotSelected","Dialog","transitionDuration","DialogTitle","DialogContent","sectionsMap","newSections","flatMap","Add","DialogActions","textDecoration","leftIcon","flexGrow","deleteIcon","cursor","settingIcon","listIcon","marginRight","itemTitle","textOverflow","whiteSpace","itemHeader","itemSubHeader","WidgetList","dropWidgetFromSection","droppableId","provided","snapshot","droppableProps","innerRef","isDraggingOver","minHeight","draggableId","draggableProps","dragHandleProps","isDragging","draggableStyle","userSelect","borderBottom","HeightOutlined","DehazeOutlined","ClearOutlined","PageEditor","checkedWidgets","dialogIsOpen","sectionIdForSheet","closeWidgetList","openWidgetList","destination","srcSection","dstSection","removed","reOrderWidgets","srcWidgets","dstWidgets","newWidgets","wId","notFetched","currentPage","resetChanges","pageName","WidgetListDialog","onDragEnd","args","chosenWidgets","pg","SetupCard","CardContent","RealGrid","grid","SetupRecsIndustry","activeCards","industry","SetupRecsFields","railSize","thumbSize","audiences","audienceValue","SetupRecsAudience","pop","audienceIndex","sliderMarks","sliderWrapper","sliderText","BigSlider","marks","SetupRecs","changePage","completeWizard","copy","prevButton","nextButton","OnboardingRecs","RecsRouter","IncorrectShop","TrendingWidget","renderData","reduce","obj","ProductThumbnail","imageUrl","genStubId","rand","floor","genRandomInteger","fallback","onError","onerror","ProductSection","getParam","productParams","getProductParam","imageSource","picture","ExternalLink","str","rel","ProductDetail","RelatedProductsByView","getRelatedProductsByView","RelatedProductsByPurchase","getRelatedProductsByPurchase","StatsWidget","totalPurchases","userPurchase","DiscoveryWidget","fromRecsViews","fromSearchViews","otherViews","Product","catalog","ProductsTable","rowHandleClick","SearchInput","onClear","InputProps","startAdornment","InputAdornment","endAdornment","ProductImage","getDataForTable","ProductList","preparedData","filterInput","ctrlKey","ProductListOld","Catalog","WorstConversion","BestConversion","PopularProductsByView","PopularProductsByPurchase","PopularProducts","StoreAnalytics","Experiment","calcDiffBetween","fixed","suffix","goodIs","sign","abs","calcPercentageBetween","A","B","Divider","revenue","currency","visitors","withProductsRate","purchases","abandonedRate","averageProductsViewed","averageNumberOfProductsInCart","carts","statuses","Chip","cart","gutterBottom","abGroup","externalId","internalId","creationDate","timestamp","fromRec","fromSearch","quantity","price","Set","Pagination","ceil","showFirstButton","siblingCount","boundaryCount","showLastButton","renderItem","PaginationItem","StoreRouter","NestedRoutes","wrongShop","setWrongShop","fetchShopData","Error404","AppLayout","Layout","layout","onGetLayout","pink","A200","cyan","amber","deepOrange","A400","lightBlue","A700","deepPurple","EnLang","messages","enMessages","AlertDismissible","Alert","AlertBanner","qsObject","banner","closeBanner","Parser","warning","info","App","isDarkTheme","shopToken","__MUI_USE_NEXT_TYPOGRAPHY_VARIANTS__","applyTheme","createTheme","greenTheme","indigoTheme","cyanTheme","amberTheme","orangeTheme","pinkTheme","blueTheme","purpleTheme","getColorTheme","shopConfig","initUrlForShop","ThemeProvider","utils","MomentUtils","enLang","RestrictedRoute","rest","createStore","combineReducers","router","connectRouter","Auth","billing","Billing","Recs","Notifications","OnboardingSlice","applyMiddleware","run","configureStore","snackbarAnchor","MainApp","maxSnack","role","injectIntl","withRef","rootEl","getElementById","ReactDOM"],"mappings":"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","file":"static/js/main.356c750b.chunk.js","sourcesContent":["var map = {\n\t\"./chrome.png\": 1149,\n\t\"./contact-icon.png\": 1150,\n\t\"./download.png\": 1151,\n\t\"./files-icon.png\": 1152,\n\t\"./firefox.png\": 1153,\n\t\"./gallery.jpg\": 1154,\n\t\"./gallery.png\": 1155,\n\t\"./ie.png\": 1156,\n\t\"./kea-recs-clicked-1.svg\": 1157,\n\t\"./kea-recs-viewed-1.svg\": 1158,\n\t\"./kea-search-action-rate-1.svg\": 1159,\n\t\"./kea-search-sessions-1.svg\": 1160,\n\t\"./kea-uniq-visitors-1.svg\": 1161,\n\t\"./kea-viewed-products-1.svg\": 1162,\n\t\"./kea-viewed-products-2.svg\": 1163,\n\t\"./kea-viewed-products-3.svg\": 1164,\n\t\"./light.jpg\": 1165,\n\t\"./light.png\": 1166,\n\t\"./mouse-icon-sm.png\": 1167,\n\t\"./mouse-icon.png\": 1168,\n\t\"./no-data-available-1.svg\": 1169,\n\t\"./no-data-available-2.svg\": 1170,\n\t\"./no-data-available-3.svg\": 501,\n\t\"./no-data-available-4.svg\": 1171,\n\t\"./project-icon.png\": 1172,\n\t\"./rich-icon-sm.png\": 1173,\n\t\"./rich-icon.png\": 1174,\n\t\"./safari.png\": 1175,\n\t\"./shopping-bag-icon-sm.png\": 1176,\n\t\"./shopping-bag-icon.png\": 1177,\n\t\"./tasks-icon.png\": 1178,\n\t\"./teams-icon.png\": 1179\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1148;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+tpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTEyLTA0VDE1OjQzOjE2KzA1OjMwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOC0xMi0wNFQxNTo0NDowNiswNTozMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOC0xMi0wNFQxNTo0NDowNiswNTozMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTU2ODA3MDVGN0FEMTFFODhBRUQ4RDE1RjVCQzkwNTMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTU2ODA3MDZGN0FEMTFFODhBRUQ4RDE1RjVCQzkwNTMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1NTY4MDcwM0Y3QUQxMUU4OEFFRDhEMTVGNUJDOTA1MyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1NTY4MDcwNEY3QUQxMUU4OEFFRDhEMTVGNUJDOTA1MyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjyAiQ4AAAaHSURBVHjaxFh7UFRVGP/de3fvwoIIyJtVEAmLh2RhTvgiQaESxxydIvNBOU7NGE45+keWNpSjVupUM/maUhNjRqexB0OmNoWojaXDoLxEUxRUYFWEXfZ993bOPpAVdr0XUL+Zwz3c+317fvO9z8dgkFS04+XohHbLW8NM9izehvAAmxA8Tq2NtHGwmNXo0quZ03o/tjh36bnqwZzDDERo08bcvOi7ts2pLeakhHarQiGIvgVYEdYYM7Sjhe6WGGbN9GU1Xz5UoJ9vmLk647JpXcYVk5oRB64aQ5JRbEgTD0x9p+a1IQW6bkvehMyLxmOTGo1BGELqSjPYa9PxxozCmtJBA92+Nmd3fpV+yXCDHQ+FAmyoyzGffa6oNmPAQEtXTa+ZVaVPGbCZZdi1ZVq37smPaoNkA/25KKs5u9agwSOktkl685jiOr9+49GLJs8/apCUIk8GqurXJ3dKAkp88jti7lQ8Jhr5Z2DQ6a9T/vUJdMOm3OdJ4BQ+dJ/0ReTslGOqjKN7Ugu8Aq2L5kralN147KRXIPkcSnq/Urg3sw7NKegAEo6N5cDWdCLRMFx+8EZGgY2IBBtvhHi3DeKdGwPGGmoF+8f+5L3ZC+oWewAl9Bn9cyIjDhPPVOCSGpLAMhFRUM57HYqsHDChIzytaNLCfq0c9gu7IRoeAJqxg+UtYHgTeZrBKC2IFEIWkC+Le9IT0eaz5HHGLRPffAcrdlWiOz7JJ1jl3FfBL10O8Lzjf4NVxM1up4NHBzBQK13ZTzBDOPcFhMa993BxAgFFAZl7gPXjrvjRlLBwfm59iVujxb0ZmkaG4my6BhnVjbjkBSxftArK2fMc+xMtArZXWXD6hgDBVcA44v0TYzi8PZ7HZI0K3Pg1YEJigQsrnQA5m6T6HsEat5BHiTuYJvVJ+LmpMPMcApsIWHVnH01SkFYCak2FGYt+NeJUyz2QDiWSPX1Hv1EeysvGLwGbWCgJpJs0XHeYI+qJ2emmj8p0gSqUZz8FRhQ9wFKfdJib0MeVZpTWWR94GOWhvA4a/SmgGikZaBynY0oPpyRRjeZ5Y6qcmIDWiGEeYGngUJ+k5pYCsjdYKgOWVEjNCslyHPFUP8b2Htuf2d1kZxkczE93atIFFi9kOytYlUV2yumRCZ8vS07N2KZSoFG+mC7Fh6EqLdbpm9GjoAwJc0Q3DRy5RGWoLPhIwG+UZDklYw+hQEMexHgoL40ElgKKSGefQlOQMID2lMq40xf4WOlAYVezUhg7g/zwe9bYx1pVKdAOKYx/ZY5Bm6WjJ5lzrPzDqAyVdZDlumQ5Uk0N9LhWSWYjp+yfEAzhVquj4tBkLpeojKNaWdoA0zXpQEW2gwI9KVXgwpgINP1T5tjTiiOX3DJC+0FZcgZRcZwCPSxHaKv1BKyChZRFDgXJSslylJfKWG0WdDR9Iz0ASSE1iYqtbNkrP92i8SJV8KrYiT11+5yVaYpKEljKQ3kpVVRtRpj9smSgV4VhYkFebaM7JE7K0eov/5Wh/MpvUBLp9dNU+D7fH5lEW70DjO7pO/qN8lDeI9UHkKn/RJbZW4SAW7370bVkvSTnB7ZV78R1/Q0sTl5ETErN6u+1zbPazNh//CvYtTugjpaegOkvtdv93/e4LpPmpJk2K3IDJNw/HHMSZ2NK7GSE+AV7fLtruI1TDYdRdmYfdKZ27EmvByfjQlZrCxVSs28q7u/wV5P1g1ygWqMWu85/61gR6nCM8Hd2+Xd0WnTV9fTieDPxtiyQlBptw7eRWtZ3AEG0SroOPDEUlYTT6cG3aR37YOIGO1PqZclXWcOsz+Rc573d62fTpmlIgBpNPfvlcS3yhmcij8u2oLler8skVTWQx4dDUpuNRudAIUTEuECdrACqtEQfmZdXX+ZzUkLAbqA3kUHNvKw2xwLDYOWoJlmyxy0xrbNmNuZKmj0RsHPk5lZPbTrN/nSEBTEqs2S5vy2RuqwZV6IlD8lcYCcPVLMcMTtLMv4KTZNkc1cQTWbOuBbkq82DD7BUsx/IDTDqnzkxOgRwgqTAKTfHHfGmSUlAe/lsClkXpfmnFSpORGFUi6QUdNSkye/PJ2VNnO8nOp9yjX68VjBFVxeWBV3Ei6HtXs1cRyoOTeZzcxvelTGUlk+uEVCx6wbrMRNIMTRjo6amT6tGuyDaYNDaTUc0sjPJYPOla4CR5wIdtZBvmBTDG3l6faCdOW16aT9JW7XBnPO/AAMArh6LWo1PwMMAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RDgyQjJEODgxMjVCMTFFOUJBOEFEMUU2NEE3OEJEOTciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RDgyQjJEODcxMjVCMTFFOUJBOEFEMUU2NEE3OEJEOTciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1RTczMURCM0FGMzcxMUU4OEIyNkI2RTM3QkY3QjUzOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1RTczMURCNEFGMzcxMUU4OEIyNkI2RTM3QkY3QjUzOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkNjDrwAAAanSURBVHjazFoNbBRV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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA0CAYAAADBjcvWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+tpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE3LTEyLTE5VDEyOjUxOjA5KzA1OjMwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxNy0xMi0xOVQxMjo1MjoxNiswNTozMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxNy0xMi0xOVQxMjo1MjoxNiswNTozMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTc3OUFBNEJFNDhEMTFFNzgxNjVDNEY3QzExNDJERkUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTc3OUFBNENFNDhEMTFFNzgxNjVDNEY3QzExNDJERkUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RS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\"","module.exports = __webpack_public_path__ + \"static/media/files-icon.adf945a2.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAoCAYAAACIC2hQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+tpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTEyLTA0VDE1OjQzOjE2KzA1OjMwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOC0xMi0wNFQxNTo0Mzo0MyswNTozMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOC0xMi0wNFQxNTo0Mzo0MyswNTozMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDc0ODhCRTFGN0FEMTFFODkwMkRBNUYzNzc0OEY0MDYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDc0ODhCRTJGN0FEMTFFODkwMkRBNUYzNzc0OEY0MDYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NzQ4OEJERkY3QUQxMUU4OTAyREE1RjM3NzQ4RjQwNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NzQ4OEJFMEY3QUQxMUU4OTAyREE1RjM3NzQ4RjQwNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvThSF0AAAhSSURBVHjaxFlpcBTHGX0zs7Ozl3Z1Cy3o4AiCcBkFx7FFsMGCJOVAFAH+41SocuxCNgZCGYocUK4UNoljkgqFy5A4MRhCpURsHONQcSDBOBZHoIIE2EQYkIy0urWXpNUeM7OTb2ZX0gqtpN3FxF1q9XRPT8+b16+/7+teBneZ2Kq3M8AwK8CyD4JhJ1GThbJCf14oSgPC4RqqHw/vrQzezXuYlMCtfWsaeH4n5aXg9ekEdOwHwmFF8bgvoce7i2rvKtVP++8pUGLvq9Dr98Ng/PK44GKS0t0F9PUOVJ2Ud6uZAPekDNT9HHIzXkXnsE5PHxEYQTgGk3lZMgAHgd5upH8KNizxYHKOCFcfhzqH4D5707Cx+42qQ0kDJZB6KvYT0CdiWFwAo+kUMZmWqr6UjjbA70dBpoTXnujEY3N8WrvLx+EvdebLtU3Co69WbXGOOZt31FepmQDnaDefOboSlrTz8UDmch5stlXjUM5O2Dnn2Gzk5NESS0OzS4fle+x49nAu/CKDTLOMJ8t65m0q9zS/+6+flal95fr77Ykw+j4V36B8IEs++h4slrfAcsP6cAhja/qf8OP0wzAxQSxtfwWn/KWJUevvj+hVljF3UhDHN7RiYroESP3oky1yfbv+W6X6v22knj/nZlw8ExcogeSoUBVvVOtb+XXhg8IKdo6+gdhzkyYk9CpGbLEdwTLjRe2Zo75FWN35QnI66CGr5YrMwLRcER9sdsCOK1q9Vz9TMnrPHOcgPkjVUgLbEg9oIRW31esmNi/cm5PBLsi+BYERR33no22/wunAfcnptcUBiCGU2rtxtSMTRVkyLj7/H6QFCCxvhTNo9WaxDpvKAwFdGU+jZtXiNVoneefO7GDLcurHBOlXBNQE5yS/snQ6rSif4oBj8x+xquQTfO/QTKKMoIg9yNK126I9K0mvC0YA1VnQFM4VbswvpK9JwAI19udhqXQ+eQ+TkQnVxO3592z4RB1eLL+ADV+pQXNfVtQ5SLHdN4yYemUfdlCxLdEXXu6ZjKKmRtRw9+EYU4bWfgHXTLNxWygaf/qd3STIHqyZ/yn+UHFaawvKHAROppvhCLtRRWsGZsbFIBsFWULFj5JhJk3vB5c5AQ/b2rHL+jbmtnyAylv7EmeV43D48jQ4esxamwZSvdfVFNvVSnm+NuPRhi0x1wmlyYYOhBZvgpBm1erfLWrFLz/JTdAXs2CsNkhuF/ZdmKVN/+BH+DwAZcWcPtCkAj3PEpsCXaxOPkhQcLulS7vubOvCT1oewFF+ceIDmCJMvnGpBKLMxgYwgKcjtmee8h70ao+vRylOOum95/DrM2Hk11TilK84uYd5XltUnT4j/vppjK5Jo0w/SVOKWBym16V6qjUq0Kxu0fLPVIAWczdR49Eh5cRxWnGwdvogSDV40QD6o4GV07FEZZVlqlDNQpma6NhhcbgFWW46lxpIClIgRQZanf0PePzEsBwzcNCvMcuIwama9SWN6sJKf8F44wbJogRIkoocMWqnbQ/glrkIFp0/eZDEmkILaSBVFNTiZmMJ0qfKQ32kEIVXrQO1PnXe7CyjcGOCpDH97UP1a6ZpWCnuJNGnGPZ53EAosjPRsxJ9bBAlcj2xVzi0WP29EbCR1KBqNGNcNjvvsC6qllJNvj7AO/SFE02RayMXguTqGs7oUGpQGZXHGlcORDTJUE8DRak8bd3ymH7Y2nzwhs2jmi4lnh+m7YgW5sUku3EINB/0jlwTCiPSjNez0T3M6IuHPowzkP36EnkPcscsWd3J+nZ8mL8RDxsuD/bL5rx4IeNNNBc+DmlyOeomPoVV5g+HNOnsGgbSLnjwfMEJFJjdY05AQOYvMcsR0D5b3ssECLUQr6NIH8mZCCAff6BWOQsu2YrpfDP0jDTi/pPN63Ggcb4WLMemzYV/x7ai43jZ+U28VPrO6EQpzBZuhbJLM4Jkd9VIeGFcu2wde6+qbkPyaVIk0r6/TwvWNRMmCTxOCvPgcPIjQGorPbsWVrIYj2RcjzSoklSlb4hZdPRiIrB60NeTpk6MBnQApGqWgjEiUeuaTaXFKweH9//YUIyKlo1wSZa4Q6br+vE1a4N2Pd3YEQHoikbEMUCvuifemPd9R3NsPPrncX07GTAhOyIBlbWQW4tzh0DqGTQa8/GDYBUWNf10VJBqWpZ5TWVKu56gJ2254yxp2qgGevkjI+LR0F7uI56RFyZuDIGzzinY7ShHfcCOa4F8yAqb0KPH5u7Bt7OuRLWlLoTojYzojk1lNxDZ7JLn7BoW4RPIl5I9Y3kouwFPFdbAEzYmBNJEtvL1GW8OgUQMyMgWF9rRB4F0SpbPBkCO2C77X+M/MrDiwmRteCDMY2/LIzjQVoaPffYRNrTY4ERFTi02FZxEgeCKO4ZEKHVq8CwPjrnG+Kx4MC5Q8vsziZmrHBPmUnU8LtGM6/0TiBEz0rgAphi7RwU36o5aMt4gizCDGA2PevZEWt1IMvgNvqBERMlEVCmBvDLWkQ70z8i7KT59/YsCGgzrqu4EGReo5g75vrUN/pz9/2+QRNAO87rQ75M+H63bVfCL2eaWrTQV9xxkl5j2Yu763u0pH+S+v3PWd+aYW6opiBDukSbDPbJhXeZz/fvu+sT57MtTM92S6Z3yjP8uUgPdz5HFxhy+t5I0Wfe5Ho3v2bakrNjY/dvF6ddnmbnUfztwihanrDDbc/W9vyOQ8j37sWH71oqphQbnjhJj+7L7rZ9lkZMY95m2kM3XHrKdI9/+Sr7ee5IAKvf8V5HY9Pj6tZZZ5tbHcvmeRUZOtJvYUDpDAQd5Fg/Z41aKJy88ZLt1oviHzra7ec//BBgAgpImmE8sBNEAAAAASUVORK5CYII=\"","module.exports = \"data:image/jpeg;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0RCNzFGNDZEOUNFMTFFODg1RkNDMjkxQThCRDNBNTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0RCNzFGNDdEOUNFMTFFODg1RkNDMjkxQThCRDNBNTAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDREI3MUY0NEQ5Q0UxMUU4ODVGQ0MyOTFBOEJEM0E1MCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDREI3MUY0NUQ5Q0UxMUU4ODVGQ0MyOTFBOEJEM0E1MCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtYs0VwAAADNSURBVHjaYmRAAv///1cCUjOBWJABE6xmZGTsRBcE6kHhs6DJdwCxCwN2YAzVfA+H/Hsg3sOIZtsZkEYG8sEskCEdQFwOM/A/hYABSp+hloFMDFQGxBqYDg10qhhYAUwus6CGokYANkAgDFehqe2Ais+E8stJiZS7QCyIxQHlaPxVyAayEAg3BiyGzkITqwBiJVj6xWfgbmrE8h4KU809FBcCY7MC6J33OAoHorMePFLIAdCIhWNGIPEO5lwyzTyLnEaZoLF0j1pZDyDAAJIFPf873grRAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAqCAYAAADBNhlmAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+tpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTEyLTA0VDE1OjQzOjE2KzA1OjMwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOC0xMi0wNFQxNTo0NDo0MSswNTozMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOC0xMi0wNFQxNTo0NDo0MSswNTozMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjlEOTAzNDVGN0FEMTFFODhFN0NGQThGNDE1NDc1OTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjlEOTAzNDZGN0FEMTFFODhFN0NGQThGNDE1NDc1OTAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2OUQ5MDM0M0Y3QUQxMUU4OEU3Q0ZBOEY0MTU0NzU5MCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2OUQ5MDM0NEY3QUQxMUU4OEU3Q0ZBOEY0MTU0NzU5MCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PksZ3FYAAARkSURBVHjaxJlpbBVVFMffG1uKWKA0vgYkLIFoqcAHVAImKjtNCAbKUjShrAlRDB+I7B9EDGtYEtawhYQEowWlbFEWjYIkNC0GIyAfBBewgbDvO+rvmPPM7WWmM/P6lpP8cufN3OU/Z+aee+68aCSDVvTV3WcouigFIL9Pwt5TAxrdkTrRDAl7nWIcDIMsOAGXIB9egVtQisiD0TQL60kxHzrAZiiHaoQ8MerkUsyGsdAumiZhRRSL4VVYBOsQdc+nzRcUFVlJGLwhRSG0hueUv+GBPrZuMBWWwzsIux2w643SNisBQdKmGAZAX3gxwLv8GPpr+62IPBFgqN9k8kRDCGtEMRneh5b1dPwP8AlCv6ljPJnZHZyA4koofoW5SRAn9iYcoN9yyPeo0x6OOH5xClZwuB1e8Kj2NRxKUGgp/MgYhS7XmuHhPxyfILoFJnlUqYY+8Au8VQ9vtoXvGK+ddf50nYFaPecmTmbhLNgF26BrkqLRcZm1dvhxPMQN9xBXCZ3k3dDjrkkMl51hjX3ScRHXlGK1SweL9OUu0neuuUudy/CnlonYGMYf6OfBaRAzfovLh+P6GRr75NE+a1x/BPPkXaJODP4rNT4ugSchRS5F5P+6opb3ZBX4C/IMj7zNgJVck0C7B7KNJrJiFPvEsxKNAmFsKH1ud/PgEEtcbxX3GsdfWuLEltclTozrFRTrQwos83rEgyxxxxHXguPdkOvS0bqAA64IKbAf4zao9Yg5IccXQZa0Xoir4ly2TojuLp3c1wkTJozkhqgvIafKTBZeguflMcsFPTfHQ5yYZDG/pzBLk5yxyrEEztN3RjwqIWV6BncErex38IJmsiIuh2KDVyBPkzWJ6H4gbkfx3j9GLCyMZNZyankwLg7vSdYyI5J5u257MG4f6Uz2s5vQJoUC77utJC10ZuYE7CQfz19LpRttD34YQlxE9yafB8jIY5o3Zgfs96GEGW7+qmNlMe+FvMGJGuD9bK7G2KYB+VbE2WHmXd0yht1bzPLx3kSKCSH6lMm64Klsho6O6sY6EfsMFnLXPxv9ddb9cFnIvjbTz5haAunsZf1oU1+TCXNVg2wsgfbStiMCL9jZzBD7LhIU2Ey3i7EE2483xZkCBxvnDqmLy9McmD9m3B1P7Ul4vAX6yStuq7QcpRl0Omwp4ua4XXB0JsYny4O4KBpILBoKa1MoTLYM0xhrilcFRzc3ZsJwz1ifH4J8iynRvUoy7Qz0oP/FdVVyrJXjrMe+YodmzzM1666Pndc8U2br4SBL3SU7xfEQKV8UFvLOLqMcqI+/X8AZewX2gdzoTn19Aq/FVcbvTn4NpHNEVuh+uK3h1cbQQPfMshe+oXHxJG1qEnV3VDfJZ3QwsZF0+KnHsiUBeAR8AOekpO7ZVE7v+EoySN0ft/36BaFGvSITqRe8AT9Jzoiw/emIP+ZaPJpipT4qt+R0J2xC2PfpjN52wpqn319kuXqsGynZzx4z/ypIp/0rwAB3FGH4cHExUwAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/kea-recs-clicked-1.3c118c9f.svg\";","module.exports = __webpack_public_path__ + \"static/media/kea-recs-viewed-1.590ca58a.svg\";","module.exports = __webpack_public_path__ + \"static/media/kea-search-action-rate-1.6cc64f1d.svg\";","module.exports = __webpack_public_path__ + \"static/media/kea-search-sessions-1.659e08ed.svg\";","module.exports = __webpack_public_path__ + \"static/media/kea-uniq-visitors-1.601903c2.svg\";","module.exports = __webpack_public_path__ + \"static/media/kea-viewed-products-1.eaa633ed.svg\";","module.exports = __webpack_public_path__ + \"static/media/kea-viewed-products-2.76cc3246.svg\";","module.exports = __webpack_public_path__ + \"static/media/kea-viewed-products-3.36b98d0c.svg\";","module.exports = \"data:image/jpeg;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUQxNDg2MUVEOUNFMTFFOEJBNEE5Rjg2MzlCODA1RDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUQxNDg2MUZEOUNFMTFFOEJBNEE5Rjg2MzlCODA1RDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBRDE0ODYxQ0Q5Q0UxMUU4QkE0QTlGODYzOUI4MDVEOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBRDE0ODYxREQ5Q0UxMUU4QkE0QTlGODYzOUI4MDVEOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pss5DqQAAADZSURBVHjavFSLDcIgEC2mC1xHcAU6QlfoCq6gI+gIrlBHoCPgKnQEvEsOQ8jxiSFe8kJzn1fuh/LeDwVZBd0r56wKZIBwgn5CHFLAaegofyODXmQaYTI2k/0RNUCA9WXZpDiJ6OLbZEljKc0nwvJJcm4skebTMq4jK/WPDYQodieymZVhEI9Gojf7Tt84oWaAcJV62dYGEHSB0LG9Sqb5ZuHbJCRbYoccWbiNEdKGTClsbEs3gAp6Ezq2JFNPfo/WDYhx5zTXmm/XV0NVXtqwETSYe20GPwIMAMOe2C2Ee+A4AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUI3RUE3QTYxMjVCMTFFOUI3RkJFNTdGNTdGRjI5QzMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUI3RUE3QTUxMjVCMTFFOUI3RkJFNTdGNTdGRjI5QzMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDMEU3RjFERUFGM0ExMUU4QjBCN0Q0N0ZEMDdFQjE5NyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDMEU3RjFERkFGM0ExMUU4QjBCN0Q0N0ZEMDdFQjE5NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgizGl0AAALLSURBVHjarJdJaBRBFIZ7FoWgRlzANSDqwe0g5BYDKiqiHtyNoKIeRHBB8KLEBdfkECUg6MH14EFBXAhkCNGIHhQh4kIOQbOYg2KMGhVHRGISvwevpWm6Z6qnuuHjTVW9rr9f9atX04n5q+tbHcc5Crcc86sUTsNST18bVD+6s/yayQRJmAHTIogeguewCK5CJdTAgLQXrMk8MJkkQcSD2D1w3sD/oEQFVfoADhH+H0R0CaYRntI/L1/EptckFb3givovxO5jyqGMh9gbl3CN2t25nBB/IhHDubiE18JDQ9+zuvRT4hAeCu2Gvp/Ujo9D2BU3uXrUvgtzSEcQlexP5HJgaadidoCb6g30NWCv8O7bbSLOJXod06FbTpa4D8Zpu43xG5CKTZjJiuEjPzfDfhgCC3XuUm3vg43y7vEd4xXuN9RJBfS90AhLWM5a+Ktt8Z0obZCtNQFE9KVXuM+kygUIV2q5ncXk7wNeYdKzv7vVt4SoT7oD5YYRt/jaclA0MWmryc34dWLq4bAI34Vtee6pVnvZ0zdbbVXEtKh1l2KTdnTBqADHrZqZp+Czp3+m2qCi0qW2MyDqJswX2ce/YS68gl64Dc1QDBX6XuSMPRKSaL28M/FZpXkgx+McHTvBWIdv/4+WmuAWkNcwUmvsdq3Lcr2FDSF/Evo1giyTL+PnGd/4d9gVstxZOY+DBobDnzzZvk4faDLiHxAf4YlsUCNPBlS76ZAJK5nZCMmS0sh/GhYcKTZFcZTMgYj+RbISNsKJQoR1L5elLYRTEcutV7zFJuJutWMLudlGuFntlkJutlnqX1Kn4YBWNtNjVP4MXrTN6vU6WaOhaJ0kFrxJWwp/01J5j0kfy4OQOD0BgpIHN/XrowKfZ2GVK0qGOloyM9olVj5jvmpdXgwrdGwl/nXuJ4y1sEYlZfY47IRhvly4BMfw/eF2/hNgAOQe0/G6A/gXAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDgyQjgxRUExMjVCMTFFOTk4QUY5MDc3RjU2NjgwOTYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDgyQjgxRTkxMjVCMTFFOTk4QUY5MDc3RjU2NjgwOTYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1MDAwRDgyMkFGMzcxMUU4QjVFMkE4MTg1RkZEMzI1RCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1MDAwRDgyM0FGMzcxMUU4QjVFMkE4MTg1RkZEMzI1RCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtgOUqkAAASVSURBVHja3Jp5bAxRHMen23XWLcTRiPuKBiGKkOIPxK3UEUQJcR9xJIirjgQh4j6DIHGmjqRNRJx1E0eUuMV9x02KWt+f/Q5P7azpzHS29Us+eW92Z970u/Pe73jTsJjOSQc1TSsDmoCXmrNWEcSB5qAKKAq+gkfgIkgGO+3c4HBim5+tlzcRiwKHHBJQCMwFgw2+Lwnqgn7gFpgEdti5oQj5AAqALw6JiAa7QGke3+fxRT7xXKASiAHtQGWwHSwDw+0I8bHvc0BEfXCKfflhxoLl4HuAc+eDaiABdAfDQHHQ08qNPQ6uh4IyZdmXNVALLDUQodt10ANM4bH0p4ZayDoQAdJAA3AzE9fOAkvYT+DUC4kQmSJd2ZcF/NjCGCPBXfbnhUrIILbigbbYGGci21i6ateFtGK7xuY44oLfs9/abSGyyKuzf9LmWOIYTitxzVUhxZRx3jow3nMlqLoqJCyLxvO5LcRnIMqqpbH9EKo44oTlZ3QXK8XUKccIqQFmgOPgKWjPz+N5LA5kNjOFbCmkAtgMrjJFaUwPqJpkCg2ZHV8G20DV7CRkCPOsXorbnsHYkcTPRGRLpizH+Fk3Xjc6OwhZxIxY0vlU0JZPYxrYB57xvHtgP5gOmlLUeX63EKwOpZDpzKnE1jPoJQeYToHiiIiqB1bweKCak3ms+m0L7rcJf3WxVaC/xfsN5RMRG98sNrllRiHfLA6cblLINrbngpTAZm0MOMr+FogJEyGflZzJan2u2zuDc3pxg0PPbJ2wLkqKNEiEPFRqbau1iMas9a7BObqX2QoeOCRE6v+17A/2KOXpAIsD9mZ7wGB6lmAtrykL1SnTx6vtUUrMipx7mbHGyiNeYHCOHpE/gRMOCzmv7/6IkDvKHyFtnMlBovgUxHYrQSujlWebasOhaP/YwPgVR8aBs+xvZzTNE+Ti/vw18rJ+6BHk3AKZrFV0h/Ha5PlP9H0t1c8fYDuVAWcHK7ZX9E61QQelepNtnxgl9Q4WZ1TXXBg0CuCuvyvOow6jeXiQcYVICQGqkC9MBWRrZoLm3ykcGeQP3ARGmPilAwmRWFL5H9d1IGbsjTfAh5MZecX3t2CaXYSFzm2uBQluF2zM6xR6s3Dt7w28dIr3mEyhZOp6vQZfiq+fQ/SCJy1DFLdjssaGOVBRimDZeI/2mrzgUxZ4m88OjZOWHUtdK+b9X4RE/C9CPmaMIznV+oLmbgixW7gFtcOJbWTj/JabU8uXlYO7IeS9UgDlaCH32NbMyjXphpArbPNp/s22HCvkhfb7Te8Yh8cu3iw2OZebcUTP2TozCXXCIjltr0BMuFtC9mj+94tiiQ6NuZdRvazbkV1/61udVagdk13Kuuy3RixJd1PIJTCK/TjW+RGZHCM3t5Ti9doJIlJCkWst1vz7v2IdwTXQx+S1PXl+dx7Lvu/sP1Jgly2Bi3Q1F+xGzf9+Xf7x5gy/+8hirpzm/y+KTtqfL3rktcTKv3L5ENgGcATMZEldw6Q3k7UlL4VuBCxKQmSyvdqb00Ne4EQz+keylk/nLs1VPinZ0Uk1GuyHAAMAETnzUG8MMiMAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/no-data-available-1.eb5248c9.svg\";","module.exports = __webpack_public_path__ + \"static/media/no-data-available-2.bd7a1a8b.svg\";","module.exports = __webpack_public_path__ + \"static/media/no-data-available-4.94ca8658.svg\";","module.exports = __webpack_public_path__ + \"static/media/project-icon.f10f27ed.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAeCAYAAADQBxWhAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6N0JCQkVFQkYxMjVCMTFFOUFGRDc4MDVEREU3NzkxRDciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6N0JCQkVFQkUxMjVCMTFFOUFGRDc4MDVEREU3NzkxRDciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCMDQ0MzA3MkFGM0ExMUU4QjBBMENDQURDNDQwREVBNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCMDQ0MzA3M0FGM0ExMUU4QjBBMENDQURDNDQwREVBNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoGTNhEAAAMaSURBVHjatNdZSFRRHMfxGZ1CyZXU1EwqzHbLaLEHSWi1KOglpUBtfymCeoiSFnqpCHqIIeihIvKhKHowTWkBgxaEtB17KItMA62McsvK6XvoN3AbZsaZqx34MMw9c+//nnv/53/OOD0ejyNAK8IOjMJnHEAc9iEBX3ACtY4wmyvA8QJcwi60YgVuoQ8XcB95uI4peBNWVDNSP6ahBwstxzKRbPlehA6kBbhGQME613n+tgw/fZnqWxxuQMMZ5J2aVokJmIefcMpNfV/msNEGC2qS6Aa69T69eZCK+Q6bLWKQ/n7cQTQSlbUmg+8quWL/R9AxmK6RftLUaUcWajDX8tvI4Qr6ARcVrMOiWcEPoRz1mDXUeWptaZiIEfitG/Vovo7GHL2CpuFIpGxcxkg8wS/LkxnQzZi+w6gbjuKwSfPwKhIC/CYCu9GLa4gcSnGoQb+Kg/W4K8BFsvEUH7E83KCmxL3HC6TrWBLO4zXcg1ysXE9nf6hBo9CJSp8yaOrvPZQiK4RR5CvwnlCCVuG5pWO7Ti61UVvHogsFGkycPv8JuggDSNTBPAVcaaeYY42Sy7RGvMIzPbEKzDA/uo1zlpPMez1uM+BZJeFmjTgF8Vr+ClFn7sSlknZEM2iD5t5em7U8Fz1aDHLQpdUoBlHo9Fakb3ikk7ag2mG/dWsApkQWYrxq8g+0qC/dperSo5PMDTwYQtBoVaqTqPDTH29uxLf2Fuuuwm2p2qi1YacW91YtDn1aEtORgZQIPes0ndyrkYfaVurV1OtzNUpQhndab1O12zC7kJl4aDKuGettZGqxpsVRTFZ2VqskBjrHZHG7WWXc2gMtCGOEcVpTzQrj9ukz29OpGv1X7T5itdcyMyXGPN6DSvG1YQRdqoXd7afvmBKqSbMjVnlyRXvket+ylxvio83B4wB9JWgIUiI93uw9g0lo1Av/rt2B098SrL3TbKzyM683ajdRreLgVMEZpx3IKd+dwxJsUwYHC9qnR1am/zjmL0gyTiMJW5Gvd+tS0WhAFd46bNZYL5P1L9GGFtRqDQ563h8BBgASAtRpZBfVswAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAAyCAYAAAD1CDOyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkQ0Q0Y2NzExMjVCMTFFOThDRjdCMUU3OTI4MkVEMEYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkQ0Q0Y2NzAxMjVCMTFFOThDRjdCMUU3OTI4MkVEMEYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozOUZGRTU0NUFGMzcxMUU4OTlCQTgwNjREMTg1RTM3QSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozOUZGRTU0NkFGMzcxMUU4OTlCQTgwNjREMTg1RTM3QSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PlAXw3QAAAZvSURBVHjazJoLTJVl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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+tpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTEyLTA0VDE1OjQzOjE2KzA1OjMwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOC0xMi0wNFQxNTo0NDoyMSswNTozMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOC0xMi0wNFQxNTo0NDoyMSswNTozMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUU0MUVGQjNGN0FEMTFFOEJBQTJFNjc5OTFBMDBCRkEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUU0MUVGQjRGN0FEMTFFOEJBQTJFNjc5OTFBMDBCRkEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RS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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAfCAYAAAASsGZ+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTUyQUQwQUQxMjVCMTFFOUFCMjNFNzI1RkMxRkFGMkEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTUyQUQwQUMxMjVCMTFFOUFCMjNFNzI1RkMxRkFGMkEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5RjBBNkM0MkFGM0ExMUU4QkQwNkE1MUE1MTNDOEZBNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5RjBBNkM0M0FGM0ExMUU4QkQwNkE1MUE1MTNDOEZBNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsgBbMwAAAK9SURBVHjatNZLSFVBHMfxe4/aw8qgp2aLsJJI6LXUpBZRZFCrwmhREELRJqIHGLWJIiRw0aJoEe1q0RNKahGSlWSRJEUPNAlJyR6k3DSt7Pb92+/A4XDn3Nvj/uEDesY5//nPzJkxnkwmYxlGHHuwAR9Qj3uZdPQyTDAb97ETA5iDu6jNpHOu44Xz9aK5KMR2tbXjOO6gGF34jFORUxCYrrG4gaXIw0e81dS04Ql24wdWYxcOY4YGO+LMYkkkHyOoRl7geVANLqM4+TtOoB39aMRJVIX7BddkEC+RwHfHmGyapuO0fn+uqd2MVpThAh64KjGPcSxFBStRhyZVkECDfq4I/e1B9Loq2YFlGKPfZ+IienAJa9CCSsxCFRqxLVTtQq3To3AlJehEM84F1shirWN9zH6tSfBZK1ap6vP2zN/C17S7XmOr5tev0kZehAmh78q25SLMw14Mq3rbnZPRjAM4ZFu4UFPSqAVPqtyf6FbnfH0X4bB+HViCSToVujWoXpTjSkwL1xExJaWYEtFeFtF2FS1W/niNPtURU6uyn+oDDIZtkOu4iSZVEo4hq85T44imJxxb9NXna22CYYNbp3Ws1DqEw06LXEsy0ZEgppcs1vweDbX1YyNW4IgGE453yMlNk+SNpqJJpYfDvqNXOOPo/8mSWCVTdei5okADcV0VcZ3YqeKLn6QoopKYTuMSR5s9L0VnRBLP04EXVYndH+uxIEVbg3Zej6Nvwk9SoNvOFbd11b5AHZZjk9ZiGioi+o4m8Re+L80Nanf7M+xTgqSOnuqIa8FPMrq7xukKTRdn5U9iwP8YPe3nbIRt+6+e7uf3WUryzW5cS5KT4XT9TQz7lXhpdte/TtegnySRpSS2C4f86cpWEos+/w55mMUkbXb9Wkm3tI3j/zmBva/cktTrH4K8LCSx6PolwAAABNqiUzqfZAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACsAAAAzCAYAAAAO2PE2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODg5RUZBQjMxMjVCMTFFOUEyNkFFRTUxNTJBN0RGMDIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODg5RUZBQjIxMjVCMTFFOUEyNkFFRTUxNTJBN0RGMDIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMjM2NjBGNUFGMzcxMUU4ODg5MkRFMkEyMzhDREI2OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyMjM2NjBGNkFGMzcxMUU4ODg5MkRFMkEyMzhDREI2OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pnk4n5cAAAUJSURBVHja7FltiBVVGJ473XJX9653b+RGWCZpLQlREhpp7qZJH2u2LRiZP5SyzCQQMYm2H2E/+qFoRQlFFhkEZYpGWpiVqW2koYF946bRl/bhfqi3Ld2154XnLK/D3Jlz5l68V+iFh/fOzDlnnnnnPe/H3FTjnZu8EkkV0AxMBoYBvwMfAu8A/xSatG39bdY3SJeIqJB8GhgVOP8Q0AE8DLxb7E38EhB9jNa7FFgB3AxcA9wBvAJcBmwGHi32RkksmwUuBC4GJgGP83wncAXP3wV8AbwNPAl8DDxFK68tNVnxueuA0bx5AzCSx6kCczJ0B5Fb1Ws/AFxC/QawAThRSrIvqxtr+Rk4CHzHmwt+An7j+RnA68BFHH8t8ATdoJ2ucjfwWinJDqKeA3wF/AgcAfpi1uugHkn9IB9aP/gaYAojxWd88KLIfgncBGwEuhwe/k/q4SpK/E33uZoPLxtwNuE1tW7+F2oL8IFYH6Fsl2s0MBaa7PimDlDXUMtG3A2cAj6lm9QCVwHz6MN5YBqwUiwN8htcyR6kHuFIVkj9AYwDXuA5iRi/AH8BQ3huH/Ci+C8sWUe3uT/gQtZkt1BfbkFwBC32PN/IBYwgDwA9DF/tinhYFhPj7ODhUheflRDUxt/1IdclS02kT98CnB+4/h6wk6/9cxKW+PstcGNEJruXuhWuIOOfw0P0xJGVYuEG/q4LXJvOTWekj+O30np7C8RQ41atwJICZK+nvodaNmJjlBu0kOgabozxgevnUkt6HcOHnca6YFdEsJdC5hum3urgRViyim/re/q7rD8J51uiyEpA/5VhpT1k4XXASe72rx033wrqK0OuNVAvx6vfDdyO34fIJ9QNlpPcW8BYteh93DjnAL0s/ZqYUnsti6E+5VILgdVcT6zax/grksOxrN3NuDsLx/IAi+ViivVsHTNUpUoOhDvTqnAR2QO8ytcs/tdP62vrnWA87aeuiihutMj4o/T7wYFrJ0PudZzuOJb8BshWqbDz7Jk0WVSnABeoJ9lqvcFqVAaykSnMQoeB+ZZz5nP8Ps63zYieyXy+PqBjx0kD4+pobrBVKjYWklkcZ4qarSoCREm3NqYhW0vdY7HATOol6veimDkLqWerpDDT4l49KqsOhC5D9pjFAnuon1HndsbM+YSF+LaQdaLkmOYXtOxRiwU28pUa2c6mMa6p3K6OVwXSdpxlTyObcXADkQWsAzzm73zM+LzK83s533OwbEaTHergBkZ6qVOW41OBeS5kh2qyWRWIbeW8QL8WJ4MC81zIZsMsm3dYyFeZyUb6E3xYyYeRzSZwgx8iCvQwqQ/0aTZyvFRuYL6szLMcb8a9WawbZBM4/1o+XFtUk6eawDbe3PrzEeqG3kJkXT/p9PPjm8dCfEKBcRNUod7i4OO6ysvqDJZNWM9KgTwXeIlZ7H1a7jB9VLreqRw7l+NdRT745QzZFHWXl0xWs5JaRmJTA9clcz3CHi2JCK9hKBdTadVnJSXrkUgj2/Tx7Dw6+S1rf5Elr6m8qtOqau/yipf9JSAXZlmRwb5jLVsOMWSHnA1ku8PIdlU42Rpf9V9nhRtkKpzsQGvjO7Y05RDTvdT6js1i2clmHPqv/93AtsP1Exbe5SCb9RMW3mdS8ppsjgcdlcgUBbipNXJp5bNN5bAuSr+4ISbD1qZVBvvIq2ypEbLyv1MzLSyF+KkKImj4SPja9J8AAwDQ8T/dQW2HgwAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/tasks-icon.644bb386.png\";","module.exports = __webpack_public_path__ + \"static/media/teams-icon.b0b2d9f4.png\";","var map = {\n\t\"./product_stub_0.png\": 1314,\n\t\"./product_stub_1.png\": 1315,\n\t\"./product_stub_2.png\": 1316,\n\t\"./product_stub_3.png\": 1317,\n\t\"./product_stub_4.png\": 1318,\n\t\"./product_stub_5.png\": 1319,\n\t\"./product_stub_6.png\": 1320,\n\t\"./product_stub_7.png\": 1321\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1313;","module.exports = __webpack_public_path__ + \"static/media/product_stub_0.67993b80.png\";","module.exports = __webpack_public_path__ + \"static/media/product_stub_1.2fe409f8.png\";","module.exports = __webpack_public_path__ + \"static/media/product_stub_2.58565f43.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAhdEVYdENyZWF0aW9uIFRpbWUAMjAyMDowMjoxMyAxMToyNToyNtNslMIAACLySURBVHhe7d1p0ytV1QbgMKnggAMgg8pBZB6cAGfLgg9S5f/x8/uzLPWDpWUJyKxMoogiOHBAGRRRkPe5+jzrnE3T6XSSTqe7s+6qXUk6Saez97rXtNfefdaLJ0++s0gkEo04+/gxkUg0IAmSSLQgCZJItCAJkki0IAmSSLQgCZJItCAJkki0IAmSSLQgCZJItCAJkki0IAmSSLQgCZJItCAJkki0IAmSSLQgCZJItCAJkki0IAmSSLQgCZJItCCX3PaMd955Z/G///2vam+//fa7Xjc9Lx+jeR3nKlsca3qE8nkbzjrrrONnZ557rD+vt7PPPvs9z+vHtHPOOeddr6NNEQdPEML41ltvVcKslc+bms/HY/k8HrsK6SEiyFOSxuvqmMfidbRzzz339GPZhsKsCfLKK68sXnvttcWbb765+O9//9so/H0JdGhMg1kKQL01ad2mx2hx7mXH4nmgfN6GuuWJ1/G83uK9UAzle/G6fOzSfHYT+I9Ict5551Xtfe97X9Xe//73Ly688MLFBz7wgeNPbo/ZEuR3v/vd4m9/+9vxq2ZER2t1jVU2xwhuvG563lUwE2eAIGF5Q2Ets+COly0UXhPJPv7xjy+uuuqqijTbYpYEef311xe/+tWvqufnn3/+4pJLLqkeQ/iDFIQ7MW0gD7Jo//nPfxZvvPHG4uWXX67Ic8stt1QWZhvMkiB//etfF88880xlcr/whS8kEQ4Mf/nLXxa///3vF5/+9KcXn/rUp46PboZZSk6YXaY2yXF4iPFnXbbFLKUn4oGMCw4bfYx/qtdEogWzjEFkr2SxLrvsssWJEyeOj74bArp//etf73HB6lqnfN3leR1Nn1v2+frxpu9C188dKv785z8vnn322cUVV1yx+MxnPnN8dDMcLEH+/ve/L5588snjV/PGtuRa9Zm2c0K8XnUeaPtMvL744ourzOQyRJCeBFmCF198cfHb3/52cemll1b58CaYQPz1r3+9uOiii6rPlfn0eN50rMSqY/X31/l822elMmXqCAwhaEpE1L/f9rrL8yY0fXbZd06/f+pF9RyazlFHedycyauvvrq45pprqrFrQhJkBboQhHv1yCOPVJro6quvPj46DSA2ght8QnBIMN9x//33V+lbadwm9EmQWWexlmmkEv/85z+Pn00D3Efk+MhHPnJw5NgHDj6LxZLQSlMAwv/pT3+qXKrPfvazx0cTu8TBWxCfOXny5PGrcYPrqPBSkKp0JrF7HLwF+eAHP1j5rF3ItG+UgXliGBy8BRGkK2BcVfm7b/z73/+uijCVc6sxSwyDg7cg8LnPfW7x3HPPVZOHY4W1LcC9SgyHg7cgcMEFF1RpQ6nhsUIyAViQRDf04TbP2oKs0z3mTCywkT8fI1i3WEGXGA6ztiBHKuTUY0eYMOTrS6WOEUmO4ZExSAHEuu6666qJuD/84Q/HR8eBJMd+kDFIDSbhrr/++sWbRy7Nb37zm6r2Zwz40Ic+NJkJzTlh3jHIhkEagl17zTXVZJy17YoD942PfvSj1TprE4WJ4TDvGGRLKIa78sorF0888cTihRdeOD66H0ggWEL80ksvHR9JDIGMQVaA5r711lurSbpHH320etwXVKaa9e9jrXWiGzIG6QBbBF177bXVXIm45Omnn96Lq2NDtMsvv7xaDJYYBhmDrAEujm2ECCprQlClhYdEzNfY1iixe2QMsiZkucQmsd+WRVesitTwULCMWNr38ccfz8zWjpExyIYgoFYrfvGLX6w0ukCeVVFxO0RqGElZE6sLJRDGko6eGzIG2RLIQaN/6UtfqtZIE9Zf/vKXVZzyj3/8Y6fXwOWzvaY09EMPPbR4/vnn06L0jIxBeoJAXgDNophoRNKnnnqqWj8tVrGLyi60vN9VInPjjTdWBY0PPvhgtVuLxVXmTRLbIWOQHUDFrRL62267rXLDaHVxCstCeKVq+558NKlppw+WzHp1v4GcJjr/+Mc/VuXy6Yatj4xBdggLsbhdLMrtt99eCbDYhSv08MMPLx544IHKFRO3RDn7tnB+lozrxZp98pOfrDJtQdDHHnusKsa0dc6QFnaqmOW2P7QzAVS/RFCaENv+0PCC3aHhGml1jbByhxDKNX/4wx8+/ciF6gsmOf1W3FgIWBuToazeFNa5s8Zdt/2hKFRCbINZE8R6c7PgTdg3Qeqw/RChffWovXYkxLG60ZxLSRj/qQ+wHkEYyQS/bSnvxz72sSr491v7dlWbkATpAVwKWZ0pEaQOM/WENprrJdSllaH9PTbtrLgulK+wLJIJmt9Clk984hOVhRkLWZIgPWAOBKlDgE3jl6ThlhFchEEWbpLHPoTZ+RHF3ZoIJasSZNknhiZIzoNMBKwE4bflTwT9ZvMRnGskrWtm/b777qsmLQnJNptQsEyKI/3GzTfffHo5ssSCDS6GLrHZF3IeZMIQVMtSyY59+ctfroSZxkQmqV3CLM0ra7aNQPsd2lpWzIpL7pjzyoiNsfy+T3cw50FmBILMXSTELIzJQ+6XNDKXk0CzNNvMhzifygGEtKcYS2VyUgXBHMvwcx5kpqAkxCRcMJOHn//85yu3iXtEoD1uM9POStmj66abblrccMMNVVIBCa3lFyfMBRmDHAjs/SWmQBaz/JIUQZRtZ9hZLkTk4smyKdp0h6c5ECVjkAOETBQ3zCRqaP4+NvA2qSm7JFYxoy9O6YOA+0TGIAcMmp814SKJUxRX9lHgyP2SbePWUVIsylR20K8jLUiicr/EEiyL9SV93VSIu8WtQ0DZLunnqaWH04IkTkPK2Np7exQrP+kL5mm4dG6qqprZXWinggzSE+8CayI9bB6l7zkOFioWeE1lufCsXazEZhBgI4myePVZfYLb5fZx5mvMyyiWHDMyBkk0IrY6shpyF1scqe0Sm5g3GbPLlTFIYilkuaRtLbbaBcQmkgMKI9V59Y0+FGTGIIlWKCcBJSW7gJQwS2XMrK4c25hlDJJYCWXju57wU9/FYiHJmJAxSGIlxAv6ctc3OuXOWUE5pq1VZ0uQjEP6g75U+DjEnYBNLPo9FmsMSAuS6ATzI2bYh7gTsMJHgfsYylPSgiQ6wYpCGOL2D8bOIjDzMH3vH7Yu0oIkOiEUzlC3fYi9j5W97HMc04IkOiGqfIdcNSjusfGGJcP7wqwtSKI/RBWueYshIWhXij+U5apj9hYk3ax+EDVTEYsMhdgUfF+35U4LklgJ1iOCZevah4bCRlmtvtaprIO0IImV4OKAmW71U0PDWFpLso9YZHCC0EQyE0qdFcH507RDYpywZiMIYheTfUFNmJ0eh45FBiWIP2dJp72ZTDjJjFiY41jclckinT4yJWlB+gHf33hYx2HF4b4gFlHyEmRtQ58ZzEEJYuIHKU5cderefqo4wSZk9tC1WbIOsPeq9cueDzFzm2gGZUWZgU0Y+rwVwyZwr5Whd3IcjCC0kNIByy4vO94sWofLimh8Wx1gJdtXvvKVapJI9ShXzPYxyLVOkJYWZDuYMY+iQXMRMkn7hnmRocdzMIIgB4GX1y5hI+Yms6mqU2DG0iCN7IntLW12ZnGNTQW6lF8nQdYHRcSCU2qxsrBPt2VTmIOxgfeQGIwgTKM/WL8BjNdcKwH7sviD/0t7xD34pP1oOBue2SWjyRUbw4BOERQPq80VNl52I6GsxoJZEkRnm2hyf4kmcLFoKRsjy2pxqdqC9VgKKnZxh1cDGfcpVyY9REHd3MDSSphQOBGUs+5DC+QqkJEhMcgNdLhXMlRcJZagC5h5yzylhZHBQK0qczCwUsYsStwlyQ4aYhsDXsLkFwskM7JNp3dx4bq6eX2eC9b5XUqlVCz6W4l7G1adv6//U37GGBtbMrHsBjrWrYifuOhWKm6DQQgS7tMdd9zxHkFdhRg8ZJGT96cN3qrzSCn7TURA0HDlNBYIxDS0ZpdB6htdXMCubuKyz237/RJdz7UKffyW97nZWhMmRRDCZ45DlsperdvAuVgWFsLu5DIrLFKX9COi0DxIoYODLIL/ckCWDc6qQUuMB5MiiKBPfCBWiB0y+gKysA5+gzYh8F2K6ZhpMRGi2RhN6tl3PQ5djJfoH0EQMmG6YBvsnCBSstyj2267rVoEsyuwEG44SejFHNwortgqgWeVxDncMdfJ0oV1GTogTPSDSRHEffLMV7gl2FAQq3ClWBdCrqO4UquCfPBdFsluf1LHQRbWpcv3E/vHZAjCBZJ6lW2QddgHWAduFOvCyrAuhB1xVgm8zyOL78qOSQyId7SuZFmWAOiSGNjmu4F1zzHUdZVY9b2295vec4xSHj1BzEkoEXFrrsgc7RM6TUaMwHOpWAZpXtZlVVbMdxFeoE9DgTRotDph+gz2u35nk9/scu59fr/L+eswvrKToycI60Govva1rx0fGQ9oGdaFhVCQxyqYyJQV60Lm+C6yeG622fe0LtZlldZMbI5QZKMmiHkIdVPWELjN19gh3uCKsSw6GFkiUO8y5xJE44pJDCCMtokG3ARD/c4UYApAlnLUBJERksG6+eab97JMc1sQelrI/3D9UtQmG1dZB66YxITyGlk7sZeBSgyHPoP0bpHmBuAHwlRTpdK9Olj8ZLLJ3IlyGYu7WBkEaAKCeM/AKKyUEPC9KdxNKfFe7IQgUZxYn6WeKrhYBF1lq/tZcJ0UVarlkg6W7QpiKPZjZZDLo89yMaN8PDEt7IQg/HFB6BgW2fQNhOdqXXnlldVaFVkw/zeWDQvYFWWW8B0u2lg2ZE50x04IEu7V2Eqld4FwxSwZlq0zIdoUc8lumbhMTAu9E4TloFG5Fl2KCA8FMmOZ2t0dYo5LqVGfiqj3LBZy8LcFqZm9OQPxCmtTd78SqyF208R4mpS8LKNHLq1WX1EKfWSxeifIM888U7HYar+sjD0F1sOkqWB/1ZzKoYOVjcYqrGN1pdVVNYgRNZO+2xbI9k6QfRQnjh3KHva5Q/kUIbEhC6h5HspFO/dI6M87ct8pYFZZE+PtwqXvlSB8QOvJ25ZDHiKkfs2w96E0nEfGzBr+ZWv8u8LMv10uJRho3H2htBJjmxboNUiP7JWK2cQpGHwz8spWtoXJxvC113E9VsE8jub8rP/QQIpoY0OvFuThhx+uAqYxFifuC2FVV2l8gk9II/iMx2iC05IUtkDaVhGJFcWMdRBU7gr/PR610qWRpdzWv58CeiOIwZWpmUpx4lBQE8SV4V7xpxXSaZF90ZChTXPzuwlnCKQqhT4IEi6W8zi3a4iMUZk10pquz3VFBXMExl3W2UwJvRHECj4bHU+1OHEXIFT33ntvJdw0MTI0uUYhaLRyaOhovuv9gHOw1NsSxLU9++yzlRXpEoMgSbh4CB0tSI5QwPo4l9KcqIaeMnojiMBRAPnVr351lL7kPqBOixAGCDrhiUVWoX3XdVUsQjPfJM+/TiqTcHP5xETiRUIPfSxoQxaWTSWtxwCCmPspST4l9EIQmkV612DdcMMNx0cToTQoDBpV3RZBRI5tBcZ5pY4RBUHCBYu0KLBWNLvxIcBBCPD7rsfWOKusRx3OyaUOVzHcRr9Rh2tSt7bPe4tsg14IEvX3yEEQdgECQTMZBEJggLkg6r24JmNDuFcR5BKo0r1yLFwqjxohj9aVQIRev5iM1DfI4Fi4PBDX4LxhvWj2ZZbedyM54JzR/AfNbzTB+ZEtmt9wLHaamaIV6YUg8vzMttsW9B2gGXwTbTpcJ3uM3zBQiGPQDIQs0VjcOxr1kUceqXazd28NhAlt63rfIGxHrz0vhTlAmAg14S6b49H0Q1gMrez7IKNHze/Ho9/ziEjRglgevbcMfkdfh3sYDelcXwnnYeEoUOfmavUtH7vG1gTRCcq8Ca4AvU/oXG6EgNSgeI2IhMpgO8aCIIbrsGSW1hqDRXnqqacqP7+LVSWUNHRo7bJ5L4Q3hH5XIPxIGU3/amXSQGtTQhSAcdAotyA/+bBP8tSC9q0JQggIg8VEfNo+Yf4gtI7fQA4DJ9YxcEgh6KSZaelYf8Ld2OdAEGTuVWh5QuJ6CAltG4/ralPnQRSP0fRBtNJSQCnIYWHK5vrqVqkr/A5FFfGHcdBcEzi/bGZks/zfKWJrgog9mNBNNqZuAyF3XtWYsjYWGylhQQSdX8JASTETHlv2ExB+r8/uA+FeRckNSxACpHmfVUByghOxSGjr0N599ue6IOhhwTyWcUg8Ly2a6+ZmIYVGIdTHaYrYmiDuJ2gw5dL7BMtkYKQyH3/88aqzCX8buGOsjGWxoU3rfvEQiO1WbdZNaJpA8BCFwGmsYAheqYWRJeKPurb3flgGj2ExSssB+iL6o97CEmkUjObavFdHEDgaYiO4to9+HgJbEUSALJXZx6xuHc5NgNxZVRKARuqyO6PSCUIVxZJIZmCHREwOWpK7CUJ7hwbXQnDfIszHblYIuMcgQTTwWJKmbEGwaF4HAYOM/oO+DIvmc4eGrQjCrTGDroyibw1icAV54g0TbggTd8VtAyEy02xHEYPNPetCrL4Q7hX3rn4/xsT0sJVK4M4ws7swr7QccoAND8KirAJtx/zLeIFYZkiIfWDbUvTEOLAxQcJvHiIQZgmkCGWy+OirEK4JcEHC5RgCEgsIKlOVmD42Jkis/ehjnUMX+B1kFPPYuG0Z1D4hRwTHfHfWaAiwcOKBtB6bwVhxiT3WQSHzBii/IbFxDOJWwQRi6KW1XC2pZTDvEkRgzRDHo4SBxIHJKi5Pl9ilDyCneCkrmjeD2M14GVfJGS58TAxTepQP62zOjbLkTu8aG1kQDCeoCt2GhA5CCOlTAbCOMz8ic8W1EQ8hhkbTSCIMGSgbXNmeJMdmYOm5pu5GRsaMqWTLd7/73cX3vve9xTe+8Y3Kk6CEuM2UYXgyu8JGFiQW2khjDl3WgRQsg84kiPUZWjGHfZE0k4zL5iH6RmSv+thq5pBA6fEIKDOxJqG/6667qvo7SRp3SOalsBwBc0y2lqIojTM52JWy3ogggmVZIsWJ+wILwfzq0BKIoz5rqNgoEO6VScpD2FGyD4T1N2bcYMrlZz/7WZWQIfiUL4uCQJZxl/NZpgB+8YtfVCRBLjVvu+j3tQmC8WbP+fn+SOIUovaKe5BYDcmWWA9/5513nq6dc0ygLsYgY3bGV89lvu1b3/pWRaaAmFO/I4nvffOb33zX+31g7RiEe8ONmeoCmF2AFaM4hrZaUwUZItDhHpdZq4gtza1x41kN72ssRQnZQvGmSgvuWBCuT6xNkAiK9lktOzYIJqHvaua5giuKAJb6Qpm6dZwVJvQqIFgEythj0567Nghhub3P8iBXn1ibIPx+QVHfpmzKEDQapF2tppwbTPaKLwi+GENGtARFozpcIE7OYuO9pttpeN+SCEG99K/C1j6xFkFcpHy0YCpxCjRWuFepNLpBRkrWj9sk49c08as/v/3tb1dlRjJUXKhlmSqfoZxYcvMnyNIX1iJI/JGokUqcSnlDzp53B2HmSnGJbOggJmlyjVQPE37JILGGlO8yeF9WjFUSE9at0qZYmyAueogZzKlAdsVgZ4DeHbJTYgeanmsqxcuNagP3SqkJMjUBkcTF1uJwtZy7j3ikM0EwUjCV2aszCPeK9Uj3qjsoFLEHWbLIjRUh/E2uVgnp3EiINOHqq6+u5qOMiXkRFieKVjdFZ4IIziFdiTOIrEr2yfqQ4tVv5jnA/WSivm8ZWBuu1DKYO+HhcN08IomgHWE2xdoEyfTuGUhXAo2YWA/iEGTQdzFrrjKD1q9XR3QFK851M38CQgHum80/NkUngmCgi8ZKLE6cyt3Lwqj1ogVNYnVZq5I4AwItdjOrrnREdsvcCFerac6jC7hrJrJZEWCpLL9eFeMsQyeCGHjVkzkRdgZhUZl89VdmfGk/QaLB3casHwq4WIRZnKDFWh4ThARbVmrdGCJcq/K+9OSWNTFftS46WxCgLYMshw7ZK4NB87GqcvS33HJLVSqhjx588MGqyK6vdOMcEe4678TUAe0v+yR1Loin+VkTfb0OEMxkdmk1BPAIV87ad0EngkSpsayNgb/nnntO+9+HCK6VvkAKk6aeG1QaC1kEi4JOmkt9kE0kDPK2GZU5gtLlalEkHgmy5yrGQf+yNIR9nbUfMl4IUWa9uqST6+hEEIGUUmKbnoH6fBcdK/sODWEVYqsjgyxlydIaRBox/GsDpRQCOeyAzw2LDSUSp+IQ2p4lDpgY5BLFDWEpaHui+QzXqYsHw0Wz2MpNnWK8WCljs878SCeCAK0YKTiE4XPTlodoSUIr1RdjGVRWQ0ZGjIIIBlNfcR/UFxkk2pElNgdw6FYFAWS0SoIAkug35ewRS5w4caKyKJZbsOKrYPIQsawbCZJQZCxLV3QmiD+B6RAMRpT6HzsEsBJtE6ZhPfQZq8v9MqBiFrVC0pkEANEqq/L00wfZj0CGyFWT+2RtP3LYHD1kTr8S+rAuq0AxSaIgif6mxKI8qAs6EwQUlhn8YDQNemgaMMwzQe8Cg49M+swARY4feQT1gtGXTp6sJsnEKjIt0b+HAP3AHaLh61aBrHGTBOqWMwf0qVil6/wG7+frX/965Z5JybdNRtZxzve///3/O36+ErF4RZbGRfpjWGzgvaYh5w4CTNvLlNB+XeGzyMAlNbsraOdiyaroNzGdmEatkVSx43xvGm/O4I7S6OG266MS/j8Zk+zQHwgFlDPiIFH9O01wbhlG/U4BdV0Nu9GSW2xm/mLwHPPDBtVFrCM4UwNzT6ApCuabJTFIy6BvaCxzI3Y98RqQQaNY6v3lM1wOk48EiN8ttmn7nSmDQqAgJDCalizr6x//+MeVYH/nO985TQjeixjFUtuu+MlPflKRSzzYBRtt2sAcmtThIpQwsDQkNwRR5qb9/C9ZER3Mr6UQ/F8CzoyHoHOjBOisTbhkNJiKVD40oe8K32dpnA8ZtTn2q/9HiehHfVSH9CwCCbzdKDZAWevXtpgwwOL8/Oc/r0jYtPiqCRsRBAgGzcgXrANRCAdBmRNRuEZcIIqBxQxiEP5QGuVewFLj5ko8bmtVw6qYSGN1WBWPcwFrSfjFYspN6v2FRD/60Y+qYF08ESl2ckaBmHdqAyv005/+tJJFmz90xcYEAS6DmhcFYk2LqAwqQfLnuCNTJooO5l7xgZUyQATeNJ//hwjMvs+yErtyiSgmqUqxIKIQljnEf1wtJBFImz+q959MlHiltCL6+oc//OHi7rvvXtoHxokrRokhRz0934atepW552qwJlyPmEgMuGDBrIAImfzxqWa9ovaKZouUY1liwrIgkM8JJncZLxhgi4L0/dtHSkjfs16RIZsqlJZQpurbyEr0c4AsAZL4HBgPipf71ASksNcWy87yrEMO2MqClCAgzL8/xaI0XUi4Xi7WpM+ULAohNCjKFQyQ/0mTUQIGASlYDXGJwfI63K8hEC4eUFxTtyr6NzJ5Acr1Bz/4QfWeO5qRIRBX+L+URsBnVXpo4hNu2yZj0RtBAvxk5p/wi0/KPxiYGlHCvUJ62TvKQMc7Tggdq6ca+cURL/iPQ62jIVTcWq6fzBAXrEsadGzQtxRS9Bu3kpwYBy6tIJv1phQoJEpB8M2C63uN7LGy+mBT9E6QAC2LKAYnamvqoAmCKIL5obTtutDpUeQm1jJhWsYYCON980KOi1PEI/4P/9f73FADRWiH0Oz61hjw640BYfLbUwKXkSXQl+D/IAcljDBiMMoWwtVCKkqJcuaSbevq7owgEATAZnl8gWzTgquxE0XtlEExCDqcr0zYIh5x3eHeGCAWw/sxOI5RFgbcoEpjGrx10r2bQEyIIBEbIkm4JXMAK8N6RJmO/tbvTWniTbFTggQim6UZJL55kxatiHIUzL9+5E8j01iIInvCvZJZAW5MrFtwnBlHlgBCSAkjAxLIepVkcBzhKAXWKGaH+4Bzc6/0dWjXQPkf5gJjQek2Kd4+MAhBAhgvLSyjxVJwOZpMIKL4DM1A4+2TKIRdgM61Iuhxva6RdnadAkSkN0g+b9LLf/VZ2puLw2L4H455jwBzE+IzFELk9tcFUiArN865l4ELGNt9JrphUIIEDCiiMI806LJZ0DEQhSCbxJLKJYA0luaaCXS4XbJIAnf+cn3nDf/Df1BPhEDer5PB980Uey987jY4D398FSlKJEHWx14IEuCTP3dElFeONK6gSpzSBALGbRDs0rRNmbFdQVk1QnCjaHzxhib4llbktoDXyIxMiIz4fGHkKRHxCoJEHIMcUZpC2KXJm5SG/kKKJvcpwHUVrFJCJZBDsqQL+RJnsFeCBGJmmKuxbFYeEIUrQZiGIAqhv++++yqho3nL3yOgslusAqGO2CqydTQ87Y4sUpBljOJ/2MkjgmfnRxjzKtyxMj5DKMpBW0YKRPQb3mepEC3A7XNd0qJ1siZWYxQECRAYwS/thyjLao0IWKT7uF67Iorzy2DJWnmOlPLyBBgpTh65iC8fNVqZYBJwgl4KIpKxKgjjPW4lgiMMUjlWBvD+m34g5P7jMrAwYjjnQaLIkgVcg+uJ2CexGUZFkABhQxTChSjLJrp2TRSFczSwFWwQs9UEGGlo5pIMcvZRok6AfZfQik08Ok6TcyXLeaHQ/FwnbuQyIBNSEXhWV/rc90o4b5BnSFd0rhglQQKEBVEAUfjRTUAUmhlZEKXUyJuC0CpwI8xRwhDaPSYNZeIIY+kSsSxWurEY4FpocW5Q6Wb5HEuCFCzAMohTkIKwI5nP+14JhHF+Tco4Xan+MGqCBPj6XAgaWTDfRgAkaSMKLV9q72UI94rAIQUhJKTcrCAqwsg80eYhwAJ6Fo91EUuVpPCe89L8ni8D0okpnBPRkEIfBBDAbwQpllnYxPaYBEEChAtRCKuMTJsLERaFQAdRCLB134TW92nnZTD34XPSu6yJ8xFs5xMbOeZ6uFSei02CFIgc6JqOFS8EKRCubilYKWQNUnQheWJ7TIogAQJnHoUml05tC0IJtgyQzxFW8YDFNdwa7pvjdUtDQK1Uq7tXCMFiBJBBTCFIL90s35dtE2gjDyCb5/Ha55FCi5iiiRTIEOUT5W8khsEkCRIghIhCe3Op2rQqopj55mK553ZAvGByriSJFCwCsTKsBnJETCFQFgD7zfD1IzYxD+KaAqHpkcL73Crf5UI57hjLUgbmYSmQAkGTFPvFpAkChDOIQpMjSun314EopWvFReISCaQhYg+vZaogJt1Kl467FHMOpYATbudDHu8jR6RzHZcJQzrkCCABaxSkKF20xH4xeYIEEIUrhSg0twxTG1ECXBrfsxAqYhSw60VdUL0vWI6SE/AbSAHI4HyORTo3iIIU3KhAkMJntC7XmhgesyFIAFG4OgSSRmYF2jSyzz/66KOVsBJ8OHEUl1x6FDAjAY2PQKWV4F5FoM6SsEpKTgTpUcqBKK4hXDMoLQUSJynGj9kRJEB4uT8CX9khwrvMnxeXiEXClfI53w8IoiNuMHnJPWJJCHnEI46/fHTshSNSlClc52JhwlKk+zQtzJYgAYLOMiAKt6dek4QcrATNTrAJv+8ghcDd85iL8BjlJDJoPt+UwkWCIAUSJSmmi9kTJEDDE3Lu1xVHATgXKohCuFkbMQZXyXFk4FaxDlwiLhWXyHEuV5nCBe8hA1IgxzJrlZgWDoYgAWRAFAIuu8T9qs+jiEsAUTyPilrZspIULAxSaGKP0jIl5oGDI0iAaxUWhWDT/Eo2WAIkYk0E2mWQ7XMsSbhPy2rDEvPBwRIkwCKwDIJu8QfiBBACaZBCjMJKZDxxWDh4gtSBMOIVyHqnREaSNQiuESPJkYAkSCLRgiRIItGCJEgi0YIkSCLRgiRIItGCJEgi0YIkSCLRgiRIItGCJEgi0YIkSCLRgiRIItGCJEgi0YIkSCLRgiRIItGCJEgi0YIkSCLRgiRIItGCJEgisRSLxf8DjfymEx87ws8AAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/product_stub_4.449c4e61.png\";","module.exports = __webpack_public_path__ + \"static/media/product_stub_5.134f9ff9.png\";","module.exports = __webpack_public_path__ + \"static/media/product_stub_6.84cab321.png\";","module.exports = __webpack_public_path__ + \"static/media/product_stub_7.8ca6c241.png\";","export const ENQUEUE_SNACKBAR = 'notifications/ENQUEUE_SNACKBAR';\nexport const CLOSE_SNACKBAR = 'notifications/CLOSE_SNACKBAR';\nexport const REMOVE_SNACKBAR = 'notifications/REMOVE_SNACKBAR';\n","import store from 'store2';\n\nexport const tokenKey = 'X-KEA-SESSION-TOKEN';\n\nexport const setToken = (token) => store.set(tokenKey, token);\nexport const getToken = () => store.get(tokenKey);\nexport const rmToken = () => store.remove(tokenKey);\n","import _ from 'lodash';\nimport moment from 'moment';\nimport KeaWebServiceClient from '@kealabs/kea-services/lib/kea-webservice-client';\nimport qs from 'qs';\nimport { Link } from 'react-router-dom';\nimport React from 'react';\nimport store from 'store2';\n\nimport { tokenKey, getToken, rmToken } from './authUtils';\n\nexport const RECS = 'recs';\nexport const SEARCH = 'search';\n\nexport const wsDateFormat = 'DD.MM.YYYY';\nexport const dateFormat = 'YYYY-MM-DD';\nexport const dateMonthFormat = 'YYYY-MM';\n\nconst wsBaseUri = window.WS_BASE_URI;\n\nexport const m = {\n GET: 'GET',\n PUT: 'PUT',\n POST: 'POST',\n};\n\nexport const getInitUrlByShop = (shop) => {\n const { shopId } = shop;\n\n if (shop.searchEnabled) {\n if (!shop.search.onboarding.completed) {\n return `/app/${shopId}/search/onboarding`;\n }\n return `/app/${shopId}/search/dashboard`;\n }\n\n if (shop.recsEnabled) {\n if (!shop.recs.onboarding.completed) {\n return `/app/${shopId}/recs/onboarding`;\n }\n return `/app/${shopId}/recs/dashboard`;\n }\n return `/app/${shopId}/billing`;\n};\n\nexport const setStartMode = (mode) => store.set('KEA-APP-START-MODE', mode);\nexport const getStartMode = () => store.get('KEA-APP-START-MODE');\nexport const appInIframe = () => {\n const startMode = getStartMode();\n return startMode === 'iframe';\n};\n\nexport const isSameDay = (momentFrom, momentTo) => momentFrom.isSame(momentTo, 'day');\n\nexport const matchDatesDashboardCase = (dataDate, picker) => {\n const fromIsMatched = isSameDay(moment(dataDate.from, wsDateFormat), picker.from);\n const toIsMatched = isSameDay(moment(dataDate.to, wsDateFormat), picker.to);\n return fromIsMatched && toIsMatched;\n};\n\nexport const getShopIdFromLocation = () => window.location.pathname.split('/')[2];\n\nexport const genRandomKey = () => new Date().getTime() + Math.random();\n\nexport function genRandomInteger(min, max) {\n const rand = min + Math.random() * (max + 1 - min);\n return Math.floor(rand);\n}\n\nexport const linkToQueryDetail = (shopId, query) => {\n const path = `/app/${shopId}/search/analytic/query/${query}`;\n return {query};\n};\n\nexport const linkToProductDetail = (shopId, product, productId) => {\n const path = `/app/${shopId}/store/catalog/product-catalog/${productId}`;\n return {product};\n};\n\nexport function fetchData(path, method = m.GET, payload = {}, extraHeaders = {}) {\n const { query, body } = payload;\n const sessionToken = getToken();\n\n let uri = path;\n const options = {\n method,\n credentials: 'include',\n headers: { ...extraHeaders },\n };\n\n if (sessionToken) options.headers[tokenKey] = sessionToken;\n if (query) uri = `${uri}?${qs.stringify(query)}`;\n if (body) options.body = body;\n\n return fetch(uri, options).then((response) => {\n if (response.status === 200) return response.json();\n if (response.status === 401) {\n rmToken();\n window.history.push('/signin');\n }\n throw new Error(`${response.status} — ${response.statusText}`);\n });\n}\n\nexport const qsParams = qs.parse(window.location.search, { ignoreQueryPrefix: true });\nexport const domain = qsParams.domain ? qsParams.domain : null;\n\nexport const wsClient = new KeaWebServiceClient({\n baseUrl: wsBaseUri,\n secret: null,\n extraHeaders: { [tokenKey]: getToken() },\n});\n\nexport function prepareDateRange(range) {\n return {\n from: moment(range.from).format(dateFormat),\n to: moment(range.to).format(dateFormat),\n };\n}\n\nexport function calcWidgetCurve(data) {\n const a = {};\n\n if (data.length < 62) {\n data.forEach((el) => {\n const { year, month, day } = el._id;\n const alias = moment([year, month - 1, day]).format(dateFormat);\n const label = moment([year, month - 1, day]).format('DD MMMM YYYY');\n a[alias] = { ...el, label };\n });\n return a;\n }\n\n if (data.length >= 62) {\n data.forEach((el) => {\n const { year, month } = el._id;\n const alias = moment([year, month - 1]).format(dateMonthFormat);\n if (a.hasOwnProperty(alias)) {\n a[alias].total += el.total;\n a[alias].click += el.click;\n a[alias].noaction += el.noaction;\n a[alias].refine += el.refine;\n a[alias].ctr += el.ctr;\n a[alias].count += 1;\n } else {\n const label = moment([year, month - 1]).format('MMMM YYYY');\n a[alias] = {\n ...el,\n label,\n count: 1,\n };\n }\n });\n for (const month in a) {\n const currMonth = a[month];\n if (currMonth.ctr) {\n currMonth.ctr /= currMonth.count;\n }\n }\n return a;\n }\n return a;\n}\n\n\nexport function objectDifference(object, base) {\n return _.transform(object, (result, value, key) => {\n if (!_.isEqual(value, base[key])) {\n result[key] = (_.isObject(value) && _.isObject(base[key])) ? objectDifference(value, base[key]) : value;\n }\n });\n}\n\nexport function mapDifference(object, examplar) {\n const keys = Object.keys(object);\n const result = [];\n keys.forEach((key) => {\n if (!_.isEqual(object[key], examplar[key])) {\n result.push(object[key]);\n }\n });\n return result;\n}\n\nexport const addHexPrefix = (src) => src;\n\nexport const rmHexPrefix = (src) => src;\n\nexport const addHexPrefixArray = (arr) => arr.map((el) => addHexPrefix(el));\n\nexport const rmHexPrefixArray = (arr) => arr.map((el) => rmHexPrefix(el));\n\nexport const commaSeparate = (number) => {\n if (number) {\n return number.toFixed(0).toString().replace(/\\B(?=(?:\\d{3})+(?!\\d))/g, ',');\n }\n return '--';\n};\n\nexport function groupCurveByDays(arr, bucketSize, dateName, fields) {\n const grouped = [];\n let bucket = {};\n let added = false;\n const endOfTheBucket = bucketSize - 1;\n for (let i = 0; i < arr.length; i++) {\n const entry = arr[i];\n added = false;\n join(bucket, entry);\n if (!bucket[dateName]) bucket[dateName] = entry[dateName];\n if (i % bucketSize === endOfTheBucket) {\n grouped.push(bucket);\n bucket = {};\n added = true;\n }\n }\n // add the last bucket if needed\n if (!added) {\n grouped.push(bucket);\n }\n\n function join(bucket, entry) {\n fields.forEach((e) => {\n if (!bucket[e]) bucket[e] = 0;\n if (entry[e]) bucket[e] += entry[e];\n });\n }\n return grouped;\n}\n\nexport function theCurveIsMostlyFull(arr, fieldName, minFillRatio) {\n if (arr.length === 0) return false;\n const filledBuckets = arr.map((e) => e[fieldName]).filter((e) => e > 0);\n return (filledBuckets.length / arr.length) > minFillRatio;\n}\n\nexport const shopifyColors = {\n primaryButtonBackground: 'linear-gradient(180deg,#6371c7,#5563c1)',\n primaryButtonBorder: '#3f4eae',\n sky: {\n lighter: '#F9FAFB',\n light: '#F4F6F8',\n normal: '#DFE3E8',\n dark: '#C4CDD5',\n darker: '#C4CDD5',\n },\n titleBar: {\n light: '#B3B5CB',\n normal: '#0187ac',\n dark: '#1C2260',\n darker: '#00044C',\n },\n red: {\n lighter: '#FBEAE5',\n light: '#FEAD9A',\n normal: '#DE3618',\n dark: '#BF0711',\n darker: '#330101',\n },\n orange: {\n lighter: '#FCEBDB',\n light: '#FFC58B',\n normal: '#F49342',\n dark: '#C05717',\n darker: '#573B00',\n },\n yellow: {\n lighter: '#FCF1CD',\n light: '#FFEA8A',\n normal: '#EEC200',\n dark: '#8A6116',\n darker: '#573B00',\n },\n green: {\n lighter: '#E3F1DF',\n light: '#BBE5B3',\n normal: '#50B83C',\n dark: '#108043',\n darker: '#173630',\n },\n teal: {\n lighter: '#E0F5F5',\n light: '#B7ECEC',\n normal: '#47C1BF',\n dark: '#00848E',\n darker: '#003135',\n },\n blue: {\n lighter: '#EBF5FA',\n light: '#B4E1FA',\n normal: '#007ACE',\n dark: '#084E8A',\n darker: '#001429',\n },\n indigo: {\n lighter: '#F4F5FA',\n light: '#B3BCF5',\n normal: '#5C6AC4',\n dark: '#202E78',\n darker: '#000639',\n },\n purple: {\n lighter: '#F6F0FD',\n light: '#E3D0FF',\n normal: '#9C6ADE',\n dark: '#50248F',\n darker: '#230051',\n },\n bundle: [\n '#DE3618',\n '#F49342',\n '#EEC200',\n '#50B83C',\n '#108043',\n '#47C1BF',\n '#007ACE',\n '#0187ac',\n '#454F5B',\n '#637381',\n '#919EAB',\n ],\n};\n\nexport function toggleValueInArray(value, array) {\n if (array.indexOf(value) > -1) {\n array.splice(array.indexOf(value), 1);\n } else {\n array.push(value);\n }\n return array;\n}\n","import * as c from 'constants/actionTypes/notifications';\nimport { genRandomKey } from '../util/appUtils';\n\nexport const enqueueSnackbar = (snackbar) => {\n const key = snackbar.options && snackbar.options.key;\n\n return {\n type: c.ENQUEUE_SNACKBAR,\n payload: {\n ...snackbar,\n key: key || genRandomKey(),\n },\n };\n};\n\nexport const enqueueErrorSnackbar = (message, duration = 2000) => ({\n type: c.ENQUEUE_SNACKBAR,\n payload: {\n message,\n key: message,\n options: {\n variant: 'error',\n autoHideDuration: duration,\n },\n },\n});\n\nexport const enqueueWarningSnackbar = (message) => ({\n type: c.ENQUEUE_SNACKBAR,\n payload: {\n message,\n key: message,\n options: {\n variant: 'warning',\n autoHideDuration: 2000,\n },\n },\n});\n\nexport const enqueueInfoSnackbar = (message) => ({\n type: c.ENQUEUE_SNACKBAR,\n payload: {\n message,\n key: message,\n options: {\n variant: 'info',\n autoHideDuration: 2000,\n },\n },\n});\n\nexport const enqueueSuccessSnackbar = (message, duration = 2000) => ({\n type: c.ENQUEUE_SNACKBAR,\n payload: {\n message,\n key: message,\n options: {\n variant: 'success',\n autoHideDuration: duration,\n },\n },\n});\n\nexport const closeSnackbar = (key) => ({\n type: c.CLOSE_SNACKBAR,\n dismissAll: !key,\n key,\n});\n\nexport const removeSnackbar = (key) => ({\n type: c.REMOVE_SNACKBAR,\n key,\n});\n\n/** Example how to use snackbar with close button\n\n const enqueueSnackbar = (...args) => dispatch(enqueueSnackbarAction(...args));\n\n const handleClick = () => {\n // NOTE:\n // if you want to be able to dispatch a `closeSnackbar` action later on,\n // you SHOULD pass your own `key` in the options. `key` can be any sequence\n // of number or characters, but it has to be unique for a given snackbar.\n enqueueSnackbar({\n message: 'Failed fetching data.',\n options: {\n key: new Date().getTime() + Math.random(),\n variant: 'warning',\n action: (key) => (\n \n ),\n },\n });\n };\n\n */\n","import { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useSnackbar } from 'notistack';\nimport { removeSnackbar } from '../../actions/Notifications';\n\nlet displayed = [];\n\nconst NotificationSnackbar = () => {\n const dispatch = useDispatch();\n const snackbars = useSelector((store) => store.notifications.snackbars || []);\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n\n const storeDisplayed = (id) => {\n displayed = [...displayed, id];\n };\n\n const removeDisplayed = (id) => {\n displayed = [...displayed.filter((key) => id !== key)];\n };\n\n useEffect(() => {\n snackbars.forEach(({ key, message, options = {}, dismissed = false }) => {\n if (dismissed) {\n closeSnackbar(key);\n return;\n }\n\n if (displayed.includes(key)) return;\n\n enqueueSnackbar(message, {\n key,\n ...options,\n onClose: (event, reason, myKey) => {\n if (options.onClose) {\n options.onClose(event, reason, myKey);\n }\n },\n onExited: (event, myKey) => {\n dispatch(removeSnackbar(myKey));\n removeDisplayed(myKey);\n },\n });\n\n storeDisplayed(key);\n });\n }, [snackbars, closeSnackbar, enqueueSnackbar, dispatch]);\n\n return null;\n};\n\nexport default NotificationSnackbar;\n","import {\n CHANGE_DIRECTION,\n CHANGE_NAVIGATION_STYLE,\n DARK_THEME,\n DRAWER_TYPE,\n FIXED_DRAWER,\n HORIZONTAL_MENU_POSITION,\n INSIDE_THE_HEADER,\n SWITCH_LANGUAGE,\n THEME_COLOR,\n TOGGLE_COLLAPSED_NAV,\n VERTICAL_NAVIGATION,\n WINDOW_WIDTH,\n} from 'constants/ActionTypes';\nimport { DARK_GREEN } from 'constants/ThemeColors';\nimport { CHANGE_CURRENT_SHOP } from '../constants/ActionTypes';\n\nconst rltLocale = ['ar'];\nconst initialSettings = {\n currentShop: null,\n navCollapsed: false,\n drawerType: FIXED_DRAWER,\n themeColor: DARK_GREEN,\n darkTheme: false,\n width: window.innerWidth,\n isDirectionRTL: false,\n navigationStyle: VERTICAL_NAVIGATION,\n horizontalNavPosition: INSIDE_THE_HEADER,\n locale: {\n languageId: 'english',\n locale: 'en',\n name: 'English',\n icon: 'us',\n },\n};\n\nconst app = (state = initialSettings, action) => {\n switch (action.type) {\n case '@@router/LOCATION_CHANGE':\n return {\n ...state,\n navCollapsed: false,\n };\n\n case CHANGE_CURRENT_SHOP:\n return {\n ...state,\n currentShop: action.payload,\n };\n\n case TOGGLE_COLLAPSED_NAV:\n return {\n ...state,\n navCollapsed: action.isNavCollapsed,\n };\n case DRAWER_TYPE:\n return {\n ...state,\n drawerType: action.drawerType,\n };\n case WINDOW_WIDTH:\n return {\n ...state,\n width: action.width,\n };\n case THEME_COLOR:\n return {\n ...state,\n darkTheme: false,\n themeColor: action.color,\n };\n case DARK_THEME:\n return {\n ...state,\n darkTheme: !state.darkTheme,\n };\n case SWITCH_LANGUAGE:\n\n return {\n ...state,\n locale: action.payload,\n isDirectionRTL: rltLocale.includes(action.payload.locale),\n\n };\n case CHANGE_DIRECTION:\n return {\n ...state,\n isDirectionRTL: !state.isDirectionRTL,\n\n };\n\n case CHANGE_NAVIGATION_STYLE:\n return {\n ...state,\n navigationStyle: action.payload,\n };\n\n\n case HORIZONTAL_MENU_POSITION:\n return {\n ...state,\n horizontalNavPosition: action.payload,\n };\n\n\n default:\n return state;\n }\n};\n\nexport default app;\n","// Some description\nexport const CHANGE_CURRENT_SHOP = 'app/CHANGE_CURRENT_SHOP';\n\nexport const KEA_SIGN_OUT = 'auth/KEA_SIGN_OUT';\nexport const KEA_SIGN_IN = 'auth/KEA_SIGN_IN';\nexport const KEA_SIGN_IN_SUCCESS = 'auth/KEA_SIGN_IN_SUCCESS';\nexport const KEA_SIGN_IN_FAILED = 'auth/KEA_SIGN_IN_FAILED';\n\nexport const FORGOT_PASSWORD = 'auth/FORGOT_PASSWORD';\nexport const FORGOT_PASSWORD_SUCCESS = 'auth/FORGOT_PASSWORD_SUCCESS';\nexport const FORGOT_PASSWORD_FAILED = 'auth/FORGOT_PASSWORD_FAILED';\n\nexport const SUBMIT_NEW_PASSWORD = 'auth/SUBMIT_NEW_PASSWORD';\nexport const SUBMIT_NEW_PASSWORD_SUCCESS = 'auth/SUBMIT_NEW_PASSWORD_SUCCESS';\nexport const SUBMIT_NEW_PASSWORD_FAILED = 'auth/SUBMIT_NEW_PASSWORD_FAILED';\n\nexport const KEA_SIGN_IN_WITH_SECRET = 'auth/KEA_SIGN_IN_WITH_SECRET';\nexport const KEA_SIGN_IN_WITH_SECRET_SUCCESS = 'auth/KEA_SIGN_IN_WITH_SECRET_SUCCESS';\nexport const KEA_SIGN_IN_WITH_SECRET_FAILED = 'auth/KEA_SIGN_IN_WITH_SECRET_FAILED';\n\nexport const GET_AUTHORIZATION_INFO = 'auth/GET_AUTHORIZATION_INFO';\nexport const GET_AUTHORIZATION_INFO_COMPLETE = 'auth/GET_AUTHORIZATION_INFO_COMPLETE';\nexport const GET_AUTHORIZATION_INFO_FAILED = 'auth/GET_AUTHORIZATION_INFO_FAILED';\n\nexport const GET_PROFILE_INFO = 'auth/GET_PROFILE_INFO';\nexport const GET_PROFILE_INFO_COMPLETE = 'auth/GET_PROFILE_INFO_COMPLETE';\nexport const GET_PROFILE_INFO_FAILED = 'auth/GET_PROFILE_INFO_FAILED';\n\n// Customizer const\nexport const TOGGLE_COLLAPSED_NAV = 'toggle_collapse_menu';\nexport const DRAWER_TYPE = 'drawer_type';\nexport const FIXED_DRAWER = 'fixed_drawer';\nexport const COLLAPSED_DRAWER = 'collapsible';\nexport const MINI_DRAWER = 'mini_drawer';\nexport const THEME_COLOR = 'theme_color';\nexport const DARK_THEME = 'dark_theme';\nexport const WINDOW_WIDTH = 'window-width';\nexport const SWITCH_LANGUAGE = 'switch-language';\nexport const CHANGE_DIRECTION = 'change-direction';\n\nexport const CHANGE_NAVIGATION_STYLE = 'change-navigation-style';\nexport const HORIZONTAL_NAVIGATION = 'horizontal_navigation';\nexport const VERTICAL_NAVIGATION = 'vertical_navigation';\n\nexport const HORIZONTAL_MENU_POSITION = 'horizontal_menu_position';\nexport const ABOVE_THE_HEADER = 'above_the_header';\nexport const INSIDE_THE_HEADER = 'inside_the_header';\nexport const BELOW_THE_HEADER = 'below_the_header';\n\n// Contact Module const\nexport const SHOW_MESSAGE = 'show_message';\nexport const HIDE_MESSAGE = 'hide_message';\n\nexport const ON_TOGGLE_DRAWER = 'on_toggle_drawer';\nexport const HANDLE_REQUEST_CLOSE = 'handle_request_close';\n\n// Auth const\nexport const SIGNUP_USER = 'signup_user';\nexport const SIGNUP_USER_SUCCESS = 'signup_user_success';\nexport const SIGNIN_GOOGLE_USER = 'signin_google_user';\nexport const SIGNIN_GOOGLE_USER_SUCCESS = 'signin_google_user_success';\nexport const SIGNIN_FACEBOOK_USER = 'signin_facebook_user';\nexport const SIGNIN_FACEBOOK_USER_SUCCESS = 'signin_facebook_user_success';\nexport const SIGNIN_TWITTER_USER = 'signin_twitter_user';\nexport const SIGNIN_TWITTER_USER_SUCCESS = 'signin_twitter_user_success';\nexport const SIGNIN_GITHUB_USER = 'signin_github_user';\nexport const SIGNIN_GITHUB_USER_SUCCESS = 'signin_github_user_SUCCESS';\nexport const SIGNIN_USER = 'signin_user';\nexport const SIGNIN_USER_SUCCESS = 'signin_user_success';\nexport const SIGNOUT_USER = 'signout_user';\nexport const SIGNOUT_USER_SUCCESS = 'signout_user_success';\nexport const INIT_URL = 'init_url';\n\n// Chat Module const\n\nexport const ON_SHOW_LOADER = 'on_show_loader';\nexport const ON_HIDE_LOADER = 'on_hide_loader';\n\n// // Mail Module const\nexport const GET_NAV_FILTERS = 'get_nav_filters';\nexport const GET_NAV_LABELS = 'get_nav_labels';\nexport const ON_LABEL_MENU_ITEM_SELECT = 'on_label_menu_item_select';\nexport const GET_MARK_AS_START = 'get_mark_as_start';\nexport const ON_LABEL_SELECT = 'on_label_select';\nexport const ON_OPTION_MENU_SELECT = 'on_option_menu_select';\n\n// // TO-DO Module const\n\nexport const ON_SORTEND = 'on_sortend';\nexport const FETCH_ALL_TODO = 'fetch_all_todo';\nexport const FETCH_ALL_TODO_SUCCESS = 'fetch_all_todo-success';\nexport const FETCH_ALL_TODO_CONVERSATION = 'fetch_all_todo_conversation';\nexport const FETCH_ALL_TODO_CONVERSATION_SUCCESS = 'fetch_all_todo_conversation_success';\nexport const SELECT_ALL_TODO = 'select_all_todo';\nexport const GET_ALL_TODO = 'get_all_todo';\nexport const GET_UNSELECTED_ALL_TODO = 'get_unselected_all_todo';\nexport const GET_STARRED_TODO = 'get_starred_todo';\nexport const GET_UNSTARRED_TODO = 'get_unstarred_todo';\nexport const GET_IMPORTANT_TODO = 'get_important_todo';\nexport const GET_UNIMPORTANT_TODO = 'get_unimportant_todo';\nexport const ON_LABEL_UPDATE = 'on_label_update';\nexport const ON_TODO_UPDATE = 'on_todo_update';\nexport const ON_DELETE_TODO = 'on_delete_todo';\nexport const SEARCH_TODO = 'search_todo';\nexport const ON_TODO_CHECKED = 'on_todo_checked';\nexport const ON_TODO_ADD = 'on_todo_add';\nexport const ON_TODO_SELECT = 'on_todo_select';\nexport const SET_CURRENT_TODO_NULL = 'set_current_todo_null';\nexport const UPDATE_SEARCH = 'update_search';\n","export const INDIGO = 'indigo';\nexport const CYAN = 'cyan';\nexport const AMBER = 'amber';\nexport const DEEP_ORANGE = 'deep-orange';\nexport const PINK = 'pink';\nexport const BLUE = 'blue';\nexport const DEEP_PURPLE = 'deep-purple';\nexport const GREEN = 'green';\n\nexport const DARK_INDIGO = 'dark-indigo';\nexport const DARK_CYAN = 'dark-cyan';\nexport const DARK_AMBER = 'dark-amber';\nexport const DARK_DEEP_ORANGE = 'dark-deep-orange';\nexport const DARK_PINK = 'dark-pink';\nexport const DARK_BLUE = 'dark-blue';\nexport const DARK_DEEP_PURPLE = 'dark-deep-purple';\nexport const DARK_GREEN = 'dark-green';\nexport const DARK_THEME_COLOR = 'dark-theme';\n","import {\n HIDE_MESSAGE,\n INIT_URL,\n ON_HIDE_LOADER,\n ON_SHOW_LOADER,\n SHOW_MESSAGE,\n SIGNIN_FACEBOOK_USER_SUCCESS,\n SIGNIN_GITHUB_USER_SUCCESS,\n SIGNIN_GOOGLE_USER_SUCCESS,\n SIGNIN_TWITTER_USER_SUCCESS,\n SIGNIN_USER_SUCCESS,\n SIGNOUT_USER_SUCCESS,\n SIGNUP_USER_SUCCESS,\n GET_AUTHORIZATION_INFO,\n GET_AUTHORIZATION_INFO_COMPLETE,\n GET_AUTHORIZATION_INFO_FAILED,\n GET_PROFILE_INFO,\n GET_PROFILE_INFO_COMPLETE,\n GET_PROFILE_INFO_FAILED,\n} from 'constants/ActionTypes';\n\nconst INIT_STATE = {\n loader: false,\n alertMessage: '',\n showMessage: false,\n initURL: '',\n authUser: localStorage.getItem('user_id'),\n profile: {\n isFetching: false,\n isFetched: false,\n },\n authorization: {\n isFetching: false,\n isFetched: false,\n account: {},\n shopList: [],\n shopMap: {},\n },\n};\n\n\nexport default (state = INIT_STATE, action) => {\n switch (action.type) {\n case GET_PROFILE_INFO: {\n return {\n ...state,\n profile: {\n ...state.profile,\n isFetching: true,\n },\n };\n }\n\n case GET_PROFILE_INFO_COMPLETE: {\n return {\n ...state,\n profile: {\n ...state.profile,\n ...action.payload,\n isFetching: false,\n isFetched: true,\n },\n };\n }\n\n case GET_PROFILE_INFO_FAILED: {\n return {\n ...state,\n profile: {\n ...state.profile,\n isFetching: false,\n isFetched: false,\n },\n };\n }\n\n case GET_AUTHORIZATION_INFO: {\n return {\n ...state,\n authorization: {\n ...state.authorization,\n isFetching: true,\n },\n };\n }\n\n case GET_AUTHORIZATION_INFO_COMPLETE: {\n return {\n ...state,\n authorization: {\n ...state.authorization,\n ...action.payload,\n isFetching: false,\n isFetched: true,\n },\n };\n }\n\n case GET_AUTHORIZATION_INFO_FAILED: {\n return {\n ...state,\n authorization: {\n ...state.authorization,\n isFetching: false,\n isFetched: false,\n },\n };\n }\n\n\n case SIGNUP_USER_SUCCESS: {\n return {\n ...state,\n loader: false,\n authUser: action.payload,\n };\n }\n case SIGNIN_USER_SUCCESS: {\n return {\n ...state,\n loader: false,\n authUser: action.payload,\n };\n }\n case INIT_URL: {\n return {\n ...state,\n initURL: action.payload,\n };\n }\n case SIGNOUT_USER_SUCCESS: {\n return {\n ...state,\n authUser: null,\n initURL: '/app/sample-page',\n loader: false,\n };\n }\n\n case SHOW_MESSAGE: {\n return {\n ...state,\n alertMessage: action.payload,\n showMessage: true,\n loader: false,\n };\n }\n case HIDE_MESSAGE: {\n return {\n ...state,\n alertMessage: '',\n showMessage: false,\n loader: false,\n };\n }\n\n case SIGNIN_GOOGLE_USER_SUCCESS: {\n return {\n ...state,\n loader: false,\n authUser: action.payload,\n };\n }\n case SIGNIN_FACEBOOK_USER_SUCCESS: {\n return {\n ...state,\n loader: false,\n authUser: action.payload,\n };\n }\n case SIGNIN_TWITTER_USER_SUCCESS: {\n return {\n ...state,\n loader: false,\n authUser: action.payload,\n };\n }\n case SIGNIN_GITHUB_USER_SUCCESS: {\n return {\n ...state,\n loader: false,\n authUser: action.payload,\n };\n }\n case ON_SHOW_LOADER: {\n return {\n ...state,\n loader: true,\n };\n }\n case ON_HIDE_LOADER: {\n return {\n ...state,\n loader: false,\n };\n }\n default:\n return state;\n }\n};\n","export const GET_PLANS = 'billing/GET_PLANS';\nexport const GET_PLANS_COMPLETE = 'billing/GET_PLANS_COMPLETE';\nexport const GET_PLANS_FAILED = 'billing/GET_PLANS_FAILED';\n\nexport const ACTIVATE_PLAN = 'billing/ACTIVATE_PLAN';\nexport const ACTIVATE_PLAN_COMPLETE = 'billing/ACTIVATE_PLAN_COMPLETE';\nexport const ACTIVATE_PLAN_FAILED = 'billing/ACTIVATE_PLAN_FAILED';\n\nexport const CONFIRM_CHARGE = 'billing/CONFIRM_CHARGE';\nexport const CONFIRM_CHARGE_COMPLETE = 'billing/CONFIRM_CHARGE_COMPLETE';\nexport const CONFIRM_CHARGE_FAILED = 'billing/CONFIRM_CHARGE_FAILED';\n","import * as c from 'constants/actionTypes/billing';\n\nconst defaultState = {\n plans: {\n isFetching: true,\n isActivation: null,\n data: [],\n app: {\n status: 'ACTIVE',\n trialDaysLeft: 0,\n },\n },\n confirmation: {\n isFetching: true,\n },\n};\n\nexport default (state = defaultState, action) => {\n switch (action.type) {\n case c.GET_PLANS:\n return {\n ...state,\n plans: {\n ...state.plans,\n isFetching: true,\n },\n };\n\n case c.GET_PLANS_COMPLETE:\n case c.GET_PLANS_FAILED:\n return {\n ...state,\n plans: {\n isFetching: false,\n data: action.payload.plans,\n active: action.payload.active,\n usage: action.payload.usage,\n app: action.payload.app,\n },\n };\n\n case c.ACTIVATE_PLAN:\n return {\n ...state,\n plans: {\n ...state.plans,\n isActivation: action.payload,\n },\n };\n case c.ACTIVATE_PLAN_FAILED:\n case c.ACTIVATE_PLAN_COMPLETE:\n return {\n ...state,\n plans: {\n ...state.plans,\n isActivation: null,\n },\n };\n\n case c.CONFIRM_CHARGE:\n return {\n ...state,\n confirmation: {\n isFetching: true,\n },\n };\n case c.CONFIRM_CHARGE_COMPLETE:\n case c.CONFIRM_CHARGE_FAILED:\n return {\n ...state,\n confirmation: {\n isFetching: false,\n charge: action.payload.charge,\n },\n };\n\n\n default:\n return state;\n }\n};\n","export const GET_PRODUCTS = 'catalog/GET_PRODUCTS';\nexport const GET_PRODUCTS_COMPLETE = 'catalog/GET_PRODUCTS_COMPLETE';\nexport const GET_PRODUCTS_FAILED = 'catalog/GET_PRODUCTS_FAILED';\n\nexport const GET_PRODUCT_BY_ID = 'catalog/GET_PRODUCT_BY_ID';\nexport const GET_PRODUCT_BY_ID_COMPLETE = 'catalog/GET_PRODUCT_BY_ID_COMPLETE';\nexport const GET_PRODUCT_BY_ID_FAILED = 'catalog/GET_PRODUCT_BY_ID_FAILED';\n\nexport const FILTER_PRODUCTS_BY_QUERY = 'catalog/FILTER_PRODUCTS_BY_QUERY';\nexport const FILTER_PRODUCTS_BY_QUERY_COMPLETE = 'catalog/FILTER_PRODUCTS_BY_QUERY_COMPLETE';\nexport const FILTER_PRODUCTS_BY_QUERY_FAILED = 'catalog/FILTER_PRODUCTS_BY_QUERY_FAILED';\n","import * as c from 'constants/actionTypes/catalog';\n\nconst defaultState = {\n product: {\n isFetching: false,\n },\n productList: {\n isFetching: false,\n isFiltering: false,\n },\n};\n\nexport default (state = defaultState, action) => {\n switch (action.type) {\n /**\n *** CATALOG GET_PRODUCTS\n */\n\n case c.GET_PRODUCTS:\n return {\n ...state,\n productList: {\n ...state.productList,\n isFetching: true,\n },\n };\n\n case c.GET_PRODUCTS_COMPLETE:\n return {\n ...state,\n productList: {\n ...state.productList,\n data: action.payload,\n isFetching: false,\n },\n };\n\n case c.GET_PRODUCTS_FAILED:\n return {\n ...state,\n productList: {\n ...state.productList,\n isFetching: false,\n },\n };\n\n\n /**\n *** CATALOG GET_PRODUCT BY ID\n */\n\n case c.GET_PRODUCT_BY_ID:\n return {\n ...state,\n product: {\n ...state.product,\n isFetching: true,\n },\n };\n\n case c.GET_PRODUCT_BY_ID_COMPLETE:\n return {\n ...state,\n product: {\n ...state.product,\n ...action.payload,\n isFetching: false,\n },\n };\n\n case c.GET_PRODUCT_BY_ID_FAILED:\n return {\n ...state,\n product: {\n ...state.product,\n isFetching: false,\n },\n };\n\n /**\n *** CATALOG FILTER_PRODUCTS_BY_QUERY\n */\n\n case c.FILTER_PRODUCTS_BY_QUERY:\n return {\n ...state,\n productList: {\n ...state.productList,\n isFiltering: true,\n filterQuery: action.payload.query,\n },\n };\n\n case c.FILTER_PRODUCTS_BY_QUERY_COMPLETE:\n return {\n ...state,\n productList: {\n ...state.productList,\n isFiltering: false,\n filteredData: action.payload.data,\n },\n };\n\n default:\n return state;\n }\n};\n","export const GET_A_B_RESULTS = 'analytics/GET_A_B_RESULTS';\nexport const GET_A_B_RESULTS_COMPLETE = 'analytics/GET_A_B_RESULTS_COMPLETE';\nexport const GET_A_B_RESULTS_FAILED = 'analytics/GET_A_B_RESULTS_FAILED';\n\nexport const GET_A_B_CARTS = 'analytics/GET_A_B_CARTS';\nexport const GET_A_B_CARTS_COMPLETE = 'analytics/GET_A_B_CARTS_COMPLETE';\nexport const GET_A_B_CARTS_FAILED = 'analytics/GET_A_B_CARTS_FAILED';\n\nexport const GET_FAKE_ANALYTICS = 'analytics/GET_FAKE_ANALYTICS';\nexport const CHANGE_TIMEFRAME_RANGE = 'analytics/CHANGE_TIMEFRAME_RANGE';\n\nexport const GET_SEARCH_DASHBOARD = 'analytics/GET_SEARCH_DASHBOARD';\nexport const GET_SEARCH_DASHBOARD_COMPLETE = 'analytics/GET_SEARCH_DASHBOARD_COMPLETE';\nexport const GET_SEARCH_DASHBOARD_FAILED = 'analytics/GET_SEARCH_DASHBOARD_FAILED';\n\nexport const GET_RECS_DASHBOARD = 'analytics/GET_RECS_DASHBOARD';\nexport const GET_RECS_DASHBOARD_COMPLETE = 'analytics/GET_RECS_DASHBOARD_COMPLETE';\nexport const GET_RECS_DASHBOARD_FAILED = 'analytics/GET_RECS_DASHBOARD_FAILED';\n\n\nexport const GET_SEARCH_STATS = 'analytics/GET_SEARCH_STATS';\nexport const GET_SEARCH_STATS_COMPLETE = 'analytics/GET_SEARCH_STATS_COMPLETE';\nexport const GET_SEARCH_STATS_FAILED = 'analytics/GET_SEARCH_STATS_FAILED';\n\nexport const GET_SEARCH_FILTER_POPULAR = 'analytics/GET_SEARCH_FILTER_POPULAR';\nexport const GET_SEARCH_FILTER_POPULAR_COMPLETE = 'analytics/GET_SEARCH_FILTER_POPULAR_COMPLETE';\nexport const GET_SEARCH_FILTER_POPULAR_FAILED = 'analytics/GET_SEARCH_FILTER_POPULAR_FAILED';\n\nexport const GET_SEARCH_LOST_OPPORTUNITIES = 'analytics/GET_SEARCH_LOST_OPPORTUNITIES';\nexport const GET_SEARCH_LOST_OPPORTUNITIES_COMPLETE = 'analytics/GET_SEARCH_LOST_OPPORTUNITIES_COMPLETE';\nexport const GET_SEARCH_LOST_OPPORTUNITIES_FAILED = 'analytics/GET_SEARCH_LOST_OPPORTUNITIES_FAILED';\n\nexport const GET_SEARCH_CURVE = 'analytics/GET_SEARCH_CURVE';\nexport const GET_SEARCH_CURVE_COMPLETE = 'analytics/GET_SEARCH_CURVE_COMPLETE';\nexport const GET_SEARCH_CURVE_FAILED = 'analytics/GET_SEARCH_CURVE_FAILED';\n\nexport const GET_SEARCH_QUERY_POPULAR = 'analytics/GET_SEARCH_QUERY_POPULAR';\nexport const GET_SEARCH_QUERY_POPULAR_COMPLETE = 'analytics/GET_SEARCH_QUERY_POPULAR_COMPLETE';\nexport const GET_SEARCH_QUERY_POPULAR_FAILED = 'analytics/GET_SEARCH_QUERY_POPULAR_FAILED';\n\nexport const GET_SEARCH_QUERY_SORTED = 'analytics/GET_SEARCH_QUERY_SORTED';\nexport const GET_SEARCH_QUERY_SORTED_COMPLETE = 'analytics/GET_SEARCH_QUERY_SORTED_COMPLETE';\nexport const GET_SEARCH_QUERY_SORTED_FAILED = 'analytics/GET_SEARCH_QUERY_SORTED_FAILED';\n\nexport const GET_SEARCH_QUERY_NO_RESULT = 'analytics/GET_SEARCH_QUERY_NO_RESULT';\nexport const GET_SEARCH_QUERY_NO_RESULT_COMPLETE = 'analytics/GET_SEARCH_QUERY_NO_RESULT_COMPLETE';\nexport const GET_SEARCH_QUERY_NO_RESULT_FAILED = 'analytics/GET_SEARCH_QUERY_NO_RESULT_FAILED';\n\nexport const GET_SEARCH_RELATED_QUERIES = 'analytics/GET_SEARCH_RELATED_QUERIES';\nexport const GET_SEARCH_RELATED_QUERIES_COMPLETE = 'analytics/GET_SEARCH_RELATED_QUERIES_COMPLETE';\nexport const GET_SEARCH_RELATED_QUERIES_FAILED = 'analytics/GET_SEARCH_RELATED_QUERIES_FAILED';\n\n\nexport const GET_PRODUCTS_CONVERSION_BEST = 'analytics/GET_PRODUCTS_CONVERSION_BEST';\nexport const GET_PRODUCTS_CONVERSION_BEST_COMPLETE = 'analytics/GET_PRODUCTS_CONVERSION_BEST_COMPLETE';\nexport const GET_PRODUCTS_CONVERSION_BEST_FAILED = 'analytics/GET_PRODUCTS_CONVERSION_BEST_FAILED';\n\nexport const GET_PRODUCTS_CONVERSION_WORST = 'analytics/GET_PRODUCTS_CONVERSION_WORST';\nexport const GET_PRODUCTS_CONVERSION_WORST_COMPLETE = 'analytics/GET_PRODUCTS_CONVERSION_WORST_COMPLETE';\nexport const GET_PRODUCTS_CONVERSION_WORST_FAILED = 'analytics/GET_PRODUCTS_CONVERSION_WORST_FAILED';\n\nexport const GET_PRODUCTS_POPULAR_BY_VIEW = 'analytics/GET_PRODUCTS_POPULAR_BY_VIEW';\nexport const GET_PRODUCTS_POPULAR_BY_VIEW_COMPLETE = 'analytics/GET_PRODUCTS_POPULAR_BY_VIEW_COMPLETE';\nexport const GET_PRODUCTS_POPULAR_BY_VIEW_FAILED = 'analytics/GET_PRODUCTS_POPULAR_BY_VIEW_FAILED';\n\nexport const GET_PRODUCTS_POPULAR_BY_PURCHASE = 'analytics/GET_PRODUCTS_POPULAR_BY_PURCHASE';\nexport const GET_PRODUCTS_POPULAR_BY_PURCHASE_COMPLETE = 'analytics/GET_PRODUCTS_POPULAR_BY_PURCHASE_COMPLETE';\nexport const GET_PRODUCTS_POPULAR_BY_PURCHASE_FAILED = 'analytics/GET_PRODUCTS_POPULAR_BY_PURCHASE_FAILED';\n\nexport const GET_PRODUCTS_RELATED_BY_VIEW = 'analytics/GET_PRODUCTS_RELATED_BY_VIEW';\nexport const GET_PRODUCTS_RELATED_BY_VIEW_COMPLETE = 'analytics/GET_PRODUCTS_RELATED_BY_VIEW_COMPLETE';\nexport const GET_PRODUCTS_RELATED_BY_VIEW_FAILED = 'analytics/GET_PRODUCTS_RELATED_BY_VIEW_FAILED';\n\nexport const GET_PRODUCTS_RELATED_BY_PURCHASE = 'analytics/GET_PRODUCTS_RELATED_BY_PURCHASE';\nexport const GET_PRODUCTS_RELATED_BY_PURCHASE_COMPLETE = 'analytics/GET_PRODUCTS_RELATED_BY_PURCHASE_COMPLETE';\nexport const GET_PRODUCTS_RELATED_BY_PURCHASE_FAILED = 'analytics/GET_PRODUCTS_RELATED_BY_PURCHASE_FAILED';\n\nexport const GET_RELATED_QUERIES_BY_PRODUCT = 'analytics/GET_RELATED_QUERIES_BY_PRODUCT';\nexport const GET_RELATED_QUERIES_BY_PRODUCT_COMPLETE = 'analytics/GET_RELATED_QUERIES_BY_PRODUCT_COMPLETE';\nexport const GET_RELATED_QUERIES_BY_PRODUCT_FAILED = 'analytics/GET_RELATED_QUERIES_BY_PRODUCT_FAILED';\n\nexport const GET_RELATED_PRODUCTS_BY_QUERY = 'analytics/GET_RELATED_PRODUCTS_BY_QUERY';\nexport const GET_RELATED_PRODUCTS_BY_QUERY_COMPLETE = 'analytics/GET_RELATED_PRODUCTS_BY_QUERY_COMPLETE';\nexport const GET_RELATED_PRODUCTS_BY_QUERY_FAILED = 'analytics/GET_RELATED_PRODUCTS_BY_QUERY_FAILED';\n\nexport const GET_RECS_WIDGETS_PERFORMANCE = 'analytics/GET_RECS_WIDGETS_PERFORMANCE';\nexport const GET_RECS_WIDGETS_PERFORMANCE_COMPLETE = 'analytics/GET_RECS_WIDGETS_PERFORMANCE_COMPLETE';\nexport const GET_RECS_WIDGETS_PERFORMANCE_FAILED = 'analytics/GET_RECS_WIDGETS_PERFORMANCE_FAILED';\n","/* eslint-disable no-underscore-dangle */\nimport moment from 'moment';\n\nexport default {\n today: {\n to: moment()._d,\n from: moment()._d,\n text: 'Today',\n id: 'today',\n },\n // yesterday: {\n // from: moment().subtract(1, 'day')._d,\n // to: moment().subtract(1, 'day')._d,\n // text: 'Yesterday',\n // id: 'yesterday',\n // },\n thisWeek: {\n from: moment().startOf('isoWeek')._d,\n to: moment()._d,\n text: 'This week',\n id: 'thisWeek',\n },\n previousWeek: {\n from: moment().subtract(1, 'weeks').startOf('isoWeek')._d,\n to: moment().subtract(1, 'weeks').endOf('isoWeek')._d,\n text: 'Prev. week',\n id: 'previousWeek',\n },\n thisMonth: {\n from: moment().startOf('month')._d,\n to: moment()._d,\n text: 'This month',\n id: 'thisMonth',\n },\n previousMonth: {\n from: moment().subtract(1, 'months').startOf('month')._d,\n to: moment().subtract(1, 'months').endOf('month')._d,\n text: 'Prev. month',\n id: 'previousMonth',\n },\n last7days: {\n from: moment().subtract(6, 'days')._d,\n to: moment()._d,\n text: 'Last 7d.',\n id: 'last7days',\n },\n last30days: {\n from: moment().subtract(29, 'days')._d,\n to: moment()._d,\n text: 'Last 30d.',\n id: 'last30days',\n },\n last90days: {\n from: moment().subtract(89, 'days')._d,\n to: moment()._d,\n text: 'Last 90d.',\n id: 'last90days',\n },\n lastYear: {\n from: moment().subtract(1, 'year')._d,\n to: moment()._d,\n text: 'Last year.',\n id: 'lastYear',\n },\n};\n","/* eslint-disable max-len */\nimport * as c from 'constants/actionTypes/analytics';\nimport timeframeList from '../components/kea/DateRangePicker/timeframeList';\n\nconst defaultState = {\n timeframe: timeframeList.last30days,\n experimentCarts: { isFetching: true, error: null, data: {} },\n experiment: {\n isFetching: true,\n error: null,\n a: {},\n b: {},\n diff: {},\n },\n recs: {\n dashboard: { isFetching: false },\n widgetsPerformance: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false },\n },\n\n search: {\n dashboard: { timeframe: timeframeList.thisMonth, isFetching: false },\n stats: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false },\n filterPopular: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false, data: [] },\n lostOpportunities: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false, data: [] },\n curve: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false, data: [] },\n queryPopular: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false, data: [] },\n querySorted: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false, data: [] },\n queryNoResult: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false, data: [] },\n relatedQueries: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false, data: [] },\n relatedQueriesByProduct: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false, data: [] },\n },\n\n products: {\n conversionBest: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false, data: [] },\n conversionWorst: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false, data: [] },\n popularByView: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false, data: [] },\n popularByPurchase: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false, data: [] },\n relatedByView: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false, data: [] },\n relatedByPurchase: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false, data: [] },\n relatedByQuery: { timeframe: timeframeList.thisMonth, isFetching: false, isFetched: false, data: [] },\n },\n\n // TODO: maybe move to new reducer: Catalog\n product: { isFetching: false, isFetched: false },\n productList: { isFetching: false, isFetched: false },\n};\n\nexport default (state = defaultState, action) => {\n switch (action.type) {\n case c.CHANGE_TIMEFRAME_RANGE:\n return {\n ...state,\n timeframe: action.payload,\n };\n\n /**\n *** AB TEST ***\n */\n\n case c.GET_A_B_RESULTS:\n return {\n ...state,\n experiment: {\n ...state.experiment,\n isFetching: true,\n error: null,\n },\n };\n case c.GET_A_B_RESULTS_COMPLETE:\n return {\n ...state,\n experiment: {\n ...state.experiment,\n ...action.payload,\n isFetching: false,\n },\n };\n case c.GET_A_B_RESULTS_FAILED:\n return {\n ...state,\n experiment: {\n ...state.experiment,\n isFetching: false,\n error: action.payload.message,\n },\n };\n\n case c.GET_A_B_CARTS:\n return {\n ...state,\n experimentCarts: {\n ...state.experimentCarts,\n isFetching: true,\n error: null,\n },\n };\n case c.GET_A_B_CARTS_COMPLETE:\n return {\n ...state,\n experimentCarts: {\n ...state.experimentCarts,\n ...action.payload,\n isFetching: false,\n },\n };\n case c.GET_A_B_CARTS_FAILED:\n return {\n ...state,\n experimentCarts: {\n ...state.experimentCarts,\n isFetching: false,\n error: action.payload.message,\n },\n };\n\n /**\n *** RECS ***\n */\n\n case c.GET_RECS_DASHBOARD:\n return {\n ...state,\n recs: {\n ...state.recs,\n dashboard: {\n ...state.recs.dashboard,\n isFetching: true,\n },\n },\n };\n case c.GET_RECS_DASHBOARD_COMPLETE:\n return {\n ...state,\n recs: {\n ...state.recs,\n dashboard: {\n isFetched: true,\n isFetching: false,\n ...action.payload,\n },\n\n },\n };\n case c.GET_RECS_DASHBOARD_FAILED:\n return {\n ...state,\n recs: {\n ...state.recs,\n dashboard: {\n ...state.recs.dashboard,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n /**\n *** RECS ANALYTICS***\n */\n\n case c.GET_RECS_WIDGETS_PERFORMANCE:\n return {\n ...state,\n recs: {\n ...state.recs,\n widgetsPerformance: {\n ...state.recs.widgetsPerformance,\n isFetching: true,\n },\n },\n };\n case c.GET_RECS_WIDGETS_PERFORMANCE_COMPLETE:\n return {\n ...state,\n recs: {\n ...state.recs,\n widgetsPerformance: {\n ...state.recs.widgetsPerformance,\n isFetched: true,\n isFetching: false,\n ...action.payload,\n },\n\n },\n };\n case c.GET_RECS_WIDGETS_PERFORMANCE_FAILED:\n return {\n ...state,\n recs: {\n ...state.recs,\n widgetsPerformance: {\n ...state.recs.widgetsPerformance,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n /**\n *** SEARCH DASHBOARD ***\n */\n\n case c.GET_SEARCH_DASHBOARD:\n return {\n ...state,\n search: {\n ...state.search,\n dashboard: {\n ...state.search.dashboard,\n isFetching: true,\n },\n },\n };\n case c.GET_SEARCH_DASHBOARD_COMPLETE:\n return {\n ...state,\n search: {\n ...state.search,\n dashboard: {\n isFetched: true,\n isFetching: false,\n ...action.payload,\n },\n\n },\n };\n case c.GET_SEARCH_DASHBOARD_FAILED:\n return {\n ...state,\n search: {\n ...state.search,\n dashboard: {\n ...state.search.dashboard,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n\n /**\n *** SEARCH ANALYTICS SEARCH_STATS***\n */\n\n case c.GET_SEARCH_STATS:\n return {\n ...state,\n search: {\n ...state.search,\n stats: {\n ...state.search.stats,\n isFetching: true,\n timeframe: action.payload.range,\n },\n },\n };\n case c.GET_SEARCH_STATS_COMPLETE:\n return {\n ...state,\n search: {\n ...state.search,\n stats: {\n ...state.search.stats,\n data: action.payload,\n error: action.payload.error,\n isFetched: true,\n isFetching: false,\n },\n },\n };\n case c.GET_SEARCH_STATS_FAILED:\n return {\n ...state,\n search: {\n ...state.search,\n stats: {\n ...state.search.stats,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n\n /**\n *** SEARCH ANALYTICS SEARCH_FILTER_POPULAR***\n */\n\n case c.GET_SEARCH_FILTER_POPULAR:\n return {\n ...state,\n search: {\n ...state.search,\n filterPopular: {\n ...state.search.filterPopular,\n isFetching: true,\n timeframe: action.payload.range,\n },\n },\n };\n case c.GET_SEARCH_FILTER_POPULAR_COMPLETE:\n return {\n ...state,\n search: {\n ...state.search,\n filterPopular: {\n ...state.search.filterPopular,\n data: action.payload,\n error: action.payload.error,\n isFetched: true,\n isFetching: false,\n },\n },\n };\n case c.GET_SEARCH_FILTER_POPULAR_FAILED:\n return {\n ...state,\n search: {\n ...state.search,\n filterPopular: {\n ...state.search.filterPopular,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n\n /**\n *** SEARCH ANALYTICS GET_SEARCH_LOST_OPPORTUNITIES***\n */\n\n case c.GET_SEARCH_LOST_OPPORTUNITIES:\n return {\n ...state,\n search: {\n ...state.search,\n lostOpportunities: {\n ...state.search.lostOpportunities,\n isFetching: true,\n timeframe: action.payload.range,\n },\n },\n };\n case c.GET_SEARCH_LOST_OPPORTUNITIES_COMPLETE:\n return {\n ...state,\n search: {\n ...state.search,\n lostOpportunities: {\n ...state.search.lostOpportunities,\n data: action.payload.records,\n users: action.payload.users,\n queries: action.payload.queries,\n curve: action.payload.curve,\n error: action.payload.error,\n isFetched: true,\n isFetching: false,\n },\n },\n };\n case c.GET_SEARCH_LOST_OPPORTUNITIES_FAILED:\n return {\n ...state,\n search: {\n ...state.search,\n lostOpportunities: {\n ...state.search.lostOpportunities,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n\n /**\n *** SEARCH ANALYTICS GET_SEARCH_CURVE***\n */\n\n case c.GET_SEARCH_CURVE:\n return {\n ...state,\n search: {\n ...state.search,\n curve: {\n ...state.search.curve,\n isFetching: true,\n timeframe: action.payload.range,\n },\n },\n };\n case c.GET_SEARCH_CURVE_COMPLETE:\n return {\n ...state,\n search: {\n ...state.search,\n curve: {\n ...state.search.curve,\n data: action.payload.curve,\n error: action.payload.error,\n isFetched: true,\n isFetching: false,\n },\n },\n };\n case c.GET_SEARCH_CURVE_FAILED:\n return {\n ...state,\n search: {\n ...state.search,\n curve: {\n ...state.search.curve,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n\n /**\n *** SEARCH ANALYTICS GET_SEARCH_QUERY_POPULAR***\n */\n\n case c.GET_SEARCH_QUERY_POPULAR:\n return {\n ...state,\n search: {\n ...state.search,\n queryPopular: {\n ...state.search.queryPopular,\n isFetching: true,\n timeframe: action.payload.range,\n },\n },\n };\n case c.GET_SEARCH_QUERY_POPULAR_COMPLETE:\n return {\n ...state,\n search: {\n ...state.search,\n queryPopular: {\n ...state.search.queryPopular,\n data: action.payload.records,\n users: action.payload.users,\n queries: action.payload.queries,\n curve: action.payload.curve,\n error: action.payload.error,\n isFetched: true,\n isFetching: false,\n },\n },\n };\n case c.GET_SEARCH_QUERY_POPULAR_FAILED:\n return {\n ...state,\n search: {\n ...state.search,\n queryPopular: {\n ...state.search.queryPopular,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n\n /**\n *** SEARCH ANALYTICS GET_SEARCH_QUERY_SORTED***\n */\n\n case c.GET_SEARCH_QUERY_SORTED:\n return {\n ...state,\n search: {\n ...state.search,\n querySorted: {\n ...state.search.querySorted,\n isFetching: true,\n timeframe: action.payload.range,\n },\n },\n };\n case c.GET_SEARCH_QUERY_SORTED_COMPLETE:\n return {\n ...state,\n search: {\n ...state.search,\n querySorted: {\n ...state.search.querySorted,\n data: action.payload,\n error: action.payload.error,\n isFetched: true,\n isFetching: false,\n },\n },\n };\n case c.GET_SEARCH_QUERY_SORTED_FAILED:\n return {\n ...state,\n search: {\n ...state.search,\n querySorted: {\n ...state.search.querySorted,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n\n /**\n *** SEARCH ANALYTICS GET_SEARCH_QUERY_NO_RESULT***\n */\n\n case c.GET_SEARCH_QUERY_NO_RESULT:\n return {\n ...state,\n search: {\n ...state.search,\n queryNoResult: {\n ...state.search.queryNoResult,\n timeframe: action.payload.range,\n isFetching: true,\n },\n },\n };\n case c.GET_SEARCH_QUERY_NO_RESULT_COMPLETE:\n return {\n ...state,\n search: {\n ...state.search,\n queryNoResult: {\n ...state.search.queryNoResult,\n isFetched: true,\n isFetching: false,\n data: action.payload.records,\n users: action.payload.users,\n queries: action.payload.queries,\n curve: action.payload.curve,\n error: action.payload.error,\n },\n },\n };\n case c.GET_SEARCH_QUERY_NO_RESULT_FAILED:\n return {\n ...state,\n search: {\n ...state.search,\n queryNoResult: {\n ...state.search.queryNoResult,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n /**\n *** SEARCH ANALYTICS GET_SEARCH_RELATED_QUERIES***\n */\n\n case c.GET_SEARCH_RELATED_QUERIES:\n return {\n ...state,\n search: {\n ...state.search,\n relatedQueries: {\n ...state.search.relatedQueries,\n timeframe: action.payload.range,\n query: action.payload.query,\n isFetching: true,\n },\n },\n };\n case c.GET_SEARCH_RELATED_QUERIES_COMPLETE:\n return {\n ...state,\n search: {\n ...state.search,\n relatedQueries: {\n ...state.search.relatedQueries,\n isFetched: true,\n isFetching: false,\n data: action.payload.records,\n error: action.payload.error,\n },\n },\n };\n case c.GET_SEARCH_RELATED_QUERIES_FAILED:\n return {\n ...state,\n search: {\n ...state.search,\n relatedQueries: {\n ...state.search.relatedQueries,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n\n /**\n *** SEARCH ANALYTICS GET_PRODUCTS_CONVERSION_BEST\n */\n\n case c.GET_PRODUCTS_CONVERSION_BEST:\n return {\n ...state,\n products: {\n ...state.products,\n conversionBest: {\n ...state.products.conversionBest,\n timeframe: action.payload.range,\n isFetching: true,\n },\n },\n };\n case c.GET_PRODUCTS_CONVERSION_BEST_COMPLETE:\n return {\n ...state,\n products: {\n ...state.products,\n conversionBest: {\n ...state.products.conversionBest,\n isFetched: true,\n isFetching: false,\n data: action.payload.records,\n error: action.payload.error,\n },\n },\n };\n case c.GET_PRODUCTS_CONVERSION_BEST_FAILED:\n return {\n ...state,\n products: {\n ...state.products,\n conversionBest: {\n ...state.products.conversionBest,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n\n /**\n *** SEARCH ANALYTICS GET_PRODUCTS_CONVERSION_WORST\n */\n\n case c.GET_PRODUCTS_CONVERSION_WORST:\n return {\n ...state,\n products: {\n ...state.products,\n conversionWorst: {\n ...state.products.conversionWorst,\n timeframe: action.payload.range,\n isFetching: true,\n },\n },\n };\n case c.GET_PRODUCTS_CONVERSION_WORST_COMPLETE:\n return {\n ...state,\n products: {\n ...state.products,\n conversionWorst: {\n ...state.products.conversionWorst,\n isFetched: true,\n isFetching: false,\n data: action.payload.records,\n error: action.payload.error,\n },\n },\n };\n case c.GET_PRODUCTS_CONVERSION_WORST_FAILED:\n return {\n ...state,\n products: {\n ...state.products,\n conversionWorst: {\n ...state.products.conversionWorst,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n\n /**\n *** SEARCH ANALYTICS GET_PRODUCTS_POPULAR_BY_VIEW\n */\n\n case c.GET_PRODUCTS_POPULAR_BY_VIEW:\n return {\n ...state,\n products: {\n ...state.products,\n popularByView: {\n ...state.products.popularByView,\n timeframe: action.payload.range,\n isFetching: true,\n },\n },\n };\n case c.GET_PRODUCTS_POPULAR_BY_VIEW_COMPLETE:\n return {\n ...state,\n products: {\n ...state.products,\n popularByView: {\n ...state.products.popularByView,\n isFetched: true,\n isFetching: false,\n data: action.payload.records,\n error: action.payload.error,\n },\n },\n };\n case c.GET_PRODUCTS_POPULAR_BY_VIEW_FAILED:\n return {\n ...state,\n products: {\n ...state.products,\n popularByView: {\n ...state.products.popularByView,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n /**\n *** SEARCH ANALYTICS GET_PRODUCTS_POPULAR_BY_PURCHASE\n */\n\n case c.GET_PRODUCTS_POPULAR_BY_PURCHASE:\n return {\n ...state,\n products: {\n ...state.products,\n popularByPurchase: {\n ...state.products.popularByPurchase,\n timeframe: action.payload.range,\n isFetching: true,\n },\n },\n };\n case c.GET_PRODUCTS_POPULAR_BY_PURCHASE_COMPLETE:\n return {\n ...state,\n products: {\n ...state.products,\n popularByPurchase: {\n ...state.products.popularByPurchase,\n isFetched: true,\n isFetching: false,\n data: action.payload.records,\n error: action.payload.error,\n },\n },\n };\n case c.GET_PRODUCTS_POPULAR_BY_PURCHASE_FAILED:\n return {\n ...state,\n products: {\n ...state.products,\n popularByPurchase: {\n ...state.products.popularByPurchase,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n\n /**\n *** SEARCH ANALYTICS GET_PRODUCTS_RELATED_BY_VIEW\n */\n\n case c.GET_PRODUCTS_RELATED_BY_VIEW:\n return {\n ...state,\n products: {\n ...state.products,\n relatedByView: {\n ...state.products.relatedByView,\n timeframe: action.payload.range,\n isFetching: true,\n },\n },\n };\n case c.GET_PRODUCTS_RELATED_BY_VIEW_COMPLETE:\n return {\n ...state,\n products: {\n ...state.products,\n relatedByView: {\n ...state.products.relatedByView,\n isFetched: true,\n isFetching: false,\n data: action.payload.records,\n error: action.payload.error,\n },\n },\n };\n case c.GET_PRODUCTS_RELATED_BY_VIEW_FAILED:\n return {\n ...state,\n products: {\n ...state.products,\n relatedByView: {\n ...state.products.relatedByView,\n isFetching: false,\n error: action.payload.message,\n },\n },\n };\n\n /**\n *** SEARCH ANALYTICS GET_PRODUCTS_RELATED_BY_VIEW\n */\n\n case c.GET_PRODUCTS_RELATED_BY_PURCHASE:\n return {\n ...state,\n products: {\n ...state.products,\n relatedByPurchase: {\n ...state.products.relatedByPurchase,\n timeframe: action.payload.range,\n isFetching: true,\n },\n },\n };\n case c.GET_PRODUCTS_RELATED_BY_PURCHASE_COMPLETE:\n return {\n ...state,\n products: {\n ...state.products,\n relatedByPurchase: {\n ...state.products.relatedByPurchase,\n isFetched: true,\n isFetching: false,\n data: action.payload.records,\n error: action.payload.error,\n },\n },\n };\n case c.GET_PRODUCTS_RELATED_BY_PURCHASE_FAILED:\n return {\n ...state,\n products: {\n ...state.products,\n relatedByPurchase: {\n ...state.products.relatedByPurchase,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n /**\n *** SEARCH ANALYTICS GET_RELATED_QUERIES_BY_PRODUCT\n */\n\n case c.GET_RELATED_QUERIES_BY_PRODUCT:\n return {\n ...state,\n search: {\n ...state.search,\n relatedQueriesByProduct: {\n ...state.search.relatedQueriesByProduct,\n timeframe: action.payload.range,\n isFetching: true,\n },\n },\n };\n case c.GET_RELATED_QUERIES_BY_PRODUCT_COMPLETE:\n return {\n ...state,\n search: {\n ...state.search,\n relatedQueriesByProduct: {\n ...state.search.relatedQueriesByProduct,\n isFetching: false,\n isFetched: true,\n data: action.payload.records,\n error: action.payload.error,\n },\n },\n };\n case c.GET_RELATED_QUERIES_BY_PRODUCT_FAILED:\n return {\n ...state,\n search: {\n ...state.search,\n relatedQueriesByProduct: {\n ...state.search.relatedQueriesByProduct,\n error: action.payload.message,\n isFetching: false,\n },\n },\n };\n\n\n /**\n *** STORE ANALYTICS GET_RELATED_PRODUCTS_BY_QUERY\n */\n\n case c.GET_RELATED_PRODUCTS_BY_QUERY:\n return {\n ...state,\n products: {\n ...state.products,\n relatedByQuery: {\n ...state.products.relatedByQuery,\n timeframe: action.payload.range,\n isFetching: true,\n },\n },\n };\n case c.GET_RELATED_PRODUCTS_BY_QUERY_COMPLETE:\n return {\n ...state,\n products: {\n ...state.products,\n relatedByQuery: {\n ...state.products.relatedByQuery,\n isFetching: false,\n isFetched: true,\n data: action.payload.records,\n error: action.payload.error,\n },\n },\n };\n case c.GET_RELATED_PRODUCTS_BY_QUERY_FAILED:\n return {\n ...state,\n products: {\n ...state.products,\n relatedByQuery: {\n ...state.products.relatedByQuery,\n isFetching: false,\n error: action.payload.message,\n },\n },\n };\n\n default:\n return state;\n }\n};\n","import * as c from 'constants/actionTypes/recs';\n\nconst defaultState = {\n widget: {\n data: [],\n isFetched: false,\n isFetching: false,\n isDeleting: false,\n isUpdating: false,\n },\n model: {\n data: [],\n isFetched: false,\n isFetching: false,\n },\n page: {\n data: [],\n isFetched: false,\n isFetching: false,\n },\n fields: {\n isUpdating: false,\n isFetching: true,\n isFetched: false,\n data: {},\n attributes: {},\n updated: {},\n changes: {},\n\n forDiff: {},\n },\n algorithm: {\n SIMILARITY: 'Similar Items',\n RELATED_ITEMS_VIEW: 'Related Items',\n RELATED_ITEMS_PURCHASE: 'Bought together',\n AFTER_VIEW_BOUGHT: 'Customers buy after viewing',\n SAME_COLLECTION: 'Same Collection',\n POPULAR_PRODUCTS_FROM_RELATED_CATEGORIES: 'Popular Items from Related Categories',\n POPULAR_PRODUCTS_IN_CATEGORY: 'Popular Items in Category',\n POPULAR_PRODUCTS_IN_SHOP: 'Popular Items',\n RELATED_PRODUCTS_FOR_CART: 'Related Items for Cart',\n YOU_MAY_LIKE: 'Personalised Recommendations',\n BROWSING_HISTORY: 'Browsing History',\n },\n};\n\nexport default (state = defaultState, action) => {\n switch (action.type) {\n case c.GET_FIELDS_COMPLETE:\n return {\n ...state,\n fields: {\n isFetching: false,\n data: action.payload.fields,\n attributes: action.payload.attributes,\n flat: action.payload.flat,\n\n forDiff: action.payload.fields,\n },\n };\n\n case c.FIELDS_CHANGE_HANDLER:\n return {\n ...state,\n fields: {\n ...state.fields,\n data: {\n ...state.fields.data,\n [action.payload.field]: {\n ...state.fields.data[action.payload.field],\n [action.payload.key]: action.payload.value,\n },\n },\n },\n };\n\n case c.DISCARD_FIELDS_CHANGES:\n return {\n ...state,\n fields: {\n ...state.fields,\n data: state.fields.forDiff,\n },\n };\n\n case c.SAVE_FIELDS_CHANGES:\n return {\n ...state,\n fields: {\n ...state.fields,\n isUpdating: true,\n },\n };\n\n case c.SAVE_FIELDS_CHANGES_COMPLETED:\n case c.SAVE_FIELDS_CHANGES_FAILED:\n return {\n ...state,\n fields: {\n ...state.fields,\n isUpdating: false,\n },\n };\n\n case c.RECS_LOAD_ALL_WIDGETS:\n return {\n ...state,\n widget: {\n ...state.widget,\n isFetching: true,\n },\n };\n\n case c.RECS_LOAD_ALL_WIDGETS_COMPLETE:\n return {\n ...state,\n widget: {\n ...state.widget,\n data: action.payload.data,\n dataMap: action.payload.dataMap,\n isFetched: true,\n isFetching: false,\n },\n };\n\n case c.RECS_CREATE_WIDGET:\n case c.RECS_UPDATE_ONE_WIDGET:\n return {\n ...state,\n widget: {\n ...state.widget,\n isUpdating: true,\n },\n };\n\n case c.RECS_DELETE_WIDGET:\n return {\n ...state,\n widget: {\n ...state.widget,\n isDeleting: true,\n },\n };\n\n case c.RECS_UPDATE_ONE_WIDGET_COMPLETE:\n case c.RECS_UPDATE_ONE_WIDGET_FAILED:\n case c.RECS_CREATE_WIDGET_COMPLETE:\n case c.RECS_CREATE_WIDGET_FAILED:\n case c.RECS_UPDATE_MANY_WIDGETS_COMPLETE:\n case c.RECS_UPDATE_MANY_WIDGETS_FAILED:\n return {\n ...state,\n widget: {\n ...state.widget,\n isUpdating: false,\n },\n };\n\n case c.RECS_LOAD_ALL_MODELS_COMPLETE:\n return {\n ...state,\n model: {\n data: action.payload.data,\n dataForSelect: action.payload.dataForSelect,\n isFetched: true,\n isFetching: false,\n },\n };\n\n case c.RECS_LOAD_ALL_PAGES_COMPLETE:\n return {\n ...state,\n page: {\n data: action.payload.data,\n dataMap: action.payload.dataMap,\n dataMapDefault: action.payload.dataMapDefault,\n isFetched: true,\n isFetching: false,\n isUpdating: false,\n },\n };\n\n case c.RECS_CUSTOMIZE_SECTIONS_IN_PAGE:\n return {\n ...state,\n page: {\n ...state.page,\n dataMap: {\n ...state.page.dataMap,\n [action.payload.pageId]: {\n ...state.page.dataMap[action.payload.pageId],\n sections: action.payload.sections,\n },\n },\n },\n };\n\n\n case c.RECS_UPDATE_PAGE:\n return {\n ...state,\n page: {\n ...state.page,\n isUpdating: true,\n },\n };\n\n case c.RECS_UPDATE_PAGE_COMPLETE:\n case c.RECS_UPDATE_PAGE_FAILED:\n return {\n ...state,\n page: {\n ...state.page,\n isUpdating: false,\n },\n };\n\n default:\n return state;\n }\n};\n","export const GET_FIELDS = 'recs/GET_FIELDS';\nexport const GET_FIELDS_COMPLETE = 'recs/GET_FIELDS_COMPLETE';\nexport const GET_FIELDS_FAILED = 'recs/GET_FIELDS_FAILED';\nexport const DISCARD_FIELDS_CHANGES = 'recs/DISCARD_FIELDS_CHANGES';\nexport const FIELDS_CHANGE_HANDLER = 'recs/FIELDS_CHANGE_HANDLER';\n\nexport const SAVE_FIELDS_CHANGES = 'recs/SAVE_FIELDS_CHANGES';\nexport const SAVE_FIELDS_CHANGES_COMPLETED = 'recs/SAVE_FIELDS_CHANGES_COMPLETED';\nexport const SAVE_FIELDS_CHANGES_FAILED = 'recs/SAVE_FIELDS_CHANGES_FAILED';\n\n\nexport const RECS_LOAD_ALL_PAGES = 'recs/RECS_LOAD_ALL_PAGES';\nexport const RECS_LOAD_ALL_PAGES_COMPLETE = 'recs/RECS_LOAD_ALL_PAGES_COMPLETE';\nexport const RECS_LOAD_ALL_PAGES_FAILED = 'recs/RECS_LOAD_ALL_PAGES_FAILED';\n\nexport const RECS_LOAD_ONE_PAGE = 'recs/RECS_LOAD_ONE_PAGE';\nexport const RECS_LOAD_ONE_PAGE_COMPLETE = 'recs/RECS_LOAD_ONE_PAGE_COMPLETE';\nexport const RECS_LOAD_ONE_PAGE_FAILED = 'recs/RECS_LOAD_ONE_PAGE_FAILED';\n\nexport const RECS_CUSTOMIZE_SECTIONS_IN_PAGE = 'settings/RECS_CUSTOMIZE_SECTIONS_IN_PAGE';\n\nexport const RECS_UPDATE_PAGE = 'recs/RECS_UPDATE_PAGE';\nexport const RECS_UPDATE_PAGE_COMPLETE = 'recs/RECS_UPDATE_PAGE_COMPLETE';\nexport const RECS_UPDATE_PAGE_FAILED = 'recs/RECS_UPDATE_PAGE_FAILED';\n\n\nexport const RECS_LOAD_ALL_MODELS = 'recs/RECS_LOAD_ALL_MODELS';\nexport const RECS_LOAD_ALL_MODELS_COMPLETE = 'recs/RECS_LOAD_ALL_MODELS_COMPLETE';\nexport const RECS_LOAD_ALL_MODELS_FAILED = 'recs/RECS_LOAD_ALL_MODELS_FAILED';\n\nexport const RECS_LOAD_ONE_MODEL = 'recs/RECS_LOAD_ONE_MODEL';\nexport const RECS_LOAD_ONE_MODEL_COMPLETE = 'recs/RECS_LOAD_ONE_MODEL_COMPLETE';\nexport const RECS_LOAD_ONE_MODEL_FAILED = 'recs/RECS_LOAD_ONE_MODEL_FAILED';\n\nexport const RECS_LOAD_ALL_WIDGETS = 'recs/RECS_LOAD_ALL_WIDGETS';\nexport const RECS_LOAD_ALL_WIDGETS_COMPLETE = 'recs/RECS_LOAD_ALL_WIDGETS_COMPLETE';\nexport const RECS_LOAD_ALL_WIDGETS_FAILED = 'recs/RECS_LOAD_ALL_WIDGETS_FAILED';\n\nexport const RECS_LOAD_ONE_WIDGET = 'recs/RECS_LOAD_ONE_WIDGET';\nexport const RECS_LOAD_ONE_WIDGET_COMPLETE = 'recs/RECS_LOAD_ONE_WIDGET_COMPLETE';\nexport const RECS_LOAD_ONE_WIDGET_FAILED = 'recs/RECS_LOAD_ONE_WIDGET_FAILED';\n\nexport const RECS_UPDATE_ONE_WIDGET = 'recs/RECS_UPDATE_ONE_WIDGET';\nexport const RECS_UPDATE_ONE_WIDGET_COMPLETE = 'recs/RECS_UPDATE_ONE_WIDGET_COMPLETE';\nexport const RECS_UPDATE_ONE_WIDGET_FAILED = 'recs/RECS_UPDATE_ONE_WIDGET_FAILED';\n\nexport const RECS_CREATE_WIDGET = 'recs/RECS_CREATE_WIDGET';\nexport const RECS_CREATE_WIDGET_COMPLETE = 'recs/RECS_CREATE_WIDGET_COMPLETE';\nexport const RECS_CREATE_WIDGET_FAILED = 'recs/RECS_CREATE_WIDGET_FAILED';\n\nexport const RECS_DELETE_WIDGET = 'recs/RECS_DELETE_WIDGET';\nexport const RECS_DELETE_WIDGET_COMPLETE = 'recs/RECS_DELETE_WIDGET_COMPLETE';\nexport const RECS_DELETE_WIDGET_FAILED = 'recs/RECS_DELETE_WIDGET_FAILED';\n\nexport const RECS_UPDATE_MANY_WIDGETS = 'recs/RECS_UPDATE_MANY_WIDGETS';\nexport const RECS_UPDATE_MANY_WIDGETS_COMPLETE = 'recs/RECS_UPDATE_MANY_WIDGETS_COMPLETE';\nexport const RECS_UPDATE_MANY_WIDGETS_FAILED = 'recs/RECS_UPDATE_MANY_WIDGETS_FAILED';\n\nexport const RESET_SETTINGS_TO_DEFAULT = 'recs/RESET_SETTINGS_TO_DEFAULT';\nexport const SAVE_SETTINGS = 'recs/SAVE_SETTINGS';\n\nexport const UPDATE_RECS_VISIBLE = 'recs/UPDATE_RECS_VISIBLE';\nexport const FORCE_UPDATE_RECS_VISIBLE = 'recs/FORCE_UPDATE_RECS_VISIBLE';\n\nexport const UPDATE_ALERT_BANNERS = 'settings/UPDATE_ALERT_BANNERS';\n","import * as c from 'constants/actionTypes/search';\n\nconst defaultState = {\n fields: {\n isUpdating: false,\n isFetching: true,\n isFetched: false,\n data: {},\n attributes: {},\n forDiff: {},\n updated: {},\n changes: {},\n },\n};\n\nexport default (state = defaultState, action) => {\n switch (action.type) {\n case c.GET_FIELDS:\n return {\n ...state,\n fields: {\n ...state.fields,\n isFetching: true,\n },\n };\n\n case c.GET_FIELDS_COMPLETE:\n return {\n ...state,\n fields: {\n isFetching: false,\n data: action.payload.fields,\n forDiff: action.payload.fields,\n attributes: action.payload.attributes,\n },\n };\n\n case c.FIELDS_CHANGE_HANDLER:\n return {\n ...state,\n fields: {\n ...state.fields,\n data: {\n ...state.fields.data,\n [action.payload.field]: {\n ...state.fields.data[action.payload.field],\n [action.payload.key]: action.payload.value,\n },\n },\n },\n };\n\n case c.DISCARD_FIELDS_CHANGES:\n return {\n ...state,\n fields: {\n ...state.fields,\n data: state.fields.forDiff,\n },\n };\n\n case c.SAVE_FIELDS_CHANGES:\n return {\n ...state,\n fields: {\n ...state.fields,\n isUpdating: true,\n },\n };\n\n case c.SAVE_FIELDS_CHANGES_COMPLETED:\n case c.SAVE_FIELDS_CHANGES_FAILED:\n return {\n ...state,\n fields: {\n ...state.fields,\n isUpdating: false,\n },\n };\n\n default:\n return state;\n }\n};\n","export const GET_FIELDS = 'search/GET_FIELDS';\nexport const GET_FIELDS_COMPLETE = 'search/GET_FIELDS_COMPLETE';\nexport const GET_FIELDS_FAILED = 'search/GET_FIELDS_FAILED';\nexport const FIELDS_CHANGE_HANDLER = 'search/FIELDS_CHANGE_HANDLER';\nexport const DISCARD_FIELDS_CHANGES = 'search/DISCARD_FIELDS_CHANGES';\n\nexport const SAVE_FIELDS_CHANGES = 'search/SAVE_FIELDS_CHANGES';\nexport const SAVE_FIELDS_CHANGES_COMPLETED = 'search/SAVE_FIELDS_CHANGES_COMPLETED';\nexport const SAVE_FIELDS_CHANGES_FAILED = 'search/SAVE_FIELDS_CHANGES_FAILED';\n\nexport const SEARCH_VISIBLE_TOGGLE = 'search/SEARCH_VISIBLE_TOGGLE';\n","import {\n CHANGE_CURRENT_SHOP,\n CHANGE_DIRECTION,\n CHANGE_NAVIGATION_STYLE,\n DARK_THEME,\n DRAWER_TYPE,\n HORIZONTAL_MENU_POSITION,\n SWITCH_LANGUAGE,\n THEME_COLOR,\n TOGGLE_COLLAPSED_NAV,\n WINDOW_WIDTH,\n} from 'constants/ActionTypes';\n\nexport function changeShop(shopId) {\n return { type: CHANGE_CURRENT_SHOP, payload: shopId };\n}\n\nexport function toggleCollapsedNav(isNavCollapsed) {\n return { type: TOGGLE_COLLAPSED_NAV, isNavCollapsed };\n}\n\nexport function setDrawerType(drawerType) {\n return { type: DRAWER_TYPE, drawerType };\n}\n\nexport function updateWindowWidth(width) {\n return { type: WINDOW_WIDTH, width };\n}\n\nexport function setThemeColor(color) {\n return { type: THEME_COLOR, color };\n}\n\nexport function setDarkTheme() {\n return { type: DARK_THEME };\n}\n\nexport function changeDirection() {\n return { type: CHANGE_DIRECTION };\n}\n\nexport function changeNavigationStyle(layoutType) {\n return {\n type: CHANGE_NAVIGATION_STYLE,\n payload: layoutType,\n };\n}\n\nexport function setHorizontalMenuPosition(navigationPosition) {\n return {\n type: HORIZONTAL_MENU_POSITION,\n payload: navigationPosition,\n };\n}\n\nexport function switchLanguage(locale) {\n return {\n type: SWITCH_LANGUAGE,\n payload: locale,\n };\n}\n","import {\n GET_AUTHORIZATION_INFO, GET_PROFILE_INFO,\n HIDE_MESSAGE,\n INIT_URL,\n KEA_SIGN_IN_WITH_SECRET,\n ON_HIDE_LOADER,\n ON_SHOW_LOADER,\n SHOW_MESSAGE,\n SIGNIN_FACEBOOK_USER,\n SIGNIN_FACEBOOK_USER_SUCCESS,\n SIGNIN_GITHUB_USER,\n SIGNIN_GITHUB_USER_SUCCESS,\n SIGNIN_GOOGLE_USER,\n SIGNIN_GOOGLE_USER_SUCCESS,\n SIGNIN_TWITTER_USER,\n SIGNIN_TWITTER_USER_SUCCESS,\n SIGNIN_USER,\n SIGNIN_USER_SUCCESS,\n SIGNOUT_USER,\n SIGNOUT_USER_SUCCESS,\n SIGNUP_USER,\n SIGNUP_USER_SUCCESS,\n FORGOT_PASSWORD,\n SUBMIT_NEW_PASSWORD,\n} from 'constants/ActionTypes';\nimport { KEA_SIGN_IN, KEA_SIGN_OUT } from '../constants/ActionTypes';\n\nexport const forgotPassword = (email) => ({\n type: FORGOT_PASSWORD,\n payload: email,\n});\n\nexport const submitNewPassword = (payload) => ({\n type: SUBMIT_NEW_PASSWORD,\n payload,\n});\n\nexport const getProfile = (email) => ({\n type: GET_PROFILE_INFO,\n payload: email,\n});\n\nexport const keaSignIn = (user) => ({\n type: KEA_SIGN_IN,\n payload: user,\n});\n\nexport const keaSignInWithSecret = (domain, secret, appId) => ({\n type: KEA_SIGN_IN_WITH_SECRET,\n payload: { domain, secret, appId },\n});\n\nexport const keaSignOut = () => ({\n type: KEA_SIGN_OUT,\n});\n\nexport const getAuthorization = () => ({\n type: GET_AUTHORIZATION_INFO,\n});\n\nexport const userSignUp = (user) => ({\n type: SIGNUP_USER,\n payload: user,\n});\nexport const userSignIn = (user) => ({\n type: SIGNIN_USER,\n payload: user,\n});\nexport const userSignOut = () => ({\n type: SIGNOUT_USER,\n});\nexport const userSignUpSuccess = (authUser) => ({\n type: SIGNUP_USER_SUCCESS,\n payload: authUser,\n});\n\nexport const userSignInSuccess = (authUser) => ({\n type: SIGNIN_USER_SUCCESS,\n payload: authUser,\n});\nexport const userSignOutSuccess = () => ({\n type: SIGNOUT_USER_SUCCESS,\n});\n\nexport const showAuthMessage = (message) => ({\n type: SHOW_MESSAGE,\n payload: message,\n});\n\n\nexport const userGoogleSignIn = () => ({\n type: SIGNIN_GOOGLE_USER,\n});\nexport const userGoogleSignInSuccess = (authUser) => ({\n type: SIGNIN_GOOGLE_USER_SUCCESS,\n payload: authUser,\n});\nexport const userFacebookSignIn = () => ({\n type: SIGNIN_FACEBOOK_USER,\n});\nexport const userFacebookSignInSuccess = (authUser) => ({\n type: SIGNIN_FACEBOOK_USER_SUCCESS,\n payload: authUser,\n});\nexport const setInitUrl = (url) => ({\n type: INIT_URL,\n payload: url,\n});\nexport const userTwitterSignIn = () => ({\n type: SIGNIN_TWITTER_USER,\n});\nexport const userTwitterSignInSuccess = (authUser) => ({\n type: SIGNIN_TWITTER_USER_SUCCESS,\n payload: authUser,\n});\nexport const userGithubSignIn = () => ({\n type: SIGNIN_GITHUB_USER,\n});\nexport const userGithubSignInSuccess = (authUser) => ({\n type: SIGNIN_GITHUB_USER_SUCCESS,\n payload: authUser,\n});\nexport const showAuthLoader = () => ({\n type: ON_SHOW_LOADER,\n});\n\nexport const hideMessage = () => ({\n type: HIDE_MESSAGE,\n});\nexport const hideAuthLoader = () => ({\n type: ON_HIDE_LOADER,\n});\n","import * as c from '../constants/actionTypes/catalog';\n\nexport const getProductById = (shopId, range, productId) => ({\n type: c.GET_PRODUCT_BY_ID,\n payload: { shopId, range, productId },\n});\n\nexport const getProducts = (shopId, start = 0, limit = 0) => ({\n type: c.GET_PRODUCTS,\n payload: { shopId, start, limit },\n});\n\nexport const filterProducts = (query, data) => ({\n type: c.FILTER_PRODUCTS_BY_QUERY,\n payload: { query, data },\n});\n","import * as c from 'constants/actionTypes/analytics';\n\nexport const getABResults = (token, range) => ({\n type: c.GET_A_B_RESULTS,\n payload: { token, range },\n});\n\nexport const getABCarts = (payload) => ({\n type: c.GET_A_B_CARTS,\n payload,\n});\n\nexport const changeTimeframe = (range) => ({\n type: c.CHANGE_TIMEFRAME_RANGE,\n payload: range,\n});\n\nexport const getSearchDashboard = (token, range) => ({\n type: c.GET_SEARCH_DASHBOARD,\n payload: { token, range },\n});\n\nexport const getRecsDashboard = (token, range) => ({\n type: c.GET_RECS_DASHBOARD,\n payload: { range, token },\n});\n\nexport const getAnalyticStats = (token, range) => ({\n type: c.GET_SEARCH_STATS,\n payload: { token, range },\n});\n\nexport const getAnalyticFilterPopular = (token, range) => ({\n type: c.GET_SEARCH_FILTER_POPULAR,\n payload: { token, range },\n});\n\nexport const getAnalyticLostOpportunities = (token, range) => ({\n type: c.GET_SEARCH_LOST_OPPORTUNITIES,\n payload: { token, range },\n});\n\nexport const getAnalyticCurve = (token, range, type = 'all', query = null) => ({\n type: c.GET_SEARCH_CURVE,\n payload: { token, range, type, query },\n});\n\nexport const getAnalyticQueryPopular = (token, range) => ({\n type: c.GET_SEARCH_QUERY_POPULAR,\n payload: { token, range },\n});\n\nexport const getAnalyticQuerySorted = (token, range) => ({\n type: c.GET_SEARCH_QUERY_SORTED,\n payload: { token, range },\n});\n\nexport const getAnalyticQueryNoResult = (token, range) => ({\n type: c.GET_SEARCH_QUERY_NO_RESULT,\n payload: { token, range },\n});\n\nexport const getRelatedQueries = (token, range, query) => ({\n type: c.GET_SEARCH_RELATED_QUERIES,\n payload: { token, range, query },\n});\n\nexport const getConversionBest = (token, range) => ({\n type: c.GET_PRODUCTS_CONVERSION_BEST,\n payload: { token, range },\n});\n\nexport const getConversionWorst = (token, range) => ({\n type: c.GET_PRODUCTS_CONVERSION_WORST,\n payload: { token, range },\n});\n\nexport const getPopularByView = (token, range) => ({\n type: c.GET_PRODUCTS_POPULAR_BY_VIEW,\n payload: { token, range },\n});\n\nexport const getPopularByPurchase = (token, range) => ({\n type: c.GET_PRODUCTS_POPULAR_BY_PURCHASE,\n payload: { token, range },\n});\n\nexport const getRelatedProductsByView = (token, range, productId) => ({\n type: c.GET_PRODUCTS_RELATED_BY_VIEW,\n payload: { token, range, productId },\n});\n\nexport const getRelatedProductsByPurchase = (token, range, productId) => ({\n type: c.GET_PRODUCTS_RELATED_BY_PURCHASE,\n payload: { token, range, productId },\n});\n\nexport const getRelatedProductsByQuery = (token, range, query) => ({\n type: c.GET_RELATED_PRODUCTS_BY_QUERY,\n payload: { token, range, query },\n});\n\nexport const getRelatedQueriesByProduct = (token, range, productId) => ({\n type: c.GET_RELATED_QUERIES_BY_PRODUCT,\n payload: { token, range, productId },\n});\n\nexport const getAnalyticsWidgetsPerformance = (token, range) => ({\n type: c.GET_RECS_WIDGETS_PERFORMANCE,\n payload: { token, range },\n});\n","import { createAction } from '@reduxjs/toolkit';\nimport * as c from '../constants/actionTypes/settings';\n\nexport const getSettings = (token) => ({\n type: c.GET_ALL_SETTINGS,\n payload: token,\n});\n\nexport const getSettingDescribes = (token, appId) => ({\n type: c.GET_DESCRIBES,\n payload: { token, appId },\n});\n\nexport const getAlerts = (token, appId) => ({\n type: c.GET_ALERTS,\n payload: { token, appId },\n});\n\nexport const saveSearchSettings = (token) => ({ type: c.SAVE_SEARCH_SETTINGS, payload: token });\nexport const saveRecsSettings = (token) => ({ type: c.SAVE_RECS_SETTINGS, payload: token });\n\nexport const resetSearchSettings = () => ({ type: c.RESET_SEARCH_SETTINGS_TO_DEFAULT });\nexport const resetRecsSettings = () => ({ type: c.RESET_RECS_SETTINGS_TO_DEFAULT });\n\nexport const forceUpdateSearchVisible = (token, isVisible) => ({\n type: c.FORCE_UPDATE_SEARCH_VISIBLE,\n payload: { token, isVisible },\n});\n\nexport const forceUpdateRecsVisible = (token, isVisible) => ({\n type: c.FORCE_UPDATE_RECS_VISIBLE,\n payload: { token, isVisible },\n});\n\nexport const updateSearchVisible = (isVisible) => ({\n type: c.UPDATE_SEARCH_VISIBLE,\n payload: isVisible,\n});\n\nexport const updateRecsVisible = (isVisible) => ({\n type: c.UPDATE_RECS_VISIBLE,\n payload: isVisible,\n});\n\nexport const updatePreview = createAction('settings/UPDATE_PREVIEW');\n\nexport const changeSearchGeneralSetting = (key, value) => ({\n type: c.CHANGE_SEARCH_GENERAL_SETTING,\n payload: { key, value },\n});\n\nexport const changeSearchResultSetting = (key, value) => ({\n type: c.CHANGE_SEARCH_RESULT_SETTING,\n payload: { key, value },\n});\n\nexport const changeSearchBoxSetting = (key, value) => ({\n type: c.CHANGE_SEARCH_BOX_SETTING,\n payload: { key, value },\n});\n\nexport const changeSearchThemeSetting = (key, value) => ({\n type: c.CHANGE_SEARCH_THEME_SETTING,\n payload: { key, value },\n});\n\nexport const changeSearchFacetsSetting = (key, value) => ({\n type: c.CHANGE_SEARCH_FACETS_SETTING,\n payload: { key, value },\n});\n\nexport const changeRecsThemeSetting = (key, value) => ({\n type: c.CHANGE_RECS_THEME_SETTING,\n payload: { key, value },\n});\n\nexport const rewriteAlertBanners = (updatedBanners) => ({\n type: c.REWRITE_ALERT_BANNERS,\n payload: updatedBanners,\n});\n\nexport const updateAlertBanners = (banners) => ({\n type: c.UPDATE_ALERT_BANNERS,\n payload: banners,\n});\n","export const GET_ALL_SETTINGS = 'settings/GET_ALL_SETTINGS';\nexport const GET_ALL_SETTINGS_COMPLETE = 'settings/GET_ALL_SETTINGS_COMPLETE';\nexport const GET_ALL_SETTINGS_FAILED = 'settings/GET_ALL_SETTINGS_FAILED';\n\nexport const GET_DESCRIBES = 'settings/GET_DESCRIBES';\nexport const GET_DESCRIBES_COMPLETE = 'settings/GET_DESCRIBES_COMPLETE';\nexport const GET_DESCRIBES_FAILED = 'settings/GET_DESCRIBES_FAILED';\n\nexport const UPDATE_SEARCH_VISIBLE = 'settings/UPDATE_SEARCH_VISIBLE';\nexport const UPDATE_RECS_VISIBLE = 'settings/UPDATE_RECS_VISIBLE';\n\nexport const FORCE_UPDATE_SEARCH_VISIBLE = 'settings/FORCE_UPDATE_SEARCH_VISIBLE';\nexport const FORCE_UPDATE_SEARCH_VISIBLE_COMPLETE = 'settings/FORCE_UPDATE_SEARCH_VISIBLE_COMPLETE';\nexport const FORCE_UPDATE_SEARCH_VISIBLE_FAILED = 'settings/FORCE_UPDATE_SEARCH_VISIBLE_FAILED';\n\nexport const FORCE_UPDATE_RECS_VISIBLE = 'settings/FORCE_UPDATE_RECS_VISIBLE';\nexport const FORCE_UPDATE_RECS_VISIBLE_COMPLETE = 'settings/FORCE_UPDATE_RECS_VISIBLE_COMPLETE';\nexport const FORCE_UPDATE_RECS_VISIBLE_FAILED = 'settings/FORCE_UPDATE_RECS_VISIBLE_FAILED';\n\nexport const CHANGE_RECS_THEME_SETTING = 'settings/CHANGE_RECS_THEME_SETTING';\n\nexport const RESET_SETTINGS_TO_DEFAULT = 'settings/RESET_SETTINGS_TO_DEFAULT';\nexport const RESET_SEARCH_SETTINGS_TO_DEFAULT = 'settings/RESET_SEARCH_SETTINGS_TO_DEFAULT';\nexport const RESET_RECS_SETTINGS_TO_DEFAULT = 'settings/RESET_RECS_SETTINGS_TO_DEFAULT';\n\nexport const SAVE_RECS_SETTINGS = 'settings/recs/SAVE_SETTINGS';\nexport const SAVE_RECS_SETTINGS_COMPLETED = 'settings/recs/SAVE_SETTINGS_COMPLETED';\nexport const SAVE_RECS_SETTINGS_FAILED = 'settings/recs/SAVE_SETTINGS_FAILED';\n\nexport const SAVE_SEARCH_SETTINGS = 'settings/search/SAVE_SETTINGS';\nexport const SAVE_SEARCH_SETTINGS_COMPLETED = 'settings/search/SAVE_SETTINGS_COMPLETED';\nexport const SAVE_SEARCH_SETTINGS_FAILED = 'settings/search/SAVE_SETTINGS_FAILED';\n\n\nexport const GET_ALERTS = 'settings/GET_ALERTS';\nexport const GET_ALERTS_FAILED = 'settings/GET_ALERTS_FAILED';\nexport const UPDATE_ALERT_BANNERS = 'settings/UPDATE_ALERT_BANNERS';\nexport const REWRITE_ALERT_BANNERS = 'settings/REWRITE_ALERT_BANNERS';\n\nexport const CHANGE_SEARCH_ONBOARDING = 'settings/CHANGE_SEARCH_ONBOARDING';\nexport const CHANGE_RECS_ONBOARDING = 'settings/CHANGE_RECS_ONBOARDING';\nexport const CHANGE_SEARCH_GENERAL_SETTING = 'settings/CHANGE_SEARCH_GENERAL_SETTING';\nexport const CHANGE_SEARCH_RESULT_SETTING = 'settings/CHANGE_SEARCH_RESULT_SETTING';\nexport const CHANGE_SEARCH_BOX_SETTING = 'settings/CHANGE_SEARCH_BOX_SETTING';\nexport const CHANGE_SEARCH_THEME_SETTING = 'settings/CHANGE_SEARCH_THEME_SETTING';\nexport const CHANGE_SEARCH_FACETS_SETTING = 'settings/CHANGE_SEARCH_FACETS_SETTING';\n","import * as c from '../constants/actionTypes/recs';\n\nexport const getRecsFields = (token) => ({\n type: c.GET_FIELDS,\n payload: { token },\n});\n\nexport const recsLoadAllPages = (token) => ({\n type: c.RECS_LOAD_ALL_PAGES,\n payload: { token },\n});\n\nexport const recsLoadOnePage = (pageId) => ({\n type: c.RECS_LOAD_ONE_PAGE,\n payload: pageId,\n});\n\nexport const recsUpdatePage = (page) => ({\n type: c.RECS_UPDATE_PAGE,\n payload: { page },\n});\n\nexport const recsCustomizePageSections = (pageId, sections) => ({ // It change values in app store.\n type: c.RECS_CUSTOMIZE_SECTIONS_IN_PAGE,\n payload: { sections, pageId },\n});\n\nexport const recsLoadAllModels = (token) => ({\n type: c.RECS_LOAD_ALL_MODELS,\n payload: { token },\n});\n\nexport const recsLoadOneModel = (shopId, modelId) => ({\n type: c.RECS_LOAD_ONE_MODEL,\n payload: modelId,\n});\n\n\nexport const recsLoadAllWidgets = (token) => ({\n type: c.RECS_LOAD_ALL_WIDGETS,\n payload: { token },\n});\n\nexport const recsLoadOneWidget = (widgetId) => ({\n type: c.RECS_LOAD_ONE_WIDGET,\n payload: widgetId,\n});\n\nexport const recsUpdateOneWidget = (widget, pageId) => ({\n type: c.RECS_UPDATE_ONE_WIDGET,\n payload: { widget, pageId },\n});\n\nexport const recsCreateWidget = (widget, pageId, sectionId) => ({\n type: c.RECS_CREATE_WIDGET,\n payload: { widget, pageId, sectionId },\n});\n\nexport const recsDeleteWidget = (alias, pageId) => ({\n type: c.RECS_DELETE_WIDGET,\n payload: { alias, pageId },\n});\n\nexport const recsUpdateManyWidgets = (arrayToUpdate) => ({\n type: c.RECS_UPDATE_MANY_WIDGETS,\n payload: arrayToUpdate,\n});\n\nexport const forceUpdateRecsVisible = (isVisible) => ({\n type: c.FORCE_UPDATE_RECS_VISIBLE,\n payload: isVisible,\n});\n\nexport const fieldsDataUpdate = (field, key, value) => ({\n type: c.FIELDS_CHANGE_HANDLER,\n payload: { field, key, value },\n});\n\nexport const discardRecsFieldsSetting = () => ({\n type: c.DISCARD_FIELDS_CHANGES,\n});\n\nexport const saveRecsFields = () => ({\n type: c.SAVE_FIELDS_CHANGES,\n});\n","import * as c from '../constants/actionTypes/search';\n\nexport const getSearchFields = (token) => ({\n type: c.GET_FIELDS,\n payload: { token },\n});\n\nexport const fieldsDataUpdate = (field, key, value) => ({\n type: c.FIELDS_CHANGE_HANDLER,\n payload: { field, key, value },\n});\n\nexport const discardSearchFieldsSetting = () => ({\n type: c.DISCARD_FIELDS_CHANGES,\n});\n\nexport const saveSearchFields = (token) => ({\n type: c.SAVE_FIELDS_CHANGES,\n payload: token,\n});\n","import * as c from '../constants/actionTypes/settings';\n\nexport const changeSearchOnboardingSettings = (settings) => ({\n type: c.CHANGE_SEARCH_ONBOARDING,\n payload: settings,\n});\n\nexport const changeRecsOnboardingSettings = (settings) => ({\n type: c.CHANGE_RECS_ONBOARDING,\n payload: settings,\n});\n","import * as c from 'constants/actionTypes/settings';\nimport {\n updatePreview,\n} from '../actions';\n\nconst defaultState = {\n isFetched: false,\n hexRegEx: /^#([A-Fa-f0-9]{6})$/,\n\n isFetching: false,\n isUpdatingSearch: false,\n isUpdatingRecs: false,\n\n describes: {\n isFetching: true,\n },\n\n searchVisible: { isFetching: false, value: true },\n recsVisible: { isFetching: false, value: true },\n\n alerts: {\n isFetching: true,\n data: [],\n actions: {\n COMPILE_BUNDLE: { id: 'COMPILE_BUNDLE', title: 'Note:', status: 'info', message: 'Success! Your changes will take effect in a few minutes!' },\n REBUILD_INDEX: { id: 'REBUILD_INDEX', title: 'Note:', status: 'info', message: 'Success! Your changes will take effect in a few minutes!' },\n SING_IN_FAILED: { id: 'SING_IN_FAILED', title: 'Error!', status: 'warning', message: 'Warning! Your credentials are wrong! Try to login by user password or contact us!' },\n PASSWORD_RESET_FAILED: { id: 'PASSWORD_RESET_FAILED', title: 'Error!', status: 'warning', message: 'Password reset failed. Please contact us at support@kealabs.com' },\n PASSWORD_RESET: { id: 'RESET_PASSWORD', title: 'Note!', status: 'info', message: 'We send a link to change your password. Check your email' },\n PASSWORDS_NOT_MATCHED: { id: 'PASSWORDS_NOT_MATCHED', title: 'Note!', status: 'warning', message: 'Passwords not matched' },\n PASSWORD_TOO_SHORT: { id: 'PASSWORD_TOO_SHORT', title: 'Note!', status: 'warning', message: 'Password too short' },\n PASSWORD_UPDATED_SUCCESSFULLY: { id: 'PASSWORD_UPDATED_SUCCESSFULLY', title: 'Note!', status: 'info', message: 'Password successfully updated' },\n PASSWORD_SUBMIT_TOKEN_NOT_FOUND: { id: 'PASSWORD_SUBMIT_TOKEN_NOT_FOUND', title: 'Note!', status: 'info', message: 'Password token is unvalid' },\n },\n },\n forDiff: { searchVisible: true, recsVisible: true },\n recs: {},\n search: {},\n};\n\nexport default (state = defaultState, { type, payload }) => {\n const stateCopy = { ...state };\n switch (type) {\n case c.GET_ALL_SETTINGS:\n return {\n ...state,\n isFetching: true,\n };\n\n case c.GET_ALL_SETTINGS_COMPLETE:\n return {\n ...state,\n ...payload,\n isFetching: false,\n isFetched: true,\n searchVisible: {\n ...state.searchVisible,\n value: payload.searchVisible,\n },\n recsVisible: {\n ...state.recsVisible,\n value: payload.recsVisible,\n },\n };\n\n case c.UPDATE_RECS_VISIBLE:\n stateCopy.recsVisible.value = payload;\n return stateCopy;\n\n case c.UPDATE_SEARCH_VISIBLE:\n stateCopy.searchVisible.value = payload;\n return stateCopy;\n\n case updatePreview().type:\n stateCopy.isPreview = payload;\n return stateCopy;\n\n case c.GET_DESCRIBES_COMPLETE:\n return {\n ...state,\n describes: {\n isFetching: false,\n ...payload,\n },\n };\n\n /**\n * Recs Settings\n */\n case c.CHANGE_RECS_THEME_SETTING:\n return {\n ...state,\n recs: {\n ...state.recs,\n theme: {\n ...state.recs.theme,\n [payload.key]: payload.value,\n },\n },\n };\n\n case c.CHANGE_RECS_ONBOARDING:\n return {\n ...state,\n recs: {\n ...state.recs,\n onboarding: {\n ...state.recs.onboarding,\n ...payload,\n },\n },\n };\n\n /**\n * Search Settings\n */\n case c.CHANGE_SEARCH_ONBOARDING:\n return {\n ...state,\n search: {\n ...state.search,\n onboarding: {\n ...state.search.onboarding,\n ...payload,\n },\n },\n };\n\n case c.CHANGE_SEARCH_GENERAL_SETTING:\n return {\n ...state,\n search: {\n ...state.search,\n general: {\n ...state.search.general,\n [payload.key]: payload.value,\n },\n },\n };\n\n case c.CHANGE_SEARCH_BOX_SETTING:\n return {\n ...state,\n search: {\n ...state.search,\n searchBox: {\n ...state.search.searchBox,\n [payload.key]: payload.value,\n },\n },\n };\n\n case c.CHANGE_SEARCH_RESULT_SETTING:\n return {\n ...state,\n search: {\n ...state.search,\n searchResultPage: {\n ...state.search.searchResultPage,\n [payload.key]: payload.value,\n },\n },\n };\n\n case c.CHANGE_SEARCH_FACETS_SETTING:\n return {\n ...state,\n search: {\n ...state.search,\n facets: {\n ...state.search.facets,\n [payload.key]: payload.value,\n },\n },\n };\n\n case c.CHANGE_SEARCH_THEME_SETTING:\n return {\n ...state,\n search: {\n ...state.search,\n theme: {\n ...state.search.theme,\n [payload.key]: payload.value,\n },\n },\n };\n\n /**\n * Reset settings\n */\n\n case c.RESET_SEARCH_SETTINGS_TO_DEFAULT:\n return {\n ...state,\n search: state.forDiff.search,\n searchVisible: {\n ...state.searchVisible,\n value: state.forDiff.searchVisible,\n },\n };\n\n case c.RESET_RECS_SETTINGS_TO_DEFAULT:\n return {\n ...state,\n recs: state.forDiff.recs,\n recsVisible: {\n ...state.recsVisible,\n value: state.forDiff.recsVisible,\n },\n };\n\n case c.RESET_SETTINGS_TO_DEFAULT:\n return {\n ...state,\n recs: {\n ...state.recs,\n theme: state.forDiff.recs.theme,\n },\n fields: {\n ...state.fields,\n data: state.fields.examplar,\n },\n recsVisible: {\n ...state.recsVisible,\n value: state.forDiff.recsVisible,\n },\n searchVisible: {\n ...state.searchVisible,\n value: state.forDiff.searchVisible,\n },\n };\n\n\n /**\n * Save settings flags\n */\n\n case c.SAVE_RECS_SETTINGS:\n return {\n ...state,\n isUpdatingRecs: true,\n };\n\n case c.SAVE_RECS_SETTINGS_COMPLETED:\n case c.SAVE_RECS_SETTINGS_FAILED:\n return {\n ...state,\n isUpdatingRecs: false,\n };\n\n case c.SAVE_SEARCH_SETTINGS:\n return {\n ...state,\n isUpdatingSearch: true,\n };\n\n case c.SAVE_SEARCH_SETTINGS_COMPLETED:\n case c.SAVE_SEARCH_SETTINGS_FAILED:\n return {\n ...state,\n isUpdatingSearch: false,\n };\n\n /**\n * Alert banners\n */\n case c.REWRITE_ALERT_BANNERS:\n return {\n ...state,\n alerts: {\n ...state.alerts,\n isFetching: false,\n data: payload,\n },\n };\n\n default:\n return state;\n }\n};\n","import * as c from 'constants/actionTypes/notifications';\n\nconst defaultState = {\n snackbars: [],\n};\n\n\nexport default (state = defaultState, action) => {\n switch (action.type) {\n case c.ENQUEUE_SNACKBAR:\n return {\n ...state,\n snackbars: [\n ...state.snackbars,\n {\n key: action.key,\n ...action.payload,\n },\n ],\n };\n\n case c.CLOSE_SNACKBAR:\n return {\n ...state,\n snackbars: state.snackbars.map((snackbar) => (\n (action.dismissAll || snackbar.key === action.key)\n ? { ...snackbar, dismissed: true }\n : { ...snackbar }\n )),\n };\n\n case c.REMOVE_SNACKBAR:\n return {\n ...state,\n snackbars: state.snackbars.filter(\n (snackbar) => snackbar.key !== action.key,\n ),\n };\n\n default:\n return state;\n }\n};\n","import { createSlice, createAction } from '@reduxjs/toolkit';\nimport {\n put, select, takeLatest,\n} from 'redux-saga/effects';\nimport {\n changeSearchOnboardingSettings,\n changeRecsOnboardingSettings,\n saveRecsSettings,\n saveSearchSettings,\n updateSearchVisible, updateRecsVisible, updatePreview,\n} from '../actions';\n\nconst initialState = {\n search: {\n completed: true,\n },\n recs: {\n industries: [],\n fields: [],\n audienceSize: null,\n completed: true,\n wizardCompleted: true,\n },\n};\n\nconst sliceName = 'onboarding';\n\nexport const onboardingSearchPreview = createAction(`${sliceName}/onboardingSearchPreview`);\nexport const onboardingSearchCustomize = createAction(`${sliceName}/onboardingSearchCustomize`);\nexport const onboardingSearchActivate = createAction(`${sliceName}/onboardingSearchActivate`);\nexport const onboardingRecsWizardComplete = createAction(`${sliceName}/onboardingRecsWizardComplete`);\nexport const onboardingRecsPreview = createAction(`${sliceName}/onboardingRecsPreview`);\nexport const onboardingRecsCustomize = createAction(`${sliceName}/onboardingRecsCustomize`);\nexport const onboardingRecsActivate = createAction(`${sliceName}/onboardingRecsActivate`);\n\nconst orderSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n onboardingRecsChange(state, { payload }) {\n return {\n ...state,\n recs: {\n ...state.recs,\n ...payload,\n },\n\n };\n },\n onboardingSearchChange(state, { payload }) {\n return {\n ...state,\n search: {\n ...state.search,\n ...payload,\n },\n };\n },\n onboardingChange(state, { payload }) {\n return {\n recs: {\n ...state.recs,\n ...payload.recs,\n },\n search: {\n ...state.search,\n ...payload.search,\n },\n };\n },\n },\n});\n\nexport const { actions, reducer } = orderSlice;\nexport const {\n onboardingChange,\n onboardingRecsChange,\n onboardingSearchChange,\n} = actions;\nexport default reducer;\n\nfunction* searchPreview() {\n try {\n const { shopAddress } = yield select((state) => state.settings);\n const prefix = shopAddress.startsWith('http') ? '' : 'https://';\n window.open(`${prefix}${shopAddress}?kea-preview=true`, '_blank');\n const changes = { step1: true };\n yield put(onboardingSearchChange(changes));\n yield put(changeSearchOnboardingSettings(changes));\n yield put(updateSearchVisible(false));\n } catch (err) {\n console.log('Failed in onboardingPreview', err);\n }\n}\n\nfunction* searchCustomize() {\n try {\n const changes = { step2: true };\n yield put(onboardingSearchChange(changes));\n yield put(changeSearchOnboardingSettings(changes));\n } catch (err) {\n console.log('Failed in onboardingCustomize', err);\n }\n}\n\nfunction* searchActivate() {\n try {\n const { shopId } = yield select((state) => state.settings);\n const { searchVisible } = yield select((state) => state.settings);\n if (!searchVisible) yield put({ type: 'SEARCH_VISIBLE_TOGGLE' });\n const changes = { step3: true, completed: true };\n yield put(onboardingSearchChange(changes));\n yield put(changeSearchOnboardingSettings(changes));\n\n yield put(updateSearchVisible(true));\n yield put(updatePreview(false));\n yield put(saveSearchSettings(shopId));\n } catch (err) {\n console.log('Failed in onboardingActivate', err);\n }\n}\n\nfunction* recsWizardComplete() {\n try {\n const changes = { wizardCompleted: true };\n yield put(onboardingRecsChange(changes));\n\n const { shopId } = yield select((state) => state.settings);\n const payload = yield select((state) => state.onboarding.recs);\n yield put(changeRecsOnboardingSettings(payload));\n yield put(saveRecsSettings(shopId));\n } catch (err) {\n console.log('Failed in recsWizardComplete', err);\n }\n}\n\n// todo clean up and refactor. mb. some day it will happen. or not :)\nfunction* recsPreview() {\n try {\n const { shopAddress } = yield select((state) => state.settings);\n const prefix = shopAddress.startsWith('http') ? '' : 'https://';\n window.open(`${prefix}${shopAddress}?kea-preview=true`, '_blank');\n const changes = { step1: true };\n yield put(onboardingRecsChange(changes));\n yield put(changeRecsOnboardingSettings(changes));\n yield put(updateSearchVisible(false));\n } catch (err) {\n console.log('Failed in onboardingPreview', err);\n }\n}\n\nfunction* recsCustomize() {\n try {\n const changes = { step2: true };\n yield put(onboardingRecsChange(changes));\n yield put(changeRecsOnboardingSettings(changes));\n } catch (err) {\n console.log('Failed in onboardingCustomize', err);\n }\n}\n\nfunction* recsActivate() {\n try {\n const { shopId } = yield select((state) => state.settings);\n const { searchVisible } = yield select((state) => state.settings);\n if (!searchVisible) yield put({ type: 'SEARCH_VISIBLE_TOGGLE' });\n const changes = { step3: true, completed: true };\n yield put(onboardingRecsChange(changes));\n yield put(changeRecsOnboardingSettings(changes));\n\n yield put(updateRecsVisible(true));\n yield put(updatePreview(false));\n yield put(saveRecsSettings(shopId));\n } catch (err) {\n console.log('Failed in onboardingActivate', err);\n }\n}\n\n\nexport function* sagas() {\n yield takeLatest(onboardingSearchPreview().type, searchPreview);\n yield takeLatest(onboardingSearchCustomize().type, searchCustomize);\n yield takeLatest(onboardingSearchActivate().type, searchActivate);\n yield takeLatest(onboardingRecsWizardComplete().type, recsWizardComplete);\n yield takeLatest(onboardingRecsPreview().type, recsPreview);\n yield takeLatest(onboardingRecsCustomize().type, recsCustomize);\n yield takeLatest(onboardingRecsActivate().type, recsActivate);\n}\n","import { combineReducers } from 'redux';\nimport { connectRouter } from 'connected-react-router';\nimport App from './App';\nimport Auth from './Auth';\nimport Billing from './Billing';\nimport Catalog from './Catalog';\nimport Analytics from './Analytics';\nimport Recs from './Recs';\nimport Search from './Search';\nimport Settings from './Settings';\nimport Notifications from './Notifications';\nimport OnboardingSlice from '../slices/OnboardingSlice';\n\nexport default (history) => combineReducers({\n router: connectRouter(history),\n app: App,\n auth: Auth,\n billing: Billing,\n catalog: Catalog,\n analytics: Analytics,\n recs: Recs,\n search: Search,\n settings: Settings,\n notifications: Notifications,\n onboarding: OnboardingSlice,\n});\n","import { put, select, takeLatest } from 'redux-saga/effects';\nimport {\n GET_AUTHORIZATION_INFO,\n GET_AUTHORIZATION_INFO_COMPLETE,\n GET_AUTHORIZATION_INFO_FAILED,\n KEA_SIGN_IN, KEA_SIGN_IN_FAILED,\n KEA_SIGN_IN_SUCCESS,\n KEA_SIGN_IN_WITH_SECRET,\n KEA_SIGN_IN_WITH_SECRET_SUCCESS,\n KEA_SIGN_IN_WITH_SECRET_FAILED,\n FORGOT_PASSWORD,\n FORGOT_PASSWORD_SUCCESS,\n FORGOT_PASSWORD_FAILED,\n SUBMIT_NEW_PASSWORD,\n SUBMIT_NEW_PASSWORD_SUCCESS,\n KEA_SIGN_OUT, ON_SHOW_LOADER, ON_HIDE_LOADER,\n} from 'constants/ActionTypes';\n\nimport { rmToken, setToken, tokenKey } from 'util/authUtils';\nimport { m, wsClient } from 'util/appUtils';\nimport { rewriteAlertBanners } from '../actions';\n\nconst wsBaseUri = window.WS_BASE_URI;\n\nasync function postRequest(url, body) {\n const options = {\n method: m.POST,\n credentials: 'include',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(body),\n };\n return fetch(url, options);\n}\n\nfunction keaSignOut() {\n rmToken();\n window.history.go('/login');\n}\n\nfunction* signIn({ body, url }) {\n const response = yield postRequest(url, body);\n if (response.status === 200) {\n const sessionToken = response.headers.get(tokenKey);\n setToken(sessionToken);\n const appAddress = '/';\n window.location.assign(appAddress);\n } else {\n rmToken();\n window.location.assign('/signin?banner=SING_IN_FAILED');\n throw new Error(`${response.status} — ${response.statusText}`);\n }\n}\n\nfunction* resetPasswordRequest({ payload }) {\n const bannersActions = yield select((store) => store.settings.alerts.actions);\n yield put({ type: ON_SHOW_LOADER });\n try {\n const url = `${wsBaseUri}system/password/reset?email=${payload.email}`;\n const response = yield fetch(url);\n if (response.status !== 200) {\n const bannerAction = bannersActions.PASSWORD_RESET_FAILED;\n yield put(rewriteAlertBanners([bannerAction]));\n yield put({ type: FORGOT_PASSWORD_FAILED, payload: response.error });\n } else {\n const bannerAction = bannersActions.PASSWORD_RESET;\n yield put(rewriteAlertBanners([bannerAction]));\n yield put({ type: FORGOT_PASSWORD_SUCCESS });\n }\n } catch (err) {\n const bannerAction = bannersActions.PASSWORD_RESET_FAILED;\n yield put(rewriteAlertBanners([bannerAction]));\n yield put({ type: FORGOT_PASSWORD_FAILED, payload: err });\n }\n yield put({ type: ON_HIDE_LOADER });\n}\n\nfunction* submitNewPassword({ payload }) {\n const bannersActions = yield select((store) => store.settings.alerts.actions);\n yield put({ type: ON_SHOW_LOADER });\n try {\n const url = `${wsBaseUri}system/password/confirm`;\n const response = yield postRequest(url, payload);\n if (response.status !== 200) {\n const bannerAction = bannersActions.PASSWORD_RESET_FAILED;\n yield put(rewriteAlertBanners([bannerAction]));\n yield put({ type: FORGOT_PASSWORD_FAILED, payload: response.error });\n } else {\n window.location.assign('/signin?banner=PASSWORD_UPDATED_SUCCESSFULLY');\n yield put({ type: SUBMIT_NEW_PASSWORD_SUCCESS });\n }\n } catch (err) {\n const bannerAction = bannersActions.PASSWORD_RESET_FAILED;\n yield put(rewriteAlertBanners([bannerAction]));\n yield put({ type: FORGOT_PASSWORD_FAILED, payload: err });\n }\n yield put({ type: ON_HIDE_LOADER });\n}\n\nfunction* keaSignIn({ payload }) {\n try {\n const { email, password } = payload;\n\n const body = { email, password };\n const url = `${wsBaseUri}auth/login`;\n yield signIn({ body, url });\n\n yield put({ type: KEA_SIGN_IN_SUCCESS });\n } catch (err) {\n yield put({ type: KEA_SIGN_IN_FAILED, payload: err });\n }\n}\n\nfunction* keaSignInWithSecret({ payload }) {\n try {\n const { domain: token, secret, appId } = payload;\n const body = { token, secret, appId };\n const url = `${wsBaseUri}auth/login/token`;\n yield signIn({ body, url });\n\n yield put({ type: KEA_SIGN_IN_WITH_SECRET_SUCCESS });\n } catch (err) {\n yield put({ type: KEA_SIGN_IN_WITH_SECRET_FAILED, payload: err });\n }\n}\n\nfunction* getAuthorization() {\n try {\n const { account, shops } = yield wsClient.prepareRequest(m.GET, 'account');\n const result = {\n account,\n shopList: [],\n shopMap: {},\n };\n\n if (shops) {\n result.shopList = Object.keys(shops).map((shop) => shops[shop]);\n result.shopMap = shops;\n }\n\n yield put({ type: GET_AUTHORIZATION_INFO_COMPLETE, payload: result });\n } catch (err) {\n if (/401/.test(err.message)) {\n rmToken();\n window.location.reload();\n }\n yield put({ type: GET_AUTHORIZATION_INFO_FAILED, payload: err });\n }\n}\n\n\nexport default function* authSaga() {\n yield takeLatest(KEA_SIGN_OUT, keaSignOut);\n yield takeLatest(KEA_SIGN_IN, keaSignIn);\n yield takeLatest(KEA_SIGN_IN_WITH_SECRET, keaSignInWithSecret);\n yield takeLatest(GET_AUTHORIZATION_INFO, getAuthorization);\n yield takeLatest(FORGOT_PASSWORD, resetPasswordRequest);\n yield takeLatest(SUBMIT_NEW_PASSWORD, submitNewPassword);\n}\n","import { put, takeLatest } from 'redux-saga/effects';\nimport * as c from 'constants/actionTypes/billing';\nimport { wsClient } from '../util/appUtils';\n\nfunction* getPlans({ payload }) {\n try {\n const { appId, token } = payload;\n const data = wsClient.getPlans(token, appId);\n yield put({ type: c.GET_PLANS_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_PLANS_FAILED, payload: err });\n }\n}\n\n\nexport default function* searchSaga() {\n yield takeLatest(c.GET_PLANS, getPlans);\n}\n","import { put, takeLatest } from 'redux-saga/effects';\nimport * as c from 'constants/actionTypes/analytics';\nimport { GET } from '@kealabs/kea-services/util/constants';\nimport {\n calcWidgetCurve, prepareDateRange,\n wsClient,\n SEARCH, RECS,\n} from '../util/appUtils';\n\nconst fields = ['records', 'users', 'queries', 'curve'].join('+');\n\n/**\n * AB ex\n */\n\nfunction* getABResults(action) {\n try {\n const { token, range } = action.payload;\n const { from, to } = prepareDateRange(range);\n const qs = { from, to, token };\n const path = 'system/analytics/common/ab/report';\n const data = yield wsClient.prepareRequest(GET, path, { qs });\n\n yield put({ type: c.GET_A_B_RESULTS_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_A_B_RESULTS_FAILED, payload: err });\n }\n}\n\nfunction* getABCarts(action) {\n try {\n const { token, timeframe, page, group, limit } = action.payload;\n const { from, to } = prepareDateRange(timeframe);\n const qs = { from, to, shopId: token, limit, skip: 0 };\n if (page !== 1) qs.skip = limit * (page - 1);\n if (group) qs.group = group;\n const data = yield wsClient.prepareRequest(GET, '/system/catalog/carts', { qs });\n yield put({ type: c.GET_A_B_CARTS_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_A_B_CARTS_FAILED, payload: err });\n }\n}\n\n\n/**\n * Dashboard analytics\n */\n\nfunction* getRecsDashboard(action) {\n try {\n const { token, range } = action.payload;\n const { from, to } = prepareDateRange(range);\n const data = yield wsClient.fetchReports(token, RECS, from, to);\n yield put({ type: c.GET_RECS_DASHBOARD_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_RECS_DASHBOARD_FAILED, payload: err });\n }\n}\n\nfunction* getSearchDashboard(action) {\n try {\n const { token, range } = action.payload;\n const { from, to } = prepareDateRange(range);\n const data = yield wsClient.fetchReports(token, SEARCH, from, to);\n yield put({ type: c.GET_SEARCH_DASHBOARD_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_SEARCH_DASHBOARD_FAILED, payload: err });\n }\n}\n\n\n/**\n * Queries analytics\n */\n\nfunction* getSearchStats(action) {\n try {\n const { range, token } = action.payload;\n const { from, to } = prepareDateRange(range);\n\n const query = { token, from, to, appId: SEARCH };\n const path = `system/analytics/${SEARCH}/stats`;\n const data = yield wsClient.prepareRequest(GET, path, { qs: query });\n\n yield put({ type: c.GET_SEARCH_STATS_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_SEARCH_STATS_FAILED, payload: err });\n }\n} // ok\n\nfunction* getAnalyticFilterPopular(action) {\n try {\n const { range, token } = action.payload;\n const { from, to } = prepareDateRange(range);\n const appId = SEARCH;\n\n const query = { token, from, to, appId };\n const path = `system/analytics/${appId}/filter/popular`;\n const data = yield wsClient.prepareRequest(GET, path, { qs: query });\n\n yield put({ type: c.GET_SEARCH_FILTER_POPULAR_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_SEARCH_FILTER_POPULAR_FAILED, payload: err });\n }\n} // ok\n\nfunction* getAnalyticLostOpportunities(action) {\n try {\n const { range, token } = action.payload;\n const { from, to } = prepareDateRange(range);\n\n const qs = { token, from, to, fields };\n const path = 'system/analytics/search/lostOpportunities';\n const data = yield wsClient.prepareRequest(GET, path, { qs });\n\n const calculatedData = calcWidgetCurve(data.curve);\n data.curve = {\n data: Object\n .keys(calculatedData)\n .map((el) => ({ total: calculatedData[el].total, label: calculatedData[el].label })),\n };\n\n yield put({ type: c.GET_SEARCH_LOST_OPPORTUNITIES_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_SEARCH_LOST_OPPORTUNITIES_FAILED, payload: err });\n }\n} // ok\n\nfunction* getSearchAnalyticCurve(action) {\n try {\n const { range, token, type, query } = action.payload;\n const { from, to } = prepareDateRange(range);\n const appId = SEARCH;\n\n const qs = {\n token,\n from,\n to,\n fields,\n type,\n appId,\n };\n if (query) qs.query = query;\n const path = `system/analytics/${appId}/curve`;\n const data = yield wsClient.prepareRequest(GET, path, { qs });\n\n yield put({ type: c.GET_SEARCH_CURVE_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_SEARCH_CURVE_FAILED, payload: err });\n }\n}\n\nfunction* getAnalyticQueryPopular(action) {\n try {\n const { range, token } = action.payload;\n const { from, to } = prepareDateRange(range);\n\n const qs = { token, from, to, fields, type: 'search' };\n const path = 'system/analytics/search/popular';\n const data = yield wsClient.prepareRequest(GET, path, { qs });\n\n const calculatedData = calcWidgetCurve(data.curve);\n data.curve = {\n data: Object\n .keys(calculatedData)\n .map((el) => ({\n total: calculatedData[el].total,\n ctr: (calculatedData[el].ctr * 100).toFixed(2),\n label: calculatedData[el].label,\n })),\n };\n\n yield put({ type: c.GET_SEARCH_QUERY_POPULAR_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_SEARCH_QUERY_POPULAR_FAILED, payload: err });\n }\n}\n\nfunction* getAnalyticQuerySorted(action) {\n try {\n const { range, token } = action.payload;\n const { from, to } = prepareDateRange(range);\n const appId = SEARCH;\n\n const qs = { token, from, to, fields, type: 'search', appId };\n const path = `system/analytics/${appId}/queriesSorted`;\n const data = yield wsClient.prepareRequest(GET, path, { qs });\n\n yield put({ type: c.GET_SEARCH_QUERY_SORTED_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_SEARCH_QUERY_SORTED_FAILED, payload: err });\n }\n} // deprecated?\n\nfunction* getAnalyticQueryNoResult(action) {\n try {\n const { range, token } = action.payload;\n const { from, to } = prepareDateRange(range);\n\n const qs = { token, from, to, fields, type: 'all' };\n const path = 'system/analytics/search/queriesWithoutResults';\n const data = yield wsClient.prepareRequest(GET, path, { qs });\n\n const calculatedData = calcWidgetCurve(data.curve);\n data.curve = {\n data: Object\n .keys(calculatedData)\n .map((el) => ({ pv: calculatedData[el].total, label: calculatedData[el].label })),\n };\n\n yield put({ type: c.GET_SEARCH_QUERY_NO_RESULT_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_SEARCH_QUERY_NO_RESULT_FAILED, payload: err });\n }\n}\n\nfunction* getRelatedQueries(action) {\n try {\n const { range, token, query } = action.payload;\n const { from, to } = prepareDateRange(range);\n\n const qs = { token, from, to, query };\n const path = 'system/analytics/search/related';\n const { records, error } = yield wsClient.prepareRequest(GET, path, { qs });\n const payload = {\n error,\n records: records.map((el) => ({ query: el._id.query, count: el.count })),\n };\n yield put({ type: c.GET_SEARCH_RELATED_QUERIES_COMPLETE, payload });\n } catch (err) {\n yield put({ type: c.GET_SEARCH_RELATED_QUERIES_FAILED, payload: err });\n }\n}\n\n/**\n * Products analytics\n */\n\nfunction* getProductConversionBest(action) {\n try {\n const { range, token } = action.payload;\n const { from, to } = prepareDateRange(range);\n\n const qs = { token, from, to };\n const path = 'system/analytics/product/conversion/best';\n const data = yield wsClient.prepareRequest(GET, path, { qs });\n yield put({ type: c.GET_PRODUCTS_CONVERSION_BEST_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_PRODUCTS_CONVERSION_BEST_FAILED, payload: err });\n }\n}\n\nfunction* getProductConversionWorst(action) {\n try {\n const { range, token } = action.payload;\n const { from, to } = prepareDateRange(range);\n\n const qs = { token, from, to };\n const path = 'system/analytics/product/conversion/worst';\n const data = yield wsClient.prepareRequest(GET, path, { qs });\n\n yield put({ type: c.GET_PRODUCTS_CONVERSION_WORST_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_PRODUCTS_CONVERSION_WORST_FAILED, payload: err });\n }\n}\n\nfunction* getProductPopularView(action) {\n try {\n const { range, token } = action.payload;\n const { from, to } = prepareDateRange(range);\n\n const qs = { token, from, to };\n const path = 'system/analytics/product/popular/view';\n const data = yield wsClient.prepareRequest(GET, path, { qs });\n\n yield put({ type: c.GET_PRODUCTS_POPULAR_BY_VIEW_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_PRODUCTS_POPULAR_BY_VIEW_FAILED, payload: err });\n }\n}\n\nfunction* getProductPopularPurchase(action) {\n try {\n const { range, token } = action.payload;\n const { from, to } = prepareDateRange(range);\n\n const qs = { token, from, to };\n const path = 'system/analytics/product/popular/purchase';\n const data = yield wsClient.prepareRequest(GET, path, { qs });\n\n yield put({ type: c.GET_PRODUCTS_POPULAR_BY_PURCHASE_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_PRODUCTS_POPULAR_BY_PURCHASE_FAILED, payload: err });\n }\n}\n\n\nfunction* getProductsRelatedByView(action) {\n try {\n const { range, token, productId: id } = action.payload;\n const { from, to } = prepareDateRange(range);\n\n const qs = { token, from, to, id };\n const path = `system/analytics/product/${id}/related/view`;\n const data = yield wsClient.prepareRequest(GET, path, { qs });\n\n yield put({ type: c.GET_PRODUCTS_RELATED_BY_VIEW_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_PRODUCTS_RELATED_BY_VIEW_FAILED, payload: err });\n }\n}\n\nfunction* getProductsRelatedByPurchase(action) {\n try {\n const { range, token, productId: id } = action.payload;\n const { from, to } = prepareDateRange(range);\n\n const qs = { token, from, to, id };\n const path = `system/analytics/product/${id}/related/purchase`;\n const data = yield wsClient.prepareRequest(GET, path, { qs });\n\n yield put({ type: c.GET_PRODUCTS_RELATED_BY_PURCHASE_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_PRODUCTS_RELATED_BY_PURCHASE_FAILED, payload: err });\n }\n}\n\n\nfunction* getRelatedProductsByQuery(action) {\n try {\n const { range, token, query } = action.payload;\n const { from, to } = prepareDateRange(range);\n\n const qs = { token, from, to, query };\n const path = 'system/analytics/search/related/products';\n const data = yield wsClient.prepareRequest(GET, path, { qs });\n\n yield put({ type: c.GET_RELATED_PRODUCTS_BY_QUERY_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_RELATED_PRODUCTS_BY_QUERY_FAILED, payload: err });\n }\n}\n\nfunction* getRelatedQueriesByProduct(action) {\n try {\n const { range, token, productId } = action.payload;\n const { from, to } = prepareDateRange(range);\n\n const qs = { token, from, to, productId };\n const path = 'system/analytics/product/related/queries';\n const data = yield wsClient.prepareRequest(GET, path, { qs });\n\n yield put({ type: c.GET_RELATED_QUERIES_BY_PRODUCT_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_RELATED_QUERIES_BY_PRODUCT_FAILED, payload: err });\n }\n}\n\nfunction* getAnalyticsWidgetsPerformance(action) {\n try {\n const { range, token } = action.payload;\n const { from, to } = prepareDateRange(range);\n const appId = RECS;\n\n const query = { token, from, to, appId };\n const path = `system/analytics/${appId}/widgets`;\n const data = yield wsClient.prepareRequest(GET, path, { qs: query });\n\n yield put({ type: c.GET_RECS_WIDGETS_PERFORMANCE_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_RECS_WIDGETS_PERFORMANCE_FAILED, payload: err });\n }\n} // ok\n\nexport default function* analyticSagas() {\n yield takeLatest(c.GET_A_B_RESULTS, getABResults);\n yield takeLatest(c.GET_A_B_CARTS, getABCarts);\n\n yield takeLatest(c.GET_RECS_DASHBOARD, getRecsDashboard);\n yield takeLatest(c.GET_SEARCH_DASHBOARD, getSearchDashboard);\n\n yield takeLatest(c.GET_SEARCH_STATS, getSearchStats);\n yield takeLatest(c.GET_SEARCH_FILTER_POPULAR, getAnalyticFilterPopular);\n yield takeLatest(c.GET_SEARCH_LOST_OPPORTUNITIES, getAnalyticLostOpportunities);\n yield takeLatest(c.GET_SEARCH_CURVE, getSearchAnalyticCurve);\n yield takeLatest(c.GET_SEARCH_QUERY_POPULAR, getAnalyticQueryPopular);\n yield takeLatest(c.GET_SEARCH_QUERY_SORTED, getAnalyticQuerySorted);\n yield takeLatest(c.GET_SEARCH_QUERY_NO_RESULT, getAnalyticQueryNoResult);\n yield takeLatest(c.GET_SEARCH_RELATED_QUERIES, getRelatedQueries);\n\n yield takeLatest(c.GET_PRODUCTS_CONVERSION_BEST, getProductConversionBest);\n yield takeLatest(c.GET_PRODUCTS_CONVERSION_WORST, getProductConversionWorst);\n yield takeLatest(c.GET_PRODUCTS_POPULAR_BY_VIEW, getProductPopularView);\n yield takeLatest(c.GET_PRODUCTS_POPULAR_BY_PURCHASE, getProductPopularPurchase);\n\n yield takeLatest(c.GET_PRODUCTS_RELATED_BY_VIEW, getProductsRelatedByView);\n yield takeLatest(c.GET_PRODUCTS_RELATED_BY_PURCHASE, getProductsRelatedByPurchase);\n\n yield takeLatest(c.GET_RELATED_PRODUCTS_BY_QUERY, getRelatedProductsByQuery);\n yield takeLatest(c.GET_RELATED_QUERIES_BY_PRODUCT, getRelatedQueriesByProduct);\n\n yield takeLatest(c.GET_RECS_WIDGETS_PERFORMANCE, getAnalyticsWidgetsPerformance);\n}\n","import { put, takeLatest } from 'redux-saga/effects';\nimport * as c from 'constants/actionTypes/catalog';\nimport { GET } from '@kealabs/kea-services/util/constants';\nimport moment from 'moment';\nimport {\n dateFormat,\n prepareDateRange,\n wsClient,\n} from '../util/appUtils';\n\n\nfunction* getProductById(action) {\n try {\n const { range, shopId, productId } = action.payload;\n const { from, to } = prepareDateRange(range);\n\n const qs = { shopId, productId, from, to };\n const path = 'system/catalog/product';\n const response = yield wsClient.prepareRequest(GET, path, { qs });\n let { data, trendingCurve, stats } = response;\n\n trendingCurve = trendingCurve.map((el) => {\n const { year, month, day } = el._id;\n const date = moment([year, month - 1, day]).format(dateFormat);\n return { label: date, count: el.count };\n });\n\n yield put({\n type: c.GET_PRODUCT_BY_ID_COMPLETE,\n payload: { data, trendingCurve, stats },\n });\n } catch (err) {\n yield put({ type: c.GET_PRODUCT_BY_ID_FAILED, payload: err });\n }\n}\n\nfunction* getProducts(action) {\n try {\n const path = 'system/catalog/products';\n const data = yield wsClient.prepareRequest(GET, path, { qs: action.payload });\n\n const products = data.map((product) => ({\n id: product.id,\n product: `${product.vendor ? `${product.vendor} - ` : ''} ${product.name}`,\n vendor: product.vendor,\n vendorCode: product.vendorCode,\n name: product.name,\n thumbnail: product.thumbnail,\n }));\n\n yield put({ type: c.GET_PRODUCTS_COMPLETE, payload: products });\n } catch (err) {\n yield put({ type: c.GET_PRODUCTS_FAILED, payload: err.message });\n }\n}\n\nfunction* filterProducts(action) {\n const { query, data } = action.payload;\n\n const filtered = [];\n for (let i = 0; i < data.length; i += 1) {\n const filterQuery = query.toLowerCase();\n const element = data[i];\n if (element.product.toLowerCase().indexOf(filterQuery) >= 0) {\n filtered.push(element);\n } else if (element.vendorCode === filterQuery) {\n filtered.push(element);\n }\n }\n\n yield put({ type: c.FILTER_PRODUCTS_BY_QUERY_COMPLETE, payload: { data: filtered } });\n}\n\n\nexport default function* catalogSagas() {\n yield takeLatest(c.GET_PRODUCT_BY_ID, getProductById);\n yield takeLatest(c.GET_PRODUCTS, getProducts);\n yield takeLatest(c.FILTER_PRODUCTS_BY_QUERY, filterProducts);\n}\n","/* eslint-disable no-use-before-define */\nimport {\n put, select, takeLatest, takeEvery,\n} from 'redux-saga/effects';\nimport _ from 'lodash';\nimport { objectDifference, wsClient } from 'util/appUtils';\nimport * as c from 'constants/actionTypes/settings';\nimport { onboardingChange } from '../slices/OnboardingSlice';\n\nfunction* getAlerts({ payload }) {\n try {\n const { token, appId } = payload;\n const alerts = yield wsClient.fetchAlerts({ shopId: token, appId });\n\n yield put({ type: c.UPDATE_ALERT_BANNERS, payload: alerts });\n } catch (err) {\n yield put({ type: c.GET_ALERTS_FAILED, payload: err });\n }\n}\n\n// UPDATE_ALERT_BANNERS handler, use for add one or more alerts.\nfunction* updateAlertBanners({ payload }) {\n const { alerts } = yield select((store) => store.settings);\n const alertIds = alerts.data.map((e) => e.id);\n const uniq = [...alerts.data];\n\n payload.forEach((e) => {\n if (!alertIds.includes(e.id)) uniq.push(e);\n });\n\n yield put({ type: c.REWRITE_ALERT_BANNERS, payload: uniq });\n}\n\n\nfunction* getSettings({ payload }) {\n try {\n const data = yield wsClient.fetchShopSettings(payload);\n\n const forDiff = {\n search: data.search,\n recs: data.recs,\n searchVisible: data.searchVisible,\n recsVisible: data.recsVisible,\n };\n\n yield put({ type: c.GET_ALL_SETTINGS_COMPLETE, payload: { ...data, forDiff } });\n yield put(onboardingChange({ recs: data.recs.onboarding, search: data.search.onboarding }));\n } catch (err) {\n yield put({ type: c.GET_ALL_SETTINGS_FAILED, payload: err });\n }\n}\n\nfunction* getSettingDescribes({ payload }) {\n try {\n const { token, appId } = payload;\n const data = yield wsClient.fetchSettingsDescribes(token, appId);\n\n yield put({ type: c.GET_DESCRIBES_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.GET_DESCRIBES_FAILED, payload: err });\n }\n}\n\n\nfunction* updateAppSettings(token, appId, body, background = true) {\n const dataToUpdate = { ...body, background };\n const data = yield wsClient.updateShopSettings(token, dataToUpdate);\n\n yield getSettings({ payload: token });\n return data;\n}\n\nfunction* saveSearchSettings({ payload }) {\n try {\n const {\n search,\n forDiff,\n searchVisible: { value: searchVisible },\n } = yield select(({ settings }) => settings);\n\n const diff = objectDifference(search, forDiff.search);\n\n const dataToUpdate = {};\n\n if (!_.isEqual(diff, {})) dataToUpdate.search = diff;\n if (searchVisible !== forDiff.searchVisible) {\n dataToUpdate.searchVisible = searchVisible;\n if (searchVisible && !search.onboarding.completed) {\n dataToUpdate.search = { onboarding: { completed: true } };\n }\n }\n\n const response = yield updateAppSettings(payload, 'search', dataToUpdate, true);\n yield put({ type: c.SAVE_SEARCH_SETTINGS_COMPLETED, payload: response });\n } catch (err) {\n yield put({ type: c.SAVE_SEARCH_SETTINGS_FAILED, payload: err });\n }\n}\n\nfunction* saveRecsSettings({ payload }) {\n try {\n const {\n recs,\n forDiff,\n recsVisible: { value: recsVisible },\n } = yield select((store) => store.settings);\n\n const diff = objectDifference(recs, forDiff.recs);\n\n const dataToUpdate = {};\n\n if (!_.isEqual(diff, {})) dataToUpdate.recs = diff;\n if (recsVisible !== forDiff.recsVisible) {\n dataToUpdate.recsVisible = recsVisible;\n if (recsVisible && !recs.onboarding.completed) {\n dataToUpdate.recs = { onboarding: { completed: true } };\n }\n }\n\n const response = yield updateAppSettings(payload, 'recs', dataToUpdate, true);\n yield put({ type: c.SAVE_RECS_SETTINGS_COMPLETED, payload: response });\n } catch (err) {\n yield put({ type: c.SAVE_RECS_SETTINGS_FAILED, payload: err });\n }\n}\n\nfunction* forceUpdateRecsVisible({ payload }) {\n try {\n const { token, isVisible } = payload;\n const { forDiff: { recs: { onboarding } } } = yield select((store) => store.settings);\n const dataToUpdate = { recsVisible: isVisible };\n if (!onboarding.completed) dataToUpdate.recs = { onboarding: { completed: true, step3: true } };\n\n yield updateAppSettings(token, 'recs', dataToUpdate, true);\n\n yield put({ type: c.FORCE_UPDATE_RECS_VISIBLE_COMPLETE });\n } catch (err) {\n yield put({ type: c.FORCE_UPDATE_RECS_VISIBLE_FAILED, payload: err });\n }\n}\n\nfunction* forceUpdateSearchVisible({ payload }) {\n try {\n const { token, isVisible } = payload;\n const { forDiff: { search: { onboarding } } } = yield select((store) => store.settings);\n const dataToUpdate = { searchVisible: isVisible };\n if (!onboarding.completed) dataToUpdate.search = { onboarding: { completed: true } };\n yield updateAppSettings(token, 'search', dataToUpdate, true);\n\n yield put({ type: c.FORCE_UPDATE_SEARCH_VISIBLE_COMPLETE });\n } catch (err) {\n yield put({ type: c.FORCE_UPDATE_SEARCH_VISIBLE_FAILED, payload: err });\n }\n}\n\nexport default function* settings() {\n yield takeLatest(c.GET_ALL_SETTINGS, getSettings);\n yield takeLatest(c.GET_DESCRIBES, getSettingDescribes);\n\n yield takeEvery(c.GET_ALERTS, getAlerts);\n yield takeLatest(c.UPDATE_ALERT_BANNERS, updateAlertBanners);\n\n yield takeLatest(c.SAVE_SEARCH_SETTINGS, saveSearchSettings);\n yield takeLatest(c.SAVE_RECS_SETTINGS, saveRecsSettings);\n\n yield takeLatest(c.FORCE_UPDATE_SEARCH_VISIBLE, forceUpdateSearchVisible);\n yield takeLatest(c.FORCE_UPDATE_RECS_VISIBLE, forceUpdateRecsVisible);\n}\n","/* eslint-disable no-use-before-define */\nimport { put, select, takeLatest } from 'redux-saga/effects';\nimport _ from 'lodash';\nimport * as c from 'constants/actionTypes/recs';\nimport { mapDifference, wsClient } from '../util/appUtils';\n\nconst appId = 'recs';\n\nfunction* getFields({ payload }) {\n try {\n const { fields, attributes } = yield wsClient.fetchFields(payload.token, appId);\n\n const data = {};\n fields.forEach((el) => {\n data[el.id] = {\n id: el.id,\n title: el.title,\n weight: el.weight,\n autocomplete: el.autocomplete,\n };\n });\n\n yield put({ type: c.GET_FIELDS_COMPLETE, payload: { fields: data, attributes, flat: fields } });\n } catch (err) {\n yield put({ type: c.GET_FIELDS_FAILED, payload: err });\n }\n}\n\nfunction* updateFields() {\n try {\n const { currentShop: token } = yield select((store) => store.app);\n const { fields: { data: fields, forDiff } } = yield select((store) => store.recs);\n\n const fieldsDiff = mapDifference(fields, forDiff);\n const body = { fields: fieldsDiff, domain: token };\n yield wsClient.updateFields(token, appId, body);\n\n yield put({ type: c.SAVE_FIELDS_CHANGES_COMPLETED });\n yield put({ type: c.GET_FIELDS });\n } catch (err) {\n yield put({ type: c.SAVE_FIELDS_CHANGES_FAILED, payload: err });\n }\n}\n\nfunction* loadAllModels({ payload }) {\n try {\n const { algorithm } = yield select((state) => state.recs);\n const { token } = payload;\n const data = yield wsClient.recsLoadAllModels(token);\n const dataForSelect = data.map((el) => ({ text: (algorithm[el.id] || el.id), value: el.id }));\n yield put({ type: c.RECS_LOAD_ALL_MODELS_COMPLETE, payload: { data, dataForSelect } });\n } catch (err) {\n yield put({ type: c.RECS_LOAD_ALL_MODELS_FAILED, payload: err });\n }\n}\n\nfunction* loadAllWidgets({ payload }) {\n try {\n const { token } = payload;\n const data = yield wsClient.recsLoadAllWidgets(token);\n const dataMap = _.keyBy(data, 'alias');\n yield put({ type: c.RECS_LOAD_ALL_WIDGETS_COMPLETE, payload: { data, dataMap } });\n } catch (err) {\n yield put({ type: c.RECS_LOAD_ALL_WIDGETS_FAILED, payload: err });\n }\n}\n\n// Unused\nfunction* deleteWidget({ payload }) {\n try {\n const { shopId } = yield select((state) => state.settings);\n const { alias } = payload;\n const data = yield wsClient.recsDeleteWidget(shopId, alias);\n yield put({ type: c.RECS_DELETE_WIDGET_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.RECS_DELETE_WIDGET_FAILED, payload: err });\n }\n}\n\nfunction* updateOneWidget({ payload }) {\n const { shopId } = yield select((state) => state.settings);\n try {\n const { widget } = payload;\n const data = yield wsClient.recsUpdateOneWidget(shopId, widget.alias, widget);\n yield put({ type: c.RECS_LOAD_ALL_WIDGETS, payload: { token: shopId } });\n if (data.errors && data.errors.length) throw new Error('Widget saved, but server respond with errors.');\n\n yield put({ type: c.RECS_UPDATE_ONE_WIDGET_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.RECS_UPDATE_ONE_WIDGET_FAILED, payload: err });\n }\n}\n\n// Unused\nfunction* createWidget({ payload }) {\n try {\n const { shopId } = yield select((state) => state.settings);\n const { widget } = payload;\n const data = yield wsClient.recsCreateWidget(shopId, widget);\n yield put({ type: c.RECS_CREATE_WIDGET_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.RECS_CREATE_WIDGET_FAILED, payload: err });\n }\n}\n\nfunction* loadAllPages({ payload }) {\n try {\n const { token } = payload;\n const data = yield wsClient.recsLoadAllPages(token);\n const dataMap = _.keyBy(data, 'id');\n yield put({ type: c.RECS_LOAD_ALL_PAGES_COMPLETE, payload: { data, dataMap, dataMapDefault: dataMap } });\n } catch (err) {\n yield put({ type: c.RECS_LOAD_ALL_PAGES_FAILED, payload: err });\n }\n}\n\nfunction* updatePage({ payload }) {\n try {\n const { shopId } = yield select((state) => state.settings);\n const { page } = payload;\n const body = { ...page, background: true };\n const data = yield wsClient.recsUpdatePage(shopId, page.id, body);\n yield put({ type: c.RECS_LOAD_ALL_PAGES, payload: { token: shopId } });\n if (data.errors && data.errors.length) throw new Error('Widget saved, but server respond with errors.');\n\n yield put({ type: c.RECS_UPDATE_PAGE_COMPLETE, payload: data });\n } catch (err) {\n yield put({ type: c.RECS_UPDATE_PAGE_FAILED, payload: err });\n }\n}\n\n\nexport default function* recs() {\n yield takeLatest(c.GET_FIELDS, getFields);\n\n yield takeLatest(c.RECS_LOAD_ALL_MODELS, loadAllModels);\n yield takeLatest(c.RECS_LOAD_ALL_WIDGETS, loadAllWidgets);\n yield takeLatest(c.RECS_CREATE_WIDGET, createWidget);\n yield takeLatest(c.RECS_UPDATE_ONE_WIDGET, updateOneWidget);\n yield takeLatest(c.RECS_DELETE_WIDGET, deleteWidget);\n yield takeLatest(c.RECS_LOAD_ALL_PAGES, loadAllPages);\n yield takeLatest(c.RECS_UPDATE_PAGE, updatePage);\n\n yield takeLatest(c.SAVE_FIELDS_CHANGES, updateFields);\n}\n","import { put, select, takeLatest } from 'redux-saga/effects';\nimport * as c from 'constants/actionTypes/search';\nimport { mapDifference, wsClient } from '../util/appUtils';\n\n\nfunction* fetchFields({ payload }) {\n try {\n const { fields, attributes } = yield wsClient.fetchFields(payload.token, 'search');\n\n const data = {};\n fields.forEach((el) => {\n data[el.id] = {\n id: el.id,\n title: el.title,\n weight: el.weight,\n autocomplete: el.autocomplete,\n };\n });\n\n yield put({ type: c.GET_FIELDS_COMPLETE, payload: { fields: data, attributes } });\n } catch (err) {\n yield put({ type: c.GET_FIELDS_FAILED, payload: err });\n }\n}\n\n\nfunction* updateFields({ payload }) {\n try {\n const { fields: { data: fields, forDiff } } = yield select((store) => store.search);\n\n const fieldsDiff = mapDifference(fields, forDiff);\n const body = { fields: fieldsDiff, domain: payload };\n yield wsClient.updateFields(payload, 'search', body);\n\n yield put({ type: c.GET_FIELDS, payload: { token: payload } });\n yield put({ type: c.SAVE_FIELDS_CHANGES_COMPLETED });\n } catch (err) {\n yield put({ type: c.SAVE_FIELDS_CHANGES_FAILED, payload: err });\n }\n}\n\n\nexport default function* search() {\n yield takeLatest(c.GET_FIELDS, fetchFields);\n yield takeLatest(c.SAVE_FIELDS_CHANGES, updateFields);\n}\n","import { put, takeLatest, select, all } from 'redux-saga/effects';\nimport {\n GET_AUTHORIZATION_INFO_FAILED,\n KEA_SIGN_IN_FAILED,\n KEA_SIGN_IN_WITH_SECRET_FAILED,\n} from 'constants/ActionTypes';\n\nimport {\n FORCE_UPDATE_RECS_VISIBLE_COMPLETE,\n FORCE_UPDATE_SEARCH_VISIBLE_COMPLETE,\n GET_ALERTS_FAILED,\n GET_ALL_SETTINGS_FAILED,\n GET_DESCRIBES_FAILED,\n SAVE_RECS_SETTINGS_COMPLETED,\n SAVE_RECS_SETTINGS_FAILED,\n SAVE_SEARCH_SETTINGS_COMPLETED,\n SAVE_SEARCH_SETTINGS_FAILED,\n} from '../constants/actionTypes/settings';\n\nimport * as search from '../constants/actionTypes/search';\nimport * as recs from '../constants/actionTypes/recs';\nimport * as analytics from '../constants/actionTypes/analytics';\n\n\nimport {\n enqueueErrorSnackbar,\n enqueueSuccessSnackbar,\n} from '../actions/Notifications';\nimport { GET_PRODUCT_BY_ID_FAILED, GET_PRODUCTS_FAILED } from '../constants/actionTypes/catalog';\nimport { GET_PLANS_FAILED } from '../constants/actionTypes/billing';\n\n\nfunction* loginFailed(action) {\n const { payload: error } = action;\n if (/401/.test(error.message)) yield put(enqueueErrorSnackbar('The username or password is not correct.'));\n else yield put(enqueueErrorSnackbar('Something went wrong'));\n}\n\nfunction* unexpectedError({ payload: error }) {\n yield put(enqueueErrorSnackbar(`Sorry, something went wrong. ${error.message}`, 3000));\n}\n\nfunction* fetchingFailed() {\n yield put(enqueueErrorSnackbar('Can\\'t get data from server'));\n}\n\nfunction* savedSuccess() {\n yield put(enqueueSuccessSnackbar('Saved'));\n}\n\nfunction* savedSuccessWithActions({ payload }) {\n const { actions } = yield select((store) => store.settings.alerts);\n const alerts = [];\n payload.actions.forEach((e) => { if (actions.hasOwnProperty(e)) alerts.push(actions[e]); });\n if (alerts.length === 0) {\n yield put(enqueueSuccessSnackbar('Saved'));\n } else {\n yield all(alerts.map((action) => put(enqueueSuccessSnackbar(action.message, 4000))));\n }\n}\n\nfunction* savedSuccessWithMessage() {\n yield put(enqueueSuccessSnackbar('Success! Your changes will take effect in a few minutes!', 4000));\n}\n\n\nexport default function* notifications() {\n yield takeLatest(KEA_SIGN_IN_FAILED, loginFailed);\n yield takeLatest(KEA_SIGN_IN_WITH_SECRET_FAILED, loginFailed);\n\n // unexpectedError\n yield takeLatest(SAVE_SEARCH_SETTINGS_FAILED, unexpectedError);\n yield takeLatest(SAVE_RECS_SETTINGS_FAILED, unexpectedError);\n yield takeLatest(search.SAVE_FIELDS_CHANGES_FAILED, unexpectedError);\n yield takeLatest(recs.SAVE_FIELDS_CHANGES_FAILED, unexpectedError);\n yield takeLatest(recs.RECS_UPDATE_ONE_WIDGET_FAILED, unexpectedError);\n yield takeLatest(recs.RECS_DELETE_WIDGET_FAILED, unexpectedError);\n yield takeLatest(recs.RECS_CREATE_WIDGET_FAILED, unexpectedError);\n yield takeLatest(recs.RECS_UPDATE_PAGE_FAILED, unexpectedError);\n\n\n // fetchingFailed\n yield takeLatest(GET_AUTHORIZATION_INFO_FAILED, fetchingFailed);\n yield takeLatest(GET_DESCRIBES_FAILED, fetchingFailed);\n yield takeLatest(GET_ALL_SETTINGS_FAILED, fetchingFailed);\n yield takeLatest(GET_ALERTS_FAILED, fetchingFailed);\n yield takeLatest(search.GET_FIELDS_FAILED, fetchingFailed);\n yield takeLatest(recs.GET_FIELDS_FAILED, fetchingFailed);\n yield takeLatest(recs.RECS_LOAD_ALL_MODELS_FAILED, fetchingFailed);\n yield takeLatest(recs.RECS_LOAD_ALL_WIDGETS_FAILED, fetchingFailed);\n yield takeLatest(recs.RECS_LOAD_ALL_PAGES_FAILED, fetchingFailed);\n yield takeLatest(GET_PRODUCT_BY_ID_FAILED, fetchingFailed);\n yield takeLatest(GET_PRODUCTS_FAILED, fetchingFailed);\n yield takeLatest(GET_PLANS_FAILED, fetchingFailed);\n\n yield takeLatest(analytics.GET_RECS_DASHBOARD_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_SEARCH_DASHBOARD_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_SEARCH_STATS_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_SEARCH_FILTER_POPULAR_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_SEARCH_LOST_OPPORTUNITIES_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_SEARCH_CURVE_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_SEARCH_QUERY_POPULAR_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_SEARCH_QUERY_SORTED_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_SEARCH_QUERY_NO_RESULT_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_SEARCH_RELATED_QUERIES_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_PRODUCTS_CONVERSION_BEST_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_PRODUCTS_CONVERSION_WORST_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_PRODUCTS_POPULAR_BY_VIEW_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_PRODUCTS_POPULAR_BY_PURCHASE_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_PRODUCTS_RELATED_BY_VIEW_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_PRODUCTS_RELATED_BY_PURCHASE_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_RELATED_PRODUCTS_BY_QUERY_FAILED, fetchingFailed);\n yield takeLatest(analytics.GET_RELATED_QUERIES_BY_PRODUCT_FAILED, fetchingFailed);\n\n // savedSuccessWithActions\n yield takeLatest(SAVE_SEARCH_SETTINGS_COMPLETED, savedSuccessWithActions);\n yield takeLatest(SAVE_RECS_SETTINGS_COMPLETED, savedSuccessWithActions);\n yield takeLatest(recs.RECS_UPDATE_ONE_WIDGET_COMPLETE, savedSuccessWithActions);\n yield takeLatest(recs.RECS_UPDATE_PAGE_COMPLETE, savedSuccessWithActions);\n\n // savedSuccessWithMessage\n yield takeLatest(search.SAVE_FIELDS_CHANGES_COMPLETED, savedSuccessWithMessage);\n yield takeLatest(recs.SAVE_FIELDS_CHANGES_COMPLETED, savedSuccessWithMessage);\n\n // savedSuccess\n yield takeLatest(FORCE_UPDATE_RECS_VISIBLE_COMPLETE, savedSuccess);\n yield takeLatest(FORCE_UPDATE_SEARCH_VISIBLE_COMPLETE, savedSuccess);\n yield takeLatest(recs.RECS_CREATE_WIDGET_COMPLETE, savedSuccess);\n}\n","import { takeLatest } from 'redux-saga/effects';\nimport {\n GET_AUTHORIZATION_INFO_FAILED,\n KEA_SIGN_IN_FAILED,\n KEA_SIGN_IN_WITH_SECRET_FAILED,\n} from 'constants/ActionTypes';\n\nimport {\n GET_ALERTS_FAILED,\n GET_ALL_SETTINGS_FAILED,\n GET_DESCRIBES_FAILED,\n SAVE_RECS_SETTINGS_FAILED,\n SAVE_SEARCH_SETTINGS_FAILED,\n} from '../constants/actionTypes/settings';\nimport {\n GET_PRODUCT_BY_ID_FAILED,\n GET_PRODUCTS_FAILED,\n} from '../constants/actionTypes/catalog';\nimport { GET_PLANS_FAILED } from '../constants/actionTypes/billing';\nimport * as search from '../constants/actionTypes/search';\nimport * as analytics from '../constants/actionTypes/analytics';\nimport * as recs from '../constants/actionTypes/recs';\n\nconst isDev = true;\nconst isDebug = false;\n\nfunction criticalErrorHandler(action) {\n const { payload: error } = action;\n if (isDev) console.error(error.message);\n else if (isDebug) console.error(error);\n // TODO: add sentry in feature;\n}\n\nfunction errorHandler(action) {\n const { payload: error } = action;\n if (isDev) console.error(error.message);\n else if (isDebug) console.error(error);\n // TODO: add sentry in feature;\n}\n\nexport default function* errorHandlers() {\n yield takeLatest(GET_ALL_SETTINGS_FAILED, criticalErrorHandler);\n yield takeLatest(GET_AUTHORIZATION_INFO_FAILED, criticalErrorHandler);\n\n yield takeLatest(KEA_SIGN_IN_FAILED, errorHandler);\n yield takeLatest(KEA_SIGN_IN_WITH_SECRET_FAILED, errorHandler);\n\n yield takeLatest(SAVE_SEARCH_SETTINGS_FAILED, errorHandler);\n yield takeLatest(SAVE_RECS_SETTINGS_FAILED, errorHandler);\n yield takeLatest(search.SAVE_FIELDS_CHANGES_FAILED, errorHandler);\n yield takeLatest(recs.SAVE_FIELDS_CHANGES_FAILED, errorHandler);\n yield takeLatest(recs.RECS_UPDATE_ONE_WIDGET_FAILED, errorHandler);\n yield takeLatest(recs.RECS_DELETE_WIDGET_FAILED, errorHandler);\n yield takeLatest(recs.RECS_CREATE_WIDGET_FAILED, errorHandler);\n yield takeLatest(recs.RECS_UPDATE_PAGE_FAILED, errorHandler);\n yield takeLatest(GET_DESCRIBES_FAILED, errorHandler);\n yield takeLatest(GET_ALERTS_FAILED, errorHandler);\n yield takeLatest(search.GET_FIELDS_FAILED, errorHandler);\n yield takeLatest(recs.GET_FIELDS_FAILED, errorHandler);\n yield takeLatest(recs.RECS_LOAD_ALL_MODELS_FAILED, errorHandler);\n yield takeLatest(recs.RECS_LOAD_ALL_WIDGETS_FAILED, errorHandler);\n yield takeLatest(recs.RECS_LOAD_ALL_PAGES_FAILED, errorHandler);\n yield takeLatest(GET_PRODUCT_BY_ID_FAILED, errorHandler);\n yield takeLatest(GET_PRODUCTS_FAILED, errorHandler);\n yield takeLatest(GET_PLANS_FAILED, errorHandler);\n yield takeLatest(analytics.GET_A_B_RESULTS_FAILED, errorHandler);\n yield takeLatest(analytics.GET_RECS_DASHBOARD_FAILED, errorHandler);\n yield takeLatest(analytics.GET_SEARCH_DASHBOARD_FAILED, errorHandler);\n yield takeLatest(analytics.GET_SEARCH_STATS_FAILED, errorHandler);\n yield takeLatest(analytics.GET_SEARCH_FILTER_POPULAR_FAILED, errorHandler);\n yield takeLatest(analytics.GET_SEARCH_LOST_OPPORTUNITIES_FAILED, errorHandler);\n yield takeLatest(analytics.GET_SEARCH_CURVE_FAILED, errorHandler);\n yield takeLatest(analytics.GET_SEARCH_QUERY_POPULAR_FAILED, errorHandler);\n yield takeLatest(analytics.GET_SEARCH_QUERY_SORTED_FAILED, errorHandler);\n yield takeLatest(analytics.GET_SEARCH_QUERY_NO_RESULT_FAILED, errorHandler);\n yield takeLatest(analytics.GET_SEARCH_RELATED_QUERIES_FAILED, errorHandler);\n yield takeLatest(analytics.GET_PRODUCTS_CONVERSION_BEST_FAILED, errorHandler);\n yield takeLatest(analytics.GET_PRODUCTS_CONVERSION_WORST_FAILED, errorHandler);\n yield takeLatest(analytics.GET_PRODUCTS_POPULAR_BY_VIEW_FAILED, errorHandler);\n yield takeLatest(analytics.GET_PRODUCTS_POPULAR_BY_PURCHASE_FAILED, errorHandler);\n yield takeLatest(analytics.GET_PRODUCTS_RELATED_BY_VIEW_FAILED, errorHandler);\n yield takeLatest(analytics.GET_PRODUCTS_RELATED_BY_PURCHASE_FAILED, errorHandler);\n yield takeLatest(analytics.GET_RELATED_PRODUCTS_BY_QUERY_FAILED, errorHandler);\n yield takeLatest(analytics.GET_RELATED_QUERIES_BY_PRODUCT_FAILED, errorHandler);\n}\n","import { all } from 'redux-saga/effects';\nimport authSagas from './Auth';\nimport billingSagas from './Billing';\nimport analyticSagas from './Analytic';\nimport catalogSagas from './Catalog';\nimport settingsSagas from './Settings';\nimport recs from './Recs';\nimport search from './Search';\nimport notifications from './Notifications';\nimport errorHandlers from './ErrorHandlers';\nimport { sagas as Onboarding } from '../slices/OnboardingSlice';\n\nexport default function* rootSaga() {\n yield all([\n catalogSagas(),\n authSagas(),\n billingSagas(),\n analyticSagas(),\n settingsSagas(),\n recs(),\n search(),\n notifications(),\n errorHandlers(),\n Onboarding(),\n ]);\n}\n","import { applyMiddleware, compose, createStore } from 'redux';\nimport { createBrowserHistory } from 'history';\nimport { routerMiddleware } from 'connected-react-router';\nimport createSagaMiddleware from 'redux-saga';\nimport reducers from '../reducers/index';\nimport rootSaga from '../sagas/index';\n\n\nconst history = createBrowserHistory();\nconst routeMiddleware = routerMiddleware(history);\nconst sagaMiddleware = createSagaMiddleware();\n\nconst middlewares = [sagaMiddleware, routeMiddleware];\nconst composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\n\n\nexport default function configureStore(initialState) {\n const store = createStore(\n reducers(history),\n initialState,\n composeEnhancers(applyMiddleware(...middlewares)),\n );\n\n sagaMiddleware.run(rootSaga);\n\n if (module.hot) {\n // Enable Webpack hot module replacement for reducers\n module.hot.accept('../reducers/index', () => {\n const nextRootReducer = require('../reducers/index');\n store.replaceReducer(nextRootReducer);\n });\n }\n return store;\n}\nexport { history };\n","import React from 'react';\nimport { create } from 'jss';\nimport rtl from 'jss-rtl';\nimport { StylesProvider, jssPreset } from '@material-ui/styles';\n\n// Configure JSS\nconst jss = create({ plugins: [...jssPreset().plugins, rtl()] });\n\nfunction RTL({ children }) {\n return (\n \n {children}\n \n );\n}\nexport default RTL;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Spinner = ({ r }) => (\n \n \n \n);\n\nSpinner.defaultProps = {\n r: 15,\n};\n\nSpinner.propTypes = {\n r: PropTypes.number,\n};\n\nexport default Spinner;\n","import React from 'react';\nimport Spinner from 'components/kea/placeholders/Spinner';\n\nconst CircularProgress = ({ className }) => (\n
\n \n
\n);\nexport default CircularProgress;\n","import React from 'react';\nimport Nprogress from 'nprogress';\nimport ReactPlaceholder from 'react-placeholder';\nimport 'nprogress/nprogress.css';\nimport 'react-placeholder/lib/reactPlaceholder.css';\nimport CircularProgress from 'components/kea/placeholders/CircularProgress';\n\nexport default function asyncComponent(importComponent) {\n class AsyncFunc extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n component: null,\n };\n Nprogress.start();\n }\n\n async componentDidMount() {\n this.mounted = true;\n const { default: Component } = await importComponent();\n Nprogress.done();\n if (this.mounted) {\n this.setState({\n component: ,\n });\n }\n }\n\n componentWillUnmount() {\n this.mounted = false;\n }\n\n\n render() {\n const Component = this.state.component\n || (\n \n \n \n );\n return (\n \n {Component}\n \n );\n }\n }\n\n return AsyncFunc;\n}\n","\nexport default {\n palette: {\n primary: {\n light: '#9BCE8E',\n main: '#82c272',\n dark: '#5B874F',\n contrastText: '#fff',\n },\n secondary: {\n light: '#4B9FBB',\n main: '#1F88AB',\n dark: '#155F77',\n contrastText: '#fff',\n },\n },\n status: {\n danger: 'orange',\n },\n typography: {\n button: {\n fontWeight: 400,\n textAlign: 'capitalize',\n },\n },\n};\n","import React from 'react';\n\n\nconst PlaceholderError = ({ height = 250, error }) => {\n if (error === 'NO_DATA') {\n return (\n \n \n \n );\n }\n\n return (\n
\n \n
\n

Sorry, something went wrong.

\n
\n );\n};\nexport default PlaceholderError;\n","import React from 'react';\nimport { Route } from 'react-router-dom';\nimport PlaceholderError from '../placeholders/PlaceholderError';\n\n\nfunction withErrorBoundary(WrappedComponent) {\n return class extends React.Component {\n constructor(props) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(error) {\n // Update state so the next render will show the fallback UI.\n return { hasError: true };\n }\n\n componentDidCatch(error, errorInfo) {\n // You can also log the error to an error reporting service\n // TODO: Mount Sentry in this place\n console.log({ error, errorInfo });\n }\n\n render() {\n if (this.state.hasError) return ;\n return ;\n }\n };\n}\n\nconst SafetyRoute = withErrorBoundary(Route);\nexport default SafetyRoute;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useCallback, useEffect, useRef } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport TextField from '@material-ui/core/TextField';\nimport Button from '@material-ui/core/Button';\nimport { NotificationContainer, NotificationManager } from 'react-notifications';\nimport IntlMessages from 'util/IntlMessages';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport { keaSignIn } from 'actions/Auth';\nimport { Link } from 'react-router-dom';\n\nconst SignInPage = () => {\n const dispatch = useDispatch();\n const { loader, alertMessage, showMessage } = useSelector(({ auth }) => auth);\n\n const emailInputRef = useRef(null);\n const passwordInputRef = useRef(null);\n\n const submitLogin = () => {\n dispatch(keaSignIn({\n email: emailInputRef.current.value,\n password: passwordInputRef.current.value,\n }));\n };\n\n const onKeyDown = useCallback((event) => {\n if (event.keyCode === 13) submitLogin();\n }, []);\n\n useEffect(() => {\n document.addEventListener('keydown', onKeyDown, false);\n emailInputRef.current.focus();\n\n return () => document.removeEventListener('keydown', onKeyDown, false);\n }, []);\n\n return (\n \n
\n
\n \"kea_logo\"\n
\n
\n
\n
\n
\n }\n fullWidth\n margin=\"normal\"\n className=\"mt-1 my-sm-3\"\n inputRef={emailInputRef}\n />\n }\n fullWidth\n margin=\"normal\"\n className=\"mt-1 my-sm-3\"\n inputRef={passwordInputRef}\n />\n\n
\n \n \n \n
\n \n \n \n
\n
\n
\n
\n
\n {\n loader\n && (\n
\n \n
\n )\n }\n {showMessage && NotificationManager.error(alertMessage)}\n \n \n );\n};\n\n\nexport default SignInPage;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport { keaSignInWithSecret } from 'actions/Auth';\nimport { setStartMode } from '../../util/appUtils';\n\nconst SignInEmbedded = ({ match }) => {\n const dispatch = useDispatch();\n const submitLogin = (domain, secret, appId) => dispatch(keaSignInWithSecret(domain, secret, appId));\n\n useEffect(() => {\n const { secret, domain, app } = match.params;\n if (secret && domain) {\n setStartMode('iframe');\n submitLogin(domain, secret, app);\n }\n }, []);\n\n return (\n \n
\n
\n \n
\n
\n );\n};\n\n\nexport default SignInEmbedded;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useRef } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport TextField from '@material-ui/core/TextField';\nimport Button from '@material-ui/core/Button';\nimport { NotificationContainer, NotificationManager } from 'react-notifications';\nimport IntlMessages from 'util/IntlMessages';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport { forgotPassword } from 'actions/Auth';\n\nconst ForgotPassword = () => {\n const dispatch = useDispatch();\n const { loader, alertMessage, showMessage } = useSelector(({ auth }) => auth);\n\n const emailInputRef = useRef(null);\n\n const submitForgotPassword = () => {\n dispatch(forgotPassword({\n email: emailInputRef.current.value,\n }));\n };\n\n return (\n \n
\n
\n \"kea_logo\"\n
\n
\n
\n
\n
\n }\n fullWidth\n margin=\"normal\"\n className=\"mt-1 my-sm-3\"\n inputRef={emailInputRef}\n disabled={loader}\n />\n\n
\n \n \n \n
\n
\n
\n
\n
\n
\n {\n loader\n && (\n
\n \n
\n )\n }\n {showMessage && NotificationManager.error(alertMessage)}\n \n \n );\n};\n\nexport default ForgotPassword;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useRef, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport TextField from '@material-ui/core/TextField';\nimport Button from '@material-ui/core/Button';\nimport { NotificationContainer, NotificationManager } from 'react-notifications';\nimport IntlMessages from 'util/IntlMessages';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport qs from 'qs';\nimport { rewriteAlertBanners, submitNewPassword } from '../../actions';\n\nconst SubmitNewPassword = ({ location }) => {\n const dispatch = useDispatch();\n const { settings, auth } = useSelector((store) => store);\n const { loader, alertMessage, showMessage } = auth;\n const { alerts } = settings;\n const { actions } = alerts;\n\n const parseOptions = { ignoreQueryPrefix: true };\n const queryString = qs.parse(location.search, parseOptions);\n const { token } = queryString;\n\n const newPasswordRef = useRef(null);\n const repeatNewPasswordRef = useRef(null);\n\n const submitHandler = () => {\n const newPassword = newPasswordRef.current.value;\n const repeatNewPassword = repeatNewPasswordRef.current.value;\n\n // todo: better validation\n if (!token) {\n dispatch(rewriteAlertBanners([actions.PASSWORD_SUBMIT_TOKEN_NOT_FOUND]));\n return;\n }\n\n if (newPassword !== repeatNewPassword) {\n dispatch(rewriteAlertBanners([actions.PASSWORDS_NOT_MATCHED]));\n return;\n }\n\n if (newPassword.length < 8) {\n dispatch(rewriteAlertBanners([actions.PASSWORD_TOO_SHORT]));\n return;\n }\n\n dispatch(submitNewPassword({\n password: newPasswordRef.current.value,\n token,\n }));\n };\n\n return (\n \n
\n
\n \"kea_logo\"\n
\n
\n
\n
\n
\n }\n fullWidth\n margin=\"normal\"\n className=\"mt-1 my-sm-3\"\n inputRef={newPasswordRef}\n disabled={loader}\n />\n }\n fullWidth\n margin=\"normal\"\n className=\"mt-1 my-sm-3\"\n inputRef={repeatNewPasswordRef}\n disabled={loader}\n />\n\n
\n \n \n \n
\n
\n
\n
\n
\n
\n {\n loader\n && (\n
\n \n
\n )\n }\n {showMessage && NotificationManager.error(alertMessage)}\n \n \n );\n};\n\n\nexport default SubmitNewPassword;\n","import React from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport SafetyRoute from 'components/kea/SafetyRoute';\nimport asyncComponent from 'util/asyncComponent';\nimport SignInPage from './SignInPage';\nimport SignInEmbedded from './SignInEmbedded';\nimport ForgotPassword from './ForgotPassword';\nimport SubmitNewPassword from './SubmitNewPassword';\n\nconst SignIn = ({ match }) => (\n \n } />\n } />\n } />\n } />\n\n import('app/routes/404'))} />\n \n);\n\nexport default SignIn;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport FormControl from '@material-ui/core/FormControl';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Radio from '@material-ui/core/Radio';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport {\n ABOVE_THE_HEADER,\n BELOW_THE_HEADER,\n COLLAPSED_DRAWER,\n FIXED_DRAWER,\n HORIZONTAL_NAVIGATION,\n INSIDE_THE_HEADER,\n MINI_DRAWER,\n VERTICAL_NAVIGATION,\n} from 'constants/ActionTypes';\n\nimport { Button, ButtonGroup } from 'reactstrap';\nimport { changeNavigationStyle, setDrawerType, setHorizontalMenuPosition } from '../../actions/App';\n\n\nconst Customizer = () => {\n const dispatch = useDispatch();\n\n const drawerType = useSelector(({ app }) => app.drawerType);\n const navigationStyle = useSelector(({ app }) => app.navigationStyle);\n const horizontalNavPosition = useSelector(({ app }) => app.horizontalNavPosition);\n\n\n const setFixedDrawer = () => {\n dispatch(setDrawerType(FIXED_DRAWER));\n };\n\n const setCollapsedDrawer = () => {\n dispatch(setDrawerType(COLLAPSED_DRAWER));\n };\n\n const setMiniDrawer = () => {\n dispatch(setDrawerType(MINI_DRAWER));\n };\n\n\n return (\n
\n\n
\n

Navigation Style

\n
\n \n {\n dispatch(changeNavigationStyle(event.target.value));\n }}\n >\n \n}\n value={HORIZONTAL_NAVIGATION}\n label=\"Horizontal\"\n />\n \n}\n value={VERTICAL_NAVIGATION}\n label=\"Vertical\"\n />\n\n \n \n
\n
\n {navigationStyle === HORIZONTAL_NAVIGATION ? (\n \n {console.log('navigationStyle', horizontalNavPosition)}\n {\n dispatch(setHorizontalMenuPosition(INSIDE_THE_HEADER));\n }}\n >\n Inside\n \n {\n dispatch(setHorizontalMenuPosition(ABOVE_THE_HEADER));\n }}\n >\n Top\n \n {\n dispatch(setHorizontalMenuPosition(BELOW_THE_HEADER));\n }}\n >\n Below\n \n \n )\n : (\n \n \n Fixed\n \n \n Collapsed\n \n \n Mini\n \n \n )}\n\n
\n );\n};\n\n\nexport default (Customizer);\n","import React, { useEffect, useState } from 'react';\nimport Drawer from '@material-ui/core/Drawer';\nimport URLSearchParams from 'url-search-params';\nimport Switch from '@material-ui/core/Switch';\nimport IconButton from '@material-ui/core/IconButton';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { withRouter } from 'react-router-dom';\n\nimport { changeDirection, setDarkTheme, setThemeColor } from 'actions/App';\nimport {\n AMBER,\n BLUE,\n CYAN,\n DARK_AMBER,\n DARK_BLUE,\n DARK_CYAN,\n DARK_DEEP_ORANGE,\n DARK_DEEP_PURPLE,\n DARK_GREEN,\n DARK_INDIGO,\n DARK_PINK,\n DEEP_ORANGE,\n DEEP_PURPLE,\n GREEN,\n INDIGO,\n PINK,\n} from 'constants/ThemeColors';\nimport SideNavOption from './SideNavOption';\n\n\nconst ColorOption = (props) => {\n const dispatch = useDispatch();\n const [drawerStatus, setDrawerStatus] = useState(false);\n const { themeColor, darkTheme, isDirectionRTL } = useSelector(({ app }) => app);\n\n useEffect(() => {\n const params = new URLSearchParams(props.location.search);\n if (params.has('theme-name')) {\n document.body.classList.add(params.get('theme-name'));\n } else {\n document.body.classList.add(themeColor);\n }\n }, [props.location.search, themeColor]);\n\n // const toggleCustomizer = () => {\n // setDrawerStatus(!drawerStatus);\n // };\n\n const closeCustomizer = () => {\n setDrawerStatus(false);\n };\n const handleThemeColor = (colorCode) => {\n dispatch(setThemeColor(colorCode));\n const body = document.body.classList;\n body.remove(themeColor);\n body.remove('dark-theme');\n body.add(colorCode);\n };\n\n const handleDarkTheme = () => {\n dispatch(setDarkTheme());\n const body = document.body.classList;\n body.toggle(themeColor);\n body.toggle('dark-theme');\n };\n\n return (\n\n
\n {/* */}\n {/* */}\n {/* */}\n \n
\n
\n

Service Panel

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

Light Sidenav

\n
    \n
  • \n handleThemeColor(INDIGO)}\n className={`jr-link bg-indigo ${themeColor === INDIGO && 'active'}`}\n />\n
  • \n
  • \n handleThemeColor(CYAN)}\n className={`jr-link bg-cyan ${themeColor === CYAN && 'active'}`}\n />\n
  • \n
  • \n handleThemeColor(AMBER)}\n className={`jr-link bg-amber ${themeColor === AMBER && 'active'}`}\n />\n
  • \n
  • \n handleThemeColor(DEEP_ORANGE)}\n className={`jr-link bg-deep-orange ${themeColor === DEEP_ORANGE && 'active'}`}\n />\n
  • \n\n
  • \n handleThemeColor(PINK)}\n className={`jr-link bg-pink ${themeColor === PINK && 'active'}`}\n />\n
  • \n
  • \n handleThemeColor(BLUE)}\n className={`jr-link bg-blue ${themeColor === BLUE && 'active'}`}\n />\n
  • \n
  • \n handleThemeColor(DEEP_PURPLE)}\n className={`jr-link bg-deep-purple ${themeColor === DEEP_PURPLE && 'active'}`}\n />\n
  • \n
  • \n handleThemeColor(GREEN)}\n className={`jr-link bg-green ${themeColor === GREEN && 'active'}`}\n />\n
  • \n
\n

Dark Sidenav

\n
    \n
  • \n handleThemeColor(DARK_INDIGO)}\n className={`jr-link bg-indigo ${themeColor === DARK_INDIGO && 'active'}`}\n />\n
  • \n
  • \n handleThemeColor(DARK_CYAN)}\n className={`jr-link bg-cyan ${themeColor === DARK_CYAN && 'active'}`}\n />\n
  • \n
  • \n handleThemeColor(DARK_AMBER)}\n className={`jr-link bg-amber ${themeColor === DARK_AMBER && 'active'}`}\n />\n
  • \n
  • \n handleThemeColor(DARK_DEEP_ORANGE)}\n className={`jr-link bg-deep-orange ${themeColor === DARK_DEEP_ORANGE && 'active'}`}\n />\n
  • \n\n
  • \n handleThemeColor(DARK_PINK)}\n className={`jr-link bg-pink ${themeColor === DARK_PINK && 'active'}`}\n />\n
  • \n
  • \n handleThemeColor(DARK_BLUE)}\n className={`jr-link bg-blue ${themeColor === DARK_BLUE && 'active'}`}\n />\n
  • \n
  • \n handleThemeColor(DARK_DEEP_PURPLE)}\n className={`jr-link bg-deep-purple ${themeColor === DARK_DEEP_PURPLE && 'active'}`}\n />\n
  • \n
  • \n handleThemeColor(DARK_GREEN)}\n className={`jr-link bg-green ${themeColor === DARK_GREEN && 'active'}`}\n />\n
  • \n
\n
\n
\n

RTL

\n dispatch(changeDirection())}\n />\n
\n
\n

Dark Theme

\n \n
\n
\n
\n \n
\n
\n
\n \n
\n );\n};\n\n\nexport default withRouter(ColorOption);\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ffffff\",\n d: \"M 0.01236874,0 H 82.061499 c 6.81259,0 12.68743,5.5104154 12.95087,12.31791 V 64 H 13.950449 C 7.1378487,64 -0.34574126,57.115991 0.01236874,50.31282 V 12.31791 Z\",\n id: \"path2\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n fillRule: \"evenodd\",\n id: \"g18\",\n transform: \"translate(-15.987631)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#f78108\",\n d: \"m 57.43405,17.6241 c 2.1099,0 2.2154,-0.211 3.7978,-0.5275 v -1.0549 c 0,-2.11 -0.9495,-3.9035 -2.3209,-4.7475 -1.7934,-1.1605 -3.4813,-0.844 -6.2242,-0.844 0.1055,0 1.7934,0.5275 2.2154,0.7385 0.633,0.3165 1.1604,0.844 1.5824,1.3715 1.3715,1.899 0.5275,4.4309 0.9495,5.0639 z\",\n id: \"path4\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#374137\",\n d: \"m 48.88895,15.9362 v 0.7384 c 0,0.7385 0.9494,1.477 1.6879,1.477 1.0549,0 1.8989,-0.844 1.8989,-1.8989 0,-0.9495 -0.844,-1.7935 -1.7934,-1.7935 h -0.211 c -0.633,0 -1.5824,0.7385 -1.5824,1.477 z\",\n id: \"path6\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff255\",\n d: \"m 48.88895,15.9362 c 0,-0.7385 0.9494,-1.477 1.5824,-1.477 h 0.211 c 0.9494,0 1.7934,0.844 1.7934,1.7935 0,1.0549 -0.844,1.8989 -1.8989,1.8989 -0.7385,0 -1.6879,-0.7385 -1.6879,-1.477 z m -5.6968,2.2154 v 0.211 c 0,2.321 2.2154,4.009 4.6418,4.009 3.1649,0 6.9627,-2.743 6.9627,-5.5915 v -1.1604 c 0,-1.899 -2.2154,-3.587 -4.2198,-3.587 h -0.633 c -3.2703,0 -6.7517,2.954 -6.7517,6.1189 z\",\n id: \"path8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#69a706\",\n d: \"m 93.61895,30.3895 v -1.055 c 0,-0.9495 1.3714,-2.4265 2.3209,-2.4265 h 1.2659 c 1.055,0 2.3209,1.477 2.3209,2.6375 v 1.0549 c 0,1.5825 -1.4769,2.743 -3.1648,2.743 -1.477,0 -2.7429,-1.477 -2.7429,-2.9539 z m -2.8484,-0.3165 c 0,3.2704 2.2154,5.8024 5.4858,5.8024 h 0.2109 c 1.1605,0 2.2154,-0.844 2.9539,-1.3715 v 1.055 h 2.8484 V 24.587 h -2.8484 v 1.1605 c -0.8439,-0.5275 -1.5824,-1.477 -3.0593,-1.477 h -0.422 c -3.0594,0 -5.1693,2.6375 -5.1693,5.8025 z\",\n id: \"path10\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff255\",\n d: \"m 34.22505,39.7788 c 0.844,-0.5275 5.2748,0.633 7.9122,-1.1605 1.8989,-1.1604 3.1648,-2.9539 3.1648,-6.0134 V 26.275 h -11.077 c -3.6923,0 -5.3803,-0.3165 -7.7012,1.266 -1.7934,1.266 -2.8483,3.1649 -2.8483,6.1189 v 6.0134 h 1.7934 z\",\n id: \"path12\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#69a706\",\n d: \"m 65.34615,35.5589 h 2.9539 v -6.4354 l 4.5363,6.4354 h 3.3758 l -5.6967,-8.2289 5.1693,-6.6464 h -3.3759 l -4.0088,4.9584 v -4.9584 h -2.9539 z m 14.9804,-6.8574 c 0.211,-0.9495 1.2659,-2.0045 2.4264,-2.0045 h 1.0549 c 1.1605,0 2.2154,1.055 2.4264,2.0045 z m -2.8484,1.055 v 0.9494 c 0,2.954 2.7429,5.1695 5.8022,5.1695 1.8989,0 4.8528,-1.1605 4.9583,-2.4265 l -2.2154,-1.055 c -0.7385,0.422 -1.2659,1.055 -2.5319,1.055 h -0.3165 c -1.4769,0 -2.9538,-1.055 -2.9538,-2.532 h 8.8616 V 30.073 c 0,-3.376 -2.5319,-5.8025 -5.9078,-5.8025 h -0.1055 c -3.0593,0 -5.5912,2.4265 -5.5912,5.486 z m -34.286,-11.6049 c 0,-3.1649 3.4814,-6.1189 6.7517,-6.1189 h 0.633 c 2.0044,0 4.2198,1.688 4.2198,3.587 v 1.1604 c 0,2.8485 -3.7978,5.5915 -6.9627,5.5915 -2.4264,0 -4.6418,-1.688 -4.6418,-4.009 z m -8.9671,8.1234 h 11.077 v 6.3299 c 0,3.0595 -1.2659,4.853 -3.1648,6.0134 -2.6374,1.7935 -7.0682,0.633 -7.9122,1.1605 v 13.8203 h 3.4814 c 2.4263,0 4.5362,-2.1099 4.5362,-4.6419 v -5.3804 h 2.7429 c 6.3297,0 9.8111,-2.954 11.71,-7.4904 1.266,-3.165 0.7385,-13.7148 0.7385,-18.4623 -0.422,-0.633 0.422,-3.1649 -0.9495,-5.0639 -0.422,-0.5275 -0.9494,-1.055 -1.5824,-1.3715 -0.422,-0.211 -2.1099,-0.7385 -2.2154,-0.7385 -7.3847,0 -9.9166,-0.633 -14.4529,2.6375 -1.2659,1.055 -2.9538,3.3759 -3.3758,5.1694 -0.844,2.6375 -0.633,4.642 -0.633,8.0179 z\",\n id: \"path14\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#374137\",\n d: \"m 65.97915,53.2826 h 6.2242 v -1.266 h -4.8528 V 40.4118 h -1.3714 z m 8.9671,-4.9584 c 0,-1.7935 1.6879,-3.587 3.4813,-3.587 h 0.422 c 2.0044,0 3.5869,1.899 3.5869,4.009 v 0.3165 c 0,1.688 -1.8989,3.3759 -3.7979,3.3759 -1.7934,0 -3.6923,-1.6879 -3.6923,-3.3759 z m -1.2659,-0.1055 v 0.844 c 0,2.0045 2.2154,4.4309 4.1143,4.4309 h 1.4769 c 1.1605,0 2.5319,-1.1605 3.0594,-1.7935 v 1.5825 h 1.2659 v -9.4948 h -1.2659 v 1.6879 c -1.1605,-0.844 -1.266,-1.8989 -3.7979,-1.8989 h -0.5274 c -2.1099,0 -4.3253,2.4264 -4.3253,4.6419 z m 13.8198,0.3165 c 0,-1.899 1.5825,-3.798 3.2704,-3.798 h 1.055 c 1.4769,0 3.1648,1.7935 3.1648,3.4815 v 0.633 c 0,2.0045 -1.6879,3.4814 -3.7978,3.4814 h -0.3165 c -1.6879,0 -3.3759,-1.8989 -3.3759,-3.6924 z m -1.1604,4.7474 h 1.2659 v -1.6879 c 0.7385,0.5274 1.477,1.8989 3.0594,1.8989 h 1.4769 c 1.899,0 4.1144,-2.4264 4.1144,-4.4309 v -1.3715 c 0,-1.688 -2.4264,-4.1144 -4.1144,-4.1144 h -1.1604 c -1.7934,0 -2.4264,1.1604 -3.3759,1.7934 v -5.2749 h -1.2659 z m 11.71,-7.2794 c 0,3.0595 4.1143,2.8485 4.1143,4.7475 v 0.1055 c 0,0.633 -0.844,1.4769 -1.4769,1.4769 h -0.422 c -1.1605,0 -1.266,-0.7384 -1.8989,-0.8439 l -0.7385,0.6329 c 0.3165,0.5275 1.2659,1.3715 2.1099,1.3715 h 1.1605 c 1.1604,0 2.4263,-1.3715 2.4263,-2.5319 v -0.422 c 0,-2.4265 -4.1143,-2.743 -4.1143,-4.431 v -0.211 c 0,-0.7385 0.7385,-1.1605 1.477,-1.1605 h 0.211 c 0.6329,0 1.2659,0.633 1.6879,0.9495 0.1055,-0.211 0.6329,-0.633 0.6329,-0.7385 0,-0.5274 -1.5824,-1.3714 -2.3208,-1.3714 h -0.3165 c -1.3715,0 -2.5319,1.0549 -2.5319,2.4264 z\",\n id: \"path16\"\n}));\n\nvar SvgKealogoTextBg = function SvgKealogoTextBg(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 95.012367 64\",\n id: \"svg20\",\n width: 95.012367,\n height: 64,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgKealogoTextBg, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/kealogo-text-bg.f4618431.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { NavLink } from 'react-router-dom';\nimport { ReactComponent as Logo } from 'assets/images/kealogo-text-bg.svg';\nimport { genRandomKey, getInitUrlByShop, getShopIdFromLocation } from '../../util/appUtils';\n\nconst UserInfo = () => {\n const { auth: { authorization } } = useSelector((state) => state);\n\n const [anchorE1, setAnchorE1] = useState(null);\n const [open, setOpen] = useState(false);\n\n const handleClick = (event) => {\n setOpen(true);\n setAnchorE1(event.currentTarget);\n };\n\n const handleRequestClose = () => {\n setOpen(false);\n };\n\n return (\n
\n \n
\n

\n { getShopIdFromLocation() || 'Select the shop'}\n \n

\n
\n \n {\n authorization.shopList.map((shop) => (\n \n setOpen(false)}>\n {shop.shopId}\n \n \n ))\n }\n \n
\n );\n};\n\nexport default UserInfo;\n","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars';\n\nconst CustomScrollbars = (props) => (\n (\n \n )}\n />\n);\n\nexport default CustomScrollbars;\n","import React from 'react';\nimport PropsType from 'prop-types';\n\nexport default function StrangeIcon({ icon }) {\n return ;\n}\n\nStrangeIcon.propTypes = {\n icon: PropsType.string.isRequired,\n};\n","import React from 'react';\nimport { List } from '@material-ui/core';\nimport { NavLink } from 'react-router-dom';\n\nimport IntlMessages from '../../util/IntlMessages';\nimport StrangeIcon from '../Onboarding/StrangeIcon';\n\nconst NavMenuItem = (props) => {\n const {\n name, icon, link, disabled, onClick,\n } = props;\n\n return (\n \n \n {!!icon && (\n \n )}\n \n \n \n );\n};\n\nexport default NavMenuItem;\n","import React, { useEffect } from 'react';\nimport { Collapse, List, ListItem } from '@material-ui/core';\nimport IconExpandLess from '@material-ui/icons/ExpandLess';\nimport IconExpandMore from '@material-ui/icons/ExpandMore';\nimport { useHistory } from 'react-router-dom';\n\nimport IntlMessages from '../../util/IntlMessages';\nimport NavSection from './NavSection';\nimport NavMenuItem from './NavMenuItem';\n\nconst NavCollapse = (props) => {\n const history = useHistory();\n\n const { name, icon, children = [] } = props;\n const isExpandable = children && children.length > 0;\n const [open, setOpen] = React.useState(false);\n\n useEffect(() => {\n if (isUrlInChildren(props, history.location.pathname)) {\n setOpen(true);\n } else {\n setOpen(false);\n }\n // eslint-disable-next-line\n }, []);\n\n function handleClick() {\n setOpen(!open);\n }\n\n history.listen((location, action) => {\n if (isUrlInChildren(props, location.pathname)) {\n setOpen(true);\n } else {\n setOpen(false);\n }\n });\n\n /**\n * Check if the given url can be found\n * in one of the given parent's children\n *\n * @param parent\n * @param url\n * @returns {boolean}\n */\n // eslint-disable-next-line react-hooks/exhaustive-deps\n function isUrlInChildren(parent, url) {\n if (!parent.children) {\n return false;\n }\n\n for (let i = 0; i < parent.children.length; i++) {\n if (parent.children[i].children) {\n if (isUrlInChildren(parent.children[i], url)) {\n return true;\n }\n }\n\n if (parent.children[i].link === url || url.includes(parent.children[i].link)) {\n return true;\n }\n }\n\n return false;\n }\n\n const MenuCollapse = (\n \n {/* Display an icon if any */}\n {!!icon && (\n \n )}\n \n {/* Display the expand menu if the item has children */}\n {isExpandable && !open && }\n {isExpandable && open && }\n \n );\n\n const MenuItemChildren = isExpandable ? (\n \n \n {\n children.map((item, index) => {\n switch (item.type) {\n case 'section':\n return ;\n case 'collapse':\n return ;\n case 'item':\n return ;\n default:\n return null;\n }\n })\n }\n \n \n ) : null;\n\n return (\n
\n {MenuCollapse}\n {MenuItemChildren}\n
\n );\n};\n\nexport default NavCollapse;\n","import React from 'react';\nimport { List } from '@material-ui/core';\n\nimport IntlMessages from '../../util/IntlMessages';\nimport NavMenuItem from './NavMenuItem';\nimport NavCollapse from './NavCollapse';\n\nconst NavSection = (props) => {\n const { name, icon, children = [] } = props;\n const isExpandable = children && children.length > 0;\n\n const MenuCollapse = (\n \n {/* Display an icon if any */}\n {!!icon && (\n \n )}\n \n \n );\n\n const MenuItemChildren = isExpandable ? (\n \n {\n children.map((item, index) => {\n switch (item.type) {\n case 'section':\n return ;\n case 'collapse':\n return ;\n case 'item':\n return ;\n default:\n return null;\n }\n })\n }\n \n ) : null;\n\n return (\n
\n {MenuCollapse}\n {MenuItemChildren}\n
\n );\n};\n\nexport default NavSection;\n","import React from 'react';\nimport { List } from '@material-ui/core';\nimport NavMenuItem from './NavMenuItem';\nimport NavSection from './NavSection';\nimport NavCollapse from './NavCollapse';\n\nconst Navigation = (props) => {\n const { menuItems } = props;\n return (\n \n {\n menuItems.map((item, index) => {\n switch (item.type) {\n case 'section':\n return ;\n case 'collapse':\n return ;\n case 'item':\n return ;\n default:\n return null;\n }\n })\n }\n \n );\n};\n\nexport default Navigation;\n","import React, { useRef, useState } from 'react';\nimport CustomScrollbars from 'util/CustomScrollbars';\nimport { useSelector, useDispatch } from 'react-redux';\nimport Navigation from 'components/Navigation';\nimport { SEARCH, RECS } from 'util/appUtils';\nimport { keaSignOut } from \"../../actions\";\n\nconst SideBarContent = ({ shopId }) => {\n const { settings, onboarding } = useSelector((store) => store);\n const isDisabled = (appId) => {\n if (!shopId) return true;\n if (!settings.isFetched) return true;\n\n const { searchEnabled, recsEnabled } = settings;\n if (appId === SEARCH) return !searchEnabled;\n if (appId === RECS) return !recsEnabled;\n\n return false;\n };\n\n const experimentIsDisabled = () => {\n if (settings && settings.experiment) {\n return !settings.experiment.enabled;\n }\n return true;\n };\n\n const logoutButton = new LogoutButton();\n const shopDisabled = isDisabled();\n const searchDisabled = isDisabled(SEARCH);\n const recsDisabled = isDisabled(RECS);\n\n // todo move links to component/store chunk\n const navigationMenus = [\n {\n name: 'sidebar.section.search',\n type: 'section',\n children: [\n !onboarding.search.completed && {\n name: 'sidebar.search.onboarding',\n type: 'item',\n icon: 'boat',\n disabled: searchDisabled,\n link: `/app/${shopId}/search/onboarding`,\n },\n {\n name: 'sidebar.search.dashboard',\n type: 'item',\n disabled: searchDisabled,\n link: `/app/${shopId}/search/dashboard`,\n icon: 'trending-up',\n },\n {\n name: 'sidebar.search.analytics',\n type: 'collapse',\n icon: 'chart',\n children: [\n {\n name: 'sidebar.search.analytics.queryPopular',\n type: 'item',\n disabled: searchDisabled,\n link: `/app/${shopId}/search/analytic/query-popular`,\n }, {\n name: 'sidebar.search.analytics.lostOpportunities',\n type: 'item',\n disabled: searchDisabled,\n link: `/app/${shopId}/search/analytic/lost-opportunities`,\n }, {\n name: 'sidebar.search.analytics.queryNoResult',\n type: 'item',\n disabled: searchDisabled,\n link: `/app/${shopId}/search/analytic/query-no-result`,\n },\n ],\n },\n {\n name: 'sidebar.search.customization',\n type: 'item',\n icon: 'code-setting',\n disabled: searchDisabled,\n link: `/app/${shopId}/search/customization/fields`,\n },\n {\n name: 'sidebar.search.settings',\n type: 'collapse',\n icon: 'settings',\n children: [\n {\n name: 'sidebar.search.settings.general',\n type: 'item',\n disabled: searchDisabled,\n link: `/app/${shopId}/search/settings/general`,\n }, {\n name: 'sidebar.search.settings.autocomplete',\n type: 'item',\n disabled: searchDisabled,\n link: `/app/${shopId}/search/settings/autocomplete`,\n }, {\n name: 'sidebar.search.settings.result-page',\n type: 'item',\n disabled: searchDisabled,\n link: `/app/${shopId}/search/settings/result-page`,\n }, {\n name: 'sidebar.search.settings.filters',\n type: 'item',\n disabled: searchDisabled,\n link: `/app/${shopId}/search/settings/filters`,\n }, {\n name: 'sidebar.search.settings.theme',\n type: 'item',\n disabled: searchDisabled,\n link: `/app/${shopId}/search/settings/theme`,\n },\n ],\n },\n ],\n }, {\n name: 'sidebar.section.recs',\n type: 'section',\n children: [\n !onboarding.recs.completed && {\n name: 'sidebar.recs.onboarding',\n type: 'item',\n icon: 'boat',\n disabled: recsDisabled,\n link: `/app/${shopId}/recs/onboarding`,\n },\n {\n name: 'sidebar.recs.dashboard',\n type: 'item',\n disabled: recsDisabled,\n link: `/app/${shopId}/recs/dashboard`,\n icon: 'trending-up',\n }, {\n name: 'sidebar.recs.analytics',\n type: 'collapse',\n icon: 'chart',\n children: [{\n name: 'sidebar.recs.analytics.widgets',\n type: 'item',\n disabled: recsDisabled,\n link: `/app/${shopId}/recs/analytics/widgets-performance`,\n }],\n }, {\n name: 'sidebar.recs.customization',\n type: 'collapse',\n icon: 'code-setting',\n disabled: recsDisabled,\n children: [{\n name: 'sidebar.recs.customization.fields',\n type: 'item',\n disabled: recsDisabled,\n link: `/app/${shopId}/recs/customization/fields`,\n }, {\n name: 'sidebar.recs.customization.widgets',\n type: 'item',\n disabled: recsDisabled,\n link: `/app/${shopId}/recs/customization/widgets`,\n }],\n }, {\n name: 'sidebar.recs.settings',\n type: 'collapse',\n icon: 'settings',\n children: [{\n name: 'sidebar.recs.settings.general',\n type: 'item',\n disabled: recsDisabled,\n link: `/app/${shopId}/recs/settings/general`,\n }, {\n name: 'sidebar.recs.settings.theme',\n type: 'item',\n disabled: recsDisabled,\n link: `/app/${shopId}/recs/settings/theme`,\n }],\n },\n ],\n },\n {\n name: 'sidebar.section.store',\n type: 'section',\n children: [\n {\n name: 'sidebar.home.products',\n type: 'item',\n disabled: false,\n link: `/app/${shopId}/store/catalog/product-catalog`,\n icon: 'link',\n },\n {\n name: 'sidebar.store.analytics',\n type: 'collapse',\n icon: 'chart',\n children: [\n {\n name: 'search.analytics.popularProducts.header',\n type: 'item',\n disabled: shopDisabled,\n link: `/app/${shopId}/store/analytics/popular-products`,\n }, {\n name: 'sidebar.search.analytics.conversion',\n type: 'item',\n disabled: shopDisabled,\n link: `/app/${shopId}/store/analytics/conversion`,\n },\n ],\n },\n {\n name: 'sidebar.store.experiment',\n type: 'item',\n disabled: experimentIsDisabled(),\n link: `/app/${shopId}/store/experiment`,\n icon: 'link',\n },\n ],\n },\n // {\n // name: 'sidebar.section.billing',\n // type: 'section',\n // children: [\n // {\n // name: 'sidebar.billing.plans',\n // type: 'item',\n // disabled: isDisabled(),\n // link: `/app/${shopId}/organization/billing`,\n // icon: 'money',\n // },\n // {\n // name: 'sidebar.billing.support',\n // type: 'item',\n // link: `/app/${shopId}/help`,\n // icon: 'money',\n // },\n // ],\n // },\n {\n name: 'sidebar.account',\n type: 'section',\n children: [\n {\n name: 'sidebar.account.logout',\n type: 'item',\n link: '/signin',\n onClick: logoutButton.handleLogout,\n icon: 'sign-in',\n },\n ],\n },\n ];\n\n return (\n \n \n \n );\n};\n\nfunction LogoutButton() {\n const dispatch = useDispatch();\n const [open, setOpen] = useState(false);\n const anchorRef = useRef(null);\n\n this.handleLogout = (e) => {\n handleClose(e);\n dispatch(keaSignOut());\n };\n\n const handleClose = (event) => {\n if (anchorRef.current && anchorRef.current.contains(event.target)) return;\n setOpen(false);\n };\n}\n\nexport default SideBarContent;\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { withRouter } from 'react-router-dom';\nimport Drawer from '@material-ui/core/Drawer';\nimport UserInfo from 'components/UserInfo';\nimport { COLLAPSED_DRAWER, FIXED_DRAWER, HORIZONTAL_NAVIGATION } from 'constants/ActionTypes';\nimport { toggleCollapsedNav, updateWindowWidth } from 'actions';\nimport SideBarContent from './SideBarContent';\nimport { appInIframe } from '../../util/appUtils';\n\nconst SideBar = () => {\n const dispatch = useDispatch();\n const { shopId } = useSelector((store) => store.settings);\n const {\n navCollapsed, drawerType, width, navigationStyle,\n } = useSelector(({ app }) => app);\n\n useEffect(() => {\n window.addEventListener('resize', () => {\n dispatch(updateWindowWidth(window.innerWidth));\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dispatch]);\n\n const onToggleCollapsedNav = (e) => {\n const val = !navCollapsed;\n dispatch(toggleCollapsedNav(val));\n };\n\n let drawerStyle = drawerType.includes(FIXED_DRAWER) ? 'd-xl-flex' : drawerType.includes(COLLAPSED_DRAWER) ? '' : 'd-flex';\n let type = 'permanent';\n if (drawerType.includes(COLLAPSED_DRAWER) || (drawerType.includes(FIXED_DRAWER) && width < 1200)) {\n type = 'temporary';\n }\n\n if (navigationStyle === HORIZONTAL_NAVIGATION) {\n drawerStyle = '';\n type = 'temporary';\n }\n\n return (\n
\n \n {\n appInIframe()\n ? null\n : \n }\n \n \n
\n );\n};\n\n\nexport default withRouter(SideBar);\n","import React from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { useSelector } from 'react-redux';\nimport { COLLAPSED_DRAWER, FIXED_DRAWER } from 'constants/ActionTypes';\nimport ColorOption from 'containers/Customizer/ColorOption';\nimport { isIOS, isMobile } from 'react-device-detect';\nimport { getStartMode } from 'util/appUtils';\nimport SideBar from '../../SideBar';\n\nconst Vertical = (props) => {\n const { drawerType } = useSelector(({ app }) => app);\n const drawerStyle = drawerType.includes(FIXED_DRAWER) ? 'fixed-drawer' : drawerType.includes(COLLAPSED_DRAWER) ? 'collapsible-drawer' : 'mini-drawer';\n\n // set default height and overflow for iOS mobile Safari 10+ support.\n if (isIOS && isMobile) {\n document.body.classList.add('ios-mobile-view-height');\n } else if (document.body.classList.contains('ios-mobile-view-height')) {\n document.body.classList.remove('ios-mobile-view-height');\n }\n\n return (\n
\n \n\n
\n
\n
\n {props.children}\n
\n
\n
\n \n
\n );\n};\n\nexport default withRouter(Vertical);\n","import React from 'react';\n\nconst SearchBox = ({\n styleName, placeholder, onChange, value,\n}) => (\n
\n
\n \n \n
\n
\n);\nexport default SearchBox;\n\nSearchBox.defaultProps = {\n styleName: '',\n value: '',\n};\n","import React from 'react';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport IntlMessages from 'util/IntlMessages';\n\nconst CardMenu = (props) => {\n const options = [\n ,\n ,\n ,\n ,\n ];\n const { menuState, anchorEl, handleRequestClose } = props;\n return (\n \n {options.map((option) => (\n \n {option}\n \n ))}\n \n );\n};\n\nexport default CardMenu;\n","import React, { useState } from 'react';\nimport IconButton from '@material-ui/core/IconButton';\nimport CardMenu from '../CardMenu';\n\nconst CardHeader = (props) => {\n const [anchorE1, setAnchorE1] = useState(undefined);\n const [menuState, setMenuState] = useState(false);\n\n\n const onOptionMenuSelect = (event) => {\n setMenuState(true);\n setAnchorE1(event.currentTarget);\n };\n\n const handleRequestClose = () => {\n setMenuState(false);\n };\n\n const { heading, subHeading } = props;\n const { styleName } = props;\n\n return (\n
\n
\n

{heading}

\n {subHeading &&

{subHeading}

}\n
\n\n \n \n \n \n
\n );\n};\n\nexport default CardHeader;\nCardHeader.defaultProps = {\n styleName: '',\n subHeading: '',\n};\n","import React from 'react';\n\n\nconst LanguageItem = ({ language, switchLanguage, handleRequestClose }) => {\n const { icon, name } = language;\n return (\n {\n handleRequestClose();\n switchLanguage(language);\n }}\n >\n
\n \n

{name}

\n
\n \n );\n};\n\nexport default LanguageItem;\n","const languageData = [\n {\n languageId: 'english',\n locale: 'en',\n name: 'English',\n icon: 'us',\n },\n {\n languageId: 'chinese',\n locale: 'zh',\n name: 'Chinese',\n icon: 'cn',\n },\n {\n languageId: 'spanish',\n locale: 'es',\n name: 'Spanish',\n icon: 'es',\n },\n {\n languageId: 'french',\n locale: 'fr',\n name: 'French',\n icon: 'fr',\n },\n {\n languageId: 'italian',\n locale: 'it',\n name: 'Italian',\n icon: 'it',\n },\n {\n languageId: 'saudi-arabia',\n locale: 'ar',\n name: 'Arabic',\n icon: 'sa',\n },\n\n];\nexport default languageData;\n","import React from 'react';\n\nimport CustomScrollbars from 'util/CustomScrollbars';\nimport LanguageItem from './LanguageItem';\nimport languageData from './data';\n\nconst LanguageSwitcher = ({ switchLanguage, handleRequestClose }) => (\n \n
    \n {languageData.map((language, index) => (\n \n ))}\n
\n
\n);\n\nexport default LanguageSwitcher;\n","import React from 'react';\nimport { useDispatch } from 'react-redux';\nimport { userSignOut } from 'actions/Auth';\nimport IntlMessages from 'util/IntlMessages';\n\nconst UserInfoPopup = () => {\n const dispatch = useDispatch();\n\n return (\n
\n
\n \n
\n

Chris Harris

\n Administrator\n
\n
\n \n \n \n \n \n \n \n \n {\n dispatch(userSignOut());\n }}\n >\n \n \n \n
\n );\n};\n\nexport default UserInfoPopup;\n","import React, { Component } from 'react';\nimport { NavLink, withRouter } from 'react-router-dom';\n\nimport IntlMessages from 'util/IntlMessages';\n\n\nclass Menu extends Component {\n componentDidMount() {\n const { history } = this.props;\n\n const pathname = `#${history.location.pathname}`;// get current path\n const mainMenu = document.getElementsByClassName('nav-item');\n for (let i = 0; i < mainMenu.length; i++) {\n mainMenu[i].onclick = function () {\n for (let j = 0; j < mainMenu.length; j++) {\n if (mainMenu[j].classList.contains('active')) {\n mainMenu[j].classList.remove('active');\n }\n }\n this.classList.toggle('active');\n };\n }\n const subMenuLi = document.getElementsByClassName('nav-arrow');\n for (let i = 0; i < subMenuLi.length; i++) {\n subMenuLi[i].onclick = function () {\n for (let j = 0; j < subMenuLi.length; j++) {\n if (subMenuLi[j].classList.contains('active')) {\n subMenuLi[j].classList.remove('active');\n }\n }\n this.classList.toggle('active');\n };\n }\n const activeLi = document.querySelector(`a[href=\"${pathname}\"]`);// select current a element\n try {\n const activeNav = this.closest(activeLi, 'ul'); // select closest ul\n if (activeNav.classList.contains('sub-menu')) {\n this.closest(activeNav, 'li').classList.add('active');\n } else {\n this.closest(activeLi, 'li').classList.add('active');\n }\n const parentNav = this.closest(activeNav, '.nav-item');\n if (parentNav) {\n parentNav.classList.add('active');\n }\n } catch (e) {\n\n }\n }\n\n closest(el, selector) {\n try {\n let matchesFn;\n // find vendor prefix\n ['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'].some((fn) => {\n if (typeof document.body[fn] === 'function') {\n matchesFn = fn;\n return true;\n }\n return false;\n });\n\n let parent;\n\n // traverse parents\n while (el) {\n parent = el.parentElement;\n if (parent && parent[matchesFn](selector)) {\n return parent;\n }\n el = parent;\n }\n } catch (e) {\n\n }\n\n return null;\n }\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 \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 \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 \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 \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
    • \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 \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\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 \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 \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
      • \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 \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 \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 \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 \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
      • \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 \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
    • \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
    • \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 \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 \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
      • \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 \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
      • \n \n \n \n \n \n
      • \n
      \n
    • \n\n
    \n
  • \n\n
\n
\n );\n }\n}\n\nexport default withRouter(Menu);\n","import React from 'react';\nimport Avatar from '@material-ui/core/Avatar';\nimport Button from '@material-ui/core/Button';\n\n\nconst NotificationItem = ({ notification }) => {\n const {\n icon, image, title, time,\n } = notification;\n return (\n
  • \n \n
    \n

    {title}

    \n \n {' '}\n {time}\n
    \n
  • \n );\n};\n\nexport default NotificationItem;\n","export const notifications = [\n\n {\n image: 'https://via.placeholder.com/150x150',\n title: 'Stella Johnson has recently posted an album',\n time: '4:10 PM',\n icon: 'zmdi-thumb-up text-blue',\n }, {\n image: 'https://via.placeholder.com/150x150',\n title: 'Alex Brown has shared Martin Guptil\\'s post',\n time: '5:18 PM',\n icon: 'zmdi-comment-text text-grey',\n }, {\n image: 'https://via.placeholder.com/150x150',\n title: 'Domnic Brown has sent you a group invitation for Global Health',\n time: '5:36 PM',\n icon: 'zmdi-card-giftcard text-info',\n }, {\n image: 'https://via.placeholder.com/150x150',\n title: 'John Smith has birthday today',\n time: '5:54 PM',\n icon: 'zmdi-cake text-warning',\n }, {\n image: 'https://via.placeholder.com/150x150',\n title: 'Chris has updated his profile picture',\n time: '5:25 PM',\n icon: 'zmdi-account-box-o text-grey',\n },\n];\n","import React from 'react';\n\nimport CustomScrollbars from 'util/CustomScrollbars';\nimport NotificationItem from './NotificationItem';\nimport { notifications } from './data';\n\nconst AppNotification = () => (\n \n
      \n {notifications.map((notification, index) => )}\n
    \n
    \n);\n\nexport default AppNotification;\n","import React from 'react';\nimport Avatar from '@material-ui/core/Avatar';\nimport Button from '@material-ui/core/Button';\n\nconst NotificationItem = ({ notification }) => {\n const {\n image, badge, name, time, message,\n } = notification;\n return (\n
  • \n
    \n \n {badge}\n
    \n
    \n
    \n
    {name}
    \n {time}\n
    \n

    {message}

    \n \n \n
    \n
  • \n );\n};\n\nexport default NotificationItem;\n","export const notifications = [\n {\n id: 1,\n image: 'https://via.placeholder.com/150x150',\n name: 'Domnic Brown',\n time: '6:19 PM',\n message: 'There are many variations of passages of...',\n badge: 5,\n },\n {\n id: 2,\n image: 'https://via.placeholder.com/150x150',\n name: 'John Smith',\n time: '4:18 PM',\n message: 'Lorem Ipsum is simply dummy text of the...',\n },\n {\n id: 3,\n image: 'https://via.placeholder.com/150x150',\n name: 'John Smith',\n time: '7:10 PM',\n message: 'The point of using Lorem Ipsum is that it has a...',\n badge: 8,\n },\n {\n id: 4,\n image: 'https://via.placeholder.com/150x150',\n name: 'alex dolgove',\n time: '5:10 PM',\n message: 'It is a long established fact that a reader will...',\n },\n {\n id: 5,\n image: 'https://via.placeholder.com/150x150',\n name: 'Domnic Harris',\n time: '7:35 PM',\n message: 'All the Lorem Ipsum generators on the...',\n badge: 3,\n },\n];\n","import React from 'react';\n\nimport CustomScrollbars from 'util/CustomScrollbars';\nimport NotificationItem from './NotificationItem';\nimport { notifications } from './data';\n\nconst MailNotification = () => (\n \n
      \n {notifications.map((notification, index) => (\n \n ))}\n
    \n
    \n);\n\nexport default MailNotification;\n","import React, { useState } from 'react';\nimport { Link, withRouter } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\nimport AppBar from '@material-ui/core/AppBar';\nimport Avatar from '@material-ui/core/Avatar';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport { Dropdown, DropdownMenu, DropdownToggle } from 'reactstrap';\nimport SearchBox from 'components/SearchBox';\nimport CardHeader from 'components/dashboard/Common/CardHeader/index';\nimport IntlMessages from 'util/IntlMessages';\nimport LanguageSwitcher from 'components/LanguageSwitcher/index';\nimport UserInfoPopup from 'components/UserInfo/UserInfoPopup';\nimport { switchLanguage, toggleCollapsedNav } from 'actions/App';\nimport Menu from './TopNav/Menu';\nimport AppNotification from '../../../../components/AppNotification';\nimport MailNotification from '../../../../components/MailNotification';\n\n\nconst InsideNavHeader = (props) => {\n const { locale } = useSelector(({ app }) => app);\n const dispatch = useDispatch();\n const [searchBox, setSearchBox] = useState(undefined);\n const [searchText, setSearchText] = useState('');\n const [mailNotification, setMailNotification] = useState(false);\n const [userInfo, setUserInfo] = useState(false);\n const [langSwitcher, setLangSwitcher] = useState(false);\n const [appNotification, setAppNotification] = useState(false);\n const [apps, setApps] = useState(false);\n\n\n const onAppNotificationSelect = () => {\n setAppNotification(!appNotification);\n };\n const onMailNotificationSelect = () => {\n setMailNotification(!mailNotification);\n };\n const onLangSwitcherSelect = (event) => {\n setLangSwitcher(!langSwitcher);\n };\n const onSearchBoxSelect = () => {\n setSearchBox(!setSearchBox);\n };\n const onAppsSelect = () => {\n setApps(!apps);\n };\n const onUserInfoSelect = () => {\n setUserInfo(!userInfo);\n };\n const handleRequestClose = () => {\n setLangSwitcher(false);\n setUserInfo(false);\n setMailNotification(false);\n setAppNotification(false);\n setAppNotification(false);\n setSearchBox(false);\n setApps(false);\n };\n const onToggleCollapsedNav = (e) => {\n const val = !props.navCollapsed;\n dispatch(toggleCollapsedNav(val));\n };\n\n const Apps = () => (\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 Add New\n \n
    • \n
    \n );\n\n const updateSearchText = (evt) => {\n setSearchText(evt.target.value);\n };\n\n const onSwitchLanguage = (lang) => {\n dispatch(switchLanguage(lang));\n };\n\n return (\n \n \n
    \n \n \n \n
    \n\n \n \"Jambo\"\n \n\n\n \n \n\n
      \n
    • \n \n\n \n \n \n Apps\n \n \n\n \n {Apps()}\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\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
    \n \n \n );\n};\n\nexport default withRouter(InsideNavHeader);\n","import React from 'react';\nimport { withRouter } from 'react-router-dom';\nimport ColorOption from 'containers/Customizer/ColorOption';\nimport { isIOS, isMobile } from 'react-device-detect';\nimport InsideNavHeader from './Header/InsideNavHeader';\n\nconst Horizontal = (props) => {\n if (isIOS && isMobile) {\n document.body.classList.add('ios-mobile-view-height');\n } else if (document.body.classList.contains('ios-mobile-view-height')) {\n document.body.classList.remove('ios-mobile-view-height');\n }\n\n return (\n
    \n
    \n
    \n \n
    \n\n
    \n
    \n {props.children}\n
    \n
    \n
    \n \n
    \n );\n};\n\nexport default withRouter(Horizontal);\n","import React, { useState } from 'react';\nimport { Link, withRouter } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\nimport AppBar from '@material-ui/core/AppBar';\nimport Avatar from '@material-ui/core/Avatar';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport { Dropdown, DropdownMenu, DropdownToggle } from 'reactstrap';\nimport SearchBox from 'components/SearchBox';\nimport CardHeader from 'components/dashboard/Common/CardHeader/index';\nimport { switchLanguage, toggleCollapsedNav } from 'actions/App';\nimport IntlMessages from 'util/IntlMessages';\nimport LanguageSwitcher from 'components/LanguageSwitcher/index';\nimport UserInfoPopup from 'components/UserInfo/UserInfoPopup';\nimport AppNotification from '../../../../components/AppNotification';\nimport MailNotification from '../../../../components/MailNotification';\n\nconst Header = (props) => {\n const { locale } = useSelector(({ app }) => app);\n const dispatch = useDispatch();\n const [searchBox, setSearchBox] = useState(undefined);\n const [searchText, setSearchText] = useState('');\n const [mailNotification, setMailNotification] = useState(false);\n const [userInfo, setUserInfo] = useState(false);\n const [langSwitcher, setLangSwitcher] = useState(false);\n const [appNotification, setAppNotification] = useState(false);\n const [apps, setApps] = useState(false);\n\n const onAppNotificationSelect = () => {\n setAppNotification(!appNotification);\n };\n const onMailNotificationSelect = () => {\n setMailNotification(!mailNotification);\n };\n const onLangSwitcherSelect = (event) => {\n setLangSwitcher(!langSwitcher);\n };\n\n const onSearchBoxSelect = () => {\n setSearchBox(!setSearchBox);\n };\n const onAppsSelect = () => {\n setApps(!apps);\n };\n const onUserInfoSelect = () => {\n setUserInfo(!userInfo);\n };\n const handleRequestClose = () => {\n setLangSwitcher(false);\n setUserInfo(false);\n setMailNotification(false);\n setAppNotification(false);\n setAppNotification(false);\n setSearchBox(false);\n setApps(false);\n };\n const onToggleCollapsedNav = (e) => {\n const val = !props.navCollapsed;\n dispatch(toggleCollapsedNav(val));\n };\n\n const Apps = () => (\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 Add New\n \n
    • \n
    \n );\n\n const updateSearchText = (evt) => {\n setSearchText(evt.target.value);\n };\n\n const onSwitchLanguage = (lang) => {\n dispatch(switchLanguage(lang));\n };\n\n return (\n \n \n
    \n \n \n \n
    \n\n\n \n \"Jambo\"\n \n\n\n \n\n
      \n
    • \n \n\n \n \n \n Apps\n \n \n\n \n {Apps()}\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\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
    \n \n \n );\n};\n\n\nexport default withRouter(Header);\n","import React from 'react';\nimport { withRouter } from 'react-router-dom';\nimport Menu from './Menu';\n\nconst TopNav = (props) => (\n
    \n
    \n \n
    \n
    \n);\n\nexport default withRouter(TopNav);\n\nTopNav.defaultProps = {\n styleName: '',\n};\n","import React from 'react';\nimport ColorOption from 'containers/Customizer/ColorOption';\nimport { isIOS, isMobile } from 'react-device-detect';\nimport BelowNavHeader from './Header/BelowNavHeader';\nimport TopNav from './Header/TopNav';\n\nconst AboveHeaderNav = (props) => {\n if (isIOS && isMobile) {\n document.body.classList.add('ios-mobile-view-height');\n } else if (document.body.classList.contains('ios-mobile-view-height')) {\n document.body.classList.remove('ios-mobile-view-height');\n }\n\n return (\n
    \n
    \n
    \n \n \n
    \n\n
    \n
    \n {props.children}\n
    \n
    \n
    \n \n
    \n );\n};\n\n\nexport default AboveHeaderNav;\n","import React, { useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\nimport AppBar from '@material-ui/core/AppBar';\nimport Avatar from '@material-ui/core/Avatar';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport { Dropdown, DropdownMenu, DropdownToggle } from 'reactstrap';\nimport SearchBox from 'components/SearchBox';\nimport CardHeader from 'components/dashboard/Common/CardHeader/index';\nimport IntlMessages from 'util/IntlMessages';\nimport LanguageSwitcher from 'components/LanguageSwitcher/index';\nimport UserInfoPopup from 'components/UserInfo/UserInfoPopup';\nimport AppNotification from '../../../../components/AppNotification';\nimport MailNotification from '../../../../components/MailNotification';\nimport { switchLanguage, toggleCollapsedNav } from '../../../../actions/App';\n\nconst Header = (props) => {\n const dispatch = useDispatch();\n const [searchText, setSearchText] = useState('');\n const [searchBox, setSearchBox] = useState(false);\n const [mailNotification, setMailNotification] = useState('');\n const [userInfo, setUserInfo] = useState(false);\n const [langSwitcher, setLangSwitcher] = useState(false);\n const [appNotification, setAppNotification] = useState(false);\n const [apps, setApps] = useState(false);\n\n\n const locale = useSelector(({ app }) => app.locale);\n\n const onAppNotificationSelect = () => {\n setAppNotification(!appNotification);\n };\n\n const onMailNotificationSelect = () => {\n setMailNotification(!mailNotification);\n };\n\n const onLangSwitcherSelect = () => {\n setLangSwitcher(!langSwitcher);\n };\n\n const onSearchBoxSelect = () => {\n setSearchBox(!searchBox);\n };\n\n const onAppsSelect = () => {\n setApps(!apps);\n };\n\n const onUserInfoSelect = () => {\n setUserInfo(!userInfo);\n };\n\n const handleRequestClose = () => {\n setLangSwitcher(false);\n setUserInfo(false);\n setMailNotification(false);\n setAppNotification(false);\n setSearchBox(false);\n setApps(false);\n };\n\n const onToggleCollapsedNav = (e) => {\n const val = !props.navCollapsed;\n dispatch(toggleCollapsedNav(val));\n };\n\n const onSwitchLanguage = (lang) => {\n dispatch(switchLanguage(lang));\n };\n\n const Apps = () => (\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 Add New\n \n
    • \n
    \n );\n\n const updateSearchText = (evt) => {\n setSearchText(evt.target.value);\n };\n\n return (\n \n \n
    \n \n \n \n
    \n\n\n \n \"Jambo\"\n \n\n\n \n\n
      \n
    • \n \n\n \n \n \n Apps\n \n \n\n \n {Apps()}\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\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
    \n \n \n );\n};\n\nexport default Header;\n","import Vertical from './Vertical/index';\nimport InsideHeaderNav from './Horizontal/InsideHeaderNav';\nimport BelowHeaderNav from './Horizontal/BelowHeaderNav';\nimport AboveHeaderNav from './Horizontal/AboveHeaderNav';\n\nconst AppLayouts = {\n Vertical,\n InsideHeaderNav,\n BelowHeaderNav,\n AboveHeaderNav,\n};\nexport default AppLayouts;\n","import React from 'react';\nimport ColorOption from 'containers/Customizer/ColorOption';\nimport { isIOS, isMobile } from 'react-device-detect';\nimport TopNav from './Header/TopNav';\nimport AboveNavHeader from './Header/AboveNavHeader';\n\nconst AboveHeaderNav = (props) => {\n if (isIOS && isMobile) {\n document.body.classList.add('ios-mobile-view-height');\n } else if (document.body.classList.contains('ios-mobile-view-height')) {\n document.body.classList.remove('ios-mobile-view-height');\n }\n\n return (\n
    \n
    \n
    \n \n \n
    \n\n
    \n
    \n {props.children}\n
    \n
    \n
    \n \n
    \n );\n};\n\nexport default AboveHeaderNav;\n","import { Card } from 'reactstrap';\nimport Tabs from '@material-ui/core/Tabs';\nimport Tab from '@material-ui/core/Tab';\nimport Button from '@material-ui/core/Button';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Error404 from '../../../app/routes/404';\n\n\nconst CardWithTabs = ({\n tabs, tabId, actions, onTabClick,\n}) => {\n const activeTab = tabs[tabId];\n const tabIdList = Object.keys(tabs);\n\n return (\n \n
    \n
    \n \n {\n tabIdList.map((id) => (\n \n ))\n }\n \n\n {\n actions.map((e, i) => (\n \n {e.title}\n \n ))\n }\n\n
    \n
    \n
    \n {\n activeTab\n ? activeTab.component\n : \n }\n
    \n
    \n
    \n
    \n );\n};\n\nCardWithTabs.defaultProps = {\n actions: [],\n};\n\nCardWithTabs.propTypes = {\n onTabClick: PropTypes.func.isRequired,\n tabId: PropTypes.string.isRequired,\n tabs: PropTypes.objectOf(PropTypes.shape({\n component: PropTypes.element.isRequired,\n title: PropTypes.string.isRequired,\n })).isRequired,\n actions: PropTypes.arrayOf(PropTypes.shape({\n disabled: PropTypes.bool,\n title: PropTypes.string.isRequired,\n action: PropTypes.func.isRequired,\n color: PropTypes.string,\n })),\n};\n\n\nexport default CardWithTabs;\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport { genRandomKey } from 'util/appUtils';\n\nconst capitalize = (string) => string.charAt(0).toUpperCase() + string.slice(1);\nconst getRelativePath = (path, relative) => `${path.split(relative).shift()}${relative}`;\n\nconst getDisplayString = (subPath) => {\n const arr = subPath.replace('-', ' ').split('_');\n if (arr.length > 1) {\n return arr.map(capitalize).join(' ');\n }\n return capitalize(arr[0]);\n};\n\nconst Delimiter = () => (\n
    /
    \n);\n\nconst Breadcrumbs = ({ url, show }) => {\n const urlAsArray = url.split('/').slice(5);\n if (urlAsArray.length < 2 || !show) {\n return null;\n }\n\n return (\n
    \n {\n urlAsArray.map((subPath, index) => {\n if (urlAsArray.length - 1 === index) {\n return (\n
    \n {getDisplayString(subPath)}\n
    \n );\n }\n return (\n \n \n {getDisplayString(subPath)}\n \n \n \n );\n })\n }\n
    \n );\n};\n\nconst ContainerHeader = ({ title, match, action, showBreadcrumbs = true }) => (\n
    \n
    \n

    {title}

    \n \n
    \n { action }\n
    \n);\n\nexport default ContainerHeader;\n","import Button from '@material-ui/core/Button';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Spinner from '../../placeholders/Spinner';\n\nconst SaveActionBtnGrp = ({\n isFetching, buttons, disabled,\n}) => (\n
    \n {\n buttons && buttons.map((button) => (\n \n {button.text}\n \n ))\n }\n {\n isFetching && (\n
    \n \n
    \n )\n }\n
    \n);\n\nSaveActionBtnGrp.defaultProps = {\n isFetching: false,\n};\n\nSaveActionBtnGrp.propTypes = {\n isFetching: PropTypes.bool,\n buttons: PropTypes.arrayOf(PropTypes.shape({\n text: PropTypes.any,\n action: PropTypes.func,\n value: PropTypes.any,\n color: PropTypes.any,\n })).isRequired,\n};\n\nexport default SaveActionBtnGrp;\n","import React from 'react';\nimport CircularProgress from 'components/kea/placeholders/CircularProgress';\n\n\nconst PlaceholderSpinner = ({ height }) => (\n \n \n
    \n);\n\nexport default PlaceholderSpinner;\n","import React from 'react';\nimport { Switch, Grid, FormGroup } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst SettingsToggleSwitcher = ({ title, description, value, onChange }) => {\n const toggleHandler = (event) => {\n onChange(event.target.checked);\n };\n\n return (\n
    \n \n \n \n
    {title}
    \n
    {description && description}
    \n
    \n \n \n \n \n
    \n \n
    \n );\n};\n\nSettingsToggleSwitcher.defaultProps = {\n description: null,\n};\n\nSettingsToggleSwitcher.propTypes = {\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n value: PropTypes.bool.isRequired,\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onChange: PropTypes.func.isRequired,\n};\n\nexport default SettingsToggleSwitcher;\n","import React from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport pt from 'prop-types';\n\nconst SettingsSelectInput = ({\n title, description, onChange, value, items,\n}) => {\n const changeHandler = (event) => onChange(event.target.value);\n\n return (\n
    \n \n \n \n
    {title}
    \n
    {description && description}
    \n
    \n\n \n \n {\n items.map((e) => (\n \n {e.text}\n \n ))\n }\n \n \n
    \n
    \n );\n};\n\nSettingsSelectInput.defaultProps = {\n description: null,\n};\n\nSettingsSelectInput.propTypes = {\n title: pt.oneOfType([pt.string, pt.number]).isRequired,\n value: pt.oneOfType([pt.string, pt.number, pt.bool]).isRequired,\n description: pt.oneOfType([pt.string, pt.number]),\n onChange: pt.func.isRequired,\n items: pt.arrayOf(pt.shape({\n text: pt.string,\n value: pt.any.isRequired,\n })).isRequired,\n};\n\nexport default SettingsSelectInput;\n","import withStyles from '@material-ui/core/styles/withStyles';\nimport { Slider } from '@material-ui/core';\n\nconst boxShadow = '0 3px 1px rgba(0,0,0,0.1),0 4px 8px rgba(0,0,0,0.13),0 0 0 1px rgba(0,0,0,0.02)';\n\nexport default withStyles({\n root: {\n height: 2,\n padding: '15px 0',\n },\n thumb: {\n height: 28,\n width: 28,\n backgroundColor: '#fff',\n boxShadow,\n marginTop: -14,\n marginLeft: -14,\n '&:focus, &:hover': {\n boxShadow,\n '@media (hover: none)': {\n boxShadow,\n },\n },\n },\n valueLabel: {\n left: 'calc(-50% + 12px)',\n top: -22,\n '& *': {\n background: 'transparent',\n color: '#000',\n },\n },\n track: {\n height: 5,\n },\n rail: {\n height: 4,\n opacity: 0.5,\n },\n mark: {\n height: 0,\n width: 0,\n },\n markLabel: {\n top: 7,\n },\n markLabelActive: {\n top: 7,\n },\n markActive: {\n height: 0,\n width: 0,\n },\n})(Slider);\n","import React from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport PropTypes from 'prop-types';\nimport Slider from '../../Slider/Slider';\n\nconst SettingRangeSlider = ({\n min,\n max,\n value,\n step,\n title,\n description,\n onChange,\n}) => (\n
    \n \n \n \n
    {title}
    \n
    {description && description}
    \n
    \n\n \n \n
    \n {value}\n
    \n
    \n \n onChange(newValue)}\n min={min}\n max={max}\n step={step}\n />\n \n
    \n \n
    \n);\n\nSettingRangeSlider.defaultProps = {\n description: '',\n};\n\nSettingRangeSlider.propTypes = {\n min: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired,\n value: PropTypes.number.isRequired,\n step: PropTypes.number.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default SettingRangeSlider;\n","import React from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport TextField from '@material-ui/core/TextField';\n\nconst SettingTextInput = ({\n title, description, onChange, value,\n}) => (\n
    \n \n \n \n
    {title}
    \n
    {description && description}
    \n
    \n\n \n onChange(event.target.value)}\n />\n \n
    \n
    \n);\n\nexport default SettingTextInput;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport * as a from 'actions';\nimport SettingsToggleSwitcher from 'components/kea/settings/SettingsToggleSwitcher';\nimport SettingsSelectInput from 'components/kea/settings/SettingsSelectInput';\nimport SettingRangeSlider from 'components/kea/settings/SettingRangeSlider';\nimport SettingTextInput from 'components/kea/settings/SettingTextInput';\n\n\nconst Autocomplete = () => {\n const dispatch = useDispatch();\n const { settings } = useSelector((store) => store);\n const { search: { searchBox } } = settings;\n\n const sliderHandlerMinSymbols = (value) => dispatch(a.changeSearchBoxSetting('minSymbols', value));\n const changeHandlerSingleResult = (value) => dispatch(a.changeSearchBoxSetting('navigateToProductIfSingleResult', value));\n const changeHandlerSingleResultId = (value) => dispatch(a.changeSearchBoxSetting('navigateToProductIfSingleResultOnlyWhenIdMatches', value));\n const sliderHandlerMaxCategories = (value) => dispatch(a.changeSearchBoxSetting('maxCategories', value));\n const sliderHandlerMaxProducts = (value) => dispatch(a.changeSearchBoxSetting('maxProducts', value));\n const sliderHandlerMaxContent = (value) => dispatch(a.changeSearchBoxSetting('maxContent', value));\n const changeHandlerAlign = (value) => dispatch(a.changeSearchBoxSetting('align', value));\n const changeHandlerCategoryName = (value) => dispatch(a.changeSearchBoxSetting('categoryFacetName', value));\n\n return (\n
    \n
    Behavior
    \n \n\n \n\n \n\n
    Number of items to show
    \n
    \n Kea Labs can search over other types of data (i.e. articles, feedbacks...)\n Please contact our team if you need to search over\n something else than products and categories.\n
    \n \n\n \n\n \n
    Other settings
    \n
    \n {`\n Based on the style of the store,\n it's sometimes needed to change an alignment of search results. \n For example, if it's located on the right side of the page,\n you may wish to align search results on the right side as well.\n `}\n
    \n\n \n\n \n\n {/*
    */}\n {/* { JSON.stringify(searchBox, null, 4) } */}\n {/*
    */}\n
    \n );\n};\n\nexport default Autocomplete;\n","import React from 'react';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport Radio from '@material-ui/core/Radio';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport pt from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport { Grid } from '@material-ui/core';\n\nconst useStyles = makeStyles({\n checkboxLabel: {\n fontSize: 13,\n },\n});\n\nconst SettingsSelectRadio = ({\n onChange, value, items, groupTitle,\n}) => {\n const changeHandler = (event) => onChange(event.target.value);\n\n const classes = useStyles();\n\n return (\n
    \n \n \n \n
    {groupTitle}
    \n
    \n
    \n \n \n \n \n\n { items.map((item) => (\n }\n label={item.text}\n />\n )) }\n \n \n \n
    \n );\n};\n\nSettingsSelectRadio.propTypes = {\n value: pt.oneOfType([pt.string, pt.number, pt.bool]).isRequired,\n onChange: pt.func.isRequired,\n groupTitle: pt.string.isRequired,\n items: pt.arrayOf(pt.shape({\n text: pt.string,\n value: pt.any.isRequired,\n })).isRequired,\n};\n\nexport default SettingsSelectRadio;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport SettingsToggleSwitcher from 'components/kea/settings/SettingsToggleSwitcher';\nimport SettingsSelectInput from 'components/kea/settings/SettingsSelectInput';\nimport SettingsSelectRadio from 'components/kea/settings/SettingsSelectRadio';\nimport * as a from 'actions';\n\nconst General = () => {\n const dispatch = useDispatch();\n const { settings } = useSelector((store) => store);\n const { search: { general }, searchVisible } = settings;\n\n const handleClickEnableService = (value) => dispatch(a.updateSearchVisible(value));\n const handleClickFuzzySearch = (value) => dispatch(a.changeSearchGeneralSetting('searchFuzzy', value));\n const handleClickSearchInDescription = (value) => dispatch(a.changeSearchGeneralSetting('searchInDescription', value));\n const handleClickFuzzyInDescription = (value) => dispatch(a.changeSearchGeneralSetting('searchFuzzyInDescription', value));\n const handleClickSearchOperator = (value) => dispatch(a.changeSearchGeneralSetting('searchOperator', value));\n const handleClickAvailableProducts = (value) => dispatch(a.changeSearchGeneralSetting('availability', value));\n\n return (\n
    \n
    Kea Labs Search integration
    \n \n\n
    Fuzzy search
    \n \n\n \n\n \n\n
    Behaviour
    \n \n\n \n\n {/*
    */}\n {/* { JSON.stringify({ searchVisible, general }, null, 4) } */}\n {/*
    */}\n
    \n );\n};\n\nexport default General;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport SettingsToggleSwitcher from 'components/kea/settings/SettingsToggleSwitcher';\nimport * as a from 'actions';\nimport SettingRangeSlider from 'components/kea/settings/SettingRangeSlider';\n\nconst ResultPage = () => {\n const dispatch = useDispatch();\n const { settings } = useSelector((store) => store);\n const { search: { searchResultPage } } = settings;\n\n const changeHandlerShowSearchBox = (value) => dispatch(a.changeSearchResultSetting('showSearchBox', value));\n const changeHandlerItemPerPage = (value) => dispatch(a.changeSearchResultSetting('limitSelected', value));\n const changeHandlerButtonsCount = (value) => dispatch(a.changeSearchResultSetting('paginationButtonsCount', value));\n\n return (\n
    \n
    Behavior
    \n \n\n
    Pagination
    \n

    Note: you can configure number of products per row on the \"Theme and colors\" tab.

    \n \n\n \n\n {/*
    */}\n {/* { JSON.stringify(searchResultPage, null, 4) } */}\n {/*
    */}\n
    \n );\n};\n\nexport default ResultPage;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport * as a from 'actions';\nimport SettingsToggleSwitcher from 'components/kea/settings/SettingsToggleSwitcher';\nimport SettingRangeSlider from 'components/kea/settings/SettingRangeSlider';\n\n\nconst Filters = () => {\n const dispatch = useDispatch();\n const { settings } = useSelector((store) => store);\n const { search: { facets } } = settings;\n\n const changeHandlerKeepOpened = (value) => dispatch(a.changeSearchFacetsSetting('collapseKeepOpened', value));\n const changeHandlerLimitFacets = (value) => dispatch(a.changeSearchFacetsSetting('limitFacets', value));\n const changeHandlerMaxColors = (value) => dispatch(a.changeSearchFacetsSetting('maxColors', value));\n const changeHandlerCollapseDef = (value) => dispatch(a.changeSearchFacetsSetting('collapseDefault', value));\n\n return (\n
    \n
    Filters
    \n \n\n \n\n \n\n \n\n {/*
    */}\n {/* { JSON.stringify(facets, null, 4) } */}\n {/*
    */}\n
    \n );\n};\n\nexport default Filters;\n","import React, { useState } from 'react';\nimport { SketchPicker } from 'react-color';\nimport { Fade, Paper, Popper } from '@material-ui/core';\n\nconst ColorPicker = ({\n value,\n onChange,\n}) => {\n const [displayColorPicker, setDisplayColorPicker] = useState(false);\n const [anchorEl, setAnchorEl] = useState(null);\n\n const handleClick = (e) => {\n setAnchorEl(e.currentTarget);\n setDisplayColorPicker(!displayColorPicker);\n };\n const handleClose = () => setDisplayColorPicker(false);\n\n return (\n
    \n
    \n \n
    \n {\n displayColorPicker\n ?
    \n : null\n }\n \n {({ TransitionProps }) => (\n \n \n onChange(e.hex)}\n />\n \n \n )}\n \n
    \n );\n};\n\nexport default ColorPicker;\n","import React from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport ColorPicker from '../../ColorPicker';\n\nconst SettingColorPicker = ({\n title, description, value, onChange,\n}) => (\n
    \n \n \n \n
    {title}
    \n
    {description && description}
    \n
    \n\n \n \n \n
    \n
    \n);\n\nexport default SettingColorPicker;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport * as a from 'actions';\nimport SettingColorPicker from 'components/kea/settings/SettingColorPicker';\n\n\nconst Theme = () => {\n const dispatch = useDispatch();\n const { settings } = useSelector((store) => store);\n const { search: { theme } } = settings;\n\n const changeHandlerTextHeader = (value) => dispatch(a.changeSearchThemeSetting('text_header', value));\n const changeHandlerTextMain = (value) => dispatch(a.changeSearchThemeSetting('text_main', value));\n const changeHandlerMainAccent = (value) => dispatch(a.changeSearchThemeSetting('main_accent', value));\n const changeHandlerSecondAccent = (value) => dispatch(a.changeSearchThemeSetting('second_accent', value));\n const changeHandlerBorder = (value) => dispatch(a.changeSearchThemeSetting('border_color', value));\n const changeHandlerBachground = (value) => dispatch(a.changeSearchThemeSetting('background_color', value));\n\n\n return (\n
    \n
    Colors
    \n \n\n \n\n \n\n \n\n \n\n \n\n {/*
    */}\n {/* {JSON.stringify(theme, null, 4)} */}\n {/*
    */}\n
    \n );\n};\n\nexport default Theme;\n","/* eslint-disable no-use-before-define */\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Route, Switch } from 'react-router-dom';\nimport { Redirect } from 'react-router';\nimport * as a from 'actions';\nimport CardWithTabs from 'components/kea/CardWithTabs';\nimport ContainerHeader from 'components/ContainerHeader';\nimport SaveActionBtnGrp from 'components/kea/settings/SaveActionBtnGrp';\nimport IntlMessages from 'util/IntlMessages';\nimport PlaceholderSpinner from 'components/kea/placeholders/PlaceholderSpinner';\nimport { objectDifference } from 'util/appUtils';\nimport asyncComponent from 'util/asyncComponent';\nimport Autocomplete from './autocomplete';\nimport General from './general';\nimport ResultPage from './result-page';\nimport Filters from './filters';\nimport Theme from './theme';\n\nexport default ({ match }) => (\n \n ()} />\n\n \n import('app/routes/404'))} />\n \n);\n\n\nconst Settings = (props) => {\n const dispatch = useDispatch();\n const { match, history } = props;\n const { params } = match;\n\n const store = useSelector((s) => s);\n const { settings, app } = store;\n const { isFetched, isUpdatingSearch, searchVisible, forDiff, search } = settings;\n const { currentShop } = app;\n\n const [tabId, setTabId] = useState(params.tabId || 'general');\n useEffect(() => setTabId(params.tabId), [params.tabId]);\n\n const onDiscardSetting = () => dispatch(a.resetSearchSettings());\n const onSaveSetting = () => dispatch(a.saveSearchSettings(currentShop));\n\n const changeTab = (event, id) => {\n history.push(id);\n setTabId(id);\n };\n\n const tabs = {\n general: { title: 'General', component: },\n autocomplete: { title: 'Autocomplete', component: },\n 'result-page': { title: 'result', component: },\n filters: { title: 'Filters', component: },\n theme: { title: 'Colors', component: },\n };\n\n const buttons = [\n { text: 'Save', action: onSaveSetting, color: 'primary' },\n { text: 'Discard', action: onDiscardSetting, color: 'secondary' },\n ];\n\n const settingsChanged = Object.keys(objectDifference(forDiff.search, search)).length !== 0;\n const visibleChanged = forDiff.searchVisible !== searchVisible.value;\n const savingIsDisable = !(settingsChanged || visibleChanged);\n\n return (\n
    \n }\n action={}\n />\n {\n isFetched\n ? (\n \n )\n : \n }\n
    \n );\n};\n","import React from 'react';\nimport Popover from '@material-ui/core/Popover';\nimport Button from '@material-ui/core/Button';\nimport DayPicker, { DateUtils } from 'react-day-picker';\nimport 'react-day-picker/lib/style.css';\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\nimport timeframeList from './timeframeList';\n\nfunction isSelectingFirstDay(from, to, day) {\n const isBeforeFirstDay = from && DateUtils.isDayBefore(day, from);\n const isRangeSelected = from && to;\n return !from || isBeforeFirstDay || isRangeSelected;\n}\nconst dateForReset = {\n from: null,\n to: null,\n enteredTo: null,\n text: null,\n id: null,\n};\n\nclass DateRangePicker extends React.Component {\n state = {\n anchorEl: null,\n range: this.getInitialRange(),\n }\n\n getInitialRange() {\n const { timeframe } = this.props;\n if (timeframe) return { ...timeframe, enteredTo: timeframe.to };\n return timeframeList.thisMonth;\n }\n\n handleClose = () => this.setState({ anchorEl: null });\n\n handleClick = (event) => this.setState({ anchorEl: event.currentTarget });\n\n updateRange = (dataToUpdate) => {\n const { range } = this.state;\n const newRange = {\n ...range,\n ...dataToUpdate,\n enteredTo: dataToUpdate.to,\n };\n this.setState({ range: newRange });\n }\n\n handleClickTimeframe = (id) => {\n const range = timeframeList[id];\n this.props.onSubmitRange(range);\n this.handleClose();\n this.updateRange(range);\n }\n\n handleResetClick = () => this.updateRange(dateForReset);\n\n render() {\n const { isFetching, onSubmitRange } = this.props;\n const {\n anchorEl,\n range,\n range: {\n from, to, enteredTo, text,\n },\n } = this.state;\n\n const modifiers = {\n start: from,\n end: enteredTo,\n futureDay: (day) => DateUtils.isFutureDay(day),\n };\n\n const labelText = (from && to)\n ? (moment(from).isSame(to, 'day'))\n ? text || `${moment(from.toLocaleDateString()).format('MMM Do YYYY')}`\n : text || `Range: ${from.toLocaleDateString()} - ${to.toLocaleDateString()}`\n : 'Select date';\n\n\n const handleDayMouseEnter = (day) => {\n if (!isSelectingFirstDay(from, to, day) && !DateUtils.isFutureDay(day)) {\n this.setState({ range: { ...range, enteredTo: day } });\n }\n };\n\n const handleDayClick = (day) => {\n if (from && to && day >= from && day <= to) {\n this.handleResetClick();\n return;\n }\n if (DateUtils.isFutureDay(day)) return;\n\n if (isSelectingFirstDay(from, to, day)) {\n this.updateRange({\n from: day,\n to: null,\n enteredTo: null,\n });\n } else {\n this.handleClose();\n this.updateRange({ to: day, id: null, text: null });\n onSubmitRange({ from, to: day, enteredTo: day });\n }\n };\n\n const initialMonth = DateUtils.addMonths(from || new Date(), -1);\n\n return (\n
    \n \n {isFetching ? '...' : labelText}\n \n\n \n
    \n\n
    \n

    \n {!from && !to && 'Please select the first day.'}\n {from && !to && 'Please select the last day.'}\n {from\n && to\n && `Selected from ${from.toLocaleDateString()} to\n ${to.toLocaleDateString()}`}\n

    \n
    \n {\n Object.keys(timeframeList).map((id) => {\n const item = timeframeList[id];\n return (\n this.handleClickTimeframe(item.id)}\n >\n {item.text}\n \n );\n })\n }\n
    \n \n
    \n
    \n \n
    \n );\n }\n}\nDateRangePicker.defaultProps = {\n // timeframe: timeframeList.thisMonth,\n isFetching: false,\n};\n\nDateRangePicker.propTypes = {\n timeframe: PropTypes.shape({\n from: PropTypes.any,\n to: PropTypes.any,\n }),\n onSubmitRange: PropTypes.func.isRequired,\n isFetching: PropTypes.bool,\n\n};\n\nexport default DateRangePicker;\n","// https://docs.appian.com/suite/help/20.4/ux_charts.html\n// const a1 = \"#015faa\"\n// const a2 = \"#1f87ab\"\n// const a3 = \"#45a98f\"\n// const a4 = \"#82c272\"\n// const temp ={\n// light: '#82c272',\n// normal: '#45a98f',\n// dark: '#1f87ab',\n// darker: '#015faa',\n// }\n// https://www.tutorialrepublic.com/html-reference/html-color-picker.php\n// https://maketintsandshades.com/#82c272,45a98f,1f87ab,015faa\nexport const chartColors = {\n main: {\n lighter: '#B4DAAA',\n light: '#9BCE8E',\n normal: '#82c272',\n dark: '#5B874F',\n darker: '#344D2D',\n },\n different: {\n lighter: '#78B7CC',\n light: '#4B9FBB',\n normal: '#1F88AB',\n dark: '#155F77',\n darker: '#0C3644',\n },\n accent: {\n lighter: '#78B7CC',\n light: '#4B9FBB',\n normal: '#45A98E',\n dark: '#307663',\n darker: '#1B4338',\n },\n howToNameIt: {\n lighter: '#669ECC',\n light: '#337EBB',\n normal: '#015EAA',\n dark: '#004177',\n darker: '#002544',\n },\n gray: {\n lighter: '#F9FAFB',\n light: '#F4F6F8',\n normal: '#DFE3E8',\n dark: '#C4CDD5',\n darker: '#C4CDD5',\n },\n};\n\nfunction buildchartGradients() {\n const result = {};\n result.chartColors = {\n color1: chartColors.main.light,\n color2: chartColors.main.dark,\n };\n result.gradient2 = {\n color1: chartColors.main.light,\n color2: chartColors.main.dark,\n };\n result.gradient3 = {\n color1: chartColors.different.normal,\n color2: chartColors.main.normal,\n };\n return result;\n}\n\nexport const chartGradients = buildchartGradients();\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst CardBox = ({\n children, header, subheader, subsubheader, actionComponent, styleName,\n}) => (\n
    \n
    \n
    \n

    {header}

    \n {subheader &&

    {subheader}

    }\n {subsubheader &&

    {subsubheader}

    }\n
    \n {actionComponent || null}\n
    \n
    {children}
    \n
    \n);\n\nCardBox.defaultProps = {\n actionComponent: null,\n subheader: null,\n subsubheader: null,\n styleName: null,\n\n};\n\nCardBox.propTypes = {\n children: PropTypes.any.isRequired,\n header: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]).isRequired,\n actionComponent: PropTypes.any,\n subheader: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]),\n subsubheader: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]),\n styleName: PropTypes.string,\n};\n\n\nexport default CardBox;\n","import React from 'react';\n\nconst DashboardStub = ({ imgName }) => (\n
    \n \n
    \n);\n\nexport default DashboardStub;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Doughnut } from 'react-chartjs-2';\nimport { chartColors } from 'util/chartUtils';\nimport CardBox from '../../../../components/kea/CardBox';\nimport DashboardStub from '../../../../components/kea/DashboardStub';\n\nconst SearchEfficiency = ({ search }) => {\n const options = {\n textYIndex: 2,\n legend: {\n display: false,\n position: 'bottom',\n },\n };\n\n if (!search || search.error) {\n return (\n \n \n \n );\n }\n const { gray, main, different, accent, howToNameIt } = chartColors;\n const data = {\n labels: [\n 'No actions taken',\n 'Search refined with filters',\n 'Navigated to full search from searchbox',\n 'Navigated to product from full search',\n 'Navigated to product from searchbox',\n ],\n datasets: [{\n data: [\n search.totalBad,\n search.usedFilters,\n search.navigateViewAll,\n search.navigateProductSearch,\n search.navigateProductSuggest,\n ],\n backgroundColor: [\n gray.normal,\n main.normal,\n accent.normal,\n different.normal,\n howToNameIt.normal,\n ],\n hoverBackgroundColor: [\n gray.dark,\n main.dark,\n accent.dark,\n different.dark,\n howToNameIt.dark,\n ],\n }],\n text: `${search.totalGoodRateWithBounds}%`,\n };\n\n return (\n \n
    \n
    \n

    {`There were ${search.total} - search sessions in total:`}

    \n

    {`Number of full search sessions - ${search.totalSearch}`}

    \n

    {`Number of searchbox sessions - ${search.totalSuggest}`}

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

    {`${search.totalGoodRateWithBounds} of search sessions lead visitors to actions`}

    \n

    \n {`After ${search.navigateProductSuggestRate} % of the searchbox queries, visitors immediately found the product, and after`}\n {`${search.navigateViewAllTotalRate} % of the queries they moved to refine search with the full search.`}\n

    \n

    {`After ${search.navigateProductSearchRate}% of the full search sessions, visitors also navigated to product.`}

    \n
    \n
    \n
    \n );\n};\n\nSearchEfficiency.propTypes = {\n search: PropTypes.shape({\n navigateProductSuggestRate: PropTypes.any,\n navigateViewAllTotalRate: PropTypes.any,\n navigateProductSearchRate: PropTypes.any,\n totalSuggest: PropTypes.any,\n totalSearch: PropTypes.any,\n total: PropTypes.any,\n totalGoodRateWithBounds: PropTypes.any,\n totalBad: PropTypes.any,\n usedFilters: PropTypes.any,\n navigateViewAll: PropTypes.any,\n navigateProductSearch: PropTypes.any,\n navigateProductSuggest: PropTypes.any,\n\n error: PropTypes.any,\n }).isRequired,\n};\n\n\nexport default SearchEfficiency;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Card, CardTitle } from 'reactstrap';\n\nconst Widget = ({ children, styleName, title }) => (\n \n {title ? {title} : null}\n {children}\n \n);\n\nexport default Widget;\nWidget.defaultProps = {\n styleName: '',\n};\n\nWidget.propTypes = {\n title: PropTypes.string,\n extra: PropTypes.node,\n cover: PropTypes.node,\n actions: PropTypes.node,\n children: PropTypes.node.isRequired,\n};\n","import React from 'react';\n\nimport Widget from 'components/Widget/index';\n\nconst IconWithTextCard = ({ data }) => {\n const { imageIcon, title, subTitle } = data;\n return (\n \n
    \n
    {imageIcon}
    \n
    \n

    {title}

    \n

    {subTitle}

    \n
    \n
    \n
    \n );\n};\n\n\nexport default IconWithTextCard;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m403.027,434.891l-7.389-36.946c-3.504-17.518-16.351-31.449-33.528-36.357l-76.945-21.984c-3.629-1.037-6.165-4.398-6.165-8.173v-22.191c46.424-19.878 79.39-67.983 79.982-124.205 2.283-5.643 10.385-27.019 13.955-54.313 5.321-40.681-2.12-75.609-21.527-101.283 0.76-4.129 2.597-11.888 6.425-17.923 1.465-2.31 1.556-5.234 0.238-7.631-1.32-2.396-3.838-3.885-6.573-3.885-36.118,0-68.943,7.114-91.594,13.7l.897-.897c2.145-2.145 2.787-5.371 1.626-8.173-1.161-2.803-3.896-4.63-6.929-4.63-40.006,0-81.736,1.886-114.401,24.037-29.365,0.952-61.099,20.176-61.099,47.463 0,62.784 11.416,92.203 24.025,114.066 0.792,55.994 33.697,103.859 79.975,123.674v22.191c0,3.775-2.535,7.136-6.165,8.173l-76.944,21.984c-17.177,4.908-30.024,18.839-33.528,36.357l-7.389,36.946c-1.386,6.931 0.389,14.041 4.871,19.507 4.479,5.467 11.103,8.602 18.172,8.602h296.966c7.068,0 13.692-3.135 18.173-8.601 4.481-5.467 6.256-12.577 4.871-19.508zm-259.655-395.891h0.127c1.558,0 3.077-0.485 4.347-1.388 24.695-17.562 56.887-21.58 89.346-22.412l-10.996,10.996c-2.549,2.549-2.924,6.55-0.894,9.528 2.03,2.978 5.891,4.091 9.196,2.649 0.501-0.219 47.664-20.521 105.146-23.104-2.764,8.038-3.554,14.991-3.601,15.417-0.217,1.986 0.368,3.977 1.625,5.531 29.383,36.321 23.182,87.143 15.453,117.778-1.037-2.186-2.187-4.386-3.431-6.766-1.381-2.642-2.946-5.636-4.628-9.143-1.056-2.2-3.116-3.75-5.523-4.153l-34.8-5.831c-2.094-0.35-4.24,0.203-5.903,1.523-9.081,7.212-20.322,10.965-27.835,12.811l.001-17.909c0-2.977-1.761-5.673-4.487-6.869-2.725-1.195-5.901-0.666-8.093,1.35-15.921,14.656-33.446,23.399-45.53,28.199 0.535-1.263 1.08-2.55 1.624-3.839 2.354-5.579 4.221-10.055 5.549-13.305 3.056-7.482 3.692-9.039 2.291-12.176-0.854-1.912-2.476-3.387-4.46-4.056-15.956-5.376-30.433-2.242-43.206,0.523-12.938,2.802-23.157,5.015-32.656-1.181-3.305-2.156-7.716-1.382-10.089,1.771l-2.065,2.737c-10.515,13.929-18.617,24.676-22.778,39.875-6.309-16.833-12.102-42.924-12.102-86.056 0-18.303 26.003-32.5 48.372-32.5zm-24.372,144.5c0-25.457 7.043-35.795 21.077-54.425 12.69,5.375 25.42,2.619 37.788-0.058 9.36-2.027 18.313-3.965 27.545-2.75-3.286,7.96-8.7,20.717-12.802,30.276-1.111,2.588-0.678,5.581 1.121,7.748s4.659,3.146 7.409,2.529c1.283-0.287 27.808-6.406 54.863-26.398v11.079c0,2.13 0.906,4.16 2.491,5.583 1.586,1.422 3.705,2.103 5.819,1.874 0.977-0.106 23.059-2.637 41.123-15.527l27.83,4.663c1.125,2.244 2.172,4.248 3.134,6.086 5.211,9.968 7.593,14.529 7.602,29.242 0,0.02 0,0.039 0,0.059 0,0.007 0,0.014 0,0.021 0,66.444-50.467,120.5-112.5,120.5s-112.5-54.058-112.5-120.502zm62.956,170.527c10.035-2.867 17.044-12.159 17.044-22.596v-16.899c10.38,2.91 21.272,4.467 32.5,4.467s22.12-1.557 32.5-4.467v16.899c0,10.437 7.009,19.729 17.044,22.596l10.183,2.91c-7.974,25.86-32.18,44.063-59.727,44.063s-51.753-18.203-59.727-44.064l10.183-2.909zm204.6,90.862c-1.621,1.977-4.017,3.111-6.574,3.111h-36.982v-16.5c0-4.142-3.358-7.5-7.5-7.5s-7.5,3.358-7.5,7.5v16.5h-193v-16.5c0-4.142-3.358-7.5-7.5-7.5s-7.5,3.358-7.5,7.5v16.5h-36.983c-2.557,0-4.953-1.134-6.574-3.111-1.621-1.978-2.263-4.549-1.761-7.056l7.389-36.946c2.397-11.985 11.188-21.518 22.94-24.875l52.334-14.952c9.799,32.229 39.895,54.94 74.155,54.94s64.356-22.711 74.154-54.942l52.334,14.952c11.753,3.358 20.543,12.89 22.94,24.875l7.389,36.946c0.502,2.508-0.14,5.08-1.761,7.058z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m175.5,192c-4.142,0-7.5,3.358-7.5,7.5v8c0,4.142 3.358,7.5 7.5,7.5s7.5-3.358 7.5-7.5v-8c0-4.142-3.358-7.5-7.5-7.5z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m287.5,215c4.142,0 7.5-3.358 7.5-7.5v-8c0-4.142-3.358-7.5-7.5-7.5s-7.5,3.358-7.5,7.5v8c0,4.142 3.358,7.5 7.5,7.5z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m267.719,261.481c3.425-2.331 4.312-6.996 1.981-10.42-2.331-3.425-6.996-4.31-10.42-1.981-6.368,4.333-16.753,6.92-27.781,6.92s-21.413-2.587-27.781-6.92c-3.424-2.331-8.089-1.443-10.42,1.981-2.33,3.424-1.443,8.089 1.981,10.42 8.891,6.049 22.093,9.519 36.221,9.519s27.329-3.47 36.219-9.519z\"\n}));\n\nvar SvgKeaUniqVisitors1 = function SvgKeaUniqVisitors1(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 463 463\",\n enableBackground: \"new 0 0 463 463\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgKeaUniqVisitors1, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/kea-uniq-visitors-1.601903c2.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M425.993,205.427h-50.164c-5.756,0-10.422,4.666-10.422,10.422c0,9.979-8.118,18.096-18.096,18.096 c-9.978,0-18.097-8.118-18.097-18.096c0-5.756-4.666-10.422-10.422-10.422h-49.456c-10.47,0-18.987,8.517-18.987,18.986v33.831 c0,10.469,8.518,18.987,18.987,18.987h7.482v70.084c0,10.207,8.305,18.512,18.512,18.513H399.29 c10.208,0,18.513-8.305,18.513-18.513V277.23h8.19c10.47,0,18.987-8.518,18.987-18.987v-33.831 C444.98,213.944,436.463,205.427,425.993,205.427z M424.137,256.386h-16.756c-5.756,0-10.422,4.667-10.422,10.422v78.175h-99.296 v-78.175c0-5.755-4.666-10.422-10.422-10.422h-16.048V226.27h38.594c4.567,16.428,19.661,28.519,37.524,28.519 c17.863,0,32.956-12.09,37.523-28.519h39.302V256.386z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.637,139.424c15.599,0,28.288-12.69,28.288-28.288c0-15.598-12.689-28.288-28.288-28.288 c-15.598,0-28.288,12.69-28.288,28.288C35.349,126.734,48.039,139.424,63.637,139.424z M63.637,103.691 c4.106,0,7.444,3.339,7.444,7.444c0,4.105-3.339,7.444-7.444,7.444c-4.104,0-7.444-3.339-7.444-7.444 C56.192,107.031,59.532,103.692,63.637,103.691z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M131.625,139.424c15.598,0,28.288-12.69,28.288-28.288c0-15.598-12.69-28.288-28.288-28.288 c-15.598,0-28.288,12.69-28.288,28.288C103.337,126.734,116.027,139.424,131.625,139.424z M131.625,103.691 c4.105,0,7.444,3.339,7.444,7.444c0,4.105-3.34,7.444-7.444,7.444c-4.105,0-7.444-3.339-7.444-7.444 C124.181,107.031,127.52,103.691,131.625,103.691z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M459.955,49.107H29.969C13.443,49.107,0,62.55,0,79.074v331.774c0,16.524,13.443,29.968,29.969,29.968h429.986 c16.524,0,29.968-13.444,29.968-29.968V79.074C489.923,62.55,476.479,49.107,459.955,49.107z M29.969,69.951h429.986 c5.03,0,9.124,4.093,9.124,9.123v69.941H20.844V79.074C20.844,74.044,24.938,69.951,29.969,69.951z M459.955,419.973H29.969 c-5.031,0-9.125-4.093-9.125-9.124V169.86l448.235,0v240.989C469.079,415.88,464.985,419.973,459.955,419.973z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M177.081,231.839H54.984c-5.756,0-10.422,4.666-10.422,10.422c0,5.756,4.666,10.422,10.422,10.422h122.097 c5.756,0,10.422-4.666,10.422-10.422C187.503,236.505,182.837,231.839,177.081,231.839z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M177.081,283.953H54.984c-5.756,0-10.422,4.666-10.422,10.422c0,5.755,4.666,10.422,10.422,10.422l122.097-0.001 c5.756,0,10.422-4.666,10.422-10.422C187.503,288.619,182.837,283.953,177.081,283.953z\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar SvgKeaViewedProducts1 = function SvgKeaViewedProducts1(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 489.923 489.923\",\n style: {\n enableBackground: \"new 0 0 489.923 489.923\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgKeaViewedProducts1, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/kea-viewed-products-1.eaa633ed.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M277.665,86.329c-25.554-25.554-59.53-39.627-95.669-39.627c-36.139,0-70.114,14.073-95.668,39.627 c-25.554,25.554-39.627,59.53-39.627,95.668c0,36.139,14.073,70.115,39.627,95.669c25.554,25.554,59.529,39.626,95.668,39.626 c36.139,0,70.115-14.073,95.669-39.627C330.416,224.914,330.417,139.081,277.665,86.329z M67.701,181.998 c0-30.529,11.889-59.231,33.477-80.819c21.587-21.587,50.289-33.477,80.819-33.477c30.53,0,59.232,11.889,80.819,33.477 c18.403,18.403,29.199,41.574,32.402,65.574c-25.861-2.979-40.504-20.845-40.504-50.05c0-5.799-4.701-10.5-10.5-10.5H127.157 c-16.967,0-30.771,13.804-30.771,30.771v80.071c0,16.968,13.804,30.772,30.771,30.772h31.877v46.178 c-21.774-4.418-41.788-15.108-57.857-31.178C79.59,241.23,67.701,212.527,67.701,181.998z M262.815,262.816 c-21.587,21.588-50.29,33.477-80.819,33.477c-0.655,0-1.308-0.013-1.962-0.024v-58.952c0-5.799-4.701-10.5-10.5-10.5h-42.377 c-5.388,0-9.771-4.384-9.771-9.772v-80.071c0-5.388,4.383-9.771,9.771-9.771h107.104c1.779,16.614,7.866,30.723,17.869,41.222 c10.91,11.451,26.005,18.114,43.951,19.497C294.679,215.185,283.594,242.038,262.815,262.816z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M484.714,411.901l-63.471-63.471h1.458c11.218,0,20.344-9.126,20.344-20.344v-87.449h12.146 c11.536,0,20.92-9.385,20.92-20.921v-41.16c0-11.536-9.385-20.92-20.92-20.92h-61.034c-5.799,0-10.5,4.701-10.5,10.5 c0,11.889-8.621,21.796-19.938,23.815c0.177-3.303,0.274-6.621,0.274-9.954c0-48.613-18.931-94.317-53.306-128.692 C276.313,18.932,230.61,0,181.997,0C133.384,0,87.68,18.932,53.306,53.306C18.931,87.681,0,133.384,0,181.998 c0,48.614,18.931,94.317,53.305,128.692c34.375,34.375,80.078,53.306,128.69,53.306c37.646,0,73.542-11.361,103.788-32.447 l32.259,32.259c-1.822,3.813-2.786,8.017-2.786,12.368c0,7.671,2.987,14.882,8.411,20.307l88.232,88.232 c5.424,5.423,12.636,8.41,20.306,8.41c7.67,0,14.882-2.987,20.306-8.411l32.202-32.201c5.424-5.424,8.411-12.636,8.411-20.306 C493.125,424.537,490.138,417.326,484.714,411.901z M403.426,178.636h51.685v41.001h-22.566c-5.799,0-10.5,4.701-10.5,10.5v97.293 h-21.802l-3.762-3.762c-5.424-5.424-12.636-8.412-20.306-8.412c-4.353,0-8.556,0.964-12.37,2.787l-32.258-32.259 c15.149-21.73,25.281-46.374,29.781-72.492C381.809,212.456,398.818,197.927,403.426,178.636z M68.155,295.84 C37.746,265.432,21,225.002,21,181.998c0-43.004,16.746-83.434,47.155-113.842C98.563,37.747,138.993,21,181.997,21 s83.434,16.747,113.842,47.155c30.408,30.408,47.155,70.838,47.155,113.842c0,43.004-16.747,83.434-47.155,113.842 C265.43,326.249,225,342.996,181.996,342.996C138.992,342.996,98.563,326.249,68.155,295.84z M310.688,310.689 c2.692-2.692,5.277-5.461,7.778-8.288l29.335,29.336l-16.064,16.064l-29.335-29.335 C305.227,315.966,307.996,313.38,310.688,310.689z M469.865,437.664l-32.201,32.201c-1.458,1.457-3.396,2.26-5.457,2.26 c-2.062,0-4-0.803-5.457-2.26l-88.232-88.232c-1.458-1.458-2.261-3.396-2.261-5.457c0-2.061,0.803-3.999,2.261-5.457l32.201-32.202 c1.457-1.457,3.396-2.26,5.457-2.26c2.061,0,3.999,0.803,5.457,2.261l88.232,88.233c1.458,1.457,2.261,3.396,2.261,5.457 C472.125,434.269,471.322,436.207,469.865,437.664z\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar SvgKeaSearchSessions1 = function SvgKeaSearchSessions1(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 493.125 493.125\",\n style: {\n enableBackground: \"new 0 0 493.125 493.125\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgKeaSearchSessions1, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/kea-search-sessions-1.659e08ed.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M466.286,411.475H402.78V144.05l24.814-24.559l0.001,38.177c0,5.799,4.701,10.5,10.5,10.5c5.799,0,10.5-4.701,10.5-10.5 l-0.001-64.611c0-5.799-4.701-10.5-10.5-10.5h-64.608c-5.799,0-10.5,4.701-10.5,10.5c0,5.799,4.701,10.5,10.5,10.5h40.356 l-156.589,154.98l-74.255-74.79c-1.971-1.986-4.653-3.103-7.451-3.103c-0.001,0-0.002,0-0.003,0 c-2.799,0.001-5.481,1.119-7.452,3.107L26.539,326.479c-4.083,4.117-4.056,10.766,0.061,14.849c2.048,2.031,4.721,3.045,7.394,3.045 c2.701,0,5.402-1.036,7.455-3.106l12.587-12.692v82.901H21V54.812c0-5.799-4.701-10.5-10.5-10.5c-5.799,0-10.5,4.701-10.5,10.5 v367.163c0,5.799,4.701,10.5,10.5,10.5h455.786c5.799,0,10.5-4.701,10.5-10.5S472.085,411.475,466.286,411.475z M381.78,411.475 H267.689V277.754L381.78,164.835V411.475z M186.046,216.622l60.642,61.078v133.774h-60.642V216.622z M75.036,307.399l90.01-90.758 v194.833h-90.01V307.399z\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar SvgKeaSearchActionRate1 = function SvgKeaSearchActionRate1(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 476.786 476.786\",\n style: {\n enableBackground: \"new 0 0 476.786 476.786\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgKeaSearchActionRate1, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/kea-search-action-rate-1.6cc64f1d.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport IconWithTextCard from 'components/kea/IconWithTextCard';\nimport PropTypes from 'prop-types';\nimport { ReactComponent as UniqueVisitorsIcon } from 'assets/images/dashboard/kea-uniq-visitors-1.svg';\nimport { ReactComponent as ViewedProductsIcon } from 'assets/images/dashboard/kea-viewed-products-1.svg';\nimport { ReactComponent as SearchSessionsIcon } from 'assets/images/dashboard/kea-search-sessions-1.svg';\nimport { ReactComponent as ActionsRateIcon } from 'assets/images/dashboard/kea-search-action-rate-1.svg';\nimport { commaSeparate } from 'util/appUtils';\n\nconst Summary = ({ summary }) => {\n const dataMetrics = [\n {\n title: commaSeparate(summary.totalCarts),\n subTitle: 'Unique visitors',\n imageIcon: ,\n }, {\n title: commaSeparate(summary.totalViews),\n subTitle: 'Viewed products',\n imageIcon: ,\n }, {\n title: commaSeparate(summary.totalSearchSessions),\n subTitle: 'Search sessions',\n imageIcon: ,\n }, {\n title: `${commaSeparate(summary.actionsPercentage)}%`,\n subTitle: 'Actions rate',\n imageIcon: ,\n },\n ];\n\n return dataMetrics.map((e) => (\n
    \n \n
    \n ));\n};\n\nexport default Summary;\n\nSummary.propTypes = {\n summary: PropTypes.shape({\n totalCarts: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n totalViews: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n totalSearchSessions: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n actionsPercentage: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n }).isRequired,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Line } from 'react-chartjs-2';\nimport _ from 'lodash';\nimport CardBox from '../../../../components/kea/CardBox';\nimport DashboardStub from '../../../../components/kea/DashboardStub';\nimport { shopifyColors } from '../../../../util/appUtils';\n\nconst SearchTrends = ({ demand }) => {\n const options = {\n legend: {\n display: true,\n position: 'bottom',\n },\n };\n\n if (!demand || demand.error) {\n return (\n \n \n \n );\n }\n\n const data = {\n labels: demand.xAxis,\n datasets: _.map(demand.curves, (e, i) => ({\n label: e.name,\n data: e.data,\n fill: false,\n borderWidth: 1,\n borderColor: shopifyColors.bundle[i],\n backgroundColor: shopifyColors.bundle[i],\n pointRadius: 2,\n })),\n };\n\n return (\n \n
    \n
    \n \n
    \n
    \n \n );\n};\n\nSearchTrends.propTypes = {\n demand: PropTypes.shape({\n curves: PropTypes.any,\n xAxis: PropTypes.any,\n\n\n error: PropTypes.any,\n }).isRequired,\n};\n\n\nexport default SearchTrends;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Doughnut } from 'react-chartjs-2';\nimport { chartColors } from 'util/chartUtils';\nimport CardBox from '../../../../components/kea/CardBox';\nimport DashboardStub from '../../../../components/kea/DashboardStub';\n\nconst Audience = ({ audience }) => {\n const options = {\n legend: {\n display: false,\n position: 'bottom',\n },\n textYIndex: 2,\n };\n\n\n if (!audience || audience.error) {\n return (\n \n \n \n );\n }\n\n const { main, different, gray } = chartColors;\n const data = {\n labels: [\n 'Low quality traffic (non-interested or occasional visitors, bots, crawlers etc.)',\n 'Did\\'nt use search',\n 'Used search',\n ],\n datasets: [{\n data: [\n audience.bad,\n audience.noSearch,\n audience.search,\n ],\n backgroundColor: [\n gray.normal,\n different.normal,\n main.normal,\n ],\n hoverBackgroundColor: [\n gray.dark,\n different.dark,\n main.dark,\n ],\n }],\n text: `${audience.searchPercentage}%`,\n };\n\n\n return (\n \n\n
    \n
    \n

    {`${audience.searchPercentage}% of interested visitors used search`}

    \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

    Total number of unique visitors

    \n
    \n

    {audience.total}

    \n
    \n

    \n Got interested in the store\n *\n
    \n *\n viewed at least 2 products\n

    \n
    \n

    {audience.interested}

    \n
    \n

    Number of interested visitors who used search

    \n
    \n

    {audience.search}

    \n
    \n
    \n
    \n \n );\n};\n\nAudience.propTypes = {\n audience: PropTypes.shape({\n bad: PropTypes.any,\n noSearch: PropTypes.any,\n search: PropTypes.any,\n searchPercentage: PropTypes.any,\n total: PropTypes.any,\n interested: PropTypes.any,\n\n\n error: PropTypes.any,\n }).isRequired,\n};\n\n\nexport default Audience;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Doughnut } from 'react-chartjs-2';\nimport { chartColors } from 'util/chartUtils';\nimport CardBox from '../../../../components/kea/CardBox';\nimport DashboardStub from '../../../../components/kea/DashboardStub';\n\nconst Carts = ({ withProducts }) => {\n const options = {\n textYIndex: 2,\n legend: {\n display: false,\n position: 'bottom',\n },\n };\n\n if (!withProducts || withProducts.error) {\n return (\n \n \n \n );\n }\n\n const { main, gray } = chartColors;\n const data = {\n labels: ['Other ways of product discovery', 'Discovered from search'],\n datasets: [{\n data: [\n withProducts.cartsNoSearch,\n withProducts.cartsSearch,\n ],\n backgroundColor: [\n gray.normal,\n main.normal,\n ],\n hoverBackgroundColor: [\n gray.dark,\n main.dark,\n ],\n }],\n text: `${withProducts.cartsSearchPercentage}%`,\n };\n\n\n return (\n \n\n
    \n
    \n

    {`${withProducts.cartsSearchPercentage}% of products in carts`}

    \n
    \n have been viewed for the first time after the search.\n
    \n
    \n\n
    \n
    \n \n
    \n\n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n

    Total number of products in all carts

    \n
    \n

    {withProducts.cartsTotal}

    \n
    \n

    Number of products which have been discovered for the first time from the search

    \n
    \n

    {withProducts.cartsSearch}

    \n
    \n
    \n
    \n \n );\n};\n\nCarts.propTypes = {\n withProducts: PropTypes.shape({\n cartsNoSearch: PropTypes.any,\n cartsSearch: PropTypes.any,\n cartsSearchPercentage: PropTypes.any,\n cartsTotal: PropTypes.any,\n\n error: PropTypes.any,\n }).isRequired,\n};\n\n\nexport default Carts;\n","import { ButtonGroup } from 'reactstrap';\nimport Button from '@material-ui/core/Button';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport CircularProgress from 'components/kea/placeholders/CircularProgress';\n\nconst ButtonGrp = ({\n isFetching, buttons, onClick, value,\n}) => (\n \n {\n isFetching\n ? \n : buttons && buttons.map((e) => (\n onClick(e.value)}\n className={`jr-btn setting-btn-grp-button ${e.value === value ? 'active' : null}`}\n >\n {e.text}\n \n ))\n }\n \n);\n\nButtonGrp.defaultProps = {\n isFetching: false,\n};\n\nButtonGrp.propTypes = {\n isFetching: PropTypes.bool,\n buttons: PropTypes.arrayOf(PropTypes.shape({\n text: PropTypes.string,\n value: PropTypes.any.isRequired,\n })).isRequired,\n onClick: PropTypes.func.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]).isRequired,\n};\n\nexport default ButtonGrp;\n","import React, { useState } from 'react';\nimport { Bar } from 'react-chartjs-2';\nimport PropTypes from 'prop-types';\nimport { chartColors } from 'util/chartUtils';\nimport CardBox from '../../../../components/kea/CardBox';\nimport DashboardStub from '../../../../components/kea/DashboardStub';\nimport ButtonGrp from '../../../../components/kea/ButtonGrp';\n\nfunction Profitability({ chart }) {\n const barIsWeekly = (chart.daily && !chart.error) ? (chart.daily.money.curve.length > 25) : false;\n const [weeklyBar, toggleBarType] = useState(barIsWeekly);\n\n const barOptions = {\n legend: {\n position: 'bottom',\n },\n tooltips: {\n mode: 'index',\n intersect: false,\n },\n responsive: true,\n scales: {\n xAxes: [{\n stacked: true,\n }],\n yAxes: [{\n stacked: true,\n }],\n },\n };\n\n function prepareData(raw) {\n const { gray, main } = chartColors;\n const result = {\n labels: [],\n datasets: [\n {\n label: 'Other items',\n backgroundColor: gray.dark,\n data: [],\n }, {\n label: 'Items discovered from the search',\n backgroundColor: main.normal,\n data: [],\n }],\n };\n raw.forEach((e) => {\n result.labels.push(e.date);\n result.datasets[0].data.push(e.noSearch.toFixed(0));\n result.datasets[1].data.push(e.search.toFixed(0));\n });\n\n return result;\n }\n\n if (chart.error || !chart.weekly || !chart.daily) {\n return (\n \n \n \n );\n }\n\n const { money } = weeklyBar ? chart.weekly : chart.daily;\n const data = prepareData(money.curve);\n\n const actionComponent = ;\n\n return (\n \n
    \n
    \n \n
    \n
    \n\n \n );\n}\n\nProfitability.propTypes = {\n chart: PropTypes.shape({\n weekly: PropTypes.shape({\n money: PropTypes.shape({\n curve: PropTypes.arrayOf(PropTypes.shape({\n noRec: PropTypes.any,\n rec: PropTypes.any,\n })),\n }),\n }),\n daily: PropTypes.shape({\n money: PropTypes.shape({\n curve: PropTypes.arrayOf(PropTypes.shape({\n noRec: PropTypes.any,\n rec: PropTypes.any,\n })),\n }),\n }),\n\n error: PropTypes.any,\n }).isRequired,\n};\n\nexport default Profitability;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport ContainerHeader from 'components/ContainerHeader';\nimport PlaceholderSpinner from 'components/kea/placeholders/PlaceholderSpinner';\nimport DateRangePicker from 'components/kea/DateRangePicker';\nimport { changeTimeframe, getSearchDashboard } from 'actions';\nimport IntlMessages from 'util/IntlMessages';\nimport { matchDatesDashboardCase } from 'util/appUtils';\nimport SearchEfficiency from './SearchEfficiency';\nimport Summary from './Summary';\nimport SearchTrends from './SearchTrends';\nimport Audience from './Audience';\nimport Carts from './Carts';\nimport Profitability from './Profitability';\n\nconst Dashboard = ({ match }) => {\n const dispatch = useDispatch();\n const { app, analytics } = useSelector((store) => store);\n const { search, timeframe } = analytics;\n const { currentShop } = app;\n const { dashboard } = search;\n const { isFetching, projection, meta } = dashboard;\n\n useEffect(() => {\n const dataIsUnavailable = !isFetching && currentShop;\n const datesIsMatched = meta && matchDatesDashboardCase(meta, timeframe);\n if (dataIsUnavailable || !datesIsMatched) dispatch(getSearchDashboard(currentShop, timeframe));\n }, [timeframe, currentShop]);\n\n const onTimeframeSubmit = (newRange) => dispatch(changeTimeframe(newRange));\n\n const timeframePicker = (\n \n );\n\n if (isFetching || !projection) return ;\n\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 \n
    \n
    \n\n\n
    \n
    \n \n
    \n
    \n\n
    \n );\n};\n\nexport default Dashboard;\n","import React from 'react';\nimport Widget from 'components/Widget/index';\nimport PlaceholderSpinner from 'components/kea/placeholders/PlaceholderSpinner';\n\nconst WidgetWithChart = ({ title, mainNumber, description, chart, isFetching }) => (\n \n {\n isFetching\n ? \n : (\n <>\n
    \n

    {title}

    \n
    \n
    \n
    \n
    \n

    {mainNumber}

    \n

    {description}

    \n
    \n
    \n
    \n {chart}\n
    \n
    \n \n )\n }\n\n
    \n);\n\nexport default WidgetWithChart;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst CustomTooltip = ({ active, payload, dataKey }) => {\n if (active) {\n const { payload: data } = payload[0];\n return (\n
    \n {`${data.label} - ${data[dataKey]}`}\n
    \n );\n }\n return null;\n};\n\nCustomTooltip.defaultProps = {\n dataKey: 'total',\n active: false,\n payload: [],\n};\n\nCustomTooltip.propTypes = {\n dataKey: PropTypes.string,\n active: PropTypes.bool,\n payload: PropTypes.arrayOf(PropTypes.shape({\n payload: PropTypes.shape({\n label: PropTypes.string,\n total: PropTypes.number,\n }),\n })),\n};\n\nexport default CustomTooltip;\n","import { Area, AreaChart, ResponsiveContainer, Tooltip } from 'recharts';\nimport React from 'react';\nimport CustomTooltip from '../../common/CustomToolTIp';\nimport { chartColors } from 'util/chartUtils';\n\nconst PreparedChart = ({ data }) => (\n \n \n \n \n \n \n \n \n \n }\n />\n \n \n);\n\nexport default PreparedChart;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport WidgetWithChart from '../../common/WidgetWithChart';\nimport PreparedChart from './PreparedChart';\n\nconst QueriesWithLowCTR = ({ lostOpportunities }) => {\n const { isFetched, isFetching, queries, curve, error } = lostOpportunities;\n const dataIsReady = isFetching || !isFetched;\n const mainNumber = error || !(queries && queries.filteredTotal)\n ? '-'\n : queries.filteredTotal;\n\n return (\n }\n />\n );\n};\n\nQueriesWithLowCTR.propTypes = {\n lostOpportunities: PropTypes.shape({\n isFetched: PropTypes.bool.isRequired,\n isFetching: PropTypes.bool.isRequired,\n queries: PropTypes.shape({\n total: PropTypes.any.isRequired,\n }),\n curve: PropTypes.shape({\n data: PropTypes.any.isRequired,\n }),\n }).isRequired,\n};\n\n\nexport default QueriesWithLowCTR;\n","/* eslint-disable object-curly-newline */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableRow from '@material-ui/core/TableRow';\nimport { genRandomKey } from 'util/appUtils';\n\nexport default function WidgetTable({ headCells, rows }) {\n return (\n \n \n \n \n {\n headCells.map((e) => {e.label})\n }\n \n \n \n {rows.map((row, i) => (\n \n {\n headCells[0].label === '#'\n ? {i + 1}\n : null\n }\n {\n headCells[0].label === '#'\n ? headCells.slice(1).map((cellId) => (\n {row[cellId.id]}\n ))\n : headCells.map((cellId) => (\n {row[cellId.id]}\n ))\n\n }\n \n ))}\n \n
    \n
    \n );\n}\n\nWidgetTable.propTypes = {\n rows: PropTypes.arrayOf(PropTypes.object).isRequired,\n headCells: PropTypes.arrayOf(PropTypes.object).isRequired,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport IntlMessages from 'util/IntlMessages';\nimport PlaceholderSpinner from 'components/kea/placeholders/PlaceholderSpinner';\nimport { Link } from 'react-router-dom';\nimport { Button } from '@material-ui/core';\nimport Widget from '../../Widget';\nimport PlaceholderError from '../placeholders/PlaceholderError';\n\nconst CardContainerSmall = ({\n error = null,\n children,\n isFetching = false,\n headerId,\n showMoreUrl = null,\n height = 268,\n}) => (\n \n
    \n

    \n \n

    \n
    \n {\n isFetching || error\n ? \n :
    {children}
    \n }\n\n {\n showMoreUrl\n ? (\n
    \n \n \n \n
    \n )\n : null\n }\n\n
    \n);\n\n\nconst StubComponent = ({ error, isFetching, height }) => {\n if (isFetching) return ;\n return ;\n};\n\n\nCardContainerSmall.defaultProps = {\n children: null,\n headerId: null,\n isFetching: false,\n height: 268,\n error: null,\n showMoreUrl: null,\n};\n\nCardContainerSmall.propTypes = {\n children: PropTypes.element,\n headerId: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]),\n isFetching: PropTypes.bool,\n height: PropTypes.number,\n error: PropTypes.any,\n showMoreUrl: PropTypes.any,\n};\n\n\nexport default CardContainerSmall;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from 'react';\nimport WidgetTable from 'components/kea/tables/WidgetTable';\nimport PropTypes from 'prop-types';\nimport { linkToQueryDetail } from 'util/appUtils';\nimport CardContainerSmall from '../../CardContainerSmall';\n\nconst BriefQueryNoResult = ({ match, queryNoResult, currentShop }) => {\n const { isFetching, data, error } = queryNoResult;\n\n const headCells = [\n { id: '#', numeric: false, label: '#' },\n { id: 'query', numeric: false, label: 'Query' },\n { id: 'total', numeric: true, label: 'Total' },\n ];\n\n const sortDesc = (a, b) => b.total - a.total;\n const attachLinkToArray = (e) => ({ ...e, query: linkToQueryDetail(currentShop, e.query) });\n const prepareRows = (rows) => {\n if (rows) return rows.sort(sortDesc).slice(0, 7).map(attachLinkToArray);\n return [];\n };\n\n return (\n \n \n \n );\n};\n\nBriefQueryNoResult.propTypes = {\n queryNoResult: PropTypes.shape({\n isFetching: PropTypes.bool.isRequired,\n error: PropTypes.any,\n data: PropTypes.arrayOf(PropTypes.shape({\n query: PropTypes.string,\n })),\n }).isRequired,\n};\n\n\nexport default BriefQueryNoResult;\n","import React from 'react';\nimport {\n ResponsiveContainer, PieChart, Pie, Cell, Tooltip,\n} from 'recharts';\nimport Widget from 'components/Widget/index';\n\nconst WidgetRainbow = ({ title, mainNumber, description, pieData }) => (\n \n
    \n
    \n
    \n

    {title}

    \n
    \n
    \n

    {mainNumber}

    \n

    {description}

    \n
    \n
    \n
    \n \n \n \n {\n pieData.map((e) => ())\n }\n \n \n \n \n
    \n
    \n
    \n);\n\n\nexport default WidgetRainbow;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from 'react';\nimport Widget from 'components/Widget/index';\nimport PlaceholderSpinner from 'components/kea/placeholders/PlaceholderSpinner';\nimport PropTypes from 'prop-types';\nimport WidgetRainbow from '../../common/WidgetRainbow';\nimport { chartColors } from 'util/chartUtils';\n\nconst AffectedUsers = ({ lostOpportunities }) => {\n const { isFetched, isFetching, users, error } = lostOpportunities;\n\n if (isFetching || !isFetched) {\n return (\n \n \n \n );\n }\n\n const mainNumber = error || !(users && users.filteredTotal)\n ? '-'\n : users.filteredTotal;\n const pieData = [\n { id: '1', name: 'Affected users', fill: chartColors.main.normal, value: users ? users.filteredTotal : '-' },\n { id: '2', name: 'Other users', fill: chartColors.different.normal, value: users ? users.otherTotal : '-' },\n ];\n\n return (\n \n );\n};\n\n\nAffectedUsers.propTypes = {\n lostOpportunities: PropTypes.shape({\n isFetched: PropTypes.bool.isRequired,\n isFetching: PropTypes.bool.isRequired,\n users: PropTypes.shape({\n total: PropTypes.any.isRequired,\n filteredTotal: PropTypes.any.isRequired,\n }),\n }).isRequired,\n};\n\nexport default AffectedUsers;\n","\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nexport function createData(name, calories, fat, carbs, protein) {\n return {\n name, calories, fat, carbs, protein,\n };\n}\n\nexport function getComparator(order, orderBy) {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\nexport function stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n","import TableHead from '@material-ui/core/TableHead';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nexport default function EnhancedTableHead(props) {\n const { classes, order, orderBy, onRequestSort, headCells } = props;\n const createSortHandler = (property) => (event) => {\n onRequestSort(event, property);\n };\n\n return (\n \n \n {\n headCells.map((headCell) => (\n \n \n {headCell.label}\n {orderBy === headCell.id ? (\n \n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n \n ) : null}\n \n \n ))\n }\n \n \n );\n}\n\nEnhancedTableHead.propTypes = {\n classes: PropTypes.object.isRequired,\n onRequestSort: PropTypes.func.isRequired,\n order: PropTypes.oneOf(['asc', 'desc']).isRequired,\n orderBy: PropTypes.string.isRequired,\n headCells: PropTypes.arrayOf(PropTypes.object).isRequired,\n};\n","/* eslint-disable object-curly-newline */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow';\nimport { getComparator, stableSort } from '../utils';\nimport EnhancedTableHead from '../EnhancedTableHead';\nimport { genRandomKey } from '../../../../util/appUtils';\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n },\n table: {\n // minWidth: 750,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n}));\n\nconst defaultPaginationOptions = {\n rowsPerPageList: [25, 50, 100],\n initRowsPerPage: 25,\n};\n\nexport default function AnalyticTable({\n headCells,\n rows,\n hidePagination,\n paginationOptions = defaultPaginationOptions,\n orderById = 'total',\n}) {\n const classes = useStyles();\n const [order, setOrder] = React.useState('desc');\n const [orderBy, setOrderBy] = React.useState(orderById);\n const [selected, setSelected] = React.useState([]);\n const [page, setPage] = React.useState(0);\n const [rowsPerPage, setRowsPerPage] = React.useState(paginationOptions.initRowsPerPage);\n\n const rowsCount = rows.length;\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const handleSelectAllClick = (event) => {\n if (event.target.checked) {\n const newSelecteds = rows.map((n) => n.name);\n setSelected(newSelecteds);\n return;\n }\n setSelected([]);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n\n const isSelected = (name) => selected.indexOf(name) !== -1;\n\n const emptyRows = rowsPerPage - Math.min(rowsPerPage, rowsCount - page * rowsPerPage);\n\n return (\n
    \n\n \n \n \n \n {stableSort(rows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row) => {\n const isItemSelected = isSelected(row.name);\n return (\n \n {\n headCells.map((e) => (\n \n {row[e.id]}\n \n ))\n }\n \n );\n })}\n {emptyRows > 0 && (\n \n \n \n )}\n \n \n \n {\n hidePagination\n ? null\n : (\n \n )\n\n }\n
    \n );\n}\n\n\nAnalyticTable.defaultProps = {\n hidePagination: false,\n orderById: 'total',\n};\nAnalyticTable.propTypes = {\n orderById: PropTypes.any,\n rows: PropTypes.arrayOf(PropTypes.object).isRequired,\n headCells: PropTypes.arrayOf(PropTypes.object).isRequired,\n hidePagination: PropTypes.bool,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport IntlMessages from 'util/IntlMessages';\nimport PlaceholderSpinner from 'components/kea/placeholders/PlaceholderSpinner';\nimport PlaceholderError from '../placeholders/PlaceholderError';\n\nconst CardContainer = ({\n error = null,\n children,\n isFetching = false,\n headerId,\n headerPostfix,\n subheaderId,\n actionComponent = null,\n styleName,\n height,\n}) => (\n
    \n
    \n
    \n

    \n {headerId && }\n {headerPostfix}\n

    \n {subheaderId &&

    }\n
    \n
    \n { actionComponent }\n
    \n
    \n {\n isFetching || error\n ? \n :
    {children}
    \n }\n
    \n);\n\nconst StubComponent = ({ error, height, isFetching }) => {\n if (isFetching) return ;\n return ;\n};\n\n\nCardContainer.defaultProps = {\n children: null,\n actionComponent: null,\n headerId: null,\n subheaderId: null,\n styleName: null,\n isFetching: false,\n height: 500,\n headerPostfix: null,\n error: null,\n};\n\nCardContainer.propTypes = {\n children: PropTypes.element,\n actionComponent: PropTypes.element,\n headerId: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]),\n subheaderId: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]),\n styleName: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]),\n isFetching: PropTypes.bool,\n height: PropTypes.number,\n headerPostfix: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n error: PropTypes.any,\n};\n\n\nexport default CardContainer;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport AnalyticTable from 'components/kea/tables/AnalyticTable';\nimport CardContainer from '../../../../../components/kea/CardContainer';\nimport { linkToQueryDetail } from '../../../../../util/appUtils';\n\nconst MainSection = ({ lostOpportunities, currentShop }) => {\n const { isFetching, data, error } = lostOpportunities;\n\n const headCells = [\n { id: 'query', numeric: false, label: 'Query' },\n { id: 'users', numeric: true, label: 'Users' },\n { id: 'total', numeric: true, label: 'Total' },\n ];\n\n const prepareRows = (rows) => rows.map((e, i) => ({\n ...e,\n id: `${e.query}-${i}`,\n query: linkToQueryDetail(currentShop, e.query),\n }));\n\n return (\n \n \n \n );\n};\n\n\nMainSection.propTypes = {\n lostOpportunities: PropTypes.shape({\n error: PropTypes.any,\n isFetched: PropTypes.bool.isRequired,\n isFetching: PropTypes.bool.isRequired,\n data: PropTypes.array,\n }).isRequired,\n currentShop: PropTypes.string.isRequired,\n};\n\nexport default MainSection;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { useDispatch, useSelector } from 'react-redux';\nimport QueriesWithLowCTR from 'components/kea/widgets/lostOpportunities/QueriesWithLowCTR';\nimport BriefQueryNoResult from 'components/kea/widgets/BriefQueryNoResult';\nimport AffectedUsers from 'components/kea/widgets/lostOpportunities/AffectedUsers';\nimport { getAnalyticLostOpportunities, getAnalyticQueryNoResult } from 'actions';\nimport MainSection from './MainSection';\n\nconst LostOpportunities = ({ match }) => {\n const dispatch = useDispatch();\n const {\n analytics: { search, timeframe },\n app: { currentShop },\n } = useSelector((store) => store);\n const { lostOpportunities, queryNoResult } = search;\n\n useEffect(() => {\n dispatch(getAnalyticLostOpportunities(currentShop, timeframe));\n dispatch(getAnalyticQueryNoResult(currentShop, timeframe));\n }, [timeframe]);\n\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\nexport default LostOpportunities;\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport AnalyticTable from 'components/kea/tables/AnalyticTable';\nimport CardContainer from 'components/kea/CardContainer';\nimport PropTypes from 'prop-types';\n\nconst MainSection = ({ match, queryPopular }) => {\n const { isFetching, data, error } = queryPopular;\n\n const headCells = [\n { id: 'query', numeric: false, label: 'Query' },\n { id: 'users', numeric: true, label: 'Users' },\n { id: 'total', numeric: true, label: 'Total' },\n { id: 'click', numeric: true, label: 'Click' },\n { id: 'noaction', numeric: true, label: 'No action' },\n { id: 'refine', numeric: true, label: 'Refine' },\n { id: 'ctr', numeric: true, label: 'CTR' },\n ];\n\n const prepareRows = (rows) => rows.map((el, index) => ({\n ...el,\n ctr: Math.round(el.ctr * 100),\n query: ({el.query}),\n id: `${el.query}-${index}`,\n }));\n\n\n return (\n \n \n \n );\n};\n\nMainSection.defaultProps = {\n queryPopular: {\n\n },\n};\n\nMainSection.propTypes = {\n match: PropTypes.any.isRequired,\n queryPopular: PropTypes.shape({\n isFetched: PropTypes.bool.isRequired,\n isFetching: PropTypes.bool.isRequired,\n data: PropTypes.array,\n }),\n};\n\nexport default MainSection;\n","import { Area, AreaChart, ResponsiveContainer, Tooltip } from 'recharts';\nimport React from 'react';\nimport CustomTooltip from '../../common/CustomToolTIp';\nimport { chartColors } from 'util/chartUtils';\n\nconst PreparedChart = ({ data }) => (\n \n \n \n \n \n \n \n \n \n }\n />\n \n \n);\n\nexport default PreparedChart;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from 'react';\nimport WidgetWithChart from '../../common/WidgetWithChart';\nimport PreparedChart from './PreparedChart';\n\nconst TotalCTR = ({ queryPopular }) => {\n const { curve, queries, isFetched, isFetching, error } = queryPopular;\n const dataIsReady = (isFetching || !isFetched);\n\n const chart = error ? null : ;\n const mainNumber = error || !(queries && queries.ctr)\n ? '-'\n : `${(queries.ctr * 100).toFixed(2)}%`;\n\n return (\n \n );\n};\n\nexport default TotalCTR;\n","import { Line, LineChart, ResponsiveContainer, Tooltip } from 'recharts';\nimport React from 'react';\nimport CustomTooltip from '../../common/CustomToolTIp';\n\nconst PreparedChart = ({ data }) => (\n \n \n \n } />\n \n \n);\n\nexport default PreparedChart;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport WidgetWithChart from '../../common/WidgetWithChart';\nimport PreparedChart from './PreparedChart';\n\nconst TotalQueries = ({ queryPopular }) => {\n const { isFetched, isFetching, curve, queries, error } = queryPopular;\n const dataIsReady = isFetching || !isFetched;\n\n const chart = error ? null : ;\n const mainNumber = error || !(queries && queries.total)\n ? '-'\n : queries.total;\n\n return (\n \n );\n};\n\nTotalQueries.propTypes = {\n queryPopular: PropTypes.shape({\n isFetched: PropTypes.bool.isRequired,\n isFetching: PropTypes.bool.isRequired,\n queries: PropTypes.shape({\n total: PropTypes.any,\n }),\n curve: PropTypes.any,\n }),\n};\n\n\nexport default TotalQueries;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from 'react';\nimport WidgetTable from 'components/kea/tables/WidgetTable';\nimport { linkToProductDetail } from 'util/appUtils';\nimport CardContainerSmall from '../../CardContainerSmall';\n\nconst BriefPopularProductsByView = ({ match, popularByView, currentShop }) => {\n const { isFetching, data, error } = popularByView;\n\n const headCells = [\n { id: '#', numeric: false, label: '#' },\n { id: 'name', numeric: false, label: 'Name' },\n { id: 'count', numeric: true, label: 'count' },\n ];\n\n const prepareRows = (rows) => {\n if (Array.isArray(rows)) {\n return rows\n .slice(0, 7)\n .map((e) => ({\n ...e,\n name: linkToProductDetail(currentShop, e.name, e.id),\n }));\n }\n return [];\n };\n\n return (\n \n \n \n );\n};\n\nexport default BriefPopularProductsByView;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { useDispatch, useSelector } from 'react-redux';\nimport MainSection from './MainSection';\nimport TotalCTR from '../../../../../components/kea/widgets/popularQueries/TotalCTR';\nimport TotalQueries from '../../../../../components/kea/widgets/popularQueries/TotalQueries';\nimport BriefPopularProductsByView from '../../../../../components/kea/widgets/BriefPopularProductsByView';\nimport { getAnalyticQueryPopular, getPopularByView } from '../../../../../actions';\n\nconst QueryPopular = ({ match }) => {\n const dispatch = useDispatch();\n const {\n analytics: {\n timeframe,\n search: { queryPopular },\n products: { popularByView },\n },\n app: { currentShop },\n } = useSelector((store) => store);\n\n useEffect(() => {\n dispatch(getAnalyticQueryPopular(currentShop, timeframe));\n dispatch(getPopularByView(currentShop, timeframe));\n }, [timeframe]);\n\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\nexport default QueryPopular;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from 'react';\nimport WidgetTable from 'components/kea/tables/WidgetTable';\nimport { linkToQueryDetail } from 'util/appUtils';\nimport CardContainerSmall from '../../CardContainerSmall';\n\nconst BriefLostOpportunities = ({ match, lostOpportunities, currentShop }) => {\n const { isFetching, data, error } = lostOpportunities;\n const headCells = [\n { id: '#', numeric: false, label: '#' },\n { id: 'query', numeric: false, label: 'Query' },\n { id: 'total', numeric: true, label: 'Total' },\n ];\n\n const sortDesc = (a, b) => b.total - a.total;\n const attachLinkToArray = (e) => ({ ...e, query: linkToQueryDetail(currentShop, e.query) });\n const prepareRows = (rows) => {\n if (Array.isArray(rows)) {\n return data\n .sort(sortDesc)\n .slice(0, 7)\n .map(attachLinkToArray);\n }\n return [];\n };\n\n return (\n \n \n \n );\n};\n\nexport default BriefLostOpportunities;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from 'react';\nimport Widget from 'components/Widget/index';\nimport PlaceholderSpinner from 'components/kea/placeholders/PlaceholderSpinner';\nimport WidgetRainbow from '../../common/WidgetRainbow';\nimport { chartColors } from 'util/chartUtils';\n\nconst AffectedUsers = ({ queryNoResult }) => {\n const { isFetching, users, error } = queryNoResult;\n\n if (isFetching) {\n return (\n \n \n \n );\n }\n\n const pieData = [\n { id: '1', name: 'Affected users', fill: chartColors.main.normal, value: users ? users.filteredTotal : '-' },\n { id: '2', name: 'Other users', fill: chartColors.different.normal, value: users ? users.otherTotal : '-' },\n ];\n const mainNumber = error || !(users && users.filteredTotal)\n ? '-'\n : users.filteredTotal;\n\n return (\n \n );\n};\n\nexport default AffectedUsers;\n","import { Line, LineChart, ResponsiveContainer, Tooltip } from 'recharts';\nimport React from 'react';\nimport CustomTooltip from '../../common/CustomToolTIp';\nimport { chartColors } from 'util/chartUtils';\n\nconst PreparedChart = ({ data }) => (\n \n \n \n } />\n \n \n);\n\nexport default PreparedChart;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from 'react';\nimport WidgetWithChart from 'components/kea/widgets/common/WidgetWithChart';\nimport PreparedChart from './PreparedChart';\n\nconst QueriesWithoutResults = ({ queryNoResult }) => {\n const { isFetched, isFetching, curve, queries, error } = queryNoResult;\n const dataIsReady = isFetching || !isFetched;\n\n const chart = error ? null : ;\n const mainNumber = error || !(queries && queries.filteredTotal)\n ? '-'\n : queries.filteredTotal;\n\n return (\n \n );\n};\n\nexport default QueriesWithoutResults;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from 'react';\nimport AnalyticTable from 'components/kea/tables/AnalyticTable';\nimport CardContainer from '../../../../../components/kea/CardContainer';\nimport { linkToQueryDetail } from '../../../../../util/appUtils';\n\nconst MainSection = ({ queryNoResult, currentShop }) => {\n const { isFetching, data, error } = queryNoResult;\n\n const headCells = [\n { id: 'query', numeric: false, label: 'Query' },\n { id: 'users', numeric: true, label: 'Users' },\n { id: 'total', numeric: true, label: 'Total' },\n ];\n\n const prepareRows = (rows) => rows.map((el, i) => ({\n ...el,\n id: `${el.query}-${i}`,\n query: linkToQueryDetail(currentShop, el.query),\n ctr: (el.ctr * 100).toFixed(2),\n }));\n\n\n return (\n \n \n \n );\n};\n\nexport default MainSection;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { useDispatch, useSelector } from 'react-redux';\nimport BriefLostOpportunities from 'components/kea/widgets/BriefLostOpportunities';\nimport AffectedUsers from 'components/kea/widgets/noResultQueries/AffectedUsers';\nimport QueriesWithoutResults from 'components/kea/widgets/noResultQueries/QueriesWithoutResults';\nimport { getAnalyticLostOpportunities, getAnalyticQueryNoResult } from 'actions';\nimport MainSection from './MainSection';\n\nconst QueryNoResult = ({ match }) => {\n const dispatch = useDispatch();\n const {\n analytics: { search, timeframe },\n app: { currentShop },\n } = useSelector((store) => store);\n const { queryNoResult, lostOpportunities } = search;\n\n useEffect(() => {\n dispatch(getAnalyticLostOpportunities(currentShop, timeframe));\n dispatch(getAnalyticQueryNoResult(currentShop, timeframe));\n }, [timeframe]);\n\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\nexport default QueryNoResult;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { getAnalyticCurve } from 'actions';\nimport { Bar } from 'react-chartjs-2';\nimport moment from 'moment';\nimport PlaceholderSpinner from 'components/kea/placeholders/PlaceholderSpinner';\nimport CardContainer from 'components/kea/CardContainer';\nimport { groupCurveByDays, theCurveIsMostlyFull } from 'util/appUtils';\nimport { MenuItem, Select } from '@material-ui/core';\nimport { chartColors } from 'util/chartUtils';\n\nconst SelectGrouping = ({ onChange, value }) => (\n \n);\n\nconst QueryTimeline = ({ match }) => {\n const { params: { query } } = match;\n const dispatch = useDispatch();\n const [groupBy, setGroupBy] = useState(false);\n const selectHandler = (e) => setGroupBy(e.target.value);\n\n const {\n analytics: { search, timeframe },\n app: { currentShop },\n } = useSelector((store) => store);\n const { curve: { isFetched, isFetching } } = search;\n\n useEffect(() => {\n dispatch(getAnalyticCurve(currentShop, timeframe, 'all', query));\n }, [timeframe, query]);\n\n const dateAlias = '_id';\n const wantedFields = ['click', 'noaction', 'total', 'refine'];\n const options = {\n title: { display: false },\n tooltips: { mode: 'index', intersect: false },\n responsive: true,\n scales: {\n xAxes: [{ stacked: true }],\n yAxes: [{ stacked: true }],\n },\n };\n\n\n function autoGroupCurve(arr) {\n let result = arr;\n if (arr.length > 27) {\n const granularity = arr.length > 175 ? 30 : 7;\n const ignoreGrouping = (arr.length < 45) && theCurveIsMostlyFull(arr, 'total', 0.5);\n if (!ignoreGrouping) {\n result = groupCurveByDays(arr, granularity, dateAlias, wantedFields);\n }\n }\n return result;\n }\n\n const prepareData = (curve, groupByDays) => {\n if (!curve.data) return; // todo: handle it better\n let curveData;\n\n if (groupByDays) {\n curveData = groupCurveByDays(curve.data, groupByDays, dateAlias, wantedFields);\n } else {\n curveData = autoGroupCurve(curve.data, groupByDays);\n }\n\n function getData(name) {\n return curveData.map((e) => e[name]);\n }\n\n return {\n labels: getData(dateAlias).map((date) => moment([date.year, date.month - 1, date.day]).format('YYYY-MM-DD')),\n datasets: [{\n label: 'No actions',\n backgroundColor: chartColors.gray.normal,\n data: getData('noaction'),\n }, {\n label: 'Other actions, like navigation to results page',\n backgroundColor: chartColors.accent.normal,\n data: getData('refine'),\n }, {\n label: 'Product clicks',\n backgroundColor: chartColors.main.normal,\n data: getData('click'),\n }],\n };\n };\n\n return (\n }\n >\n {\n isFetching || !isFetched\n ? \n : prepareData(search.curve, groupBy)} height={150} options={options} />\n }\n \n );\n};\n\n\nexport default QueryTimeline;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport AnalyticTable from 'components/kea/tables/AnalyticTable';\nimport { getRelatedQueries } from 'actions';\nimport { linkToQueryDetail } from 'util/appUtils';\nimport CardContainerSmall from '../../../../../components/kea/CardContainerSmall';\n\nconst RelatedQueries = ({ match }) => {\n const { params: { query } } = match;\n const dispatch = useDispatch();\n const { analytics: { search, timeframe }, app: { currentShop } } = useSelector((store) => store);\n const { relatedQueries: { isFetching, data, error } } = search;\n\n useEffect(() => {\n dispatch(getRelatedQueries(currentShop, timeframe, query));\n }, [timeframe, query]);\n\n const headCells = [\n { id: 'query', numeric: false, label: 'Query' },\n { id: 'count', numeric: true, label: 'Count' },\n ];\n\n const paginationOptions = { rowsPerPageList: [6], initRowsPerPage: 6 };\n const prepareData = (e, index) => ({\n ...e,\n query: linkToQueryDetail(currentShop, e.query),\n id: `${e.query}-${index}`,\n });\n\n\n return (\n \n \n \n );\n};\n\nexport default RelatedQueries;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport AnalyticTable from 'components/kea/tables/AnalyticTable';\nimport { getRelatedProductsByQuery } from 'actions';\nimport { linkToProductDetail } from 'util/appUtils';\nimport CardContainerSmall from 'components/kea/CardContainerSmall';\n\nconst RelatedProducts = ({ match }) => {\n const { params: { query } } = match;\n const dispatch = useDispatch();\n const { analytics: { products, timeframe }, app: { currentShop } } = useSelector((store) => store);\n const { relatedByQuery: { isFetching, data, error } } = products;\n\n useEffect(() => {\n dispatch(getRelatedProductsByQuery(currentShop, timeframe, query));\n }, [timeframe, query]);\n\n const headCells = [\n { id: 'name', numeric: false, label: 'Name' },\n { id: 'count', numeric: true, label: 'Count' },\n ];\n\n const paginationOptions = { rowsPerPageList: [6], initRowsPerPage: 6 };\n const prepareData = (e) => ({\n ...e,\n name: linkToProductDetail(currentShop, e.name, e.productId),\n id: e.productId,\n });\n\n\n return (\n \n \n \n );\n};\n\nexport default RelatedProducts;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from 'react';\nimport { Grid } from '@material-ui/core';\nimport QueryTimeline from './QueryTimeline';\nimport RelatedQueries from './RelatedQueries';\nimport RelatedProducts from './RelatedProducts';\n\nconst QueryDetail = ({ match }) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default QueryDetail;\n","import React from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\nimport ContainerHeader from 'components/ContainerHeader';\nimport IntlMessages from 'util/IntlMessages';\nimport DateRangePicker from 'components/kea/DateRangePicker';\nimport { changeTimeframe } from 'actions';\nimport SafetyRoute from 'components/kea/SafetyRoute';\nimport asyncComponent from '../../../../util/asyncComponent';\nimport LostOpportunities from './LostOpportunities';\nimport QueryPopular from './QueryPopular';\nimport QueryNoResult from './QueryNoResult';\nimport Dashboard from '../dashboard';\nimport QueryDetail from './QueryDetail';\n\n\nconst Reports = ({ match }) => {\n const dispatch = useDispatch();\n const { analytics: { timeframe } } = useSelector((store) => store);\n\n const onTimeframeSubmit = (newRange) => dispatch(changeTimeframe(newRange));\n\n const timeframePicker = (\n \n );\n\n return (\n
    \n }\n />\n\n \n } />\n } />\n } />\n\n } />\n {/* } /> */}\n {/* } /> */}\n {/* } /> */}\n\n } />\n\n\n import('app/routes/404'))} />\n \n
    \n );\n};\nexport default Reports;\n","import React from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport Switch from '@material-ui/core/Switch';\nimport Slider from '../Slider/Slider';\n\nconst SearchFieldSetting = ({\n id,\n value,\n title,\n description,\n onChangeWeight,\n onChangeAutocomplete,\n autocomplete,\n}) => {\n const priorities = ['IGNORE', 'NORMAL', 'MID', 'BOOSTED'];\n\n return (\n
    \n \n \n
    {title}
    \n
    {description && description}
    \n
    \n\n \n \n {value}\n \n \n onChangeWeight(id, priorities[index])}\n min={0}\n max={priorities.length - 1}\n step={1}\n valueLabelFormat={(index) => priorities[index]}\n />\n \n \n\n \n onChangeAutocomplete(id, event.target.checked)}\n />\n \n\n \n
    \n );\n};\n\nexport default SearchFieldSetting;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport Grid from '@material-ui/core/Grid';\nimport * as a from 'actions/Search';\nimport SearchFieldSetting from 'components/kea/SearchFieldSetting';\nimport ContainerHeader from 'components/ContainerHeader';\nimport IntlMessages from 'util/IntlMessages';\nimport SaveActionBtnGrp from 'components/kea/settings/SaveActionBtnGrp';\nimport { Card } from 'reactstrap';\nimport { objectDifference } from 'util/appUtils';\n\nconst SearchFields = (props) => {\n const dispatch = useDispatch();\n const store = useSelector((s) => s);\n const { search, app } = store;\n const { currentShop } = app;\n const { fields } = search;\n const { data, isFetching, forDiff } = fields;\n const { match } = props;\n\n const weightChangeHandler = (id, value) => dispatch(a.fieldsDataUpdate(id, 'weight', value));\n const autoCompleteChangeHandler = (id, value) => dispatch(a.fieldsDataUpdate(id, 'autocomplete', value));\n const save = () => dispatch(a.saveSearchFields(currentShop));\n const discard = () => dispatch(a.discardSearchFieldsSetting());\n\n const buttons = [\n { text: 'Save', action: save, color: 'primary' },\n { text: 'Discard', action: discard, color: 'secondary' },\n ];\n\n const settingsChanged = Object.keys(objectDifference(forDiff, fields.data)).length !== 0;\n const disableSaving = !(settingsChanged);\n\n return (\n
    \n }\n action={}\n />\n \n
    \n
    \n \n \n

    Field name

    \n
    \n \n

    Priority

    \n
    \n \n

    Autocomplete

    \n
    \n \n {\n Object.entries(data).map(([key, value]) => (\n \n ))\n }\n
    \n
    \n
    \n
    \n );\n};\n\nexport default SearchFields;\n","import React from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport asyncComponent from '../../../../util/asyncComponent';\nimport SearchFields from './fields';\n\nconst Search = ({ match }) => (\n \n \n\n import('app/routes/404'))} />\n \n);\n\nexport default Search;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { makeStyles } from '@material-ui/styles';\n\nimport { Button } from '@material-ui/core';\n\nconst useStyles = makeStyles(() => ({\n onboardingButton: {\n width: '100%',\n padding: '20px 30px',\n color: 'white',\n fontSize: 20,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'baseline',\n },\n}));\n\nexport default function OnboardingButton(props) {\n const styles = useStyles();\n const { color } = props;\n return \n \n \n );\n }\n}\n\nexport default DialogSelect;\n","import React from 'react';\nimport { Draggable, Droppable } from 'react-beautiful-dnd';\nimport { NavLink } from 'react-router-dom';\nimport { ClearOutlined, DehazeOutlined, HeightOutlined } from '@material-ui/icons';\nimport SettingsOutlinedIcon from '@material-ui/icons/SettingsOutlined';\n\nconst getItemStyle = (isDragging, draggableStyle) => ({\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n userSelect: 'none',\n padding: 10,\n backgroundColor: '#d3d3d338',\n border: '1px solid lightgrey',\n borderBottom: isDragging ? '1px solid lightgrey' : 0,\n ...draggableStyle,\n});\n\nconst getListStyle = (isDraggingOver) => ({\n background: isDraggingOver ? 'rgb(240, 240, 240)' : 'white',\n minHeight: 1,\n});\n\nexport const styles = {\n link: {\n textDecoration: 'none',\n color: 'black',\n },\n leftIcon: {\n flexGrow: 0.5,\n textAlign: 'center',\n },\n deleteIcon: {\n flexGrow: 0.2,\n color: 'red',\n cursor: 'pointer',\n },\n settingIcon: {\n flexGrow: 0.2,\n color: '#3f4eae',\n },\n listIcon: {\n marginRight: 20,\n fontSize: 21,\n color: '#3f4eae',\n verticalAlign: 'super',\n },\n itemTitle: {\n flexGrow: 20,\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n },\n itemHeader: { fontSize: '1.125rem' },\n itemSubHeader: { fontSize: '0.725rem' },\n};\n\nfunction WidgetList({\n widgets, sectionId, widgetsMap, dropWidgetFromSection, algorithm, url,\n}) {\n return (\n \n {(provided, snapshot) => (\n \n {\n widgets\n .filter((id) => widgetsMap[id])\n .map((widgetId, index) => (\n \n {(provided, snapshot) => (\n \n
    \n {(snapshot.isDragging) ? : }\n
    \n \n
    \n {(widgetsMap[widgetId]) ? widgetsMap[widgetId].title : `deleted_${widgetId}` }\n
    \n
    \n {`Algorithm: ${algorithm[widgetsMap[widgetId].model]}`}\n
    \n \n\n dropWidgetFromSection(widgetId, sectionId)}\n />\n\n \n \n\n \n\n
    \n )}\n \n ))\n }\n {provided.placeholder}\n
    \n )}\n \n );\n}\n\nexport default WidgetList;\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport { DragDropContext } from 'react-beautiful-dnd';\nimport Card from '@material-ui/core/Card';\nimport * as actions from 'actions/Recs';\nimport { bindActionCreators } from 'redux';\nimport PlaceholderSpinner from 'components/kea/placeholders/PlaceholderSpinner';\nimport ContainerHeader from 'components/ContainerHeader';\nimport IntlMessages from 'util/IntlMessages';\nimport SaveActionBtnGrp from 'components/kea/settings/SaveActionBtnGrp';\nimport WidgetListDialog from './WidgetListDialog';\nimport WidgetList from './WidgetList';\n\nclass PageEditor extends Component {\n constructor(props) {\n super(props);\n this.state = {\n checkedWidgets: [],\n dialogIsOpen: false,\n sectionIdForSheet: null,\n };\n\n this.closeWidgetList = () => {\n this.setState({\n dialogIsOpen: false,\n sectionIdForSheet: null,\n checkedWidgets: [],\n });\n };\n this.openWidgetList = (sectionIdForSheet, checked) => {\n this.setState({\n dialogIsOpen: true,\n checkedWidgets: checked,\n sectionIdForSheet,\n });\n };\n }\n\n onDragEnd(result, pageId) {\n const { destination, source, draggableId } = result;\n const { page: { dataMap } } = this.props.recs;\n const { sections } = dataMap[pageId];\n const sectionsMap = _.keyBy(sections, 'id');\n\n const srcSection = sectionsMap[source.droppableId];\n if (!destination) return;\n\n const dstSection = sectionsMap[destination.droppableId];\n\n if (dstSection.id === srcSection.id && destination.index === source.index) {\n return;\n } // On nothing changed\n\n if (dstSection.id === srcSection.id) {\n const widgetList = Array.from(srcSection.widgets);\n const [removed] = widgetList.splice(result.source.index, 1);\n widgetList.splice(result.destination.index, 0, removed);\n this.reOrderWidgets(pageId, srcSection.id, widgetList);\n return;\n } // On reorder widgets in the same sections\n\n if (dstSection.id !== srcSection.id) {\n const srcWidgets = Array.from(srcSection.widgets);\n srcWidgets.splice(source.index, 1);\n const dstWidgets = Array.from(dstSection.widgets);\n dstWidgets.splice(destination.index, 0, draggableId);\n\n const newSections = {\n ...sectionsMap,\n [dstSection.id]: { ...sectionsMap[dstSection.id], widgets: dstWidgets },\n [srcSection.id]: { ...sectionsMap[srcSection.id], widgets: srcWidgets },\n };\n\n this.props.actions.recsCustomizePageSections(pageId, _.flatMap(newSections));\n } // On move widget between sections\n }\n\n dropWidgetFromSection(widgetId, sectionId, pageId) {\n const { page: { dataMap } } = this.props.recs;\n const { sections } = dataMap[pageId];\n const sectionsMap = _.keyBy(sections, 'id');\n\n const { widgets } = sectionsMap[sectionId];\n const newWidgets = widgets.filter((wId) => wId !== widgetId);\n\n const newSections = {\n ...sectionsMap,\n [sectionId]: {\n ...sectionsMap[sectionId],\n widgets: newWidgets,\n },\n };\n\n this.props.actions.recsCustomizePageSections(pageId, _.flatMap(newSections));\n }\n\n reOrderWidgets(pageId, sectionId, widgets) {\n const { page: { dataMap } } = this.props.recs;\n const { sections } = dataMap[pageId];\n const sectionsMap = _.keyBy(sections, 'id');\n\n const newSections = {\n ...sectionsMap,\n [sectionId]: {\n ...sectionsMap[sectionId],\n widgets,\n },\n };\n\n this.props.actions.recsCustomizePageSections(pageId, _.flatMap(newSections));\n }\n\n resetChanges(pageId) {\n const { page: { dataMapDefault } } = this.props.recs;\n const newPage = dataMapDefault[pageId];\n this.props.actions.recsCustomizePageSections(pageId, newPage.sections);\n }\n\n render() {\n const {\n checkedWidgets, // todo calc it realtime\n dialogIsOpen,\n sectionIdForSheet,\n } = this.state;\n\n const { match, recs, settings } = this.props;\n const { url, params: { pageId } } = match;\n const {\n model, widget, page, algorithm,\n page: { dataMap: pagesMap, dataMapDefault },\n } = recs;\n\n const notFetched = !settings.isFetched\n || !model.isFetched\n || !widget.isFetched\n || !page.isFetched;\n\n if (notFetched) {\n return ;\n }\n\n const currentPage = pagesMap[pageId];\n\n const buttons = [\n { text: 'Save', action: () => this.props.actions.recsUpdatePage(currentPage), color: 'primary' },\n { text: 'Discard', action: () => this.resetChanges(pageId), color: 'secondary' },\n ];\n\n return (\n
    \n }\n action={(\n \n )}\n />\n \n this.onDragEnd(args, pageId)}>\n {\n currentPage\n .sections\n .map((section) => {\n const chosenWidgets = _.flatMap(currentPage.sections, (pg) => pg.widgets);\n return (\n \n
    \n

    \n Section:\n {section.title}\n

    \n this.dropWidgetFromSection(widgetId, sectionId, pageId)}\n />\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n this.openWidgetList(section.id, chosenWidgets)}\n >\n + Add widget\n
    \n
    \n \n );\n })\n }\n \n
    \n );\n }\n}\n\nexport default connect(\n (state) => ({\n recs: state.recs,\n settings: state.settings,\n }),\n (dispatch) => ({\n actions: bindActionCreators(actions, dispatch),\n }),\n)(PageEditor);\n","import React from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport SafetyRoute from 'components/kea/SafetyRoute';\nimport asyncComponent from 'util/asyncComponent';\nimport RecsFields from './fields';\nimport Page from './widgets';\nimport Widget from './widgets/pageEditor/widget';\nimport PageEditor from './widgets/pageEditor';\n\nexport default ({ match }) => (\n \n } />\n } />\n } />\n } />\n\n import('app/routes/404'))} />\n \n);\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { CardContent, Card } from '@material-ui/core';\nimport classes from './SetupCard.module.scss';\nimport Subheader from '../Typography/Subheader';\n\nexport default function SetupCard({ active, title, icon, onClick }) {\n const image = `/images/industry_icons${active ? '_accent' : ''}/${icon}`;\n\n return (\n \n {icon && \"industry\"}\n \n {title}\n \n \n );\n}\n\nSetupCard.propTypes = {\n title: PropTypes.string.isRequired,\n icon: PropTypes.string,\n onClick: PropTypes.func,\n active: PropTypes.bool,\n};\n\nSetupCard.defaultProps = {\n icon: undefined,\n onClick: undefined,\n active: false,\n};\n","import React from 'react';\nimport classes from './RealGrid.module.scss';\n\nexport default function RealGrid({ children }) {\n return
    {children}
    ;\n}\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport SetupCard from './SetupCard';\nimport TextCenter from '../Typography/TextCenter';\nimport Header from '../Typography/Header';\nimport Subheader from '../Typography/Subheader';\nimport RealGrid from '../Layout/RealGrid';\n\nconst industries = [\n {\n id: 'clothing',\n title: 'Clothing, Apparel & Fashion',\n icon: 'clothing.svg',\n },\n {\n id: 'shoes',\n title: 'Shoes & Accessories',\n icon: 'accessories.svg',\n },\n {\n id: 'electronics',\n title: 'Electronics and Cell Phones',\n icon: 'electronics.svg',\n },\n {\n id: 'interior',\n title: 'Furniture, Art & Design',\n icon: 'interior.svg',\n },\n {\n id: 'diy',\n title: 'Tools, Automotive and DIY',\n icon: 'diy.svg',\n },\n {\n id: 'kids',\n title: 'Kids Clothing, Accessories & Toys',\n icon: 'kids.svg',\n },\n {\n id: 'sport',\n title: 'Sport and Equipment',\n icon: 'sport.svg',\n },\n {\n id: 'exterior',\n title: 'Home & Garden',\n icon: 'exterior.svg',\n },\n {\n id: 'pets',\n title: 'Pets',\n icon: 'pets.svg',\n },\n {\n id: 'books',\n title: 'Books, Music and Films',\n icon: 'books.svg',\n },\n {\n id: 'food',\n title: 'Food & Beverages',\n icon: 'food.svg',\n },\n {\n id: 'other',\n title: 'Other',\n icon: 'other.svg',\n },\n];\n\nexport default function SetupRecsIndustry({ onClick }) {\n const activeCards = useSelector((store) => store.onboarding.recs.industries);\n const cards = industries.map((industry) => {\n const { id, title, icon } = industry;\n const active = activeCards.indexOf(id) > -1;\n return (\n onClick(id)}\n />\n );\n });\n\n return (\n \n
    What is your industry?
    \n Please select industries which apply to your business. You can choose multiple industries.\n {cards}\n
    \n );\n}\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport SetupCard from './SetupCard';\nimport TextCenter from '../Typography/TextCenter';\nimport Header from '../Typography/Header';\nimport Subheader from '../Typography/Subheader';\nimport RealGrid from '../Layout/RealGrid';\n\nconst fields = [\n { id: 'name', title: 'Name' },\n { id: 'product_type', title: 'Product Type' },\n { id: 'category', title: 'Parent Category' },\n { id: 'tags', title: 'Tags' },\n { id: 'params', title: 'Parameters' },\n { id: 'color', title: 'Product Image (color and shape)' },\n { id: 'vendor', title: 'Vendor' },\n { id: 'model', title: 'Model' },\n { id: 'description', title: 'Description' },\n { id: 'price', title: 'Price' },\n];\n\nexport default function SetupRecsFields({ onClick }) {\n const activeCards = useSelector((store) => store.onboarding.recs.fields);\n const cards = fields.map((field) => {\n const { id, title } = field;\n const active = activeCards.indexOf(id) > -1;\n return (\n onClick(id)} />\n );\n });\n\n return (\n \n
    Product attributes
    \n What product attributes are the most important to your business? You can select multiple attributes.\n {cards}\n
    \n );\n}\n","import withStyles from '@material-ui/core/styles/withStyles';\nimport { Slider } from '@material-ui/core';\n\nconst thumbSize = 50;\nconst railSize = 6;\n\n\nexport default withStyles({\n root: {\n height: 2,\n padding: '15px 0',\n },\n thumb: {\n height: thumbSize,\n width: thumbSize,\n backgroundColor: '#fff',\n marginTop: -thumbSize / 2,\n marginLeft: -thumbSize / 2,\n },\n track: {\n height: railSize,\n },\n rail: {\n height: railSize - 2,\n opacity: 0.5,\n },\n mark: {\n height: 0,\n width: 0,\n },\n markLabel: {\n top: thumbSize,\n fontSize: thumbSize / 2,\n },\n markLabelActive: {\n top: thumbSize,\n fontSize: thumbSize / 2,\n },\n})(Slider);\n","import React from 'react';\nimport Typography from '@material-ui/core/Typography';\nimport { useSelector } from 'react-redux';\nimport { commaSeparate } from '../../util/appUtils';\nimport TextCenter from '../Typography/TextCenter';\nimport Header from '../Typography/Header';\nimport Subheader from '../Typography/Subheader';\nimport BigSlider from '../kea/Slider/BigSlider';\nimport classes from './SetupRecsAudience.module.scss';\n\nfunction makeAudiences(array) {\n return array.map((audienceValue) => ({\n value: audienceValue,\n text: `Less then ${commaSeparate(audienceValue)}/month`,\n label: `${commaSeparate(audienceValue)}`,\n }));\n}\n\nconst audiences = makeAudiences([\n 1000,\n 5000,\n 10000,\n 20000,\n 50000,\n 100000,\n 500000,\n 1000000,\n]);\naudiences.push(\n {\n value: 1000001,\n text: `${commaSeparate(1000000)} and more`,\n label: `${commaSeparate(1000000)}+`,\n },\n);\n\nexport default function SetupRecsAudience({ onClick }) {\n const audienceSize = useSelector((store) => store.onboarding.recs.audienceSize);\n const audience = audiences.filter((a) => a.value === audienceSize).pop() || audiences[0];\n const audienceIndex = audiences.map((a) => a.value).indexOf(audienceSize);\n\n const onSliderChange = (_, index) => {\n onClick(audiences[index].value);\n };\n const sliderMarks = audiences.map(({ label }, index) => ({ value: index, label }));\n\n return (\n \n
    Store Audience
    \n What is an average monthly number of visitors in your store?\n
    \n {audience.text}\n \n
    \n
    \n );\n}\n","import React, { useState } from 'react';\nimport Button from '@material-ui/core/Button';\nimport { useDispatch, useSelector } from 'react-redux';\nimport classes from './SetupRecs.module.scss';\nimport Header from '../Typography/Header';\nimport Subheader from '../Typography/Subheader';\nimport Center from '../Layout/Center';\nimport TextCenter from '../Typography/TextCenter';\nimport SetupRecsIndustry from './SetupRecsIndustry';\nimport SetupRecsFields from './SetupRecsFields';\nimport SetupRecsAudience from './SetupRecsAudience';\nimport {\n onboardingRecsChange,\n onboardingRecsWizardComplete,\n} from '../../slices/OnboardingSlice';\nimport { toggleValueInArray } from '../../util/appUtils';\n\nexport default function SetupRecs() {\n const [page, changePage] = useState(0);\n const store = useSelector((s) => s);\n const { industries, fields } = store.onboarding.recs;\n const dispatch = useDispatch();\n const changeIndustries = (value) => {\n const copy = [...industries];\n dispatch(onboardingRecsChange({ industries: toggleValueInArray(value, copy) }));\n };\n\n const changeFields = (value) => {\n const copy = [...fields];\n dispatch(onboardingRecsChange({ fields: toggleValueInArray(value, copy) }));\n };\n\n const changeAudience = (value) => {\n dispatch(onboardingRecsChange({ audienceSize: value }));\n };\n\n const completeWizard = () => {\n dispatch(onboardingRecsWizardComplete());\n };\n\n const pages = [\n ,\n ,\n ,\n ];\n\n const prevButton = (page === 0\n && )\n || ;\n\n const nextButton = (page === 2\n && )\n || ;\n\n return (\n
    \n \n
    Welcome to Kea Labs Advanced Recommendations
    \n Before enabling recommendations, please answer a few simple questions and Kea Labs will automatically adjust recommendations to your business.\n
    \n\n { pages[page] }\n
    \n {prevButton}\n {nextButton}\n
    \n
    \n );\n}\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport Grid from '@material-ui/core/Grid';\nimport Onboarding from './Onboarding';\nimport SetupRecs from '../components/SetupRecs/SetupRecs';\nimport SupportRow from '../components/Onboarding/SupportRow';\nimport {\n onboardingRecsPreview,\n onboardingRecsCustomize,\n onboardingRecsActivate,\n} from '../slices/OnboardingSlice';\n\nfunction buildCards(history, shopId) {\n return [\n {\n id: 'step1',\n header: 'Safely preview Recommendations',\n buttonColor: '#0187ac',\n buttonText: 'Preview',\n buttonIcon: 'search',\n buttonOnClick: () => onboardingRecsPreview(),\n meta: 'Sneak peek Recommendations before making it enabled for all of your visitors.',\n }, {\n id: 'step2',\n header: 'Customize Recommendations and Style',\n buttonColor: '#0187ac',\n buttonText: 'Customize',\n buttonIcon: 'edit',\n buttonOnClick: () => {\n history.push(`/app/${shopId}/recs/settings`);\n return onboardingRecsCustomize();\n },\n meta: 'Edit visual style and behaviour of recommendations to match your needs',\n }, {\n id: 'step3',\n header: 'Make Recommendations enabled for your customers!',\n buttonColor: 'green',\n buttonText: 'Activate',\n buttonIcon: 'boat',\n buttonOnClick: () => {\n history.push(`/app/${shopId}/recs/dashboard`);\n return onboardingRecsActivate();\n },\n meta: 'Make Kea Labs Recommendations active and show it for all of your visitors.',\n },\n ];\n}\n\nexport default function OnboardingRecs() {\n const store = useSelector((store) => store);\n const { shopId } = store.settings;\n const { onboarding } = store;\n const history = useHistory();\n const cards = buildCards(history, shopId);\n\n if (!onboarding.recs.wizardCompleted) {\n return (\n <>\n \n \n \n \n \n \n \n );\n }\n\n if (!onboarding.recs.completed) {\n return (\n \n );\n }\n\n return <>;\n}\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { Switch } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { getRecsFields, recsLoadAllModels, recsLoadAllPages, recsLoadAllWidgets } from 'actions';\nimport SafetyRoute from 'components/kea/SafetyRoute';\nimport { Redirect } from 'react-router';\nimport PropTypes from 'prop-types';\nimport Settings from './settings';\nimport Dashboard from './dashboard';\nimport Analytics from './analytics';\nimport Customization from './customization';\nimport OnboardingRecs from '../../../containers/OnboardingRecs';\n\nconst RecsRouter = ({ match }) => {\n const dispatch = useDispatch();\n const { app: { currentShop } } = useSelector((store) => store);\n useEffect(() => {\n dispatch(getRecsFields(currentShop));\n dispatch(recsLoadAllModels(currentShop));\n dispatch(recsLoadAllPages(currentShop));\n dispatch(recsLoadAllWidgets(currentShop));\n }, []);\n\n const { url } = match;\n const dashboardUrl = `${url}/dashboard`;\n return (\n \n } />\n } />\n } />\n } />\n } />\n } />\n \n );\n};\n\nexport default RecsRouter;\n\nRecsRouter.propTypes = {\n match: PropTypes.shape({\n url: PropTypes.string,\n }).isRequired,\n};\n","import React from 'react';\nimport Button from '@material-ui/core/Button';\nimport { Link } from 'react-router-dom';\n\nconst IncorrectShop = ({ authorization: { shopList } }) => (\n
    \n
    \n
    Oops...
    \n

    \n Incorrect shop!\n
    \n {\n shopList.length\n ? 'Chose the shop below:'\n : 'Try to reload the page, or contact our support.'\n }\n {\n shopList.map((shop) => (\n \n \n {shop.shopId}\n \n \n ))\n }\n

    \n\n
    \n
    \n);\n\nexport default IncorrectShop;\n","import React, { useState } from 'react';\nimport PlaceholderSpinner from 'components/kea/placeholders/PlaceholderSpinner';\nimport CardContainer from 'components/kea/CardContainer';\nimport { Line } from 'react-chartjs-2';\nimport { groupCurveByDays, theCurveIsMostlyFull } from 'util/appUtils';\nimport { chartGradients } from 'util/chartUtils';\n\nconst TrendingWidget = ({ chartData }) => {\n const [groupBy] = useState(false);\n\n const options = {\n maintainAspectRatio: false,\n title: { display: false },\n tooltips: { mode: 'index', intersect: false },\n fill: true,\n responsive: true,\n elements: {\n // line:{\n // tension: 0\n // },\n point: {\n radius: 0,\n },\n },\n legend: {\n display: false,\n },\n scales: {\n xAxes: [{ stacked: true }],\n yAxes: [{ stacked: true }],\n },\n };\n const dateAlias = 'label';\n const wantedFields = ['count'];\n\n function autoGroupCurve(arr) {\n let result = arr;\n if (arr.length > 35) {\n const granularity = arr.length > 175 ? 30 : 7;\n const ignoreGrouping = (arr.length < 45) && theCurveIsMostlyFull(arr, 'count', 0.5);\n if (!ignoreGrouping) {\n result = groupCurveByDays(arr, granularity, dateAlias, wantedFields);\n }\n }\n return result;\n }\n\n const renderData = (canvas) => {\n const ctx = canvas.getContext('2d');\n const gradient = ctx.createLinearGradient(0, 0, 800, 0);\n gradient.addColorStop(0.1, chartGradients.gradient3.color1);\n gradient.addColorStop(0.95, chartGradients.gradient3.color2);\n let renderData = chartData;\n if (groupBy) {\n renderData = groupCurveByDays(chartData, groupBy, dateAlias, wantedFields);\n } else {\n renderData = autoGroupCurve(chartData, groupBy);\n }\n\n function getData(name) {\n return renderData.map((e) => e[name]);\n }\n\n const curve = getData('count');\n const total = curve.reduce((obj, e) => obj + e, 0);\n return {\n labels: getData(dateAlias),\n datasets: [{\n backgroundColor: gradient,\n borderWidth: 0,\n data: curve,\n label: 'Number of views',\n fill: (total > 0) ? 'start' : false,\n }],\n };\n };\n\n return (\n \n
    \n {\n chartData\n ? \n : \n }\n
    \n
    \n );\n};\n\nexport default TrendingWidget;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport CardContainer from 'components/kea/CardContainer';\nimport { Grid } from '@material-ui/core';\nimport { genRandomInteger } from 'util/appUtils';\n\nconst ProductThumbnail = ({ imageUrl }) => {\n const genStubId = genRandomInteger(0, 7);\n const fallback = require(`assets/images/dummy/product_stub_${genStubId}.png`);\n if (!imageUrl) imageUrl = fallback;\n\n const onError = (e) => {\n e.target.onerror = null;\n e.target.src = fallback;\n };\n return \"Product;\n};\n\nconst getProductParam = (product) => {\n const defaultStringParam = '---';\n const productParams = {};\n Object.entries(product)\n .forEach(([key, value]) => {\n if (key === 'tags') {\n value = value.join(', ');\n }\n if (key === 'price' || key === 'oldprice') {\n value = `${value} ${product.currencyId}`;\n }\n if (key === 'available') {\n value = value ? 'Yes' : 'No';\n }\n productParams[key] = value;\n });\n return (key) => {\n if (!productParams[key]) {\n return defaultStringParam;\n }\n return productParams[key];\n };\n};\n\nconst ProductSection = ({ product: { data: product } }) => {\n const getParam = getProductParam(product);\n const imageSource = product.picture ? getParam('picture') : getParam('thumbnail');\n return (\n \n \n \n

    \n {getParam('name')}\n {' '}\n {getParam('id')}\n

    \n

    {`Vendor: ${getParam('vendor')}`}

    \n

    {`VendorCode: ${getParam('vendorCode')}`}

    \n

    {`Available: ${getParam('available')}`}

    \n

    {`Tags: ${getParam('tags')}`}

    \n

    {`Price: ${getParam('price')}`}

    \n

    {`Old price: ${getParam('oldprice')}`}

    \n
    \n
    \n );\n};\n\nProductSection.defaultProps = {\n product: {\n data: {},\n },\n};\n\nProductSection.propTypes = {\n product: PropTypes.shape({\n data: PropTypes.object,\n }),\n};\n\nconst ExternalLink = ({ title, product }) => {\n const { settings: { shopAddress } } = useSelector((str) => str);\n if (product && product.data) {\n const href = `https://${shopAddress}${product.data.url}`;\n return {title};\n }\n return null;\n};\n\nconst ProductDetail = ({ product }) => {\n const {\n isFetching,\n data,\n } = product;\n\n return (\n }\n styleName=\"product-detail-container noMargin\"\n isFetching={isFetching}\n >\n {\n data && \n }\n \n );\n};\n\n\nProductDetail.propTypes = {\n product: PropTypes.shape({\n isFetched: PropTypes.bool,\n isFetching: PropTypes.bool,\n data: PropTypes.object,\n }).isRequired,\n};\n\n\nexport default ProductDetail;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport AnalyticTable from 'components/kea/tables/AnalyticTable';\nimport CardContainer from 'components/kea/CardContainer';\nimport { getRelatedProductsByView } from 'actions';\nimport { linkToProductDetail } from 'util/appUtils';\n\nconst RelatedProductsByView = ({ productId }) => {\n const dispatch = useDispatch();\n const { analytics: { products, timeframe }, app: { currentShop } } = useSelector((str) => str);\n const { relatedByView: { isFetching, data, error } } = products;\n\n useEffect(() => {\n dispatch(getRelatedProductsByView(currentShop, timeframe, productId));\n }, [timeframe, productId]);\n\n const headCells = [\n { id: 'name', numeric: false, label: 'Name' },\n { id: 'count', numeric: true, label: 'count' },\n ];\n\n return (\n \n ({ ...e, name: linkToProductDetail(currentShop, e.name, e.id) }))}\n headCells={headCells}\n />\n \n\n );\n};\n\nexport default RelatedProductsByView;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport AnalyticTable from 'components/kea/tables/AnalyticTable';\nimport CardContainer from 'components/kea/CardContainer';\nimport { getRelatedProductsByPurchase } from 'actions';\nimport { linkToProductDetail } from 'util/appUtils';\n\nconst RelatedProductsByPurchase = ({ productId }) => {\n const dispatch = useDispatch();\n const { analytics: { products, timeframe }, app: { currentShop } } = useSelector((str) => str);\n const { relatedByPurchase: { isFetching, data, error } } = products;\n useEffect(() => {\n dispatch(getRelatedProductsByPurchase(currentShop, timeframe, productId));\n }, [timeframe, productId]);\n\n const headCells = [\n { id: 'name', numeric: false, label: 'Name' },\n { id: 'count', numeric: true, label: 'count' },\n ];\n\n const prepareData = (rows) => rows.map((e) => ({\n ...e,\n name: linkToProductDetail(currentShop, e.name, e.id),\n }));\n\n\n return (\n \n \n \n );\n};\n\nexport default RelatedProductsByPurchase;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { linkToQueryDetail } from 'util/appUtils';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { getRelatedQueriesByProduct } from 'actions';\nimport AnalyticTable from 'components/kea/tables/AnalyticTable';\nimport CardContainerSmall from 'components/kea/CardContainerSmall';\n\nconst RelatedQueries = ({ productId }) => {\n const dispatch = useDispatch();\n const { analytics: { search, timeframe }, app: { currentShop } } = useSelector((str) => str);\n const { relatedQueriesByProduct: { isFetching, data, error } } = search;\n\n useEffect(() => {\n dispatch(getRelatedQueriesByProduct(currentShop, timeframe, productId));\n }, [timeframe, productId]);\n\n const headCells = [\n { id: 'query', numeric: false, label: 'Query' },\n { id: 'count', numeric: true, label: 'Count' },\n ];\n\n const sortDesc = (a, b) => b.total - a.total;\n const attachLinkToArray = (e) => ({ ...e, query: linkToQueryDetail(currentShop, e.query) });\n const paginationOptions = {\n rowsPerPageList: [10],\n initRowsPerPage: 10,\n };\n\n return (\n \n \n \n );\n};\n\nexport default RelatedQueries;\n","import React from 'react';\nimport Widget from 'components/Widget/index';\nimport PlaceholderSpinner from 'components/kea/placeholders/PlaceholderSpinner';\nimport WidgetRainbow from 'components/kea/widgets/common/WidgetRainbow';\nimport { chartColors } from 'util/chartUtils';\n\nconst StatsWidget = ({ stats }) => {\n if (!stats) {\n return (\n \n \n \n );\n }\n const totalPurchases = stats && stats.userPurchase;\n const totalViews = stats && stats.totalViews;\n const conversion = (stats && stats.conversion) ? `${stats.conversion}%` : '-';\n\n const pieData = [\n { id: '1', name: 'Number of purchases', fill: chartColors.main.normal, value: totalPurchases },\n { id: '2', name: 'Number of views', fill: chartColors.different.normal, value: totalViews - totalPurchases },\n ];\n\n return (\n \n );\n};\n\nexport default StatsWidget;\n","import React from 'react';\nimport Widget from 'components/Widget/index';\nimport PlaceholderSpinner from 'components/kea/placeholders/PlaceholderSpinner';\nimport WidgetRainbow from 'components/kea/widgets/common/WidgetRainbow';\nimport { chartColors } from 'util/chartUtils';\n\nconst DiscoveryWidget = ({ stats }) => {\n if (!stats) {\n return (\n \n \n \n );\n }\n\n const totalViews = stats && stats.totalViews ? stats.totalViews : '-';\n const fromRecsViews = stats && stats.fromRecsViews;\n const fromSearchViews = stats && stats.fromSearchViews;\n const otherViews = totalViews - fromRecsViews - fromSearchViews;\n\n const pieData = [\n { id: '1', name: 'Recommendations', fill: chartColors.main.normal, value: fromRecsViews },\n { id: '2', name: 'Search', fill: chartColors.different.normal, value: fromSearchViews },\n { id: '3', name: 'Other ways', fill: chartColors.gray.normal, value: otherViews },\n ];\n\n const title = 'Products discovery';\n const description = 'Total views';\n\n return (\n \n );\n};\n\nexport default DiscoveryWidget;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { changeTimeframe, getProductById } from 'actions';\nimport ContainerHeader from 'components/ContainerHeader';\nimport DateRangePicker from 'components/kea/DateRangePicker';\nimport TrendingWidget from './TrendingWidget';\nimport ProductDetail from './ProductDetail';\nimport RelatedProductsByView from './RelatedProductsByView';\nimport RelatedProductsByPurchase from './RelatedProductsByPurchase';\nimport RelatedQueries from './RelatedQueries';\nimport StatsWidget from './StatsWidget';\nimport DiscoveryWidget from './DiscoveryWidget';\n\nconst Product = ({ match }) => {\n const { params: { productId } } = match;\n const dispatch = useDispatch();\n const {\n catalog: { product },\n app: { currentShop },\n analytics: { timeframe },\n } = useSelector((str) => str);\n const { data, stats } = product;\n\n useEffect(() => {\n dispatch(getProductById(currentShop, timeframe, productId));\n }, [timeframe, productId]);\n\n const onTimeframeSubmit = (newRange) => dispatch(changeTimeframe(newRange));\n const timeframePicker = (\n \n );\n\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\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 Product;\n","/* eslint-disable object-curly-newline */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow';\nimport { getComparator, stableSort } from '../utils';\nimport EnhancedTableHead from '../EnhancedTableHead';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n },\n table: {\n // minWidth: 750,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n}));\n\n\nexport default function ProductsTable({ headCells, rows, hidePagination, rowHandleClick }) {\n const classes = useStyles();\n const [order, setOrder] = React.useState('desc');\n const [orderBy, setOrderBy] = React.useState('ctr');\n const [selected, setSelected] = React.useState([]);\n const [page, setPage] = React.useState(0);\n const [rowsPerPage, setRowsPerPage] = React.useState(15);\n\n const rowsCount = rows.length;\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const handleSelectAllClick = (event) => {\n if (event.target.checked) {\n const newSelecteds = rows.map((n) => n.name);\n setSelected(newSelecteds);\n return;\n }\n setSelected([]);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n\n const isSelected = (name) => selected.indexOf(name) !== -1;\n\n const emptyRows = rowsPerPage - Math.min(rowsPerPage, rowsCount - page * rowsPerPage);\n\n return (\n
    \n\n \n \n \n \n {stableSort(rows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row, index) => {\n const isItemSelected = isSelected(row.name);\n return (\n rowHandleClick(event, row.id)}\n hover\n aria-checked={isItemSelected}\n tabIndex={-1}\n key={row.id || row.query}\n selected={isItemSelected}\n >\n {\n headCells.map((e) => (\n \n {row[e.id]}\n \n ))\n }\n \n );\n })}\n {emptyRows > 0 && (\n \n \n \n )}\n \n \n \n {\n hidePagination\n ? null\n : (\n \n )\n\n }\n
    \n );\n}\n\n\nProductsTable.defaultProps = {\n hidePagination: false,\n rowHandleClick: null,\n};\n\nProductsTable.propTypes = {\n rowHandleClick: PropTypes.func,\n rows: PropTypes.arrayOf(PropTypes.object).isRequired,\n headCells: PropTypes.arrayOf(PropTypes.object).isRequired,\n hidePagination: PropTypes.bool,\n};\n","import React from 'react';\nimport IconButton from '@material-ui/core/IconButton';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport TextField from '@material-ui/core/TextField';\nimport Spinner from 'components/kea/placeholders/Spinner';\nimport * as Icons from '@material-ui/icons';\n\nconst SearchInput = ({ changeHandler, isFiltering, value, onClear }) => (\n \n \n {\n isFiltering\n ? \n : \n }\n \n \n ),\n endAdornment: (\n \n \n \n \n \n ),\n }}\n />\n);\n\nexport default SearchInput;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { getProducts, filterProducts } from 'actions/Catalog';\nimport CardContainer from 'components/kea/CardContainer';\nimport ContainerHeader from 'components/ContainerHeader';\nimport { useHistory } from 'react-router-dom';\nimport ProductsTable from 'components/kea/tables/ProductsTable';\nimport SearchInput from './SearchInput';\n\nconst ProductImage = ({ src, name }) => (\n \n);\n\nconst getDataForTable = (data, filteredData, filterQuery) => {\n if (filterQuery && filterQuery !== '') {\n return filteredData;\n }\n return data;\n};\n\nconst ProductList = ({ match }) => {\n const {\n catalog: { productList },\n settings,\n } = useSelector((store) => store);\n const { data, isFetching, isFiltering, filterQuery, filteredData } = productList;\n const dispatch = useDispatch();\n const history = useHistory();\n\n useEffect(() => {\n if (settings.isFetched && !data) {\n dispatch(getProducts(settings.shopId));\n }\n }, [settings.isFetched]);\n\n const headCells = [\n { id: 'image', numeric: false, label: '' },\n { id: 'name', numeric: false, label: 'Name' },\n { id: 'vendor', numeric: false, label: 'Vendor Code' },\n ];\n\n const preparedData = data && data.map((product) => ({\n ...product,\n image: ,\n }));\n\n const filterHandler = ({ target }) => {\n if (filterQuery !== target.value) {\n dispatch(filterProducts(target.value, preparedData));\n }\n };\n const clearFilter = () => {\n if (filterQuery !== '') {\n dispatch(filterProducts('', preparedData));\n }\n };\n\n const filterInput = (\n \n );\n\n const rowClickHandler = (event, id) => {\n if (event.ctrlKey) {\n return window.open(`${window.location.href}/${id}`, '_blank');\n }\n history.push(`${match.url}/${id}`);\n };\n\n return (\n
    \n \n \n {\n data && (\n \n )\n }\n \n
    \n );\n};\n\nexport default ProductList;\n","import React from 'react';\nimport IconButton from '@material-ui/core/IconButton';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport SearchIcon from '@material-ui/icons/Search';\nimport TextField from '@material-ui/core/TextField';\nimport Spinner from 'components/kea/placeholders/Spinner';\n\nconst SearchInput = ({ changeHandler, isFiltering, value }) => (\n \n \n {\n isFiltering\n ? \n : \n }\n \n \n ),\n }}\n />\n);\n\nexport default SearchInput;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { getProducts, filterProducts } from 'actions/Catalog';\nimport CardContainer from 'components/kea/CardContainer';\nimport PlaceholderSpinner from 'components/kea/placeholders/PlaceholderSpinner';\nimport AnalyticTable from 'components/kea/tables/AnalyticTable';\nimport ContainerHeader from 'components/ContainerHeader';\nimport SearchInput from './SearchInput';\n\nconst getDataForTable = (data, filteredData, filterQuery) => {\n if (filterQuery.length) {\n return filteredData;\n }\n return data;\n};\n\nconst ProductListOld = ({ match }) => {\n const { app: { currentShop }, catalog: { productList } } = useSelector((store) => store);\n const { data, isFetching, isFetched, isFiltering, filterQuery, filteredData } = productList;\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch(getProducts(currentShop));\n }, []);\n\n const headCells = [\n { id: 'product', numeric: false, label: 'Product' },\n { id: 'link', numeric: false, label: 'Link' },\n ];\n\n const filterHandler = ({ target }) => dispatch(filterProducts(target.value, data));\n const filterInput = (\n \n );\n\n return (\n
    \n \n \n {\n isFetched && data\n ? (\n \n )\n : \n }\n \n
    \n );\n};\n\nexport default ProductListOld;\n","import React from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport SafetyRoute from 'components/kea/SafetyRoute';\nimport asyncComponent from 'util/asyncComponent';\nimport Product from './Product';\nimport ProductList from './ProductList';\nimport ProductListOld from './ProductListOld';\n\nconst Catalog = ({ match }) => (\n \n } />\n } />\n } />\n\n import('app/routes/404'))} />\n \n);\n\nexport default Catalog;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport AnalyticTable from 'components/kea/tables/AnalyticTable';\nimport CardContainer from 'components/kea/CardContainer';\nimport { getConversionWorst } from 'actions';\nimport { linkToProductDetail } from 'util/appUtils';\n\n\nconst WorstConversion = () => {\n const dispatch = useDispatch();\n const { analytics: { products, timeframe }, app: { currentShop } } = useSelector((str) => str);\n const { conversionWorst: { isFetching, data, error } } = products;\n\n useEffect(() => {\n dispatch(getConversionWorst(currentShop, timeframe));\n }, [timeframe]);\n\n const headCells = [\n { id: 'name', numeric: false, label: 'Name' },\n { id: 'views', numeric: true, label: 'views' },\n { id: 'purchases', numeric: true, label: 'purchases' },\n { id: 'conversion', numeric: true, label: 'conversion' },\n ];\n\n const prepareRows = (rows) => rows.map((e) => ({\n ...e,\n name: linkToProductDetail(currentShop, e.name, e.id),\n conversion: e.conversion,\n }));\n\n\n return (\n \n \n \n\n );\n};\n\nexport default WorstConversion;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport AnalyticTable from 'components/kea/tables/AnalyticTable';\nimport CardContainer from 'components/kea/CardContainer';\nimport { getConversionBest } from 'actions';\nimport { linkToProductDetail } from 'util/appUtils';\n\n\nconst BestConversion = () => {\n const dispatch = useDispatch();\n const { analytics: { products, timeframe }, app: { currentShop } } = useSelector((str) => str);\n const { conversionBest: { isFetching, data, error } } = products;\n\n useEffect(() => {\n dispatch(getConversionBest(currentShop, timeframe));\n }, [timeframe]);\n\n const headCells = [\n { id: 'name', numeric: false, label: 'Name' },\n { id: 'views', numeric: true, label: 'views' },\n { id: 'purchases', numeric: true, label: 'purchases' },\n { id: 'conversion', numeric: true, label: 'conversion' },\n ];\n\n const prepareRows = (rows) => rows.map((e) => ({\n ...e,\n name: linkToProductDetail(currentShop, e.name, e.id),\n conversion: e.conversion,\n }));\n\n\n return (\n \n \n \n\n );\n};\n\nexport default BestConversion;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from 'react';\nimport { Grid } from '@material-ui/core';\nimport WorstConversion from './WorstConversion';\nimport BestConversion from './BestConversion';\n\nconst Conversion = () => (\n \n \n \n \n \n \n \n \n \n \n);\n\nexport default Conversion;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport AnalyticTable from 'components/kea/tables/AnalyticTable';\nimport CardContainer from 'components/kea/CardContainer';\nimport { getPopularByView } from 'actions';\nimport { linkToProductDetail } from '../../../../../../util/appUtils';\n\n\nconst PopularProductsByView = () => {\n const dispatch = useDispatch();\n const { analytics: { products, timeframe }, app: { currentShop } } = useSelector((str) => str);\n const { popularByView: { isFetching, data, error } } = products;\n\n useEffect(() => {\n dispatch(getPopularByView(currentShop, timeframe));\n }, [timeframe]);\n\n const headCells = [\n { id: 'name', numeric: false, label: 'Name' },\n { id: 'count', numeric: true, label: 'count' },\n ];\n\n const prepareRows = (rows) => rows.map((e) => ({\n ...e,\n name: linkToProductDetail(currentShop, e.name, e.id),\n }));\n\n\n return (\n \n \n \n );\n};\n\nexport default PopularProductsByView;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport AnalyticTable from 'components/kea/tables/AnalyticTable';\nimport CardContainer from 'components/kea/CardContainer';\nimport { getPopularByPurchase } from 'actions';\nimport { linkToProductDetail } from '../../../../../../util/appUtils';\n\n\nconst PopularProductsByPurchase = () => {\n const dispatch = useDispatch();\n const { analytics: { products, timeframe }, app: { currentShop } } = useSelector((str) => str);\n const { popularByPurchase: { isFetching, data, error } } = products;\n\n useEffect(() => {\n dispatch(getPopularByPurchase(currentShop, timeframe));\n }, [timeframe]);\n\n const headCells = [\n { id: 'name', numeric: false, label: 'Name' },\n { id: 'count', numeric: true, label: 'count' },\n ];\n\n const prepareRows = (rows) => rows.map((e) => ({\n ...e,\n name: linkToProductDetail(currentShop, e.name, e.id),\n }));\n\n\n return (\n \n \n \n\n );\n};\n\nexport default PopularProductsByPurchase;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from 'react';\nimport { Grid } from '@material-ui/core';\nimport PopularProductsByView from './PopularProductsByView';\nimport PopularProductsByPurchase from './PopularProductsByPurchase';\n\nconst PopularProducts = () => (\n \n \n \n \n \n \n \n \n \n \n);\n\nexport default PopularProducts;\n","import React from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { changeTimeframe } from 'actions';\nimport DateRangePicker from 'components/kea/DateRangePicker';\nimport ContainerHeader from 'components/ContainerHeader';\nimport IntlMessages from 'util/IntlMessages';\nimport asyncComponent from 'util/asyncComponent';\nimport Conversion from './Conversion';\nimport PopularProducts from './PopularProducts';\n\nconst StoreAnalytics = ({ match }) => {\n const dispatch = useDispatch();\n const { analytics: { timeframe } } = useSelector((store) => store);\n\n const onTimeframeSubmit = (newRange) => dispatch(changeTimeframe(newRange));\n\n const timeframePicker = (\n \n );\n\n return (\n
    \n }\n />\n\n \n \n \n\n import('app/routes/404'))} />\n \n
    \n );\n};\n\nexport default StoreAnalytics;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0V0z\",\n fill: \"none\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z\"\n});\n\nvar SvgArrowUpward24Px = function SvgArrowUpward24Px(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgArrowUpward24Px, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/arrow_upward-24px.84e5e9b6.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0V0z\",\n fill: \"none\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z\"\n});\n\nvar SvgArrowDownward24Px = function SvgArrowDownward24Px(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgArrowDownward24Px, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/arrow_downward-24px.28818c19.svg\";\nexport { ForwardRef as ReactComponent };","/* eslint-disable max-len */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport Divider from '@material-ui/core/Divider';\nimport React, { useEffect } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { ReactComponent as UpIcon } from 'assets/images/icons/arrow_upward-24px.svg';\nimport { ReactComponent as DownIcon } from 'assets/images/icons/arrow_downward-24px.svg';\nimport { useDispatch, useSelector } from 'react-redux';\nimport ContainerHeader from 'components/ContainerHeader';\nimport IntlMessages from 'util/IntlMessages';\nimport CardContainer from 'components/kea/CardContainer';\nimport { commaSeparate } from 'util/appUtils';\nimport { changeTimeframe, getABResults } from 'actions';\nimport DateRangePicker from 'components/kea/DateRangePicker';\nimport PlaceholderSpinner from 'components/kea/placeholders/PlaceholderSpinner';\nimport { Link } from 'react-router-dom';\nimport PlaceholderError from '../../../../components/kea/placeholders/PlaceholderError';\n\nconst Experiment = ({ match, location }) => {\n const dispatch = useDispatch();\n const {\n analytics: { experiment, timeframe },\n app: { currentShop },\n settings,\n } = useSelector((store) => store);\n const { error, isFetching, a, b } = experiment;\n\n useEffect(() => {\n dispatch(getABResults(currentShop, timeframe));\n }, [timeframe]);\n\n\n const onTimeframeSubmit = (newRange) => dispatch(changeTimeframe(newRange));\n const timeframePicker = (\n \n );\n\n const calcDiffBetween = (a, b, fixed = 2, suffix = null, goodIs = '+') => {\n if (!a || !b) return null;\n const diff = b - a;\n const sign = diff > 0 ? '+' : '-';\n const value = Math.abs(diff).toFixed(fixed);\n const result = (sign === goodIs) ? 'good' : 'bad';\n\n return (\n
    \n {\n sign === '+'\n ? \n : \n }\n {' '}\n {value}\n {' '}\n {suffix && suffix}\n
    \n );\n };\n\n const calcPercentageBetween = (a, b, fixed, suffix = '%', goodIs = '+') => {\n if (!a || !b) return null;\n const diff = ((b - a) / a) * 100;\n const sign = diff > 0 ? '+' : '-';\n const value = Math.abs(diff).toFixed(2);\n const result = (sign === goodIs) ? 'good' : 'bad';\n\n return (\n
    \n {\n sign === '+'\n ? \n : \n }\n {value}\n {suffix && suffix}\n
    \n );\n };\n\n return (\n
    \n }\n />\n \n {\n isFetching\n ? \n : error\n ? \n : (\n \n \n \n \n \n \n \n
    A
    \n
    \n \n
    \n
    {`Recommendations ${settings.experiment.A.recsEnabled ? 'enabled' : 'disabled'}`}
    \n
    {`Search ${settings.experiment.A.searchEnabled ? 'enabled' : 'disabled'}`}
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    B
    \n
    \n \n
    \n
    {`Recommendations ${settings.experiment.B.recsEnabled ? 'enabled' : 'disabled'}`}
    \n
    {`Search ${settings.experiment.B.searchEnabled ? 'enabled' : 'disabled'}`}
    \n
    \n
    \n
    \n
    \n
    \n\n \n\n \n \n
    Revenue
    \n
    \n \n
    \n
    \n {commaSeparate(a.revenue)}\n {settings.currency}\n
    \n
    \n {calcDiffBetween(b.revenue, a.revenue, 0, settings.currency)}\n
    \n
    \n
    \n \n \n
    \n
    \n {commaSeparate(b.revenue)}\n {settings.currency}\n
    \n
    \n {calcDiffBetween(a.revenue, b.revenue, 0, settings.currency)}\n {calcPercentageBetween(a.revenue, b.revenue)}\n
    \n
    \n
    \n\n
    \n
    \n\n \n \n \n
    Audience
    \n
    \n
    \n\n \n \n
    Number of visitors
    \n
    \n \n
    \n {a.audience.visitors}\n
    \n
    \n \n \n
    \n {b.audience.visitors}\n
    \n {calcPercentageBetween(a.audience.visitors, b.audience.visitors)}\n
    \n
    \n
    \n \n\n \n \n
    Number of filled carts
    \n
    \n \n
    \n {a.audience.withProducts}\n
    \n {calcDiffBetween(b.audience.withProducts, a.audience.withProducts, 0)}\n
    \n
    \n
    \n \n
    \n {b.audience.withProducts}\n
    \n {calcDiffBetween(a.audience.withProducts, b.audience.withProducts, 0)}\n {calcPercentageBetween(a.audience.withProducts, b.audience.withProducts)}\n
    \n
    \n
    \n
    \n\n \n \n
    Filled carts conversion
    \n
    \n \n
    \n {a.audience.withProductsRate}\n %\n
    \n  \n
    \n
    \n
    \n \n
    \n {b.audience.withProductsRate}\n %\n
    \n {calcPercentageBetween(a.audience.withProductsRate, b.audience.withProductsRate, 2, '%')}\n
    \n
    \n
    \n
    \n\n \n \n
    Number of purchases
    \n
    \n \n
    \n {a.purchases.count ? a.purchases.count : '-'}\n
    \n  \n
    \n
    \n
    \n \n
    \n {b.purchases.count ? b.purchases.count : '-'}\n
    \n {calcPercentageBetween(a.purchases.count, b.purchases.count)}\n
    \n
    \n
    \n
    \n \n \n \n
    Abandoned carts rate
    \n
    \n \n
    \n {a.abandonedRate !== 100 ? a.abandonedRate : '-'}\n
    \n  \n
    \n
    \n
    \n \n
    \n {b.abandonedRate !== 100 ? b.abandonedRate : '-'}\n
    \n {a.abandonedRate === b.abandonedRate ? ' ' : calcPercentageBetween(a.abandonedRate, b.abandonedRate, 1, '%', '-')}\n
    \n
    \n
    \n
    \n\n \n \n \n
    Average Order Value
    \n
    \n \n
    \n {a.aov}\n {settings.currency}\n
    \n  \n
    \n
    \n
    \n \n
    \n {b.aov}\n {settings.currency}\n
    \n {calcDiffBetween(a.aov, b.aov, 0)}\n {calcPercentageBetween(a.aov, b.aov, 2, '%', '+')}\n
    \n
    \n
    \n
    \n {/* */}\n {/* */}\n {/* */}\n {/*
    Service Usage
    */}\n {/*
    */}\n {/*
    */}\n {/* */}\n {/* */}\n {/*
    Used Recommendations
    */}\n {/*
    */}\n {/* */}\n {/*
    */}\n {/* {a.usage.recsUsersCount ? `${a.usage.recsUsersCount}` : '-'} */}\n {/*
    */}\n {/*
    */}\n {/* */}\n {/*
    */}\n {/* {b.usage.recsUsersCount ? `${b.usage.recsUsersCount}` : '-'} */}\n {/*
    */}\n {/*
    */}\n {/*
    */}\n {/* */}\n {/* */}\n {/*
    Used Search
    */}\n {/*
    */}\n {/* */}\n {/*
    */}\n {/* {a.usage.searchUsersCount ? `${a.usage.searchUsersCount}` : '-'} */}\n {/*
    */}\n {/*
    */}\n {/* */}\n {/*
    */}\n {/* {b.usage.searchUsersCount ? `${b.usage.searchUsersCount}` : '-'} */}\n {/*
    */}\n {/*
    */}\n {/*
    */}\n \n \n \n
    Average Products Viewed
    \n
    \n \n
    \n {a.averageProductsViewed ? `${a.averageProductsViewed}` : '-'}\n
    \n  \n
    \n
    \n
    \n \n
    \n {b.averageProductsViewed ? `${b.averageProductsViewed}` : '-'}\n
    \n {calcPercentageBetween(a.averageProductsViewed, b.averageProductsViewed)}\n
    \n
    \n
    \n
    \n\n \n \n \n
    Average Number of products in cart
    \n
    \n \n
    \n {a.averageNumberOfProductsInCart ? a.averageNumberOfProductsInCart : '-'}\n
    \n  \n
    \n
    \n
    \n \n
    \n {b.averageNumberOfProductsInCart ? b.averageNumberOfProductsInCart : '-'}\n
    \n {calcPercentageBetween(a.averageNumberOfProductsInCart, b.averageNumberOfProductsInCart)}\n
    \n
    \n
    \n
    \n\n \n \n \n
    \n \n View details...\n \n
    \n
    \n \n
    \n \n View details...\n \n
    \n
    \n
    \n
    \n )\n}\n \n
    \n );\n};\nexport default Experiment;\n","/* eslint-disable max-len */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { useDispatch, useSelector } from 'react-redux';\nimport ContainerHeader from 'components/ContainerHeader';\nimport IntlMessages from 'util/IntlMessages';\nimport CardContainer from 'components/kea/CardContainer';\nimport { changeTimeframe, getABCarts } from 'actions';\nimport DateRangePicker from 'components/kea/DateRangePicker';\nimport PlaceholderSpinner from 'components/kea/placeholders/PlaceholderSpinner';\nimport Chip from '@material-ui/core/Chip';\nimport Typography from '@material-ui/core/Typography';\nimport qs from 'qs';\nimport Pagination from '@material-ui/lab/Pagination';\nimport { PaginationItem } from '@material-ui/lab';\nimport { Link } from 'react-router-dom';\nimport PlaceholderError from '../../../../../components/kea/placeholders/PlaceholderError';\nimport WidgetTable from '../../../../../components/kea/tables/WidgetTable';\nimport { genRandomKey } from '../../../../../util/appUtils';\n\nconst Carts = ({ match, location }) => {\n const { page, group } = qs.parse(location.search, { ignoreQueryPrefix: true });\n const dispatch = useDispatch();\n const {\n analytics: { timeframe, experimentCarts },\n app: { currentShop },\n } = useSelector((store) => store);\n const { error, isFetching, carts, total } = experimentCarts;\n const limit = 20;\n\n useEffect(() => {\n const payload = { page, group, token: currentShop, timeframe, limit };\n dispatch(getABCarts(payload));\n }, [timeframe, page]);\n\n const onTimeframeSubmit = (newRange) => dispatch(changeTimeframe(newRange));\n const timeframePicker = (\n \n );\n\n const statuses = [\n ,\n ,\n ,\n ];\n\n const getRowLabel = (fromRec, fromSearch) => {\n if (fromRec && fromSearch) return ();\n if (fromRec && !fromSearch) return ();\n if (fromSearch && !fromRec) return ();\n return null;\n };\n\n return (\n
    \n }\n />\n {\n isFetching\n ? \n : error\n ? \n : (\n <>\n {\n carts.map((cart) => (\n \n \n \n \n \n \n Group\n \n \n \n {cart.abGroup || 'unknown'}\n \n \n \n \n Order ID\n {cart.externalId || 'unknown'}\n \n \n Kealabs ID\n {cart.internalId || 'unknown'}\n \n \n Created\n {cart.creationDate || 'unknown'}\n \n \n Timestamp \n {cart.timestamp || 'unknown'}\n \n \n IP-address \n {cart.location || 'unknown'}\n \n \n \n \n \n \n {statuses[cart.status]}\n \n \n \n \n \n\n \n \n \n Products:\n \n \n \n ({\n ...el,\n name: el.name.includes('LOCALIZE') ? : el.name,\n labels: getRowLabel(el.fromRec, el.fromSearch),\n })),\n {\n id: '',\n productId: 'Total: ',\n name: '',\n labels: '',\n quantity: cart.total.quantity,\n price: cart.total.price,\n },\n ]}\n />\n \n {\n cart.queries.length > 0\n ? (\n <>\n \n \n Search queries:\n \n \n \n {\n [...new Set(cart.queries.map(({ query }) => query))]\n .map((query) => (\n \n ))\n }\n \n \n )\n : null\n }\n \n \n \n ))\n }\n \n \n \n (\n \n )}\n />\n \n \n \n \n )\n }\n
    \n );\n};\nexport default Carts;\n","import React from 'react';\nimport { Switch } from 'react-router-dom';\nimport Catalog from 'app/routes/store/catalog';\nimport SafetyRoute from 'components/kea/SafetyRoute';\nimport StoreAnalytics from './analytisc';\nimport Experiment from './experiment';\nimport Carts from './experiment/carts';\n\nexport default function StoreRouter({ match }) {\n const { url } = match;\n return (\n \n } />\n } />\n } />\n } />\n \n );\n}\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useCallback, useEffect, useState } from 'react';\nimport {\n Route,\n Switch,\n withRouter,\n} from 'react-router-dom';\nimport SearchRouter from 'app/routes/search/SearchRouter';\nimport RecsRouter from 'app/routes/recs/RecsRouter';\nimport Error404 from 'app/routes/404';\nimport { useDispatch, useSelector } from 'react-redux';\nimport PlaceholderSpinner from 'components/kea/placeholders/PlaceholderSpinner';\nimport IncorrectShop from 'components/kea/placeholders/IncorrectShop';\nimport * as actions from 'actions';\nimport StoreRouter from './store/StoreRouter';\nimport { appInIframe } from '../../util/appUtils';\n\nconst AppRouter = ({ match }) => {\n const { auth: { authorization }, app: { currentShop } } = useSelector((store) => store);\n\n const spinnerIsSpinning = !currentShop || authorization.isFetching;\n if (spinnerIsSpinning) {\n return ;\n }\n\n return (\n \n } />\n \n \n \n );\n};\n\n\nconst NestedRoutes = ({ match }) => {\n const dispatch = useDispatch();\n const [wrongShop, setWrongShop] = useState(false);\n\n const fetchShopData = useCallback((token) => {\n dispatch(actions.getSettings(token));\n dispatch(actions.getAlerts(token, 'search'));\n dispatch(actions.getAlerts(token, 'recs'));\n dispatch(actions.getSearchFields(token));\n }, [dispatch]);\n\n const { app, auth } = useSelector((store) => store);\n const { currentShop } = app;\n const { authorization } = auth;\n const { shopMap } = authorization;\n\n useEffect(() => {\n if (shopMap[currentShop]) {\n fetchShopData(currentShop);\n } else if (appInIframe()) {\n fetchShopData(currentShop);\n } else {\n setWrongShop(true);\n }\n }, [currentShop, shopMap]);\n\n if (wrongShop) {\n return (\n \n );\n }\n\n const { url } = match;\n return (\n <>\n \n \n \n \n \n \n );\n};\n\nexport default withRouter(AppRouter);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport AppLayouts from './AppLayouts';\nimport AppRouter from '../../app/routes/Router';\n\nconst AppLayout = () => {\n const horizontalNavPosition = useSelector(({ app }) => app.horizontalNavPosition);\n const navigationStyle = useSelector(({ app }) => app.navigationStyle);\n const onGetLayout = (layout) => {\n switch (layout) {\n case 'inside_the_header':\n return 'InsideHeaderNav';\n\n case 'above_the_header':\n return 'AboveHeaderNav';\n\n case 'below_the_header':\n return 'BelowHeaderNav';\n default:\n return 'Vertical';\n }\n };\n\n const Layout = AppLayouts[\n navigationStyle === 'vertical_navigation'\n ? 'Vertical'\n : onGetLayout(horizontalNavPosition)\n ];\n\n return (\n \n \n \n );\n};\n\nexport default AppLayout;\n","import indigo from '@material-ui/core/colors/indigo';\nimport pink from '@material-ui/core/colors/pink';\n\nexport default {\n palette: {\n primary: {\n light: indigo[300],\n main: indigo[500],\n dark: indigo[700],\n contrastText: '#fff',\n },\n secondary: {\n light: pink[300],\n main: pink.A200,\n dark: pink[700],\n contrastText: '#fff',\n },\n },\n status: {\n danger: 'orange',\n },\n typography: {\n button: {\n fontWeight: 400,\n textAlign: 'capitalize',\n },\n },\n};\n","import cyan from '@material-ui/core/colors/cyan';\nimport green from '@material-ui/core/colors/green';\n\nexport default {\n palette: {\n primary: {\n light: cyan[300],\n main: cyan[500],\n dark: cyan[700],\n contrastText: '#fff',\n },\n secondary: {\n light: green[300],\n main: green.A200,\n dark: green[700],\n contrastText: '#fff',\n },\n },\n status: {\n danger: 'orange',\n },\n typography: {\n button: {\n fontWeight: 400,\n textAlign: 'capitalize',\n },\n },\n};\n","import deepOrange from '@material-ui/core/colors/deepOrange';\nimport amber from '@material-ui/core/colors/amber';\n\nexport default {\n palette: {\n primary: {\n light: amber[300],\n main: amber[500],\n dark: amber[700],\n contrastText: '#fff',\n },\n secondary: {\n light: deepOrange[300],\n main: deepOrange.A400,\n dark: deepOrange[700],\n contrastText: '#fff',\n },\n },\n status: {\n danger: 'orange',\n },\n\n typography: {\n button: {\n fontWeight: 400,\n textAlign: 'capitalize',\n },\n },\n};\n","import deepOrange from '@material-ui/core/colors/deepOrange';\nimport lightBlue from '@material-ui/core/colors/lightBlue';\n\nexport default {\n palette: {\n primary: {\n light: deepOrange[300],\n main: deepOrange[500],\n dark: deepOrange[700],\n contrastText: '#fff',\n },\n secondary: {\n light: lightBlue[300],\n main: lightBlue.A200,\n dark: lightBlue[700],\n contrastText: '#fff',\n },\n },\n status: {\n danger: 'orange',\n },\n typography: {\n button: {\n fontWeight: 400,\n textAlign: 'capitalize',\n },\n },\n};\n","import pink from '@material-ui/core/colors/pink';\nimport teal from '@material-ui/core/colors/teal';\n\nexport default {\n palette: {\n primary: {\n light: pink[300],\n main: pink[500],\n dark: pink[700],\n contrastText: '#fff',\n },\n secondary: {\n light: teal[300],\n main: teal.A700,\n dark: teal[700],\n contrastText: '#fff',\n },\n },\n status: {\n danger: 'orange',\n },\n typography: {\n button: {\n fontWeight: 400,\n textAlign: 'capitalize',\n },\n },\n};\n","import blue from '@material-ui/core/colors/blue';\nimport deepOrange from '@material-ui/core/colors/deepOrange';\n\nexport default {\n palette: {\n primary: {\n light: blue[300],\n main: blue[500],\n dark: blue[700],\n contrastText: '#fff',\n },\n secondary: {\n light: deepOrange[300],\n main: deepOrange.A200,\n dark: deepOrange[700],\n contrastText: '#fff',\n },\n },\n status: {\n danger: 'orange',\n },\n typography: {\n button: {\n fontWeight: 400,\n textAlign: 'capitalize',\n },\n },\n};\n","import deepPurple from '@material-ui/core/colors/deepPurple';\nimport amber from '@material-ui/core/colors/amber';\n\nexport default {\n palette: {\n primary: {\n light: deepPurple[300],\n main: deepPurple[500],\n dark: deepPurple[700],\n contrastText: '#fff',\n },\n secondary: {\n light: amber[300],\n main: amber.A700,\n dark: amber[700],\n contrastText: '#fff',\n },\n },\n status: {\n danger: 'orange',\n },\n typography: {\n button: {\n fontWeight: 400,\n textAlign: 'capitalize',\n },\n },\n};\n","import enMessages from '../locales/en_US.json';\n\nconst EnLang = {\n messages: {\n ...enMessages,\n },\n locale: 'en-US',\n};\nexport default EnLang;\n","import React from 'react';\nimport { Alert } from 'reactstrap';\n\nconst AlertDismissible = ({ onClose, text, className }) => (\n \n {text}\n \n);\n\nexport default AlertDismissible;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport Parser from 'html-react-parser';\nimport qs from 'qs';\nimport { rewriteAlertBanners, updateAlertBanners } from '../../actions';\nimport AlertDismissible from '../../components/kea/AlertDismissible';\n\nconst getClassByType = (type) => {\n const match = {\n warning: 'shadow-lg alert alert-warning fade show',\n info: 'shadow-lg alert alert-info fade show',\n dark: 'shadow-lg alert alert-light fade show',\n };\n return match[type];\n};\nconst AlertBanner = ({ location }) => {\n const dispatch = useDispatch();\n const { settings: {\n alerts: {\n data,\n isFetching,\n actions,\n } },\n } = useSelector((store) => store);\n\n useEffect(() => {\n const parseOptions = { ignoreQueryPrefix: true };\n const qsObject = qs.parse(location.search, parseOptions);\n const action = actions[qsObject.banner];\n if (action) {\n dispatch(updateAlertBanners([action]));\n }\n }, []);\n\n const alertsIsNotAvailable = isFetching || (data.length === 0);\n if (alertsIsNotAvailable) {\n return null;\n }\n\n const closeBanner = (key) => {\n let filtered = data.map((e, i) => ((i !== key) ? e : false));\n filtered = filtered.filter((e) => e);\n dispatch(rewriteAlertBanners(filtered));\n };\n\n return (\n
    \n {\n data.map((el, index) => (\n closeBanner(index)}\n text={Parser(el.message)}\n className={getClassByType(el.status)}\n />\n ))\n }\n\n
    \n );\n};\n\nexport default AlertBanner;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from 'react';\nimport { createTheme } from '@material-ui/core/styles';\nimport { ThemeProvider } from '@material-ui/styles';\nimport MomentUtils from '@date-io/moment';\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { IntlProvider } from 'react-intl';\nimport 'assets/vendors/style';\nimport RTL from 'util/RTL';\nimport { getToken } from 'util/authUtils';\nimport asyncComponent from 'util/asyncComponent';\nimport greenTheme from './themes/greenTheme';\nimport SignIn from './SignIn';\nimport * as actions from '../actions';\nimport AppLayout from './AppLayout';\nimport getColorTheme from '../util/getColorTheme';\nimport { changeShop } from '../actions';\nimport { getInitUrlByShop, getShopIdFromLocation } from '../util/appUtils';\nimport enLang from '../lngProvider/entries/en-US';\nimport AlertBanner from './AlertBanner';\n\nconst App = (props) => {\n const dispatch = useDispatch();\n const { app, auth } = useSelector((store) => store);\n const { themeColor, darkTheme } = app;\n const { initURL, authorization } = auth;\n const { match, location, history } = props;\n const isDarkTheme = darkTheme;\n\n const shopToken = getShopIdFromLocation();\n useEffect(() => {\n if (shopToken) dispatch(changeShop(shopToken));\n }, [shopToken, dispatch]);\n\n useEffect(() => {\n window.__MUI_USE_NEXT_TYPOGRAPHY_VARIANTS__ = true;\n if (initURL === '') dispatch(actions.setInitUrl(history.location.pathname));\n }, [initURL]);\n\n let applyTheme = createTheme(greenTheme);\n if (isDarkTheme) {\n document.body.classList.add('dark-theme');\n applyTheme = createTheme(darkTheme);\n } else {\n applyTheme = getColorTheme(themeColor, applyTheme);\n }\n\n const sessionToken = getToken();\n\n useEffect(() => {\n if (sessionToken) dispatch(actions.getAuthorization());\n }, [sessionToken]);\n\n if (location.pathname === '/') {\n if (!authorization.isFetched) {\n return ();\n }\n if (initURL === '' || initURL === '/' || initURL === '/signin') {\n return ();\n }\n return ();\n }\n\n if (['/signin', '/signin/embedded'].includes(location.pathname) && sessionToken) {\n return ();\n }\n\n if (location.pathname === '/app' && authorization.isFetched) {\n if (authorization.shopList.length) {\n const shopConfig = authorization.shopList[0];\n const initUrlForShop = getInitUrlByShop(shopConfig);\n return ;\n }\n }\n\n return (\n \n \n \n \n \n
    \n \n \n \n {/* */}\n import('app/routes/404'))}\n />\n \n
    \n
    \n
    \n
    \n
    \n );\n};\n\nexport default App;\n\nconst RestrictedRoute = ({ component: Component, sessionToken, ...rest }) => (\n (\n sessionToken\n ? \n : (\n \n ))}\n />\n);\n","import { createTheme } from '@material-ui/core/styles';\nimport {\n AMBER,\n BLUE,\n CYAN, DARK_AMBER, DARK_BLUE,\n DARK_CYAN, DARK_DEEP_ORANGE, DARK_DEEP_PURPLE, DARK_GREEN,\n DARK_INDIGO, DARK_PINK,\n DEEP_ORANGE,\n DEEP_PURPLE,\n GREEN,\n INDIGO,\n PINK,\n} from '../constants/ThemeColors';\nimport indigoTheme from '../containers/themes/indigoTheme';\nimport cyanTheme from '../containers/themes/cyanTheme';\nimport amberTheme from '../containers/themes/amberTheme';\nimport orangeTheme from '../containers/themes/orangeTheme';\nimport pinkTheme from '../containers/themes/pinkTheme';\nimport blueTheme from '../containers/themes/blueTheme';\nimport purpleTheme from '../containers/themes/purpleTheme';\nimport greenTheme from '../containers/themes/greenTheme';\n\nexport default (themeColor, applyTheme) => {\n switch (themeColor) {\n case INDIGO: {\n applyTheme = createTheme(indigoTheme);\n break;\n }\n case CYAN: {\n applyTheme = createTheme(cyanTheme);\n break;\n }\n case AMBER: {\n applyTheme = createTheme(amberTheme);\n break;\n }\n case DEEP_ORANGE: {\n applyTheme = createTheme(orangeTheme);\n break;\n }\n case PINK: {\n applyTheme = createTheme(pinkTheme);\n break;\n }\n case BLUE: {\n applyTheme = createTheme(blueTheme);\n break;\n }\n case DEEP_PURPLE: {\n applyTheme = createTheme(purpleTheme);\n break;\n }\n case GREEN: {\n applyTheme = createTheme(greenTheme);\n break;\n }\n case DARK_INDIGO: {\n applyTheme = createTheme({ ...indigoTheme, direction: 'rtl' });\n break;\n }\n case DARK_CYAN: {\n applyTheme = createTheme(cyanTheme);\n break;\n }\n case DARK_AMBER: {\n applyTheme = createTheme(amberTheme);\n break;\n }\n case DARK_DEEP_ORANGE: {\n applyTheme = createTheme(orangeTheme);\n break;\n }\n case DARK_PINK: {\n applyTheme = createTheme(pinkTheme);\n break;\n }\n case DARK_BLUE: {\n applyTheme = createTheme(blueTheme);\n break;\n }\n case DARK_DEEP_PURPLE: {\n applyTheme = createTheme(purpleTheme);\n break;\n }\n case DARK_GREEN: {\n applyTheme = createTheme(greenTheme);\n break;\n }\n default: createTheme(greenTheme);\n }\n return applyTheme;\n};\n","import React from 'react';\nimport { ConnectedRouter } from 'connected-react-router';\nimport { Provider } from 'react-redux';\nimport { Route, Switch } from 'react-router-dom';\nimport { SnackbarProvider } from 'notistack';\nimport NotificationSnackbar from 'containers/NotificationSnackbar';\nimport configureStore, { history } from './store';\nimport App from './containers/App';\n\nexport const store = configureStore();\nconst snackbarAnchor = { vertical: 'bottom', horizontal: 'center' };\n\nconst MainApp = () => (\n \n \n \n \n \n \n \n \n \n \n);\n\nexport default MainApp;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttons\":\"SetupRecs_buttons__1Eglz\",\"page\":\"SetupRecs_page__1FjzP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"image\":\"SetupCard_image__14_u4\",\"card\":\"SetupCard_card__2gMaw\",\"card-active\":\"SetupCard_card-active__2A1K7\",\"content\":\"SetupCard_content__1M4CC\"};","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport IntlMessages from 'util/IntlMessages';\n\nconst Error404 = () => (\n
    \n
    \n
    404
    \n

    \n \n

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

    \n \n

    \n
    \n
    \n);\n\nexport default Error404;\n","module.exports = __webpack_public_path__ + \"static/media/kealogo.ca000de0.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALEAAABBCAYAAACeu0XcAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTQ0REUyMUIyNDRCMTFFOUEyQ0RBNDM5QUIzQkVBOUUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTQ0REUyMUMyNDRCMTFFOUEyQ0RBNDM5QUIzQkVBOUUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFNDRERTIxOTI0NEIxMUU5QTJDREE0MzlBQjNCRUE5RSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFNDRERTIxQTI0NEIxMUU5QTJDREE0MzlBQjNCRUE5RSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnOGDjMAABjaSURBVHja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\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header1\":\"Header_header1__QOjc6\",\"header2\":\"Header_header2__17HOf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"subheader1\":\"Subheader_subheader1__3GPhP\",\"subheader2\":\"Subheader_subheader2__3A5Dd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sliderText\":\"SetupRecsAudience_sliderText__1Dt29\",\"sliderWrapper\":\"SetupRecsAudience_sliderWrapper__2SST6\"};","import React from 'react';\nimport { FormattedMessage, injectIntl } from 'react-intl';\n\nconst InjectMassage = (props) => ;\nexport default injectIntl(InjectMassage, {\n withRef: false,\n});\n","module.exports = __webpack_public_path__ + \"static/media/no-data-available-3.690d1bc4.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"center\":\"TextCenter_center__3VJXs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"grid\":\"RealGrid_grid__1Pozb\"};","import React from 'react';\nimport ReactDOM from 'react-dom';\n\nconst rootEl = document.getElementById('app-site');\n\n// Create a reusable render method that we can call more than once\nconst render = () => {\n // Dynamically import our main App component, and render it\n const MainApp = require('./MainApp').default;\n ReactDOM.render(\n ,\n rootEl,\n );\n};\n\nif (module.hot) {\n module.hot.accept('./MainApp', () => {\n const MainApp = require('./MainApp').default;\n render(\n ,\n rootEl,\n );\n });\n}\n\nrender();\n","module.exports = __webpack_public_path__ + \"static/media/server-is-no-available-1.c11a5568.svg\";"],"sourceRoot":""}