{"version":3,"file":"static/js/be02b6f847ab826c9aa4.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/themes/moetwksitetheme/views/breadcrumb.view.tsx?a239","webpack://Msdyn365.Commerce.Online/./lib/breadcrumb/module-registration.js?ed67","webpack://Msdyn365.Commerce.Online/./src/modules/breadcrumb/components/link.tsx?d232","webpack://Msdyn365.Commerce.Online/./src/modules/breadcrumb/components/separator.tsx?92bb","webpack://Msdyn365.Commerce.Online/./src/modules/breadcrumb/breadcrumb.tsx?efcc","webpack://Msdyn365.Commerce.Online/./src/modules/breadcrumb/breadcrumb.view.tsx?4b3d","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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { IBreadcrumbViewProps } from '@msdyn365-commerce-modules/breadcrumb/src/modules/breadcrumb/./breadcrumb';\r\n\r\nconst BreadCrumbView: React.FC = props => {\r\n const { root, links, backButton, BreadcrumbContainer, BreadcrumbList, BreadcrumbListItem, separator } = props;\r\n if (!root && !links && !backButton) {\r\n props.context.telemetry.error('BreadCrumb content is empty, module wont render');\r\n return null;\r\n }\r\n\r\n const getBreadcrumbNameAndUrl = () => {\r\n let breadCrumbName = '';\r\n let breadCrumbUrl = '';\r\n if (root) {\r\n // @ts-ignore\r\n const nameArray = root.props.text ? link.props.text.split('^') : link.props.children.split('^');\r\n breadCrumbName = nameArray[1];\r\n // @ts-ignore\r\n breadCrumbUrl = root.props.href;\r\n }\r\n\r\n return { breadCrumbName, breadCrumbUrl };\r\n };\r\n return (\r\n \r\n \r\n {root && (\r\n \r\n \r\n {getBreadcrumbNameAndUrl().breadCrumbName}\r\n \r\n {/* {root} */}\r\n {links && separator}\r\n \r\n )}\r\n {backButton && {backButton}}\r\n {links &&\r\n links.map((link, index) => {\r\n // @ts-ignore\r\n const nameArray = link.props.text ? link.props.text.split('^') : link.props.children.split('^');\r\n const breadCrumbText = nameArray[1];\r\n return (\r\n \r\n \r\n \r\n {breadCrumbText}\r\n \r\n {/* {link} */}\r\n {links[index + 1] && separator}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default BreadCrumbView;\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['breadcrumb'] = {\n c: () => require('@msdyn365-commerce-modules/breadcrumb/dist/lib/modules/breadcrumb/breadcrumb'),\n $type: 'contentModule',\n da: [{name:'categoryHierarchy', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-current-category-hierarchy', runOn: 0},{name:'categoryPaths', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-category-paths', runOn: 0},{name:'product', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-selected-variant', runOn: 0}],\n \n iNM: true,\n ns: '@msdyn365-commerce-modules',\n n: 'breadcrumb',\n p: 'breadcrumb',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/breadcrumb/dist/lib/modules/breadcrumb'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-category-paths';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-category-paths');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-current-category-hierarchy';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-current-category-hierarchy');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-selected-variant';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-selected-variant');\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__|themes|moetwksitetheme|views|breadcrumb'] = {\n c: () => require('partner/themes/moetwksitetheme/views/breadcrumb.view.tsx'),\n cn: '__local__-__local__-breadcrumb'\n };\nviewDictionary['@msdyn365-commerce-modules|breadcrumb|modules|breadcrumb|breadcrumb'] = {\n c: () => require('@msdyn365-commerce-modules/breadcrumb/dist/lib/modules/breadcrumb/breadcrumb.view.js'),\n cn: '@msdyn365-commerce-modules-breadcrumb-breadcrumb'\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 { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface ILink {\n className?: string;\n text?: string;\n href?: string;\n ariaLabel?: string;\n index: string;\n noclick?: boolean;\n telemetryContent: ITelemetryContent;\n}\n\nexport const Link: React.FC = ({ text, className, href, ariaLabel, index, noclick, telemetryContent }) => {\n const payLoad = getPayloadObject('click', telemetryContent, '', '');\n\n const linkText = text !== undefined ? text : '';\n payLoad.contentAction.etext = linkText;\n\n // Construct telemetry attribute to render\n const attribute = getTelemetryAttributes(telemetryContent, payLoad);\n\n return (\n \n {linkText}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface ISeparator {\n separator: string;\n}\n\nexport const Separator: React.FC = ({ separator }) => (\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { CategoryHierarchy } from '@msdyn365-commerce/commerce-entities';\nimport MsDyn365 from '@msdyn365-commerce/core';\nimport { ICategoryUrl } from '@msdyn365-commerce/core-internal/dist/types/interfaces/ICategoryPathInterfaces';\nimport { TextValueTranslation } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IBreadcrumbData } from './breadcrumb.data';\nimport { IBreadcrumbProps, ILinksData } from './breadcrumb.props.autogenerated';\nimport { Link } from './components/link';\nimport { Separator } from './components/separator';\n\nexport interface IBreadcrumbViewProps extends IBreadcrumbProps {\n root?: React.ReactNode;\n links?: React.ReactNode[];\n backButton?: React.ReactNode;\n separator?: React.ReactNode;\n BreadcrumbContainer: IModuleProps;\n BreadcrumbList: INodeProps;\n BreadcrumbListItem: INodeProps;\n}\n\n/**\n *\n * Breadcrumb component.\n * @extends {React.PureComponent>}\n */\nclass Breadcrumb extends React.PureComponent> {\n private readonly _pageType: string | undefined = this.props.context.request.urlTokens.pageType;\n\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public render(): JSX.Element | null {\n const { className } = this.props.config;\n let rootLink = null;\n let breadcrumbLinks = null;\n let backButtonComponent = null;\n rootLink = this._getRootLink();\n const itemPosition = rootLink ? 1 : 0;\n if (this._pageType === 'Category') {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n if (!breadcrumbLinks) {\n breadcrumbLinks = this._getCategoryHierarchy(itemPosition);\n }\n } else if (this._pageType === 'Product') {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n if (!breadcrumbLinks) {\n const breaCrumbType = this.props.context.app.config.breadcrumbType;\n if (breaCrumbType === 'category') {\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n if (breaCrumbType === 'categoryAndBack') {\n backButtonComponent = this._getPDPBackButton();\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n if (breaCrumbType === 'back') {\n backButtonComponent = this._getPDPBackButton();\n if (backButtonComponent === null) {\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n }\n }\n } else {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n }\n const linkSeparator = ;\n\n const breadcrumbViewProps = {\n ...this.props,\n BreadcrumbContainer: {\n moduleProps: this.props,\n className: classnames('ms-breadcrumb', className),\n tag: 'nav',\n role: 'navigation'\n },\n BreadcrumbList: {\n tag: 'ol' as NodeTag,\n className: 'ms-breadcrumb_list'\n },\n BreadcrumbListItem: {\n tag: 'li',\n className: 'ms-breadcrumb_item'\n },\n root: rootLink,\n links: breadcrumbLinks,\n backButton: backButtonComponent,\n separator: linkSeparator\n };\n return this.props.renderView(breadcrumbViewProps) as React.ReactElement;\n }\n\n private readonly _getRootLink = (): JSX.Element | null => {\n const { root } = this.props.config;\n if (!root || !root.linkUrl || !root.linkUrl.destinationUrl) {\n this.props.context.telemetry.error('BreadCrumb link url content is empty, link wont render');\n return null;\n }\n return (\n \n );\n };\n\n private readonly _getCustomBreadcrumbLinks = (itemPosition: number): JSX.Element[] | null => {\n const { links } = this.props.config;\n\n if (!links || links.length === 0) {\n this.props.context.telemetry.error('BreadCrumb links content is empty, links wont render');\n return null;\n }\n const defaultValueToSubtract = 1;\n return links.map((value: ILinksData, index: number) => {\n itemPosition++;\n const keyIndex = index;\n return index !== links.length - defaultValueToSubtract ? (\n \n ) : (\n
\n {value.linkText}\n
\n );\n });\n };\n\n private readonly _getCategoryHierarchy = (itemPosition: number): JSX.Element[] | null => {\n const { data } = this.props;\n const categoryHierarchy = data.categoryHierarchy.result;\n if (!categoryHierarchy) {\n this.props.context.telemetry.error('Category Hierarchy content is empty, module wont render');\n return null;\n }\n return categoryHierarchy.map((value: CategoryHierarchy, index: number) => {\n itemPosition++;\n\n const friendlyName = this._getFriendlyName(this.props.context.request.locale, value.NameTranslations);\n\n return (\n \n );\n });\n };\n\n /**\n * The function to get translation name for the locale.\n * @param locale - The locale information.\n * @param nameTranslations - The name translations names.\n * @returns - The translation name for the locale.\n */\n private readonly _getFriendlyName = (locale: string, nameTranslations?: TextValueTranslation[]): string | undefined => {\n let nameTranslation: TextValueTranslation | undefined;\n if (locale && nameTranslations && ArrayExtensions.hasElements(nameTranslations)) {\n nameTranslation = nameTranslations.find(item => item.Language!.toLowerCase() === locale.toLowerCase());\n }\n\n // If friendly name for current locale is null, should use default locale.\n if (nameTranslation === undefined && ArrayExtensions.hasElements(nameTranslations)) {\n nameTranslation = nameTranslations[0];\n }\n\n return nameTranslation?.Text;\n };\n\n private readonly _getPDPLinks = (itemPosition: number): JSX.Element[] | null => {\n const { data, config } = this.props;\n const categoryHierarchy = data.categoryPaths.result;\n const product = data.product.result;\n const url = this.props.context.request.url.requestUrl.href;\n if (!categoryHierarchy) {\n this.props.context.telemetry.error('Category path content is empty for the product');\n return null;\n }\n const links: JSX.Element[] = [];\n\n categoryHierarchy.map((value: ICategoryUrl, index: number) => {\n itemPosition++;\n links.push(\n \n );\n });\n if (product && !config.hideProductName) {\n itemPosition++;\n links.push(\n \n );\n }\n return links;\n };\n\n private readonly _goBack = (): void => {\n window.history.back();\n };\n\n private readonly _getPDPBackButton = (): JSX.Element | null => {\n const isBackAllowed =\n this.props.context && this.props.context.request && this.props.context.request.query && this.props.context.request.query.back;\n if (!isBackAllowed) {\n return null;\n }\n if (MsDyn365.isBrowser && (document.referrer === '' || window.history.length < 2)) {\n return null;\n }\n return (\n \n {this.props.resources.backToResultsText}\n \n );\n };\n}\n\nexport default Breadcrumb;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IBreadcrumbViewProps } from './breadcrumb';\n\nconst BreadCrumbView: React.FC = props => {\n const { root, links, backButton, BreadcrumbContainer, BreadcrumbList, BreadcrumbListItem, separator } = props;\n if (!root && !links && !backButton) {\n props.context.telemetry.error('BreadCrumb content is empty, module wont render');\n return null;\n }\n return (\n \n \n {root && (\n \n {root}\n {links && separator}\n \n )}\n {backButton && {backButton}}\n {links &&\n links.map((link, index) => (\n \n \n {link}\n {links[index + 1] && separator}\n \n \n ))}\n \n \n );\n};\n\nexport default BreadCrumbView;\n","module.exports = React;","module.exports = ReactDOM;"],"names":["props","root","links","backButton","BreadcrumbContainer","BreadcrumbList","BreadcrumbListItem","separator","context","telemetry","error","getBreadcrumbNameAndUrl","breadCrumbName","breadCrumbUrl","text","link","split","children","href","React","Module","Object","assign","Node","className","itemProp","map","index","breadCrumbText","key","classnames","length","binding","modules","dataActions","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","id","c","require","$type","da","name","path","runOn","iNM","ns","n","p","pdp","md","window","__bindings__","_objectSpread","viewDictionary","cn","Link","_ref","ariaLabel","noclick","telemetryContent","payLoad","getPayloadObject","linkText","undefined","contentAction","etext","attribute","getTelemetryAttributes","onClick","onTelemetryClick","content","Separator","Breadcrumb","constructor","_pageType","this","request","urlTokens","pageType","getTelemetryObject","telemetryPageName","friendlyName","_getRootLink","config","linkUrl","destinationUrl","_getCustomBreadcrumbLinks","itemPosition","value","keyIndex","toString","_getCategoryHierarchy","data","categoryHierarchy","result","_getFriendlyName","locale","NameTranslations","Url","nameTranslations","_nameTranslation","nameTranslation","ArrayExtensions","hasElements","find","item","Language","toLowerCase","Text","_getPDPLinks","categoryPaths","product","url","requestUrl","push","Name","hideProductName","_goBack","history","back","_getPDPBackButton","query","MsDyn365","isBrowser","document","referrer","role","resources","backToResultsText","render","rootLink","breadcrumbLinks","backButtonComponent","breaCrumbType","app","breadcrumbType","linkSeparator","breadcrumbViewProps","moduleProps","tag","renderView","module","exports","ReactDOM"],"sourceRoot":""}