{"version":3,"file":"static/js/48600dcf4032a1f3317e.bundle.js","mappings":"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","sources":["webpack://mattressfirm/./src/data-actions/get-resons-to-buy-data.action.ts?34a7","webpack://mattressfirm/./src/modules/mfrm-reasons-to-buy/mfrm-reasons-to-buy.tsx?acb5","webpack://mattressfirm/./src/modules/mfrm-reasons-to-buy/mfrm-reasons-to-buy.view.tsx?767e","webpack://mattressfirm/./lib/mfrm-reasons-to-buy/module-registration.js?497d","webpack://mattressfirm/external var \"React\"?0d3b","webpack://mattressfirm/external var \"ReactDOM\"?853b"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\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\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nexport class GetReasonsToBuyDataInput extends Msdyn365.CommerceEntityInput implements Msdyn365.IActionInput {\r\n public categoryName:string ='';\r\n constructor( categoryName:string) {\r\n super({ shouldCacheOutput: true, cacheObjectType: 'rtbDataCache', cacheKey: 'rtbDataCache' });\r\n this.categoryName = categoryName;\r\n }\r\n public getCacheKey = () => `rtbDataCache`;\r\n public getCacheObjectType = () => 'rtbDataCache';\r\n public dataCacheType = (): Msdyn365.CacheType => 'request';\r\n\r\n}\r\n// tslint:disable: no-any\r\nasync function action(input: GetReasonsToBuyDataInput, ctx: Msdyn365.IActionContext): Promise {\r\n const jsonUrlFromGlobals = ctx.requestContext.app.config.reasonsToBuyJsonUrl;\r\n const categoryName =input.categoryName;\r\n const jsonUrl =jsonUrlFromGlobals || undefined;\r\n if(jsonUrl){\r\n const res = await Msdyn365.sendRequest(jsonUrl, 'get');\r\n const reasonsToBuyData = res.data && res.data[categoryName];\r\n return reasonsToBuyData;\r\n }\r\n return undefined;\r\n}\r\n\r\nexport default Msdyn365.createObservableDataAction({\r\n id: 'GetReasonsToBuyData',\r\n action: >action\r\n});\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 * as React from 'react';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\nimport { IMfrmReasonsToBuyData } from './mfrm-reasons-to-buy.data';\r\nimport { IMfrmReasonsToBuyProps } from './mfrm-reasons-to-buy.props.autogenerated';\r\nimport getRTBData, { GetReasonsToBuyDataInput } from '../../data-actions/get-resons-to-buy-data.action';\r\n\r\nexport interface IMfrmReasonsToBuyViewProps extends IMfrmReasonsToBuyProps {\r\n reasonToBuyData: IReasonToBuyData[]\r\n reasonsToBuyContainer: IModuleProps;\r\n}\r\nexport interface IReasonToBuyData {\r\n heading?: string;\r\n description?: Msdyn365.RichText;\r\n icon?: Msdyn365.IImageData;\r\n}\r\ninterface IReasonsToBuyState {\r\n reasonsToBuyData: IReasonToBuyData[];\r\n}\r\n/**\r\n *\r\n * MfrmReasonsToBuy component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass MfrmReasonsToBuy extends React.PureComponent, IReasonsToBuyState> {\r\n constructor(props: IMfrmReasonsToBuyProps) {\r\n super(props);\r\n this.state = {\r\n reasonsToBuyData: []\r\n };\r\n }\r\n public componentDidMount(): void {\r\n const { data } = this.props;\r\n const categoryName = data.categoryPaths.result && data.categoryPaths.result[0].Name;\r\n this._getReasonsToBuyData(categoryName)\r\n .then(reasonsToBuy => {\r\n this.setState({\r\n reasonsToBuyData: reasonsToBuy ? reasonsToBuy : []\r\n });\r\n })\r\n .catch(error => {\r\n this.props.context.telemetry.exception(error);\r\n throw new Error('Unable to find reasons to buy data');\r\n });\r\n }\r\n public render(): JSX.Element | null {\r\n const reasonsToBuyviewProps = {\r\n ...this.props,\r\n reasonsToBuyContainer: {\r\n moduleProps: this.props\r\n },\r\n reasonToBuyData: this.state.reasonsToBuyData\r\n };\r\n\r\n return this.props.renderView(reasonsToBuyviewProps) as React.ReactElement;\r\n }\r\n private _getReasonsToBuyData = async (categoryName: string | undefined): Promise => {\r\n const rtbInput = new GetReasonsToBuyDataInput(categoryName ?? '');\r\n const rtbData = await getRTBData(rtbInput, this.props.context.actionContext);\r\n return rtbData;\r\n };\r\n}\r\n\r\nexport default MfrmReasonsToBuy;\r\n","/* eslint-disable @typescript-eslint/semi */\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\n\r\n\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\nimport * as React from 'react';\r\nimport { Module ,Node} from '@msdyn365-commerce-modules/utilities';\r\nimport {Image } from '@msdyn365-commerce/core';\r\n\r\nimport { IMfrmReasonsToBuyViewProps } from './mfrm-reasons-to-buy';\r\nconst MfrmReasonsToBuyView: React.FC = props => {\r\n const { reasonToBuyData } = props;\r\n if (!reasonToBuyData) {\r\n props.context.telemetry.error('Value props RTB block is empty, module wont render.');\r\n return null;\r\n }\r\n return (reasonToBuyData && _renderReasonToBuy(props));\r\n};\r\n\r\nconst _renderReasonToBuy = (props: IMfrmReasonsToBuyViewProps): JSX.Element | null => {\r\n const { reasonToBuyData, reasonsToBuyContainer } = props;\r\n const gridSettings =props.context.request.gridSettings;\r\n if (reasonToBuyData && reasonToBuyData.length > 0) {\r\n return (\r\n \r\n \r\n

{props.config.reasonsToBuyHeaderText}

\r\n
\r\n {\r\n reasonToBuyData.map((reasonToBuy, index) => (\r\n \r\n \r\n \r\n \r\n \r\n {reasonToBuy.heading}\r\n \r\n

{reasonToBuy.description}

\r\n
\r\n
\r\n
\r\n ))\r\n }\r\n
\r\n );\r\n }\r\n return null;\r\n};\r\n\r\nexport default MfrmReasonsToBuyView;\r\n\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['mfrm-reasons-to-buy'] = {\n c: () => require('partner/modules/mfrm-reasons-to-buy/mfrm-reasons-to-buy.tsx'),\n $type: 'contentModule',\n da: [{name:'categoryPaths', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-category-paths', runOn: 0}],\n \n iNM: false,\n ns: '__local__',\n n: 'mfrm-reasons-to-buy',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/mfrm-reasons-to-buy'\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 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|mfrm-reasons-to-buy|mfrm-reasons-to-buy'] = {\n c: () => require('partner/modules/mfrm-reasons-to-buy/mfrm-reasons-to-buy.view.tsx'),\n cn: '__local__-__local__-mfrm-reasons-to-buy'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;"],"names":["GetReasonsToBuyDataInput","Msdyn365","constructor","categoryName","super","shouldCacheOutput","cacheObjectType","cacheKey","getCacheKey","getCacheObjectType","dataCacheType","this","id","action","async","input","ctx","jsonUrlFromGlobals","requestContext","app","config","reasonsToBuyJsonUrl","jsonUrl","undefined","res","data","MfrmReasonsToBuy","React","props","_getReasonsToBuyData","rtbInput","getRTBData","context","actionContext","state","reasonsToBuyData","componentDidMount","categoryPaths","result","Name","then","reasonsToBuy","setState","catch","error","telemetry","exception","Error","render","reasonsToBuyviewProps","_objectSpread","reasonsToBuyContainer","moduleProps","reasonToBuyData","renderView","_renderReasonToBuy","gridSettings","request","length","Module","Object","assign","className","Node","reasonsToBuyHeaderText","map","reasonToBuy","index","key","Image","src","icon","alt","heading","tag","description","binding","modules","dataActions","c","require","$type","da","name","path","runOn","iNM","ns","n","p","pdp","md","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","prototype","RegistrationId","window","__bindings__","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}