{"version":3,"file":"static/js/8fd6d7f44b136131df60.bundle.js","mappings":"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","sources":["webpack://bju-press/./lib/tile-list-item/module-registration.js?3bfa","webpack://bju-press/./src/modules/tile-list-item/components/links.tsx?c969","webpack://bju-press/./src/modules/tile-list-item/tile-list-item.tsx?114a","webpack://bju-press/./src/modules/tile-list-item/tile-list-item.view.tsx?19a8","webpack://bju-press/external var \"React\"?0d3b","webpack://bju-press/external var \"ReactDOM\"?853b"],"sourcesContent":["const binding = { modules: {}, dataActions: {} };\n\n (binding.modules['tile-list-item'] = {\n c: () => require('@msdyn365-commerce-modules/tile-list/dist/lib/modules/tile-list-item/tile-list-item'),\n $type: 'contentModule',\n da: [],\n \n iNM: true,\n ns: '@msdyn365-commerce-modules',\n n: 'tile-list-item',\n p: 'tile-list',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/tile-list/dist/lib/modules/tile-list-item'\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['@msdyn365-commerce-modules|tile-list|modules|tile-list-item|tile-list-item'] = {\n c: () => require('@msdyn365-commerce-modules/tile-list/dist/lib/modules/tile-list-item/tile-list-item.view.js'),\n cn: '@msdyn365-commerce-modules-tile-list-tile-list-item'\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 Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../tile-list-item.props.autogenerated';\n\n/**\n * Tile List links.\n */\nexport interface ITileListLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * ITileListLinks component.\n * @extends {React.PureComponent}\n */\nexport class TileListLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n
\n {editableLinks && ArrayExtensions.hasElements(editableLinks) ? (\n \n ) : null}\n
\n );\n }\n\n /**\n * ITileListLinks component.\n * @param linkdata - Link data.\n * @returns Editable links.\n */\n private readonly _mapEditableLinks = (linkdata: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!ArrayExtensions.hasElements(linkdata)) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n for (const link of linkdata) {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-tile-list__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'button',\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n }\n\n return editableLinks;\n };\n}\nexport default TileListLinks;\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 { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { TileListLinks } from './components';\nimport { IHeadingData, ITileListItemProps } from './tile-list-item.props.autogenerated';\n\n/**\n * Tile-list-item view props.\n */\nexport interface ITileListItemViewProps extends ITileListItemProps<{}> {\n heading?: React.ReactNode;\n paragraph?: React.ReactNode;\n links?: React.ReactNode;\n backgroundImage?: React.ReactNode;\n thumbnailImage?: React.ReactNode;\n tileListItem: IModuleProps;\n tileListContainer: INodeProps;\n tileListImageContainer: INodeProps;\n tileListThumbnailImageContainer: INodeProps;\n tileListHeadingContainer: INodeProps;\n}\n\n/**\n *\n * TileListItem component.\n * @extends {React.PureComponent>}\n */\nexport class TileListItem extends React.PureComponent> {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public constructor(props: ITileListItemProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { heading, paragraph, backgroundImage, thumbnailImage, redirectionUrl, links } = this.props.config;\n const tileListLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n const tileListLinkContainer = {\n tag: 'a' as NodeTag,\n className: 'ms-tile-list-container',\n role: 'link',\n href: redirectionUrl?.linkUrl.destinationUrl,\n 'aria-label': redirectionUrl?.ariaLabel,\n target: redirectionUrl?.openInNewTab ? '_blank' : undefined\n };\n\n const tileListButtonContainer = {\n tag: 'button' as NodeTag,\n className: 'ms-tile-list-container'\n };\n const viewProps: ITileListItemViewProps = {\n ...this.props,\n heading: this._createHeading(heading),\n paragraph: this._createParagraph(paragraph),\n backgroundImage: this._renderBackgroundImage(backgroundImage),\n thumbnailImage: this._renderThumbnailImage(thumbnailImage),\n links: tileListLinks,\n tileListItem: {\n moduleProps: this.props,\n className: ''\n },\n tileListContainer: redirectionUrl ? tileListLinkContainer : tileListButtonContainer,\n tileListImageContainer: {\n className: 'ms-tile-list__image'\n },\n tileListThumbnailImageContainer: {\n className: 'ms-tile-list__thumbnail_image',\n 'aria-hidden': 'true'\n },\n tileListHeadingContainer: {\n className: 'ms-tile-list__heading'\n }\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handles heading content change event.\n * @param event - Content editable event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handles paragraph content change event.\n * @param event - Content editable event.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n /**\n * Handles paragraph content change event.\n * @param linkIndex - Index of link in linkarray.\n * @returns Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent): void => {\n if (this.props.config.links?.[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n private _createHeading(heading?: IHeadingData): React.ReactNode | null {\n if (!heading) {\n return null;\n }\n if (StringExtensions.isNullOrWhitespace(heading.text)) {\n return null;\n }\n\n return (\n \n );\n }\n\n private _renderBackgroundImage(item?: Msdyn365.IImageData, isAriaHiddenAttribute?: boolean): React.ReactNode | null {\n // If image is null, we want to render the placeholder SVG - by passing image data with empty src\n\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=328&h=412&m=6', w: 328, h: 412 },\n sm: { q: 'w=328&h=412&m=6', w: 328, h: 412 },\n md: { q: 'w=315&h=412&m=6', w: 315, h: 412 },\n lg: { q: 'w=315&h=412&m=6', w: 315, h: 412 },\n xl: { q: 'w=315&h=412&m=6', w: 315, h: 412 }\n },\n lazyload: true\n };\n const verifiedImageSettings = item?.imageSettings?.viewports ? item.imageSettings : defaultImageSettings;\n\n return (\n \n );\n }\n\n private _renderThumbnailImage(\n item?: Msdyn365.IImageData,\n itemImageSettings?: Msdyn365.IImageSettings,\n isAriaHiddenAttribute?: boolean\n ): React.ReactNode | null {\n if (!item) {\n return null;\n }\n if (StringExtensions.isNullOrWhitespace(item.src)) {\n return null;\n }\n\n return (\n \n );\n }\n}\n\nexport default TileListItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ITileListItemViewProps } from './tile-list-item';\n\n/**\n *\n * ITileListItemViewProps component.\n * @param props - Component props.\n * @returns TileListView.\n */\nconst renderTileListItemContent = (props: ITileListItemViewProps): JSX.Element => {\n const {\n heading,\n paragraph,\n backgroundImage,\n links,\n thumbnailImage,\n tileListContainer,\n tileListImageContainer,\n tileListThumbnailImageContainer,\n tileListHeadingContainer\n } = props;\n\n return (\n \n {backgroundImage}\n \n {heading}\n {paragraph}\n {links}\n \n {thumbnailImage}\n \n );\n};\n\n/**\n *\n * TileListItemViewProps component.\n * @param props - Component props.\n * @returns TileListView.\n */\nexport const TileListItemViewComponent: React.FC = props => {\n const { tileListItem } = props;\n return {renderTileListItemContent(props)};\n};\n\nexport default TileListItemViewComponent;\n","module.exports = React;","module.exports = ReactDOM;"],"names":["binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","md","window","__bindings__","_objectSpread","viewDictionary","cn","TileListLinks","React","constructor","_mapEditableLinks","linkdata","ArrayExtensions","hasElements","editableLinks","link","payLoad","getPayloadObject","this","props","telemetryContent","linkText","contentAction","etext","attributes","getTelemetryAttributes","editableLink","ariaLabel","className","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","onClick","onTelemetryClick","push","render","links","Msdyn365","editProps","onTextChange","requestContext","TileListItem","super","_telemetryContent","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","handleHeadingChange","event","config","heading","text","target","value","handleParagraphChange","paragraph","handleLinkTextChange","linkIndex","_this$props$config$li","Number","backgroundImage","thumbnailImage","redirectionUrl","tileListLinks","tileListLinkContainer","tag","href","undefined","viewProps","_createHeading","_createParagraph","_renderBackgroundImage","_renderThumbnailImage","tileListItem","moduleProps","tileListContainer","tileListImageContainer","tileListThumbnailImageContainer","tileListHeadingContainer","renderView","onEdit","_heading$tag","StringExtensions","isNullOrWhitespace","item","isAriaHiddenAttribute","_item$imageSettings","_this$props$config$ba","verifiedImageSettings","imageSettings","viewports","xs","q","w","h","sm","lg","xl","lazyload","Object","assign","gridSettings","loadFailureBehavior","key","moduleType","typeName","imagePropertyName","itemImageSettings","_this$props$config$th","src","layout","msdyn365__moduleLayout","TileListItemViewComponent","Module","Node","renderTileListItemContent","module","exports","ReactDOM"],"sourceRoot":""}