{"version":3,"sources":["webpack:///src/modules/default-page-summary/default-page-summary.tsx?b254","webpack:///external \"React\"?c481","webpack:///src/modules/category-page-summary/category-page-summary.action.ts?be94","webpack:///external \"ReactDOM\"?4b2d","webpack:///./lib/category-page-summary/module-registration.js?c2e4"],"names":["DefaultPageSummary","React","render","undefined","this","props","data","pageSummary","result","Error","title","description","keywords","sharingImageUrl","faviconUrl","config","context","canonicalUrl","sharingImage","src","pageTitle","_constructPageTitle","request","app","HtmlHeadInclude","name","content","rel","href","disableOgTags","_renderOgTags","disableTwitterTags","_renderTwitterTags","property","moduleConfig","ignoreTitleSuffixPrefix","appConfig","platform","pageTitlePrefix","pageTitleSuffix","module","exports","CategoryPageSummaryInput","constructor","requestContext","getCacheObjectType","getCacheKey","buildCacheKeyWithUrlTokens","dataCacheType","createObservableDataAction","id","action","async","input","currentCategoryResult","getCurrentCategory","createGetCurrentCategoryInput","inputData","includeRootCategory","CurrentCategoryInput","_unused","currentCategory","_objectSpread","categoryUrl","localName","getFriendlyName","locale","NameTranslations","neutralizedName","NeutralizedName","Name","getCategoryUrl","canonicalDomain","toLocaleLowerCase","skipCount","query","skip","Url","URL","urlParams","URLSearchParams","search","set","toString","removeDomainQspFromUrl","_unused2","OfflineImage","args","ReactDOM","binding","modules","dataActions","c","require","$type","da","path","runOn","iNM","ns","n","p","pdp","md","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","prototype","RegistrationId","window","__bindings__"],"mappings":"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","file":"static/js/57.96e8af283a80f36db147.chunk.js","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { HtmlHeadInclude, IAny, IGeneric } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\nimport { IDefaultPageSummaryData } from './default-page-summary.data';\nimport { IDefaultPageSummaryProps } from './default-page-summary.props.autogenerated';\n\n/**\n *\n * DefaultPageSummaryMetadata component.\n * @extends {React.PureComponent}\n */\nclass DefaultPageSummary extends React.PureComponent> {\n public render(): JSX.Element {\n if (this.props.data.pageSummary.result === undefined) {\n throw new Error('PageSummaryData input to page-summary is undefined. Unable to generate page-summary');\n }\n let {\n data: {\n pageSummary: {\n result: { title, description, keywords, sharingImageUrl, faviconUrl }\n }\n }\n } = this.props;\n\n const {\n config,\n context,\n data: {\n pageSummary: {\n result: { canonicalUrl }\n }\n }\n } = this.props;\n\n // Override values coming from data action if config values are provided\n title = config.title || title;\n description = config.description || description;\n keywords = config.keywords || keywords;\n sharingImageUrl = (config.sharingImage && config.sharingImage.src) || sharingImageUrl;\n faviconUrl = config.faviconUrl || faviconUrl;\n\n const pageTitle = this._constructPageTitle(title, context && context.request && context.request.app);\n return (\n <>\n \n {pageTitle && {pageTitle}}\n {description && }\n {keywords && }\n {canonicalUrl && }\n {faviconUrl && }\n \n {!config.disableOgTags && this._renderOgTags(pageTitle, description, sharingImageUrl)}\n {!config.disableTwitterTags && this._renderTwitterTags(pageTitle, description, sharingImageUrl)}\n \n );\n }\n\n private _renderOgTags(title: string | undefined, description: string | undefined, sharingImageUrl: string | undefined): JSX.Element {\n return (\n \n {title && }\n {description && }\n {sharingImageUrl && }\n \n \n );\n }\n\n private _renderTwitterTags(\n title: string | undefined,\n description: string | undefined,\n sharingImageUrl: string | undefined\n ): JSX.Element {\n return (\n \n {title && }\n {description && }\n {sharingImageUrl && }\n \n \n );\n }\n\n private _constructPageTitle(title: string | undefined, app: IGeneric): string | undefined {\n if (!title) {\n title = '';\n }\n\n const moduleConfig = this.props.config;\n if (moduleConfig && moduleConfig.ignoreTitleSuffixPrefix) {\n return title;\n }\n\n const appConfig = app && app.platform;\n if (appConfig) {\n if (appConfig.pageTitlePrefix) {\n title = (appConfig.pageTitlePrefix as string) + title;\n }\n if (appConfig.pageTitleSuffix) {\n title += appConfig.pageTitleSuffix as string;\n }\n }\n\n return title;\n }\n}\n\nexport default DefaultPageSummary;\n","module.exports = React;","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n CacheType,\n createObservableDataAction,\n getFriendlyName,\n IAction,\n IActionContext,\n IActionInput,\n IAny,\n ICreateActionContext,\n IGeneric,\n IRequestContext\n} from '@msdyn365-commerce/core';\nimport {\n buildCacheKeyWithUrlTokens,\n CurrentCategoryInput,\n getCategoryUrl,\n getCurrentCategory,\n removeDomainQspFromUrl\n} from '@msdyn365-commerce-modules/retail-actions';\n\nimport { IPageSummaryData } from '../IPageSummaryData';\n\nimport { ICategoryPageSummaryConfig } from './category-page-summary.props.autogenerated';\nimport { IDefaultPageSummaryConfig } from '../default-page-summary';\n\n/**\n * Category Page Summary Input\n */\nexport class CategoryPageSummaryInput implements IActionInput {\n public requestContext: IRequestContext;\n\n public config: ICategoryPageSummaryConfig | IDefaultPageSummaryConfig;\n\n constructor(config: ICategoryPageSummaryConfig | IDefaultPageSummaryConfig, requestContext: IRequestContext) {\n this.config = config || {};\n this.requestContext = requestContext;\n }\n\n public getCacheObjectType = (): string => 'CategoryPageSummary';\n\n public getCacheKey = (): string => buildCacheKeyWithUrlTokens('CategoryPageSummary', this.requestContext);\n\n public dataCacheType = (): CacheType => 'request';\n}\n\nconst createGetCurrentCategoryInput = (\n inputData: IActionContext,\n config?: ICategoryPageSummaryConfig | IDefaultPageSummaryConfig\n): CurrentCategoryInput => {\n if (inputData && inputData.requestContext) {\n let includeRootCategory: boolean | undefined;\n if (config) {\n includeRootCategory = (config as ICategoryPageSummaryConfig).includeRootCategory;\n }\n return new CurrentCategoryInput(inputData.requestContext, includeRootCategory);\n }\n\n throw new Error('Please specify categoryId query string in request.');\n};\n/**\n * Get skip count.\n * @param inputData\n */\nfunction getSkipCount(inputData: ICreateActionContext, IGeneric>): string | undefined {\n return inputData && inputData.requestContext && inputData.requestContext.query && inputData.requestContext.query.skip;\n}\n\nconst action = async (input: CategoryPageSummaryInput, context: IActionContext): Promise => {\n const { config } = input;\n let currentCategoryResult;\n try {\n currentCategoryResult = await getCurrentCategory(createGetCurrentCategoryInput(context, input.config), context);\n } catch {\n // Do nothing, if the action fails fallback to values defined in data\n }\n if (currentCategoryResult) {\n const currentCategory = { ...currentCategoryResult };\n let categoryUrl: string | undefined;\n try {\n // Reset category's name neutralizedName\n const localName = getFriendlyName(context.requestContext.locale, currentCategory.NameTranslations);\n const neutralizedName = currentCategory.NeutralizedName || currentCategory.Name;\n currentCategory.Name = localName;\n currentCategory.NeutralizedName = neutralizedName;\n categoryUrl = getCategoryUrl(currentCategory);\n\n const canonicalDomain = context.requestContext.canonicalDomain;\n if (categoryUrl && canonicalDomain) {\n categoryUrl = `https://${canonicalDomain}${categoryUrl}`.toLocaleLowerCase();\n const skipCount = getSkipCount(context);\n const Url = new URL(categoryUrl);\n const urlParams: URLSearchParams = new URLSearchParams(Url.search);\n if (skipCount) {\n urlParams.set('skip', skipCount);\n }\n Url.search = urlParams.toString();\n categoryUrl = Url.toString();\n categoryUrl = removeDomainQspFromUrl(categoryUrl, context.requestContext);\n } else {\n categoryUrl = undefined;\n }\n } catch {\n categoryUrl = undefined;\n }\n return {\n title: currentCategory.Name,\n sharingImageUrl: currentCategory.OfflineImage,\n canonicalUrl: categoryUrl,\n faviconUrl: config && config.faviconUrl\n };\n\n // If the action fails fallback to values defined from data\n } else if (config) {\n return {\n title: config.title,\n sharingImageUrl: config.sharingImage && config.sharingImage.src,\n faviconUrl: config && config.faviconUrl\n };\n }\n return {};\n};\n\nexport default createObservableDataAction({\n id: '@msdyn365-commerce-modules/page-summary/category-page-summary',\n action: >action,\n input: (args: ICreateActionContext) => {\n return new CategoryPageSummaryInput(args.config, args.requestContext);\n }\n});\n","module.exports = ReactDOM;","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['category-page-summary'] = {\n c: () => require('@msdyn365-commerce-modules/page-summary/dist/lib/modules/default-page-summary/default-page-summary'),\n $type: 'htmlHeadTagsModule',\n da: [{name:'pageSummary', path:'@msdyn365-commerce-modules/page-summary/dist/lib/modules/category-page-summary/category-page-summary.action', runOn: 0}],\n \n iNM: true,\n ns: '@msdyn365-commerce-modules',\n n: 'category-page-summary',\n p: 'page-summary',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/page-summary/dist/lib/modules/category-page-summary'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/page-summary/dist/lib/modules/category-page-summary/category-page-summary.action';\n let dataAction = require('@msdyn365-commerce-modules/page-summary/dist/lib/modules/category-page-summary/category-page-summary.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 };"],"sourceRoot":""}