{"version":3,"file":"static/js/a90f889b57d1e8fad4b6.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/breadcrumb/components/link.tsx?86db","webpack://Msdyn365.Commerce.Online/./src/modules/breadcrumb/components/separator.tsx?cfd5","webpack://Msdyn365.Commerce.Online/./src/modules/breadcrumb/breadcrumb.tsx?5f38","webpack://Msdyn365.Commerce.Online/./src/modules/breadcrumb/breadcrumb.view.tsx?990d","webpack://Msdyn365.Commerce.Online/./lib/breadcrumb/module-registration.js?ed67","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":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/* eslint-disable no-duplicate-imports */\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\n/* eslint-disable no-duplicate-imports */\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\n/* eslint-disable no-duplicate-imports */\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 localyOnlineRecordId = '5637144702';\n private readonly brandsAndOffersRecordId = '5637144701';\n private readonly allBrandsRecordId = '5637144824';\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 const homepageLink = this.addHomePageLink();\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 breadcrumbLinks?.unshift(homepageLink);\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 addHomePageLink() {\n return (\n \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 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 const parentCategory = categoryHierarchy.filter(category => category.ParentCategory !== 5637144700);\n return parentCategory.map((value: CategoryHierarchy, index: number) => {\n itemPosition++;\n const friendlyName = this._getFriendlyName(this.props.context.request.locale, value.NameTranslations);\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\n const links: JSX.Element[] = [];\n // const parentCategory = categoryHierarchy.filter(category => category.Name?.toLowerCase() !== 'shop localy');\n const parentCategory =\n categoryHierarchy.length > 0\n ? categoryHierarchy.filter(\n obj =>\n obj?.Url &&\n !obj?.Url.includes(this.localyOnlineRecordId) &&\n !obj?.Url.includes(this.brandsAndOffersRecordId) &&\n !obj?.Url.includes(this.allBrandsRecordId)\n )\n : [];\n\n parentCategory.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\n/* eslint-disable no-duplicate-imports */\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","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('partner/modules/breadcrumb/breadcrumb.tsx'),\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: false,\n ns: '__local__',\n n: 'breadcrumb',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/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__|modules|breadcrumb|breadcrumb'] = {\n c: () => require('partner/modules/breadcrumb/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 { 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":["Link","_ref","text","className","href","ariaLabel","index","noclick","telemetryContent","payLoad","getPayloadObject","linkText","undefined","contentAction","etext","attribute","getTelemetryAttributes","React","Object","assign","onClick","onTelemetryClick","itemProp","content","Separator","separator","Breadcrumb","constructor","_pageType","this","props","context","request","urlTokens","pageType","localyOnlineRecordId","brandsAndOffersRecordId","allBrandsRecordId","getTelemetryObject","telemetryPageName","friendlyName","telemetry","_getRootLink","root","config","linkUrl","destinationUrl","error","_getCustomBreadcrumbLinks","itemPosition","links","length","map","value","keyIndex","key","toString","_getCategoryHierarchy","data","categoryHierarchy","result","filter","category","ParentCategory","_getFriendlyName","locale","NameTranslations","Url","RecordId","Number","nameTranslations","_nameTranslation","nameTranslation","ArrayExtensions","hasElements","find","item","Language","toLowerCase","Text","_getPDPLinks","categoryPaths","product","url","requestUrl","obj","includes","push","Name","hideProductName","_goBack","window","history","back","_getPDPBackButton","query","MsDyn365","isBrowser","document","referrer","role","resources","backToResultsText","render","_breadcrumbLinks","rootLink","breadcrumbLinks","homepageLink","addHomePageLink","backButtonComponent","breaCrumbType","app","breadcrumbType","unshift","linkSeparator","breadcrumbViewProps","_objectSpread","BreadcrumbContainer","moduleProps","classnames","tag","BreadcrumbList","BreadcrumbListItem","backButton","renderView","Module","Node","link","binding","modules","dataActions","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","id","c","require","$type","da","name","path","runOn","iNM","ns","n","p","pdp","md","__bindings__","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}