{"version":3,"sources":["webpack:///./src/modules/citta-tabs/citta-tabs.view.tsx?38bd","webpack:///./src/modules/citta-category-navigation-menu/components/link.tsx?89cf","webpack:///./src/modules/citta-category-navigation-menu/components/subLink.tsx?2bc4","webpack:///./src/modules/citta-category-navigation-menu/citta-category-navigation-menu.tsx?fe37","webpack:///./src/themes/citta/views/footer-category.view.tsx?25d8","webpack:///./src/themes/citta/views/footer-item.view.tsx?c906","webpack:///./src/modules/citta-tab-item/citta-tab-item.view.tsx?46a3","webpack:///./src/modules/citta-tabs/citta-tabs.tsx?6ecb","webpack:///./src/themes/citta/views/checkout-guest-profile.view.tsx?4b90","webpack:///src/modules/organization-users-tile/organization-users-tile.view.tsx?d92a","webpack:///./src/modules/citta-category-navigation-menu/citta-category-navigation-menu.view.tsx?35c5","webpack:///./src/modules/citta-tab-item/citta-tab-item.tsx?b33a","webpack:///src/modules/organization-users-tile/components/account-organization-users-tile-description.tsx?8d2f","webpack:///src/modules/organization-users-tile/components/account-organization-users-tile-links.tsx?2a03","webpack:///src/modules/organization-users-tile/organization-users-tile.tsx?9c60"],"names":["tabView","props","heading","TabContainer","tabHeaders","tabContents","headerMobileSection","renderMobileHeader","isMobileView","tabMobileHeaders","React","Module","Object","assign","Node","headerSection","tabItemContainer","tabsSection","context","telemetry","error","Link","_ref","text","className","href","ariaLabel","index","noclick","telemetryContent","isActive","subLinks","handleHover","recordId","isHover","menuHover","payLoad","getPayloadObject","linkText","undefined","contentAction","etext","attribute","getTelemetryAttributes","onMouseEnter","onMouseLeave","onClick","onTelemetryClick","itemProp","content","length","SubLink","subLinkText","NavigationMenu","constructor","super","this","viewport","request","device","Type","state","isMobile","linkHoverRecId","subLinkHoverRecId","hasSubLinks","_handleHover","bind","locale","nameTranslations","nameTranslation","find","item","Language","toLowerCase","Text","componentDidMount","container","document","querySelector","middle","children","Math","floor","scrollTo","top","left","offsetLeft","offsetWidth","behavior","componentWillUnmount","window","removeEventListener","resizeThrottledEventHandler","render","urlTokens","links","pageType","currentCategoryId","Number","categoryHierarchyList","data","categories","result","Children","forEach","layerOneChild","RecordId","_getLinkData","layerTwoChild","layerThreeChild","isEmptyOrNullObject","viewProps","_objectSpread","Navigation","moduleProps","classnames","config","tag","role","resources","menuAriaLabel","renderView","arguments","setState","category","activeCurrent","push","Name","Url","pageName","moduleName","childCategory","subLinkIsActive","childChildCategory","__decorate","observable","computed","FooterCategoryView","FooterList","FooterListItem","FooterContainer","renderDrawer","createElement","DesktopFooterList","categoryName","map","key","renderDesktop","MobileFooterList","Drawer","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","toggleButtonProps","color","id2","renderMobile","FooterItemView","_formatLinkData","path","destinationUrl","newUrl","URL","url","requestUrl","FooterItem","_renderElement","HeadingContainer","image","_renderTabItemContent","items","TabItemView","tabItemType","tabSlots","TabContentContainer","TabHeaderContainer","TabItemContent","tabHeader","TabItemType","TabContent","tabItemContent","TabHeader","Tab","tabIndexQuery","handleHeadingChange","event","target","value","_onClick","id","e","activeTabState","activeContentIndex","tabId","tabTitle","tabItemTitle","replace","encodedTabTitle","_getEncodedTabName","requestContext","_getRequestContext","toUrl","_getToUrl","actionContext","update","createTabStateInput","history","pushState","currentTabIndex","selectedDropDown","dropDownOpen","_getTabTitleByIndex","slots","selTabItem","tabItems","selectedTabTitleByIndex","_onKeyDown","keyCode","seltab","defaultTabIndex","slotLength","initialIndex","selectedDdlName","defaultSelectedTabTitle","pathName","selectedIndex","_getTabHeader","_getTabContent","_setGetParameter","activeLink","_getTabNameFromRequestContextUrl","_getRequestContextUrl","_setState","_updateViewport","_dropDownAction","addThrottledEvent","headingComponent","MsDyn365","editProps","onEdit","tabViewProps","componentDidUpdate","dataActionTabId","focus","queryTabIndex","firstTabItem","selectedTabTitle","selectedTabIndex","tabName","toString","pathname","pathNameSplit","split","i","tileWithoutSpecialCharacters","toLocaleLowerCase","slice","join","_getViewport","innerWidth","gridSettings","xs","w","sm","md","lg","selected","contentID","getContentID","queryStringUrl","to","deepLink","selectedTabClassName","onKeyDown","tabIndex","ref","link","isSelected","itemIndex","encodeURI","requestContextUrl","onlyQueryString","pageUrl","requestContextQueryString","requestContextQueryStringUrl","pagePath","_this$props$config","paramName","paramValue","isBrowser","location","params","URLSearchParams","search","set","decodeURIComponent","observer","ShowContactInfo","showInfoProps","email","editButton","AddContactInfo","_ref2","addFormProps","submitButton","cancelButton","inputGroupProps","label","input","CheckoutGuestProfileView","_ref3","showContactInfo","addContactInfo","OrganizationUsersTileView","OrganizationUsersTile","description","NavigationMenuView","TabItem","moduleContentClassName","moduleHeaderClassName","_renderTabHeader","activeContentIDResult","shown","AccountOrganizationUsersTileDescription","AccountOrganizationUsersTileLinks","onTextChange","editableLinks","_mapEditableLinks","Msdyn365","linkdata","attributes","editableLink","linkUrl","openInNewTab","additionalProperties","handleLinkTextChange","linkIndex","getTelemetryObject","telemetryPageName","friendlyName","accountOrganizationUsersTileDescriptionForSingleUser","accountOrganizationUsersTileDescriptionForMultipleUsers","numUsers","users","accountOrganizationUsersTileDescription","customerInformation","IsB2bAdmin","format"],"mappings":";2IAiDeA,UAzC0BC,IACrC,MAAM,QAAEC,EAAO,aAAEC,EAAY,WAAEC,EAAU,YAAEC,EAAW,oBAACC,EAAmB,mBAAEC,EAAkB,aAAEC,EAAY,iBAAEC,GAAqBR,EACnI,OAAKA,EAAMC,SAAYD,EAAMG,YAAeH,EAAMI,YAI9CG,EAEIE,gBAACC,SAAMC,OAAAC,OAAA,GAAKV,GACRO,gBAACI,OAAIF,OAAAC,OAAA,GAAKZ,EAAMc,eACZL,gBAACI,OAAIF,OAAAC,OAAA,GAAKP,GACbC,EACAE,IAGDC,gBAACI,OAAIF,OAAAC,OAAA,GAAKZ,EAAMe,kBACXX,IAOTK,gBAACC,SAAMC,OAAAC,OAAA,GAAKV,GACRO,gBAACI,OAAIF,OAAAC,OAAA,GAAKZ,EAAMc,eACXb,GAGLQ,gBAACI,OAAIF,OAAAC,OAAA,GAAKZ,EAAMgB,aACXb,GAGLM,gBAACI,OAAIF,OAAAC,OAAA,GAAKZ,EAAMe,kBACXX,KA9BbJ,EAAMiB,QAAQC,UAAUC,MAAM,4CACvB,Q,oKCQR,MAAMC,EAAwBC,IAA0I,IAAzI,KAAEC,EAAI,UAAEC,EAAS,KAAEC,EAAI,UAAEC,EAAS,MAAEC,EAAK,QAAEC,EAAO,iBAAEC,EAAgB,SAAEC,EAAQ,SAAEC,EAAQ,YAAEC,EAAW,SAAEC,EAAQ,QAAEC,EAAO,UAAEC,GAAWb,EACvK,MAAMc,EAAUC,2BAAiB,QAASR,EAAkB,GAAI,IAC1DS,OAAoBC,IAAThB,EAAqBA,EAAO,GAC7Ca,EAAQI,cAAcC,MAAQH,EAE9B,MAAMI,EAAYC,iCAAuBd,EAAkBO,GAC3D,OACI1B,gBAAA,OACIc,UAAU,gBACVoB,aAAcA,IAAMZ,EAAYC,GAChCY,aAAcA,IAAMb,EAAY,OAEhCtB,gBAAA,IAAAE,OAAAC,OAAA,GACQ6B,EAAS,CACblB,UAAW,GAAGA,KAAaM,EAAW,SAAW,MAAMI,EAAU,UAAY,KAC7ET,KAAMA,EAAI,aACEC,EACZoB,QAASC,2BAAiBlB,EAAkBO,EAASE,IAChDV,GAAW,CAAE,iBAAiB,IAInClB,gBAAA,QAAMsC,SAAS,QACVV,GAEL5B,gBAAA,QAAMsC,SAAS,WAAWC,QAAStB,MAGrCO,IAAaC,GAAaL,IAAcC,GAAYA,EAASmB,OAC1DxC,gBAAA,OAAKc,UAAU,kBACXO,GAEJ,KCpCJoB,EAA8B7B,IAA4G,IAA3G,KAAEC,EAAI,UAAEC,EAAS,KAAEC,EAAI,UAAEC,EAAS,MAAEC,EAAK,QAAEC,EAAO,iBAAEC,EAAgB,SAAEC,EAAQ,YAAEE,EAAW,SAAEC,GAAUX,EAE/I,MAAMc,EAAUC,2BAAiB,QAASR,EAAkB,GAAI,IAE1DuB,OAAuBb,IAAThB,EAAqBA,EAAO,GAChDa,EAAQI,cAAcC,MAAQW,EAE9B,MAAMV,EAAYC,iCAAuBd,EAAkBO,GAE3D,OACI1B,gBAAA,IAAAE,OAAAC,OAAA,GACQ6B,EAAS,CACblB,UAAW,GAAGA,KAAaM,EAAW,SAAW,KACjDL,KAAMA,EAAI,aACEC,EACZoB,QAASC,2BAAiBlB,EAAkBO,EAASgB,IAChDxB,GAAW,CAAE,iBAAiB,GAAO,CAC1CgB,aAAcA,IAAMZ,EAAYC,GAAU,GAC1CY,aAAcA,IAAMb,EAAY,MAAM,KAEtCtB,gBAAA,QAAMsC,SAAS,QACVI,GAEL1C,gBAAA,QAAMsC,SAAS,WAAWC,QAAStB,M,ykBCa/C,MAAM0B,UAAuB3C,gBAczB4C,YAAYrD,GACRsD,MAAMtD,GACNuD,KAAKC,SAAWxD,EAAMiB,QAAQwC,SAAWzD,EAAMiB,QAAQwC,QAAQC,QAAgD,WAAtC1D,EAAMiB,QAAQwC,QAAQC,OAAOC,KAAoB,KAAO,KACjIJ,KAAKK,MAAQ,CACTC,SAAUN,KAAKM,SACfC,oBAAgBxB,EAChByB,uBAAmBzB,GAGvBiB,KAAKS,aAAc,EAEnBT,KAAKU,aAAeV,KAAKU,aAAaC,KAAKX,MApBxC,uBAAuBY,EAAgBC,GAC1C,IAAIC,EAKJ,OAJIF,GAAUC,GAAoBA,EAAiBnB,OAAS,IACxDoB,EAAkBD,EAAiBE,KAAKC,GAAQA,EAAKC,SAAUC,gBAAkBN,EAAOM,gBAGrFJ,GAAmBA,EAAgBK,KAkBpC,eACN,MAA0B,OAAlBnB,KAAKC,UAAuC,OAAlBD,KAAKC,SAGpCmB,oBACH,IAAIC,EAAYC,SAASC,cAAc,oBACvC,GAAIF,EAAW,CACX,MAAMG,EAAUH,EAAUE,cAAc,aAAeF,EAAUI,SAASC,KAAKC,OAAON,EAAUI,SAAS/B,OAAS,GAAK,IAEvH2B,EAAUO,SAAS,CACfC,IAAK,EAELC,KAAON,EAAOO,WAAaP,EAAOQ,YAAc,EAAIX,EAAUW,YAAc,EAC5EC,SAAU,YAQfC,uBACHC,QAAUA,OAAOC,oBAAoB,SAAUpC,KAAKqC,6BAA8B,GAG/EC,SACH,MAAMC,EAAYvC,KAAKvD,MAAMiB,QAAQwC,QAAQqC,UAE7C,IAAIC,EAA2B,GAE/B,GAA2B,aAAvBD,EAAUE,SAAyB,CACnC,MAAMC,EAAoBC,OAAOJ,EAAU9D,UACrCmE,EAAwB5C,KAAKvD,MAAMoG,KAAKC,WAAWC,OACzD,GAAIH,GAAyBA,EAAsB,GAAI,CAClBA,EAAsB,GAAGI,SAAS,GAC1CA,SAASC,QAAQC,IAElCR,IAAsBQ,EAAcC,SACpCX,EAAQxC,KAAKoD,aAAaF,EAAeR,GAClCQ,EAAcF,UAAYE,EAAcF,SAAStD,QACxDwD,EAAcF,SAASC,QAAQI,IACvBX,IAAsBW,EAAcF,SACpCX,EAAQxC,KAAKoD,aAAaF,EAAeR,GAElCW,EAAcL,UAAYK,EAAcL,SAAStD,QACxD2D,EAAcL,SAASC,QAAQK,IACvBZ,IAAsBY,EAAgBH,WACtCX,EAAQxC,KAAKoD,aAAaF,EAAeR,WAUzE,GAAIa,YAAoBvD,KAAKvD,MAAMoG,MAE/B,OADA7C,KAAKvD,MAAMkB,UAAUC,MAAM,+BACpB,KAGX,MAAM4F,EAASC,MAAA,GACRzD,KAAKvD,OACLuD,KAAKK,OAAK,IACboC,SAAUF,EAAUE,SACpBiB,WAAY,CACRC,YAAa3D,KAAKvD,MAClBuB,UAAW4F,IAAW,kBAAmB5D,KAAKvD,MAAMoH,OAAO7F,UAAWgC,KAAKK,MAAMC,SAAW,YAAc,aAAcN,KAAKS,YAAc,aAAe,IAC1JqD,IAAI,MACJC,KAAK,aACL,aAAc/D,KAAKvD,MAAMuH,UAAUC,eAEvCjH,aAAcgD,KAAKK,MAAMC,SACzBkC,MAAOA,EACPxE,UAAW4F,IAAW,SAAU5D,KAAKvD,MAAMoH,OAAO7F,aAGtD,OAAOgC,KAAKvD,MAAMyH,WAAWV,GAGzB9C,aAAajC,GAA4B0F,UAAAzE,OAAA,QAAAX,IAAAoF,UAAA,IAAAA,UAAA,GAEzCnE,KAAKoE,SAAS,CAAC5D,kBAAmB/B,IAElCuB,KAAKoE,SAAS,CAAC7D,eAAgB9B,IAI/B2E,aAAaiB,EAA6BC,GAC9C,IAAI9B,EAAQ,GAyDZ,OAxDAA,EAAM+B,KAAKrH,gBAACW,EAAI,CACZS,SAAU+F,EAASlB,WAAamB,EAChCvG,KAAMsG,EAASG,KACftG,UAAWmG,EAASG,KACpBvG,KAAMoG,EAASI,IACftG,MAAM,IACNH,UAAU,mBACVK,iBAAkB,CAACqG,SAAU,eAAeL,EAASG,KAASG,WAAY,2BAC1EnG,YAAawB,KAAKU,aAClBjC,SAAU4F,EAASlB,SACnBxE,YAAaqB,KAAKK,MAAME,kBAAoBP,KAAKK,MAAMG,kBACvD9B,QAASsB,KAAKK,MAAME,iBAAmB8D,EAASlB,UAAYnD,KAAKK,MAAMG,oBAAsB6D,EAASlB,aAGzGkB,EAASrB,UAAY,IAAIC,QAAQ2B,IAC9B,IAAIrG,EAAgB,GAChBsG,GAAkB,EAClBD,EAAc5B,UACd4B,EAAc5B,SAASC,QAAQ6B,IACvBA,EAAmB3B,WAAamB,IAChCO,GAAkB,GAEtBtG,EAASgG,KAAKrH,gBAACyC,EAAO,CAClBrB,SAAUwG,EAAmB3B,WAAamB,EAC1CvG,KAAM+G,EAAmBN,KACzBtG,UAAW4G,EAAmBN,KAC9BvG,KAAM6G,EAAmBL,IACzBtG,MAAM,IACNH,UAAU,sBACVK,iBAAkB,CAACqG,SAAU,uBAAuBI,EAAmBN,KAASG,WAAY,2BAC5FlG,SAAUuB,KAAKK,MAAME,gBAAkB,EACvC/B,YAAawB,KAAKU,mBAKzBkE,EAAczB,WAAamB,GAAiBO,IAAoBD,EAAc5B,UAAY4B,EAAc5B,SAAStD,SAClHM,KAAKS,aAAc,GAGvB+B,EAAM+B,KAAKrH,gBAACW,EAAI,CACZS,SAAUsG,EAAczB,WAAamB,GAAiBO,EACtD9G,KAAM6G,EAAcJ,KACpBtG,UAAW0G,EAAcJ,KACzBvG,KAAM2G,EAAcH,IACpBtG,MAAM,IACNH,UAAU,mBACVK,iBAAkB,CAACqG,SAAU,eAAeE,EAAcJ,KAASG,WAAY,2BAC/EpG,SAAUA,EACVC,YAAawB,KAAKU,aAClBjC,SAAUmG,EAAczB,SACxBxE,YAAaqB,KAAKK,MAAME,kBAAoBP,KAAKK,MAAMG,kBACvD9B,QAASsB,KAAKK,MAAME,iBAAmBqE,EAAczB,UAAYnD,KAAKK,MAAMG,oBAAsB6D,EAASlB,cAI5GX,GA5KXuC,YAAA,CADCC,K,+BA0BSD,YAAA,CAATE,K,6BAuJUpF,a,kKC7NR,MAAMqF,EAAoFzI,IAC7F,MAAM,WAAEqG,EAAU,WAAEqC,EAAU,eAAEC,GAAmB3I,EACnD,IAAKqG,IAAeA,EAAWpD,OAC3B,OAAO,KAEX,MAAM2F,EAAgC,CAClC1B,YAAalH,EACbuB,UAAW4F,IAAW,mBAAoBnH,EAAMoH,OAAO7F,YAG3D,OAAIvB,EAAMoH,OAAOyB,aAETpI,IAAAqI,cAACpI,SAAMC,OAAAC,OAAA,GAAKgI,GAoBxB,SAAuB5I,GACnB,MAAM,WAAEqG,EAAU,eAAEsC,GAAmB3I,EACjC+I,EAAkC,CACpC7B,YAAalH,EACbuB,UAAW4F,IAAW,wDAAyDnH,EAAMoH,OAAO7F,WAC5F8F,IAAK,KACLC,KAAM,QAEV,OACI7G,IAAAqI,cAACpI,SAAMC,OAAAC,OAAA,GAAKmI,GACRtI,IAAAqI,cAACjI,OAAI,CAACU,UAAU,gCACXvB,EAAMoH,OAAO4B,cAEjB3C,EAAW4C,IAAI,CAACrB,EAAqBlG,IAE9BjB,IAAAqI,cAACjI,OAAIF,OAAAC,OAAA,GAAK+H,EAAc,CAAEO,IAAKxH,EAAO4F,KAAK,aACtCM,KAnCRuB,CAAcnJ,GA4C/B,SAAsBA,GAClB,MAAM,WAAEqG,GAAerG,EACjBoJ,EAAiC,CACnClC,YAAalH,EACbuB,UAAW4F,IAAW,sDAAuDnH,EAAMoH,OAAO7F,WAC1F8F,IAAK,KACLC,KAAM,QAEV,OACI7G,IAAAqI,cAACpI,SAAMC,OAAAC,OAAA,GAAKwI,GACR3I,IAAAqI,cAACO,SAAM,CAAC9H,UAAU,gCAAgC+H,UAAU,kBAAkBC,WAAW,oBAAoBC,eAAe,MAAMC,iBAAkBzJ,EAAMoH,OAAO4B,aAAcU,kBAAmB,CAAEC,MAAO,QAAStC,IAAK,WACrN5G,IAAAqI,cAAA,OAAKvH,UAAU,mBACV8E,GACGA,EAAW4C,IAAI,CAACrB,EAAUgC,IACtBnJ,IAAAqI,cAAA,WACKlB,OA1DhBiC,CAAa7J,IAIlBS,IAAAqI,cAACpI,SAAMC,OAAAC,OAAA,GAAK8H,EAAU,CAAEpB,KAAK,SACxBjB,EAAW4C,IAAI,CAACrB,EAAqBlG,IAE9BjB,IAAAqI,cAACjI,OAAIF,OAAAC,OAAA,GAAK+H,EAAc,CAAEO,IAAKxH,EAAO4F,KAAK,aACtCM,MA2Dda,a,8JC9ET,MAAOqB,UAAuBrJ,gBAApC4C,c,oBA8BY,KAAA0G,gBAAmB3I,IACvB,QAAiBkB,IAAdlB,EAAKI,KACJ,OAAOJ,EAGX,MAAM4I,EAAgB5I,EAAKI,KAA4ByI,gBAAmB7I,EAAKI,KACzE0I,EAAS,IAAIC,IAAIH,EAAMzG,KAAKvD,MAAMiB,QAAQwC,QAAQ2G,IAAIC,YAAY7I,KAExE,OADAJ,EAAKI,KAAO0I,EACL9I,GArCJyE,SACH,MAAM,WAAEyE,GAAe/G,KAAKvD,MAC5B,OACIS,gBAACC,SAAMC,OAAAC,OAAA,GAAK0J,GACP/G,KAAKgH,eAAehH,KAAKvD,QAK9BuK,eAAevK,GACnB,MAAM,QAACC,EAAO,iBAAEuK,EAAgB,KAACpJ,EAAI,SAAEiB,EAAQ,MAAEoI,GAASzK,EAC1D,OAAGC,EACSQ,gBAACI,OAAIF,OAAAC,OAAA,GAAK4J,G,IAAoBvK,E,KAChCmB,GAAQmC,KAAKwG,gBAAgB3I,GAE3BX,gBAACI,OAAIF,OAAAC,OAAA,GAAKQ,EAAI,CAAEkG,KAAK,aAChBjF,EACAoI,GAKbhK,2BAAA,KACK4B,EACAoI,IAiBFX,a,2FChDf,MAuBMY,EAAyBC,GAEvBlK,2BAAA,KACKkK,GAASA,EAAM1H,OACZ0H,EAAM1B,IAAI,CAAC1E,EAAuB7C,IAE1BjB,gBAACA,WAAc,CAACyI,IAAKxH,GAChB6C,IAIb,MAIDqG,UAtCkC5K,IAC7C,MAAM,YAAE6K,EAAW,SAAEC,EAAQ,oBAAEC,EAAmB,mBAAEC,EAAkB,eAAEC,EAAc,UAAEC,GAAclL,EAEtG,OAAQ6K,GACJ,KAAKM,cAAYC,WACb,OACI3K,gBAACC,SAAMC,OAAAC,OAAA,GAAKmK,GACRtK,gBAACI,OAAIF,OAAAC,OAAA,GAAKqK,GACLH,GAAYA,EAASO,gBAAkBP,EAASO,eAAepI,QAAWyH,EAAsBI,EAASO,kBAI1H,KAAKF,cAAYG,UACb,OACI7K,gBAACC,SAAMC,OAAAC,OAAA,GAAKoK,GACPE,GAGb,QACK,OAAO,Q,y0BC+BpB,IAAMK,EAAN,cAAkB9K,YAOhB4C,YAAYrD,GACVsD,MAAMtD,GAPQ,KAAAwL,cAAwB,YAwFjC,KAAAC,oBAAuBC,GAAyCnI,KAAKvD,MAAMoH,OAAOnH,QAASqB,KAAOoK,EAAMC,OAAOC,MAsJ9G,KAAAC,SAAW,CAACtH,EAAe7C,EAAeoK,IAAgBC,IAChE,MAAMC,EAAiB,CAAEC,mBAAoBvK,EAAOwK,MAAOJ,GACrDK,EAAY5H,EAAiBvE,MAAMoH,OAAOgF,aAAaC,QAAQ,IAAK,OACpEC,EAAkB/I,KAAKgJ,mBAAmBJ,GAC1CK,EAA2CjJ,KAAKkJ,qBAChDC,EAAQnJ,KAAKoJ,UAAUpI,EAAM+H,EAAiBE,GACpDjJ,KAAKvD,MAAMiB,QAAQ2L,cAAcC,OAAOC,8BAAoBd,GAAiBA,GAC7EQ,GAAkB9G,OAAOqH,QAAQC,UAAU,CAAEhD,KAAM0C,GAAS,GAAIA,GAChEnJ,KAAKoE,SAAS,CAAEsF,gBAAiBvL,EAAOwL,iBAAkBf,EAAUgB,cAAc,KAI5E,KAAAC,oBAAuB1L,IAC7B,MAAM,MAAE2L,GAAU9J,KAAKvD,MACjBsN,EAAaD,GAASA,EAAME,UAAYF,EAAME,SAAStK,QAAUoK,EAAME,SAAS7L,GAGtF,MAAO,CAAE4L,aAAYE,wBADWF,GAAeA,EAAuBtN,MAAMoH,OAAOgF,cAAgB,KAI7F,KAAAqB,WAAa,CAAC/L,EAAeoK,IAAgBC,IACnD,GAAkB,KAAdA,EAAE2B,QAAgB,CACpB,MAAM1B,EAAiB,CAAEC,mBAAoBvK,EAAOwK,MAAOJ,GAC3DvI,KAAKvD,MAAMiB,QAAQ2L,cAAcC,OAAOC,8BAAoBd,GAAiBA,GAC7E,MAAM2B,EAASpK,KAAK6J,oBAAoB1L,GAClC4K,EAAkB/I,KAAKgJ,mBAAmBoB,EAAOH,yBACjDhB,EAA2CjJ,KAAKkJ,qBAEhDC,EAAQnJ,KAAKoJ,UAAUgB,EAAOL,WAAuBhB,EAAiBE,GAC5EjJ,KAAKoE,SAAS,CAAEsF,gBAAiBvL,EAAOwL,iBAAkBS,EAAOH,wBAAyBL,cAAc,IACxGX,GAAkB9G,OAAOqH,QAAQC,UAAU,CAAEhD,KAAM0C,GAAS,GAAIA,KApQlE,MAAM,gBAAEkB,GAAoBrK,KAAKvD,MAAMoH,QACjC,MAAEiG,GAAU9J,KAAKvD,MACjB6N,EAAaR,GAASA,EAAME,UAAYF,EAAME,SAAStK,QAAU,EACjE6K,EAAeF,GAAmBA,GAAmBC,GAAcD,EAAkB,EAAIA,EAAkB,EAAI,EACrHrK,KAAKC,SAAWxD,EAAMiB,QAAQwC,SAAWzD,EAAMiB,QAAQwC,QAAQC,QAAgD,WAAtC1D,EAAMiB,QAAQwC,QAAQC,OAAOC,KAAoB,KAAO,KACjI,MAAMoK,EAAkBV,GAASA,EAAME,UAAYF,EAAME,SAAStK,QAAUoK,EAAME,SAASK,EAAmB,GAExGI,EAAkCD,GAAoBA,EAA4B/N,MAAMoH,OAAOgF,cAAgB,GACrH7I,KAAKK,MAAQ,CAAEqJ,gBAAiBa,EAAcG,SAAU,GAAIC,cAAe,GAAIhB,iBAAkBc,EAAyBnK,SAAUN,KAAKM,SAAUsJ,cAAc,GACjK5J,KAAK4K,cAAgB5K,KAAK4K,cAAcjK,KAAKX,MAC7CA,KAAK6K,eAAiB7K,KAAK6K,eAAelK,KAAKX,MAC/CA,KAAKsI,SAAWtI,KAAKsI,SAAS3H,KAAKX,MACnCA,KAAKkK,WAAalK,KAAKkK,WAAWvJ,KAAKX,MACvCA,KAAK8K,iBAAmB9K,KAAK8K,iBAAiBnK,KAAKX,MACnDA,KAAK+K,WAAa,KAClB/K,KAAKgL,iCAAmChL,KAAKgL,iCAAiCrK,KAAKX,MACnFA,KAAKiL,sBAAwBjL,KAAKiL,sBAAsBtK,KAAKX,MAC7DA,KAAKkJ,mBAAqBlJ,KAAKkJ,mBAAmBvI,KAAKX,MACvDA,KAAKkL,UAAYlL,KAAKkL,UAAUvK,KAAKX,MACrCA,KAAKgJ,mBAAqBhJ,KAAKgJ,mBAAmBrI,KAAKX,MACvDA,KAAKmL,gBAAkBnL,KAAKmL,gBAAgBxK,KAAKX,MACjDA,KAAKoL,gBAAkBpL,KAAKoL,gBAAgBzK,KAAKX,MAEzC,eACR,MAA0B,OAAlBA,KAAKC,UAAuC,OAAlBD,KAAKC,SAElCmB,oBACLpB,KAAKkL,YACLlL,KAAKqC,4BACHF,QAAUkJ,4BAAkBlJ,OAAQ,SAAUnC,KAAKmL,iBACrDnL,KAAKmL,kBAEAjJ,uBACLC,QAAUA,OAAOC,oBAAoB,SAAUpC,KAAKqC,6BAA8B,GAE7EC,SACL,MAAM,MAAEwH,GAAU9J,KAAKvD,OACjB,QAAEC,EAAO,UAAEsB,GAAcgC,KAAKvD,MAAMoH,OAEpCyH,EAAmB5O,GACvBQ,gBAACqO,IAAa,CACZvN,UAAU,iCACV8F,IAAKpH,EAAQoH,KAAO,KACpB/F,KAAMrB,EAAQqB,KACdyN,UAAW,CAAEC,OAAQzL,KAAKkI,oBAAqBe,eAAgBjJ,KAAKvD,MAAMiB,QAAQwC,WAGhFoK,EAAaR,GAASA,EAAME,UAAYF,EAAME,SAAStK,QAAU,EACjE3C,EACJG,gBAAA,MAAIc,UAAU,UAAUsB,QAASU,KAAKoL,iBAAkBpL,KAAKK,MAAMsJ,kBAAoB3J,KAAKK,MAAMsJ,iBAChGzM,gBAAA,QAAMc,UAAWgC,KAAKK,MAAMuJ,cAAgB5J,KAAKK,MAAMuJ,aAAe,qBAAuB,yBAG3F3M,EACJC,gBAAA,MAAI6G,KAAK,UAAU/F,UAAWgC,KAAKK,MAAMuJ,cAAgB5J,KAAKK,MAAMuJ,aAAe,iBAAmB,aAAcU,EAAa,GAAKR,EAAME,SAAStE,IAAI,CAAC1E,EAAuB7C,IAAkB6B,KAAK4K,cAAc5J,EAAM7C,KAExNuN,EAAYjI,IAAA,GACbzD,KAAKvD,OAAK,IACbE,aAAc,CACZgH,YAAa3D,KAAKvD,MAClBuB,UAAW4F,IAAW,SAAU5F,EAAWgC,KAAKK,MAAMC,SAAW,wBAA0B,KAE7F/C,cAAe,CAAES,UAAW,yBAC5BlB,oBAAqB,CAAEkB,UAAW,iBAClCP,YAAa,CAAEO,UAAW,sBAAuB8F,IAAK,KAAiBC,KAAM,WAC7ErH,QAAS4O,EACTzH,OAAQ7D,KAAKvD,OAASuD,KAAKvD,MAAMoH,OACjCrG,iBAAkB,CAChBsG,IAAK,MACL9F,UAAW,0BAEbnB,YAAayN,EAAa,GAAKR,EAAME,SAAStE,IAAI,CAAC1E,EAAuB7C,IAAkB6B,KAAK6K,eAAe7J,EAAM7C,IACtHvB,WAAY0N,EAAa,GAAKR,EAAME,SAAStE,IAAI,CAAC1E,EAAuB7C,IAAkB6B,KAAK4K,cAAc5J,EAAM7C,IACpHnB,aAAcgD,KAAKK,MAAMC,SACzBrD,iBAAkBA,EAClBF,mBAAoBA,IAEtB,OAAOiD,KAAKvD,MAAMyH,WAAWwH,GAKxBC,qBACL,MAAM,KAAE9I,GAAS7C,KAAKvD,MAChBmP,EAAkB/I,GAAQA,EAAK4F,gBAAkB5F,EAAK4F,eAAe1F,QAAUF,EAAK4F,eAAe1F,OAAO4F,MAC5GiD,GACE5L,KAAKvD,MAAM8L,KAAOqD,GACpB5L,KAAK+K,YAAc/K,KAAK+K,WAAWc,QAMjCX,YACN,MAAM,gBAAEb,GAAoBrK,KAAKvD,MAAMoH,QACjC,MAAEiG,GAAU9J,KAAKvD,MACjB6N,EAAaR,GAASA,EAAME,UAAYF,EAAME,SAAStK,QAAU,EACvE,IAAI6K,EAAeF,GAAmBA,GAAmBC,GAAcD,EAAkB,EAAIA,EAAkB,EAAI,EAC/GyB,EAAwB,EAC5B,MAAMC,EAAejC,GAASA,EAAME,UAAYF,EAAME,SAAStK,QAAUoK,EAAME,SAASK,EAAmB,GAE3G,IAAI2B,EAA2BD,GAAiBA,EAAyBtP,MAAMoH,OAAOgF,cAAgB,GAClGoD,EAA8BD,EAAH,IAC/B,MAAM/C,EAAiBjJ,KAAKkJ,qBACtBgD,EAAUlM,KAAKgL,iCAAiC/B,EAAepC,KAErE,IAAI6D,EADoB,IAAI9D,IAAIqC,GAAkBA,EAAepC,KAAOoC,EAAepC,IAAIC,YAAcmC,EAAepC,IAAIC,WAAWqF,YAC7GC,SAC1B,MAAMC,EAAgB3B,EAAS4B,MAAM,KACrC,GAAIxC,GAASA,EAAME,SACjB,IAAK,IAAIuC,EAAI,EAAGA,EAAIzC,EAAME,SAAStK,OAAQ6M,IAAK,CAC9C,IAAIC,EAAgC1C,EAAME,SAASuC,GAAe9P,MAAMoH,OAAOgF,aAAaC,QAAQ,IAAI,OAExG,MAAMF,EAAmB5I,KAAKgJ,mBAAmBwD,GACjD,GAAIN,EAAQO,sBAAwB7D,EAAS6D,oBAAqB,CAChET,EAAmBpD,EACnBqD,EAAmBD,EAAmBO,EAAEJ,WACxCL,EAAgBS,EAChB7B,EAAW2B,EAAcK,MAAM,EAAGL,EAAc3M,OAAS,GAAGiN,KAAK,KACjE,OAINpC,EAAeuB,EAAgB,GAAKA,GAAiBxB,EAAawB,EAAgBvB,EAClFvK,KAAKC,SAAWD,KAAKvD,MAAMiB,QAAQwC,SAAWF,KAAKvD,MAAMiB,QAAQwC,QAAQC,QAAqD,WAA3CH,KAAKvD,MAAMiB,QAAQwC,QAAQC,OAAOC,KAAoB,KAAO,KAChJ,MAAMoK,EAAkBV,GAASA,EAAME,UAAYF,EAAME,SAAStK,QAAUoK,EAAME,SAASK,EAAmB,GAExGI,EAAkCD,GAAoBA,EAA4B/N,MAAMoH,OAAOgF,cAAgB,GACrH7I,KAAKoE,SAAS,CAAEsF,gBAAiBa,EAAcG,SAAUA,EAAUC,cAAesB,EAAkBtC,iBAAkBc,EAAyBnK,SAAUN,KAAKM,SAAUsJ,cAAc,IAEhLuB,kBACNnL,KAAKC,SAAWD,KAAK4M,eACrB5M,KAAKoE,SAAS,CAAE9D,SAAUN,KAAKM,WAGzBsM,eACN,MAAM,QAAElP,GAAYsC,KAAKvD,MAGzB,GAAIiB,EAAQwC,SAAWxC,EAAQwC,QAAQC,QAA0C,WAAhCzC,EAAQwC,QAAQC,OAAOC,KACtE,MAAO,KAET,QAAsBrB,WAAXoD,QAAwBA,OAAO0K,WAAY,CACpD,MAAMC,EAAepP,EAAQwC,QAAQ4M,aACrC,GAAIA,EACF,OAAIA,EAAaC,IAAM5K,OAAO0K,YAAcC,EAAaC,GAAGC,EACnD,KACEF,EAAaG,IAAM9K,OAAO0K,YAAcC,EAAaG,GAAGD,EAC1D,KACEF,EAAaI,IAAM/K,OAAO0K,YAAcC,EAAaI,GAAGF,EAC1D,KACEF,EAAaK,IAAMhL,OAAO0K,YAAcC,EAAaK,GAAGH,EAC1D,KAEA,KAIb,MAAO,KAGDpC,cAAc5J,EAAuB7C,GAC3C,MAAM,KAAE0E,EAAI,OAAEgB,GAAW7D,KAAKvD,MACxBiM,EAAqB7F,GAAQA,EAAK4F,gBAAkB5F,EAAK4F,eAAe1F,QAAUF,EAAK4F,eAAe1F,OAAO2F,mBAC7GkD,EAAkB/I,GAAQA,EAAK4F,gBAAkB5F,EAAK4F,eAAe1F,QAAUF,EAAK4F,eAAe1F,OAAO4F,MAC1GyE,OAAkCrO,IAAvB2J,GAAoCkD,IAAoB5L,KAAKvD,MAAM8L,GAAKG,IAAuBvK,EAAQ6B,KAAKK,MAAMqJ,kBAAoBvL,EACjJkP,EAAYC,uBAAanP,EAAO6B,KAAKvD,MAAM8L,IAE3CK,EAAY5H,EAAiBvE,MAAMoH,OAAOgF,aAC1CE,EAAkB/I,KAAKgJ,mBAAmBJ,GAC1CK,EAA2CjJ,KAAKkJ,qBAChDqE,EAAiBvN,KAAKiL,sBAAsBhC,EAAepC,KAAK,GACtE,IAAI2G,EAAK,GAAGxN,KAAKK,MAAMqK,YAAY3B,IAAkBwE,IAAiBzE,QAAQ,KAAM,KACpF0E,EAAK3J,EAAO4J,SAAWD,EAAKD,EAC5B,MAAMG,EAAuBN,EAAW,eAAiB,GACzD,OACElQ,gBAAA,MACEyI,IAAKxH,EACLH,UAAW,0BAA0B0P,EAErCpO,QAASU,KAAKsI,SAAStH,EAAiB7C,EAAO6B,KAAKvD,MAAM8L,IAC1DoF,UAAW3N,KAAKkK,WAAW/L,EAAO6B,KAAKvD,MAAM8L,IAC7CqF,UAAY,EAEZC,IAAKC,IAAc3P,IAAU6B,KAAKK,MAAMqJ,kBAAmB1J,KAAK+K,WAAa+C,IAAS,gBACvET,EAAS,gBACTD,EACfrJ,KAAK,OAEL7G,gBAACA,WAAc,CAACyI,IAAKxH,GAClBjB,eAAmB8D,EAA4B,CAAEsG,YAAaM,cAAYG,UAAWgG,WAAY5P,IAAU6B,KAAKK,MAAMqJ,gBAAiBsE,UAAW7P,EAAOwK,MAAO3I,KAAKvD,MAAM8L,OAM5K6C,gBAAgBjD,GACtBnI,KAAKoE,SAAS,CAAEwF,cAAe5J,KAAKK,MAAMuJ,eAGpCZ,mBAAmBkD,GAEzB,OAAO+B,UAAU/B,EAAQO,oBAAoB3D,QAAQ,IAAK,KAAKA,QAAQ,IAAK,MAEtEmC,sBAAsBiD,EAAwCC,GACpE,MAAMC,EAAUF,GAAqBA,EAAkBpH,YAAcoH,EAAkBpH,WAAWqF,WAClG,GAAIgC,EAAiB,CACnB,MAAME,EAA4BD,GAAWA,EAAQ9B,MAAM,KACrDgC,EAA+BD,GAA6BA,EAA0B3O,OAAS,QAAuCX,IAAjCsP,EAA0B,IAAqBA,EAA0B,IAAM,GAC1L,MAAwC,KAAjCC,EAAsCA,EAA+B,IAAIA,EAElF,OAAOF,GAAW,GAEZlF,qBACN,MAAM,QAAExL,GAAYsC,KAAKvD,MACzB,OAAOiB,GAAWA,EAAQ2L,eAAiB3L,EAAQ2L,cAAcJ,eAG3D+B,iCAAiCnE,GACvC,MAAMuH,EAAUpO,KAAKiL,sBAAsBpE,GAAKyF,MAAM,KAChDiC,EAAWH,GAAWA,EAAQ1O,QAAU0O,EAAQ,GAAG9B,MAAM,KAC/D,OAAOiC,GAAYA,EAAS7O,QAAU6O,EAASA,EAAS7O,OAAS,IAAM,GAGjE0J,UAAUpI,EAAe+H,EAAyBE,GAAwC,IAAAuF,EAChG,MAAMjB,EAAiBvN,KAAKiL,sBAAsBhC,EAAepC,KAAK,GACtE,IAAI2G,EAAK,GAAGxN,KAAKK,MAAMqK,YAAY3B,IAAkBwE,IAAiBzE,QAAQ,KAAM,KAEpF,OADA0E,EAAsB,QAAjBgB,EAAAxO,KAAKvD,MAAMoH,cAAM,IAAA2K,GAAjBA,EAAmBf,SAAWD,EAAKD,EACjCC,EAqCD3C,eAAe7J,EAAuB7C,GAC5C,OACEjB,gBAACA,WAAc,CAACyI,IAAKxH,GAClBjB,eAAmB8D,EAA4B,CAAEsG,YAAaM,cAAYC,WAAYkG,WAAY5P,IAAU6B,KAAKK,MAAMqJ,gBAAiBsE,UAAW7P,EAAOwK,MAAO3I,KAAKvD,MAAM8L,MAK3KuC,iBAAiB7B,EAA0CwF,EAAmBC,GACpF,IAAI7H,EAGFA,EADE0E,IAA0BoD,UACtB,IAAI/H,IAAIzE,OAAOyM,SAAS3Q,MAExB,IAAI2I,IAAIqC,EAAepC,IAAIC,WAAW7I,MAE9C,MAAM4Q,EAAS,IAAI1M,OAAO2M,gBAAgBjI,EAAIkI,QAG9C,OAFAF,EAAOG,IAAIP,EAAWC,GACtB7H,EAAIkI,OAASE,mBAAmBJ,EAAO1C,YAChCtF,EAAIsF,aA/RbpH,YAAA,CADCC,K,+BA4BSD,YAAA,CAATE,K,6BAhCG+C,EAAGjD,YAAA,CADRmK,KACKlH,GAwSSA,a,8KCxVR,MAAMmH,EAA8CrR,IAAA,IAAC,cAAEsR,EAAa,MAAEC,EAAK,WAAEC,GAAYxR,EAAA,OAC5FZ,gBAACI,OAAIF,OAAAC,OAAA,GAAK+R,GACLC,EACAC,IAGIC,EAA4CC,IAAA,IAAC,aACtDC,EAAY,aACZC,EAAY,aACZC,EAAY,gBACZC,EAAe,MACfC,EAAK,MACLjS,EAAK,MACLkS,GACHN,EAAA,OACGtS,gBAACI,OAAIF,OAAAC,OAAA,GAAKoS,GACNvS,gBAACI,OAAIF,OAAAC,OAAA,GAAKuS,GACL,gBACAhS,EACAkS,GAEJJ,EACAC,IAaMI,UAT4DC,IAAqD,IAApD,YAAErM,EAAW,gBAAEsM,EAAe,eAAEC,GAAgBF,EACxH,OACI9S,gBAACC,SAAMC,OAAAC,OAAA,GAAKsG,GACPsM,GAAmB/S,gBAACiS,EAAe/R,OAAAC,OAAA,GAAK4S,IACxCC,GAAkBhT,gBAACqS,EAAcnS,OAAAC,OAAA,GAAK6S,O,yFClBpCC,UAZ8D1T,IACzE,MAAM,sBAAE2T,EAAqB,QAAE1T,EAAO,YAAE2T,EAAW,MAAE7N,GAAU/F,EAE/D,OACIS,gBAACC,SAAMC,OAAAC,OAAA,GAAK+S,GACP1T,EACA2T,EACA7N,K,oGCKE8N,UAZgD7T,IAC7D,MAAM,aAAEO,EAAY,WAAE0G,EAAU,MAAElB,EAAK,SAAEC,GAAYhG,EACrD,MAAiB,aAAbgG,EACK,KAGPvF,gBAACC,SAAMC,OAAAC,OAAA,GAAKqG,EAAU,CAAE1F,UAAW4F,IAAWF,EAAW1F,UAAWhB,EAAe,QAAU,YAC1FwF,K,gJCWKoF,E,+oBAAZ,SAAYA,GACRA,IAAA,yBACAA,IAAA,2BAFJ,CAAYA,MAAW,KAUvB,IAAM2I,EAAN,cAAsBrT,YAIlB4C,YAAYrD,GACRsD,MAAMtD,GAJF,KAAA+T,uBAAiC,sBACjC,KAAAC,sBAAgC,qBAIpCzQ,KAAK0Q,iBAAmB1Q,KAAK0Q,iBAAiB/P,KAAKX,MAGhDsC,SACH,MAAM,MAAEwH,EAAK,WAAE5F,EAAU,OAAEL,EAAM,KAAEhB,EAAI,WAAEkL,EAAU,UAAEC,GAAchO,KAAKvD,MAClE0B,EAAQ6P,GAAa,EACrBX,EAAYC,EAAanP,EAAO6B,KAAKvD,MAAMkM,OAAS,IACpDgI,EAAwB9N,GAAQA,EAAK4F,gBAAkB5F,EAAK4F,eAAe1F,OAC3E6N,EAAQD,GAAyBA,EAAsBhI,QAAU3I,KAAKvD,MAAMkM,YAAsD5J,IAA7C4R,EAAsBjI,mBAC7GiI,EAAsBjI,qBAAuBvK,EAAQ4P,IAAc,EAuBvE,OAAO7J,EAtBQT,IAAA,GACPzD,KAAKvD,OAAK,IACd+K,oBAAqB,CACjB7D,YAAa3D,KAAKvD,MAClBuB,UAAW4F,IAAW5D,KAAKwQ,uBAAwB3M,EAAO7F,YAE9DyJ,mBAAoB,CAChB9D,YAAa3D,KAAKvD,MAClBuB,UAAW4F,IAAW5D,KAAKyQ,sBAAuB5M,EAAO7F,WACzD4P,SAAS,KAEblG,eAAgB,CACZ1J,UAAW,+BACX8F,IAAK,UACL,eAAgB8M,EAChB7M,KAAM,WACN6J,SAAUgD,EAAQ,GAAK,EACvBrI,GAAI8E,GAER1F,UAAW3H,KAAK0Q,mBAChBnJ,SAAUuC,KAMV4G,mBACJ,OACIxT,2BAAA,KACK8C,KAAKvD,MAAMoH,OAAOgF,gBA7C7B0H,EAAOxL,YAAA,CADZmK,KACKqB,GAoDC,MAAMjD,EAAeA,CAACnP,EAAeoK,IACnC,oBAAoBA,KAAMpK,IAGpBoS,a,kJCnFR,MAAMM,EAA8F/S,IAAA,IAAC,YAAEuS,GAAavS,EAAA,OACvHZ,gBAAA,KAAGc,UAAU,mDAAmDqS,ICUvDS,EAAkFhT,IAK1F,IAL2F,MAC5F0E,EAAK,iBACLnE,EAAgB,aAChB0S,EAAY,eACZ9H,GACHnL,EACG,GAAqB,IAAjB0E,EAAM9C,OACN,OAAO,KAEX,MAAMsR,EAAgBC,EAAkBzO,EAAOnE,GAC/C,OACInB,gBAAA,OAAKc,UAAU,6CACVgT,GAAiBA,EAActR,OAAS,EACrCxC,gBAACgU,IAAc,CAAC1O,MAAOwO,EAAexF,UAAW,CAAEuF,eAAc9H,oBACjE,OAKVgI,EAAoBA,CAACE,EAAwB9S,KAC/C,IAAK8S,GAAgC,IAApBA,EAASzR,OACtB,OAAO,KAEX,MAAMsR,EAAuC,GACvCpS,EAAUC,2BAAiB,QAASR,EAAmB,IAgB7D,OAfA8S,EAASlO,QAAQ,CAAC6K,EAAM3P,KACpBS,EAAQI,cAAcC,MAAQ6O,EAAKhP,SACnC,MAAMsS,EAAajS,iCAAuBd,EAAmBO,GACvDyS,EAAoC,CACtCnT,UAAW4P,EAAK5P,UAChBF,UAAW,2CACXc,SAAUgP,EAAKhP,SACfwS,QAASxD,EAAKwD,QAAQ5K,eACtB6K,aAAczD,EAAKyD,aACnBxN,KAAM,OACNyN,qBAAsBJ,GAE1BJ,EAAczM,KAAK8M,KAGhBL,G,ykBCnCX,MAAMZ,UAA8BlT,gBAGhC4C,YAAYrD,GACRsD,MAAMtD,GAuDH,KAAAyL,oBAAuBC,IAC1BnI,KAAKvD,MAAMoH,OAAOnH,QAAQqB,KAAOoK,EAAMC,OAAOC,OAG3C,KAAAoJ,qBAAwBC,GAAuBvJ,IAC9CnI,KAAKvD,MAAMoH,OAAOrB,OAASxC,KAAKvD,MAAMoH,OAAOrB,MAAMkP,KACnD1R,KAAKvD,MAAMoH,OAAOrB,MAAMkP,GAAW5S,SAAWqJ,EAAMC,OAAOC,QA5D/DrI,KAAK3B,iBAAmBsT,6BACpB3R,KAAKvD,MAAMiB,QAAQwC,QAAQ0R,kBAC3B5R,KAAKvD,MAAMoV,aACX7R,KAAKvD,MAAMkB,WAIZ2E,SACH,MAAM,OAAEuB,EAAM,UAAEG,EAAS,KAAEnB,GAAS7C,KAAKvD,OACnC,UAAEuB,EAAS,QAAEtB,EAAO,MAAE8F,GAAUqB,GAChC,qDAAEiO,EAAoD,wDAAEC,GAA4D/N,EACpHgO,EAAWnP,EAAKoP,OAASpP,EAAKoP,MAAMlP,OACpCmP,EACW,IAAbF,EAAiBF,EAAuDC,EACtEI,EAAsBtP,EAAKsP,oBAAoBpP,OAGrD,GAAKoP,YAAqBC,WACtB,OAAO,KAGX,MAAM5O,EAASC,IAAA,GACRzD,KAAKvD,OAAK,IACbuB,YACAoS,sBAAuB,CACnBzM,YAAa3D,KAAKvD,MAClBuB,UAAW4F,IAAW,qCAAsCC,EAAO7F,YAEvEtB,QAASA,GAAWA,EAAQqB,MACxBb,gBAACgU,IAAa,CACVlT,UAAU,8CACV8F,IAAKpH,EAAQoH,IACb/F,KAAMrB,EAAQqB,KACdyN,UAAW,CAAEC,OAAQzL,KAAKkI,oBAAqBe,eAAgBjJ,KAAKvD,MAAMiB,QAAQwC,WAG1FsC,MAAOA,GAASA,EAAM9C,OAAS,GAC3BxC,gBAAC4T,EAAiC1T,OAAAC,OAAA,GAC1B,CACAmF,QACAuO,aAAc/Q,KAAKyR,qBACnBxI,eAAgBjJ,KAAKvD,MAAMiB,QAAQwC,QACnC7B,iBAAkB2B,KAAK3B,oBAInCgS,YACInT,gBAAC2T,EAAuC,CAACR,YAAagC,iBAAOH,EAAyCF,GAAY,OAI1H,OAAOhS,KAAKvD,MAAMyH,WAAWV,IActB4M","file":"static/js/17.5cef391d771cfcedc08b.chunk.js","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ITabViewProps } from './citta-tabs';\r\n\r\nconst tabView: React.FC = props => {\r\n const { heading, TabContainer, tabHeaders, tabContents,headerMobileSection, renderMobileHeader, isMobileView, tabMobileHeaders } = props;\r\n if (!props.heading && !props.tabHeaders && !props.tabContents) {\r\n props.context.telemetry.error('Tab content is empty, module wont render');\r\n return null;\r\n }\r\n if (isMobileView) {\r\n return (\r\n \r\n \r\n \r\n {renderMobileHeader}\r\n {tabMobileHeaders}\r\n \r\n \r\n \r\n {tabContents}\r\n \r\n \r\n\r\n );\r\n } else {\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n\r\n \r\n {tabHeaders}\r\n \r\n\r\n \r\n {tabContents}\r\n \r\n \r\n );\r\n }\r\n\r\n};\r\n\r\nexport default tabView;","import { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n// import { SubLink } from './subLink'\r\n\r\ninterface ILink {\r\n className?: string;\r\n text?: string;\r\n href?: string;\r\n ariaLabel?: string;\r\n index: string;\r\n noclick?: boolean;\r\n isActive: boolean;\r\n telemetryContent: ITelemetryContent;\r\n subLinks?: any;\r\n handleHover: Function;\r\n recordId: number;\r\n isHover: boolean;\r\n menuHover: boolean;\r\n}\r\n\r\nexport const Link: React.FC = ({ text, className, href, ariaLabel, index, noclick, telemetryContent, isActive, subLinks, handleHover, recordId, isHover, menuHover }) => {\r\n const payLoad = getPayloadObject('click', telemetryContent, '', '');\r\n const linkText = text !== undefined ? text : '';\r\n payLoad.contentAction.etext = linkText;\r\n // Construct telemetry attribute to render\r\n const attribute = getTelemetryAttributes(telemetryContent, payLoad);\r\n return (\r\n
handleHover(recordId)}\r\n onMouseLeave={() => handleHover(null)}\r\n >\r\n \r\n \r\n {linkText}\r\n \r\n \r\n \r\n\r\n {(isHover || (!menuHover && isActive)) && subLinks && subLinks.length ? \r\n (
\r\n {subLinks}\r\n
)\r\n :''\r\n }\r\n
\r\n );\r\n};","import { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface ISubLink {\r\n className?: string;\r\n text?: string;\r\n href?: string;\r\n ariaLabel?: string;\r\n index: string;\r\n noclick?: boolean;\r\n isActive: boolean;\r\n telemetryContent: ITelemetryContent;\r\n handleHover: Function;\r\n recordId: number;\r\n}\r\n\r\nexport const SubLink: React.FC = ({ text, className, href, ariaLabel, index, noclick, telemetryContent, isActive, handleHover, recordId }) => {\r\n\r\n const payLoad = getPayloadObject('click', telemetryContent, '', '');\r\n\r\n const subLinkText = text !== undefined ? text : '';\r\n payLoad.contentAction.etext = subLinkText;\r\n // Construct telemetry attribute to render\r\n const attribute = getTelemetryAttributes(telemetryContent, payLoad);\r\n\r\n return (\r\n handleHover(recordId, true)}\r\n onMouseLeave={() => handleHover(null, true)}\r\n >\r\n \r\n {subLinkText}\r\n \r\n \r\n \r\n );\r\n};","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport { CategoryHierarchy } from '@msdyn365-commerce/commerce-entities';\r\nimport { IGridSettings, IImageSettings, isEmptyOrNullObject} from '@msdyn365-commerce/core';\r\nimport { TextValueTranslation } from '@msdyn365-commerce/retail-proxy';\r\nimport classnames from 'classnames';\r\nimport { computed, observable } from 'mobx';\r\nimport * as React from 'react';\r\nimport { Link } from './components/link';\r\nimport { SubLink } from './components/subLink';\r\nimport { IMenuItemData, ICittaCategoryNavigationMenuData } from './citta-category-navigation-menu.data';\r\nimport { ICittaCategoryNavigationMenuProps } from './citta-category-navigation-menu.props.autogenerated';\r\n\r\nexport interface INavigationMenuViewProps extends ICittaCategoryNavigationMenuProps {\r\n className: string;\r\n menuItemData: IMenuItemData[];\r\n Navigation: IModuleProps;\r\n MenuList: INodeProps;\r\n ListItem: INodeProps;\r\n Link: INodeProps;\r\n Button: INodeProps;\r\n Span: INodeProps;\r\n ImageContainer:INodeProps;\r\n MobileDescriptionContainer:INodeProps;\r\n MobileBackButton:INodeProps;\r\n MobileDescriptionLabel:INodeProps;\r\n imageSettings: IImageSettings;\r\n gridSettings: IGridSettings;\r\n isMobileView: boolean;\r\n DivContainer?:INodeProps;\r\n ImageDivContainer?:INodeProps;\r\n showCategoryImage?:boolean;\r\n pageType: string;\r\n links?: React.ReactNode[];\r\n}\r\n\r\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\nexport interface INavigationMenuState {\r\n isMobile: boolean;\r\n linkHoverRecId?: number;\r\n subLinkHoverRecId?: number;\r\n}\r\n\r\n/**\r\n *\r\n * NavigationMenu component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass NavigationMenu extends React.PureComponent, INavigationMenuState> {\r\n private resizeThrottledEventHandler?: (event: Event) => void;\r\n private hasSubLinks: boolean;\r\n @observable\r\n private viewport: GridSize;\r\n public static getFriendlyName(locale: string, nameTranslations?: TextValueTranslation[]): string | undefined {\r\n let nameTranslation: TextValueTranslation | undefined;\r\n if (locale && nameTranslations && nameTranslations.length > 0) {\r\n nameTranslation = nameTranslations.find(item => item.Language!.toLowerCase() === locale.toLowerCase());\r\n }\r\n\r\n return nameTranslation && nameTranslation.Text;\r\n }\r\n\r\n constructor(props: ICittaCategoryNavigationMenuProps) {\r\n super(props);\r\n this.viewport = props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\r\n this.state = {\r\n isMobile: this.isMobile,\r\n linkHoverRecId: undefined,\r\n subLinkHoverRecId: undefined\r\n\r\n };\r\n this.hasSubLinks = false;\r\n\r\n this._handleHover = this._handleHover.bind(this);\r\n\r\n }\r\n\r\n @computed get isMobile(): boolean {\r\n return (this.viewport === 'xs' || this.viewport === 'sm');\r\n }\r\n\r\n public componentDidMount(): void {\r\n let container = document.querySelector(\".ms-nav-category\");\r\n if (container) {\r\n const middle = container.querySelector(\"a.active\") || container.children[Math.floor((container.children.length - 1) / 2)];\r\n \r\n container.scrollTo({\r\n top: 0,\r\n // @ts-ignore\r\n left: middle.offsetLeft + middle.offsetWidth / 2 - container.offsetWidth / 2,\r\n behavior: 'smooth'\r\n })\r\n \r\n \r\n // middle.offsetLeft + middle.offsetWidth / 2 - container.offsetWidth / 2;\r\n }\r\n }\r\n\r\n public componentWillUnmount(): void {\r\n window && window.removeEventListener('resize', this.resizeThrottledEventHandler!, false);\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const urlTokens = this.props.context.request.urlTokens;\r\n\r\n let links: React.ReactNode[] = [];\r\n\r\n if (urlTokens.pageType === 'Category') {\r\n const currentCategoryId = Number(urlTokens.recordId);\r\n const categoryHierarchyList = this.props.data.categories.result;\r\n if (categoryHierarchyList && categoryHierarchyList[1]) {\r\n const categoryHierarchyCurrent = categoryHierarchyList[1].Children[0];\r\n categoryHierarchyCurrent.Children.forEach(layerOneChild => {\r\n \r\n if (currentCategoryId === layerOneChild.RecordId) {\r\n links = this._getLinkData(layerOneChild, currentCategoryId);\r\n } else if (layerOneChild.Children && layerOneChild.Children.length) {\r\n layerOneChild.Children.forEach(layerTwoChild => {\r\n if (currentCategoryId === layerTwoChild.RecordId) {\r\n links = this._getLinkData(layerOneChild, currentCategoryId);\r\n \r\n } else if (layerTwoChild.Children && layerTwoChild.Children.length) {\r\n layerTwoChild.Children.forEach(layerThreeChild => {\r\n if (currentCategoryId === layerThreeChild.RecordId) {\r\n links = this._getLinkData(layerOneChild, currentCategoryId);\r\n }\r\n });\r\n }\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n if (isEmptyOrNullObject(this.props.data)) {\r\n this.props.telemetry.error('Navigatiomenu returned null');\r\n return null;\r\n }\r\n\r\n const viewProps = {\r\n ...this.props,\r\n ...this.state,\r\n pageType: urlTokens.pageType,\r\n Navigation: {\r\n moduleProps: this.props,\r\n className: classnames('ms-nav-category', this.props.config.className, this.state.isMobile ? 'mobile-vp' : 'desktop-vp', this.hasSubLinks ? 'hasSubMenu' : ''),\r\n tag:'nav',\r\n role:'navigation',\r\n 'aria-label': this.props.resources.menuAriaLabel\r\n },\r\n isMobileView: this.state.isMobile,\r\n links: links,\r\n className: classnames('ms-nav', this.props.config.className)\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private _handleHover(recordId?: number, isSubLink = false) {\r\n if (isSubLink) {\r\n this.setState({subLinkHoverRecId: recordId})\r\n } else {\r\n this.setState({linkHoverRecId: recordId})\r\n }\r\n }\r\n\r\n private _getLinkData(category: CategoryHierarchy, activeCurrent: Number): React.ReactNode[] {\r\n let links = [];\r\n links.push();\r\n \r\n (category.Children || []).forEach(childCategory => {\r\n let subLinks: any = [];\r\n let subLinkIsActive = false;\r\n if (childCategory.Children) {\r\n childCategory.Children.forEach(childChildCategory => {\r\n if (childChildCategory.RecordId === activeCurrent) {\r\n subLinkIsActive = true;\r\n }\r\n subLinks.push();\r\n });\r\n \r\n }\r\n if ((childCategory.RecordId === activeCurrent || subLinkIsActive) && childCategory.Children && childCategory.Children.length ) {\r\n this.hasSubLinks = true;\r\n }\r\n\r\n links.push();\r\n })\r\n\r\n return links;\r\n }\r\n}\r\n\r\nexport default NavigationMenu;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IFooterCategoryViewProps } from '@msdyn365-commerce-modules/footer/src/modules/footer-category';\r\nimport { Drawer, IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport React, { ReactNode } from 'react';\r\nimport { IFooterCategoryProps } from '../definition-extensions/footer-category.ext.props.autogenerated';\r\n\r\nexport const FooterCategoryView: React.FC> = props => {\r\n const { categories, FooterList, FooterListItem } = props;\r\n if (!categories || !categories.length) {\r\n return null;\r\n }\r\n const FooterContainer: IModuleProps = {\r\n moduleProps: props,\r\n className: classnames('ms-footer_module', props.config.className),\r\n };\r\n\r\n if (props.config.renderDrawer) {\r\n return (\r\n \r\n {renderDesktop(props)}\r\n {renderMobile(props)}\r\n );\r\n } else {\r\n return (\r\n \r\n {categories.map((category: ReactNode, index: number) => {\r\n return (\r\n \r\n {category}\r\n \r\n );\r\n })\r\n }\r\n \r\n );\r\n }\r\n};\r\n\r\nfunction renderDesktop(props: IFooterCategoryViewProps & IFooterCategoryProps<{}>): JSX.Element {\r\n const { categories, FooterListItem } = props;\r\n const DesktopFooterList: IModuleProps = {\r\n moduleProps: props,\r\n className: classnames('ms-footer__list-Desktop citta-footer-category-desktop', props.config.className),\r\n tag: 'ul',\r\n role: 'menu'\r\n };\r\n return (\r\n \r\n \r\n {props.config.categoryName}\r\n \r\n {categories.map((category: ReactNode, index: number) => {\r\n return (\r\n \r\n {category}\r\n \r\n );\r\n })\r\n }\r\n \r\n );\r\n}\r\n\r\nfunction renderMobile(props: IFooterCategoryViewProps & IFooterCategoryProps<{}>): React.ReactNode {\r\n const { categories } = props;\r\n const MobileFooterList: IModuleProps = {\r\n moduleProps: props,\r\n className: classnames('ms-footer__list-mobile citta-footer-category-mobile', props.config.className),\r\n tag: 'ul',\r\n role: 'menu'\r\n };\r\n return (\r\n \r\n \r\n
\r\n {categories &&\r\n categories.map((category, id2: number) => (\r\n
\r\n {category}\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default FooterCategoryView;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return(\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const {heading, HeadingContainer,Link, linkText, image} = props;\r\n if(heading) {\r\n return ( {heading} );\r\n } else if(Link && this._formatLinkData(Link)) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n return(\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n\r\n private _formatLinkData = (Link: INodeProps) => {\r\n if(Link.href === undefined) {\r\n return Link;\r\n }\r\n\r\n const path: string = (Link.href as Msdyn365.ILinkData).destinationUrl || (Link.href as string);\r\n const newUrl = new URL(path, this.props.context.request.url.requestUrl).href;\r\n Link.href = newUrl;\r\n return Link;\r\n }\r\n}\r\n\r\nexport default FooterItemView;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ITabItemViewProps, TabItemType } from './citta-tab-item';\r\n\r\nconst TabItemView: React.FC = props => {\r\n const { tabItemType, tabSlots, TabContentContainer, TabHeaderContainer, TabItemContent, tabHeader } = props;\r\n\r\n switch (tabItemType) {\r\n case TabItemType.TabContent:\r\n return (\r\n \r\n \r\n {tabSlots && tabSlots.tabItemContent && tabSlots.tabItemContent.length && (_renderTabItemContent(tabSlots.tabItemContent))}\r\n \r\n \r\n );\r\n case TabItemType.TabHeader:\r\n return (\r\n \r\n {tabHeader}\r\n \r\n );\r\n default:\r\n return null;\r\n }\r\n};\r\n\r\nconst _renderTabItemContent = (items: React.ReactNode[]): JSX.Element | null => {\r\n return (\r\n <>\r\n {items && items.length ? (\r\n items.map((item: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {item}\r\n \r\n );\r\n })\r\n ) : null}\r\n \r\n );\r\n};\r\nexport default TabItemView;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { addThrottledEvent, IModuleProps, INodeProps, NodeTag } from '@msdyn365-commerce-modules/utilities';\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport { computed, observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport { createTabStateInput } from '../../data-actions/tabs/tab-state-data-action';\r\nimport TabItem, { getContentID, TabItemType } from '../citta-tab-item/citta-tab-item';\r\nimport { ICittaTabsData } from './citta-tabs.data';\r\nimport { ICittaTabsProps } from './citta-tabs.props.autogenerated';\r\n\r\n/**\r\n *\r\n * Tab component\r\n * @extends {React.PureComponent>}\r\n */\r\n\r\nexport interface ICallToActionProps {\r\n link: INodeProps[];\r\n}\r\n\r\nexport interface ITabViewProps extends ICittaTabsProps<{}> {\r\n heading?: React.ReactNode;\r\n TabContainer: IModuleProps;\r\n headerSection: INodeProps;\r\n tabHeaderSection: INodeProps;\r\n tabsSection: INodeProps;\r\n tabItemContainer: INodeProps;\r\n tabHeaders: React.ReactNode;\r\n tabContents: React.ReactNode;\r\n isMobileView?: boolean;\r\n renderMobileHeader: React.ReactNode;\r\n tabMobileHeaders: React.ReactNode;\r\n headerMobileSection: INodeProps;\r\n}\r\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\nexport interface ITabViewStates {\r\n currentTabIndex: number;\r\n pathName: string;\r\n selectedIndex: string;\r\n isMobile: boolean;\r\n selectedDropDown: string;\r\n dropDownOpen: boolean;\r\n}\r\ninterface IRequestContextUrl {\r\n requestUrl: URL;\r\n staticCdnUrl: string;\r\n}\r\n/**\r\n *\r\n * Tab component\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass Tab extends React.Component, ITabViewStates> {\r\n public readonly tabIndexQuery: string = 'activeTab';\r\n private activeLink: HTMLLIElement | null;\r\n private resizeThrottledEventHandler?: (event: Event) => void;\r\n @observable\r\n private viewport: GridSize;\r\n\r\n constructor(props: ICittaTabsProps) {\r\n super(props);\r\n const { defaultTabIndex } = this.props.config;\r\n const { slots } = this.props;\r\n const slotLength = slots && slots.tabItems && slots.tabItems.length || 0;\r\n const initialIndex = defaultTabIndex && defaultTabIndex <= slotLength && defaultTabIndex > 0 ? defaultTabIndex - 1 : 0;\r\n this.viewport = props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\r\n const selectedDdlName = slots && slots.tabItems && slots.tabItems.length && slots.tabItems[defaultTabIndex! - 1];\r\n // @ts-ignore\r\n const defaultSelectedTabTitle: string = selectedDdlName && (selectedDdlName as TabItem).props.config.tabItemTitle || '';\r\n this.state = { currentTabIndex: initialIndex, pathName: '', selectedIndex: '', selectedDropDown: defaultSelectedTabTitle, isMobile: this.isMobile, dropDownOpen: false };\r\n this._getTabHeader = this._getTabHeader.bind(this);\r\n this._getTabContent = this._getTabContent.bind(this);\r\n this._onClick = this._onClick.bind(this);\r\n this._onKeyDown = this._onKeyDown.bind(this);\r\n this._setGetParameter = this._setGetParameter.bind(this);\r\n this.activeLink = null;\r\n this._getTabNameFromRequestContextUrl = this._getTabNameFromRequestContextUrl.bind(this);\r\n this._getRequestContextUrl = this._getRequestContextUrl.bind(this);\r\n this._getRequestContext = this._getRequestContext.bind(this);\r\n this._setState = this._setState.bind(this);\r\n this._getEncodedTabName = this._getEncodedTabName.bind(this);\r\n this._updateViewport = this._updateViewport.bind(this);\r\n this._dropDownAction = this._dropDownAction.bind(this);\r\n }\r\n @computed get isMobile(): boolean {\r\n return (this.viewport === 'xs' || this.viewport === 'sm');\r\n }\r\n public componentDidMount(): void {\r\n this._setState();\r\n this.resizeThrottledEventHandler =\r\n window && addThrottledEvent(window, 'resize', this._updateViewport as EventListener);\r\n this._updateViewport();\r\n }\r\n public componentWillUnmount(): void {\r\n window && window.removeEventListener('resize', this.resizeThrottledEventHandler!, false);\r\n }\r\n public render(): JSX.Element {\r\n const { slots } = this.props;\r\n const { heading, className } = this.props.config;\r\n\r\n const headingComponent = heading && (\r\n \r\n );\r\n const slotLength = slots && slots.tabItems && slots.tabItems.length || 0;\r\n const renderMobileHeader: React.ReactNode = (\r\n

{this.state.selectedDropDown && this.state.selectedDropDown}\r\n \r\n

\r\n );\r\n const tabMobileHeaders: React.ReactNode = (\r\n
    {slotLength > 0 && slots.tabItems.map((item: React.ReactNode, index: number) => this._getTabHeader(item, index))}
\r\n );\r\n const tabViewProps = {\r\n ...this.props,\r\n TabContainer: {\r\n moduleProps: this.props,\r\n className: classnames('ms-tab', className, this.state.isMobile ? ' mobile-dropdown-view' : '')\r\n },\r\n headerSection: { className: 'ms-tab-header-section' },\r\n headerMobileSection: { className: 'ms-tab-header' },\r\n tabsSection: { className: 'ms-tab-tabs-section', tag: 'ul' as NodeTag, role: 'tablist' },\r\n heading: headingComponent,\r\n config: this.props && this.props.config,\r\n tabItemContainer: {\r\n tag: 'div' as NodeTag,\r\n className: 'ms-tab-content-section',\r\n },\r\n tabContents: slotLength > 0 && slots.tabItems.map((item: React.ReactNode, index: number) => this._getTabContent(item, index)),\r\n tabHeaders: slotLength > 0 && slots.tabItems.map((item: React.ReactNode, index: number) => this._getTabHeader(item, index)),\r\n isMobileView: this.state.isMobile,\r\n tabMobileHeaders: tabMobileHeaders,\r\n renderMobileHeader: renderMobileHeader\r\n };\r\n return this.props.renderView(tabViewProps) as React.ReactElement;\r\n }\r\n\r\n public handleHeadingChange = (event: MsDyn365.ContentEditableEvent) => this.props.config.heading!.text = event.target.value;\r\n\r\n public componentDidUpdate(): void {\r\n const { data } = this.props;\r\n const dataActionTabId = data && data.activeTabState && data.activeTabState.result && data.activeTabState.result.tabId;\r\n if (dataActionTabId) {\r\n if (this.props.id === dataActionTabId) {\r\n this.activeLink && this.activeLink.focus();\r\n }\r\n }\r\n }\r\n\r\n // tslint:disable-next-line: cyclomatic-complexity\r\n private _setState(): void {\r\n const { defaultTabIndex } = this.props.config;\r\n const { slots } = this.props;\r\n const slotLength = slots && slots.tabItems && slots.tabItems.length || 0;\r\n let initialIndex = defaultTabIndex && defaultTabIndex <= slotLength && defaultTabIndex > 0 ? defaultTabIndex - 1 : 0;\r\n let queryTabIndex: number = 0;\r\n const firstTabItem = slots && slots.tabItems && slots.tabItems.length && slots.tabItems[defaultTabIndex! - 1];\r\n // @ts-ignore\r\n let selectedTabTitle: string = firstTabItem && (firstTabItem as TabItem).props.config.tabItemTitle || '';\r\n let selectedTabIndex: string = `${selectedTabTitle}0`;\r\n const requestContext = this._getRequestContext();\r\n const tabName = this._getTabNameFromRequestContextUrl(requestContext.url);\r\n const requestUrl: URL = new URL(requestContext && requestContext.url && requestContext.url.requestUrl && requestContext.url.requestUrl.toString());\r\n let pathName = requestUrl.pathname;\r\n const pathNameSplit = pathName.split('/');\r\n if (slots && slots.tabItems) {\r\n for (let i = 0; i < slots.tabItems.length; i++) {\r\n let tileWithoutSpecialCharacters = (slots.tabItems[i] as TabItem).props.config.tabItemTitle.replace('&','and');\r\n // @ts-ignore\r\n const tabTitle: string = this._getEncodedTabName(tileWithoutSpecialCharacters);\r\n if (tabName.toLocaleLowerCase() === tabTitle.toLocaleLowerCase()) {\r\n selectedTabTitle = tabTitle;\r\n selectedTabIndex = selectedTabTitle + i.toString();\r\n queryTabIndex = i;\r\n pathName = pathNameSplit.slice(0, pathNameSplit.length - 1).join('/');\r\n break;\r\n }\r\n }\r\n }\r\n initialIndex = queryTabIndex > 0 && queryTabIndex <= slotLength ? queryTabIndex : initialIndex;\r\n this.viewport = this.props.context.request && this.props.context.request.device && this.props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\r\n const selectedDdlName = slots && slots.tabItems && slots.tabItems.length && slots.tabItems[defaultTabIndex! - 1];\r\n // @ts-ignore\r\n const defaultSelectedTabTitle: string = selectedDdlName && (selectedDdlName as TabItem).props.config.tabItemTitle || '';\r\n this.setState({ currentTabIndex: initialIndex, pathName: pathName, selectedIndex: selectedTabIndex, selectedDropDown: defaultSelectedTabTitle, isMobile: this.isMobile, dropDownOpen: false });\r\n }\r\n private _updateViewport(): void {\r\n this.viewport = this._getViewport();\r\n this.setState({ isMobile: this.isMobile });\r\n }\r\n\r\n private _getViewport(): GridSize {\r\n const { context } = this.props;\r\n\r\n // always render in mobile viewport on a mobile device\r\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\r\n return 'xs';\r\n }\r\n if (typeof window !== undefined && window.innerWidth) {\r\n const gridSettings = context.request.gridSettings;\r\n if (gridSettings) {\r\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\r\n return 'xs';\r\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\r\n return 'sm';\r\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\r\n return 'md';\r\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\r\n return 'lg';\r\n } else {\r\n return 'xl';\r\n }\r\n }\r\n }\r\n return 'xs';\r\n }\r\n\r\n private _getTabHeader(item: React.ReactNode, index: number): React.ReactNode {\r\n const { data, config } = this.props;\r\n const activeContentIndex = data && data.activeTabState && data.activeTabState.result && data.activeTabState.result.activeContentIndex;\r\n const dataActionTabId = data && data.activeTabState && data.activeTabState.result && data.activeTabState.result.tabId;\r\n const selected = activeContentIndex !== undefined && dataActionTabId === this.props.id ? activeContentIndex === index : this.state.currentTabIndex === index;\r\n const contentID = getContentID(index, this.props.id);\r\n // @ts-ignore\r\n const tabTitle = (item as TabItem).props.config.tabItemTitle;\r\n const encodedTabTitle = this._getEncodedTabName(tabTitle);\r\n const requestContext: MsDyn365.IRequestContext = this._getRequestContext();\r\n const queryStringUrl = this._getRequestContextUrl(requestContext.url, true);\r\n let to = `${this.state.pathName}/${encodedTabTitle}${queryStringUrl}`.replace('//', '/');\r\n to = config.deepLink ? to : queryStringUrl;\r\n const selectedTabClassName = selected ? 'tab-selected' : '';\r\n return (\r\n { if (index === this.state.currentTabIndex) { this.activeLink = link; } }}\r\n aria-controls={contentID}\r\n aria-selected={selected}\r\n role='tab'\r\n >\r\n \r\n {React.cloneElement(item as React.ReactElement, { tabItemType: TabItemType.TabHeader, isSelected: index === this.state.currentTabIndex, itemIndex: index, tabId: this.props.id })}\r\n \r\n \r\n );\r\n }\r\n\r\n private _dropDownAction(event: React.MouseEvent): void {\r\n this.setState({ dropDownOpen: !this.state.dropDownOpen });\r\n }\r\n\r\n private _getEncodedTabName(tabName: string): string {\r\n /** @ts-ignore */\r\n return encodeURI(tabName.toLocaleLowerCase().replace(' ', '-').replace(' ', '-'));\r\n }\r\n private _getRequestContextUrl(requestContextUrl?: IRequestContextUrl, onlyQueryString?: boolean): string {\r\n const pageUrl = requestContextUrl && requestContextUrl.requestUrl && requestContextUrl.requestUrl.toString();\r\n if (onlyQueryString) {\r\n const requestContextQueryString = pageUrl && pageUrl.split('?');\r\n const requestContextQueryStringUrl = requestContextQueryString && requestContextQueryString.length > 1 && (requestContextQueryString[1] !== undefined) && requestContextQueryString[1] || '';\r\n return requestContextQueryStringUrl === '' ? requestContextQueryStringUrl : `?${requestContextQueryStringUrl}`;\r\n }\r\n return pageUrl || '';\r\n }\r\n private _getRequestContext(): MsDyn365.IRequestContext {\r\n const { context } = this.props;\r\n return context && context.actionContext && context.actionContext.requestContext;\r\n }\r\n\r\n private _getTabNameFromRequestContextUrl(url?: IRequestContextUrl): string {\r\n const pageUrl = this._getRequestContextUrl(url).split('?');\r\n const pagePath = pageUrl && pageUrl.length && pageUrl[0].split('/');\r\n return pagePath && pagePath.length && pagePath[pagePath.length - 1] || '';\r\n }\r\n\r\n private _getToUrl(item: TabItem, encodedTabTitle: string, requestContext: MsDyn365.IRequestContext): string {\r\n const queryStringUrl = this._getRequestContextUrl(requestContext.url, true);\r\n let to = `${this.state.pathName}/${encodedTabTitle}${queryStringUrl}`.replace('//', '/');\r\n to = this.props.config?.deepLink ? to : queryStringUrl;\r\n return to;\r\n }\r\n\r\n private _onClick = (item: TabItem, index: number, id: string) => (e: React.MouseEvent) => {\r\n const activeTabState = { activeContentIndex: index, tabId: id };\r\n const tabTitle = (item as TabItem).props.config.tabItemTitle.replace('&', 'and');\r\n const encodedTabTitle = this._getEncodedTabName(tabTitle);\r\n const requestContext: MsDyn365.IRequestContext = this._getRequestContext();\r\n const toUrl = this._getToUrl(item, encodedTabTitle, requestContext);\r\n this.props.context.actionContext.update(createTabStateInput(activeTabState), activeTabState);\r\n requestContext && window.history.pushState({ path: toUrl }, '', toUrl);\r\n this.setState({ currentTabIndex: index, selectedDropDown: tabTitle, dropDownOpen: false });\r\n\r\n }\r\n\r\n private _getTabTitleByIndex = (index: number) => {\r\n const { slots } = this.props;\r\n const selTabItem = slots && slots.tabItems && slots.tabItems.length && slots.tabItems[index!];\r\n // @ts-ignore\r\n const selectedTabTitleByIndex = selTabItem && (selTabItem as TabItem).props.config.tabItemTitle || '';\r\n return { selTabItem, selectedTabTitleByIndex };\r\n }\r\n\r\n private _onKeyDown = (index: number, id: string) => (e: React.KeyboardEvent) => {\r\n if (e.keyCode === 13) {\r\n const activeTabState = { activeContentIndex: index, tabId: id };\r\n this.props.context.actionContext.update(createTabStateInput(activeTabState), activeTabState);\r\n const seltab = this._getTabTitleByIndex(index);\r\n const encodedTabTitle = this._getEncodedTabName(seltab.selectedTabTitleByIndex);\r\n const requestContext: MsDyn365.IRequestContext = this._getRequestContext();\r\n // @ts-ignore\r\n const toUrl = this._getToUrl(seltab.selTabItem as TabItem, encodedTabTitle, requestContext);\r\n this.setState({ currentTabIndex: index, selectedDropDown: seltab.selectedTabTitleByIndex, dropDownOpen: false });\r\n requestContext && window.history.pushState({ path: toUrl }, '', toUrl);\r\n }\r\n }\r\n\r\n private _getTabContent(item: React.ReactNode, index: number): React.ReactNode {\r\n return (\r\n \r\n {React.cloneElement(item as React.ReactElement, { tabItemType: TabItemType.TabContent, isSelected: index === this.state.currentTabIndex, itemIndex: index, tabId: this.props.id })}\r\n \r\n );\r\n }\r\n\r\n private _setGetParameter(requestContext: MsDyn365.IRequestContext, paramName: string, paramValue: string): string {\r\n let url;\r\n\r\n if (MsDyn365.msdyn365Commerce.isBrowser) {\r\n url = new URL(window.location.href);\r\n } else {\r\n url = new URL(requestContext.url.requestUrl.href);\r\n }\r\n const params = new window.URLSearchParams(url.search);\r\n params.set(paramName, paramValue);\r\n url.search = decodeURIComponent(params.toString());\r\n return url.toString();\r\n }\r\n}\r\n\r\nexport default Tab;","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddContactInfo, ICheckoutGuestProfileViewProps, IShowContactInfo } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-guest-profile/./checkout-guest-profile';\r\n\r\nexport const ShowContactInfo: React.FC = ({ showInfoProps, email, editButton }) => (\r\n \r\n {email}\r\n {editButton}\r\n \r\n);\r\nexport const AddContactInfo: React.FC = ({\r\n addFormProps,\r\n submitButton,\r\n cancelButton,\r\n inputGroupProps,\r\n label,\r\n error,\r\n input\r\n}) => (\r\n \r\n \r\n {'Email Address'}\r\n {error}\r\n {input}\r\n \r\n {submitButton}\r\n {cancelButton}\r\n \r\n);\r\n\r\nconst CheckoutGuestProfileView: React.FC = ({ moduleProps, showContactInfo, addContactInfo }) => {\r\n return (\r\n \r\n {showContactInfo && }\r\n {addContactInfo && }\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutGuestProfileView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrganizationUsersTileViewProps } from './organization-users-tile';\n\nconst OrganizationUsersTileView: React.FC = props => {\n const { OrganizationUsersTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default OrganizationUsersTileView;\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { INavigationMenuViewProps } from './citta-category-navigation-menu';\r\n\r\nconst NavigationMenuView: React.FC = props => {\r\n const { isMobileView, Navigation, links, pageType} = props;\r\n if (pageType !== 'Category') {\r\n return null;\r\n }\r\n return (\r\n \r\n {links}\r\n \r\n );\r\n};\r\n\r\nexport default NavigationMenuView;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IModuleProps, INodeProps, NodeTag } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport { ICittaTabItemData } from './citta-tab-item.data';\r\nimport { ICittaTabItemProps } from './citta-tab-item.props.autogenerated';\r\n\r\nexport interface ITabItemViewProps {\r\n TabContentContainer: IModuleProps;\r\n TabHeaderContainer: IModuleProps;\r\n tabSlots: INodeProps;\r\n TabItemContent: INodeProps;\r\n tabItemType?: TabItemType;\r\n tabHeader: React.ReactNode;\r\n}\r\n\r\nexport interface ITabItemExtentedProps extends ICittaTabItemProps {\r\n tabItemType?: TabItemType;\r\n isSelected?: boolean;\r\n itemIndex?: number;\r\n tabId?: string;\r\n}\r\n\r\nexport enum TabItemType {\r\n TabHeader,\r\n TabContent\r\n}\r\n/**\r\n *\r\n * TabItem component\r\n * @extends {React.Component}\r\n */\r\n@observer\r\nclass TabItem extends React.Component {\r\n private moduleContentClassName: string = 'ms-tab-item-content';\r\n private moduleHeaderClassName: string = 'ms-tab-item-header';\r\n\r\n constructor(props: ICittaTabItemProps) {\r\n super(props);\r\n this._renderTabHeader = this._renderTabHeader.bind(this);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { slots, renderView, config, data, isSelected, itemIndex } = this.props;\r\n const index = itemIndex || 0;\r\n const contentID = getContentID(index, this.props.tabId || '');\r\n const activeContentIDResult = data && data.activeTabState && data.activeTabState.result;\r\n const shown = activeContentIDResult && activeContentIDResult.tabId === this.props.tabId && activeContentIDResult.activeContentIndex !== undefined ?\r\n activeContentIDResult.activeContentIndex === index : isSelected || false;\r\n const viewProps = {\r\n ... this.props,\r\n TabContentContainer: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleContentClassName, config.className)\r\n },\r\n TabHeaderContainer: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleHeaderClassName, config.className),\r\n tabIndex:'0'\r\n },\r\n TabItemContent: {\r\n className: 'ms-tab-item-content__content',\r\n tag: 'section' as NodeTag,\r\n 'aria-hidden': !shown,\r\n role: 'tabpanel',\r\n tabIndex: shown ? 0 : -1,\r\n id: contentID\r\n },\r\n tabHeader: this._renderTabHeader(),\r\n tabSlots: slots,\r\n };\r\n return renderView(viewProps) as React.ReactElement;\r\n\r\n }\r\n\r\n private _renderTabHeader(): React.ReactNode {\r\n return (\r\n <>\r\n {this.props.config.tabItemTitle}\r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport const getContentID = (index: number, id: string) => {\r\n return `tab-item-content-${id}-${index}`;\r\n};\r\n\r\nexport default TabItem;","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountOrganizationUsersTileDescription {\n description: string;\n}\n\nexport const AccountOrganizationUsersTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../organization-users-tile.props.autogenerated';\n\nexport interface IAccountOrganizationUsersTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nexport const AccountOrganizationUsersTileLinks: React.FC = ({\n links,\n telemetryContent,\n onTextChange,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-organization-users-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { AccountOrganizationUsersTileDescription, AccountOrganizationUsersTileLinks } from './components';\nimport { IOrganizationUsersTileData } from './organization-users-tile.data';\nimport { IOrganizationUsersTileProps } from './organization-users-tile.props.autogenerated';\n\nexport interface IOrganizationUsersTileViewProps extends IOrganizationUsersTileProps {\n OrganizationUsersTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * OrganizationUsersTile component.\n * @extends {React.PureComponent>}\n */\nclass OrganizationUsersTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IOrganizationUsersTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element | null {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountOrganizationUsersTileDescriptionForSingleUser, accountOrganizationUsersTileDescriptionForMultipleUsers } = resources;\n const numUsers = data.users && data.users.result;\n const accountOrganizationUsersTileDescription =\n numUsers === 1 ? accountOrganizationUsersTileDescriptionForSingleUser : accountOrganizationUsersTileDescriptionForMultipleUsers;\n const customerInformation = data.customerInformation.result;\n\n // Organization-users tile will not be render for non-admin users.\n if (!customerInformation?.IsB2bAdmin) {\n return null;\n }\n\n const viewProps = {\n ...this.props,\n className,\n OrganizationUsersTile: {\n moduleProps: this.props,\n className: classnames('ms-account-organization-users-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n this.props.config.heading.text = event.target.value;\n };\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default OrganizationUsersTile;\n"],"sourceRoot":""}