{"version":3,"file":"static/js/3094c23536e82c4122fd.bundle.js","mappings":"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","sources":["webpack://Dobbies.Commerce/./src/themes/dobbies/views/account-wishlist-tile.view.tsx?23cc","webpack://Dobbies.Commerce/./lib/account-wishlist-tile/module-registration.js?959f","webpack://Dobbies.Commerce/./src/modules/account-wishlist-tile/components/account-wishlist-tile-description.tsx?0588","webpack://Dobbies.Commerce/./src/modules/account-wishlist-tile/components/account-wishlist-tile-links.tsx?f114","webpack://Dobbies.Commerce/./src/modules/account-wishlist-tile/account-wishlist-tile.tsx?b721","webpack://Dobbies.Commerce/./src/modules/account-wishlist-tile/account-wishlist-tile.view.tsx?095e","webpack://Dobbies.Commerce/external var \"React\"?0d3b","webpack://Dobbies.Commerce/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\nimport { IAccountWishlistTileViewProps } from '@msdyn365-commerce-modules/account-management/src/modules/account-wishlist-tile/./account-wishlist-tile';\r\nimport { format, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { IAccountWishlistTileProps } from '../definition-extensions/account-wishlist-tile.ext.props.autogenerated';\r\n\r\nconst AccountWishlistTileView: React.FC> = props => {\r\n const { AccountWishlistTile, heading, links } = props;\r\n const wishlists = props.data.wishlists.result;\r\n\r\n /* VSI-Customization -- START Render description based on count */\r\n const renderDescription = () => {\r\n const wishlistsCount = ((wishlists && wishlists.length && wishlists[0].CommerceListLines) || []).length;\r\n let descp = '';\r\n if (wishlistsCount === 1) {\r\n descp = format(props.resources.accountWishlistSingleTileDescription, wishlistsCount);\r\n } else {\r\n descp = format(props.resources.accountWishlistTileDescription, wishlistsCount);\r\n }\r\n return (\r\n \r\n {descp}\r\n \r\n );\r\n };\r\n /* VSI-Customization -- END */\r\n\r\n return (\r\n \r\n {heading}\r\n {renderDescription()}\r\n {links}\r\n \r\n );\r\n};\r\n\r\nexport default AccountWishlistTileView;\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['account-wishlist-tile'] = {\n c: () => require('@msdyn365-commerce-modules/account-management/dist/lib/modules/account-wishlist-tile/account-wishlist-tile'),\n $type: 'contentModule',\n da: [{name:'wishlists', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-wishlist-by-customer-id', runOn: 0}],\n \n iNM: true,\n ns: '@msdyn365-commerce-modules',\n n: 'account-wishlist-tile',\n p: 'account-management',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/account-management/dist/lib/modules/account-wishlist-tile'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-wishlist-by-customer-id';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-wishlist-by-customer-id');\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__|themes|dobbies|views|account-wishlist-tile'] = {\n c: () => require('partner/themes/dobbies/views/account-wishlist-tile.view.tsx'),\n cn: '__local__-__local__-account-wishlist-tile'\n };\nviewDictionary['@msdyn365-commerce-modules|account-management|modules|account-wishlist-tile|account-wishlist-tile'] = {\n c: () => require('@msdyn365-commerce-modules/account-management/dist/lib/modules/account-wishlist-tile/account-wishlist-tile.view.js'),\n cn: '@msdyn365-commerce-modules-account-management-account-wishlist-tile'\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 * as React from 'react';\n\ninterface IAccountWishlistTileDescription {\n description: string;\n}\n\n// eslint-disable-next-line no-redeclare\nconst IAccountWishlistTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n\nexport default IAccountWishlistTileDescription;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-wishlist-tile.props.autogenerated';\n\nexport interface IAccountWishlistTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountWishlistTileLinks: React.FC = ({ links, telemetryContent, onTextChange, requestContext }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-wishlist-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountWishlistTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountWishlistTileData } from './account-wishlist-tile.data';\nimport { IAccountWishlistTileProps } from './account-wishlist-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-wishlist-tile-description';\nimport LinksComponent from './components/account-wishlist-tile-links';\n\nexport interface IAccountWishlistTileViewProps extends IAccountWishlistTileProps {\n AccountWishlistTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountWishlist component.\n * @extends {React.PureComponent>}\n */\nclass AccountWishlistTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IAccountWishlistTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountWishlistTileDescription } = resources;\n const wishlists = data.wishlists.result;\n\n const wishlistsCount = ((wishlists && wishlists.length && wishlists[0].CommerceListLines) || []).length;\n const description = format(accountWishlistTileDescription || 'You have {0} items in the Wishlist.', wishlistsCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountWishlistTile: {\n moduleProps: this.props,\n className: classnames('ms-account-wishlist-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountWishlistTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountWishlistTileViewProps } from './account-wishlist-tile';\n\nconst AccountWishlistTileView: React.FC = props => {\n const { AccountWishlistTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountWishlistTileView;\n","module.exports = React;","module.exports = ReactDOM;"],"names":["props","AccountWishlistTile","heading","links","wishlists","data","result","React","Module","Object","assign","renderDescription","wishlistsCount","length","CommerceListLines","descp","format","resources","accountWishlistSingleTileDescription","accountWishlistTileDescription","Node","tag","className","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__","_objectSpread","viewDictionary","cn","_ref","description","_mapEditableLinks","linkdata","telemetryContent","editableLinks","payLoad","getPayloadObject","forEach","link","index","contentAction","etext","linkText","attributes","getTelemetryAttributes","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","push","onTextChange","requestContext","Msdyn365","editProps","constructor","super","handleHeadingChange","event","this","config","text","target","value","handleLinkTextChange","linkIndex","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","render","viewProps","moduleProps","classnames","onEdit","LinksComponent","DescriptionComponent","renderView","module","exports","ReactDOM"],"sourceRoot":""}