{"version":3,"file":"static/js/d0781cc8e096246be5ae.bundle.js","mappings":";kNAYA,MA4BaA,EAAkBA,CAACC,EAAoBC,KAChD,MAAMC,EAAcD,GAAOA,EAAIE,MAAM,KACrC,IAAIC,EACJ,IAAIF,MAAAA,OAAW,EAAXA,EAAaG,QAAS,EAAG,CACzB,IAAK,MAAOC,EAAGC,KAASP,EAAMQ,UAAW,KAAAC,EACrC,MAAMC,EAAqC,QAAtBD,EAAGF,EAAKI,sBAAc,IAAAF,OAAA,EAAnBA,EAAqBN,MAAM,KAC/CO,EAAgBA,EAAgBL,OAAS,KAAOH,GAAYA,MAAAA,OAAW,EAAXA,EAAaG,QAAS,KAClFD,EAAeG,GAGvB,OAAOH,IAOFQ,EAAuBZ,IAChC,MAAMa,EAA2B,GASjC,OAPAb,EAAMc,SAAQ,CAACP,EAAMQ,KACjB,MAAMC,EAAa,CACfL,eAAgBJ,EAAKU,QAAQN,eAC7BO,SAAUX,EAAKW,UAEnBL,EAAYM,KAAKH,MAEdH,GAIX,EA3D2CO,IAA4B,IAA3B,MAAEpB,EAAK,IAAEC,EAAG,QAAEoB,GAASD,EAC/D,MAAMP,EAAcD,EAAoBZ,GAClCI,EAAeL,EAAgBc,EAAaZ,IAC3CqB,EAAUC,GAAeC,EAAAA,UAAe,GAE/C,OACIA,EAAAA,cAAA,OAAKC,UAAU,wCACXD,EAAAA,cAAA,KAAGE,KAAMtB,MAAAA,OAAY,EAAZA,EAAcc,SAAUS,QAHtBC,IAAML,GAAaD,IAIzBlB,EAAeA,EAAac,SAAWG,GAE5CG,EAAAA,cAAA,MAAIC,UAAWH,EAAW,2BAA6B,4BAElDT,EAAYgB,KAAKtB,GACdiB,EAAAA,cAAA,MACIM,IAAKvB,EAAKW,SACVO,UACIlB,EAAKW,YAAad,MAAAA,OAAY,EAAZA,EAAcc,UAAW,kCAAoC,4BAGnFM,EAAAA,cAAA,KAAGO,KAAMxB,EAAKI,gBAAiBJ,EAAKW,gBCZtD,MAAOc,UAAyBR,EAAAA,cAC3BS,SACH,MAAMpB,EAAcD,EAAoBsB,KAAKC,MAAMnC,OAC7CI,EAAeL,EAAgBc,EAAaqB,KAAKC,MAAMlC,KAC7D,OACIuB,EAAAA,cAAA,OAAKC,UAAU,2BACXD,EAAAA,cAAA,MAAIC,UAAU,sBACTZ,EAAYgB,KAAKtB,GACdiB,EAAAA,cAAA,MACIM,IAAKvB,EAAKW,SACVO,UACIlB,EAAKW,YAAad,MAAAA,OAAY,EAAZA,EAAcc,UAAW,kCAAoC,4BAGnFM,EAAAA,cAAA,KAAGO,KAAMxB,EAAKI,gBAAiBJ,EAAKW,gBAQhE,+kBCbA,MAAMkB,UAA2BZ,EAAAA,cAAjCa,kCACY,KAAAC,kBAAsCC,EAAAA,EAAAA,oBAC1CL,KAAKC,MAAMK,QAAQC,QAAQC,kBAC3BR,KAAKC,MAAMQ,aACXT,KAAKC,MAAMS,WAoER,KAAAC,qBAAwBC,GAAuBC,IAC9Cb,KAAKC,MAAMa,OAAOhD,OAASkC,KAAKC,MAAMa,OAAOhD,MAAM8C,KACnDZ,KAAKC,MAAMa,OAAOhD,MAAM8C,GAAW5B,SAAW6B,EAAME,OAAOC,QApE5DjB,SACH,MAAM,MAAEjC,EAAK,UAAEyB,GAAcS,KAAKC,MAAMa,QAClC,UAAEG,EAAS,QAAEX,GAAYN,KAAKC,OAC9B,YAAEiB,GAAgBlB,KAAKC,MAAMkB,KAInC,IAAIpD,EAAMqD,EAAAA,GAAoB,uBAAwBpB,KAAKC,MAAMK,QAAQe,gBAAkB,GAC3F,MAAMC,EAAkB,CACpBtC,SAAUgB,KAAKC,MAAMa,OAAOS,oBAC5BxC,QAAS,CAAEN,eAAgBV,EAAKyD,KAAM,gBACtCC,UAAWzB,KAAKC,MAAMa,OAAOS,qBAejC,GAVIL,GAAeA,EAAYQ,QAAUR,EAAYQ,OAAOC,aACxDL,EAAgBG,UAAYzB,KAAKC,MAAMa,OAAOS,oBAC9CD,EAAgBtC,SAAWgB,KAAKC,MAAMa,OAAOS,oBAC7CxD,EAAMqD,EAAAA,GAAoB,UAAWd,EAAQe,gBAAkB,GAC/DC,EAAgBvC,QAAQN,eAAiBV,GAMzCD,GAASA,EAAMK,OAAS,EAAG,CAE3B,MAAMyD,GAAgB5B,KAAKC,MAAMa,OAAOe,yBAA2B,GAAK,EAC1D/D,EAAMgE,WAAUC,IAAC,IAAAC,EAAAC,EAAA,OAAc,QAAVD,EAAAD,EAAE/C,gBAAQ,IAAAgD,OAAA,EAAVA,EAAYE,kBAAuD,QAA1CD,EAAKjC,KAAKC,MAAMa,OAAOS,2BAAmB,IAAAU,OAAA,EAArCA,EAAuCC,kBAC5F,GACRpE,EAAMqE,OAAOP,EAAc,EAAGN,GAItC,MAAMc,EAAoBtE,GAASA,EAAMK,OAAS,GAC9CmB,EAAAA,cAAC+C,EAAcC,OAAAC,OAAA,GACP,CACAzE,MAAOA,EACP0E,aAAcxC,KAAKW,qBACnB8B,eAAgBzC,KAAKC,MAAMK,QAAQC,QACnCH,iBAAkBJ,KAAKI,iBACvBrC,IAAKuC,EAAQC,QAAQmC,gBAI3BC,EAAgB7E,GAASA,EAAMK,OAAS,GAC1CmB,EAAAA,cAACsD,EAAQ,CAACzD,QAAS8B,EAAU4B,qBAAsB9E,IAAKuC,EAAQC,QAAQmC,aAAe5E,MAAOA,IAE5FgF,EAAoBC,EAAAA,EAAA,GACnB/C,KAAKC,OAAK,IACbnC,MAAOsE,EACPO,cAAAA,EACAK,YAAahD,KAAKC,MAAMa,OAAOvB,UAC/B0D,sBAAuB,CACnBC,YAAalD,KAAKC,MAClBV,UAAW4D,GAAAA,CAAW,kBAAmB5D,IAE7C6D,sBAAuB,CACnBC,IAAK,IACL9D,UAAW,wBACXC,KAAM,UAGd,OAAOQ,KAAKC,MAAMqD,WAAWR,IASrC,oFClGA,QAAgB7C,IACZ,MAAM,UAAEV,EAAS,MAAEzB,EAAK,sBAAEmF,EAAqB,UAAEhC,EAAS,cAAE0B,GAAkB1C,GACvEsD,EAAYC,GAAiBlE,EAAAA,SAAe,IAC5C,CAAEmE,GAAenE,EAAAA,UAAe,GAEvCA,EAAAA,WAAgB,KACZoE,IACAC,SAAUC,EAAAA,EAAAA,mBAAkBD,OAAQ,SAAUD,MAGlD,MAAMA,EAAgBA,KAClB,MAAMG,EAAYC,EAAa7D,EAAMK,SACrCmD,EAAYI,IAGhBvE,EAAAA,WAAgB,KACZ,MAAMyE,EAAQC,EAAe/D,EAAMK,SACnCkD,EAAcO,MAElB,MAAMC,EAAkBC,IAMpB,QAAsBC,WAAXP,QAAwBA,OAAOQ,WAAY,CAClD,MAAMC,EAAeH,EAAI1D,QAAQ6D,aACjC,GAAIA,EACA,OAAIA,EAAaC,IAAMV,OAAOQ,WAAaC,EAAaC,GAAGC,EAEhD,EACAF,EAAaG,IAAMZ,OAAOQ,YAAcC,EAAaG,GAAGD,EAExD,GACAF,EAAaI,IAAMb,OAAOQ,YAAcC,EAAaI,GAAGF,GAGxDF,EAAaK,KAAMd,OAAOQ,WAAcC,EAAaK,GAAGH,GADxD,GAUnB,OAAO,GAEX,OAAIf,EAAa,GAAKA,GAAc,EAE5BjE,EAAAA,cAACoF,EAAAA,OAAMpC,OAAAC,OAAA,GAAKU,GACR3D,EAAAA,cAAA,UAAK2B,EAAU0D,aACfrF,EAAAA,cAACsF,EAAAA,KAAI,CAACrF,UAAWA,GAAaoD,IAKtCrD,EAAAA,cAACoF,EAAAA,OAAMpC,OAAAC,OAAA,GAAKU,GACR3D,EAAAA,cAAA,UAAK2B,EAAU0D,aACfrF,EAAAA,cAACsF,EAAAA,KAAI,CAACrF,UAAWA,GAAazB,KAMpCgG,EAAgBxD,IAMlB,QAAsB4D,WAAXP,QAAwBA,OAAOQ,WAAY,CAClD,MAAMC,EAAe9D,EAAQC,QAAQ6D,aACrC,GAAIA,EACA,SAAIA,EAAaC,IAAMV,OAAOQ,WAAaC,EAAaC,GAAGC,QAEhDF,EAAaG,IAAMZ,OAAOQ,WAAaC,EAAaG,GAAGD,KAEvDF,EAAaI,IAAMb,OAAOQ,YAAcC,EAAaI,GAAGF,GAExDF,EAAaK,KAAMd,OAAOQ,WAAcC,EAAaK,GAAGH,IADxD,IASnB,OAAO,wmBCjGX,MAAMO,EAAU,CAAEC,QAAS,GAAIC,YAAa,IAwCvCF,EAAQC,QAAQ,wBAA0B,CACvCE,EAAGA,IAAMC,EAAQ,MACjBC,MAAO,gBACPC,GAAI,CAAC,CAACC,KAAK,cAAgBC,KAAK,sEAAuEC,MAAO,IAE9GC,KAAK,EACLC,GAAI,YACJC,EAAG,uBACHC,EAAG,YAEHC,IAAK,GAGLnB,GAAI,oCAlC4BoB,EAACC,EAAqBC,KAUlD,GADAjB,EAAQE,YAAYc,GAAuBC,GACtCjB,EAAQE,YAAYc,GAAqBE,QAC1C,MAAM,IAAIC,MAAM,oBAAsBH,EAAsB,mCAEhEhB,EAAQE,YAAYc,GAAqBE,QAAQE,UAAUC,eAAiBL,EACxEhB,EAAQE,YAAYc,GAAqBE,QAAQE,UAAUE,KAC3DtB,EAAQE,YAAYF,EAAQE,YAAYc,GAAqBE,QAAQE,UAAUE,IAAMN,IA0BzFD,CAF4B,sEACXX,EAAQ,KAMjCtB,OAAOyC,aAAezC,OAAOyC,cAAgB,GAC7CzC,OAAOyC,aAAatB,QAAO/B,EAAAA,EAAA,GACpBY,OAAOyC,aAAatB,SAAW,IAC/BD,EAAQC,SAGXnB,OAAOyC,aAAarB,YAAWhC,EAAAA,EAAA,GAC5BY,OAAOyC,aAAarB,aAAe,IACnCF,EAAQE,aAEY,MAAMsB,EAAiB,GAC9BA,EAAe,yEAA2E,CAClGrB,EAAGA,IAAMC,EAAQ,MACjBqB,GAAI,4CAEpB3C,OAAOyC,aAAezC,OAAOyC,cAAgB,GAC7CzC,OAAOyC,aAAaC,eAActD,EAAAA,EAAA,GACPY,OAAOyC,aAAaC,gBAAkB,IACtCA,UCnF3BE,EAAOC,QAAUlH,cCAjBiH,EAAOC,QAAUC","sources":["webpack://Dobbies.Commerce/./src/modules/dobbies-account-menu/components/dropDown.tsx?288f","webpack://Dobbies.Commerce/./src/modules/dobbies-account-menu/components/links.tsx?3257","webpack://Dobbies.Commerce/./src/modules/dobbies-account-menu/dobbies-account-menu.tsx?9ef1","webpack://Dobbies.Commerce/./src/modules/dobbies-account-menu/dobbies-account-menu.view.tsx?28d9","webpack://Dobbies.Commerce/./lib/dobbies-account-menu/module-registration.js?c24e","webpack://Dobbies.Commerce/external var \"React\"?0d3b","webpack://Dobbies.Commerce/external var \"ReactDOM\"?853b"],"sourcesContent":["import * as React from 'react';\r\nimport { ILinksData } from '../dobbies-account-menu.props.autogenerated';\r\n\r\nexport interface IDropDownProps {\r\n links: ILinksData[];\r\n url: string;\r\n heading: string;\r\n}\r\nexport interface ILinkType {\r\n destinationUrl: string;\r\n linkText: string | undefined;\r\n}\r\nconst DropDown: React.FC = ({ links, url, heading }) => {\r\n const mappedLinks = _mapLinksToDropDown(links);\r\n const selectedLink = getSelectedLink(mappedLinks, url);\r\n const [showList, setShowList] = React.useState(false);\r\n const ToggleList = () => setShowList(!showList);\r\n return (\r\n
\r\n

\r\n {selectedLink ? selectedLink.linkText : heading}\r\n

\r\n \r\n
\r\n );\r\n};\r\n/* VSI-Customization -- START Return the selected link based on URL */\r\nexport const getSelectedLink = (links: ILinkType[], url: string) => {\r\n const splittedUrl = url && url.split('/');\r\n let selectedLink;\r\n if (splittedUrl?.length > 0) {\r\n for (const [_, link] of links.entries()) {\r\n const splittedLinkUrl = link.destinationUrl?.split('/');\r\n if (splittedLinkUrl[splittedLinkUrl.length - 1] === splittedUrl[splittedUrl?.length - 1]) {\r\n selectedLink = link;\r\n }\r\n }\r\n return selectedLink;\r\n }\r\n return;\r\n};\r\n/* VSI-Customization -- END */\r\n\r\n/* VSI-Customization -- START Map links coming from CMS into object with linktext and destinationURL */\r\nexport const _mapLinksToDropDown = (links: ILinksData[]) => {\r\n const mappedLinks: ILinkType[] = [];\r\n\r\n links.forEach((link, index) => {\r\n const mappedLink = {\r\n destinationUrl: link.linkUrl.destinationUrl,\r\n linkText: link.linkText\r\n };\r\n mappedLinks.push(mappedLink);\r\n });\r\n return mappedLinks;\r\n};\r\n/* VSI-Customization -- END */\r\n\r\nexport default DropDown;\r\n","import { ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\nimport { ILinksData } from '../dobbies-account-menu.props.autogenerated';\r\nimport { _mapLinksToDropDown, getSelectedLink, ILinkType } from './dropDown';\r\n\r\nexport interface IContentCardLinks {\r\n links: ILinksData[];\r\n requestContext: Msdyn365.IRequestContext;\r\n telemetryContent: ITelemetryContent;\r\n url: string;\r\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\r\n}\r\n\r\n/**\r\n *\r\n * ContentCardLinks component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class ContentCardLinks extends React.PureComponent {\r\n public render(): JSX.Element {\r\n const mappedLinks = _mapLinksToDropDown(this.props.links);\r\n const selectedLink = getSelectedLink(mappedLinks, this.props.url);\r\n return (\r\n
\r\n
    \r\n {mappedLinks.map((link: ILinkType) => (\r\n \r\n {link.linkText}\r\n \r\n ))}\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default ContentCardLinks;\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/* eslint-disable security/detect-object-injection */\r\nimport * as React from 'react';\r\n\r\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport DropDown from './components/dropDown';\r\nimport LinksComponent from './components/links';\r\nimport { IDobbiesAccountMenuData } from './dobbies-account-menu.data';\r\nimport { IDobbiesAccountMenuProps } from './dobbies-account-menu.props.autogenerated';\r\n\r\nexport interface IDobbiesAccountMenuViewProps extends IDobbiesAccountMenuProps<{}> {\r\n links?: React.ReactNode;\r\n contentBlockAnchorTag?: INodeProps;\r\n className?: string;\r\n contentBlockContainer: IModuleProps;\r\n dropDownLinks: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * DobbiesAccountMenu component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass DobbiesAccountMenu extends React.PureComponent> {\r\n private telemetryContent: ITelemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n public render(): JSX.Element | null {\r\n const { links, className } = this.props.config;\r\n const { resources, context } = this.props;\r\n const { loyaltyCard } = this.props.data;\r\n /* VSI-Customization -- START By default dobbies club text will be rendered as link with loyalty join link */\r\n\r\n // by default dobbies club marketing page link\r\n let url = Msdyn365.getUrlSync('dobbiesClubMarketing', this.props.context.actionContext) || '';\r\n const dobbiesClubLink = {\r\n linkText: this.props.config.dobbiesClubLinkText,\r\n linkUrl: { destinationUrl: url, type: 'internalLink' },\r\n ariaLabel: this.props.config.dobbiesClubLinkText\r\n };\r\n /* VSI-Customization -- END */\r\n\r\n /* VSI-Customization -- START If user has loyalty card then change the URL from loyalty-join to loyalty */\r\n if (loyaltyCard && loyaltyCard.result && loyaltyCard.result.CardNumber) {\r\n dobbiesClubLink.ariaLabel = this.props.config.dobbiesClubLinkText;\r\n dobbiesClubLink.linkText = this.props.config.dobbiesClubLinkText;\r\n url = Msdyn365.getUrlSync('loyalty', context.actionContext) || '';\r\n dobbiesClubLink.linkUrl.destinationUrl = url;\r\n }\r\n /* VSI-Customization -- END */\r\n\r\n // Push the dobbies club link into links array coming from CMS\r\n // If link doesn't exist in links array push it inside array\r\n if (links && links.length > 0) {\r\n // splice(index, 0, value)\r\n const linkPosition = (this.props.config.dobbiesClubLinkPosition || 2) - 1;\r\n const index = links.findIndex(x => x.linkText?.toLowerCase() === this.props.config.dobbiesClubLinkText?.toLowerCase());\r\n if (index < 0) {\r\n links.splice(linkPosition, 0, dobbiesClubLink);\r\n }\r\n }\r\n\r\n const contentBlockLinks = links && links.length > 0 && (\r\n \r\n );\r\n const dropDownLinks = links && links.length > 0 && (\r\n \r\n );\r\n const accountMenuViewProps = {\r\n ...this.props,\r\n links: contentBlockLinks,\r\n dropDownLinks,\r\n moduleClass: this.props.config.className,\r\n contentBlockContainer: {\r\n moduleProps: this.props,\r\n className: classnames('ms-account-menu', className)\r\n },\r\n contentBlockAnchorTag: {\r\n tag: 'a',\r\n className: 'ms-account-menu__link',\r\n role: 'link'\r\n }\r\n };\r\n return this.props.renderView(accountMenuViewProps);\r\n }\r\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\r\n if (this.props.config.links && this.props.config.links[linkIndex]) {\r\n this.props.config.links[linkIndex].linkText = event.target.value;\r\n }\r\n };\r\n}\r\n\r\nexport default DobbiesAccountMenu;\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\nimport { addThrottledEvent, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\nimport { IDobbiesAccountMenuViewProps } from './dobbies-account-menu';\r\n\r\nexport default (props: IDobbiesAccountMenuViewProps) => {\r\n const { className, links, contentBlockContainer, resources, dropDownLinks } = props;\r\n const [screenSize, setScreenSize] = React.useState(0); // mobile first approach\r\n const [, setIsMobile] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n setMobileView();\r\n window && addThrottledEvent(window, 'resize', setMobileView);\r\n });\r\n\r\n const setMobileView = () => {\r\n const _isMobile = isMobileView(props.context);\r\n setIsMobile(_isMobile);\r\n };\r\n\r\n React.useEffect(() => {\r\n const isMbl = _getScreenSize(props.context);\r\n setScreenSize(isMbl);\r\n });\r\n const _getScreenSize = (ctx: ICoreContext): number => {\r\n // always render in mobile viewport on a mobile device\r\n // if (ctx.request && ctx.request.device && ctx.request.device.Type === 'Mobile') {\r\n // return 1;\r\n // }\r\n\r\n if (typeof window !== undefined && window.innerWidth) {\r\n const gridSettings = ctx.request.gridSettings;\r\n if (gridSettings) {\r\n if (gridSettings.xs && window.innerWidth < gridSettings.xs.w) {\r\n // mobile\r\n return 1;\r\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\r\n // iPad\r\n return 2;\r\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\r\n // Desktop\r\n return 3;\r\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\r\n // Desktop\r\n return 3;\r\n } else {\r\n return 3;\r\n }\r\n }\r\n }\r\n\r\n return 3; // desktop\r\n };\r\n if (screenSize > 0 && screenSize <= 2) {\r\n return (\r\n \r\n

{resources.headingText}

\r\n {dropDownLinks}\r\n
\r\n );\r\n }\r\n return (\r\n \r\n

{resources.headingText}

\r\n {links}\r\n
\r\n );\r\n};\r\n\r\n/* VSI Customization - START */\r\nconst isMobileView = (context: ICoreContext): boolean => {\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 true;\r\n } */\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 true;\r\n } else if (gridSettings.sm && window.innerWidth < gridSettings.sm.w) {\r\n return true;\r\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\r\n return false;\r\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\r\n return false;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n/* VSI Customization - END */\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['dobbies-account-menu'] = {\n c: () => require('partner/modules/dobbies-account-menu/dobbies-account-menu.tsx'),\n $type: 'contentModule',\n da: [{name:'loyaltyCard', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-loyalty-card', runOn: 0}],\n \n iNM: false,\n ns: '__local__',\n n: 'dobbies-account-menu',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/dobbies-account-menu'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-loyalty-card';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-loyalty-card');\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|dobbies-account-menu|dobbies-account-menu'] = {\n c: () => require('partner/modules/dobbies-account-menu/dobbies-account-menu.view.tsx'),\n cn: '__local__-__local__-dobbies-account-menu'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;"],"names":["getSelectedLink","links","url","splittedUrl","split","selectedLink","length","_","link","entries","_link$destinationUrl","splittedLinkUrl","destinationUrl","_mapLinksToDropDown","mappedLinks","forEach","index","mappedLink","linkUrl","linkText","push","_ref","heading","showList","setShowList","React","className","role","onClick","ToggleList","map","key","href","ContentCardLinks","render","this","props","DobbiesAccountMenu","constructor","telemetryContent","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","handleLinkTextChange","linkIndex","event","config","target","value","resources","loyaltyCard","data","Msdyn365","actionContext","dobbiesClubLink","dobbiesClubLinkText","type","ariaLabel","result","CardNumber","linkPosition","dobbiesClubLinkPosition","findIndex","x","_x$linkText","_this$props$config$do","toLowerCase","splice","contentBlockLinks","LinksComponent","Object","assign","onTextChange","requestContext","canonicalUrl","dropDownLinks","DropDown","headingTextForMobile","accountMenuViewProps","_objectSpread","moduleClass","contentBlockContainer","moduleProps","classnames","contentBlockAnchorTag","tag","renderView","screenSize","setScreenSize","setIsMobile","setMobileView","window","addThrottledEvent","_isMobile","isMobileView","isMbl","_getScreenSize","ctx","undefined","innerWidth","gridSettings","xs","w","sm","md","lg","Module","headingText","Node","binding","modules","dataActions","c","require","$type","da","name","path","runOn","iNM","ns","n","p","pdp","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","id","__bindings__","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}