{"version":3,"file":"static/js/5da12e30b60ecb52848c.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/britax-header/components/britax-header-preferred-store.tsx?730c","webpack://Msdyn365.Commerce.Online/./src/modules/britax-header/components/logo.tsx?ae0f","webpack://Msdyn365.Commerce.Online/./src/modules/britax-header/components/nav-icon.tsx?a0ea","webpack://Msdyn365.Commerce.Online/./src/modules/britax-header/components/notes.tsx?44a4","webpack://Msdyn365.Commerce.Online/./src/modules/britax-header/britax-header.tsx?356c","webpack://Msdyn365.Commerce.Online/./src/modules/britax-header/britax-header.view.tsx?2d78","webpack://Msdyn365.Commerce.Online/./src/themes/britax-adventureworks/views/britax-header.view.tsx?9b8f","webpack://Msdyn365.Commerce.Online/./lib/britax-header/module-registration.js?fdac","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"sourcesContent":["/*!\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\n/* eslint-disable no-duplicate-imports */\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { IBritaxHeaderData } from '../britax-header.data';\r\nimport { IBritaxHeaderProps } from '../britax-header.props.autogenerated';\r\n\r\n/**\r\n * The header preferred store component.\r\n */\r\n@observer\r\nexport class HeaderPreferredStore extends React.PureComponent> {\r\n private readonly modalCloseButtonRef: React.RefObject = React.createRef();\r\n\r\n /**\r\n * Handle click on the store selector.\r\n * @returns : Promise void.\r\n */\r\n public handleClick = () => {\r\n return this._findPreferredStoreOnClick(this.props);\r\n };\r\n\r\n public render(): JSX.Element | undefined {\r\n const {\r\n data: {\r\n storeSelectorStateManager: { result: storeSelectorStateManager }\r\n },\r\n slots,\r\n resources\r\n } = this.props;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- slots can be undefined.\r\n if (ArrayExtensions.hasElements(slots?.storeSelector)) {\r\n const storeName =\r\n storeSelectorStateManager?.preferredStore && storeSelectorStateManager.preferredStore.StoreName\r\n ? storeSelectorStateManager.preferredStore.StoreName\r\n : resources.headerPreferredStoreText;\r\n\r\n return (\r\n
\r\n \r\n {storeName}\r\n \r\n {slots.storeSelector}\r\n
\r\n );\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n private async _findPreferredStoreOnClick(props: IBritaxHeaderProps): Promise {\r\n const {\r\n data: {\r\n storeSelectorStateManager: { result: storeSelectorStateManager }\r\n },\r\n modules\r\n } = props;\r\n if (!storeSelectorStateManager) {\r\n return;\r\n }\r\n let storeSelectorId: string = '';\r\n if (modules && Object.keys(modules).length > 0 && ArrayExtensions.hasElements(modules.storeSelector)) {\r\n storeSelectorId = modules.storeSelector[0].id;\r\n }\r\n await storeSelectorStateManager\r\n .openDialog({\r\n id: storeSelectorId,\r\n showMapViewLink: true,\r\n parentElementRef: this.modalCloseButtonRef,\r\n onLocationSelected: orgUnitLocation => {\r\n return Promise.resolve();\r\n }\r\n })\r\n .catch((error: Error) => {\r\n if (props.telemetry) {\r\n props.telemetry.error(error.message);\r\n props.telemetry.debug('Unable to set preferred store');\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default HeaderPreferredStore;\r\n","/*!\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\n/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface ILogoProps {\r\n image: Msdyn365.IImageData;\r\n gridSettings?: Msdyn365.IGridSettings;\r\n link?: ILinkData;\r\n className?: string;\r\n telemetryContent?: ITelemetryContent;\r\n requestContext: Msdyn365.IRequestContext;\r\n typeName?: string;\r\n}\r\n\r\nexport interface ILinkData {\r\n linkUrl: Msdyn365.ILinkData;\r\n ariaLabel?: string;\r\n openInNewTab?: boolean;\r\n linkText?: string;\r\n}\r\n\r\n/**\r\n *\r\n * Logo component.\r\n * @extends {React.PureComponent}\r\n */\r\nexport class Logo extends React.PureComponent {\r\n private readonly attributes?: Msdyn365.IDictionary;\r\n\r\n constructor(props: ILogoProps) {\r\n super(props);\r\n const payLoad = getPayloadObject('click', props.telemetryContent!, TelemetryConstant.Logo);\r\n this.attributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\r\n }\r\n\r\n public render(): JSX.Element {\r\n return
{this._renderLogo(this.props)}
;\r\n }\r\n\r\n private _renderLogo(config: ILogoProps): JSX.Element {\r\n if (config.link && config.link.linkUrl.destinationUrl) {\r\n return (\r\n \r\n {this._renderImage(config)}\r\n \r\n );\r\n }\r\n return this._renderImage(config);\r\n }\r\n\r\n private _renderImage(config: ILogoProps): JSX.Element {\r\n const defaultImageSettings: Msdyn365.IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=132&h=28&m=6', w: 0, h: 0 },\r\n lg: { q: 'w=160&h=48&m=6', w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Logo;\r\n","/*!\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\n/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport {\r\n Button,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n ITelemetryContent,\r\n TelemetryConstant\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { IBritaxHeaderResources } from '../britax-header.props.autogenerated';\r\n\r\nexport interface INavIconProps {\r\n resources: IBritaxHeaderResources;\r\n isExpanded: boolean;\r\n targetId: string;\r\n telemetryContent?: ITelemetryContent;\r\n toggleNavBar(): void;\r\n}\r\n\r\n/**\r\n *\r\n * NavIcon component.\r\n * @extends {React.PureComponent}\r\n */\r\n\r\n@observer\r\nexport class NavIcon extends React.PureComponent {\r\n private readonly attributes?: Msdyn365.IDictionary;\r\n\r\n constructor(props: INavIconProps) {\r\n super(props);\r\n const payLoad = getPayloadObject('click', props.telemetryContent!, TelemetryConstant.NavIcon);\r\n this.attributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\nimport { ILinkData } from './logo';\r\n\r\nexport interface INotesProps {\r\n link?: ILinkData;\r\n className?: string;\r\n}\r\n\r\n/**\r\n *\r\n * Notes component.\r\n * @extends {React.PureComponent}\r\n */\r\nexport class Notes extends React.PureComponent {\r\n public render(): JSX.Element {\r\n return
{this._renderNotesLink(this.props)}
;\r\n }\r\n\r\n private _renderNotesLink(config: INotesProps): JSX.Element {\r\n if (config.link && config.link.linkUrl.destinationUrl) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n
\r\n

\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Notes;\r\n","/*!\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\n/* eslint-disable no-duplicate-imports */\r\nimport { CartIconComponent, WishListIconComponent } from '@msdyn365-commerce/components';\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\nimport { ICartState } from '@msdyn365-commerce/global-state';\r\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\r\nimport { ErrorNotification, NotificationsManager } from '@msdyn365-commerce-modules/notifications-core';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\n\r\nimport {\r\n Button,\r\n format,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n getTelemetryObject,\r\n IModuleProps,\r\n INodeProps,\r\n ITelemetryContent,\r\n KeyCodes,\r\n Modal,\r\n ModalBody,\r\n ModalHeader,\r\n onTelemetryClick,\r\n Popover,\r\n TelemetryConstant\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { computed, reaction } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { isChannelTypeB2B } from '@msdyn365-commerce/core';\r\nimport { HeaderPreferredStore, Logo, NavIcon } from './components';\r\nimport { IBritaxHeaderData } from './britax-header.data';\r\nimport { IBritaxHeaderProps, IBritaxHeaderResources, IMyAccountLinksData } from './britax-header.props.autogenerated';\r\nimport Notes from './components/notes';\r\nexport interface IHeaderState {\r\n mobileMenuCollapsed: boolean;\r\n signinPopoverOpen: boolean;\r\n hasSigninerror?: boolean;\r\n}\r\n\r\nexport interface IHeaderViewProps extends IBritaxHeaderProps, IHeaderState {\r\n logo: React.ReactNode;\r\n notes: React.ReactNode;\r\n wishListIconDesktop: React.ReactNode;\r\n wishListIconMobile: React.ReactNode;\r\n cartIcon: React.ReactNode;\r\n navIcon: React.ReactNode;\r\n className: string;\r\n menuBar: React.ReactNode[];\r\n search: React.ReactNode[];\r\n siteOptions: React.ReactNode[];\r\n HeaderTag: IModuleProps;\r\n HeaderContainer: INodeProps;\r\n MobileMenuContainer: INodeProps;\r\n MobileMenuHeader: React.ReactNode;\r\n MobileMenuBodyContainer: INodeProps;\r\n MobileMenuLinksContainer: INodeProps;\r\n HeaderTopBarContainer: INodeProps;\r\n Divider: INodeProps;\r\n\r\n AccountInfoDropdownParentContainer?: INodeProps;\r\n AccountInfoDropdownPopoverConentContainer?: INodeProps;\r\n accountInfoDropdownButton?: React.ReactNode;\r\n\r\n signOutLink?: React.ReactNode;\r\n signInLink?: React.ReactNode;\r\n switchCustomerLink?: React.ReactNode;\r\n isOBORequest?: boolean;\r\n accountLinks?: React.ReactNode[];\r\n preferredStore?: React.ReactNode;\r\n currentDistributor?: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * Header component.\r\n * @extends {React.PureComponent>}\r\n */\r\n@observer\r\nclass Header extends React.PureComponent, IHeaderState> {\r\n private readonly popOverRef: React.RefObject;\r\n\r\n private readonly telemetryContent: ITelemetryContent;\r\n\r\n private cart: ICartState | undefined;\r\n\r\n private isB2BSite: boolean = false;\r\n\r\n /**\r\n * The signed-in user name displayed in the header bar\r\n */\r\n @computed public get displayName(): Readonly {\r\n return (\r\n (MsDyn365.isOboRequest(this.props.context.request) ? this.workerName : this.customerName) ||\r\n this.props.context.request?.user?.name\r\n );\r\n }\r\n\r\n /**\r\n * OBO scenario. The name of worker who shops on behalf of customer.\r\n */\r\n @computed public get workerName(): Readonly {\r\n const worker = this.props.data.employee?.result;\r\n return worker?.Name;\r\n }\r\n\r\n @computed public get customerName(): Readonly {\r\n const customer = this.props.data.accountInformation?.result;\r\n if (MsDyn365.isOboRequest(this.props.context.request)) {\r\n // For OBO scenario, display full customer name because multiple customers may have the same first name.\r\n return customer ? customer.Name : undefined;\r\n } else {\r\n return customer ? customer.FirstName || customer.Name : undefined;\r\n }\r\n }\r\n\r\n public constructor(props: IBritaxHeaderProps) {\r\n super(props);\r\n this.popOverRef = React.createRef();\r\n this._toggleNavbar = this._toggleNavbar.bind(this);\r\n this._togglePopover = this._togglePopover.bind(this);\r\n this._keydown = this._keydown.bind(this);\r\n this.state = {\r\n mobileMenuCollapsed: true,\r\n signinPopoverOpen: false,\r\n hasSigninerror: false\r\n };\r\n this.telemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n this.isB2BSite = isChannelTypeB2B(this.props.context.request);\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (MsDyn365.msdyn365Commerce.isBrowser) {\r\n window.addEventListener('keydown', this._keydown);\r\n }\r\n reaction(\r\n () => {\r\n this.props.data.cart.result;\r\n },\r\n () => {\r\n this.cart = this.props.data.cart.result;\r\n }\r\n );\r\n\r\n const {\r\n context: {\r\n request: { user }\r\n },\r\n resources: {\r\n signUpCustomerNotFoundTitle,\r\n signUpMultipleCustomerFoundTitle,\r\n signInCustomerNotAuthorizedTitle,\r\n closeNotificationLabel\r\n }\r\n } = this.props;\r\n\r\n const signinNotificationError = this._getSigninNotification(\r\n user,\r\n signUpMultipleCustomerFoundTitle,\r\n signUpCustomerNotFoundTitle,\r\n signInCustomerNotAuthorizedTitle\r\n );\r\n if (signinNotificationError !== undefined && this.state.hasSigninerror === false) {\r\n // For signup show simple error notification.\r\n NotificationsManager.instance().addNotification(new ErrorNotification(signinNotificationError, closeNotificationLabel));\r\n }\r\n }\r\n\r\n public componentWillUnmount(): void {\r\n if (MsDyn365.msdyn365Commerce.isBrowser) {\r\n window.removeEventListener('keydown', this._keydown, false);\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const {\r\n id,\r\n typeName,\r\n data: { accountInformation, wishlists },\r\n context: {\r\n request: { user }\r\n },\r\n context,\r\n resources: { cartLabel, cartQtyLabel }\r\n } = this.props;\r\n const { logoLink, notesLink, logoImage, shouldShowWishlistCount } = this.props.config;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access -- app config is generic\r\n const disableTooltip = this.props.context.app.config.disableTooltip || false;\r\n const headerToggleClass = this.state.mobileMenuCollapsed ? '' : 'ms-header-open';\r\n const headerClassName = classnames('ms-header border border-primary', this.props.config.className, headerToggleClass);\r\n const navbarKey = 'header-nav-mobile';\r\n const customer = accountInformation && accountInformation.result;\r\n const cartIconSlot = this._getSlot('cartIcon');\r\n const menuBarSlot = this._getSlot('menuBar');\r\n const searchSlot = this._getSlot('search');\r\n let wishlistCount = 0;\r\n const siteOptionsSlot = this._getSlot('siteOptions');\r\n const preferredStoreSlot = this._getSlot('storeSelector');\r\n const currentDistributorSlot = this._getSlot('distributorSelector');\r\n if (wishlists !== undefined) {\r\n if (\r\n !wishlists.result ||\r\n !ArrayExtensions.hasElements(wishlists.result) ||\r\n !wishlists.result[0].CommerceListLines ||\r\n !ArrayExtensions.hasElements(wishlists.result[0].CommerceListLines)\r\n ) {\r\n wishlistCount = 0;\r\n } else {\r\n wishlistCount = wishlists.result[0].CommerceListLines.length;\r\n }\r\n }\r\n const viewProps: IHeaderViewProps = {\r\n ...(this.props as IBritaxHeaderProps),\r\n ...this.state,\r\n logo: (\r\n \r\n ),\r\n notes: ,\r\n wishListIconDesktop: (\r\n \r\n ),\r\n wishListIconMobile: (\r\n \r\n ),\r\n cartIcon: ArrayExtensions.hasElements(cartIconSlot) ? (\r\n cartIconSlot[0]\r\n ) : (\r\n \r\n ),\r\n navIcon: (\r\n \r\n ),\r\n menuBar: ArrayExtensions.hasElements(menuBarSlot) ? menuBarSlot : [],\r\n search: ArrayExtensions.hasElements(searchSlot) ? searchSlot : [],\r\n siteOptions: ArrayExtensions.hasElements(siteOptionsSlot) ? siteOptionsSlot : [],\r\n className: headerClassName,\r\n HeaderTag: {\r\n moduleProps: this.props,\r\n className: classnames(headerClassName),\r\n 'aria-label': this.props.resources.headerAriaLabel,\r\n tag: 'header'\r\n },\r\n HeaderContainer: {\r\n className: classnames('ms-header__container')\r\n },\r\n HeaderTopBarContainer: {\r\n className: classnames('ms-header__topbar')\r\n },\r\n Divider: {\r\n className: classnames('ms-header__divider')\r\n },\r\n MobileMenuContainer: {\r\n tag: Modal,\r\n id: navbarKey,\r\n className: 'ms-header__mobile-hamburger',\r\n isOpen: !this.state.mobileMenuCollapsed,\r\n wrapClassName: 'ms-header__modal',\r\n toggle: this._toggleNavbar\r\n },\r\n MobileMenuHeader: ,\r\n MobileMenuBodyContainer: {\r\n tag: ModalBody,\r\n className: 'ms-header__mobile-hamburger-menu-body'\r\n },\r\n MobileMenuLinksContainer: {\r\n className: 'ms-header__mobile-hamburger-menu-links'\r\n },\r\n AccountInfoDropdownParentContainer: {\r\n className: 'ms-header__account-info'\r\n },\r\n AccountInfoDropdownPopoverConentContainer: this.displayName\r\n ? {\r\n tag: Popover,\r\n id: 'myprofilePopover',\r\n className: 'ms-header__account-info-content',\r\n placement: 'bottom',\r\n isOpen: this.state.signinPopoverOpen,\r\n target: this.popOverRef,\r\n toggle: this._togglePopover\r\n }\r\n : undefined,\r\n signInLink: this._getSigninButton(user, this.props.resources),\r\n signOutLink: this._getSignOutButton(user, this.props.resources),\r\n isOBORequest: MsDyn365.isOboRequest(this.props.context.request),\r\n switchCustomerLink: this._getSwitchCustomerButton(user, this.props.resources),\r\n accountInfoDropdownButton: this._getAccountInfoDropdownButton(user, this.props.resources),\r\n accountLinks: this._getAccountLinks(customer),\r\n preferredStore: ArrayExtensions.hasElements(preferredStoreSlot) && ,\r\n currentDistributor: this.isB2BSite && ArrayExtensions.hasElements(currentDistributorSlot) ? currentDistributorSlot : undefined\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * Handle link text change.\r\n * @param linkIndex - Link Index.\r\n * @returns : Void.\r\n */\r\n public handleLinkTextChange = (linkIndex: number) => (event: MsDyn365.ContentEditableEvent): void => {\r\n if (this.props.config.myAccountLinks?.[linkIndex]) {\r\n this.props.config.myAccountLinks[linkIndex].linkText = event.target.value;\r\n }\r\n };\r\n\r\n /**\r\n * Get the slot.\r\n * @param slotName - Name of the slot.\r\n * @returns The slot.\r\n */\r\n private _getSlot(slotName: string): React.ReactNode[] | null {\r\n const { slots } = this.props;\r\n // eslint-disable-next-line security/detect-object-injection\r\n return (slots && slots[slotName] && slots[slotName].length && slots[slotName]) || null;\r\n }\r\n\r\n /**\r\n * Renders the sign in button.\r\n * @param user - Request context user.\r\n * @param resources - Resources.\r\n * @returns React Node.\r\n */\r\n private _getSigninButton(\r\n user: MsDyn365.IRequestContextUser | undefined,\r\n resources: IBritaxHeaderResources\r\n ): React.ReactNode | undefined {\r\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.SignIn);\r\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\r\n return (\r\n !this.displayName && (\r\n \r\n \r\n {resources.signInLinkText}\r\n \r\n \r\n )\r\n );\r\n }\r\n\r\n /**\r\n * Renders the sign out button.\r\n * @param user - Request context user.\r\n * @param resources - Resources.\r\n * @returns React Node.\r\n */\r\n private _getSignOutButton(\r\n user: MsDyn365.IRequestContextUser | undefined,\r\n resources: IBritaxHeaderResources\r\n ): React.ReactNode | undefined {\r\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.SignOut);\r\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\r\n return (\r\n this.displayName && (\r\n \r\n \r\n {resources.signOutLinkText}\r\n \r\n \r\n )\r\n );\r\n }\r\n\r\n /**\r\n * Renders the sign out button.\r\n * @param user - Request context user.\r\n * @param resources - Resources.\r\n * @returns React Node.\r\n */\r\n private _getSwitchCustomerButton(\r\n user: MsDyn365.IRequestContextUser | undefined,\r\n resources: IBritaxHeaderResources\r\n ): React.ReactNode | undefined {\r\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.SwitchCustomer);\r\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\r\n const isOBOAccountSelected =\r\n MsDyn365.isOboRequest(this.props.context.request) && this.props.context.request.cookies.getAccountSelectionCookie();\r\n return (\r\n this.displayName &&\r\n isOBOAccountSelected && (\r\n this.props.context.request.cookies.removeAccountSelectionCookie()}\r\n {...attributes}\r\n >\r\n
\r\n
{format(resources.shoppingAsText, this.customerName)}
\r\n
{resources.switchCustomerLinkText}
\r\n
\r\n \r\n )\r\n );\r\n }\r\n\r\n private getBusinessPartnerSelectionUrl(): string | undefined {\r\n const route = MsDyn365.getUrlSync('businessPartnerSelection', this.props.context.actionContext);\r\n if (!route || !MsDyn365.msdyn365Commerce.isBrowser) {\r\n return undefined;\r\n }\r\n\r\n // MsDyn365.getUrlSync persists some params in the route and remove other params.\r\n // Among the persisted params, we need to remove catalogid.\r\n const persistedParamToRemove = ['catalogid'];\r\n const url = new URL(route, window.location.href);\r\n persistedParamToRemove.forEach(param => url.searchParams.delete(param));\r\n return url.href;\r\n }\r\n\r\n private _getSigninNotification(\r\n user: MsDyn365.IRequestContextUser | undefined,\r\n signUpMultipleCustomerFoundTitle: string,\r\n signUpCustomerNotFoundTitle: string,\r\n signInCustomerNotAuthorizedTitle: string\r\n ): string | undefined {\r\n if (!user?.retailServerErrorCode) {\r\n return undefined;\r\n }\r\n\r\n const { signUpCustomerNotFound, signUpMultipleCustomerFound, signInCustomerNotAuthorized } = this.props.config;\r\n const notFoundError = 'Microsoft_Dynamics_Commerce_Runtime_CustomerNotFound_WhenAutoLinking';\r\n const multipleAccountError = 'Microsoft_Dynamics_Commerce_Runtime_MultipleCustomerAccountsFoundWithSameEmailAddress';\r\n const accountAuthorizationError = 'Microsoft_Dynamics_Commerce_Runtime_AuthorizationFailed';\r\n\r\n if (user?.retailServerErrorCode === notFoundError) {\r\n return signUpCustomerNotFound !== undefined ? signUpCustomerNotFound : signUpCustomerNotFoundTitle;\r\n } else if (user?.retailServerErrorCode === multipleAccountError) {\r\n return signUpMultipleCustomerFound !== undefined ? signUpMultipleCustomerFound : signUpMultipleCustomerFoundTitle;\r\n } else if (user?.retailServerErrorCode === accountAuthorizationError) {\r\n return signInCustomerNotAuthorized !== undefined ? signInCustomerNotAuthorized : signInCustomerNotAuthorizedTitle;\r\n }\r\n return user?.retailServerErrorMessage;\r\n }\r\n\r\n private _getAccountInfoDropdownButton(\r\n user: MsDyn365.IRequestContextUser | undefined,\r\n resources: IBritaxHeaderResources\r\n ): React.ReactNode | undefined {\r\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.MyProfile);\r\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\r\n return (\r\n this.displayName && (\r\n \r\n
\r\n
{this.displayName}
\r\n {MsDyn365.isOboRequest(this.props.context.request) && this.customerName && (\r\n
{format(resources.shoppingAsText, this.customerName)}
\r\n )}\r\n
\r\n \r\n )\r\n );\r\n }\r\n\r\n private _getAccountLinks(customer: Customer | undefined): React.ReactNode[] | undefined {\r\n const { myAccountLinks } = this.props.config;\r\n const payLoad = getPayloadObject('click', this.telemetryContent, '');\r\n if (!this.displayName || !myAccountLinks || !ArrayExtensions.hasElements(myAccountLinks)) {\r\n return undefined;\r\n }\r\n return myAccountLinks.map((cta: IMyAccountLinksData, index: number) => {\r\n payLoad.contentAction.etext = cta.linkText;\r\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\r\n const editableLink: MsDyn365.ILinksData = {\r\n ariaLabel: cta.ariaLabel,\r\n className: 'ms-signin-info__account-link-button',\r\n linkText: cta.linkText,\r\n linkUrl: cta.linkUrl.destinationUrl,\r\n openInNewTab: cta.openInNewTab,\r\n role: 'link',\r\n additionalProperties: attributes\r\n };\r\n\r\n return (\r\n \r\n );\r\n });\r\n }\r\n\r\n private _toggleNavbar(): void {\r\n this.setState({\r\n mobileMenuCollapsed: !this.state.mobileMenuCollapsed\r\n });\r\n }\r\n\r\n private _togglePopover(): void {\r\n this.setState({\r\n signinPopoverOpen: !this.state.signinPopoverOpen\r\n });\r\n }\r\n\r\n private _keydown(event: KeyboardEvent): void {\r\n if (event.keyCode === KeyCodes.Escape) {\r\n this.setState({ mobileMenuCollapsed: true });\r\n }\r\n }\r\n}\r\n\r\nexport default Header;\r\n","/*!\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\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IHeaderViewProps } from './britax-header';\r\n\r\nconst headerView: React.FC = props => {\r\n const { HeaderTag, HeaderContainer, HeaderTopBarContainer, Divider } = props;\r\n return (\r\n \r\n \r\n \r\n {props.navIcon}\r\n {props.notes}\r\n {props.logo}\r\n {_renderReactFragment(props.search)}\r\n {props.preferredStore}\r\n {props.currentDistributor}\r\n {_renderDesktopAccountBlock(props)}\r\n {props.wishListIconDesktop}\r\n \r\n {props.cartIcon}\r\n {_renderReactFragment(props.siteOptions)}\r\n \r\n {/* \r\n \r\n {props.MobileMenuHeader}\r\n {_renderReactFragment(props.menuBar)}\r\n \r\n {props.accountLinks ? props.accountLinks.map(link => link) : false}\r\n {props.siteOptions}\r\n {props.wishListIconMobile}\r\n {props.signInLink}\r\n {props.signOutLink}\r\n \r\n \r\n */}\r\n {_renderReactFragment(props.menuBar)}\r\n \r\n \r\n );\r\n};\r\n\r\nfunction _renderDesktopAccountBlock(props: IHeaderViewProps): JSX.Element | null {\r\n const {\r\n AccountInfoDropdownParentContainer,\r\n AccountInfoDropdownPopoverConentContainer,\r\n accountInfoDropdownButton,\r\n signOutLink,\r\n signInLink,\r\n accountLinks\r\n } = props;\r\n\r\n if (AccountInfoDropdownParentContainer) {\r\n if (AccountInfoDropdownPopoverConentContainer) {\r\n return (\r\n \r\n {accountInfoDropdownButton}\r\n \r\n {accountLinks ? accountLinks.map(link => link) : false}\r\n {signOutLink}\r\n \r\n \r\n );\r\n } else if (signInLink) {\r\n return {signInLink};\r\n }\r\n }\r\n props.context.telemetry.error('Header content is empty, module wont render.');\r\n return null;\r\n}\r\n\r\nfunction _renderReactFragment(items: React.ReactNode[]): JSX.Element | null {\r\n return (\r\n <>\r\n {items && items.length > 0\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","/*!\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 MsDyn365 from '@msdyn365-commerce/core';\r\nimport { Logo } from '@msdyn365-commerce-modules/header';\r\nimport { IHeaderViewProps } from '../../../modules/britax-header/britax-header';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { IBritaxHeaderProps } from '../definition-extensions/britax-header.ext.props.autogenerated';\r\n\r\n/**\r\n * GridSizes.\r\n */\r\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\n/**\r\n *\r\n * HeaderView component.\r\n * @extends {React.PureComponent}\r\n */\r\nexport class HeaderView extends React.PureComponent> {\r\n private readonly menuNode: React.RefObject;\r\n\r\n public constructor(props: IHeaderViewProps & IBritaxHeaderProps<{}>) {\r\n super(props);\r\n this.menuNode = React.createRef();\r\n }\r\n\r\n public componentDidMount(): void {\r\n //debugger;\r\n if (this.props.config.useStickyHeader) {\r\n // Set header update methods to trigger on scroll\r\n if (MsDyn365.isBrowser) {\r\n window.addEventListener('scroll', () => {\r\n this._configureStickyHeader();\r\n });\r\n }\r\n this._configureStickyHeader();\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\r\n const {\r\n HeaderTag,\r\n HeaderContainer,\r\n HeaderTopBarContainer,\r\n Divider,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n {this._renderReactFragment(this.props.menuBar)}\r\n
\r\n {/*
{this.props.navIcon}
*/}\r\n \r\n {this.props.logo}\r\n {this._renderMobileLogo()}\r\n
\r\n {this.props.notes}\r\n {this._renderSearchReactFragment(this.props.search)}\r\n \r\n {this.props.preferredStore}\r\n {this.props.currentDistributor}\r\n {this._renderAccountBlock(this.props)}\r\n \r\n {this.props.cartIcon}\r\n {this._renderReactFragment(this.props.siteOptions)}\r\n
\r\n
\r\n {/* \r\n \r\n {this.props.MobileMenuHeader}\r\n {this._renderReactFragment(this.props.menuBar)}\r\n \r\n {this.props.accountLinks ? this.props.accountLinks.map(link => link) : false}\r\n {this.props.siteOptions}\r\n {this.props.wishListIconMobile}\r\n {this.props.signInLink}\r\n {this.props.signOutLink}\r\n \r\n \r\n */}\r\n
\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Function to update header.\r\n */\r\n private readonly _configureStickyHeader = (): void => {\r\n // Get heights of cookie and promotion banners\r\n const defaultValue = 0;\r\n const headerAlertsContainer: HTMLElement | null = document.querySelector('.ms-promo-banner');\r\n const bannerHeights = headerAlertsContainer ? headerAlertsContainer.offsetHeight : defaultValue;\r\n\r\n // Triggers opacity change of header\r\n const headerElement = document.querySelector('header .default-container');\r\n if (headerElement) {\r\n if (MsDyn365.isBrowser && document.documentElement.scrollTop > defaultValue) {\r\n headerElement.classList.add('lock-opaque');\r\n headerElement.classList.add('fixed');\r\n } else {\r\n headerElement.classList.remove('lock-opaque');\r\n headerElement.classList.remove('fixed');\r\n }\r\n }\r\n\r\n // Update sticky header position and opacity\r\n const stickyHeader: HTMLElement | null = document.querySelector('.desktop-navicon-container');\r\n const headerLogo: HTMLElement | null = document.querySelector('.ms-header__logo');\r\n\r\n if (stickyHeader && headerLogo) {\r\n // Fix center sticky header\r\n const navStickyPos = headerLogo.offsetHeight + bannerHeights;\r\n if (MsDyn365.isBrowser && document.documentElement.scrollTop > navStickyPos) {\r\n stickyHeader.classList.add('fixed');\r\n } else {\r\n stickyHeader.classList.remove('fixed');\r\n }\r\n }\r\n };\r\n\r\n private _renderMobileLogo(): JSX.Element | null {\r\n const { config, context, typeName } = this.props;\r\n return (\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Function to render account block.\r\n * @param props - IHeaderViewProps.\r\n * @returns Returns JSX.Element | null.\r\n */\r\n private readonly _renderAccountBlock = (props: IHeaderViewProps): JSX.Element | null => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\r\n const {\r\n AccountInfoDropdownParentContainer,\r\n AccountInfoDropdownPopoverConentContainer,\r\n accountInfoDropdownButton,\r\n signInLink\r\n } = props;\r\n if (AccountInfoDropdownParentContainer) {\r\n const accountClassName = classnames(AccountInfoDropdownParentContainer.className, 'account-desktop');\r\n if (AccountInfoDropdownPopoverConentContainer) {\r\n return (\r\n \r\n {accountInfoDropdownButton}\r\n {this._renderAccountDropdownLinks(props)}\r\n \r\n );\r\n } else if (signInLink) {\r\n return (\r\n \r\n {signInLink}\r\n \r\n );\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n private readonly _renderAccountDropdownLinks = (props: IHeaderViewProps): JSX.Element | null => {\r\n const { isOBORequest, switchCustomerLink, accountLinks, signOutLink } = props;\r\n if (isOBORequest) {\r\n return (\r\n <>\r\n {switchCustomerLink}\r\n {signOutLink}\r\n {accountLinks ? : false}\r\n {accountLinks ? accountLinks.map((link: React.ReactNode) => link) : false}\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n {accountLinks ? accountLinks.map((link: React.ReactNode) => link) : false}\r\n {signOutLink}\r\n \r\n );\r\n }\r\n };\r\n\r\n /**\r\n * Function to render react fragment.\r\n * @param items - React nodes.\r\n * @returns Returns JSX.Element | null.\r\n */\r\n private readonly _renderReactFragment = (items: React.ReactNode[]): JSX.Element | null => {\r\n return (\r\n <>\r\n {ArrayExtensions.hasElements(items)\r\n ? items.map((slot: React.ReactNode) => {\r\n return <>{slot};\r\n })\r\n : null}\r\n \r\n );\r\n };\r\n /**\r\n * Function to render react fragment.\r\n * @param items - React nodes.\r\n * @returns Returns JSX.Element | null.\r\n */\r\n private readonly _renderSearchReactFragment = (items: React.ReactNode[]): JSX.Element | null => {\r\n \r\n return (\r\n <>\r\n {ArrayExtensions.hasElements(items)\r\n ? items.map((slot: React.ReactNode) => {\r\n return
{slot}
;\r\n })\r\n : null}\r\n \r\n );\r\n };\r\n}\r\n\r\nexport default HeaderView;\r\n","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['britax-header'] = {\n c: () => require('partner/modules/britax-header/britax-header.tsx'),\n $type: 'containerModule',\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:'employee', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-employee', runOn: 0},{name:'storeSelectorStateManager', path:'@msdyn365-commerce-modules/bopis-utilities/dist/lib/store-selector-state-manager/store-selector-state-manager-data-action', runOn: 1},{name:'wishlists', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-wishlist-by-customer-id', runOn: 0}],\n \n iNM: false,\n ns: '__local__',\n n: 'britax-header',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/britax-header'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/bopis-utilities/dist/lib/store-selector-state-manager/store-selector-state-manager-data-action';\n let dataAction = require('@msdyn365-commerce-modules/bopis-utilities/dist/lib/store-selector-state-manager/store-selector-state-manager-data-action');\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-modules/retail-actions/dist/lib/get-employee';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-employee');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-wishlist-by-customer-id';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-wishlist-by-customer-id');\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|britax-header|britax-header'] = {\n c: () => require('partner/modules/britax-header/britax-header.view.tsx'),\n cn: '__local__-__local__-britax-header'\n };\nviewDictionary['__local__|__local__|themes|britax-adventureworks|views|britax-header'] = {\n c: () => require('partner/themes/britax-adventureworks/views/britax-header.view.tsx'),\n cn: '__local__-__local__-britax-header'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;"],"names":["HeaderPreferredStore","React","constructor","modalCloseButtonRef","handleClick","this","_findPreferredStoreOnClick","props","render","data","storeSelectorStateManager","result","slots","resources","ArrayExtensions","hasElements","storeSelector","storeName","preferredStore","StoreName","headerPreferredStoreText","className","color","headerPreferredStoreAriaLabel","onClick","ref","modules","storeSelectorId","Object","keys","length","id","openDialog","showMapViewLink","parentElementRef","onLocationSelected","orgUnitLocation","Promise","resolve","catch","error","telemetry","message","debug","__decorate","observer","Logo","super","payLoad","getPayloadObject","telemetryContent","TelemetryConstant","attributes","getTelemetryAttributes","_renderLogo","config","link","linkUrl","destinationUrl","assign","href","ariaLabel","target","openInNewTab","undefined","rel","_renderImage","Msdyn365","image","requestContext","gridSettings","imageSettings","viewports","xs","q","w","h","lg","lazyload","loadFailureBehavior","editProps","key","moduleType","typeName","imagePropertyName","shouldSkipToMainImage","NavIcon","Button","toggleNavBar","title","mobileHamburgerAriaLabel","isExpanded","targetId","Notes","_renderNotesLink","Header","isB2BSite","handleLinkTextChange","linkIndex","event","_this$props$config$my","myAccountLinks","linkText","value","popOverRef","_toggleNavbar","bind","_togglePopover","_keydown","state","mobileMenuCollapsed","signinPopoverOpen","hasSigninerror","getTelemetryObject","context","request","telemetryPageName","friendlyName","isChannelTypeB2B","_this$props$context$r","MsDyn365","workerName","customerName","user","name","_this$props$data$empl","worker","employee","Name","_this$props$data$acco","customer","accountInformation","FirstName","componentDidMount","isBrowser","window","addEventListener","reaction","cart","signUpCustomerNotFoundTitle","signUpMultipleCustomerFoundTitle","signInCustomerNotAuthorizedTitle","closeNotificationLabel","signinNotificationError","_getSigninNotification","NotificationsManager","instance","addNotification","ErrorNotification","componentWillUnmount","removeEventListener","wishlists","cartLabel","cartQtyLabel","logoLink","notesLink","logoImage","shouldShowWishlistCount","disableTooltip","app","headerToggleClass","headerClassName","classnames","navbarKey","cartIconSlot","_getSlot","menuBarSlot","searchSlot","wishlistCount","siteOptionsSlot","preferredStoreSlot","currentDistributorSlot","CommerceListLines","viewProps","_objectSpread","logo","notes","wishListIconDesktop","WishListIconComponent","showButtonTooltip","wishlistTooltipText","wishlistCountLabel","isDispayWishlistCount","wishListIconMobile","cartIcon","CartIconComponent","navIcon","menuBar","search","siteOptions","HeaderTag","moduleProps","headerAriaLabel","tag","HeaderContainer","HeaderTopBarContainer","Divider","MobileMenuContainer","Modal","isOpen","wrapClassName","toggle","MobileMenuHeader","ModalHeader","MobileMenuBodyContainer","ModalBody","MobileMenuLinksContainer","AccountInfoDropdownParentContainer","AccountInfoDropdownPopoverConentContainer","displayName","Popover","placement","signInLink","_getSigninButton","signOutLink","_getSignOutButton","isOBORequest","switchCustomerLink","_getSwitchCustomerButton","accountInfoDropdownButton","_getAccountInfoDropdownButton","accountLinks","_getAccountLinks","currentDistributor","renderView","slotName","SignIn","signInLinkText","signInUrl","signInLinkAriaText","onTelemetryClick","_user$signOutUrl","SignOut","signOutLinkText","signOutUrl","signOutLinkAriaText","SwitchCustomer","isOBOAccountSelected","cookies","getAccountSelectionCookie","switchCustomerLinkAriaText","switchCustomerLinkText","getBusinessPartnerSelectionUrl","role","removeAccountSelectionCookie","format","shoppingAsText","route","actionContext","url","URL","location","forEach","param","searchParams","delete","retailServerErrorCode","signUpCustomerNotFound","signUpMultipleCustomerFound","signInCustomerNotAuthorized","retailServerErrorMessage","MyProfile","innerRef","map","cta","index","contentAction","etext","editableLink","additionalProperties","onTextChange","setState","keyCode","KeyCodes","Escape","computed","_renderReactFragment","items","slot","Module","Node","_renderDesktopAccountBlock","HeaderView","_configureStickyHeader","headerAlertsContainer","document","querySelector","bannerHeights","offsetHeight","headerElement","documentElement","scrollTop","classList","add","remove","stickyHeader","headerLogo","navStickyPos","_renderAccountBlock","accountClassName","_renderAccountDropdownLinks","_renderSearchReactFragment","menuNode","useStickyHeader","_renderMobileLogo","_config$mobileLogoIma","mobileLogoImage","binding","dataActions","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","c","require","$type","da","path","runOn","iNM","ns","n","p","pdp","md","__bindings__","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}