{"version":3,"file":"static/js/0b04a7e7e9fa3d486a30.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/components/breakpoints.ts?f4e7","webpack://Msdyn365.Commerce.Online/./src/components/ecomm-portal-popup.tsx?d187","webpack://Msdyn365.Commerce.Online/./src/modules/ecomm-site-menu/components/ecomm-quick-link.tsx?5b95","webpack://Msdyn365.Commerce.Online/./src/modules/ecomm-site-menu/ecomm-site-menu.tsx?fe85","webpack://Msdyn365.Commerce.Online/./src/components/ecomm-site-link-popup.tsx?f569","webpack://Msdyn365.Commerce.Online/./src/modules/ecomm-site-menu/ecomm-site-menu.view.tsx?7dfb","webpack://Msdyn365.Commerce.Online/./lib/ecomm-site-menu/module-registration.js?9bfd","webpack://Msdyn365.Commerce.Online/../../src/get-customer.ts?8319","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"sourcesContent":["// <= 999 = Mobile\r\n// >= 1000 = Tablet and Desktop\r\n\r\nexport const enum Breakpoints {\r\n small = 540,\r\n medium = 768,\r\n large = 992\r\n}\r\n\r\nexport function isMobile (width: number): boolean {\r\n return width < Breakpoints.large;\r\n}","import * as React from 'react';\r\n\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport { getUrlSync } from '@msdyn365-commerce/core';\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\n\r\ninterface IEcommPopupProps\r\n{\r\n showPopup: boolean;\r\n callback: any;\r\n name: string;\r\n isMobile: boolean;\r\n isPortalPopup: boolean;\r\n locale: string;\r\n url: string;\r\n context: ICoreContext;\r\n}\r\n\r\n/**\r\n *\r\n * Event component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class Popup extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n return (\r\n \r\n \r\n {this._titleText()}\r\n \r\n\r\n \r\n {this._renderMessage()}\r\n \r\n\r\n \r\n \r\n
\r\n {this._stayButtonText()}\r\n
\r\n\r\n
\r\n {this._goButtonText()}\r\n
\r\n \r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n private _callbackRedirect = () => {\r\n this.props.callback();\r\n setTimeout(()=>{\r\n window.location.reload();\r\n },1000)\r\n }\r\n\r\n private _callbackRedirectCheckout = () => {\r\n this.props.callback();\r\n }\r\n\r\n private _callbackHide = () => {\r\n event?.preventDefault();\r\n this.props.callback();\r\n }\r\n\r\n private _onClickCheckout = () =>{\r\n const checkoutLink = getUrlSync('checkout', this.props.context.actionContext) || '';\r\n const url = window.location.origin + checkoutLink;\r\n return url;\r\n }\r\n\r\n private _titleText(): string {\r\n if (!this.props.isPortalPopup) {\r\n return this.props.name;\r\n }\r\n\r\n if (this.props.locale === 'zh') {\r\n return '别急着走!';\r\n } else {\r\n return \"Don't Leave Just Yet!\";\r\n }\r\n }\r\n\r\n private _stayButtonText(): string {\r\n if (this.props.locale === 'zh') {\r\n if (this.props.isPortalPopup) {\r\n return '去结账';\r\n } else {\r\n return '稍后登入';\r\n }\r\n } else {\r\n if (this.props.isPortalPopup) {\r\n return 'Checkout';\r\n } else {\r\n return 'Maybe Later';\r\n }\r\n }\r\n }\r\n\r\n private _goButtonText(): string {\r\n if (this.props.locale === 'zh') {\r\n if (this.props.isPortalPopup) {\r\n return '离开';\r\n } else {\r\n return '登入户口';\r\n }\r\n } else {\r\n if (this.props.isPortalPopup) {\r\n return 'Leave';\r\n } else {\r\n return 'Go to Sign In Page';\r\n }\r\n }\r\n }\r\n\r\n private _renderMessage(): JSX.Element | null {\r\n \r\n if (this.props.locale === 'zh') {\r\n if (this.props.isPortalPopup) {\r\n return (\r\n
\r\n

您的购物车中有物品。

\r\n

离开之前立即完成购买!

\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n
\r\n );\r\n }\r\n } else {\r\n if (this.props.isPortalPopup) {\r\n return (\r\n
\r\n

There are items in your cart.

\r\n

Complete your purchase now before leaving!

\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n
\r\n );\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default Popup;","import * as React from 'react';\r\n\r\nimport Popup from './../../../components/ecomm-portal-popup';\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\nimport { ICartState } from '@msdyn365-commerce/global-state';\r\nimport { observer } from 'mobx-react';\r\n\r\nexport interface IQuickLink {\r\n name: string;\r\n categoryId: number;\r\n url: string;\r\n target: string;\r\n filterName: string;\r\n isPortal: boolean;\r\n mobileMode: boolean;\r\n locale: string;\r\n context: ICoreContext;\r\n cart?: ICartState;\r\n enableNewLable?: boolean;\r\n newLableText?: string;\r\n}\r\n\r\n/**\r\n *\r\n * QuickLink component\r\n * @extends {React.PureComponent}\r\n */\r\n\r\n@observer\r\nexport class QuickLink extends React.PureComponent {\r\n public state = { width: 0, showPopup: false, cartHasItems: false };\r\n\r\n public render(): JSX.Element | null {\r\n const linkStyle = this.props.url === '' ? 'no-link' : (this.props.isPortal ? 'portal' : '');\r\n \r\n return (\r\n
\r\n {!this.props.isPortal && {this.props.name}}\r\n {this.props.isPortal && {this.props.name}}\r\n {this.props.isPortal && }\r\n {this.props.enableNewLable && }\r\n
\r\n );\r\n\r\n }\r\n\r\n private _handleOnClick = () => {\r\n if (window !== undefined) {\r\n window.sessionStorage.setItem('qLink', this.props.categoryId.toString());\r\n window.sessionStorage.setItem('qItem', this.props.name);\r\n window.sessionStorage.setItem('qFilter', this.props.filterName);\r\n }\r\n }\r\n\r\n private _handleOnClickPopup = async() => {\r\n \r\n const currerntCart = this.props.cart;\r\n\r\n if(currerntCart && currerntCart.totalItemsInCart > 0)\r\n {\r\n event?.preventDefault();\r\n this.setState({ showPopup: true});\r\n }\r\n else{\r\n this.setState({ showPopup: false});\r\n }\r\n\r\n }\r\n\r\n private _handleCallback = () => {\r\n this.setState({ showPopup: false});\r\n }\r\n}\r\n\r\nexport default QuickLink;","/*---------------------------------------------------------------------------------------------\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 * as React from 'react';\r\n\r\nimport { TextValueTranslation } from '@msdyn365-commerce/retail-proxy';\r\n\r\nimport { isMobile } from '../../components/breakpoints';\r\n\r\nimport { QuickLink } from './components/ecomm-quick-link';\r\n\r\nimport { IEcommSiteMenuData } from './ecomm-site-menu.data';\r\nimport { IEcommSiteMenuProps } from './ecomm-site-menu.props.autogenerated';\r\n\r\nexport interface IEcommSiteMenuViewProps extends IEcommSiteMenuProps {\r\n qLinks: React.ReactNode[];\r\n quicklinksTitle: string;\r\n isProduction: boolean;\r\n homeUrl: string;\r\n cartUrl: string;\r\n cartTitle: string;\r\n signInTitle: string;\r\n languageTitles: string[];\r\n languageUrl: string[];\r\n}\r\n\r\n/**\r\n *\r\n * EcommSiteMenu component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass EcommSiteMenu extends React.PureComponent> {\r\n public state: any = { width: 0 };\r\n\r\n public componentDidMount(): void {\r\n if (!this.state.hasMounted) {\r\n window.addEventListener('resize', this._updateDimensions);\r\n \r\n this.setState({ width: window.innerWidth });\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n window.removeEventListener('resize', this._updateDimensions);\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { config } = this.props;\r\n\r\n let LanguageTitles: string[] = [];\r\n let LanguageUrl: string[] = [];\r\n\r\n if (config.languages && config.languages.length > 0) {\r\n const languages = config.languages;\r\n const currentLanguageSubdomain = languages[0].languageUrl.destinationUrl;\r\n \r\n let currentUrl = typeof window !== 'undefined' ? window.location.href : '';\r\n\r\n for (let i = 0; i < languages.length; ++i) {\r\n LanguageTitles.push(languages[`${i}`].languageName);\r\n LanguageUrl.push(currentUrl.replace(currentLanguageSubdomain, languages[`${i}`].languageUrl.destinationUrl));\r\n }\r\n }\r\n\r\n const EcommSiteMenuViewProps = {\r\n ...this.props,\r\n qLinks: this._generateQuickLinks(),\r\n quicklinksTitle: config.quickLinksTitle,\r\n isProduction: config.isProduction,\r\n homeUrl: config.homeUrl.destinationUrl,\r\n cartUrl: config.cartUrl.destinationUrl,\r\n cartTitle: config.cartTitle,\r\n signInTitle: config.signInTitle,\r\n languageTitles: LanguageTitles,\r\n languageUrl: LanguageUrl\r\n };\r\n\r\n return this.props.renderView(EcommSiteMenuViewProps);\r\n }\r\n\r\n private _generateQuickLinks(): JSX.Element[] | null {\r\n const { config, context, data: { categories } } = this.props;\r\n\r\n const cart = this.props.data.cart.result;\r\n\r\n\r\n\r\n let qLinks: JSX.Element[] = [];\r\n const locale = context.actionContext.requestContext.locale;\r\n const localeCode = context.actionContext.requestContext.locale.split('-')[0];\r\n\r\n if (categories && categories.result) {\r\n const category = categories.result;\r\n\r\n if (config.quicklinks) {\r\n for (let i = 0; i < config.quicklinks.length; i++) {\r\n const categoryUrl = config.quicklinks[`${i}`].categoryLink ? config.quicklinks[`${i}`].categoryLink?.destinationUrl : '';\r\n const quicklinkName = config.quicklinks[`${i}`].quicklinkName;\r\n const categoryIndex = category.findIndex(item => item.Name?.toLowerCase() === quicklinkName.toLowerCase());\r\n const filter = config.quicklinks[`${i}`].filterName;\r\n const enbaleNewLable = config.quicklinks[`${i}`].enableNewLabel;\r\n const newLabelText = config.quicklinks[`${i}`].enableNewLabel? config.quicklinks[`${i}`].newLableText: '';\r\n \r\n if (categoryIndex > -1) {\r\n const categoryId = category[`${categoryIndex}`].RecordId;\r\n const categoryLocale = category[`${categoryIndex}`].NameTranslations?.find((item: TextValueTranslation) => item.Language === locale);\r\n const categoryLocaleName = categoryLocale ? categoryLocale.Text ? categoryLocale.Text : '' : quicklinkName;\r\n\r\n let currentCategory = category[`${categoryIndex}`];\r\n\r\n while (currentCategory.ParentCategory) {\r\n const parentCategory = category.find(item => item.RecordId === currentCategory.ParentCategory);\r\n \r\n if (parentCategory) {\r\n currentCategory = parentCategory;\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n const url = categoryUrl ? categoryUrl : '';\r\n const target = config.quicklinks[`${i}`].isPortal ? '_blank': '_self';\r\n\r\n qLinks.push();\r\n }\r\n else if(config.quicklinks[`${i}`].categoryLink?.destinationUrl)\r\n {\r\n const filter = config.quicklinks[`${i}`].filterName;\r\n const categoryLocaleName = quicklinkName;\r\n const categoryUrl = config.quicklinks[`${i}`].categoryLink?.destinationUrl;\r\n const url = categoryUrl ? categoryUrl : '';\r\n const target = config.quicklinks[`${i}`].isPortal ? '_blank': '_self';\r\n\r\n qLinks.push();\r\n }\r\n }\r\n }\r\n }\r\n\r\n return qLinks;\r\n }\r\n\r\n private _updateDimensions = () => {\r\n this.setState({ width: window.innerWidth });\r\n };\r\n}\r\n\r\nexport default EcommSiteMenu;","import * as React from 'react';\r\n\r\nimport Modal from 'react-bootstrap/Modal';\r\n\r\ninterface IEcommPopupProps {\r\n showPopup: boolean;\r\n callback: any;\r\n url: string;\r\n title: string;\r\n body: string;\r\n linkText: string;\r\n}\r\n\r\n/**\r\n *\r\n * Event component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class Popup extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n return (\r\n \r\n \r\n {this.props.title}\r\n \r\n\r\n \r\n
\r\n

{this.props.body}

\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n );\r\n }\r\n\r\n private _callbackRedirectCheckout = () => {\r\n this.props.callback();\r\n }\r\n\r\n private _callbackHide = () => {\r\n event?.preventDefault();\r\n this.props.callback();\r\n }\r\n}\r\n\r\nexport default Popup;","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport Dropdown from 'react-bootstrap/Dropdown';\r\n\r\nimport Navbar from 'react-bootstrap/Navbar';\r\nimport Nav from 'react-bootstrap/Nav';\r\nimport NavDropdown from 'react-bootstrap/NavDropdown';\r\n\r\nimport { isMobile } from '../../components/breakpoints';\r\n\r\nimport { IEcommSiteMenuViewProps } from './ecomm-site-menu';\r\n\r\nimport { ILanguagesData, ISubMenuData, ISubMenuLinkData } from './ecomm-site-menu.props.autogenerated';\r\n\r\nimport Popup from '../../components/ecomm-site-link-popup';\r\n\r\n/**\r\n *\r\n * EcommSiteMenuView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class EcommSiteMenuView extends React.PureComponent {\r\n public state: any = { hasMounted: false, isMobileExpand: false, width: 0, showPopup: false, popUpUrl: '', popUpTitle: '', popUpBody: '', popUpLinkText: '' };\r\n\r\n public componentDidMount(): void {\r\n if (!this.state.hasMounted) {\r\n window.addEventListener('resize', this._updateDimensions);\r\n \r\n this.setState({ hasMounted: true, width: window.innerWidth });\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n window.removeEventListener('resize', this._updateDimensions);\r\n }\r\n\r\n // public handleClick(buttonId:string): void {\r\n // const { cartUrl, signInUrl } = this.props;\r\n\r\n // let navigateTo = '#';\r\n\r\n // if (buttonId === 'CART') {\r\n // navigateTo = cartUrl;\r\n // } else if (buttonId === 'SIGNIN') {\r\n // navigateTo = signInUrl;\r\n // }\r\n\r\n // console.log(navigateTo);\r\n\r\n // window.location.assign(navigateTo);\r\n // }\r\n\r\n public render(): JSX.Element | null {\r\n if (!this.state.hasMounted) {\r\n return null;\r\n }\r\n\r\n const { homeUrl, config } = this.props;\r\n\r\n const border = config.borderImage?.src ? { backgroundImage: `url(${config.borderImage.src})`} : { backgroundImage: '' };\r\n const logo = config.logoImage?.src ? : '';\r\n const iso = config.isoImage?.src ? : '';\r\n\r\n if (isMobile(this.state.width)) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n {logo}\r\n \r\n {this.state.isMobileExpand ? this._renderLanguageMenu() : this._renderActions()}\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {/* {logo} */}\r\n \r\n {iso}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

{config.quickLinksTitle}:

\r\n {this._renderQuicklinksMenu()}\r\n
\r\n {this._renderLanguageMenu()}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n private _renderActions(): JSX.Element | null {\r\n const { cartUrl, config } = this.props;\r\n \r\n return (\r\n
\r\n {/* */}\r\n

{config.cartTitle}

\r\n {this._renderAccountDropdown()}\r\n
\r\n );\r\n }\r\n\r\n private _renderAccountDropdown(): JSX.Element | null {\r\n const { config, data: { accountInformation }, context: { request: { user } } } = this.props;\r\n\r\n const customer = accountInformation?.result;\r\n\r\n // Debugging: Comment the line above and uncomment the line below.\r\n // const customer = { Name: 'hahhahhaha wwww', FirstName: 'hahhahhaha', LastName: 'wwww' };\r\n\r\n const first = customer && customer.FirstName ? customer.FirstName.charAt(0).toUpperCase() : '';\r\n const last = customer && customer.LastName ? customer.LastName.charAt(0).toUpperCase() : '';\r\n\r\n if (customer) {\r\n const initials = `${first + last}`;\r\n \r\n return (\r\n \r\n {config.editProfileUrl.linkText}\r\n {config.orderHistoryUrl.linkText}\r\n {config.signOutTitle}\r\n \r\n );\r\n }\r\n \r\n return {config.signInTitle};\r\n }\r\n\r\n private _renderMainLevel(): JSX.Element[] | null {\r\n const { config } = this.props;\r\n\r\n const mainLevels = config.siteLinks!;\r\n\r\n return mainLevels.map((item, idxMain) => {\r\n const secondLevel = item.siteLinkSubMenu as unknown as ISubMenuData[];\r\n const enableSiteLinkNewLable = item.siteLinkNewLabel;\r\n const newLabelText = item.siteLinkNewLableText;\r\n\r\n if (secondLevel && secondLevel.length > 0) {\r\n const idName = item.siteLinkName.replace(' ', '').toLowerCase();\r\n \r\n return (\r\n \r\n
\r\n {this._render2ndLevel(secondLevel)}\r\n
\r\n
\r\n );\r\n } else {\r\n const linkStyle = item.siteLinkUrl.destinationUrl === '#' || item.siteLinkUrl.destinationUrl === undefined ? 'main-link no-link' : 'main-link';\r\n return
\r\n this._showPopUp(item.siteLinkUrl.destinationUrl, item.siteLinkPopUpTitle ?? '', item.siteLinkPopUpBody ?? '', item.siteLinkPopUpLinkText ?? '') : undefined} href={item.siteLinkUrl.destinationUrl}>{item.siteLinkName} {enableSiteLinkNewLable && }\r\n {item.siteLinkPopUp && }\r\n
\r\n }\r\n });\r\n }\r\n\r\n private _showPopUp = (url: string, title: string, body: string, linkText: string) => {\r\n event?.preventDefault();\r\n this.setState({ showPopup: true, popUpUrl: url, popUpTitle: title, popUpBody: body, popUpLinkText: linkText });\r\n }\r\n\r\n private _handleCallback = () => {\r\n this.setState({ showPopup: false});\r\n }\r\n\r\n private _render2ndLevel(secondLevel: ISubMenuData[]): JSX.Element[] | null { \r\n return secondLevel.map((item, idx2nd) => {\r\n const thirdLevel = item.subMenuLinks as unknown as ISubMenuLinkData[];\r\n\r\n return
    {this._render3rdLevel(thirdLevel)}
;\r\n });\r\n }\r\n\r\n private _render3rdLevel(thirdLevel: ISubMenuLinkData[]): JSX.Element[] | null {\r\n return thirdLevel.map((item, idx3rd) => {\r\n const linkStyle = item.linkUrl.destinationUrl === '' || item.linkUrl.destinationUrl === undefined ? 'no-link' : '';\r\n \r\n return
  • {item.linkName}
  • ;\r\n });\r\n }\r\n\r\n private _renderQuicklinksMenu(): JSX.Element[] | null {\r\n const { qLinks } = this.props;\r\n\r\n return qLinks.map((item, index) => {\r\n return (\r\n
    \r\n {item}\r\n {!isMobile(this.state.width) && index !== qLinks.length - 1 ?

    |

    : null}\r\n
    \r\n );\r\n });\r\n }\r\n\r\n private _renderLanguageMenu(): JSX.Element | null {\r\n const { config } = this.props;\r\n\r\n if (config.languages === undefined || config.languages.length === 0) {\r\n return null;\r\n }\r\n\r\n const languages = config.languages!;\r\n\r\n const mainIdx = languages.findIndex(item => item.isMainSiteLanguage === true);\r\n\r\n const mainLanguage = mainIdx === -1 ? languages[0] : languages[`${mainIdx}`];\r\n\r\n const options: ILanguagesData[] = [];\r\n\r\n languages.map(item => {\r\n if (item.languageName !== mainLanguage.languageName) {\r\n options.push(item);\r\n }\r\n });\r\n\r\n const langStyle = isMobile(this.state.width) ? 'language-wrapper ml-auto' : 'language-wrapper col-sm-2';\r\n\r\n return (\r\n
    \r\n \r\n {mainLanguage.languageName}\r\n {this._renderLanguageOptions(options)}\r\n \r\n
    \r\n );\r\n }\r\n\r\n private _renderLanguageOptions(options: ILanguagesData[]): JSX.Element[] | null {\r\n return options.map((item, index) => {\r\n return {item.languageName};\r\n });\r\n }\r\n\r\n private _onToggleCallback = () => {\r\n this.setState({ isMobileExpand : !this.state.isMobileExpand });\r\n }\r\n\r\n private _updateDimensions = () => {\r\n this.setState({ width: window.innerWidth });\r\n };\r\n}\r\n\r\nexport default EcommSiteMenuView;","const binding = { modules: {}, dataActions: {} };\n\n const registerActionId = (actionPath) => {\n if (binding.dataActions[actionPath] &&\n binding.dataActions[actionPath].default &&\n binding.dataActions[actionPath].default.prototype &&\n binding.dataActions[actionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[actionPath].default.prototype.id] = binding.dataActions[actionPath];\n } else {\n Object.keys(binding.dataActions[actionPath] || {}).forEach(exportName => {\n if (binding.dataActions[actionPath][exportName] &&\n binding.dataActions[actionPath][exportName].prototype &&\n binding.dataActions[actionPath][exportName].prototype.Action) {\n binding.dataActions[binding.dataActions[actionPath][exportName].prototype.id] = binding.dataActions[actionPath][exportName];\n }\n })\n }\n };\n\n const registerSanitizedActionPath = (sanitizedActionPath, dataAction) => {\n if (process.env.NODE_ENV === 'development') {\n if (!dataAction.default) {\n throw new Error('Data action path does not have a default export');\n }\n if (!(dataAction.default.prototype.id && binding.dataActions[dataAction.default.prototype.id]) || !binding.dataActions[sanitizedActionPath]) {\n binding.dataActions[sanitizedActionPath] = dataAction;\n }\n } else {\n binding.dataActions[sanitizedActionPath] = dataAction;\n if (!binding.dataActions[sanitizedActionPath].default) {\n throw new Error('Data action path ' + sanitizedActionPath + ' does not have a default export');\n }\n binding.dataActions[sanitizedActionPath].default.prototype.RegistrationId = sanitizedActionPath;\n if (binding.dataActions[sanitizedActionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[sanitizedActionPath].default.prototype.id] = sanitizedActionPath;\n }\n }\n };\n \n\n (binding.modules['ecomm-site-menu'] = {\n c: () => require('partner/modules/ecomm-site-menu/ecomm-site-menu.tsx'),\n $type: 'contentModule',\n da: [{name:'accountInformation', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer', runOn: 0},{name:'cart', path:'@msdyn365-commerce/global-state/dist/lib/data-actions/get-cart-state-data-action', runOn: 1},{name:'categories', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-categories', runOn: 0},{name:'hierarchy', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-categories-hierarchy', runOn: 0}],\n \n iNM: false,\n ns: '__local__',\n n: 'ecomm-site-menu',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/ecomm-site-menu'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-categories';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-categories');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-categories-hierarchy';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-categories-hierarchy');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce/global-state/dist/lib/data-actions/get-cart-state-data-action';\n let dataAction = require('@msdyn365-commerce/global-state/dist/lib/data-actions/get-cart-state-data-action');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n \n window.__bindings__ = window.__bindings__ || {};\n window.__bindings__.modules = {\n ...window.__bindings__.modules || {},\n ...binding.modules\n };\n \n window.__bindings__.dataActions = {\n ...window.__bindings__.dataActions || {},\n ...binding.dataActions\n };\n export const viewDictionary = {};\n viewDictionary['__local__|__local__|modules|ecomm-site-menu|ecomm-site-menu'] = {\n c: () => require('partner/modules/ecomm-site-menu/ecomm-site-menu.view.tsx'),\n cn: '__local__-__local__-ecomm-site-menu'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n CacheType,\n createObservableDataAction,\n IAction,\n IActionContext,\n IActionInput,\n IAny,\n ICommerceApiSettings,\n ICreateActionContext,\n IGeneric\n} from '@msdyn365-commerce/core';\nimport { Customer, CustomersDataActions } from '@msdyn365-commerce/retail-proxy';\n\nimport { buildCacheKey } from './utilities/utils';\n\n/**\n * Input class for get customer data action.\n */\nexport class GetCustomerInput implements IActionInput {\n public customerAccountNumber?: string;\n\n private readonly apiSettings: ICommerceApiSettings;\n\n private readonly cacheType?: CacheType;\n\n public constructor(apiSettings: ICommerceApiSettings, accountNumber?: string, cacheType?: CacheType) {\n this.customerAccountNumber = accountNumber;\n this.apiSettings = apiSettings;\n this.cacheType = cacheType;\n }\n\n /**\n * GetCacheKey.\n * @returns - Returns string.\n */\n public getCacheKey = (): string => buildCacheKey(`Customer-${this.customerAccountNumber}`, this.apiSettings);\n\n /**\n * GetCacheObjectType.\n * @returns - Cache Object Type string.\n */\n public getCacheObjectType = (): string => 'Customer';\n\n /**\n * DataCacheType.\n * @returns - CacheType string.\n */\n public dataCacheType = (): CacheType => {\n return this.cacheType ? this.cacheType : 'request';\n };\n}\n\n/**\n * Creates the input required to make the retail api call.\n * @param inputData -- The input data passed to the createInput method.\n * @returns - ProductAvailabilitiesForSelectedVariant or error.\n */\nconst createInput = (inputData: ICreateActionContext>): GetCustomerInput => {\n const { user, apiSettings } = inputData.requestContext;\n if (!user.token || !user.isAuthenticated) {\n throw new Error('[getCustomer][createInput]: User is not Authenticated.');\n }\n\n return new GetCustomerInput(apiSettings);\n};\n\n/**\n * GetCustomerAction.\n * @param input - GetCustomerInput.\n * @param ctx - Action Context.\n * @returns - Customer information.\n */\nconst getCustomerAction = async (input: GetCustomerInput, ctx: IActionContext): Promise => {\n if (input && ctx.requestContext.user.isAuthenticated) {\n // TO-DO- Need to clean up this code once SDK releases new proxy that handles null.\n return CustomersDataActions.readAsync({ callerContext: ctx, bypassCache: 'get' }, input.customerAccountNumber || '').then(\n response => {\n return Array.isArray(response) ? response[0] : response;\n }\n );\n }\n\n ctx.trace('[getCustomer]Invalid input passed to action');\n return {};\n};\n\n/**\n * The customer data action.\n */\nexport const getCustomerActionDataAction = createObservableDataAction({\n id: '@msdyn365-commerce-modules/retail-actions/get-customer',\n action: >getCustomerAction,\n input: createInput\n});\n\nexport default getCustomerActionDataAction;\n","module.exports = React;","module.exports = ReactDOM;"],"names":["Breakpoints","isMobile","width","large","Popup","React","constructor","_callbackRedirect","this","props","callback","setTimeout","window","location","reload","_callbackRedirectCheckout","_callbackHide","_event","event","preventDefault","_onClickCheckout","checkoutLink","getUrlSync","context","actionContext","origin","render","Modal","show","showPopup","onHide","centered","Header","closeButton","isPortalPopup","style","border","Title","className","_titleText","Body","_renderMessage","Footer","href","onClick","_stayButtonText","url","target","_goButtonText","locale","name","QuickLink","state","cartHasItems","_handleOnClick","undefined","sessionStorage","setItem","categoryId","toString","filterName","_handleOnClickPopup","async","currerntCart","cart","totalItemsInCart","setState","_handleCallback","linkStyle","isPortal","mobileMode","enableNewLable","newLableText","__decorate","observer","EcommSiteMenu","_updateDimensions","innerWidth","componentDidMount","hasMounted","addEventListener","componentWillUnmount","removeEventListener","config","LanguageTitles","LanguageUrl","languages","length","currentLanguageSubdomain","languageUrl","destinationUrl","currentUrl","i","push","languageName","replace","EcommSiteMenuViewProps","_objectSpread","qLinks","_generateQuickLinks","quicklinksTitle","quickLinksTitle","isProduction","homeUrl","cartUrl","cartTitle","signInTitle","languageTitles","renderView","data","categories","result","requestContext","localeCode","split","category","quicklinks","_config$quicklinks$ca","_config$quicklinks$ca2","categoryUrl","categoryLink","quicklinkName","categoryIndex","findIndex","item","_item$Name","Name","toLowerCase","filter","enbaleNewLable","enableNewLabel","newLabelText","_category$NameTransla","RecordId","categoryLocale","NameTranslations","find","Language","categoryLocaleName","Text","currentCategory","ParentCategory","parentCategory","_config$quicklinks$ca3","title","body","linkText","EcommSiteMenuView","isMobileExpand","popUpUrl","popUpTitle","popUpBody","popUpLinkText","_showPopUp","_onToggleCallback","_config$borderImage","_config$logoImage","_config$isoImage","borderImage","src","backgroundImage","logo","logoImage","alt","role","iso","isoImage","id","Navbar","expand","onToggle","expanded","Brand","Toggle","_renderLanguageMenu","_renderActions","Collapse","Nav","_renderQuicklinksMenu","_renderMainLevel","Link","_renderAccountDropdown","accountInformation","request","user","customer","first","FirstName","charAt","toUpperCase","last","LastName","initials","NavDropdown","Item","editProfileUrl","linkUrl","orderHistoryUrl","signOutUrl","signOutTitle","signInUrl","siteLinks","map","idxMain","secondLevel","siteLinkSubMenu","enableSiteLinkNewLable","siteLinkNewLabel","siteLinkNewLableText","idName","siteLinkName","key","renderMenuOnMount","_render2ndLevel","siteLinkUrl","siteLinkPopUp","_item$siteLinkPopUpTi","_item$siteLinkPopUpBo","_item$siteLinkPopUpLi","siteLinkPopUpTitle","siteLinkPopUpBody","siteLinkPopUpLinkText","idx2nd","thirdLevel","subMenuLinks","headingName","_render3rdLevel","idx3rd","linkName","index","mainIdx","isMainSiteLanguage","mainLanguage","options","langStyle","Dropdown","Menu","_renderLanguageOptions","binding","modules","dataActions","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","c","require","$type","da","path","runOn","iNM","ns","n","p","pdp","md","__bindings__","viewDictionary","cn","GetCustomerInput","apiSettings","accountNumber","cacheType","getCacheKey","buildCacheKey","customerAccountNumber","getCacheObjectType","dataCacheType","getCustomerActionDataAction","createObservableDataAction","action","input","ctx","isAuthenticated","CustomersDataActions","callerContext","bypassCache","then","response","Array","isArray","trace","inputData","token","module","exports","ReactDOM"],"sourceRoot":""}