{"version":3,"file":"static/js/8ceb8e4f0a868810127e.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/herbal-signout/herbal-signout.tsx?f1ac","webpack://Msdyn365.Commerce.Online/./src/modules/herbal-signout/herbal-signout.view.tsx?f8e2","webpack://Msdyn365.Commerce.Online/./lib/herbal-signout/module-registration.js?2d2f","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"sourcesContent":["/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\r\nimport {\r\n Button,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n getTelemetryObject,\r\n IModuleProps,\r\n INodeProps,\r\n ITelemetryContent,\r\n onTelemetryClick,\r\n TelemetryConstant\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { computed } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { IHerbalSignoutData } from './herbal-signout.data';\r\nimport { IHerbalSignoutConfig, IHerbalSignoutProps } from './herbal-signout.props.autogenerated';\r\n\r\nexport interface IHeaderViewProps extends IHerbalSignoutProps {\r\n HeaderTag: IModuleProps;\r\n HeaderContainer: INodeProps;\r\n HeaderTopBarContainer: INodeProps;\r\n\r\n signOutLink?: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * Header component.\r\n * @extends {React.PureComponent>}\r\n */\r\n@observer\r\nclass Header extends React.PureComponent> {\r\n private readonly telemetryContent: ITelemetryContent;\r\n\r\n @computed public get displayName(): Readonly {\r\n const customer = this.props.data.accountInformation?.result;\r\n return customer ? customer.FirstName || customer.Name : undefined;\r\n }\r\n\r\n constructor(props: IHerbalSignoutProps) {\r\n super(props);\r\n this.telemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n }\r\n\r\n // eslint-disable-next-line complexity -- Disabled complexity.\r\n public render(): JSX.Element | null {\r\n const {\r\n data: { accountInformation },\r\n context: {\r\n request: { user }\r\n }\r\n } = this.props;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access -- app config is generic\r\n const headerClassName = classnames('ms-button-signout', this.props.config.className);\r\n const customer = accountInformation && accountInformation.result;\r\n\r\n if (!customer) {\r\n return null;\r\n }\r\n\r\n const viewProps: IHeaderViewProps = {\r\n ...(this.props as IHerbalSignoutProps),\r\n ...this.state,\r\n HeaderTag: {\r\n moduleProps: this.props,\r\n className: classnames(headerClassName),\r\n tag: 'div'\r\n },\r\n HeaderContainer: {\r\n className: classnames('ms-button-signout__container')\r\n },\r\n HeaderTopBarContainer: {\r\n className: classnames('ms-button-signout__footer')\r\n },\r\n signOutLink: this._getSignOutButton(customer, user, this.props.config)\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private _getSignOutButton(\r\n customer: Customer | undefined,\r\n user: MsDyn365.IRequestContextUser | undefined,\r\n config: IHerbalSignoutConfig\r\n ): React.ReactNode | undefined {\r\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.SignOut);\r\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\r\n\r\n return (\r\n customer &&\r\n this.displayName && (\r\n \r\n \r\n {config.buttonSignoutName}\r\n \r\n \r\n )\r\n );\r\n }\r\n}\r\n\r\nexport default Header;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IHeaderViewProps } from './herbal-signout';\r\n\r\nconst headerView: React.FC = props => {\r\n const { HeaderTag, HeaderContainer, HeaderTopBarContainer } = props;\r\n return (\r\n \r\n \r\n {props.signOutLink}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default headerView;\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['herbal-signout'] = {\n c: () => require('partner/modules/herbal-signout/herbal-signout.tsx'),\n $type: 'containerModule',\n da: [{name:'accountInformation', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer', runOn: 0}],\n \n iNM: false,\n ns: '__local__',\n n: 'herbal-signout',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/herbal-signout'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer');\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|herbal-signout|herbal-signout'] = {\n c: () => require('partner/modules/herbal-signout/herbal-signout.view.tsx'),\n cn: '__local__-__local__-herbal-signout'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;"],"names":["Header","React","constructor","props","super","this","telemetryContent","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","_this$props$data$acco","customer","data","accountInformation","result","FirstName","Name","undefined","render","user","headerClassName","classnames","config","className","viewProps","_objectSpread","state","HeaderTag","moduleProps","tag","HeaderContainer","HeaderTopBarContainer","signOutLink","_getSignOutButton","renderView","payLoad","getPayloadObject","TelemetryConstant","SignOut","attributes","getTelemetryAttributes","displayName","Button","Object","assign","title","buttonSignoutName","href","signOutUrl","onClick","onTelemetryClick","__decorate","computed","observer","Module","Node","binding","modules","dataActions","c","require","$type","da","name","path","runOn","iNM","ns","n","p","pdp","md","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","id","window","__bindings__","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}