{"version":3,"sources":["../node_modules/@arm/arm-design-system-core/dist/esm lazy /^/.*/.entry/.js$/ include: /.entry/.js$/ exclude: /.system/.entry/.js$/ groupOptions: {} namespace object","temp/config.js","context/reducers/user.js","constants/actionTypes.js","context/index.js","ThemeToggle/index.js","components/Authentication/index.js","lib/RenderingStyling.js","components/FilterAndSearchComponents/FilterAndSearchCommunityPostsContainer/index.js","components/SharedComponents/StarsRating/index.js","components/FilterAndSearchComponents/FilterAndSearchContainer/index.js","constants/TemplateIds.js","services/coveoQueryService.js","components/FilterAndSearchComponents/FilterAndSearchSpotlightContentVariantA/index.js","components/FilterAndSearchComponents/FilterAndSearchSpotlightContentVariantB/index.js","components/HomeComponents/CommunityContainer/index.js","components/HomeComponents/DocumentationContainer/index.js","components/SharedComponents/HomeCard/index.js","components/HomeComponents/DownloadCards/index.js","components/SharedComponents/HomeCardsContainer/index.js","components/HomeComponents/DownloadsContainer/index.js","components/HomeComponents/HelpCards/index.js","components/HomeComponents/HelpContainer/index.js","components/HomeComponents/HomepageMasthead/index.js","components/HomeComponents/PromotionalBanner/index.js","components/HomeComponents/RecommendedContainer/index.js","components/HomeComponents/StartDevelopingCards/index.js","components/HomeComponents/StartDevelopingContainer/index.js","components/HomeComponents/TopCardsSection/index.js","components/ProductComponents/AdditionalResourcesCard/index.js","components/ProductComponents/ComponentsTabContainer/index.js","components/ProductComponents/EditionsTabContainer/index.js","components/ProductComponents/EventBanner/index.js","components/ProductComponents/KeyResources/index.js","components/ProductComponents/ProductProgramBanner/index.js","components/ProductComponents/ReleaseSection/index.js","components/ProductComponents/ResourcesContainer/index.js","components/ProductComponents/SoftwareDownloadsContainer/index.js","components/ProductComponents/SupportAndTrainingCardsContainer/index.js","components/ProductComponents/SupportCard/index.js","components/ProductComponents/SupportedDevicesContainer/index.js","components/ProductComponents/TechnicalSpecificationContainer/index.js","components/ProductComponents/TechnicalSpecificationContainerVariantB/index.js","components/ProductComponents/TechnicalSpecificationContainerVariantC/index.js","components/ProductComponents/ToolsAndSoftwareCard/index.js","components/ProductComponents/ToolsAndSoftwareCardsContainer/index.js","components/ProductComponents/TrainingCard/index.js","components/ProductComponents/UseCaseCard/index.js","components/ProductComponents/UseCaseCardsContainer/index.js","components/ProductComponents/WorksWellWithCard/index.js","components/ProductComponents/WorksWellWithCardsContainer/index.js","components/SharedComponents/CallToActionButton/index.js","components/SharedComponents/ClientSideRedirect/index.js","components/SharedComponents/CommunityBlogs/index.js","components/SharedComponents/CommunityFourm/index.js","components/SharedComponents/CommunityPostsContainer/index.js","components/SharedComponents/CookieConsent/index.js","components/SharedComponents/EventLink/index.js","components/SharedComponents/EventListCard/index.js","components/SharedComponents/FeatureCard/index.js","components/SharedComponents/FeatureCardSmall/index.js","components/SharedComponents/Footer/index.js","context/action/user.js","services/userService.js","components/SharedComponents/GlobalNavigation/index.js","components/SharedComponents/HorizontalTab/index.js","components/SharedComponents/HorizontalTabsContainer/index.js","components/SharedComponents/LinkWithIconListItem/index.js","lib/GraphQLData.js","components/SharedComponents/Masthead/index.js","components/SharedComponents/RichTextEditor/index.js","components/SharedComponents/StarRatingMobile/index.js","components/SharedComponents/VideoContent/index.js","temp/componentFactory.js","dataFetcher.js","components/SharedComponents/JsonLd/JsonLdData.js","Layout.js","ErrorComponent/index.js","ErrorPage.js","RouteHandler.js","AppRoot.js","index.js","lib/GraphQLClientFactory.js"],"names":["map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","all","slice","keys","Object","module","exports","initialUserState","user","isAuth","isLoginDone","state","action","type","data","StateContext","createContext","StateProvider","slices","children","Provider","React","useReducer","prevState","reduce","nextState","nextProp","dispatch","value","UseGlobalState","useContext","themeToggleValue","config","REACT_APP_THEME_TOGGLE","ThemeToggle","props","getAppBaseUri","REACT_APP_PUBLIC_PATH","replace","getSFaAuthConfig","baseUrl","REACT_APP_ORIGIN","authority","REACT_APP_SFA_AUTHORITY","client_id","REACT_APP_SFA_CLIENT_ID","post_logout_redirect_uri","redirect_uri","REACT_APP_AUTH_SIGN_IN_URL","scope","REACT_APP_SFA_SCOPE","silent_redirect_uri","REACT_APP_AUTH_SILENT_SIGN_IN_URL","test","REACT_APP_ENV","login","AzureB2CService","init","AuthConsumingService","returnUrl","URLSearchParams","location","search","get","URL","className","isLoading","signin","onUserLoggedIn","profile","logout","coveoUserToken","document","cookie","split","find","row","startsWith","coveoUserTokenValue","signOutCallback","undefined","window","signOut","onUserLoggedOut","RenderingStyling","rName","opts","withPlaceholder","fields","rendering","CommunityBlogsPlaceHolder","CommunityForumsPlaceHolder","componentName","field","title","class","FeedbackForm","loadable","ssr","withSitecoreContext","uid","sitecoreContext","isMobile","useState","setIsMobile","useEffect","handleWindowSizeChange","innerWidth","addEventListener","removeEventListener","useIsMobile","targetNodeList","getElementsByClassName","length","targetNode","observer","MutationObserver","mutationsList","addedNodes","buttons","querySelectorAll","forEach","button","classList","add","setAttribute","heading","observe","childList","subtree","disconnect","FilterAndSearchContainerWithPlaceholderInjected","SpotlightContentPlaceholder","console","log","route","EnableA2ZSorting","renderSpotlightContentContainer","templateId","shortDescription","facetsConfig","facets","facet","label","showCountsInFacet","isHierarchial","resultItemType","viewType","resultType","userSelectedViewtype","localStorage","getItem","JSON","parse","err","resultViewType","variant","resultVariant","hideBreadcrumb","pageEditing","CoveoOrganizationID","REACT_APP_COVEOORGANIZATIONID","CoveoGetTokenURI","REACT_APP_COVEOGETSEARCHTOKENURL","CoveoSearchHub","databaseName","landingPageSearchHub","CoveoQueryPipeline","REACT_APP_COVEOLANDINGPAGEQUERYPIPELINE","coveoQuery","token","isLoggedIn","showRecommendedTag","enableA2zSort","FilterAndSearchContainerWithPlaceholderAndSitecoreContext","productHierarchyCoveoQuery","UXNSProducts","acc","currentValue","index","hierarchyPathsValue","HierarchyPaths","pop","shouldHideSpotlightContent","queryParams","hash","substring","x","FilterAndSearchSpotlightContentVariantAWithPlaceholderInjected","SpotlightLinksPlaceholder","FilterAndSearchSpotlightContentVariantAWithPlaceholderAndSitecoreContext","FilterAndSearchSpotlightContentVariantBWithPlaceholderInjected","FeaturedCardsPlaceholder","FilterAndSearchSpotlightContentVariantBWithPlaceholderAndSitecoreContext","CommunityContainer","link","href","srLabel","REACT_APP_COVEOHOMEPAGECOMMUNITYSEARCHHUB","REACT_APP_COVEOHOMEPAGECOMMUNITYQUERYPIPELINE","DocumentationContainer","REACT_APP_COVEOHOMEPAGEDOCUMENTATIONSEARCHHUB","REACT_APP_COVEOHOMEPAGEDOCUMENTATIONQUERYPIPELINE","HomeCard","Fragment","has-hover-effect","orientation","slot","content","DownloadCards","HomeCardsContainer","Cards","DownloadCardsPlaceholder","HelpCards","HelpCardsPlaceholder","HomepageMasthead","style","minHeight","coveoOrganizationID","coveoGetTokenURI","coveoQueryPipeline","REACT_APP_COVEOHOMEPAGESEARCHBOXQUERYPIPELINE","coveoSearchHub","REACT_APP_COVEOHOMEPAGESEARCHBOXSEARCHHUB","searchPage","REACT_APP_COVEOSEARCHPAGE","placeholderSearchBox","text","themes","theme","data-track","data-track-value","url","PromotionalBanner","backgroundImage","image","src","maxWidth","description","RecommendedContainer","REACT_APP_COVEOHOMEPAGERECOMMENDEDSEARCHHUB","REACT_APP_COVEOHOMEPAGERECOMMENDEDPIPELINE","StartDevelopingCard","media","lightImage","darkImage","StartDevelopingCardsPlaceholder","TopCardsSectionPlaceholder","AdditionalResourcesCard","links","listItem","key","pageTitle","otherLinks","viewAll","aria-hidden","ComponentsCardsPlaceholder","cardsHeading","EditionsTabContainer","table","eventHeading","eventLink","eventTitle","eventDetails","eventImage","eventContent","ctaLink","ctaName","selected_resource_Data","select_resource","resource","target","REACT_APP_COVEOPRODUCTPAGESEARCHHUB","REACT_APP_COVEOPRODUCTPAGEQUERYPIPELINE","CoveoRecommendedSearchHub","REACT_APP_COVEOPRODUCTPAGERECOMMENDATIONSEARCHHUB","CoveoRecommendedQueryPipeline","REACT_APP_COVEOPRODUCTPAGERECOMMENDATIONQUERYPIPELINE","searchEndPoint","REACT_APP_COVEOCACHEDENDPOINT","tabId","REACT_APP_COVEOKEYRESOURCESTABID","viewMoreLinkUrl","sitecoreResources","styleString","setStyleString","CheckVal","bgColorsForThemeChange","setbgColorsForThemeChange","getElementById","backgroundColor","color","themeToken","Program","RelativeDescription","tag","editable","data-sample","Button1_Url","Button1_Text","Button2_Url","Button2_Text","EdgeAuth","require","http","isStartDownload","makeRequest","options","callback","request","res","on","chunk","end","AdsTable","release","setReleaseData","isAsc","setisAsc","ea","REACT_APP_ENCRYPTIONKEY","windowSeconds","escapeEarly","getReleaseData","userData","setUserData","packageDownload","path","loaderEle","downloadUrl","PackageDownloadApi","packageUrl","generateURLToken","fileUrl","open","params","activeTab","a","akamai_url","AkamaiApi","new_url","release_item","Product","ReleaseTitle","hostname","REACT_APP_EA_HOSTNAME","statusCode","sortedData","fileInfos","sort","b","toLowerCase","triggerAutoDownload","downloadEle","click","isPlatform","filter","platform","isTarget","sortReleaseData","header","Number","paddingBottom","width","onClick","PlatformText","PackageText","TargetText","SizeText","MD5Text","info","display","hidden","data-title","ispermalink","name","PermanentPackageDownloadApi","download","event","mustAgree","currentTarget","remove","RequiredAuthentication","emailId","emails","docuSignClick","Clickwrap","render","environment","DocusignEnvironment","accountId","DocusignAccId","clickwrapId","DocusignClickWrapId","clientUserId","documentData","fullName","email","company","date","onAgreed","onDeclined","REACT_APP_PATHNAME","pathname","clickToDownload","bytesVal","parseFloat","isNaN","toFixed","ConvertBytes","size","position","onMouseUp","copyText","innerText","navigator","clipboard","writeText","preventDefault","clickToCopy","md5","ReleaseSection","release_list","ReleaseItemsDatasource","latest_release_name","LatestRelease","release_Item","isDefaultExpanded","DownloadsText","Date","ReleaseDate","getFullYear","toLocaleDateString","year","month","day","ReleaseNoteLink","ReleaseAdditionalInfo","displayName","hideProductTags","REACT_APP_COVEORESOURCESTABID","scopedProductsLabel","switchTagsLocation","useUrlParams","softwaredownloadcontent","SupportCardsPlaceholder","EventBannersPlaceholder","TrainingCardsPlaceholder","supportTitle","trainingTitle","SupportCard","pageLink","SupportedDevicesContainer","KeyResourcesPlaceholder","CallToActionButtonsPlaceholder","summary","isLargeImage","AdditionalResourcesCardPlaceholder","textAfterImage","ToolsAndSoftwareCard","ToolsAndSoftwareCardsPlaceholder","TrainingCard","subTitle","UseCaseCard","sc-part-of","bgColorstyle","UseCaseCardsPlaceholder","isUseCaseContainerExists","WorksWellWithCard","subHeading","WorksWellWithCardsPlaceholder","linktype","redirectLink","redirectUrl","origin","REACT_APP_SITECOREORIGIN","timeout","endsWith","redirectTime","counter","setCounter","timer","setInterval","clearTimeout","str","parts","result","i","push","formatJSXRedirectText","redirectText","CommunityBlog","blogID","OrFromBlogs","blog","toString","blogTagValues","KeywordTags","blogText","KeywordTagsText","blogTagText","join","blogTag","numberofPosts","NumberOfPosts","REACT_APP_COVEOCOMMUNITYSEARCHHUB","REACT_APP_COVEOCOMMUNITYQUERYPIPELINE","REACT_APP_COVEOCOMMUNITYRECOMMENDEDQUERYPIPELINE","forumID","OrFromSingleForum","filterBy","FilterBy","CTAlink","role","aria-label","sitecoreURI","REACT_APP_SITECOREURI","sitecoreEndpoint","REACT_APP_COOKIEENPOINT","sitecoreDatasource","domain","REACT_APP_COOKIEDOMAIN","cookieData","disableCookie","EventLink","datetime","toLocaleString","toDateString","EventLinksPlaceholder","FeatureCard","FeatureCardSmall","FooterClient","REACT_APP_FOOTERSITECOREENDPOINT","REACT_APP_FOOTERSITECOREDATASOURCE","footerDomainUrl","REACT_APP_FOOTERDOMAINURL","footerData","initAzureB2CAction","getToken","getUser","isAuthenticated","catch","error","GlobalNavigationClient","appName","auth","menuLinks","REACT_APP_SITECORE_PROFILE_LINK","REACT_APP_SITECORE_SETTINGS_LINK","REACT_APP_SITECORE_NOTIFICATIONS_LINK","loginLink","registerLink","logoutLink","searchUrl","isTheme","scriptEnvironmentHostUrl","REACT_APP_ARM_GLOBALNAVIGATION_HOST","GlobalNavigation","notificationsApi","REACT_APP_SITECORE_NOTIFICATIONS_API","data-id","HorizontalTabsContainer","getTabName","activeTabVal","detail","setState","indexOf","this","tabsPlaceholder","prevProps","renderings","tabRendering","tabs","breakpoint","onTabSelect","evt","Component","tabsComponentWithPlaceholderInjected","placeholder","prop","tabsWithPlaceholderAndSitecoreContext","LinkWithIconListItem","iconCssClass","icon","alt","extractVariableNames","query","variableNames","definitions","def","variableDefinitions","defs","kind","variable","GraphQLData","configuration","SitecoreRenderingWrapper","newConfiguration","variables","pageState","some","operation","datasource","dataSource","contextItem","itemId","innerQuery","resultProps","assign","GQL","graphql","resetExperienceEditorChromes","process","NODE_TLS_REJECT_UNAUTHORIZED","graphQLResult","connectedQuery","dsItem","loading","navArray","prepareData","item","data-e2e-id","sr-label","RichTextEditor","RichTextField","VideoLink","controls","components","Map","componentFactory","set","Authentication","FilterAndSearchCommunityPostsContainer","FilterAndSearchContainer","FilterAndSearchSpotlightContentVariantA","FilterAndSearchSpotlightContentVariantB","DownloadsContainer","HelpContainer","StartDevelopingCards","StartDevelopingContainer","TopCardsSection","ComponentsTabContainer","EventBanner","KeyResources","ProductProgramBanner","ResourcesContainer","SoftwareDownloadsContainer","SupportAndTrainingCardsContainer","TechnicalSpecificationContainer","TechnicalSpecificationContainerVariantB","TechnicalSpecificationContainerVariantC","ToolsAndSoftwareCardsContainer","UseCaseCardsContainer","WorksWellWithCardsContainer","CallToActionButton","ClientSideRedirect","CommunityBlogs","CommunityFourm","CommunityPostsContainer","CookieConsent","EventListCard","Footer","HorizontalTab","Masthead","StarRatingMobile","StarsRating","VideoContent","dataFetcher","axios","method","withCredentials","JsonLdHelper","jsonLdScriptBody","pageDescription","extreactedFieldData","createJsonLdField","fieldData","fieldkey","Array","isArray","addFieldToJsonLd","getLd","UXNSAudience","UXNSCategories","UXNSContentType","stringify","Layout","OnetrustActiveGroups","includes","script","createElement","currenturl","onload","getCoveoToken","coveoToken","organizationAnalyticsEndpoint","getOrganizationEndpoints","analytics","coveoua","contentIdKey","contentIdValue","contentType","head","appendChild","REACT_APP_ERROR_PAGE_DEVELOPER_HOME_LINK","REACT_APP_ERROR_PAGE_DOCUMENTATION_LINK","REACT_APP_ERROR_PAGE_BLOGS_LINK","errorMessages","errorCode","message","linkMsg","ErrorComponent","errorMsg","renderLinks","ErrorPage","RouteHandler","extractRouteData","sitecore","context","notFound","defaultLanguage","routeData","language","componentIsMounted","languageIsChanging","ssrRenderComplete","updateRouteData","setSsrRenderComplete","sitecoreRoutePath","match","sitecoreRoute","fetchOptions","layoutServiceConfig","host","sitecoreApiHost","querystringParams","sc_lang","sc_apikey","sitecoreApiKey","fetcher","dataApi","fetchRouteData","response","status","getRouteData","REACT_APP_CONTENTHOME_PATH","lang","updateSitecoreContext","previousProps","existingRoute","newRoute","isExperienceEditorActive","updatable","routePatterns","AppRoot","ssrState","scriptTag","body","Router","graphQLClient","client","exact","component","routePattern","REACT_APP_ATM_HOSTNAME","renderFunction","ReactDOM","__JSS_STATE__","ssrRawJson","innerHTML","hydrate","initialGraphQLState","APOLLO_STATE","endpoint","initialCacheState","createPersistedQueryLink","concat","BatchHttpLink","uri","credentials","cache","InMemoryCache","fragmentMatcher","IntrospectionFragmentMatcher","introspectionQueryResultData","ApolloClient","ssrMode","ssrForceFetchDelay","restore","GraphQLClientFactory","graphQLEndpoint","rootElement","BrowserRouter"],"mappings":"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","file":"static/js/main.4d6c121f.chunk.js","sourcesContent":["var map = {\n\t\"./ads-alert.entry.js\": [\n\t\t876,\n\t\t16\n\t],\n\t\"./ads-breadcrumb_2.entry.js\": [\n\t\t844,\n\t\t24\n\t],\n\t\"./ads-button.entry.js\": [\n\t\t845,\n\t\t30\n\t],\n\t\"./ads-card_4.entry.js\": [\n\t\t846,\n\t\t25\n\t],\n\t\"./ads-carousel_2.entry.js\": [\n\t\t847,\n\t\t26\n\t],\n\t\"./ads-checkbox.entry.js\": [\n\t\t848,\n\t\t11\n\t],\n\t\"./ads-code.entry.js\": [\n\t\t849,\n\t\t31\n\t],\n\t\"./ads-cta-button.entry.js\": [\n\t\t850,\n\t\t32\n\t],\n\t\"./ads-cta-link.entry.js\": [\n\t\t851,\n\t\t15\n\t],\n\t\"./ads-dropdown.entry.js\": [\n\t\t852,\n\t\t0,\n\t\t22\n\t],\n\t\"./ads-expander.entry.js\": [\n\t\t853,\n\t\t19\n\t],\n\t\"./ads-expansion-panel.entry.js\": [\n\t\t854,\n\t\t17\n\t],\n\t\"./ads-file-select.entry.js\": [\n\t\t855,\n\t\t20\n\t],\n\t\"./ads-footer.entry.js\": [\n\t\t856,\n\t\t14\n\t],\n\t\"./ads-global-navigation.entry.js\": [\n\t\t857,\n\t\t6\n\t],\n\t\"./ads-horizontal-tabs.entry.js\": [\n\t\t858,\n\t\t9\n\t],\n\t\"./ads-interactive-image.entry.js\": [\n\t\t859,\n\t\t7\n\t],\n\t\"./ads-loader.entry.js\": [\n\t\t860,\n\t\t33\n\t],\n\t\"./ads-masthead.entry.js\": [\n\t\t861,\n\t\t21\n\t],\n\t\"./ads-modal.entry.js\": [\n\t\t862,\n\t\t10\n\t],\n\t\"./ads-notifications-panel.entry.js\": [\n\t\t863,\n\t\t18\n\t],\n\t\"./ads-pagination.entry.js\": [\n\t\t864,\n\t\t23\n\t],\n\t\"./ads-placeholder.entry.js\": [\n\t\t865,\n\t\t34\n\t],\n\t\"./ads-progress.entry.js\": [\n\t\t866,\n\t\t35\n\t],\n\t\"./ads-search.entry.js\": [\n\t\t867,\n\t\t12\n\t],\n\t\"./ads-select.entry.js\": [\n\t\t868,\n\t\t27\n\t],\n\t\"./ads-stepper.entry.js\": [\n\t\t869,\n\t\t28\n\t],\n\t\"./ads-tag.entry.js\": [\n\t\t870,\n\t\t36\n\t],\n\t\"./ads-toggle.entry.js\": [\n\t\t871,\n\t\t37\n\t],\n\t\"./ads-tooltip.entry.js\": [\n\t\t872,\n\t\t0,\n\t\t38\n\t],\n\t\"./ads-utility-navigation.entry.js\": [\n\t\t873,\n\t\t8\n\t],\n\t\"./ads-vertical-tabs.entry.js\": [\n\t\t874,\n\t\t13\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 602;\nmodule.exports = webpackAsyncContext;","/* eslint-disable */\n// Do not edit this file, it is auto-generated at build time!\n// See scripts/bootstrap.js to modify the generation of this file.\nmodule.exports = {\n \"sitecoreApiKey\": \"360D01BB-34B8-46BC-B5BD-9FFFD7D289BF\",\n \"sitecoreApiHost\": \"https://developer.arm.com/\",\n \"jssAppName\": \"Developer2-0\",\n \"defaultLanguage\": \"en\",\n \"graphQLEndpointPath\": \"/api/Developer2-0\",\n \"REACT_APP_ARM_GLOBALNAVIGATION_HOST\": \"https://www.arm.com\",\n \"REACT_APP_ATM_HOSTNAME\": \"https://developer.arm.com\",\n \"REACT_APP_AUTH_SIGN_IN_URL\": \"sign-in\",\n \"REACT_APP_AUTH_SILENT_SIGN_IN_URL\": \"silent-sign-in\",\n \"REACT_APP_COMMUNITYBLOGS\": \"https://developer.arm.com/api/CommunityBlogs\",\n \"REACT_APP_COMMUNITYFORUM\": \"https://developer.arm.com/api/CommunityForums\",\n \"REACT_APP_CONTENTHOME_PATH\": \"/sitecore/content/Developer2-0/Home\",\n \"REACT_APP_COOKIEDATASOURCE\": \"F44CCA02-E7FF-4078-B886-CF1B3256A9CD\",\n \"REACT_APP_COOKIEDOMAIN\": \".arm.com\",\n \"REACT_APP_COOKIEENPOINT\": \"//api/cookies-policy/\",\n \"REACT_APP_COVEOCACHEDENDPOINT\": \"https://developer.arm.com/external-api/coveo/rest/search/v2\",\n \"REACT_APP_COVEOCOMMUNITYQUERYPIPELINE\": \"Community\",\n \"REACT_APP_COVEOCOMMUNITYRECOMMENDEDQUERYPIPELINE\": \"Community-Recommended\",\n \"REACT_APP_COVEOCOMMUNITYSEARCHHUB\": \"Community\",\n \"REACT_APP_COVEOGETSEARCHTOKENURL\": \"https://api.arm.com\",\n \"REACT_APP_COVEOHOMEPAGECOMMUNITYQUERYPIPELINE\": \"Dev2RecommendationTest\",\n \"REACT_APP_COVEOHOMEPAGECOMMUNITYSEARCHHUB\": \"CommunityRecommendationsTest\",\n \"REACT_APP_COVEOHOMEPAGEDOCUMENTATIONQUERYPIPELINE\": \"Dev2RecommendationTest\",\n \"REACT_APP_COVEOHOMEPAGEDOCUMENTATIONSEARCHHUB\": \"Dev2HomepageDocumentationTest\",\n \"REACT_APP_COVEOHOMEPAGERECOMMENDEDPIPELINE\": \"Dev2HomepageRecommendations\",\n \"REACT_APP_COVEOHOMEPAGERECOMMENDEDSEARCHHUB\": \"Dev2HomepageRecommendations\",\n \"REACT_APP_COVEOHOMEPAGESEARCHBOXQUERYPIPELINE\": \"Developer\",\n \"REACT_APP_COVEOHOMEPAGESEARCHBOXSEARCHHUB\": \"arm_developer\",\n \"REACT_APP_COVEOKEYRESOURCESTABID\": \"KeyResourcesTab\",\n \"REACT_APP_COVEOLANDINGPAGEQUERYPIPELINE\": \"Dev2FilterandSearch\",\n \"REACT_APP_COVEOORGANIZATIONID\": \"armlimitedproductionubhpo2y4\",\n \"REACT_APP_COVEOPRODUCTPAGEQUERYPIPELINE\": \"Dev2ProductPage\",\n \"REACT_APP_COVEOPRODUCTPAGERECOMMENDATIONQUERYPIPELINE\": \"Dev2ProductPageRecommendation\",\n \"REACT_APP_COVEOPRODUCTPAGERECOMMENDATIONSEARCHHUB\": \"Dev2ProductPageRecommendation\",\n \"REACT_APP_COVEOPRODUCTPAGESEARCHHUB\": \"Dev2ProductPage\",\n \"REACT_APP_COVEORESOURCESTABID\": \"ResourcesTab\",\n \"REACT_APP_COVEOSEARCHPAGE\": \"https://developer.arm.com\",\n \"REACT_APP_EA_HOSTNAME\": \"developer.arm.com\",\n \"REACT_APP_ENCRYPTIONKEY\": \"99e4bbfaf97d99ca826d0543eb16f6e0647dc8d7726517b854621b97b213cd18\",\n \"REACT_APP_ERROR_PAGE_BLOGS_LINK\": \"https://community.arm.com/developer/b\",\n \"REACT_APP_ERROR_PAGE_DEVELOPER_HOME_LINK\": \"https://developer.arm.com\",\n \"REACT_APP_ERROR_PAGE_DOCUMENTATION_LINK\": \"https://developer.arm.com/documentation/\",\n \"REACT_APP_FOOTERDOMAINURL\": \"https://developer.arm.com/\",\n \"REACT_APP_FOOTERSITECOREDATASOURCE\": \"841ADC3D-FCB0-4E8C-BB28-31BD9C040F13\",\n \"REACT_APP_FOOTERSITECOREENDPOINT\": \"//api/footer/\",\n \"REACT_APP_GLOBALNAVSITECOREDATASOURCE\": \"AD9391BD-0C81-4775-9104-8477F47EA6AB\",\n \"REACT_APP_GLOBALNAVSITECOREENDPOINT\": \"//api/global-navigation/\",\n \"REACT_APP_MEDALLIAFEEDBACKFORMID\": \"7336\",\n \"REACT_APP_MEDALLIARATINGFORMID\": \"7859\",\n \"REACT_APP_ORIGIN\": \"https://developer.arm.com\",\n \"REACT_APP_PATHNAME\": \"/\",\n \"REACT_APP_SFA_AUTHORITY\": \"https://account.arm.com/tfp/armb2c.onmicrosoft.com/b2c_1a_arm_accounts.susi/v2.0/\",\n \"REACT_APP_SFA_CLIENT_ID\": \"b7705cd8-fe14-4c60-9b70-a583ffad84ee\",\n \"REACT_APP_SFA_SCOPE\": \"openid https://armb2c.onmicrosoft.com/developer/read\",\n \"REACT_APP_SITECOREORIGIN\": \"https://developer.arm.com\",\n \"REACT_APP_SITECOREURI\": \"https://developer.arm.com/\",\n \"REACT_APP_SITECORE_NOTIFICATIONS_API\": \"https://api.arm.com/e-armaccount/v2/notifications?limit=100\",\n \"REACT_APP_SITECORE_NOTIFICATIONS_LINK\": \"https://services.arm.com/support/s/notifications\",\n \"REACT_APP_SITECORE_PROFILE_LINK\": \"https://services.arm.com/support/s/profile/home?tabset-5f9eb=1\",\n \"REACT_APP_SITECORE_SETTINGS_LINK\": \" https://services.arm.com/support/s/profile/home?tabset-5f9eb=2\",\n \"REACT_APP_THEME_TOGGLE\": \"true\",\n \"graphQLEndpoint\": \"https://developer.arm.com//api/Developer2-0?sc_apikey=360D01BB-34B8-46BC-B5BD-9FFFD7D289BF\"\n};","import { \r\n AZUREB2CSERVICE_INIT\r\n } from \"../../constants/actionTypes\";\r\n \r\n \r\n export const initialUserState = { user: null, isAuth: false, isLoginDone: false};\r\n \r\n export function user (state, action) {\r\n switch (action.type) {\r\n case AZUREB2CSERVICE_INIT:\r\n return {\r\n ...state,\r\n user: action.data.user,\r\n isAuth: action.data.isAuth,\r\n isLoginDone: true\r\n };\r\n default:\r\n return state;\r\n }\r\n }\r\n","export const AZUREB2CSERVICE_INIT = \"AZUREB2CSERVICE_INIT\";","import React, {\r\n createContext,\r\n useContext,\r\n useReducer,\r\n Reducer,\r\n FunctionComponent,\r\n} from 'react';\r\nimport {\r\n user,\r\n initialUserState,\r\n} from './reducers';\r\nexport const StateContext = createContext(initialUserState);\r\nexport const StateProvider = ({\r\n // eslint-disable-next-line react/prop-types\r\n children,\r\n}) => {\r\n const { Provider } = StateContext;\r\n const combineReducers = (slices) => (\r\n prevState,\r\n action\r\n ) =>\r\n Object.keys(slices).reduce(\r\n (nextState, nextProp) => ({\r\n ...nextState,\r\n [nextProp]: slices[nextProp](prevState[nextProp], action),\r\n }),\r\n prevState\r\n );\r\n const [state, dispatch] = React.useReducer(\r\n combineReducers({ user }),\r\n {\r\n user: initialUserState,\r\n }\r\n);\r\n return <Provider value={[state, dispatch]}>{children}</Provider>;\r\n};\r\n\r\nexport const UseGlobalState = () => useContext(StateContext);\r\n","import React from 'react';\r\nimport Helmet from 'react-helmet';\r\nimport config from '../temp/config';\r\n\r\nconst themeToggleValue = (`${config.REACT_APP_THEME_TOGGLE}` === \"true\" ? true:false);\r\nconst ThemeToggle = (props) => {\r\n return (\r\n <>\r\n <Helmet> \r\n {\r\n themeToggleValue && <script>\r\n {` \r\n const themeTokenName = 'themeToken';\r\n let themeToken;\r\n if (typeof window !==\"undefined\"){\r\n themeToken = document.cookie.split('; ').find((row) => row.startsWith(themeTokenName));\r\n if (themeToken) { \r\n document.querySelector('html').setAttribute('theme', themeToken.split('=')[1]); \r\n }else{\r\n document.querySelector('html').setAttribute('theme', 'dark');\r\n }\r\n }\r\n `}\r\n </script>\r\n }\r\n </Helmet>\r\n {props.children}\r\n </>\r\n );\r\n};\r\nexport default ThemeToggle;\r\n ","import React from 'react';\r\nimport {AzureB2CService, AuthConsumingService,OIDCSigninCallback, OIDCSignoutCallback} from \"@arm/ce-shared-components/components/Authentication\"; \r\nimport { AdsLoader } from \"@arm/arm-design-system-react\";\r\nimport config from '../../temp/config';\r\nimport { UseGlobalState } from '../../context/index';\r\nimport { AZUREB2CSERVICE_INIT } from '../../constants/actionTypes';\r\nimport ThemeToggle from '../../ThemeToggle';\r\nexport function getAppBaseUri() {\r\n return ((config.REACT_APP_PUBLIC_PATH) || \"\").replace(\"//\", \"/\") + \"/\";\r\n}\r\n\r\n\r\nexport function getSFaAuthConfig() {\r\n const baseUrl = config.REACT_APP_ORIGIN + getAppBaseUri();\r\n return {\r\n authority: config.REACT_APP_SFA_AUTHORITY,\r\n client_id: config.REACT_APP_SFA_CLIENT_ID,\r\n post_logout_redirect_uri: baseUrl + \"sign-out\",\r\n redirect_uri: baseUrl + config.REACT_APP_AUTH_SIGN_IN_URL,\r\n scope: config.REACT_APP_SFA_SCOPE,\r\n silent_redirect_uri: baseUrl + config.REACT_APP_AUTH_SILENT_SIGN_IN_URL,\r\n test: config.REACT_APP_ENV\r\n };\r\n}\r\n\r\n\r\nexport const login = (props) => {\r\n AzureB2CService.init(\r\n AuthConsumingService,\r\n null,\r\n getSFaAuthConfig(),\r\n null,\r\n \"/\"\r\n ).then(() => {\r\n const params = new URLSearchParams(props.location.search);\r\n const returnUrl = params.get('returnUrl');\r\n AzureB2CService.login(\r\n false,\r\n new URL(`${config.REACT_APP_ORIGIN}${returnUrl}`));\r\n });\r\n return (\r\n <ThemeToggle>\r\n <div className=\"c-dh-content u-flex-center\">\r\n <AdsLoader isLoading/>\r\n </div>\r\n </ThemeToggle>\r\n );\r\n };\r\n export const signin = () => {\r\n const [, dispatch] = UseGlobalState();\r\n const signinCallback = (user) => {\r\n dispatch({\r\n type: AZUREB2CSERVICE_INIT,\r\n data: { isAuth: true, user: user.profile },\r\n });\r\n return Promise.resolve(user);\r\n };\r\n return (\r\n <ThemeToggle>\r\n <OIDCSigninCallback onUserLoggedIn={signinCallback} />;\r\n </ThemeToggle>\r\n );\r\n };\r\n export const logout = () => {\r\n //Delete Coveo user token\r\n const coveoUserTokenName = 'coveoUserToken';\r\n const coveoUserToken = document.cookie.split('; ').find((row) => row.startsWith(coveoUserTokenName));\r\n if(coveoUserToken){\r\n const coveoUserTokenValue = coveoUserToken.split('=')[1];\r\n document.cookie = `${coveoUserTokenName}=${coveoUserTokenValue}; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; secure`;\r\n }\r\n AzureB2CService.init(\r\n AuthConsumingService,\r\n null,\r\n getSFaAuthConfig(),\r\n \"/\"\r\n ).then(() => {\r\n AzureB2CService.logout();\r\n });\r\n return (\r\n <ThemeToggle>\r\n <div className=\"c-dh-content u-flex-center\">\r\n <AdsLoader isLoading/>\r\n </div>\r\n </ThemeToggle>\r\n );\r\n };\r\n\r\n export const signOutCallback = () => {\r\n if(window != undefined)\r\n {\r\n window.location = config.REACT_APP_ORIGIN + \"/\";\r\n }\r\n return AzureB2CService.init(\r\n AuthConsumingService,\r\n null,\r\n getSFaAuthConfig(),\r\n getAppBaseUri(),\r\n true\r\n );\r\n \r\n };\r\n\r\n export const signOut = () => {\r\n return (\r\n <ThemeToggle>\r\n <OIDCSignoutCallback onUserLoggedOut={signOutCallback} />\r\n </ThemeToggle>\r\n ); \r\n };\r\n \r\n\r\nexport default login;","const RenderingStyling = (rName) => {\r\n var opts = {};\r\n opts['data-widget-title'] = rName;\r\n return opts;\r\n};\r\n\r\nexport default RenderingStyling;\r\n ","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport './FilterAndSearchCommunityPostsContainer.css'\r\n\r\nconst FilterAndSearchCommunityPostsContainer = ({ fields, rendering, CommunityBlogsPlaceHolder, CommunityForumsPlaceHolder}) => (\r\n <section className=\"md:u-margin-left-2 md:u-margin-right-2\" {...RenderingStyling(rendering.componentName)}>\r\n <div className=\"c-container is-full-width\">\r\n <div className=\"c-row md:is-collapsed u-gap-1-1/2 u-flex-nowrap u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-col c-col-12\">\r\n <section className=\"community-section-FS\">\r\n <h2 id=\"community-posts\" className=\"u-margin-top-0 u-margin-bottom-1-1/2 u-margin-top-1-1/2\"><Text field={fields?.title}/></h2>\r\n <div className=\"u-display-grid u-gap-2 u-margin-bottom-1-1/2 xl:u-grid-columns-2\">\r\n {CommunityBlogsPlaceHolder} \r\n </div> \r\n <div class=\"u-display-grid u-gap-1\"> \r\n {CommunityForumsPlaceHolder}\r\n </div> \r\n </section> \r\n </div>\r\n </div> \r\n </div> \r\n </section> \r\n);\r\n\r\nexport default withPlaceholder(['CommunityBlogsPlaceHolder','CommunityForumsPlaceHolder']) (FilterAndSearchCommunityPostsContainer);\r\n\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { withSitecoreContext } from \"@sitecore-jss/sitecore-jss-react\";\r\nimport config from \"../../../temp/config\";\r\nimport loadable from \"@loadable/component\";\r\nimport RenderingStyling from \"../../../lib/RenderingStyling\";\r\nconst FeedbackForm = loadable(\r\n () =>\r\n import(\"@arm/ce-shared-components/components/FeedbackForm/FeedbackForm\"),\r\n { ssr: false }\r\n);\r\n\r\nconst StarsRating = ({ uid, sitecoreContext }) => {\r\n const isMobile = useIsMobile();\r\n useEffect(() => {\r\n const targetNodeList = document.getElementsByClassName(\r\n \"star-rating-resize-window\"\r\n );\r\n if (targetNodeList.length > 0) {\r\n const targetNode = targetNodeList[0];\r\n const config = { childList: true, subtree: true };\r\n\r\n const callback = (mutationsList) => {\r\n for (const mutation of mutationsList) {\r\n if (mutation.addedNodes.length > 0) {\r\n const buttons = document.querySelectorAll(\r\n \"#developer-hotjar-feedback-form button\"\r\n );\r\n buttons &&\r\n buttons.forEach((button) => {\r\n if (button) {\r\n button.className = \"\";\r\n button.classList.add(\r\n \"c-cta-button\",\r\n \"is-primary\",\r\n \"is-medium\"\r\n );\r\n button.setAttribute(\"style\", \"font-family : Lato !important\");\r\n }\r\n });\r\n\r\n const headings = document.querySelectorAll(\r\n \"#developer-hotjar-feedback-form h2\"\r\n );\r\n headings.forEach((heading) => {\r\n if (heading) {\r\n heading.setAttribute(\"style\", \"font-family : Lato !important;\");\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n const observer = new MutationObserver(callback);\r\n observer.observe(targetNode, config);\r\n\r\n return () => observer.disconnect();\r\n }\r\n });\r\n\r\n return (\r\n !isMobile && (\r\n <div\r\n className=\"u-hide xl:u-display-grid xl:u-grid-auto-flow-column u-align-items-center u-gap-1 u-margin-bottom-2 u-justify-content-end star-rating-resize-window\"\r\n {...RenderingStyling(\"StarRating\")}\r\n >\r\n <FeedbackForm />\r\n </div>\r\n )\r\n );\r\n};\r\n\r\nfunction useIsMobile() {\r\n const [isMobile, setIsMobile] = useState(false);\r\n\r\n useEffect(() => {\r\n function handleWindowSizeChange() {\r\n setIsMobile(window.innerWidth < 1200);\r\n }\r\n window.addEventListener(\"resize\", handleWindowSizeChange);\r\n handleWindowSizeChange();\r\n return () => window.removeEventListener(\"resize\", handleWindowSizeChange);\r\n }, []);\r\n return isMobile;\r\n}\r\n\r\nexport default withSitecoreContext()(StarsRating);\r\n","import React from \"react\";\r\nimport { Text } from \"@sitecore-jss/sitecore-jss-react\";\r\nimport {\r\n withPlaceholder,\r\n withSitecoreContext,\r\n} from \"@sitecore-jss/sitecore-jss-react\";\r\nimport { CoveoHeadless } from \"@arm/ce-shared-components\";\r\nimport config from \"../../../temp/config\";\r\nimport StarsRating from \"../../SharedComponents/StarsRating\";\r\nimport RenderingStyling from \"../../../lib/RenderingStyling\";\r\nimport { FILTER_AND_SEARCH_B_TEMPLATE_ID } from \"../../../constants/TemplateIds\";\r\nimport { UseGlobalState } from \"../../../context\";\r\nimport \"./FilterAndSearchContainer.css\";\r\n\r\nconst FilterAndSearchContainer = ({\r\n fields,\r\n rendering,\r\n sitecoreContext,\r\n SpotlightContentPlaceholder,\r\n}) => {\r\n const [{ user }] = UseGlobalState();\r\n console.log(sitecoreContext.route?.fields?.EnableA2ZSorting?.value);\r\n var renderSpotlightContentContainer = () => {\r\n return (\r\n <>\r\n <div className=\"c-row u-flex u-justify-content-between u-margin-bottom-0 flex-no-wrap\">\r\n <div>\r\n {sitecoreContext.route.templateId !=\r\n FILTER_AND_SEARCH_B_TEMPLATE_ID ? (\r\n <h2 className=\"u-margin-top-0\">\r\n <Text field={fields.heading}></Text>\r\n </h2>\r\n ) : (\r\n \"\"\r\n )}\r\n </div>\r\n <StarsRating uid={rendering.uid} />\r\n </div>\r\n\r\n {sitecoreContext.route.templateId != FILTER_AND_SEARCH_B_TEMPLATE_ID ? (\r\n <p>\r\n <Text field={fields.shortDescription} />\r\n </p>\r\n ) : (\r\n \"\"\r\n )}\r\n {SpotlightContentPlaceholder}\r\n\r\n {sitecoreContext.route.templateId == FILTER_AND_SEARCH_B_TEMPLATE_ID ? (\r\n <div>\r\n <h2 className=\"u-margin-top-0\">\r\n <Text field={fields.heading}></Text>\r\n </h2>\r\n <p>\r\n <Text field={fields.shortDescription} />\r\n </p>\r\n </div>\r\n ) : (\r\n \"\"\r\n )}\r\n </>\r\n );\r\n };\r\n\r\n const facetsConfig = fields.facets?.map((facet) => {\r\n if (facet.fields.field?.value) {\r\n return {\r\n title: `${facet.fields.label?.value}`,\r\n field: `${facet.fields.field.value}`,\r\n showCountsInFacet: facet.fields.showCountsInFacet?.value,\r\n isHierarchial: facet.fields.isHierarchial?.value,\r\n };\r\n }\r\n });\r\n\r\n const resultViewType = () => {\r\n let viewType = `${fields.resultType?.fields.value?.value}`;\r\n try {\r\n if (typeof window !== \"undefined\") {\r\n const userSelectedViewtype = localStorage?.getItem(\"viewtype\");\r\n if (userSelectedViewtype) {\r\n viewType = JSON.parse(userSelectedViewtype);\r\n }\r\n return viewType;\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n } finally {\r\n return viewType;\r\n }\r\n };\r\n\r\n const resultItemType = {\r\n type: resultViewType(),\r\n variant: `${fields.resultVariant?.fields.value?.value}`,\r\n hideBreadcrumb: true,\r\n };\r\n\r\n return (\r\n <section\r\n className=\"md:u-margin-left-2 md:u-margin-right-2\"\r\n {...RenderingStyling(rendering.componentName)}\r\n >\r\n <div className=\"c-container is-full-width\">\r\n {sitecoreContext.pageEditing ? (\r\n <div className=\"c-col c-col-12 u-margin-top-2\">\r\n {renderSpotlightContentContainer()}\r\n </div>\r\n ) : (\r\n \"\"\r\n )}\r\n {user?.isLoginDone && (\r\n <CoveoHeadless\r\n CoveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`}\r\n CoveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n CoveoSearchHub={\r\n sitecoreContext.route.databaseName == \"master\"\r\n ? `CMS_` + `${fields.landingPageSearchHub?.fields.value?.value}`\r\n : `${fields.landingPageSearchHub?.fields.value?.value}`\r\n }\r\n CoveoQueryPipeline={`${config.REACT_APP_COVEOLANDINGPAGEQUERYPIPELINE}`}\r\n coveoQuery={`${fields.coveoQuery?.value}`}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n facetsConfig={facetsConfig}\r\n resultItemType={resultItemType}\r\n showRecommendedTag={true}\r\n enableA2zSort={\r\n sitecoreContext.route?.fields?.EnableA2ZSorting?.value\r\n }\r\n >\r\n {!sitecoreContext.pageEditing\r\n ? renderSpotlightContentContainer()\r\n : \"\"}\r\n </CoveoHeadless>\r\n )}\r\n </div>\r\n </section>\r\n );\r\n};\r\n\r\nconst FilterAndSearchContainerWithPlaceholderInjected = withPlaceholder(\r\n \"SpotlightContentPlaceholder\"\r\n)(FilterAndSearchContainer);\r\n\r\nconst FilterAndSearchContainerWithPlaceholderAndSitecoreContext =\r\n withSitecoreContext()(FilterAndSearchContainerWithPlaceholderInjected);\r\n\r\nexport default FilterAndSearchContainerWithPlaceholderAndSitecoreContext;\r\n","export const FILTER_AND_SEARCH_B_TEMPLATE_ID = \"43bf8423-58e1-4a30-9004-72831ae63a4e\";","\r\n\r\nexport const productHierarchyCoveoQuery = (sitecoreContext) => {\r\n return sitecoreContext?.route?.fields?.UXNSProducts ? sitecoreContext.route.fields.UXNSProducts.reduce((acc, currentValue, index) => {\r\n const hierarchyPathsArray = currentValue.fields.HierarchyPaths.value.split(\";\");\r\n const hierarchyPathsValue = hierarchyPathsArray.pop();\r\n acc = index === 0 ? `@navigationhierarchiesproducts==\"${hierarchyPathsValue}\"` : acc + ` OR @navigationhierarchiesproducts==\"${hierarchyPathsValue}\"`;\r\n return acc;\r\n }, \"\") : \"\";\r\n}\r\n\r\nexport const shouldHideSpotlightContent = (sitecoreContext) => {\r\n if (sitecoreContext.pageEditing || typeof window === \"undefined\") return false;\r\n let queryParams = window.location.hash?.substring(1)?.split('&');\r\n return queryParams?.find(x => x.startsWith('q='))?.length > 0\r\n || queryParams.find(x => x.startsWith('f['))?.length > 0\r\n || queryParams.find(x => x.startsWith('cf['))?.length > 0\r\n || queryParams.find(x => x.startsWith('f-'))?.length > 0\r\n || queryParams.find(x => x.startsWith('cf-'))?.length > 0;\r\n}","import React from 'react';\r\nimport { withPlaceholder, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport { shouldHideSpotlightContent } from '../../../services/coveoQueryService';\r\n\r\nconst FilterAndSearchSpotlightContentVariantA = ({ SpotlightLinksPlaceholder, rendering, sitecoreContext }) => {\r\n\r\n return shouldHideSpotlightContent(sitecoreContext) ? \"\" :\r\n <div {...RenderingStyling(rendering.componentName)}>\r\n <ul className=\"dev-c-link-grid u-list-style-none u-text-indent-0 u-padding-0 u-margin-0 u-margin-bottom-1 lg:u-margin-top-0\">\r\n {SpotlightLinksPlaceholder}\r\n </ul>\r\n </div>\r\n}\r\n\r\nconst FilterAndSearchSpotlightContentVariantAWithPlaceholderInjected = withPlaceholder('SpotlightLinksPlaceholder')(FilterAndSearchSpotlightContentVariantA);\r\n\r\nconst FilterAndSearchSpotlightContentVariantAWithPlaceholderAndSitecoreContext = withSitecoreContext()(FilterAndSearchSpotlightContentVariantAWithPlaceholderInjected)\r\n\r\nexport default FilterAndSearchSpotlightContentVariantAWithPlaceholderAndSitecoreContext\r\n","import React from 'react';\r\nimport { withPlaceholder, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport { shouldHideSpotlightContent } from '../../../services/coveoQueryService';\r\n\r\nconst FilterAndSearchSpotlightContentVariantB = ({ rendering, sitecoreContext, FeaturedCardsPlaceholder }) => {\r\n return shouldHideSpotlightContent(sitecoreContext) ? \"\" : \r\n <div {...RenderingStyling(rendering.componentName)}>\r\n <section className=\"u-display-grid u-gap-1 u-grid-columns-1 xl:u-grid-columns-3 u-margin-bottom-1-1/2\" >\r\n {FeaturedCardsPlaceholder}\r\n </section> \r\n </div>\r\n}\r\n\r\n\r\nconst FilterAndSearchSpotlightContentVariantBWithPlaceholderInjected = withPlaceholder('FeaturedCardsPlaceholder')(FilterAndSearchSpotlightContentVariantB);\r\n\r\nconst FilterAndSearchSpotlightContentVariantBWithPlaceholderAndSitecoreContext = withSitecoreContext()(FilterAndSearchSpotlightContentVariantBWithPlaceholderInjected)\r\n\r\nexport default FilterAndSearchSpotlightContentVariantBWithPlaceholderAndSitecoreContext","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { AdsCtaLink } from '@arm/arm-design-system-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport config from '../../../temp/config';\r\nimport HomeCardsContainer from '@arm/ce-shared-components/components/CoveoHeadless/HomeComponents/HomeCardsContainer'\r\nimport { UseGlobalState } from '../../../context';\r\n\r\nconst CommunityContainer = (props) => {\r\n const [{ user }] = UseGlobalState();\r\n return(\r\n <div className=\"c-container\" {...RenderingStyling(props.rendering.componentName)} >\r\n <div className=\"c-row\">\r\n <div className=\"c-col\">\r\n {props.fields.link!=null && props.fields.link.value.href!=\"\"?\r\n <AdsCtaLink link={props.fields.link.value.href} srLabel={props.fields.heading.value} className=\"dev-c-home-cta-link u-margin-bottom-1 md:u-margin-bottom-1-1/2\">\r\n <h2 className=\"u-color-inherit u-margin-0\"><Text field={props.fields.heading}></Text></h2>\r\n </AdsCtaLink>\r\n :\r\n <h2 className=\"u-color-inherit u-margin-bottom-1 md:u-margin-bottom-1-1/2 u-font-size-100% sm:u-font-size-200%\"><Text field={props.fields.heading}></Text></h2>\r\n }\r\n </div>\r\n </div>\r\n <div>\r\n <HomeCardsContainer \r\n CoveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`} \r\n CoveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n CoveoSearchHub={`${config.REACT_APP_COVEOHOMEPAGECOMMUNITYSEARCHHUB}`}\r\n CoveoQueryPipeline={`${config.REACT_APP_COVEOHOMEPAGECOMMUNITYQUERYPIPELINE}`}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n />\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default CommunityContainer;\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { AdsCtaLink } from '@arm/arm-design-system-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport HomeCardsContainer from '@arm/ce-shared-components/components/CoveoHeadless/HomeComponents/HomeCardsContainer';\r\nimport config from '../../../temp/config';\r\nimport '../../SharedComponents/HomeCardsContainer/HomeCardsContainer.css';\r\nimport { UseGlobalState } from '../../../context';\r\n\r\nconst DocumentationContainer = (props) => {\r\n const [{ user }] = UseGlobalState();\r\n return (\r\n <div className=\"c-container\" {...RenderingStyling(props.rendering.componentName)}>\r\n <div className=\"c-row\">\r\n <div className=\"c-col\">\r\n {props.fields.link!=null && props.fields.link.value.href!=\"\"?\r\n <AdsCtaLink link={props.fields.link.value.href} srLabel={props.fields.heading.value} className=\"dev-c-home-cta-link u-margin-bottom-1 md:u-margin-bottom-1-1/2\">\r\n <h2 className=\"u-color-inherit u-margin-0\"><Text field={props.fields.heading}></Text></h2>\r\n </AdsCtaLink>\r\n :\r\n <h2 className=\"u-color-inherit u-margin-bottom-1 md:u-margin-bottom-1-1/2 u-font-size-100% sm:u-font-size-200%\"><Text field={props.fields.heading}></Text></h2>\r\n }\r\n </div>\r\n </div>\r\n <div>\r\n <HomeCardsContainer \r\n CoveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`} \r\n CoveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n CoveoSearchHub={`${config.REACT_APP_COVEOHOMEPAGEDOCUMENTATIONSEARCHHUB}`}\r\n CoveoQueryPipeline={`${config.REACT_APP_COVEOHOMEPAGEDOCUMENTATIONQUERYPIPELINE}`}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n />\r\n </div>\r\n </div>)\r\n }\r\n\r\nexport default DocumentationContainer;","import React from 'react';\r\nimport { Text,RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport './HomeCard.css'\r\n\r\nconst HomeCard = ({fields}) => (\r\n <React.Fragment>\r\n <AdsCard className=\"dev-c-card dev-c-card--home dev-c-card--downloads\" srLabel={fields.heading.value} link={fields.link.value.href} has-hover-effect=\"\" orientation=\"vertical\">\r\n <AdsCardContent slot=\"content\" className=\"u-padding-1 u-padding-top-0\">\r\n <div className=\"u-flex u-flex-column u-height-100%\">\r\n <h3 className=\"dev-c-card__title u-font-size-150% u-font-weight-300\"><Text field={fields.heading} /></h3>\r\n <div className=\"u-flex u-flex-column u-flex-1\">\r\n <RichText className=\"u-flex-1\" field={fields.content}></RichText>\r\n </div>\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\nexport default HomeCard;\r\n","import React from 'react';\r\nimport HomeCard from '../../SharedComponents/HomeCard';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst DownloadCards = ({fields, rendering}) => (\r\n <HomeCard {...RenderingStyling(rendering.componentName)} fields={fields}/>\r\n)\r\n\r\nexport default DownloadCards;\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { AdsCtaLink } from '@arm/arm-design-system-react';\r\nimport './HomeCardsContainer.css'\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst HomeCardsContainer = (props) => (\r\n <div className=\"c-container\" {...RenderingStyling(props.rendering.componentName)} >\r\n <div className=\"c-row\">\r\n <div className=\"c-col\">\r\n {props.fields.link!=null && props.fields.link.value.href!=\"\"?\r\n <AdsCtaLink link={props.fields.link.value.href} srLabel={props.fields.heading.value} className=\"dev-c-home-cta-link u-margin-bottom-1 md:u-margin-bottom-1-1/2\">\r\n <h2 className=\"u-color-inherit u-margin-0\"><Text field={props.fields.heading}></Text></h2>\r\n </AdsCtaLink>\r\n :\r\n <h2 className=\"u-color-inherit u-margin-bottom-1 md:u-margin-bottom-1-1/2 u-font-size-100% sm:u-font-size-200%\"><Text field={props.fields.heading}></Text></h2>\r\n }\r\n </div>\r\n </div>\r\n <div className=\"c-row\">\r\n <div className=\"c-col\">\r\n <div className=\"u-display-grid u-gap-1 md:u-grid-columns-3\"> \r\n {props.Cards}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n)\r\n\r\nexport default HomeCardsContainer;\r\n","import React from 'react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport HomeCardsContainer from '../../SharedComponents/HomeCardsContainer';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst DownloadsContainer = (props) => (\r\n <HomeCardsContainer {...RenderingStyling(props.rendering.componentName)} {...props} Cards={props.DownloadCardsPlaceholder} />\r\n);\r\n\r\nexport default withPlaceholder('DownloadCardsPlaceholder')(DownloadsContainer);\r\n","import React from 'react';\r\nimport HomeCard from '../../SharedComponents/HomeCard';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst HelpCards = ({fields, rendering}) => (\r\n <HomeCard {...RenderingStyling(rendering.componentName)} fields={fields}/>\r\n)\r\n\r\nexport default HelpCards;\r\n","import React from 'react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport HomeCardsContainer from '../../SharedComponents/HomeCardsContainer';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst HelpContainer = (props) => (\r\n <HomeCardsContainer {...RenderingStyling(props.rendering.componentName)} {...props} Cards={props.HelpCardsPlaceholder} />\r\n)\r\n\r\nexport default withPlaceholder('HelpCardsPlaceholder')(HelpContainer);\r\n","import React from 'react';\r\nimport { RichText, Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { GlobalSearchBox } from '@arm/ce-shared-components';\r\nimport config from '../../../temp/config';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport './homepageMasthead.css';\r\nimport { UseGlobalState } from '../../../context';\r\n\r\nconst HomepageMasthead = (props) => {\r\n const [{ user }] = UseGlobalState();\r\n return (\r\n <header id=\"homeHeader\" {...RenderingStyling(props.rendering.componentName)} className=\"dev-c-home-header u-flex u-flex-column u-justify-content-center md:u-justify-content-start u-border-width-0 u-border-bottom-width-1 u-border-style-solid u-border-color-arm-web-safe-blue\">\r\n <div className=\"dev-c-home-header__container c-container\">\r\n <div className=\"c-row u-justify-content-center\">\r\n <div className=\"c-col md:c-col-10\">\r\n <h1 className=\"u-color-arm-web-safe-blue dark:u-color-arm-light-blue u-margin-0 u-text-center\">\r\n <RichText field={props.fields.heading}/>\r\n </h1>\r\n <div className=\"u-margin-top-1-1/2 u-margin-bottom-1-1/2 md:u-margin-top-2 md:u-margin-bottom-2\" style={{ minHeight: \"66px\" }}>\r\n <GlobalSearchBox coveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`}\r\n coveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n coveoQueryPipeline={`${config.REACT_APP_COVEOHOMEPAGESEARCHBOXQUERYPIPELINE}`}\r\n coveoSearchHub={`${config.REACT_APP_COVEOHOMEPAGESEARCHBOXSEARCHHUB}`}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n searchPage={`${config.REACT_APP_COVEOSEARCHPAGE}`}\r\n placeholderSearchBox={props.fields.placeholderSearchBox?.value}\r\n />\r\n </div>\r\n <div>\r\n <div className=\"u-text-center u-margin-bottom-1-1/2 md:u-margin-bottom-1\"><Text field={props.fields.text}/></div>\r\n <div className=\"u-flex u-flex-wrap u-gap-1 u-justify-content-center\">\r\n {props.fields.themes?.map((theme) =>\r\n <a className=\"c-tag dev-c-card-tag\" data-track=\"true\" data-track-value={theme.fields.label?.value} href={theme.fields.link?.value?.url}>{theme.fields.label?.value}</a>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </header>\r\n );\r\n}\r\n\r\nexport default HomepageMasthead;\r\n","import React from 'react';\r\nimport { Text} from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nconst PromotionalBanner = ({fields, rendering}) => (\r\n <React.Fragment>\r\n <section {...RenderingStyling(rendering.componentName)} class=\"dev-c-hero u-flex u-flex-column u-justify-content-center\" style={{minHeight: 443}} >\r\n <div class=\"dev-c-hero__background\" style={{backgroundImage: `url(\"${fields.image.value.src}\")`}} ></div>\r\n <div class=\"dev-c-hero__content u-padding-top-2 u-padding-bottom-2 u-bg-color-overlay-dark md:u-bg-color-transparent\">\r\n <div class=\"c-container\">\r\n <div class=\"c-row\">\r\n <div class=\"c-col\">\r\n <h3 theme=\"dark\" class=\"u-margin-0\"><Text field={fields.heading}></Text></h3>\r\n <div class=\"u-margin-top-1 u-margin-bottom-1 md:u-margin-top-1-1/2 md:u-margin-bottom-1-1/2\">\r\n <p theme=\"dark\" style={{maxWidth: 750}}>\r\n <Text field={fields.description}></Text>\r\n </p>\r\n </div>\r\n <a theme=\"dark\" href={fields.link.value.href} data-track=\"true\" data-track-value={fields.link.value.text} class=\"c-cta-button is-medium is-primary\"> {fields.link.value.text} </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </React.Fragment>\r\n);\r\nexport default PromotionalBanner;","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { AdsCtaLink } from '@arm/arm-design-system-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport HomeCardsContainer from '@arm/ce-shared-components/components/CoveoHeadless/HomeComponents/HomeCardsContainer'\r\nimport config from '../../../temp/config';\r\nimport '../../SharedComponents/HomeCardsContainer/HomeCardsContainer.css';\r\nimport { UseGlobalState } from '../../../context';\r\n\r\nconst RecommendedContainer = (props) => {\r\n const [{ user }] = UseGlobalState();\r\n return (\r\n <section className=\"u-padding-top-1-1/2 u-padding-bottom-1-1/2 md:u-padding-top-2 md:u-padding-bottom-2 u-bg-color-arm-light-grey-alt dark:u-bg-color-base\">\r\n <div className=\"c-container\" {...RenderingStyling(props.rendering.componentName)} >\r\n <div className=\"c-row\">\r\n <div className=\"c-col\">\r\n {props.fields.link!=null && props.fields.link.value.href!=\"\"?\r\n <AdsCtaLink link={props.fields.link.value.href} srLabel={props.fields.heading.value} className=\"dev-c-home-cta-link u-margin-bottom-1 md:u-margin-bottom-1-1/2\">\r\n <h2 className=\"u-color-inherit u-margin-0\"><Text field={props.fields.heading}></Text></h2>\r\n </AdsCtaLink>\r\n :\r\n <h2 className=\"u-color-inherit u-margin-bottom-1 md:u-margin-bottom-1-1/2 u-font-size-100% sm:u-font-size-200%\"><Text field={props.fields.heading}></Text></h2>\r\n }\r\n </div>\r\n </div>\r\n <div>\r\n <HomeCardsContainer\r\n CoveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`}\r\n CoveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n CoveoSearchHub={`${config.REACT_APP_COVEOHOMEPAGERECOMMENDEDSEARCHHUB}`}\r\n CoveoQueryPipeline={`${config.REACT_APP_COVEOHOMEPAGERECOMMENDEDPIPELINE}`}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n />\r\n </div>\r\n </div>\r\n </section>\r\n )\r\n}\r\n\r\nexport default RecommendedContainer;\r\n","import React from 'react';\r\nimport { Text, Image } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\n\r\n\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst StartDevelopingCard = ({fields, rendering}) => (\r\n <React.Fragment>\r\n <AdsCard {...RenderingStyling(rendering.componentName)} class=\"dev-c-card dev-c-card--home dev-c-card--start-developing\" link={fields.link.value.href} srLabel={fields.heading.value} has-hover-effect>\r\n <AdsCardContent slot=\"content\">\r\n <div class=\"u-flex u-flex-column u-align-items-center\">\r\n <picture class=\"dev-c-card--start-developing__icon\">\r\n <Image class=\"default:u-display-block dark:u-display-none\" media={fields.lightImage} />\r\n <Image class=\"default:u-display-none dark:u-display-block\" media={fields.darkImage} />\r\n </picture>\r\n <h3 class=\"dev-c-card__title u-font-size-100% u-font-weight-400 u-text-center\"><Text field={fields.heading} /></h3>\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\nexport default StartDevelopingCard;\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport { AdsCtaLink } from '@arm/arm-design-system-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst StartDevelopingCardsContainer = ({ fields, rendering, StartDevelopingCardsPlaceholder }) => (\r\n<section id=\"start-developing\" {...RenderingStyling(rendering.componentName)} class=\"dev-c-home-section--start-developing u-padding-top-2 u-padding-bottom-2 md:u-padding-top-2-1/2 md:u-padding-bottom-2-1/2 dark:u-bg-color-surface u-border-top-width-1 u-border-width-0 u-border-bottom-width-1 u-border-style-solid u-border-color-arm-web-safe-blue\">\r\n<div class=\"c-container\">\r\n <div class=\"c-row\">\r\n <div class=\"c-col\">\r\n {fields.link!=null && fields.link.value.href!=\"\"?\r\n <AdsCtaLink link={fields.link.value.href} srLabel={fields.heading.value} class=\"dev-c-home-cta-link u-margin-bottom-1 md:u-margin-bottom-1-1/2\"><h2 class=\"u-color-inherit u-margin-0\"><Text field={fields.heading} /></h2></AdsCtaLink>\r\n :\r\n <h2 class=\"u-color-inherit u-margin-bottom-1 md:u-margin-bottom-1-1/2 u-font-size-100% sm:u-font-size-200%\"><Text field={fields.heading} /></h2>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"c-row\">\r\n <div class=\"c-col\">\r\n \r\n <div class=\"u-display-grid u-gap-1 u-grid-columns-2 md:u-grid-columns-3 lg:u-grid-columns-6\">\r\n\r\n {StartDevelopingCardsPlaceholder}\r\n \r\n </div>\r\n \r\n </div>\r\n </div>\r\n</div>\r\n</section>\r\n);\r\nexport default withPlaceholder('StartDevelopingCardsPlaceholder')(StartDevelopingCardsContainer);\r\n","import React from 'react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst TopCardsSection = ({ rendering, TopCardsSectionPlaceholder }) => (\r\n <section {...RenderingStyling(rendering.componentName)} className=\"u-bg-color-arm-light-grey-alt dark:u-bg-color-base u-display-grid u-padding-top-1-1/2 u-padding-bottom-1-1/2 md:u-padding-top-2 md:u-padding-bottom-2 u-gap-1-1/2 md:u-gap-2\">\r\n {TopCardsSectionPlaceholder}\r\n </section>\r\n);\r\n\r\nexport default withPlaceholder('TopCardsSectionPlaceholder')(TopCardsSection);\r\n","import React from 'react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport { Text, Link, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport './AdditionalResourceCard.css';\r\n\r\nconst AdditionalResourcesCard = ({fields, rendering}) => (\r\n <React.Fragment>\r\n <AdsCard {...RenderingStyling(rendering.componentName)} className=\"dev-c-card--additional-resources u-display-block u-margin-top-1\" id=\"ads-card-gej2htvd2ab\" orientation=\"vertical\">\r\n <AdsCardContent slot=\"content\">\r\n <div className=\"u-padding-1 u-padding-top-0\">\r\n <h3><Text field={fields.heading} /></h3>\r\n <ul className=\"dev-c-key-additional-resources__list u-padding-left-1/2\">\r\n {fields.links &&\r\n fields.links.map((listItem, index) => (\r\n <li key={`listItem-${index}`}>\r\n <a href={listItem.url} data-track=\"true\" data-track-value={listItem.fields.pageTitle.value}><Text field={listItem.fields.pageTitle} /></a>\r\n </li>\r\n ))}\r\n </ul>\r\n <div className='dev-c-key-additional-resources__list u-padding-left-1/2 u-margin-bottom-1 div-aditional-resouce-external-link'>\r\n <RichText field={fields.otherLinks}></RichText>\r\n </div>\r\n <span className=\"dev-c-cta-link c-cta-link\">\r\n <Link field={fields.viewAll} className=\"c-cta-link__anchor u-text-bold\" data-track=\"true\" data-track-value={fields.viewAll.value.text}></Link>\r\n <span className=\"c-cta-link__icon\" aria-hidden=\"true\">\r\n <span className=\"fal fa-chevron-right\"></span>\r\n </span>\r\n </span>\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\nexport default AdditionalResourcesCard;\r\n","import React from 'react';\r\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst ComponentsTabContainer = ({ fields, rendering, ComponentsCardsPlaceholder}) => (\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row md:is-collapsed u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-col c-col-12 \">\r\n <div className=\"c-row dev-c-tab-heading c-horizontal-rule u-flex u-align-items-center lg:u-align-items-start u-justify-content-between\">\r\n <div>\r\n <h2 className=\"u-margin-0\"><Text field={fields.heading} /></h2>\r\n </div>\r\n <StarsRating uid={rendering.uid} />\r\n </div>\r\n <div className=\"u-padding-left-1 xl:u-padding-right-1\">\r\n <RichText field={fields.text} />\r\n </div>\r\n <h3>\r\n <Text field={fields.cardsHeading}></Text>\r\n </h3>\r\n <div className=\"u-display-grid u-gap-1 lg:u-grid-columns-3\">\r\n {ComponentsCardsPlaceholder}\r\n </div>\r\n </div>\r\n </div>\r\n);\r\n\r\nexport default withPlaceholder('ComponentsCardsPlaceholder')(ComponentsTabContainer);","import React from 'react';\r\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport './EditionsTabContainer.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst EditionsTabContainer = ({ fields, rendering }) => (\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row md:is-collapsed u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div class=\"c-col c-col-12\">\r\n <div className=\"c-row dev-c-tab-heading c-horizontal-rule u-flex u-align-items-center lg:u-align-items-start u-justify-content-between\">\r\n <div>\r\n <h2 className=\"u-margin-0\"><Text field={fields.heading} /></h2>\r\n </div>\r\n <StarsRating uid={rendering.uid} />\r\n </div>\r\n <div>\r\n <RichText field={fields.text}></RichText>\r\n <RichText field={fields.table}></RichText>\r\n </div>\r\n </div>\r\n </div>\r\n);\r\n\r\nexport default EditionsTabContainer;","import React from 'react';\r\nimport { Text, RichText, Image,withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport './EventBanner.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst EventBanner = ({ fields, sitecoreContext, rendering }) => (\r\n <React.Fragment> \r\n <AdsCard {...RenderingStyling(rendering.componentName)} srLabel={fields.eventHeading.value} className=\"dev-c-devsummit-card\" link={fields.eventLink.value}>\r\n <AdsCardContent slot=\"content\">\r\n <div className=\"dev-c-devsummit-card__content c-row u-padding-1\">\r\n <div className=\"dev-c-devsummit-card__heading\">\r\n <span className=\"u-font-size-90% dark:u-color-arm-dark-grey\"><Text field={fields.eventTitle} /></span>\r\n <div className=\"u-font-size-125%\"><Text field={fields.eventHeading} /></div>\r\n <div className=\"u-font-size-110% u-margin-bottom-1\"><Text field={fields.eventDetails} /></div>\r\n </div>\r\n <div className=\"dev-c-devsummit-card__image u-flex u-justify-content-center md:u-padding-left-2 u-width-100% md:u-width-auto\">\r\n <Image className=\"u-margin-auto u-width-100%\" media={fields.eventImage} />\r\n </div>\r\n <div className=\"dev-c-devsummit-card__paragraph u-flex u-flex-column lg:u-flex-row u-align-items-center md:u-align-items-start lg:u-flex-wrap u-padding-top-1 lg:u-padding-top-0 u-margin-bottom-1\">\r\n <div class=\"u-margin-bottom-1\">\r\n <RichText field={fields.eventContent} />\r\n </div>\r\n <div>\r\n {sitecoreContext.pageEditing?\r\n <a href={fields.ctaLink.value} className=\"c-cta-button is-primary is-medium\" data-track=\"true\" data-track-value={fields.ctaName.value}><Text field={fields.ctaName} /></a>:\r\n fields.ctaLink?.value !== '' && fields.ctaName !== '' &&\r\n <a href={fields.ctaLink.value} className=\"c-cta-button is-primary is-medium\" data-track=\"true\" data-track-value={fields.ctaName.value}><Text field={fields.ctaName} /></a>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\nexport default withSitecoreContext()(EventBanner);\r\n","import React from \"react\";\r\nimport { KeyResources as CEKeyResources } from \"@arm/ce-shared-components\";\r\nimport { withSitecoreContext } from \"@sitecore-jss/sitecore-jss-react\";\r\nimport { productHierarchyCoveoQuery } from \"../../../services/coveoQueryService\";\r\nimport config from \"../../../temp/config\";\r\nimport \"./KeyResources.css\";\r\nimport RenderingStyling from \"../../../lib/RenderingStyling\";\r\nimport { UseGlobalState } from \"../../../context\";\r\n\r\nconst KeyResources = ({ fields, sitecoreContext, rendering }) => {\r\n const coveoQuery = productHierarchyCoveoQuery(sitecoreContext);\r\n\r\n const selected_resource_Data = fields?.select_resource;\r\n const resource = selected_resource_Data?.map((resource) => {\r\n return {\r\n text: resource?.fields?.link?.value?.text,\r\n url: resource?.fields?.link?.value?.url,\r\n target: resource?.fields?.link?.value?.target,\r\n };\r\n });\r\n\r\n const [{ user }] = UseGlobalState();\r\n\r\n return (\r\n <div\r\n {...RenderingStyling(rendering.componentName)}\r\n className=\"dev-c-keyResources\"\r\n >\r\n <CEKeyResources\r\n CoveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`}\r\n CoveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n CoveoSearchHub={`${config.REACT_APP_COVEOPRODUCTPAGESEARCHHUB}`}\r\n CoveoQueryPipeline={`${config.REACT_APP_COVEOPRODUCTPAGEQUERYPIPELINE}`}\r\n CoveoRecommendedSearchHub={`${config.REACT_APP_COVEOPRODUCTPAGERECOMMENDATIONSEARCHHUB}`}\r\n CoveoRecommendedQueryPipeline={`${config.REACT_APP_COVEOPRODUCTPAGERECOMMENDATIONQUERYPIPELINE}`}\r\n searchEndPoint={`${config.REACT_APP_COVEOCACHEDENDPOINT}`}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n tabId={`${config.REACT_APP_COVEOKEYRESOURCESTABID}`}\r\n coveoQuery={coveoQuery}\r\n viewMoreLinkUrl={\"#Resources\"}\r\n sitecoreResources={resource}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default withSitecoreContext()(KeyResources);\r\n","import React, {useEffect, useState} from 'react';\r\nimport { Text, Link, RichText, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport Helmet from 'react-helmet';\r\n\r\nconst ProductProgramBanner = ({ fields,sitecoreContext,rendering }) => {\r\n const [styleString, setStyleString] = useState(\"\")\r\n useEffect(() => {\r\n CheckVal();\r\n }, [styleString]);\r\n\r\n const [bgColorsForThemeChange, setbgColorsForThemeChange] = useState(\"\")\r\n useEffect(() => {\r\n CheckVal();\r\n }, [bgColorsForThemeChange]);\r\n\r\n const darkBgColor = '#2d2f34';\r\n\r\n function CheckVal()\r\n {\r\n if(typeof window !==\"undefined\")\r\n {\r\n let isUseCaseContainerExists = document.getElementById('hdnIsSet')?.value;\r\n \r\n if(isUseCaseContainerExists != \"1\")\r\n {\r\n if(sitecoreContext.route.fields.backgroundColor && sitecoreContext.route.fields.backgroundColor.fields.value.value != '' && sitecoreContext.route.fields.backgroundColor.fields.value.value != 'Default')\r\n {\r\n let color = sitecoreContext.route.fields.backgroundColor.fields.value.value;\r\n setbgColorsForThemeChange(color + '|' + darkBgColor);\r\n const themeTokenName = 'themeToken'; \r\n let themeToken;\r\n themeToken = document.cookie.split('; ').find((row) => row.startsWith(themeTokenName));\r\n if (themeToken && themeToken.split('=')[1] == 'dark') { \r\n color = darkBgColor; \r\n }\r\n \r\n setStyleString(color);\r\n }\r\n }\r\n }\r\n }\r\n\r\n \r\n return(\r\n \r\n <div style={{ backgroundColor: `${styleString}`}} id='divProgramBanner'>\r\n \r\n {fields.Program != null &&\r\n <section {...RenderingStyling(rendering.componentName)} class=\"xl:u-margin-left-2 xl:u-margin-right-2 u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <input type='hidden' id='hdnBGColors' value={bgColorsForThemeChange}></input>\r\n <div class=\"c-container is-full-width\">\r\n <div class=\"c-row xl:is-collapsed\">\r\n <div class=\"c-col c-col-12\">\r\n <h2 id=\"flexible-access\" class=\"u-margin-top-0\"><Text field={fields.title} /></h2>\r\n </div>\r\n <div class=\"c-col c-col-12 lg:c-col-9 u-padding-left-1\">\r\n <h3><Text field={fields.Program.fields.heading} /></h3>\r\n <RichText field={fields.Program.fields.content} />\r\n </div>\r\n <div class=\"c-col c-col-12 lg:c-col-3 u-padding-left-1\" id='relDescription'>\r\n <RichText\r\n field={fields.Program.fields.RelativeDescription}\r\n tag=\"section\"\r\n editable={false}\r\n className=\"text-center\"\r\n data-sample=\"other-attributes-pass-through\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"u-padding-left-1 u-margin-top-2 u-flex u-flex-column md:u-flex-row u-align-content-center\">\r\n\r\n {sitecoreContext.pageEditing?\r\n <div class=\"u-flex-row u-align-content-center u-margin-bottom-1 md:u-margin-bottom-0 md:u-margin-right-1\">\r\n <Link field={fields.Button1_Url} data-track=\"true\" data-track-value={fields.Button1_Url.value.text} className=\"c-cta-button is-medium is-primary\"><Text field={fields.Button1_Text} /></Link>\r\n </div>: \r\n fields.Button1_Url?.value?.href !== '' && fields.Button1_Text?.value !== '' &&\r\n <div class=\"u-flex-row u-align-content-center u-margin-bottom-1 md:u-margin-bottom-0 md:u-margin-right-1\">\r\n <Link field={fields.Button1_Url} data-track=\"true\" data-track-value={fields.Button1_Url.value.text} className=\"c-cta-button is-medium is-primary\"><Text field={fields.Button1_Text} /></Link>\r\n </div>\r\n \r\n \r\n }\r\n \r\n {sitecoreContext.pageEditing?\r\n <div class=\"u-flex-row u-align-content-center md:u-margin-right-1\">\r\n <Link field={fields.Button2_Url} data-track=\"true\" data-track-value={fields.Button2_Url.value.text} className=\"c-cta-button is-medium is-secondary\"><Text field={fields.Button2_Text} /></Link>\r\n </div> : \r\n fields.Button2_Url?.value?.href !== '' && fields.Button2_Text?.value !== '' &&\r\n <div class=\"u-flex-row u-align-content-center md:u-margin-right-1\">\r\n <Link field={fields.Button2_Url} data-track=\"true\" data-track-value={fields.Button2_Url.value.text} className=\"c-cta-button is-medium is-secondary\"><Text field={fields.Button2_Text} /></Link>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n </section>\r\n }\r\n </div>\r\n )\r\n};\r\n\r\nexport default withSitecoreContext()(ProductProgramBanner);\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Text, DateField, Link } from '@sitecore-jss/sitecore-jss-react';\r\nimport config from '../../../temp/config';\r\nimport {\r\n AdsExpansionPanel,\r\n AdsLoader,\r\n AdsTooltip\r\n} from '@arm/arm-design-system-react';\r\nimport { UseGlobalState } from '../../../context';\r\nimport './ReleaseSection.css';\r\nconst EdgeAuth = require('akamai-edgeauth')\r\nconst http = require('http') // Module for the test\r\nvar isStartDownload = true;\r\n\r\n// Function just for the simple test\r\nfunction makeRequest(options, callback) {\r\n var request = http.request(options, (res) => {\r\n let data = '';\r\n res.on('data', (chunk) => {\r\n data += chunk;\r\n });\r\n // Ending the response \r\n res.on('end', () => {\r\n callback(res, JSON.parse(data));\r\n });\r\n })\r\n request.on('error', (err) => {\r\n callback(err)\r\n })\r\n request.end()\r\n}\r\n\r\nconst AdsTable = (props) => {\r\n const [release, setReleaseData] = useState({});\r\n const [isAsc, setisAsc] = useState(true)\r\n const ea = new EdgeAuth({\r\n key: config.REACT_APP_ENCRYPTIONKEY, //props.fields.EncryptionKey.value,\r\n windowSeconds: 100000,\r\n escapeEarly: true\r\n })\r\n useEffect(() => {\r\n getReleaseData();\r\n }, {});\r\n const user = UseGlobalState();\r\n const [userData, setUserData] = useState(user[0].user);\r\n useEffect(() => {\r\n setUserData(user[0]?.user);\r\n }, user);\r\n const clickToCopy = (e) => {\r\n var copyText = e.target.innerText;\r\n window.navigator.clipboard.writeText(copyText);\r\n e.preventDefault();\r\n };\r\n const packageDownload = (path, loaderEle) => {\r\n var downloadUrl = props.fields.PackageDownloadApi.value;\r\n var packageUrl = downloadUrl?.replace(\"{file_path}\", path);\r\n if (packageUrl) {\r\n var token = ea.generateURLToken(packageUrl);\r\n let fileUrl = config.REACT_APP_ORIGIN + `${packageUrl}?__token__=${token}`;\r\n // Make a request to download the file\r\n window.open(fileUrl, '_blank');\r\n loaderEle && loaderEle.classList.add(\"hide\");\r\n let urlParams = new URLSearchParams(window.location.search);\r\n let params = urlParams.get('params');\r\n if (params !== null) {\r\n let activeTab = params.split(',')[0];\r\n window.location.href = window.location.href.split('?')[0] + \"#\" + activeTab;\r\n }\r\n }\r\n\r\n }\r\n\r\n const clickToDownload = (e, info) => {\r\n var mustAgree = true;\r\n var loaderEle = e.currentTarget.getElementsByClassName(\"download-loader\")[0];\r\n loaderEle && loaderEle.classList.remove(\"hide\");\r\n if (props.release_item.fields.RequiredAuthentication.value) {\r\n if (userData?.isAuth) {\r\n let emailId = \"\";\r\n let name = \"\";\r\n if (userData.user) {\r\n emailId = userData.user.emails;\r\n name = userData.user.name;\r\n }\r\n\r\n window.docuSignClick.Clickwrap.render({\r\n environment: props.fields.DocusignEnvironment.value,\r\n accountId: props.fields.DocusignAccId.value,\r\n clickwrapId: props.fields.DocusignClickWrapId.value,\r\n clientUserId: emailId,\r\n documentData: {\r\n fullName: name,\r\n email: emailId,\r\n company: '',\r\n title: '',\r\n date: ''\r\n },\r\n onAgreed() {\r\n if (mustAgree) {\r\n mustAgree = false;\r\n packageDownload(info.path, loaderEle);\r\n }\r\n },\r\n onDeclined() {\r\n loaderEle && loaderEle.classList.add(\"hide\");\r\n }\r\n }, '#ds-clickwrap')\r\n }\r\n else {\r\n window.location.href = config.REACT_APP_ORIGIN + config.REACT_APP_PATHNAME + `user-login${typeof window === \"undefined\" ? \"\" : \"?returnUrl=\" + window.location.pathname + \"?params=\" + window.location.hash.replace(\"#\", \"\") + \",\" + info.path}`;\r\n }\r\n }\r\n else {\r\n packageDownload(info.path, loaderEle);\r\n }\r\n\r\n };\r\n async function getReleaseData() {\r\n\r\n var akamai_url = props.fields.AkamaiApi.value;\r\n\r\n var new_url = akamai_url?.replace('{product}', props.release_item.fields.Product.value).replace('{release}', props.release_item.fields.ReleaseTitle.value);\r\n if (new_url) {\r\n var token = ea.generateURLToken(new_url);\r\n var options = {\r\n hostname: config.REACT_APP_EA_HOSTNAME,\r\n path: `${new_url}?__token__=${token}`\r\n }\r\n makeRequest(options, function (res, data) {\r\n if (res.statusCode === 200) {\r\n const header = 'name'\r\n const sortedData = [...data?.fileInfos]?.sort((a, b) => {\r\n return ((a[header]).toLowerCase() > (b[header]).toLowerCase() ? 1 : -1);\r\n })\r\n data.fileInfos = sortedData\r\n setReleaseData(data)\r\n if (isStartDownload) {\r\n triggerAutoDownload();\r\n }\r\n }\r\n });\r\n }\r\n };\r\n function triggerAutoDownload() {\r\n let urlParams = new URLSearchParams(window.location.search);\r\n let params = urlParams.get('params');\r\n if (params !== null) {\r\n let path = params.split(\",\")[1];\r\n let downloadEle = document.getElementById(path);\r\n if (downloadEle !== null) {\r\n isStartDownload = false;\r\n downloadEle.click();\r\n }\r\n }\r\n }\r\n function ConvertBytes(bytesVal) {\r\n let value = Number.parseFloat(bytesVal);\r\n if (!isNaN(value)) {\r\n value = (value / 1024).toFixed(1);\r\n return value >= 1024 ? (value / 1024).toFixed(1) + \" MiB\" : value + \" KiB\";\r\n }\r\n return 0.0 + \" KiB\";\r\n }\r\n const isPlatform = release.fileInfos?.filter(platform => platform?.platform !== \"\").length > 0;\r\n const isTarget = release.fileInfos?.filter(target => target?.target !== \"\").length > 0;\r\n\r\n //sort release data in ascending & decending order\r\n const sortReleaseData = (header) => {\r\n const sortedData = [...release?.fileInfos]?.sort((a, b) => {\r\n if (header === 'size') {\r\n return (Number(a[header]) > Number(b[header]) ? 1 : -1) * (isAsc ? 1 : -1)\r\n }\r\n return ((a[header]).toLowerCase() > (b[header]).toLowerCase() ? 1 : -1) * (isAsc ? 1 : -1)\r\n })\r\n setisAsc(!isAsc)\r\n release.fileInfos = sortedData\r\n setReleaseData(release)\r\n }\r\n\r\n return (\r\n <div class=\"c-table-wrapper\" style={{ paddingBottom: \"25px\" }}>\r\n <table class=\"c-table is-greyscale is-selectable is-sticky\">\r\n <thead>\r\n <tr>\r\n {isPlatform && (\r\n <th scope=\"col\" width=\"13%\" onClick={() => sortReleaseData('platform')}>\r\n <div class=\"sort-header\">\r\n <Text field={props.fields.PlatformText} />\r\n <i class=\"fa fa-solid fa-sort fa-lg sort-icon\"></i>\r\n </div>\r\n </th>\r\n )}\r\n <th scope=\"col\" width=\"25%\" onClick={() => sortReleaseData('name')}>\r\n <div class=\"sort-header\">\r\n <Text field={props.fields.PackageText} />\r\n <i class=\"fa fa-solid fa-sort fa-lg sort-icon\"></i>\r\n </div>\r\n </th>\r\n {isTarget && (\r\n <th scope=\"col\" width=\"16%\" onClick={() => sortReleaseData('target')}>\r\n <div class=\"sort-header\">\r\n <Text field={props.fields.TargetText} />\r\n <i class=\"fa fa-solid fa-sort fa-lg sort-icon\"></i>\r\n </div>\r\n </th>\r\n )}\r\n <th scope=\"col\" width=\"10%\" onClick={() => sortReleaseData('size')}>\r\n <div class=\"sort-header\">\r\n <Text field={props.fields.SizeText} />\r\n <i class=\"fa fa-solid fa-sort fa-lg sort-icon\"></i>\r\n </div>\r\n </th>\r\n <th scope=\"col\" width=\"10%\"><Text field={props.fields.MD5Text} /></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {typeof release === 'object' && Object.keys(release).length !== 0 && release.fileInfos.map(info => (\r\n <tr style={{ display: info?.hidden ? 'none' : '' }}>\r\n {\r\n isPlatform && <th data-title=\"Platform\">{info?.platform}</th>\r\n }\r\n {info?.hidden ? null : (info?.ispermalink ? (\r\n <td data-title=\"Package\">\r\n <span id={info.path} class='arm-pointer dowload-package'>\r\n <a class=\"c-cta-link__anchor\" data-track=\"true\" data-track-value={info.name} href={config.REACT_APP_ORIGIN + props.fields?.PermanentPackageDownloadApi?.value?.replace(\"{file_path}\", info.path)} target=\"_blank\" download>\r\n <span class=\"fal fa-download u-color-arm-blue dark:u-color-arm-light-blue u-margin-right-1/2\"></span>{info.name}\r\n </a>\r\n <AdsLoader className=\"download-loader hide\" />\r\n </span>\r\n </td>\r\n ) : (\r\n <td data-title=\"Package\">\r\n <span id={info.path} onClick={(event) => clickToDownload(event, info)} class='arm-pointer dowload-package'>\r\n <a class=\"c-cta-link__anchor\" data-track=\"true\" data-track-value={info.name}>\r\n <span class=\"fal fa-download u-color-arm-blue dark:u-color-arm-light-blue u-margin-right-1/2\"></span>{info.name}\r\n {!userData?.isAuth && (<span class=\"fal fa-sign-in-alt u-color-arm-blue dark:u-color-arm-light-blue u-margin-left-1/2\" title=\"sign in required\"></span>)}\r\n </a>\r\n <AdsLoader className=\"download-loader hide\" />\r\n </span>\r\n </td>\r\n ))}\r\n {\r\n isTarget && <td data-title=\"Target\">{info.target}</td>\r\n }\r\n <td data-title=\"Size\">{ConvertBytes(info.size)}</td>\r\n <td data-title=\"MD5\" >\r\n <span>\r\n <AdsTooltip position=\"left\">\r\n <div slot=\"content\" onMouseUp={(event) => clickToCopy(event)}>\r\n {info.md5}\r\n </div>\r\n </AdsTooltip>\r\n </span>\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n );\r\n}\r\nconst ReleaseSection = ({ fields }) => {\r\n const release_list = fields.ReleaseItemsDatasource;\r\n const latest_release_name = fields.LatestRelease.fields.ReleaseTitle.value;\r\n return (\r\n <div className=\"release-section-widget\">\r\n <div className='c-row'>\r\n <div className='c-col'>\r\n <h2 className=\"u-color-inherit u-margin-bottom-1 md:u-margin-bottom-1-1/2 u-font-size-100% sm:u-font-size-200%\"><Text field={fields.heading}></Text></h2>\r\n {release_list.map((release_Item) =>\r\n <div className='c-col'>\r\n\r\n <AdsExpansionPanel\r\n isDefaultExpanded={latest_release_name === release_Item.fields.ReleaseTitle.value}>\r\n <span slot=\"toggle\">\r\n <table class=\"c-table is-transparent\" style={{ width: \"97%\" }}>\r\n <thead>\r\n <tr>\r\n <th scope=\"col\" width=\"25%\">\r\n <Text field={fields.DownloadsText} /> : <Text field={release_Item.fields.ReleaseTitle} />\r\n </th>\r\n <th scope=\"col\" width=\"25%\">\r\n {\r\n new Date(release_Item.fields.ReleaseDate.value).getFullYear() !== 1 &&\r\n <DateField field={release_Item.fields.ReleaseDate} render={(date) => date.toLocaleDateString(\"en-us\", { year: 'numeric', month: 'long', day: 'numeric' })} />\r\n }\r\n\r\n </th>\r\n <th scope=\"col\" width=\"25%\" class='anchor-tag'>\r\n {release_Item.fields.ReleaseNoteLink.value.text &&\r\n <div>\r\n <span class=\"fal fa-file-alt u-color-arm-blue dark:u-color-arm-light-blue u-margin-right-1/2\"></span>\r\n {\r\n release_Item.fields.ReleaseNoteLink.value.url ? (\r\n <>\r\n <Link field={release_Item.fields.ReleaseNoteLink} data-track=\"true\" data-track-value={release_Item.fields.ReleaseNoteLink.value.text} className=\"c-cta-link__anchor\" target=\"_blank\"></Link>\r\n </>\r\n ) : (\r\n <>\r\n <a class=\"c-cta-link__anchor\" data-track=\"true\" data-track-value={release_Item.fields.ReleaseNoteLink.value.text}>{release_Item.fields.ReleaseNoteLink.value.text}</a>\r\n </>\r\n )\r\n }\r\n </div>}\r\n </th>\r\n <th scope=\"col\" width=\"25%\" class='anchor-tag'>\r\n {release_Item.fields.ReleaseAdditionalInfo.value.text &&\r\n <div>\r\n <span class=\"fal fa-circle-info u-color-arm-blue dark:u-color-arm-light-blue u-margin-right-1/2\"></span>\r\n {\r\n release_Item.fields.ReleaseAdditionalInfo.value.url ? (\r\n <>\r\n <Link field={release_Item.fields.ReleaseAdditionalInfo} data-track=\"true\" data-track-value={release_Item.fields.ReleaseAdditionalInfo.value.text} className=\"c-cta-link__anchor\" target=\"_blank\"></Link>\r\n </>\r\n ) : (\r\n <>\r\n <a class=\"c-cta-link__anchor\" data-track=\"true\" data-track-value={release_Item.fields.ReleaseAdditionalInfo.value.text}>{release_Item.fields.ReleaseAdditionalInfo.value.text}</a>\r\n </>\r\n )\r\n }\r\n </div>\r\n }\r\n\r\n </th>\r\n </tr>\r\n </thead>\r\n </table>\r\n </span>\r\n\r\n <div slot=\"content\">\r\n <AdsTable fields={fields} release_item={release_Item}></AdsTable>\r\n </div>\r\n </AdsExpansionPanel>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default ReleaseSection;\r\n","import React from \"react\";\r\nimport { CoveoHeadless } from \"@arm/ce-shared-components\";\r\nimport { withSitecoreContext } from \"@sitecore-jss/sitecore-jss-react\";\r\nimport { productHierarchyCoveoQuery } from \"../../../services/coveoQueryService\";\r\nimport config from \"../../../temp/config\";\r\nimport StarsRating from \"../../SharedComponents/StarsRating\";\r\nimport RenderingStyling from \"../../../lib/RenderingStyling\";\r\nimport { UseGlobalState } from \"../../../context\";\r\n\r\nconst ResourcesContainer = ({ rendering, sitecoreContext }) => {\r\n const coveoQuery = sitecoreContext?.route?.fields?.UXNSProducts\r\n ? productHierarchyCoveoQuery(sitecoreContext)\r\n : \"\";\r\n const [{ user }] = UseGlobalState();\r\n\r\n if (coveoQuery !== \"\") {\r\n const label = sitecoreContext.route?.fields?.UXNSProducts\r\n ? sitecoreContext.route.fields.UXNSProducts.reduce(\r\n (acc, currentValue, index) => {\r\n acc =\r\n index === 0\r\n ? currentValue.displayName\r\n : acc + `, ${currentValue.displayName}`;\r\n return acc;\r\n },\r\n \"\"\r\n )\r\n : \"\";\r\n\r\n const resultViewType = () => {\r\n let viewType = \"list\";\r\n try {\r\n if (typeof window !== \"undefined\") {\r\n const userSelectedViewtype = localStorage?.getItem(\"viewtype\");\r\n if (userSelectedViewtype) {\r\n viewType = JSON.parse(userSelectedViewtype);\r\n }\r\n return viewType;\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n } finally {\r\n return viewType;\r\n }\r\n };\r\n\r\n const resultItemType = {\r\n type: resultViewType(),\r\n variant: \"landing-b\",\r\n hideProductTags: true,\r\n hideBreadcrumb: true,\r\n };\r\n\r\n return (\r\n <div {...RenderingStyling(rendering.componentName)}>\r\n {user?.isLoginDone && (\r\n <CoveoHeadless\r\n CoveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`}\r\n CoveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n CoveoSearchHub={`${config.REACT_APP_COVEOPRODUCTPAGESEARCHHUB}`}\r\n CoveoQueryPipeline={`${config.REACT_APP_COVEOPRODUCTPAGEQUERYPIPELINE}`}\r\n tabId={`${config.REACT_APP_COVEORESOURCESTABID}`}\r\n scopedProductsLabel={label}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n switchTagsLocation={true}\r\n coveoQuery={coveoQuery}\r\n showCountsInFacet={false}\r\n resultItemType={resultItemType}\r\n showRecommendedTag={true}\r\n facetsConfig={[\r\n {\r\n title: \"Confidential\",\r\n field: \"confidentiality\",\r\n isHierarchial: false,\r\n showCountsInFacet: false,\r\n },\r\n {\r\n title: \"Resource Types\",\r\n field: \"navigationhierarchiescontenttype\",\r\n showCountsInFacet: false,\r\n },\r\n {\r\n title: \"Audience\",\r\n field: \"navigationhierarchiesaudience\",\r\n showCountsInFacet: false,\r\n },\r\n ]}\r\n useUrlParams={false}\r\n >\r\n <StarsRating uid={rendering.uid} />\r\n </CoveoHeadless>\r\n )}\r\n </div>\r\n );\r\n } else {\r\n return \"\";\r\n }\r\n};\r\n\r\nexport default withSitecoreContext()(ResourcesContainer);\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport './SoftwareDownloadsContainer.css';\r\n\r\nconst SoftwareDownloadsContainer = ({ fields, rendering, softwaredownloadcontent }) => (\r\n <>\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row c-download-container c-row c-download-container u-padding-top-1-1/2 u-padding-bottom-1-1/2\">\r\n \r\n <div className=\"c-col c-col-12 c-download-components u-margin-right-1 u-margin-left-1\">\r\n <div className=\"c-row dev-c-tab-heading dev-c-tab-filter-heading \r\n c-horizontal-rule u-display-grid u-gap-1 lg:u-gap-0 lg:u-flex u-align-items-center \r\n lg:u-align-items-start u-position-relative lg:u-justify-content-between\">\r\n <h2 className=\"u-margin-top-0\"><Text field={fields.heading}></Text></h2>\r\n <StarsRating uid={ rendering.uid } />\r\n </div>\r\n </div>\r\n <div className=\"c-col c-col-12 c-download-components\">\r\n <div className=\"c-software-container\">\r\n {softwaredownloadcontent}\r\n </div>\r\n </div>\r\n </div>\r\n \r\n\r\n </>\r\n);\r\n\r\nexport default withPlaceholder(['softwaredownloadcontent'])(SoftwareDownloadsContainer);\r\n\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst SupportAndTrainingCardsContainer = ({ fields, rendering, SupportCardsPlaceholder, EventBannersPlaceholder, TrainingCardsPlaceholder }) => (\r\n\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row md:is-collapsed u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-col c-col-12\">\r\n <div className=\"c-row dev-c-tab-heading c-horizontal-rule u-flex u-align-items-center lg:u-align-items-start u-justify-content-between u-margin-bottom-2\">\r\n <div>\r\n <h2 className=\"u-margin-0\"><Text field={fields.supportTitle} /></h2>\r\n </div>\r\n <StarsRating uid={rendering.uid} />\r\n </div>\r\n <div>\r\n <div className=\"lg:u-padding-left-1\">\r\n <div className=\"u-display-grid u-gap-2 lg:u-grid-columns-3\">\r\n {SupportCardsPlaceholder} \r\n </div>\r\n <div class=\"u-margin-top-2\">\r\n {EventBannersPlaceholder}\r\n </div>\r\n </div>\r\n <h2 id=\"training-courses\" className=\"u-margin-top-2 u-margin-bottom-2\"><Text field={fields.trainingTitle} /></h2>\r\n <div className=\"u-display-grid u-gap-2 lg:u-grid-columns-3 lg:u-padding-left-1\">\r\n {TrainingCardsPlaceholder}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n);\r\nexport default withPlaceholder(['SupportCardsPlaceholder', 'EventBannersPlaceholder', 'TrainingCardsPlaceholder'])(SupportAndTrainingCardsContainer);\r\n","import React from 'react';\r\nimport { Text, RichText, Image } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport './SupportCard.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\n\r\nconst SupportCard = ({ fields,rendering }) => (\r\n <React.Fragment>\r\n <AdsCard {...RenderingStyling(rendering.componentName)} srLabel={fields.heading.value} className=\"dev-c-card dev-c-card--support\" link={fields.pageLink.value} has-hover-effect>\r\n <AdsCardContent slot=\"content\" className=\"u-padding-1 u-padding-top-0\">\r\n <div className=\"c-row\">\r\n <div className=\"c-col c-col-8 u-padding-0\">\r\n <h3 className=\"dev-c-card__title u-font-size-150%\"><Text field={fields.heading} /></h3>\r\n <RichText field={fields.content} />\r\n </div>\r\n <div className=\"c-col c-col-4 u-flex u-justify-content-center\">\r\n <Image className=\"u-margin-auto\" media={fields.image} />\r\n </div>\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\nexport default SupportCard;\r\n","import React from 'react';\r\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst SupportedDevicesContainer = ({ fields, rendering }) => (\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row md:is-collapsed u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div class=\"c-col c-col-12\">\r\n <div className=\"c-row dev-c-tab-heading c-horizontal-rule u-flex u-align-items-center lg:u-align-items-start u-justify-content-between\">\r\n <div>\r\n <h2 className=\"u-margin-0\"><Text field={fields.heading} /></h2>\r\n </div>\r\n <StarsRating uid={ rendering.uid } />\r\n </div>\r\n <RichText field={fields.text}></RichText>\r\n </div>\r\n </div>\r\n);\r\n\r\nexport default SupportedDevicesContainer;","import React from 'react';\r\nimport { Text, RichText, Image } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst TechnicalSpecificationContainer = ({ fields, rendering, KeyResourcesPlaceholder, CallToActionButtonsPlaceholder }) => (\r\n <>\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row md:is-collapsed u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-col c-col-12 xl:c-col-8\">\r\n <div>\r\n {KeyResourcesPlaceholder}\r\n <div className=\"u-padding-left-1 u-margin-top-2 u-margin-bottom-2 u-flex u-flex-column md:u-flex-row u-align-content-center\">\r\n {CallToActionButtonsPlaceholder}\r\n </div>\r\n <h2 className=\"u-margin-top-0\" id=\"specification\"><Text field={fields.heading} /></h2>\r\n <div className=\"u-padding-left-1 xl:u-padding-right-1\">\r\n <RichText field={fields.summary} />\r\n </div>\r\n </div>\r\n </div>\r\n {fields.isLargeImage.value ?\r\n <>\r\n <div className=\"c-col c-col-12 xl:c-col-4\">\r\n <StarsRating uid={rendering.uid} />\r\n </div>\r\n <div className=\"c-row xl:is-collapsed u-justify-content-center u-padding-top-2\">\r\n <picture className=\"u-width-100%\">\r\n <Image id=\"product-diagram\" class=\"default:u-display-block u-width-100% u-height-100%\" field={fields.image} />\r\n </picture>\r\n <div id=\"product-diagram\"></div>\r\n </div> \r\n </>\r\n :\r\n <div className=\"c-col c-col-12 xl:c-col-4\">\r\n <StarsRating uid={rendering.uid} />\r\n <picture className=\"u-display-block u-padding-left-1 xl:u-padding-left-0 xl:u-text-right\">\r\n <Image className=\"dev-c-product-image xl:u-width-100%\" field={fields.image} />\r\n </picture>\r\n </div>\r\n }\r\n </div>\r\n {fields.table.value!=\"\"?\r\n <div className=\"c-row xl:is-collapsed u-padding-bottom-2-1/2 u-padding-left-1 dev-c-tech-specification-table\">\r\n <RichText field={fields.table} />\r\n </div>\r\n : <div></div>\r\n }\r\n </>\r\n);\r\n\r\nexport default withPlaceholder(['KeyResourcesPlaceholder','CallToActionButtonsPlaceholder'])(TechnicalSpecificationContainer);\r\n","import React from 'react';\r\nimport { Text, RichText, Image } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport './TechnicalSpecificationContainerVariantB.css';\r\n\r\nconst TechnicalSpecificationContainerVariantB = ({ fields, rendering, KeyResourcesPlaceholder, CallToActionButtonsPlaceholder, AdditionalResourcesCardPlaceholder }) => (\r\n <>\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row xl:is-collapsed u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-col c-col-12 xl:c-col-8\">\r\n <div>\r\n {KeyResourcesPlaceholder}\r\n <div className=\"u-padding-left-1 u-margin-top-2 u-margin-bottom-2 u-flex u-flex-column md:u-flex-row u-align-content-center\">\r\n {CallToActionButtonsPlaceholder}\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <div className=\"c-col c-col-12 xl:c-col-4 padding-left-16\">\r\n <StarsRating uid={rendering.uid} />\r\n {AdditionalResourcesCardPlaceholder}\r\n </div>\r\n </div>\r\n <h2 className=\"u-margin-top-0\" id=\"specification\"><Text field={fields.heading} /></h2>\r\n <div className=\"u-padding-left-1 xl:u-padding-right-1\">\r\n <RichText field={fields.summary} />\r\n </div>\r\n { fields.table.value!=\"\"?\r\n <div className=\"c-row xl:is-collapsed u-padding-bottom-2-1/2 u-padding-left-1 dev-c-tech-specification-table\">\r\n <RichText field={fields.table} />\r\n </div>\r\n : <div></div>\r\n }\r\n </>\r\n);\r\n\r\nexport default withPlaceholder(['KeyResourcesPlaceholder', 'CallToActionButtonsPlaceholder', 'AdditionalResourcesCardPlaceholder'])(TechnicalSpecificationContainerVariantB);\r\n","import React from 'react';\r\nimport { Text, RichText, Image } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst TechnicalSpecificationContainerVariantC = ({ fields, rendering, KeyResourcesPlaceholder, CallToActionButtonsPlaceholder, AdditionalResourcesCardPlaceholder }) => (\r\n <>\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row xl:is-collapsed u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-col c-col-12 xl:c-col-8\">\r\n <div>\r\n {KeyResourcesPlaceholder}\r\n <div className=\"u-padding-left-1 u-margin-top-2 u-margin-bottom-2 u-flex u-flex-column md:u-flex-row u-align-content-center\">\r\n {CallToActionButtonsPlaceholder}\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <div className=\"c-col c-col-12 xl:c-col-4\">\r\n <StarsRating uid={rendering.uid} /> \r\n </div>\r\n </div>\r\n <h2 className=\"u-margin-top-0\" id=\"specification\"><Text field={fields.heading} /></h2>\r\n <div className=\"u-padding-left-1 xl:u-padding-right-1\">\r\n <RichText field={fields.summary} />\r\n </div>\r\n {fields.text.value!=\"\"?\r\n <div className=\"c-row xl:is-collapsed u-padding-bottom-2-1/2 u-padding-left-1\">\r\n <RichText field={fields.text} />\r\n </div>\r\n : <div></div> \r\n }\r\n <div className=\"c-row xl:is-collapsed u-justify-content-center u-padding-top-2\">\r\n <picture>\r\n <Image id=\"product-diagram\" field={fields.image} />\r\n </picture>\r\n <div id=\"product-diagram\"></div>\r\n </div>\r\n <div className=\"c-row xl:is-collapsed u-padding-bottom-2-1/2 u-padding-left-1\">\r\n <RichText field={fields.textAfterImage} />\r\n </div> \r\n </>\r\n);\r\n\r\nexport default withPlaceholder(['KeyResourcesPlaceholder', 'CallToActionButtonsPlaceholder'])(TechnicalSpecificationContainerVariantC);\r\n\r\n","import React from 'react';\r\nimport { RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { Image } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nimport './ToolsAndSoftwareCard.css';\r\n\r\nconst ToolsAndSoftwareCard = ({ fields,rendering }) => (\r\n\r\n <React.Fragment>\r\n <AdsCard {...RenderingStyling(rendering.componentName)} srLabel={fields.heading.value} className='dev-c-card dev-c-card--tools-software' link={fields.link.value.href} has-hover-effect>\r\n <AdsCardContent slot=\"content\" className='u-padding-1 u-padding-top-0'>\r\n <div className=\"dev-c-card__title c-heading-3 u-font-size-150%\"><Text field={fields.heading} /></div>\r\n <div className=\"c-row\">\r\n <div className=\"c-col c-col-9 u-padding-0\">\r\n <RichText field={fields.content}></RichText>\r\n </div>\r\n <div className='c-col c-col-3 u-justify-content-center'>\r\n <Image media={fields.image} className=\"u-margin-auto\" />\r\n </div>\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\n\r\nexport default ToolsAndSoftwareCard;\r\n\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport './ToolsAndSoftwareCardsContainer.css';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst ToolsAndSoftwareCardsContainer = ({ fields, rendering, ToolsAndSoftwareCardsPlaceholder }) => (\r\n\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row md:is-collapsed u-gap-1-1/2 u-flex-nowrap u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-col c-col-12\">\r\n <div className=\"c-row dev-c-tab-heading dev-c-tab-filter-heading c-horizontal-rule u-display-grid u-gap-1 lg:u-gap-0 lg:u-flex u-align-items-center lg:u-align-items-start u-margin-bottom-2 u-position-relative lg:u-justify-content-between\">\r\n <h2 className=\"u-margin-0\"><Text field={fields.title}></Text></h2>\r\n <StarsRating uid={ rendering.uid } />\r\n </div>\r\n <div id=\"dev-tools-software-grid\" className=\"u-display-grid u-gap-2 lg:u-grid-columns-2\">\r\n {ToolsAndSoftwareCardsPlaceholder}\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n);\r\n\r\n\r\nexport default withPlaceholder('ToolsAndSoftwareCardsPlaceholder')(ToolsAndSoftwareCardsContainer);\r\n\r\n","import React from 'react';\r\nimport { Text, RichText, Image } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport './TrainingCard.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst TrainingCard = ({ fields,rendering }) => (\r\n <React.Fragment>\r\n <AdsCard {...RenderingStyling(rendering.componentName)} srLabel={fields.heading.value} className=\"dev-c-card dev-c-card--training\" link={fields.pageLink.value} has-hover-effect>\r\n <AdsCardContent slot=\"content\" className=\"u-padding-1 u-padding-top-0\">\r\n <div className=\"c-row\">\r\n <Image className=\"u-margin-auto\" media={fields.image} />\r\n <div className=\"c-col u-padding-left-1/2\">\r\n <span className=\"u-color-arm-dark-grey\"><Text field={fields.title} /></span>\r\n <span className=\"u-display-block u-font-size-75%\"><Text field={fields.subTitle} /></span>\r\n </div>\r\n </div>\r\n <div className=\"c-row\">\r\n <h3 className=\"dev-c-card__title u-font-size-150%\"><Text field={fields.heading} /></h3>\r\n <RichText field={fields.content} />\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\nexport default TrainingCard;\r\n","import * as React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport './UseCaseCard.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst UseCaseCard = ({ fields, rendering }) => (\r\n <React.Fragment>\r\n <AdsCard sc-part-of=\"placeholder rendering\" {...RenderingStyling(rendering.componentName)} srLabel={fields.heading.value} className=\"dev-c-card dev-c-card--use-case\" link={fields.pageLink.value} has-hover-effect>\r\n <AdsCardContent slot=\"content\" className=\"u-padding-1/2\">\r\n <div className=\"u-margin-bottom-1/2 dark:u-color-arm-green\"><Text field={fields.title} /></div>\r\n <h3 className=\"dev-c-card__title u-font-size-150% u-margin-top-0\"><Text field={fields.heading} /></h3>\r\n <RichText field={fields.content} />\r\n </AdsCardContent>\r\n </AdsCard>\r\n \r\n </React.Fragment>\r\n);\r\n\r\nexport default UseCaseCard;\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { withPlaceholder,withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\n\r\n\r\nconst UseCaseCardsContainer = ({ fields, UseCaseCardsPlaceholder, rendering,sitecoreContext }) => {\r\n let bgColorstyle;\r\n let isUseCaseContainerExists = '';\r\n if(sitecoreContext.route.fields.backgroundColor && sitecoreContext.route.fields.backgroundColor.fields?.value?.value != '' && sitecoreContext.route.fields.backgroundColor.fields?.value?.value != 'Default')\r\n {\r\n bgColorstyle = sitecoreContext.route.fields.backgroundColor.fields.value.value;\r\n isUseCaseContainerExists = '1';\r\n }\r\n return(\r\n <section style={{ backgroundColor: bgColorstyle}} class=\"u-padding-top-2-1/2 u-padding-bottom-2-1/2 u-bg-color-arm-light-grey-alt-2 dark:u-bg-color-overlay-dark\" {...RenderingStyling(rendering.componentName)}>\r\n <input type='hidden' id='hdnIsSet' value={isUseCaseContainerExists}></input>\r\n <div class=\"md:u-margin-left-2 md:u-margin-right-2\">\r\n <div class=\"c-container is-full-width\">\r\n <div className=\"c-row xl:is-collapsed\">\r\n <div className=\"c-col c-col-12\">\r\n <h2 id=\"use-cases\" className=\"u-margin-top-0\"><Text field={fields.title} /></h2>\r\n <div className=\"c-row\">\r\n <div className=\"c-col\">\r\n <div className=\"u-display-grid u-gap-1 lg:u-grid-columns-3\">\r\n {UseCaseCardsPlaceholder}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n)};\r\n\r\nexport default withSitecoreContext()(withPlaceholder('UseCaseCardsPlaceholder')(UseCaseCardsContainer));\r\n","import React from 'react';\r\nimport { RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport './WorksWellWithCard.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nconst WorksWellWithCard = ({ fields,rendering }) => (\r\n\r\n <React.Fragment>\r\n <AdsCard className=\"dev-c-card dev-c-filter-card\" link={fields.link.value.href} srLabel={fields.heading.value} {...RenderingStyling(rendering.componentName)} >\r\n <AdsCardContent slot=\"content\" >\r\n <div className=\"dev-c-filter-card__content u-padding-left-1\">\r\n <span className=\"dev-c-filter-card__subtitle u-color-arm-dark-grey\"><Text field={fields.heading}></Text></span>\r\n <div className=\"dev-c-card__title dev-c-filter-card__title\"><Text field={fields.subHeading}></Text> </div>\r\n <RichText field={fields.content}></RichText>\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\n\r\nexport default WorksWellWithCard;\r\n\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport './WorksWellWithCardsContainer.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst WorksWellWithCardsContainer = ({ fields, rendering, WorksWellWithCardsPlaceholder }) => (\r\n\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row md:is-collapsed u-gap-1-1/2 u-flex-nowrap u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-col c-col-12 \">\r\n <div className=\"c-row dev-c-tab-heading dev-c-tab-filter-heading c-horizontal-rule u-display-grid u-gap-1 lg:u-gap-0 lg:u-flex u-align-items-center lg:u-align-items-start u-margin-bottom-2 u-position-relative lg:u-justify-content-between\">\r\n <h2 className=\"u-margin-0\"><Text field={fields.title}></Text></h2>\r\n <StarsRating uid={ rendering.uid } />\r\n </div>\r\n <div className=\"u-display-grid u-gap-1 md:u-grid-columns-2 xl:u-grid-columns-3 xxl:u-grid-columns-4\">\r\n {WorksWellWithCardsPlaceholder}\r\n </div>\r\n </div>\r\n </div>\r\n);\r\n\r\n\r\nexport default withPlaceholder('WorksWellWithCardsPlaceholder')(WorksWellWithCardsContainer);\r\n\r\n","import React from 'react';\r\nimport { Link, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\n\r\nconst CallToActionButton = ({ fields,sitecoreContext,rendering }) => (\r\n sitecoreContext.pageEditing ?\r\n <div className=\"u-flex-row u-align-content-center u-margin-bottom-1 md:u-margin-right-1\" {...RenderingStyling(rendering.componentName)} >\r\n {\r\n <Link field={fields.link} data-track=\"true\" data-track-value={fields.link.value.text} className={\"c-cta-button \" + fields.size?.fields.className?.value + \" \" + fields.type?.fields.className?.value }></Link>\r\n }\r\n \r\n </div>:\r\n fields.link?.value?.href !== '' &&\r\n <div className=\"u-flex-row u-align-content-center u-margin-bottom-1 md:u-margin-right-1\">\r\n {\r\n fields.link.value.linktype === 'media' ?\r\n <div>\r\n <a data-track=\"true\" data-track-value={fields.link.value.text}\r\n href={fields.link.value.href.replace('/sitecore/media-library','/-/media').replace('/sitecore/media library','/-/media') + '.ashx'} download className={\"c-cta-button \" + fields.size?.fields.className?.value + \" \" + fields.type?.fields.className?.value }>\r\n {fields.link.value.text} \r\n </a>\r\n <iframe id=\"my_iframe\" style={{display : 'none'}}></iframe>\r\n </div>\r\n :\r\n <Link field={fields.link} data-track=\"true\" data-track-value={fields.link.value.text} className={\"c-cta-button \" + fields.size?.fields.className?.value + \" \" + fields.type?.fields.className?.value }></Link>\r\n }\r\n \r\n </div>\r\n \r\n);\r\n \r\nexport default withSitecoreContext()(CallToActionButton);\r\n","import React, { useEffect } from 'react';\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport config from '../../../temp/config';\r\n\r\nconst ClientSideRedirect = ({ fields, sitecoreContext }) => {\r\n //handle media link\r\n let redirectLink = sitecoreContext?.route?.fields?.redirectUrl?.value;\r\n if (redirectLink?.linktype === 'media') {\r\n redirectLink.href = redirectLink.href\r\n .replace('/sitecore/media-library', '/-/media')\r\n .replace('/sitecore/media library', '/-/media');\r\n }\r\n\r\n //handle redirect url for both internal and external usecases\r\n let redirectUrl = new URL(\r\n redirectLink?.href ?? \"\", //redirect to Dev2.0 homepage if the redirect link isn't set\r\n typeof origin === 'undefined' ? config.REACT_APP_SITECOREORIGIN : origin\r\n );\r\n\r\n //bypass timer redirect for 'internal' links\r\n let isArmHostname = redirectUrl.hostname.endsWith('arm.com')\r\n || redirectUrl.hostname === 'localhost'\r\n || redirectUrl.origin === config.REACT_APP_SITECOREORIGIN;\r\n let timeout = isArmHostname ? 0 : (fields?.redirectTime?.value ?? 0);\r\n\r\n const [counter, setCounter] = React.useState(timeout);\r\n //redirect on timeout\r\n useEffect(() => {\r\n const timer = counter > 0 && setInterval(() => setCounter(counter - 1), 1000);\r\n if(counter == 0) window.location.replace(redirectUrl.href); \r\n return () => clearTimeout(timer);\r\n }, [counter]);\r\n\r\n //format redirect text\r\n function formatJSXRedirectText(str, replace) {\r\n const parts = str?.replace('$time', counter).split('$link');\r\n const result = [];\r\n for (let i = 0; i < parts?.length; i++) {\r\n result.push(parts[i]);\r\n if (i < parts.length - 1) result.push(replace);\r\n } return result;\r\n }\r\n\r\n return (\r\n <section className=\"md:u-margin-left-2 md:u-margin-right-2 u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-container is-full-width\">\r\n <div className=\"c-row\">\r\n <div className=\"c-col c-col-12\">\r\n <div className=\"u-margin-top-0\">{formatJSXRedirectText(fields?.redirectText?.value, <a href={redirectUrl.href} data-track=\"true\" data-track-value={sitecoreContext?.route?.fields?.redirectUrl?.value?.text}>{sitecoreContext?.route?.fields?.redirectUrl?.value?.text}</a>)}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n );\r\n}\r\n\r\nexport default withSitecoreContext()(ClientSideRedirect);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./CommunityBlog.css\";\r\nimport config from \"../../../temp/config\";\r\nimport RenderingStyling from \"../../../lib/RenderingStyling\";\r\nimport { CommunityBlogsCard } from \"@arm/ce-shared-components/components/CoveoHeadless/CommunityComponents/Cards\";\r\nimport { UseGlobalState } from \"../../../context\";\r\n\r\nconst CommunityBlog = ({ fields, rendering }) => {\r\n const [{ user }] = UseGlobalState();\r\n const blogID = fields.OrFromBlogs?.map(\r\n (blog) => '\"' + blog.fields[\"Telligent Id\"].value + '\"'\r\n ).toString();\r\n const blogTagValues = fields.KeywordTags?.map(\r\n (blog) => '\"' + blog.displayName + '\"'\r\n ).toString();\r\n const blogText = fields.KeywordTagsText?.value.toString();\r\n const blogTagText =\r\n blogText == \"\" ? blogText : '\"' + blogText.split(\",\").join('\",\"') + '\"';\r\n const blogTag =\r\n blogTagValues == \"\"\r\n ? blogTagText\r\n : blogTagText == \"\"\r\n ? blogTagValues\r\n : blogTagValues + \",\" + blogTagText;\r\n const numberofPosts =\r\n fields.NumberOfPosts?.value == \"\" ? 3 : fields.NumberOfPosts?.value;\r\n\r\n return (\r\n <React.Fragment {...RenderingStyling(rendering.componentName)}>\r\n <CommunityBlogsCard\r\n CoveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`}\r\n CoveoSearchHub={`${config.REACT_APP_COVEOCOMMUNITYSEARCHHUB}`}\r\n CoveoQueryPipeline={`${config.REACT_APP_COVEOCOMMUNITYQUERYPIPELINE}`}\r\n CoveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n blogID={blogID}\r\n blogTag={blogTag}\r\n numberofPosts={numberofPosts}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n CoveoRecommendedQueryPipeline={`${config.REACT_APP_COVEOCOMMUNITYRECOMMENDEDQUERYPIPELINE}`}\r\n CoveoRecommendedSearchHub={`${config.REACT_APP_COVEOHOMEPAGECOMMUNITYSEARCHHUB}`}\r\n searchEndPoint={`${config.REACT_APP_COVEOCACHEDENDPOINT}`}\r\n />\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nexport default CommunityBlog;\r\n","import React from \"react\";\r\nimport { Link, withSitecoreContext } from \"@sitecore-jss/sitecore-jss-react\";\r\nimport config from \"../../../temp/config\";\r\nimport { CommunityForumCard } from \"@arm/ce-shared-components/components/CoveoHeadless/CommunityComponents/Cards\";\r\nimport \"./CommunityForum.css\";\r\nimport RenderingStyling from \"../../../lib/RenderingStyling\";\r\nimport { UseGlobalState } from \"../../../context\";\r\n\r\nconst CommunityFourm = ({ fields, sitecoreContext, rendering }) => {\r\n const [{ user }] = UseGlobalState();\r\n const forumID =\r\n fields.OrFromSingleForum?.fields[\"Telligent Id\"].value.toString();\r\n const filterBy = fields.FilterBy?.displayName.toString();\r\n const numberofPosts =\r\n fields.NumberOfPosts?.value == \"\" ? 3 : fields.NumberOfPosts?.value;\r\n return (\r\n <div {...RenderingStyling(rendering.componentName)}>\r\n <CommunityForumCard\r\n CoveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`}\r\n CoveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n CoveoSearchHub={`${config.REACT_APP_COVEOCOMMUNITYSEARCHHUB}`}\r\n CoveoQueryPipeline={`${config.REACT_APP_COVEOCOMMUNITYQUERYPIPELINE}`}\r\n forumID={forumID}\r\n filterBy={filterBy}\r\n numberofPosts={numberofPosts}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n CoveoRecommendedQueryPipeline={`${config.REACT_APP_COVEOCOMMUNITYRECOMMENDEDQUERYPIPELINE}`}\r\n CoveoRecommendedSearchHub={`${config.REACT_APP_COVEOHOMEPAGECOMMUNITYSEARCHHUB}`}\r\n searchEndPoint={`${config.REACT_APP_COVEOCACHEDENDPOINT}`}\r\n />\r\n\r\n {sitecoreContext.pageEditing ? (\r\n <div class=\"lg:u-padding-left-1 u-text-center\">\r\n <Link\r\n field={fields.CTAlink}\r\n data-track=\"true\"\r\n data-track-value={fields.CTAlink.value.text}\r\n className=\"c-cta-button is-medium is-primary\"\r\n ></Link>\r\n </div>\r\n ) : (\r\n fields.CTAlink?.value?.href !== \"\" && (\r\n <div class=\"lg:u-padding-left-1 u-text-center\">\r\n <Link\r\n field={fields.CTAlink}\r\n data-track=\"true\"\r\n data-track-value={fields.CTAlink.value.text}\r\n className=\"c-cta-button is-medium is-primary\"\r\n ></Link>\r\n </div>\r\n )\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default withSitecoreContext()(CommunityFourm);\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst CommunityPostsContainer = ({ fields, CommunityBlogsPlaceHolder, CommunityForumsPlaceHolder, rendering}) => (\r\n <section className=\"u-padding-top-2-1/2 u-padding-bottom-2-1/2\" {...RenderingStyling(rendering.componentName)} >\r\n <div className=\"md:u-margin-left-2 md:u-margin-right-2\">\r\n <div className=\"c-container is-full-width\">\r\n <div class=\"c-row md:is-collapsed\">\r\n <div class=\"c-col c-col-12\">\r\n <h2 id=\"popular-posts\" className=\"u-margin-top-0 u-margin-bottom-2\"><Text field={fields?.title} /></h2>\r\n <div class=\"lg:u-padding-left-1 u-display-grid u-gap-2 u-margin-bottom-2 xl:u-grid-auto-flow-column\">\r\n {CommunityBlogsPlaceHolder}\r\n </div>\r\n {CommunityForumsPlaceHolder}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n);\r\n\r\nexport default withPlaceholder(['CommunityBlogsPlaceHolder','CommunityForumsPlaceHolder'])(CommunityPostsContainer);\r\n","import * as React from 'react';\r\nimport { CookieConsent } from '@arm/ce-shared-components';\r\nimport './CookieConsent.css';\r\nimport config from '../../../temp/config';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nconst ConfigCookieConsent = (props) => {\r\n let { fields, rendering, sitecoreContext } = props\r\n return <div role=\"navigation\" aria-label=\"cookie consent\" className=\"fixedPolicyBox\" {...RenderingStyling(rendering.componentName)} >\r\n <CookieConsent\r\n sitecoreURI={config.REACT_APP_SITECOREURI}\r\n sitecoreEndpoint={config.REACT_APP_COOKIEENPOINT}\r\n sitecoreDatasource={fields.sitecoreDatasource.value}\r\n domain={config.REACT_APP_COOKIEDOMAIN}\r\n data={sitecoreContext?.ssr?.cookieData}\r\n disableCookie={true}\r\n />\r\n </div>\r\n};\r\n\r\nexport default withSitecoreContext()(ConfigCookieConsent);\r\n","import React from 'react';\r\nimport { Link, DateField } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst EventLink = ({ fields, rendering }) => {\r\n return (\r\n <div class=\"dev-c-event u-display-grid\" id={rendering.uid} {...RenderingStyling(rendering.componentName)} >\r\n <div className=\"dev-c-event__title\">\r\n <h2><Link field={fields.link} data-track=\"true\" data-track-value={fields.link.value.text}/></h2>\r\n </div>\r\n <DateField field={fields.date} render={(date) => <time datetime={date.toLocaleString()}>{date.toDateString()}</time>} />\r\n {fields.type?.fields?.value?.value ? <p class=\"dev-c-event-category\">{fields.type?.fields?.value?.value}</p> : \"\"}\r\n </div>\r\n );\r\n};\r\n\r\nexport default EventLink;\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst EventListCard = ({ fields, rendering, EventLinksPlaceholder}) => (\r\n <React.Fragment>\r\n <AdsCard {...RenderingStyling(rendering.componentName)} className=\"dev-c-event-list-card u-bg-color-arm-light-grey\" id={\"ads-card-\" + rendering.uid} orientation=\"vertical\">\r\n <AdsCardContent slot=\"content\" className=\"u-display-grid u-gap-1 u-padding-1\">\r\n <div className=\"u-flex u-flex-column u-height-100\">\r\n <h3 className=\"u-margin-top-0 u-margin-bottom-1 u-color-arm-black dark:u-color-white\"><Text field={fields.heading} /></h3>\r\n <div className=\"u-display-grid u-gap-1/2 dev-c-event-list__events\">\r\n {EventLinksPlaceholder}\r\n </div>\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\nexport default withPlaceholder('EventLinksPlaceholder')(EventListCard);\r\n","import React from 'react';\r\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent,\r\n AdsCardImage,\r\n AdsTag\r\n} from '@arm/arm-design-system-react';\r\nimport './FeatureCard.css'\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst FeatureCard = ({ fields, rendering }) => {\r\n return (\r\n <React.Fragment>\r\n <AdsCard {...RenderingStyling(rendering.componentName)} srLabel={fields.heading.value} className=\"dev-c-card dev-c-feature-card dev-c-feature-card--main u-width-100%\" link={fields.link?.value?.href} id={\"ads-card-\" + rendering.uid} orientation=\"vertical\">\r\n <AdsCardImage src={fields.image?.value?.src} slot=\"image\"></AdsCardImage>\r\n <AdsCardContent slot=\"content\">\r\n {fields.themes.length > 0 ? <AdsTag srLabel={fields.themes[0].displayName} href=\"#\" className=\"dev-c-card-tag u-inline-block\" onClick={(event) => { window.location.href=window.location.href+'&f-navigationhierarchiestopics='+ fields.themes[0].displayName;(event).preventDefault();}} id={\"ads-tag-\" + fields.themes[0].id}>\r\n <span className=\"fal fa-tag u-margin-right-1/2 rtl:u-margin-left-1/2 rtl:u-margin-right-0\"></span>\r\n {fields.themes[0].displayName}\r\n </AdsTag> : \"\" }\r\n <h3 className=\"dev-c-card__title u-grid-rows-1 u-margin-0\"><Text field={fields.heading} /></h3>\r\n <div id=\"subTitle\"><RichText field={fields.subTitle} /></div>\r\n <p className=\"u-margin-0\"><Text field={fields.shortDescription} /></p>\r\n {fields.themes.length > 1 ? <a class=\"dev-c-categories u-margin-0 u-text-bold\" data-track=\"true\" data-track-value={fields.themes[1].displayName}>{fields.themes[1].displayName}</a> : \"\"}\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nexport default FeatureCard;\r\n","import React from 'react';\r\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent,\r\n AdsCardImage,\r\n AdsTag\r\n} from '@arm/arm-design-system-react';\r\nimport './FeatureCardSmall.css'\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst FeatureCardSmall = ({ fields, rendering }) => {\r\n return (\r\n <React.Fragment>\r\n <AdsCard {...RenderingStyling(rendering.componentName)} srLabel={fields.heading.value} className={!fields.image?.value?.src?\"dev-c-card dev-c-feature-card dev-c-feature-card-small--main u-width-100% dev-c-feature-card-small--noimage\":\"dev-c-card dev-c-feature-card dev-c-feature-card-small--main u-width-100%\"} link={fields.link?.value?.href} id={\"ads-card-\" + rendering.uid} orientation=\"vertical\">\r\n {fields.image?.value?.src && <AdsCardImage src={fields.image.value.src} slot=\"image\"></AdsCardImage>}\r\n <AdsCardContent slot=\"content\">\r\n {fields.themes.length > 0 ? <AdsTag srLabel={fields.themes[0].displayName} href=\"#\" className=\"dev-c-card-tag u-inline-block\" onClick={(event) => { window.location.href=window.location.href+'&f-navigationhierarchiestopics='+ fields.themes[0].displayName;(event).preventDefault();}} id={\"ads-tag-\" + fields.themes[0].id}>\r\n <span className=\"fal fa-tag u-margin-right-1/2 rtl:u-margin-left-1/2 rtl:u-margin-right-0\"></span>\r\n {fields.themes[0].displayName}\r\n </AdsTag> : \"\" }\r\n <h3 className=\"dev-c-card__title u-grid-rows-1 u-margin-0 u-padding-top-1/2\"><Text field={fields.heading} /></h3>\r\n <div id=\"subTitle\"><RichText field={fields.subTitle} /></div>\r\n <p className=\"u-margin-0\"><Text field={fields.shortDescription} /></p>\r\n {fields.themes.length > 1 ? <a class=\"dev-c-categories u-margin-0 u-text-bold\" data-track=\"true\" data-track-value={fields.themes[1].displayName}>{fields.themes[1].displayName}</a> : \"\"}\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n );\r\n};\r\nexport default FeatureCardSmall;\r\n","import React from 'react';\r\nimport { Footer as CEFooter } from '@arm/ce-shared-components';\r\nimport config from '../../../temp/config';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nconst Footer = ({ fields, rendering, sitecoreContext }) => (\r\n <div {...RenderingStyling(rendering.componentName)}>\r\n <CEFooter \r\n sitecoreURI={config.REACT_APP_SITECOREURI}\r\n sitecoreEndpoint={config.REACT_APP_FOOTERSITECOREENDPOINT}\r\n sitecoreDatasource={fields.sitecoreDatasource.value}\r\n footerDomainUrl={config.REACT_APP_FOOTERDOMAINURL}\r\n data={sitecoreContext?.ssr?.footerData}\r\n />\r\n </div>\r\n);\r\nconst FooterClient = () => (\r\n <div>\r\n <CEFooter \r\n sitecoreURI={config.REACT_APP_SITECOREURI}\r\n sitecoreEndpoint={config.REACT_APP_FOOTERSITECOREENDPOINT}\r\n sitecoreDatasource={config.REACT_APP_FOOTERSITECOREDATASOURCE}\r\n footerDomainUrl={config.REACT_APP_FOOTERDOMAINURL} \r\n />\r\n </div>\r\n);\r\n\r\nexport default withSitecoreContext()(Footer);\r\nexport {FooterClient};\r\n","import {\r\n AZUREB2CSERVICE_INIT\r\n } from '../../constants/actionTypes';\r\n import {\r\n azureInit\r\n } from '../../services/userService';\r\n \r\n export const initAzureB2CAction = (dispatch)=> {\r\n azureInit().then((data) => {\r\n dispatch({\r\n type: AZUREB2CSERVICE_INIT,\r\n data: data || {}\r\n });\r\n });\r\n }","import {AzureB2CService,AuthConsumingService, analytics} from \"@arm/ce-shared-components/components/Authentication\";\r\nimport { getAppBaseUri, getSFaAuthConfig } from \"../components/Authentication\";\r\n\r\nexport const azureInit = () => {\r\n return AzureB2CService.init(AuthConsumingService, null, getSFaAuthConfig(), getAppBaseUri()).then(() => {\r\n return AzureB2CService.getToken(undefined).then(() => {\r\n return new Promise((res) => {\r\n res({\r\n user: AzureB2CService.getUser(),\r\n isAuth: AzureB2CService.isAuthenticated(),\r\n isLoginDone: true\r\n });\r\n });\r\n }).catch(() => {\r\n ;\r\n });\r\n }).catch((error) =>{\r\n console.log(error);\r\n });\r\n}\r\n\r\n","import React, { useEffect, useState } from 'react';\r\nimport { ArmGlobalNavigation } from '@arm/ce-shared-components';\r\nimport config from '../../../temp/config';\r\nimport './GlobalNavigation.css';\r\nimport { UseGlobalState } from '../../../context';\r\nimport { initAzureB2CAction } from '../../../context/action/user';\r\n\r\nconst GlobalNavigation = ({ fields, rendering }) => {\r\n const [,dispatch] = UseGlobalState();\r\n useEffect(() => {\r\n initAzureB2CAction(dispatch);\r\n }, []);\r\n const user = UseGlobalState();\r\n const [userData, setUserData] = useState(user[0].user);\r\n \r\n useEffect(() => {\r\n setUserData(user[0].user);\r\n }, user);\r\n return (\r\n <ArmGlobalNavigation\r\n appName={`developer`} \r\n auth={{\r\n user: userData?.user,\r\n menuLinks: [\r\n {\r\n label: \"Profile\",\r\n url: config.REACT_APP_SITECORE_PROFILE_LINK\r\n \r\n },\r\n {\r\n label: \"Settings\",\r\n url: config.REACT_APP_SITECORE_SETTINGS_LINK\r\n },\r\n {\r\n label: \"Notifications\",\r\n url: config.REACT_APP_SITECORE_NOTIFICATIONS_LINK\r\n }\r\n ],\r\n loginLink: config.REACT_APP_ORIGIN + config.REACT_APP_PATHNAME + `user-login${typeof window === \"undefined\"? \"\": \"?returnUrl=\"+window.location.pathname}`, \r\n logoutLink: config.REACT_APP_ORIGIN + config.REACT_APP_PATHNAME + 'user-logout',\r\n notificationsApi: config.REACT_APP_SITECORE_NOTIFICATIONS_API,\r\n registerLink: \"/register\"\r\n }} \r\n searchUrl={`${config.REACT_APP_ORIGIN}/search#numberOfResults=48&q=`}\r\n isTheme={false} \r\n scriptEnvironmentHostUrl={config.REACT_APP_ARM_GLOBALNAVIGATION_HOST}\r\n />\r\n );\r\n}; \r\nconst GlobalNavigationClient = () => {\r\n return (\r\n <ArmGlobalNavigation \r\n appName={`developer`}\r\n auth={{\r\n menuLinks: [\r\n {\r\n label: \"Profile\",\r\n url: config.REACT_APP_SITECORE_PROFILE_LINK\r\n\r\n },\r\n {\r\n label: \"Settings\",\r\n url: config.REACT_APP_SITECORE_SETTINGS_LINK\r\n },\r\n {\r\n label: \"Notifications\",\r\n url: config.REACT_APP_SITECORE_NOTIFICATIONS_LINK\r\n }\r\n ], \r\n loginLink: `user-login?returnUrl=${window.location.pathname}`, \r\n registerLink: \"/register\", \r\n logoutLink: \"/user-logout\"}} \r\n searchUrl={`${config.REACT_APP_ORIGIN}/search#numberOfResults=48&q=`}\r\n isTheme={false}\r\n scriptEnvironmentHostUrl={config.REACT_APP_ARM_GLOBALNAVIGATION_HOST}\r\n />\r\n );\r\n}; \r\n\r\nexport default GlobalNavigation;\r\nexport {GlobalNavigationClient};\r\n","import React from 'react';\r\nimport { withSitecoreContext, Placeholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling'\r\n\r\nconst HorizontalTab = (props) => {\r\n return (\r\n <React.Fragment>\r\n <div slot=\"content\" data-id={'slot-' + props.rendering.fields?.heading?.value.replace(/ /g, '-')} className=\"c-container is-full-width\" id={'tabs:horizontal-tabs:panel:slot-' + props.rendering.fields?.heading?.value.replace(/ /g, '-')} role=\"tabpanel\" {...RenderingStyling(props.rendering.componentName)}>\r\n <Placeholder\r\n rendering={props.rendering}\r\n name=\"tab-content\" />\r\n </div>\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nexport default withSitecoreContext()(HorizontalTab);\r\n","import React from 'react';\r\nimport { withPlaceholder, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport { AdsHorizontalTabs } from '@arm/arm-design-system-react';\r\nimport './HorizontalTabsContainer.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling'\r\n\r\nclass HorizontalTabsContainer extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: ''\r\n }\r\n }\r\n\r\n getTabName = (event) => {\r\n let activeTabVal = 'slot-' + (event.detail.id).replace('slot-', '');\r\n this.setState({ data: activeTabVal });\r\n window.location.hash = '#' + (event.detail.id).replace('slot-', '');\r\n }\r\n\r\n componentDidMount() {\r\n let url = window.location.href;\r\n let activeTabVal = '';\r\n let urlParams = new URLSearchParams(window.location.search);\r\n let params = urlParams.get('params'); \r\n if (url.indexOf('#') > -1) {\r\n activeTabVal = 'slot-' + url.split('#')[1];\r\n this.setState({ data: activeTabVal });\r\n }\r\n else if(params != null) {\r\n let atParam = params.split(\",\")[0];\r\n activeTabVal = 'slot-' + atParam;\r\n this.setState({ data: activeTabVal }); \r\n }\r\n else {\r\n activeTabVal = this.props?.tabsPlaceholder[0]?.props?.fields?.heading?.value ? 'slot-' + this.props?.tabsPlaceholder[0]?.props?.fields?.heading?.value.replace(/ /g, '-') : 'slot-Technical-Specifications';\r\n this.setState({ data: activeTabVal});\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n let url = window.location.href;\r\n if (url.indexOf('#') > -1) {\r\n let activeTabVal = 'slot-' + url.split('#')[1];\r\n if (prevState.data !== activeTabVal) {\r\n this.setState({ data: activeTabVal });\r\n }\r\n }\r\n \r\n }\r\n\r\n\r\n render() {\r\n const { tabsPlaceholder, sitecoreContext } = this.props;\r\n\r\n //child renderings configured to the tabsPlaceholder\r\n const renderings = (tabsPlaceholder || [])\r\n .filter((rendering) => rendering.props && rendering.props.fields)\r\n .map((tabRendering, index) => {\r\n return tabRendering;\r\n });\r\n\r\n //list of tabs data required to initialize ADS Horizontal tabs component\r\n const tabs = renderings.map((tabRendering, index) => {\r\n return { id: 'slot-' + tabRendering.props.fields.heading?.value.replace(/ /g, '-'), label: tabRendering.props.fields.heading?.value }\r\n });\r\n\r\n return (\r\n <React.Fragment>\r\n <section className=\"md:u-margin-left-2 md:u-margin-right-2\" {...RenderingStyling(this.props.rendering.componentName)}>\r\n {\r\n sitecoreContext.pageEditing ?\r\n <div id=\"horizontal-tab\">\r\n {renderings}\r\n </div>:\r\n this.state.data !== '' &&\r\n <AdsHorizontalTabs id=\"horizontal-tabs\" breakpoint=\"md\" data={tabs} activeTab={this.state.data} onTabSelect={(evt) => this.getTabName(evt)}>\r\n {renderings}\r\n </AdsHorizontalTabs>\r\n }\r\n </section>\r\n </React.Fragment>\r\n );\r\n }\r\n\r\n\r\n}\r\n// This is a _higher order component_ that will wrap our component and inject placeholder\r\n// data into it as a prop (in this case, props.tabsPlaceholder).\r\n// this another option compared to using the <Placeholder> component;\r\n// in this case, chosen because we primarily need access to the _data_\r\n// of the placeholder.\r\nconst tabsComponentWithPlaceholderInjected = withPlaceholder({\r\n placeholder: 'jss-tabs',\r\n prop: 'tabsPlaceholder',\r\n})(HorizontalTabsContainer);\r\n\r\n// We need to know if experience editor is active, to disable the dynamic tab behavior for editing.\r\n// Using the same technique as injecting the placeholder, we wrap the component again to inject the\r\n// `sitecoreContext` prop.\r\nconst tabsWithPlaceholderAndSitecoreContext = withSitecoreContext()(\r\n tabsComponentWithPlaceholderInjected\r\n);\r\n\r\nexport default tabsWithPlaceholderAndSitecoreContext;\r\n","import React from 'react';\r\n\r\nconst LinkWithIconListItem = ({ fields }) => {\r\n var iconCssClass = fields.icon?.fields.className?.value.length > 0 ? fields.icon?.fields.className?.value : \"fa-file-alt\";\r\n return (\r\n fields.link?.value?.href !== '' &&\r\n fields.link.value.linktype === 'media' ?\r\n <li>\r\n <a data-track=\"true\" data-track-value={fields.link?.value?.text} href={fields.link?.value?.href.replace('/sitecore/media-library','/-/media').replace('/sitecore/media library','/-/media') + '.ashx'} alt={fields.link?.value?.text}><span className={\"u-margin-right-1/2 fal \" + iconCssClass}></span>{fields.link?.value?.text}</a>\r\n </li>:\r\n <li>\r\n <a data-track=\"true\" data-track-value={fields.link?.value?.text} href={fields.link?.value?.href} alt={fields.link?.value?.text}><span className={\"u-margin-right-1/2 fal \" + iconCssClass}></span>{fields.link?.value?.text}</a>\r\n </li>\r\n );\r\n};\r\n\r\nexport default LinkWithIconListItem;\r\n","import React from 'react';\r\nimport { graphql } from 'react-apollo';\r\nimport {\r\n withSitecoreContext,\r\n resetExperienceEditorChromes,\r\n} from '@sitecore-jss/sitecore-jss-react';\r\n\r\n/**\r\n * Higher order component that abstracts common JSS + Apollo integration needs.\r\n *\r\n * This component works similar to react-apollo's graphql() HOC, but:\r\n * * Automatically injects $contextItem and $datasource GraphQL variable values, if the GraphQL declares usage of them\r\n * * Automatically disables execution of subscription queries when doing SSR\r\n * * Passes through any other props to its wrapped component\r\n *\r\n * @param {*} query The GraphQL AST to execute (should go through graphql-tag, no strings)\r\n * @param {*} configuration Values passed in are shipped to react-apollo configuration (https://www.apollographql.com/docs/react/basics/setup.html#graphql-config)\r\n */\r\nfunction GraphQLData(query, configuration = {}) {\r\n return function wrapComponent(Component) {\r\n class SitecoreRenderingWrapper extends React.Component {\r\n static displayName = `JSSGraphQLComponent(${Component.displayName ||\r\n Component.name ||\r\n 'Component'})`;\r\n\r\n render() {\r\n if (!query) {\r\n throw new Error(\r\n 'query was falsy in GraphQLData. It should be a GraphQL query from graphql-tag. Perhaps missing graphql-tag/loader?'\r\n );\r\n }\r\n\r\n const newConfiguration = { ...configuration };\r\n\r\n if (!newConfiguration.name) newConfiguration.name = 'data';\r\n\r\n // ensure variables object exists\r\n newConfiguration.options = newConfiguration.options || {};\r\n newConfiguration.options.variables = newConfiguration.options.variables || {};\r\n\r\n // if we're in experience editor or preview we need to disable SSR of GraphQL queries\r\n // because SSR queries are made unauthenticated, so they would have normal mode data = bad\r\n if (this.props.sitecoreContext && this.props.sitecoreContext.pageState !== 'normal') {\r\n newConfiguration.options.ssr = false;\r\n } else if (\r\n query.definitions.some(\r\n (def) => def.kind === 'OperationDefinition' && def.operation === 'subscription'\r\n )\r\n ) {\r\n // if the document includes any subscriptions, we also disable SSR as this hangs the SSR process\r\n // not to mention being quite silly to SSR when they're reactive\r\n newConfiguration.options.ssr = false;\r\n }\r\n\r\n\r\n\r\n // find all variable definitions in the GraphQL query, so we can send only ones we're using\r\n const variableNames = extractVariableNames(query);\r\n\r\n // set the datasource variable, if we're using it\r\n if (variableNames.datasource && this.props.rendering && this.props.rendering.dataSource) {\r\n newConfiguration.options.variables.datasource = this.props.rendering.dataSource;\r\n }\r\n\r\n // set the contextItem variable, if we're using it\r\n if (\r\n variableNames.contextItem &&\r\n this.props.sitecoreContext &&\r\n this.props.sitecoreContext.itemId\r\n ) {\r\n newConfiguration.options.variables.contextItem = this.props.sitecoreContext.itemId;\r\n }\r\n\r\n // build the props processing function that will set the result object to the name\r\n newConfiguration.props = (props) => {\r\n const innerQuery = props[newConfiguration.name];\r\n\r\n let resultProps = {};\r\n\r\n resultProps[newConfiguration.name] = innerQuery;\r\n\r\n // run a user-specified props function too if one exists\r\n if (configuration.props)\r\n resultProps = Object.assign(resultProps, configuration.props(props));\r\n\r\n return resultProps;\r\n };\r\n\r\n const GQL = graphql(query, newConfiguration)(Component);\r\n return <GQL {...this.props} />;\r\n }\r\n\r\n // eslint-disable-next-line class-methods-use-this\r\n componentDidUpdate() {\r\n resetExperienceEditorChromes();\r\n }\r\n }\r\n\r\n return withSitecoreContext()(SitecoreRenderingWrapper);\r\n };\r\n}\r\n\r\nfunction extractVariableNames(query) {\r\n const variableNames = {};\r\n query.definitions\r\n .map((def) => def.variableDefinitions)\r\n .filter((def) => def)\r\n .forEach((defs) =>\r\n defs.forEach((def) => {\r\n if (def.kind && def.kind === 'VariableDefinition') {\r\n variableNames[def.variable.name.value] = true;\r\n }\r\n })\r\n );\r\n\r\n return variableNames;\r\n}\r\n\r\nexport default GraphQLData;\r\n","import React from 'react';\r\nimport { AdsMasthead } from '@arm/arm-design-system-react';\r\nimport { loader as gqlLoader } from 'graphql.macro';\r\nimport GraphQLData from '../../../lib/GraphQLData';\r\nimport './masthead.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\n\r\nprocess.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';\r\nconst BreadcrumbQuery = gqlLoader('./query.graphql');\r\n\r\nconst Masthead = (props) => {\r\nconst graphQLResult = props.connectedQuery;\r\n // Async loading and error handling\r\n // Remember to never return null from a JSS component when loading,\r\n // this will break Experience Editor.\r\n const { error, loading } = graphQLResult;\r\n\r\n // Query results load in using the name of their root field (see query.graphql)\r\n const { dsItem } = graphQLResult;\r\n \r\n let navArray = [];\r\n\r\n if(dsItem !== null && dsItem != undefined)\r\n {\r\n let prepareData = (dsItem) => {\r\n Object.keys(dsItem).map((item, index) => {\r\n if (item === \"parent\") {\r\n if (dsItem[\"parent\"] != null && dsItem[\"parent\"].name != 'sitecore' && dsItem[\"parent\"].name != 'content') {\r\n \r\n prepareData(dsItem[\"parent\"])\r\n \r\n navArray.push({\r\n name: dsItem[\"parent\"].name,\r\n value: dsItem[\"parent\"]\r\n })\r\n }\r\n }\r\n })\r\n }\r\n prepareData(dsItem)\r\n }\r\n \r\n return (\r\n <header id=\"header\" className=\"dev-c-masthead u-layer-4\">\r\n <div data-e2e-id=\"graphql-connected\" className=\"dev-c-masthead\">\r\n {dsItem !== null && dsItem != undefined &&\r\n <AdsMasthead {...RenderingStyling(props.rendering.componentName)} >\r\n {navArray && navArray.length >> 0 &&\r\n <ads-breadcrumbs slot=\"breadcrumbs\" sr-label=\"Breadcrumbs\" id=\"ads-breadcrumbs\" class=\"hydrated\">\r\n {navArray.map((item,index)=>\r\n index != 0 &&\r\n <ads-breadcrumb slot=\"breadcrumb\" link={item.value[\"url\"]} class=\"hydrated\">{item.name}</ads-breadcrumb>\r\n )\r\n \r\n }\r\n </ads-breadcrumbs>\r\n }\r\n <h1 slot=\"heading\">{props.sitecoreContext.route.fields.pageTitle.value}</h1>\r\n </AdsMasthead >\r\n }\r\n \r\n </div>\r\n </header>\r\n );\r\n};\r\n\r\nexport default GraphQLData(BreadcrumbQuery, { name: 'connectedQuery' })(\r\n Masthead\r\n);\r\n","import React from 'react';\r\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\n\r\nconst RichTextEditor = ({ fields, rendering }) => {\r\n\r\n return (\r\n <div {...RenderingStyling(rendering.componentName)} className='c-row'>\r\n <div className='c-col'>\r\n <h2 className=\"u-color-inherit u-margin-bottom-1 md:u-margin-bottom-1-1/2 u-font-size-100% sm:u-font-size-200%\"><Text field={fields.heading}></Text></h2>\r\n <div className='c-col c-richtext-component'>\r\n <RichText field={fields.RichTextField} tag=\"section\" />\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default RichTextEditor;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { withSitecoreContext } from \"@sitecore-jss/sitecore-jss-react\";\r\nimport config from \"../../../temp/config\";\r\nimport \"./StarRatingMobile.css\";\r\nimport loadable from \"@loadable/component\";\r\nimport RenderingStyling from \"../../../lib/RenderingStyling\";\r\nconst FeedbackForm = loadable(\r\n () =>\r\n import(\"@arm/ce-shared-components/components/FeedbackForm/FeedbackForm\"),\r\n { ssr: false }\r\n);\r\n\r\nconst StarsRatingMobile = ({ uid, sitecoreContext }) => {\r\n const isMobile = useIsMobile();\r\n useEffect(() => {\r\n const targetNodeList = document.getElementsByClassName(\r\n \"star-rating-resize-window\"\r\n );\r\n if (targetNodeList.length > 0) {\r\n const targetNode = targetNodeList[0];\r\n const config = { childList: true, subtree: true };\r\n\r\n const callback = (mutationsList) => {\r\n for (const mutation of mutationsList) {\r\n if (mutation.addedNodes.length > 0) {\r\n const buttons = document.querySelectorAll(\r\n \"#developer-hotjar-feedback-form button\"\r\n );\r\n buttons &&\r\n buttons.forEach((button) => {\r\n if (button) {\r\n button.className = \"\";\r\n button.classList.add(\r\n \"c-cta-button\",\r\n \"is-primary\",\r\n \"is-medium\"\r\n );\r\n button.setAttribute(\"style\", \"font-family : Lato !important\");\r\n }\r\n });\r\n \r\n const headings = document.querySelectorAll(\r\n \"#developer-hotjar-feedback-form h2\"\r\n );\r\n headings.forEach((heading) => {\r\n if (heading) {\r\n heading.setAttribute(\"style\", \"font-family : Lato !important;\");\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n const observer = new MutationObserver(callback);\r\n observer.observe(targetNode, config);\r\n\r\n return () => observer.disconnect();\r\n }\r\n });\r\n \r\n return (\r\n isMobile && (\r\n <div\r\n className=\"xl:u-hide u-grid-auto-flow-column u-align-items-center u-justify-content-center u-gap-1 u-margin-bottom-2 dev-c-feedbackform\"\r\n {...RenderingStyling(\"StarRatingMobile\")}\r\n >\r\n <FeedbackForm />\r\n </div>\r\n )\r\n );\r\n};\r\n\r\nfunction useIsMobile() {\r\n const [isMobile, setIsMobile] = useState(false);\r\n\r\n useEffect(() => {\r\n function handleWindowSizeChange() {\r\n setIsMobile(window.innerWidth < 1200);\r\n }\r\n window.addEventListener(\"resize\", handleWindowSizeChange);\r\n handleWindowSizeChange();\r\n return () => window.removeEventListener(\"resize\", handleWindowSizeChange);\r\n }, []);\r\n return isMobile;\r\n}\r\n\r\nexport default withSitecoreContext()(StarsRatingMobile);\r\n","import React from 'react';\r\nimport { Text, RichText, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport './videocontent.css';\r\n\r\nconst VideoContent = ({sitecoreContext}) => {\r\n return(\r\n <section className=\"md:u-margin-left-2 md:u-margin-right-2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-container is-full-width\">\r\n <div className=\"c-row\">\r\n <div className=\"c-col c-col-12\">\r\n <div className=\"u-margin-top-0\"><h3>{sitecoreContext.route.fields?.title?.value}</h3>\r\n {sitecoreContext.route.fields?.VideoLink?.value.linktype === 'external'?\r\n <object data={sitecoreContext.route.fields?.VideoLink?.value.href} controls = {true} className=\"videoContainer\"></object>\r\n :\r\n <video src={sitecoreContext.route.fields?.VideoLink?.value.href.replace(\"/sitecore/media-library\",\"/-/media\").replace(\"/sitecore/media library\",\"/-/media\") + '.ashx'} controls = {true} className=\"videoComponentInternal\"></video>\r\n }\r\n \r\n <h2 class=\"u-margin-top-0\" id=\"specification\"><Text field={sitecoreContext.route.fields?.heading}></Text></h2>\r\n <div class=\"u-padding-left-1 xl:u-padding-right-1\">\r\n <RichText field={sitecoreContext.route.fields?.content} />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n );\r\n};\r\n\r\nexport default withSitecoreContext()(VideoContent);\r\n","/* eslint-disable */\n \n// Do not edit this file, it is auto-generated at build time!\n// See scripts/generate-component-factory.js to modify the generation of this file.\nimport Authentication from '../components/Authentication';\nimport FilterAndSearchCommunityPostsContainer from '../components/FilterAndSearchComponents/FilterAndSearchCommunityPostsContainer';\nimport FilterAndSearchContainer from '../components/FilterAndSearchComponents/FilterAndSearchContainer';\nimport FilterAndSearchSpotlightContentVariantA from '../components/FilterAndSearchComponents/FilterAndSearchSpotlightContentVariantA';\nimport FilterAndSearchSpotlightContentVariantB from '../components/FilterAndSearchComponents/FilterAndSearchSpotlightContentVariantB';\nimport CommunityContainer from '../components/HomeComponents/CommunityContainer';\nimport DocumentationContainer from '../components/HomeComponents/DocumentationContainer';\nimport DownloadCards from '../components/HomeComponents/DownloadCards';\nimport DownloadsContainer from '../components/HomeComponents/DownloadsContainer';\nimport HelpCards from '../components/HomeComponents/HelpCards';\nimport HelpContainer from '../components/HomeComponents/HelpContainer';\nimport HomepageMasthead from '../components/HomeComponents/HomepageMasthead';\nimport PromotionalBanner from '../components/HomeComponents/PromotionalBanner';\nimport RecommendedContainer from '../components/HomeComponents/RecommendedContainer';\nimport StartDevelopingCards from '../components/HomeComponents/StartDevelopingCards';\nimport StartDevelopingContainer from '../components/HomeComponents/StartDevelopingContainer';\nimport TopCardsSection from '../components/HomeComponents/TopCardsSection';\nimport AdditionalResourcesCard from '../components/ProductComponents/AdditionalResourcesCard';\nimport ComponentsTabContainer from '../components/ProductComponents/ComponentsTabContainer';\nimport EditionsTabContainer from '../components/ProductComponents/EditionsTabContainer';\nimport EventBanner from '../components/ProductComponents/EventBanner';\nimport KeyResources from '../components/ProductComponents/KeyResources';\nimport ProductProgramBanner from '../components/ProductComponents/ProductProgramBanner';\nimport ReleaseSection from '../components/ProductComponents/ReleaseSection';\nimport ResourcesContainer from '../components/ProductComponents/ResourcesContainer';\nimport SoftwareDownloadsContainer from '../components/ProductComponents/SoftwareDownloadsContainer';\nimport SupportAndTrainingCardsContainer from '../components/ProductComponents/SupportAndTrainingCardsContainer';\nimport SupportCard from '../components/ProductComponents/SupportCard';\nimport SupportedDevicesContainer from '../components/ProductComponents/SupportedDevicesContainer';\nimport TechnicalSpecificationContainer from '../components/ProductComponents/TechnicalSpecificationContainer';\nimport TechnicalSpecificationContainerVariantB from '../components/ProductComponents/TechnicalSpecificationContainerVariantB';\nimport TechnicalSpecificationContainerVariantC from '../components/ProductComponents/TechnicalSpecificationContainerVariantC';\nimport ToolsAndSoftwareCard from '../components/ProductComponents/ToolsAndSoftwareCard';\nimport ToolsAndSoftwareCardsContainer from '../components/ProductComponents/ToolsAndSoftwareCardsContainer';\nimport TrainingCard from '../components/ProductComponents/TrainingCard';\nimport UseCaseCard from '../components/ProductComponents/UseCaseCard';\nimport UseCaseCardsContainer from '../components/ProductComponents/UseCaseCardsContainer';\nimport WorksWellWithCard from '../components/ProductComponents/WorksWellWithCard';\nimport WorksWellWithCardsContainer from '../components/ProductComponents/WorksWellWithCardsContainer';\nimport CallToActionButton from '../components/SharedComponents/CallToActionButton';\nimport ClientSideRedirect from '../components/SharedComponents/ClientSideRedirect';\nimport CommunityBlogs from '../components/SharedComponents/CommunityBlogs';\nimport CommunityFourm from '../components/SharedComponents/CommunityFourm';\nimport CommunityPostsContainer from '../components/SharedComponents/CommunityPostsContainer';\nimport CookieConsent from '../components/SharedComponents/CookieConsent';\nimport EventLink from '../components/SharedComponents/EventLink';\nimport EventListCard from '../components/SharedComponents/EventListCard';\nimport FeatureCard from '../components/SharedComponents/FeatureCard';\nimport FeatureCardSmall from '../components/SharedComponents/FeatureCardSmall';\nimport Footer from '../components/SharedComponents/Footer';\nimport GlobalNavigation from '../components/SharedComponents/GlobalNavigation';\nimport HomeCard from '../components/SharedComponents/HomeCard';\nimport HomeCardsContainer from '../components/SharedComponents/HomeCardsContainer';\nimport HorizontalTab from '../components/SharedComponents/HorizontalTab';\nimport HorizontalTabsContainer from '../components/SharedComponents/HorizontalTabsContainer';\nimport LinkWithIconListItem from '../components/SharedComponents/LinkWithIconListItem';\nimport Masthead from '../components/SharedComponents/Masthead';\nimport RichTextEditor from '../components/SharedComponents/RichTextEditor';\nimport StarRatingMobile from '../components/SharedComponents/StarRatingMobile';\nimport StarsRating from '../components/SharedComponents/StarsRating';\nimport VideoContent from '../components/SharedComponents/VideoContent';\n\nconst components = new Map();\ncomponents.set('Authentication', Authentication);\ncomponents.set('FilterAndSearchCommunityPostsContainer', FilterAndSearchCommunityPostsContainer);\ncomponents.set('FilterAndSearchContainer', FilterAndSearchContainer);\ncomponents.set('FilterAndSearchSpotlightContentVariantA', FilterAndSearchSpotlightContentVariantA);\ncomponents.set('FilterAndSearchSpotlightContentVariantB', FilterAndSearchSpotlightContentVariantB);\ncomponents.set('CommunityContainer', CommunityContainer);\ncomponents.set('DocumentationContainer', DocumentationContainer);\ncomponents.set('DownloadCards', DownloadCards);\ncomponents.set('DownloadsContainer', DownloadsContainer);\ncomponents.set('HelpCards', HelpCards);\ncomponents.set('HelpContainer', HelpContainer);\ncomponents.set('HomepageMasthead', HomepageMasthead);\ncomponents.set('PromotionalBanner', PromotionalBanner);\ncomponents.set('RecommendedContainer', RecommendedContainer);\ncomponents.set('StartDevelopingCards', StartDevelopingCards);\ncomponents.set('StartDevelopingContainer', StartDevelopingContainer);\ncomponents.set('TopCardsSection', TopCardsSection);\ncomponents.set('AdditionalResourcesCard', AdditionalResourcesCard);\ncomponents.set('ComponentsTabContainer', ComponentsTabContainer);\ncomponents.set('EditionsTabContainer', EditionsTabContainer);\ncomponents.set('EventBanner', EventBanner);\ncomponents.set('KeyResources', KeyResources);\ncomponents.set('ProductProgramBanner', ProductProgramBanner);\ncomponents.set('ReleaseSection', ReleaseSection);\ncomponents.set('ResourcesContainer', ResourcesContainer);\ncomponents.set('SoftwareDownloadsContainer', SoftwareDownloadsContainer);\ncomponents.set('SupportAndTrainingCardsContainer', SupportAndTrainingCardsContainer);\ncomponents.set('SupportCard', SupportCard);\ncomponents.set('SupportedDevicesContainer', SupportedDevicesContainer);\ncomponents.set('TechnicalSpecificationContainer', TechnicalSpecificationContainer);\ncomponents.set('TechnicalSpecificationContainerVariantB', TechnicalSpecificationContainerVariantB);\ncomponents.set('TechnicalSpecificationContainerVariantC', TechnicalSpecificationContainerVariantC);\ncomponents.set('ToolsAndSoftwareCard', ToolsAndSoftwareCard);\ncomponents.set('ToolsAndSoftwareCardsContainer', ToolsAndSoftwareCardsContainer);\ncomponents.set('TrainingCard', TrainingCard);\ncomponents.set('UseCaseCard', UseCaseCard);\ncomponents.set('UseCaseCardsContainer', UseCaseCardsContainer);\ncomponents.set('WorksWellWithCard', WorksWellWithCard);\ncomponents.set('WorksWellWithCardsContainer', WorksWellWithCardsContainer);\ncomponents.set('CallToActionButton', CallToActionButton);\ncomponents.set('ClientSideRedirect', ClientSideRedirect);\ncomponents.set('CommunityBlogs', CommunityBlogs);\ncomponents.set('CommunityFourm', CommunityFourm);\ncomponents.set('CommunityPostsContainer', CommunityPostsContainer);\ncomponents.set('CookieConsent', CookieConsent);\ncomponents.set('EventLink', EventLink);\ncomponents.set('EventListCard', EventListCard);\ncomponents.set('FeatureCard', FeatureCard);\ncomponents.set('FeatureCardSmall', FeatureCardSmall);\ncomponents.set('Footer', Footer);\ncomponents.set('GlobalNavigation', GlobalNavigation);\ncomponents.set('HomeCard', HomeCard);\ncomponents.set('HomeCardsContainer', HomeCardsContainer);\ncomponents.set('HorizontalTab', HorizontalTab);\ncomponents.set('HorizontalTabsContainer', HorizontalTabsContainer);\ncomponents.set('LinkWithIconListItem', LinkWithIconListItem);\ncomponents.set('Masthead', Masthead);\ncomponents.set('RichTextEditor', RichTextEditor);\ncomponents.set('StarRatingMobile', StarRatingMobile);\ncomponents.set('StarsRating', StarsRating);\ncomponents.set('VideoContent', VideoContent);\n\nexport default function componentFactory(componentName) {\n return components.get(componentName);\n};\n","import axios from 'axios';\r\n\r\n/**\r\n * Implements a data fetcher using Axios - replace with your favorite\r\n * SSR-capable HTTP or fetch library if you like. See HttpJsonFetcher<T> type\r\n * in sitecore-jss library for implementation details/notes.\r\n * @param {string} url The URL to request; may include query string\r\n * @param {any} data Optional data to POST with the request.\r\n */\r\nexport function dataFetcher(url, data) {\r\n return axios({\r\n url,\r\n method: data ? 'POST' : 'GET',\r\n data,\r\n // note: axios needs to use `withCredentials: true` in order for Sitecore cookies to be included in CORS requests\r\n // which is necessary for analytics and such\r\n withCredentials: true,\r\n });\r\n}\r\n","import * as React from \"react\";\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nfunction JsonLdHelper(fields) {\r\n\r\n this.jsonLdScriptBody =\r\n {\r\n \"@context\": \"http://schema.org\",\r\n \"@type\": \"TechArticle\",\r\n \"name\": fields.pageTitle?.value,\r\n \"description\": fields.pageDescription?.value,\r\n }\r\n\r\n this.extreactedFieldData = \"\";\r\n\r\n this.createJsonLdField = (fieldData, fieldkey) => {\r\n\r\n if (fieldData) {\r\n\r\n if (Array.isArray(fieldData)) {\r\n this.extreactedFieldData = fieldData.map((data) => {\r\n return data.fields.HierarchyPaths.value;\r\n });\r\n }\r\n\r\n if (fieldData.value?.fields) {\r\n this.extreactedFieldData = fieldData.value.fields.HierarchyPaths.value;\r\n }\r\n\r\n }\r\n\r\n return this.addFieldToJsonLd(fieldkey)\r\n }\r\n\r\n\r\n this.addFieldToJsonLd = (fieldkey) => {\r\n\r\n if (this.extreactedFieldData) {\r\n this.jsonLdScriptBody[fieldkey] = this.extreactedFieldData;\r\n }\r\n\r\n return this\r\n }\r\n\r\n this.getLd = () => {\r\n return this.jsonLdScriptBody;\r\n }\r\n}\r\n\r\n\r\nconst JsonLdData = ({ fields, rendering, sitecoreContext }) => {\r\n\r\n const helper = new JsonLdHelper(fields);\r\n\r\n let jsonLdScriptBody = helper\r\n .createJsonLdField(fields.UXNSAudience,\"audience\")\r\n .createJsonLdField(fields.UXNSCategories, \"categories\")\r\n .createJsonLdField(fields.UXNSContentType, \"contentType\")\r\n .getLd()\r\n\r\n return (\r\n <script id=\"dynamicJSONLD\" type=\"application/ld+json\">\r\n {JSON.stringify(jsonLdScriptBody)}\r\n </script>\r\n );\r\n}\r\n\r\nexport default withSitecoreContext()(JsonLdData);\r\n","import React from 'react';\r\nimport {\r\n Placeholder,\r\n VisitorIdentification,\r\n} from '@sitecore-jss/sitecore-jss-react';\r\nimport Helmet from 'react-helmet';\r\nimport './assets/app.css';\r\nimport loadable from '@loadable/component';\r\nimport StarsRatingMobile from './components/SharedComponents/StarRatingMobile';\r\nimport JsonLdData from '../src/components/SharedComponents/JsonLd/JsonLdData';\r\nimport { getCoveoToken } from '@arm/ce-shared-components';\r\nimport config from './temp/config';\r\nimport { UseGlobalState } from './context';\r\nimport { CredentialAlert } from \"@arm/ce-shared-components\";\r\nimport { getOrganizationEndpoints } from '@coveo/headless';\r\n\r\n\r\nconst Layout = ({ route }) => {\r\n if(typeof window !==\"undefined\"){\r\n const [{ user }] = UseGlobalState();\r\n if (window.OnetrustActiveGroups && window.OnetrustActiveGroups.includes('C0002')) {\r\n const script = document.createElement(\"script\");\r\n script.src = \"https://static.cloud.coveo.com/coveo.analytics.js/2/coveoua.js\"; \r\n var currenturl = window.location.href;\r\n script.onload = async function(){\r\n const coveoToken = await getCoveoToken(`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`, { token: user.user?.token, isLoggedIn: user.isAuth } );\r\n const organizationAnalyticsEndpoint =getOrganizationEndpoints(`${config.REACT_APP_COVEOORGANIZATIONID}`).analytics;\r\n window.coveoua(\"init\", coveoToken,organizationAnalyticsEndpoint);\r\n window.coveoua(\"send\", \"view\", {\r\n contentIdKey: \"@clickableuri\",\r\n contentIdValue: currenturl,\r\n contentType: \"DeveloperDocumentation\"\r\n });\r\n }\r\n document.head.appendChild(script);\r\n }\r\n }\r\n \r\n return(<React.Fragment>\r\n {/* react-helmet enables setting <head> contents, like title and OG meta tags */}\r\n <Helmet>\r\n <title>\r\n {(route.fields &&\r\n route.fields.pageTitle &&\r\n route.fields.pageTitle?.value) ||\r\n 'Page'}\r\n </title>\r\n <meta name=\"description\" content={route.fields.pageDescription?.value}></meta>\r\n </Helmet>\r\n \r\n <JsonLdData {...route} />\r\n\r\n {/*\r\n VisitorIdentification is necessary for Sitecore Analytics to determine if the visitor is a robot.\r\n If Sitecore XP (with xConnect/xDB) is used, this is required or else analytics will not be collected for the JSS app.\r\n For XM (CMS-only) apps, this should be removed.\r\n\r\n VI detection only runs once for a given analytics ID, so this is not a recurring operation once cookies are established.\r\n */}\r\n <VisitorIdentification />\r\n <div className=\"c-app u-flex u-flex-column\">\r\n <div role=\"navigation\" class=\"dev-c-skip-navigation u-margin-0 u-padding-0 u-position-relative\" aria-label=\"skip navigation\">\r\n <a href=\"#header\" data-track=\"true\" data-track-value=\"Skip Navigation (Press Enter)\">Skip Navigation (Press Enter)</a>\r\n <a href=\"#content\" data-track=\"true\" data-track-value=\"Skip to Content (Press Enter)\">Skip to Content (Press Enter)</a>\r\n </div>\r\n <div role=\"navigation\">\r\n <Placeholder name=\"jss-header\" rendering={route} />\r\n </div>\r\n <Placeholder name=\"jss-masthead\" rendering={route} />\r\n {route.itemId !== \"4afd9f1d-871a-5874-a803-7c8af50a0d03\" ? <CredentialAlert /> : \"\"}\r\n <main id=\"content\" className=\"u-flex-auto u-position-relative\">\r\n <Placeholder name=\"jss-main\" rendering={route} /> \r\n {route.itemId !== \"4afd9f1d-871a-5874-a803-7c8af50a0d03\" ? <StarsRatingMobile uid={route.itemId} /> : \"\"}\r\n </main>\r\n <div className=\"footer-wrapper\">\r\n <Placeholder name=\"jss-footer\" rendering={route} />\r\n </div>\r\n </div>\r\n <Placeholder name=\"jss-cookies\" rendering={route} />\r\n </React.Fragment>);\r\n}\r\n\r\nexport default Layout;\r\n","import React from 'react';\r\nimport config from '../temp/config';\r\nimport \"./ErrorComponent.css\"\r\n\r\n\r\nconst links = [\r\n { label: \"Arm Developer home\", path: `${config.REACT_APP_ERROR_PAGE_DEVELOPER_HOME_LINK}`},\r\n { label: \"Browse our documentation\", path: `${config.REACT_APP_ERROR_PAGE_DOCUMENTATION_LINK}` },\r\n { label: \"Read our blogs\", path: `${config.REACT_APP_ERROR_PAGE_BLOGS_LINK}` }\r\n];\r\n\r\nconst errorMessages = {\r\n \"/500\":\r\n {\r\n errorCode: \"500\",\r\n title: \"Sorry, this site is not working properly\",\r\n message: [\"We are aware of the problem and are working to get it fixed as soon as possible.\"],\r\n linkMsg: \"In the meantime, here are some links that may help:\",\r\n links\r\n \r\n},\r\n\"/404\":\r\n {\r\n errorCode: \"404\",\r\n title: \"We could not find this page\",\r\n message: [\"The link that sent you here may be incorrect or the page has moved\"],\r\n linkMsg: \"Here are some links that may help:\",\r\n links\r\n},\r\n};\r\n\r\n\r\nconst renderLinks =(errorMsg) => {\r\n return (\r\n <React.Fragment>\r\n <p>{ errorMsg.linkMsg }</p>\r\n <ul>\r\n { errorMsg.links.map((link, index) =>\r\n <li key={index}>\r\n <a className=\"c-anchor\" href={link.path} data-track=\"true\" data-track-value={link.label}>{link.label}</a>\r\n </li>\r\n )}\r\n </ul>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nconst ErrorComponent = (props ) => {\r\n const pathname = props.route;\r\n const errorMsg = errorMessages[pathname] || errorMessages[\"/404\"];\r\n return (\r\n <div className=\"c-dev-wrapper\">\r\n <div className=\"c-dev-content-error-wrapper u-margin-bottom-2\">\r\n <h2 className=\"c-dev-errorpage\">{errorMsg.title}</h2>\r\n <div className=\"c-dev-errorpage-message\">\r\n <p>{errorMsg.message}</p>\r\n {errorMsg.links.length > 0 && renderLinks(errorMsg)}\r\n </div>\r\n <div className={\"c-dev-errorpage-image-\" + errorMsg.errorCode} />\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default ErrorComponent;\r\n","import React from 'react';\r\nimport Helmet from 'react-helmet';\r\nimport ErrorComponent from './ErrorComponent';\r\nimport {GlobalNavigationClient} from './components/SharedComponents/GlobalNavigation';\r\nimport {FooterClient} from './components/SharedComponents/Footer';\r\n\r\n\r\n\r\n// Renders a route-not-found message when no route is available from Sitecore\r\n// The JSS equivalent of a 404 Not Found page.\r\n\r\n// This is invoked from RouteHandler when Sitecore returns no valid route data.\r\n// The NotFound component receives the Layout Service Context data, but no route data.\r\n// This can be used to power parts of your site, such as navigation, from LS context additions\r\n// without losing the ability to render them on your 404 pages :)\r\n\r\nconst ErrorPage = (props) => (\r\n <div>\r\n <Helmet>\r\n <title>Page not found</title> \r\n </Helmet>\r\n\r\n <div role=\"navigation\" class=\"dev-c-skip-navigation u-margin-0 u-padding-0 u-position-relative\" aria-label=\"skip navigation\">\r\n <a href=\"#header\" data-track=\"true\" data-track-value=\"Skip Navigation (Press Enter)\">Skip Navigation (Press Enter)</a>\r\n <a href=\"#content\" data-track=\"true\" data-track-value=\"Skip to Content (Press Enter)\">Skip to Content (Press Enter)</a>\r\n </div>\r\n <div role=\"navigation\">\r\n <GlobalNavigationClient/> \r\n </div>\r\n <ErrorComponent route={props.route}/> \r\n <div className=\"footer-wrapper\"> \r\n <FooterClient />\r\n </div> \r\n </div>\r\n);\r\n\r\nexport default ErrorPage;\r\n","import React from 'react';\r\nimport { isExperienceEditorActive, dataApi, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport { dataFetcher } from './dataFetcher';\r\nimport config from './temp/config';\r\nimport Layout from './Layout';\r\nimport ErrorPage from './ErrorPage';\r\n\r\n// Dynamic route handler for Sitecore items.\r\n// Because JSS app routes are defined in Sitecore, traditional static React routing isn't enough -\r\n// we need to be able to load dynamic route data from Sitecore after the client side route changes.\r\n// So react-router delegates all route rendering to this handler, which attempts to get the right\r\n// route data from Sitecore - and if none exists, renders the not found component.\r\n\r\nclass RouteHandler extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n notFound: false,\r\n defaultLanguage: config.defaultLanguage,\r\n };\r\n \r\n const routeData = this.extractRouteData();\r\n\r\n // route data from react-router - if route was resolved, it's not a 404\r\n if (routeData !== null) {\r\n this.state.notFound = false;\r\n }\r\n\r\n // if we have an initial SSR state, and that state doesn't have a valid route data,\r\n // then this is a 404 route.\r\n if (routeData && (!routeData.sitecore || !routeData.sitecore.route)) {\r\n this.state.notFound = true;\r\n }\r\n\r\n // if we have an SSR state, and that state has language data, set the current language\r\n // (this makes the language of content follow the Sitecore context language cookie)\r\n // note that a route-based language (i.e. /de-DE) will override this default; this is for home.\r\n if (routeData && routeData.context && routeData.context.language) {\r\n this.state.defaultLanguage = routeData.context.language;\r\n }\r\n\r\n this.componentIsMounted = false;\r\n this.languageIsChanging = false;\r\n }\r\n\r\n componentDidMount() {\r\n const routeData = this.extractRouteData();\r\n\r\n // if no existing routeData is present (from SSR), get Layout Service fetching the route data or SSR render is complete\r\n if (!routeData || this.props.ssrRenderComplete) {\r\n this.updateRouteData();\r\n }\r\n\r\n // once we initialize the route handler, we've \"used up\" the SSR data,\t\r\n // if it existed, so we want to clear it now that it's in react state.\t\r\n // future route changes that might destroy/remount this component should ignore any SSR data.\t\r\n // EXCEPTION: Unless we are still SSR-ing. Because SSR can re-render the component twice\t\r\n // (once to find GraphQL queries that need to run, the second time to refresh the view with\t\r\n // GraphQL query results)\t\r\n // We test for SSR by checking for Node-specific process.env variable.\t\r\n if (typeof window !== \"undefined\" && !this.props.ssrRenderComplete && this.props.setSsrRenderComplete) {\r\n this.props.setSsrRenderComplete(true);\r\n }\r\n\r\n this.componentIsMounted = true;\r\n }\r\n\r\n componentWillUnmount() {\r\n this.componentIsMounted = false;\r\n }\r\n\r\n extractRouteData = () => {\r\n if (!this.props.sitecoreContext) return null;\r\n\r\n const { route, ...context } = this.props.sitecoreContext;\r\n\r\n return {\r\n sitecore: {\r\n route,\r\n context\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Loads route data from Sitecore Layout Service into state.routeData\r\n */\r\n updateRouteData() {\r\n let sitecoreRoutePath = this.props.route.match.params.sitecoreRoute || '/';\r\n if (!sitecoreRoutePath.startsWith('/')) {\r\n sitecoreRoutePath = `/${sitecoreRoutePath}`;\r\n }\r\n sitecoreRoutePath = config.REACT_APP_CONTENTHOME_PATH + sitecoreRoutePath;\r\n const language = this.props.route.match.params.lang || this.state.defaultLanguage;\r\n\r\n // get the route data for the new route\r\n getRouteData(sitecoreRoutePath, language).then((routeData) => {\r\n if (routeData !== null && routeData.sitecore && routeData.sitecore.route) {\r\n // set the sitecore context data and push the new route\r\n this.props.updateSitecoreContext({\r\n route: routeData.sitecore.route,\r\n itemId: routeData.sitecore.route.itemId,\r\n ...routeData.sitecore.context,\r\n });\r\n this.setState({ notFound: false });\r\n } else {\r\n this.setState({ notFound: true }, () => {\r\n const context = routeData && routeData.sitecore ? routeData.sitecore.context : null;\r\n\r\n this.props.updateSitecoreContext(context);\r\n \r\n }\r\n )\r\n }\r\n });\r\n }\r\n\r\n componentDidUpdate(previousProps) {\r\n const existingRoute = previousProps.route.match.url;\r\n const newRoute = this.props.route.match.url;\r\n\r\n // don't change state (refetch route data) if the route has not changed\r\n if (existingRoute === newRoute) {\r\n return;\r\n }\r\n\r\n // if in experience editor - force reload instead of route data update\r\n // avoids confusing Sitecore's editing JS\r\n if (isExperienceEditorActive()) {\r\n window.location.assign(newRoute);\r\n return;\r\n }\r\n \r\n this.updateRouteData();\r\n }\r\n\r\n render() {\r\n const { notFound } = this.state;\r\n const routeData = this.extractRouteData();\r\n\r\n // no route data for the current route in Sitecore - show not found component.\r\n // Note: this is client-side only 404 handling. Server-side 404 handling is the responsibility\r\n // of the server being used (i.e. node-headless-ssr-proxy and Sitecore intergrated rendering know how to send 404 status codes).\r\n if (notFound) {\r\n return (\r\n <ErrorPage route={routeData?routeData.sitecore.route: \"/404\"}/>\r\n );\r\n }\r\n\r\n // Don't render anything if the route data or dictionary data is not fully loaded yet.\r\n // This is a good place for a \"Loading\" component, if one is needed.\r\n if (!routeData || this.languageIsChanging) {\r\n return null;\r\n }\r\n\r\n // Render the app's root structural layout\r\n return <Layout route={routeData.sitecore.route} />;\r\n }\r\n}\r\n\r\nexport default withSitecoreContext({ updatable: true })(RouteHandler)\r\n\r\n/**\r\n * Gets route data from Sitecore. This data is used to construct the component layout for a JSS route.\r\n * @param {string} route Route path to get data for (e.g. /about)\r\n * @param {string} language Language to get route data in (content language, e.g. 'en')\r\n */\r\nfunction getRouteData(route, language) {\r\n const fetchOptions = {\r\n layoutServiceConfig: { host: config.sitecoreApiHost },\r\n querystringParams: { sc_lang: language, sc_apikey: config.sitecoreApiKey },\r\n\r\n fetcher: dataFetcher,\r\n };\r\n\r\n return dataApi.fetchRouteData(route, fetchOptions).catch((error) => {\r\n if (error.response && error.response.status === 404 && error.response.data) {\r\n return error.response.data;\r\n }\r\n\r\n console.error('Route data fetch error', error, error.response);\r\n\r\n return null;\r\n });\r\n}\r\n","import React from 'react';\r\nimport { SitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport { ApolloProvider } from 'react-apollo';\r\nimport componentFactory from './temp/componentFactory';\r\nimport RouteHandler from './RouteHandler';\r\nimport {login, signin, signOut, logout} from './components/Authentication'\r\nimport { StateProvider } from './context';\r\nimport ErrorPage from './ErrorPage';\r\n\r\n// This is the main JSX entry point of the app invoked by the renderer (server or client rendering).\r\n// By default the app's normal rendering is delegated to <RouteHandler> that handles the loading of JSS route data.\r\n\r\n// support languages in the URL prefix\r\n// e.g. /da-DK/path, or /en/path, or /path\r\nexport const routePatterns = [\r\n '/:lang([a-z]{2}-[A-Z]{2})/:sitecoreRoute*',\r\n '/:lang([a-z]{2})/:sitecoreRoute*',\r\n '/:sitecoreRoute*',\r\n];\r\n\r\n// wrap the app with:\r\n// ApolloProvider: provides an instance of Apollo GraphQL client to the app to make Connected GraphQL queries.\r\n// Not needed if not using connected GraphQL.\r\n// SitecoreContext: provides component resolution and context services via withSitecoreContext\r\n// Router: provides a basic routing setup that will resolve Sitecore item routes and allow for language URL prefixes.\r\nclass AppRoot extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n ssrRenderComplete: false,\r\n };\r\n\r\n if (props.ssrState) {\r\n this.sitecoreContext =\r\n props.ssrState.sitecore && props.ssrState.sitecore.route\r\n ? {\r\n route: props.ssrState.sitecore.route,\r\n itemId: props.ssrState.sitecore.route.itemId,\r\n ...props.ssrState.sitecore.context,\r\n }\r\n : props.ssrState.sitecore.context;\r\n } else {\r\n this.sitecoreContext = null;\r\n }\r\n }\r\n\r\n setSsrRenderComplete = (ssrRenderComplete) =>\r\n this.setState({\r\n ssrRenderComplete,\r\n });\r\n\r\n componentDidMount() {\r\n this.setSsrRenderComplete(true);\r\n }\r\n\r\n addScriptToBody(src) {\r\n let scriptTag = document.createElement('script');\r\n scriptTag.src = src;\r\n\r\n document.body.appendChild(scriptTag);\r\n }\r\n\r\n render() {\r\n const { path, Router, graphQLClient } = this.props;\r\n return (\r\n <StateProvider>\r\n <ApolloProvider client={graphQLClient}>\r\n <SitecoreContext\r\n componentFactory={componentFactory}\r\n context={this.sitecoreContext}\r\n > \r\n <Router location={path} context={{}}>\r\n <Switch>\r\n <Route path=\"/sign-in\" exact={true} component={signin} />\r\n <Route path=\"/user-login/:returnUrl*\" render={login} />\r\n <Route path=\"/sign-out\" exact={true} component={signOut} />\r\n <Route path=\"/user-logout\" exact={true} render={logout} />\r\n <Route path=\"/silent-sign-in\" exact={true} component={signin} />\r\n\r\n <Route path={'/500'} exact={true} render={()=><ErrorPage route=\"/500\"/> } /> \r\n {routePatterns.map((routePattern) => (\r\n <Route\r\n key={routePattern}\r\n path={routePattern}\r\n render={(props) => (\r\n <RouteHandler\r\n route={props}\r\n ssrRenderComplete={this.state.ssrRenderComplete}\r\n />\r\n )}\r\n />\r\n \r\n ))}\r\n \r\n </Switch>\r\n </Router>\r\n </SitecoreContext>\r\n </ApolloProvider>\r\n </StateProvider>\r\n \r\n \r\n );\r\n }\r\n}\r\nexport default AppRoot;\r\n","import 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable';\r\n\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport AppRoot from './AppRoot';\r\nimport GraphQLClientFactory from './lib/GraphQLClientFactory';\r\nimport config from './temp/config';\r\n\r\n/* eslint-disable no-underscore-dangle */\r\nwindow.REACT_APP_ATM_HOSTNAME = process.env.REACT_APP_ATM_HOSTNAME\r\n\r\nlet renderFunction = ReactDOM.render;\r\n\r\nlet initLanguage = config.defaultLanguage;\r\n\r\n/*\r\n SSR Data\r\n If we're running in a server-side rendering scenario,\r\n the server will provide JSON in the #__JSS_STATE__ element\r\n for us to acquire the initial state to run with on the client.\r\n\r\n This enables us to skip a network request to load up the layout data.\r\n We are emitting a quiescent script with JSON so that we can take advantage\r\n of JSON.parse()'s speed advantage over parsing full JS, and enable\r\n working without needing `unsafe-inline` in Content Security Policies.\r\n\r\n SSR is initiated from /server/server.js.\r\n*/\r\nlet __JSS_STATE__ = null;\r\nconst ssrRawJson = document.getElementById('__JSS_STATE__');\r\nif (ssrRawJson) {\r\n __JSS_STATE__ = JSON.parse(ssrRawJson.innerHTML);\r\n}\r\nif (__JSS_STATE__) {\r\n // when React initializes from a SSR-based initial state, you need to render with `hydrate` instead of `render`\r\n renderFunction = ReactDOM.hydrate;\r\n\r\n // set i18n language SSR state language instead of static config default language\r\n initLanguage = __JSS_STATE__.sitecore.context.language;\r\n}\r\n\r\n/*\r\n GraphQL Data\r\n The Apollo Client needs to be initialized to make GraphQL available to the JSS app.\r\n Not using GraphQL? Remove this, and the ApolloContext from `AppRoot`.\r\n*/\r\n// Apollo supports SSR of GraphQL queries, so like JSS SSR, it has an object we can pre-hydrate the client cache from\r\n// to avoid needing to re-run GraphQL queries after the SSR page loads\r\nconst initialGraphQLState =\r\n __JSS_STATE__ && __JSS_STATE__.APOLLO_STATE ? __JSS_STATE__.APOLLO_STATE : null;\r\n\r\nconst graphQLClient = GraphQLClientFactory(config.graphQLEndpoint, false, initialGraphQLState);\r\n\r\n/*\r\n App Rendering\r\n*/\r\n// initialize the dictionary, then render the app\r\n// note: if not making a multlingual app, the dictionary init can be removed.\r\n\r\n // HTML element to place the app into\r\n const rootElement = document.getElementById('root');\r\n\r\n renderFunction(\r\n <AppRoot\r\n path={window.location.pathname}\r\n Router={BrowserRouter}\r\n graphQLClient={graphQLClient}\r\n ssrState={__JSS_STATE__}\r\n />,\r\n rootElement\r\n );\r\n\r\n","/* eslint-disable import/first */\r\n\r\nimport 'isomorphic-fetch';\r\nimport { ApolloClient } from 'apollo-client';\r\nimport { InMemoryCache, IntrospectionFragmentMatcher } from 'apollo-cache-inmemory';\r\n\r\n/*\r\n INTROSPECTION DATA\r\n See https://www.apollographql.com/docs/react/recipes/fragment-matching.html\r\n This enables the Apollo cache to process fragments on interface types correctly.\r\n If this file does not exist, you may need to run the `jss graphql:update` script.\r\n*/\r\nimport introspectionQueryResultData from '../temp/GraphQLFragmentTypes.json';\r\n\r\n/*\r\n QUERY LINK SELECTION\r\n A link is transport which GraphQL queries are pushed across.\r\n You have many choices.\r\n See the apollo-link documentation for more details.\r\n\r\n NOTE: to use Sitecore Experience Editor it is essential that your\r\n link passes cookies along with requests (credentials: 'include').\r\n*/\r\n\r\n// choose between a basic HTTP link to run queries...\r\n// import { createHttpLink } from 'apollo-link-http';\r\n// const link = createHttpLink({ uri: endpoint, credentials: 'include' });\r\n\r\n// ...or a batched link (multiple queries within 10ms all go in one HTTP request)\r\nimport { BatchHttpLink } from 'apollo-link-batch-http';\r\n\r\n// ...and an automatic persisted query link, which reduces bandwidth by using query hashes to alias content\r\n// the APQ link is _chained_ behind another link that performs the actual HTTP calls, so you can choose\r\n// APQ + batched, or APQ + http links for example.\r\nimport { createPersistedQueryLink } from 'apollo-link-persisted-queries';\r\n\r\nexport default function(endpoint, ssr, initialCacheState) {\r\n /* HTTP link selection: default to batched + APQ */\r\n const link = createPersistedQueryLink().concat(\r\n new BatchHttpLink({ uri: endpoint, credentials: 'include' })\r\n );\r\n\r\n const cache = new InMemoryCache({\r\n fragmentMatcher: new IntrospectionFragmentMatcher({\r\n introspectionQueryResultData,\r\n }),\r\n });\r\n\r\n return new ApolloClient({\r\n ssrMode: ssr,\r\n ssrForceFetchDelay: 10,\r\n link,\r\n cache: cache.restore(initialCacheState),\r\n });\r\n}\r\n"],"sourceRoot":""}