{"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","inputData","CurrentCategoryInput","createGetCurrentCategoryInput","currentCategory","categoryUrl","localName","getFriendlyName","locale","NameTranslations","neutralizedName","NeutralizedName","Name","getCategoryUrl","canonicalDomain","toLocaleLowerCase","OfflineImage","args","ReactDOM","binding","modules","dataActions","c","require","$type","da","path","runOn","iNM","ns","n","p","pdp","md","sanitizedActionPath","dataAction","default","prototype","RegistrationId","registerSanitizedActionPath","window","__bindings__"],"mappings":"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","file":"static/js/50.065006da98d17e33ca3c.chunk.js","sourcesContent":["/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt 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 && \n {pageTitle}\n }\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. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport {\n CacheType,\n createObservableDataAction,\n getFriendlyName,\n IAction,\n IActionContext,\n IActionInput,\n ICreateActionContext,\n IRequestContext\n} from '@msdyn365-commerce/core';\nimport { buildCacheKeyWithUrlTokens, CurrentCategoryInput, getCategoryUrl, getCurrentCategory } from '@msdyn365-commerce-modules/retail-actions';\n\nimport { IDefaultPageSummaryConfig } from '../default-page-summary/default-page-summary.props.autogenerated';\nimport { IPageSummaryData } from '../IPageSummaryData';\n\n/**\n * Category Page Summary Input\n */\nexport class CategoryPageSummaryInput implements IActionInput {\n public requestContext: IRequestContext;\n\n public config: IDefaultPageSummaryConfig;\n\n constructor(config: 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 = (inputData: IActionContext): CurrentCategoryInput => {\n if (inputData && inputData.requestContext) {\n return new CurrentCategoryInput(inputData.requestContext);\n }\n\n throw new Error('Please specify categoryId query string in request.');\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), 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 } 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};\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":""}