{"version":3,"file":"static/js/24.e2ff34b34ac1e371dfc9.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/dyn-wordpress-featured-hl/dyn-wordpress-featured-hl.tsx?83f5","webpack://Msdyn365.Commerce.Online/./src/modules/dyn-wordpress-featured-hl/dyn-wordpress-featured-hl.view.tsx?f70b","webpack://Msdyn365.Commerce.Online/./src/modules/dyn-wordpress-featured/dyn-wordpress-featured.tsx?ba1b","webpack://Msdyn365.Commerce.Online/./src/modules/dyn-wordpress-featured/dyn-wordpress-featured.view.tsx?e3f7","webpack://Msdyn365.Commerce.Online/./src/modules/punchout-access-cxml/punchout-access-cxml.tsx?4878","webpack://Msdyn365.Commerce.Online/./src/modules/punchout-access-cxml/punchout-access-cxml.view.tsx?5a83","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/buybox.view.tsx?aec4","webpack://Msdyn365.Commerce.Online/./src/modules/image-list/image-list.tsx?5602","webpack://Msdyn365.Commerce.Online/./src/modules/image-list/image-list.view.tsx?2bed","webpack://Msdyn365.Commerce.Online/./src/modules/interactive-feature-item/components/links.tsx?7423","webpack://Msdyn365.Commerce.Online/./src/modules/interactive-feature-item/interactive-feature-item.tsx?792c","webpack://Msdyn365.Commerce.Online/./src/modules/interactive-feature-item/interactive-feature-item.view.tsx?bdcc"],"sourcesContent":["/*!\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\nimport * as React from 'react';\r\n\r\nimport { IDynWordpressFeaturedHlData } from './dyn-wordpress-featured-hl.data';\r\nimport { IDynWordpressFeaturedHlProps } from './dyn-wordpress-featured-hl.props.autogenerated';\r\n//import * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nexport interface IDynWordpressFeaturedViewProps extends IDynWordpressFeaturedHlProps {}\r\n\r\nexport interface wpNode {\r\n node: {\r\n guid: string;\r\n slug: string;\r\n title: string;\r\n featuredImage: {\r\n node: {\r\n altText: string;\r\n uri: string;\r\n sourceUrl: string;\r\n };\r\n };\r\n excerpt: string;\r\n };\r\n}\r\n\r\nexport interface EdgesArticleGQL {\r\n edges: wpNode[];\r\n}\r\n\r\n/**\r\n *\r\n * DynWordpressPost component\r\n * @extends {React.PureComponent>}\r\n */\r\n\r\nclass DynWordpressFeaturedHL extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n const dynWordpressPostsProps: IDynWordpressFeaturedViewProps = {\r\n ...this.props\r\n };\r\n\r\n return this.props.renderView(dynWordpressPostsProps);\r\n }\r\n}\r\n\r\nexport default DynWordpressFeaturedHL;\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\nimport * as React from 'react';\r\nimport { IDynWordpressFeaturedViewProps } from './dyn-wordpress-featured-hl';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nexport default (props: IDynWordpressFeaturedViewProps) => {\r\n const { data } = props;\r\n const postType = 'highlight';\r\n\r\n return (\r\n <>\r\n {data.wpPosts?.result?.edges.map(post => {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n

{post.node.title ?? ''}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
View now
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n })}\r\n \r\n );\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\n\r\nimport * as React from 'react';\r\n\r\nimport { IDynWordpressFeaturedData } from './dyn-wordpress-featured.data';\r\nimport { IDynWordpressFeaturedProps } from './dyn-wordpress-featured.props.autogenerated';\r\n//import * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nexport interface IDynWordpressFeaturedViewProps extends IDynWordpressFeaturedProps {}\r\n\r\nexport interface wpNode {\r\n node: {\r\n guid: string;\r\n slug: string;\r\n title: string;\r\n featuredImage: {\r\n node: {\r\n altText: string;\r\n uri: string;\r\n sourceUrl: string;\r\n };\r\n };\r\n excerpt: string;\r\n };\r\n}\r\n\r\nexport interface EdgesArticleGQL {\r\n edges: wpNode[];\r\n}\r\n\r\n/**\r\n *\r\n * DynWordpressPost component\r\n * @extends {React.PureComponent>}\r\n */\r\n\r\nclass DynWordpressFeatured extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n const dynWordpressPostsProps: IDynWordpressFeaturedViewProps = {\r\n ...this.props\r\n };\r\n\r\n return this.props.renderView(dynWordpressPostsProps);\r\n }\r\n}\r\n\r\nexport default DynWordpressFeatured;\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\nimport * as React from 'react';\r\nimport { IDynWordpressFeaturedViewProps } from './dyn-wordpress-featured';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nexport default (props: IDynWordpressFeaturedViewProps) => {\r\n const { data } = props;\r\n const postType = 'promotion';\r\n\r\n return (\r\n <>\r\n {data.wpPosts?.result?.edges.map(post => {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n

{post.node.title ?? ''}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Shop now
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n })}\r\n \r\n );\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\n\r\nimport * as React from 'react';\r\n\r\nimport { IPunchoutAccessCxmlData } from './punchout-access-cxml.data';\r\nimport { IPunchoutAccessCxmlProps } from './punchout-access-cxml.props.autogenerated';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\n//import emptyActiveCart from './methods/empty-active-cart';\r\n\r\ninterface sessionCxmlObject {\r\n username: string;\r\n sharedSecret: string;\r\n buyerCookie: string;\r\n hookUrl: string;\r\n fromCredentialDomain: string;\r\n fromCredentialIdentity: string;\r\n toCredentialDomain: string;\r\n toCredentialIdentity: string;\r\n}\r\n\r\nexport interface IPunchoutAccessCxmlViewProps extends IPunchoutAccessCxmlProps {\r\n state: IPunchoutAccessCxmlState;\r\n}\r\n\r\nexport interface IPunchoutAccessCxmlState {\r\n isConnecting: boolean;\r\n hasFailed: boolean;\r\n}\r\n\r\n/**\r\n *\r\n * PunchoutAccessCxml component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass PunchoutAccessCxml extends React.PureComponent> {\r\n constructor(props: IPunchoutAccessCxmlProps, state: IPunchoutAccessCxmlState) {\r\n super(props);\r\n this.state = {\r\n isConnecting: true,\r\n hasFailed: false\r\n };\r\n }\r\n\r\n // Get the credentials from the body of the POST request\r\n private readQueryCXML(): string[] {\r\n const requestQuery = this.props.context.request.query;\r\n\r\n // const cXmlEncoded = requestQuery?.cXML || '';\r\n // const cXmlBase64Decoded = atob(cXmlEncoded);\r\n // const cXmlCleaned = cXmlBase64Decoded.replace('cXML-urlencoded=', '').replace('&url=', '');\r\n // const cXmlUriDecoded = decodeURIComponent(cXmlCleaned);\r\n // const cXmlString = cXmlUriDecoded.replace(/\\+/g, ' ');\r\n\r\n // const parser = new DOMParser();\r\n // const xmlDoc = parser.parseFromString(cXmlString, 'text/xml');\r\n\r\n // let username: string;\r\n // let password: string;\r\n // let hookUrl: string;\r\n // let buyerCookie: string;\r\n\r\n // username =\r\n // xmlDoc\r\n // .getElementsByTagName('From')[0]\r\n // .getElementsByTagName('Credential')[0]\r\n // .getElementsByTagName('Identity')[0].childNodes[0].nodeValue || '';\r\n\r\n // password =\r\n // xmlDoc\r\n // .getElementsByTagName('Sender')[0]\r\n // .getElementsByTagName('Credential')[0]\r\n // .getElementsByTagName('SharedSecret')[0].childNodes[0].nodeValue || '';\r\n // hookUrl = xmlDoc.getElementsByTagName('BrowserFormPost')[0].getElementsByTagName('URL')[0].childNodes[0].nodeValue || '';\r\n // buyerCookie = xmlDoc.getElementsByTagName('BuyerCookie')[0].childNodes[0].nodeValue || '';\r\n\r\n const sessionObjectEncoded = decodeURIComponent(requestQuery?.sessionid ?? '');\r\n const sessionObjectDecoded = atob(sessionObjectEncoded);\r\n const sessionId: sessionCxmlObject = JSON.parse(sessionObjectDecoded);\r\n\r\n let username: string = sessionId.username;\r\n const password: string = sessionId.sharedSecret;\r\n const buyerCookie: string = sessionId.buyerCookie;\r\n const hookUrl: string = sessionId.hookUrl;\r\n const fromCredentialDomain: string = sessionId.fromCredentialDomain;\r\n const fromCredentialIdentity: string = sessionId.fromCredentialIdentity;\r\n const toCredentialDomain: string = sessionId.toCredentialDomain;\r\n const toCredentialIdentity: string = sessionId.toCredentialIdentity;\r\n\r\n //check if username is an email, if not add '@tebubio.com' to username (CXML usernames usually aren't emails)\r\n if (username.search('@') === -1) {\r\n username = `${username}@tebubio.com`;\r\n }\r\n\r\n window.sessionStorage.setItem('protocol', 'cXML');\r\n window.sessionStorage.setItem('buyerCookie', buyerCookie);\r\n window.sessionStorage.setItem('hookUrl', hookUrl);\r\n window.sessionStorage.setItem('fromCredentialDomain', fromCredentialDomain);\r\n window.sessionStorage.setItem('fromCredentialIdentity', fromCredentialIdentity);\r\n window.sessionStorage.setItem('toCredentialDomain', toCredentialDomain);\r\n window.sessionStorage.setItem('toCredentialIdentity', toCredentialIdentity);\r\n\r\n return [username, password, hookUrl, buyerCookie];\r\n }\r\n\r\n public async componentDidMount(): Promise {\r\n //debugger;\r\n // Reset of the isPunchoutAccess flag used by the punchout-empty-cart module on the punchout home page\r\n window.sessionStorage.removeItem('isPunchoutAccess');\r\n\r\n const [username, password, hookUrl, buyerCookie] = this.readQueryCXML();\r\n\r\n const homeLink = Msdyn365.getUrlSync('home', this.props.context.actionContext) || '';\r\n\r\n const country = this.props.context.request.sitePath?.replace('/po-', ''); // type '/po-fr-eur'\r\n window.sessionStorage.setItem('country', country ?? '');\r\n const punchoutCurrency = this.props.context.request.sitePath?.substring(7);\r\n window.sessionStorage.setItem('punchoutCurrency', punchoutCurrency ?? '');\r\n\r\n // Get B2C Token\r\n let B2CToken = '';\r\n const webApiUrl = `${this.props.config.urlAzureFn}${this.props.config.keyAzureFn}`;\r\n //'https://punchoutcommerce.azurewebsites.net/api/punchout/v1/login?code=Cs3uVrX5WnMmrdR0vmnaLi6gDDHVS8gIPizAEWQSoydpkqCQFaLGlQ==';\r\n\r\n const webApiBody = {\r\n Localization: country, //'fr-EUR',\r\n Format: 'cXML',\r\n username: username,\r\n password: password,\r\n hookUrl: hookUrl,\r\n buyerCookie: buyerCookie\r\n };\r\n\r\n try {\r\n // Get the AAD B2C Token\r\n fetch(webApiUrl, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(webApiBody)\r\n })\r\n .then(response => {\r\n response.json().then(json => {\r\n try {\r\n B2CToken = json.token.access_token;\r\n // Get the Commerce session cookie\r\n fetch(homeLink, {\r\n method: 'GET',\r\n mode: 'same-origin',\r\n credentials: 'same-origin',\r\n headers: {\r\n Authorization: `B2CToken ${B2CToken}`\r\n }\r\n })\r\n .then(response => {\r\n //response.text().then(resp => console.log(resp));\r\n\r\n // Set punchout access flag in sessionStorage\r\n window.sessionStorage.setItem('isPunchout', '1');\r\n // Save protocol, hookUrl and buyercookie to sessionStorage, as they are used later when validating the purchase (place-orders)\r\n window.sessionStorage.setItem('hookUrl', webApiBody.hookUrl);\r\n window.sessionStorage.setItem('protocol', webApiBody.Format);\r\n //window.sessionStorage.setItem('buyerCookie', webApiBody.buyerCookie); // No buyercookie for OCI\r\n // We set the isPunchoutAccess so that the punchout-empty-cart module can take action on the punchout home page\r\n window.sessionStorage.setItem('isPunchoutAccess', '1');\r\n\r\n // We empty the cart each time this page is accessed for a new punchout session\r\n // emptyActiveCart(this.props.context.actionContext);\r\n\r\n // Redirect to the Homepage\r\n this.setState({\r\n isConnecting: false,\r\n hasFailed: false\r\n });\r\n window.location.assign(homeLink);\r\n })\r\n .catch(error => {\r\n console.error('There was an error!', error);\r\n this.setState({\r\n isConnecting: false,\r\n hasFailed: true\r\n });\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n this.setState({\r\n isConnecting: false,\r\n hasFailed: true\r\n });\r\n }\r\n });\r\n })\r\n .catch(error => {\r\n console.error('There was an error!', error);\r\n this.setState({\r\n isConnecting: false,\r\n hasFailed: true\r\n });\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n this.setState({\r\n isConnecting: false,\r\n hasFailed: true\r\n });\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const punchoutAccessCxmlViewProps = {\r\n ...this.props,\r\n state: this.state\r\n };\r\n return this.props.renderView(punchoutAccessCxmlViewProps);\r\n }\r\n}\r\n\r\nexport default PunchoutAccessCxml;\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\nimport * as React from 'react';\r\nimport { IPunchoutAccessCxmlViewProps } from './punchout-access-cxml';\r\n\r\nexport default (viewProps: IPunchoutAccessCxmlViewProps) => {\r\n return (\r\n
\r\n

{viewProps.config.showText}

\r\n {viewProps.state.isConnecting ? (\r\n

\r\n \r\n Connecting\r\n

\r\n ) : (\r\n ''\r\n )}\r\n {viewProps.state.hasFailed ?
Connection failed : please review your credentials
: ''}\r\n
\r\n );\r\n};\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IBuyboxAddToCartViewProps,\n IBuyboxAddToOrderTemplateViewProps,\n IBuyboxAddToWishlistViewProps,\n IBuyboxCallbacks,\n IBuyboxData,\n IBuyboxFindInStoreViewProps,\n IBuyboxKeyInPriceViewProps,\n IBuyboxProductConfigureDropdownViewProps,\n IBuyboxProductConfigureViewProps,\n IBuyboxProductQuantityViewProps,\n IBuyboxProps,\n IBuyboxShopSimilarLookViewProps,\n IBuyboxState,\n IBuyboxViewProps\n} from '@msdyn365-commerce-modules/buybox';\nimport { IncrementalQuantity, ITelemetryContent, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IBuyboxProps as IBuyboxExtentionProps,\n IBuyboxResources as IBuyboxExtentionResources\n} from '../definition-extensions/buybox.ext.props.autogenerated';\n\nconst BuyboxView: React.FC> = props => {\n const {\n ModuleProps,\n MediaGalleryContainerProps,\n ProductInfoContainerProps,\n addToCart,\n addToOrderTemplate,\n addToWishlist,\n telemetryContent,\n configure,\n description,\n findInStore,\n quantity,\n price,\n title,\n rating,\n callbacks,\n state,\n resources,\n inventoryLabel,\n shopSimilarLook,\n keyInPrice,\n quantityLimitsMessages,\n min,\n max,\n applyDefaultOrderSettings,\n shopSimilarDescription,\n unitOfMeasure\n } = props;\n\n return (\n \n {props.mediaGallery}\n \n {title}\n {price}\n {unitOfMeasure}\n {props.bulkPurchaseLink}\n {description}\n {_renderTextBlock(props.slots.textBlocks)}\n {rating}\n {configure && _renderConfigure(configure)}\n {keyInPrice && _renderKeyInPrice(keyInPrice)}\n {quantity &&\n _renderQuantity(\n quantity,\n callbacks,\n props,\n state,\n resources,\n quantityLimitsMessages,\n min,\n max,\n applyDefaultOrderSettings,\n telemetryContent\n )}\n {inventoryLabel}\n {_renderCartAndActions(addToCart, addToOrderTemplate, addToWishlist)}\n {findInStore && _renderFindInStore(findInStore)}\n {_renderSocialShare(props.slots && props.slots.socialShare)}\n {shopSimilarLook && _renderShopSimilarItem(shopSimilarLook)}\n {shopSimilarDescription && _renderShopSimilarItem(shopSimilarDescription)}\n \n \n );\n};\n\nconst _renderTextBlock = (textBlocks: React.ReactNode[]): JSX.Element | undefined => {\n if (!textBlocks || textBlocks.length === 0) {\n return undefined;\n }\n\n return <>{textBlocks[0]};\n};\n\nconst _renderSocialShare = (socialShare: React.ReactNode[]): JSX.Element | undefined => {\n if (!socialShare || socialShare.length === 0) {\n return undefined;\n }\n\n return <>{socialShare[0]};\n};\n\nconst _renderCartAndActions = (\n addToCart?: IBuyboxAddToCartViewProps,\n addToOrderTemplate?: IBuyboxAddToOrderTemplateViewProps,\n addToWishlist?: IBuyboxAddToWishlistViewProps\n): JSX.Element | undefined => {\n if (!addToCart && !addToWishlist) {\n return undefined;\n }\n\n return (\n
\n {addToCart && addToCart.errorBlock}\n {addToOrderTemplate && addToOrderTemplate.errorBlock}\n {addToWishlist && addToWishlist.errorBlock}\n
\n {addToCart && addToCart.button}\n {addToOrderTemplate && addToOrderTemplate.button}\n {addToWishlist && addToWishlist.button}\n
\n
\n );\n};\n\nconst _renderConfigure = (configure: IBuyboxProductConfigureViewProps): JSX.Element => {\n const { ContainerProps, dropdowns } = configure;\n\n return {dropdowns.map(_renderConfigureDropdown)};\n};\n\nconst _renderConfigureDropdown = (dropdown: IBuyboxProductConfigureDropdownViewProps): JSX.Element => {\n const { ContainerProps, LabelContainerProps, heading, errors, select } = dropdown;\n\n return (\n \n \n {heading}\n {errors}\n \n {select}\n \n );\n};\n\nconst _renderFindInStore = (findInStore: IBuyboxFindInStoreViewProps): JSX.Element => {\n const { ContainerProps, storeSelector, heading, description, errors, button, modal, productPickupOptionList } = findInStore;\n\n return (\n \n {storeSelector}\n {heading}\n {productPickupOptionList}\n {description}\n {errors}\n {button}\n {modal}\n \n );\n};\n\n/**\n * On Change function.\n * @param callbacks -Callbacks.\n * @returns Update quantity.\n */\nconst onChangeHandler = (callbacks: IBuyboxCallbacks) => (newValue: number): boolean => {\n if (callbacks.updateQuantity) {\n return callbacks.updateQuantity(newValue);\n }\n return true;\n};\n\nconst _renderQuantity = (\n quantityComponent: IBuyboxProductQuantityViewProps,\n callbacks: IBuyboxCallbacks,\n props: IBuyboxProps,\n state: IBuyboxState,\n extentionResources: IBuyboxExtentionResources,\n quantityLimitsMessages: React.ReactNode,\n min: number | undefined,\n max: number | undefined,\n applyDefaultOrderSettings?: boolean,\n telemetryContent?: ITelemetryContent\n): JSX.Element => {\n const { ContainerProps, LabelContainerProps, heading, errors } = quantityComponent;\n\n const { resources } = props;\n\n const { quantity } = state;\n\n return (\n \n \n {heading}\n {errors}\n \n\n \n {quantityLimitsMessages}\n \n );\n};\n\nconst _renderKeyInPrice = (keyInPrice: IBuyboxKeyInPriceViewProps): JSX.Element => {\n const { ContainerProps, LabelContainerProps, heading, input } = keyInPrice;\n\n return (\n \n {heading}\n {input}\n \n );\n};\n\nconst _renderShopSimilarItem = (shopSimilarItem: IBuyboxShopSimilarLookViewProps): JSX.Element => {\n const { ContainerProps, errors, input } = shopSimilarItem;\n\n return (\n \n {errors}\n {input}\n \n );\n};\n\nexport default BuyboxView;\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 { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IImageListConfig, IImageListProps, IImagesData } from './image-list.props.autogenerated';\n\n/**\n * The interface for IImageListViewProps.\n */\nexport interface IImageListViewProps extends IImageListProps {\n imageList: IModuleProps;\n imageListHeading?: React.ReactNode;\n imageListContainer: INodeProps;\n imageListItem: INodeProps;\n imageListItemAnchorTag: INodeProps;\n imageListItems: IImageListItem[] | undefined;\n}\n\n/**\n * The interface for IImageListItem.\n */\nexport interface IImageListItem {\n image: JSX.Element | undefined;\n text: JSX.Element | undefined;\n link: string | undefined;\n linkAltText: string | undefined;\n linkAriaLabel: string | undefined;\n linkOpenInNewTab?: boolean;\n}\n\n/**\n *\n * ImageList component.\n * @extends {React.PureComponent>}\n */\nclass ImageList extends React.PureComponent> {\n public render(): JSX.Element | null {\n const { heading } = this.props.config;\n const imageListTitle = heading && ;\n const viewProps: IImageListViewProps = {\n ...this.props,\n imageList: {\n moduleProps: this.props,\n className: classnames('ms-image-list', this.props.config.className),\n tag: 'div'\n },\n imageListHeading: imageListTitle,\n imageListContainer: {\n className: 'ms-image-list__list',\n role: 'list',\n tag: 'ul'\n },\n imageListItem: {\n className: 'ms-image-list__list-item',\n role: 'listitem',\n tag: 'li'\n },\n imageListItemAnchorTag: {\n tag: 'a',\n className: 'ms-image-list__link',\n role: 'link'\n },\n imageListItems: this._renderImageListItems()\n };\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle paragraph change.\n * @param index - Index of image item in array of image items.\n * @returns Void.\n */\n public handleParagraphChange = (index: number) => (event: Msdyn365.ContentEditableEvent): void => {\n if (this.props.config.images![index]) {\n this.props.config.images![index].paragraph = event.target.value;\n }\n };\n\n /**\n * Render list of images.\n * @returns List of images with text and redirection link.\n */\n private readonly _renderImageListItems = (): IImageListItem[] | undefined => {\n const imageList: IImagesData[] | undefined = this.props.config.images;\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 },\n lg: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 },\n xl: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 }\n },\n lazyload: false,\n disableLazyLoad: true\n };\n return imageList?.map((item, index) => {\n const { image, link, paragraph } = item;\n\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: (image?.imageSettings ?? defaultImageSettings) as Msdyn365.IImageSettings | undefined\n };\n\n const imageLink: string | undefined = link?.linkUrl.destinationUrl;\n const imageLinkText: string | undefined = link?.linkText ?? link?.ariaLabel;\n const imageLinkAriaLabel: string | undefined = link?.ariaLabel;\n const imageLinkOpenInNewTab = link?.openInNewTab;\n\n // If image is null, we want to render the placeholder SVG - by passing image data with empty src\n const imageImage = (\n \n );\n\n const imageText = paragraph && (\n \n );\n const imageListItem: IImageListItem = {\n image: imageImage,\n text: imageText,\n link: imageLink,\n linkAltText: imageLinkText,\n linkAriaLabel: imageLinkAriaLabel,\n linkOpenInNewTab: imageLinkOpenInNewTab\n };\n return imageListItem;\n });\n };\n}\n\nexport default ImageList;\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IImageListViewProps } from './image-list';\n\n/**\n * Render the thumbnail item images.\n * @param props - The image list view props.\n * @returns Return HTML having IImageListViewProps props with image List.\n */\nexport const imageListView = (props: IImageListViewProps): JSX.Element => {\n const { imageList, imageListContainer, imageListHeading, imageListItem, imageListItems, imageListItemAnchorTag } = props;\n return (\n \n {imageListHeading}\n \n {imageListItems?.map(item => {\n let indexKey: string;\n\n if (item.image) {\n const image = (item.image as unknown) as Msdyn365.Image;\n indexKey = image.props.src as string;\n } else {\n const text = (item.text as unknown) as Msdyn365.RichTextComponent;\n indexKey = text.props.text as string;\n }\n return (\n \n {item.image && (\n \n {item.image}\n \n )}\n {item.text}\n \n );\n })}\n \n \n );\n};\n\nexport default imageListView;\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 '../interactive-feature-item.props.autogenerated';\n\n/**\n * Interactive Feature links.\n */\nexport interface IInteractiveFeatureLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * IInteractiveFeatureLinks component.\n * @extends {React.PureComponent}\n */\nexport class InteractiveFeatureCollectionLinks 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 * IInteractiveFeatureLinks component.\n * @param linkdata - Link data.\n * @returns Editable links.\n */\n private readonly _mapEditableLinks = (linkdata?: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || !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-interactive-feature-collection__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 InteractiveFeatureCollectionLinks;\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 { InteractiveFeatureCollectionLinks } from './components';\nimport { IHeadingData, IInteractiveFeatureItemProps } from './interactive-feature-item.props.autogenerated';\n\n/**\n * Interactive Feature Item view props.\n */\nexport interface IInteractiveFeatureItemViewProps extends IInteractiveFeatureItemProps<{}> {\n title: React.ReactNode;\n paragraph: React.ReactNode;\n image: React.ReactNode;\n links: React.ReactNode;\n featureItem: IModuleProps;\n isMosaic: boolean;\n indexItem?: number;\n itemCounter?: number;\n\n interactiveFeatureCollectionCarouselContainer: INodeProps;\n interactiveFeatureCollectionCarouselImage: INodeProps;\n interactiveFeatureCollectionCarouselContent: INodeProps;\n\n interactiveFeatureCollectionMosaicContainer: INodeProps;\n interactiveFeatureCollectionMosaicImage: INodeProps;\n interactiveFeatureCollectionMosaicDetails: INodeProps;\n}\n\n/**\n * Interactive Feature Item Extented props.\n */\nexport interface IInteractiveFeatureItemExtentedProps extends IInteractiveFeatureItemProps<{}> {\n isMosaic?: boolean;\n indexItem?: number;\n itemCounter?: number;\n}\n\n/**\n *\n * InteractiveFeatureItem component.\n * @extends {React.PureComponent}\n */\nexport class InteractiveFeatureItem 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: IInteractiveFeatureItemProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { indexItem, itemCounter, isMosaic } = this.props;\n const { heading, paragraph, image, links } = this.props.config;\n const featureItemLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n\n const viewProps = {\n ...this.props,\n indexItem,\n itemCounter,\n isMosaic: isMosaic ? isMosaic : false,\n title: this._createHeading(heading),\n paragraph: this._createParagraph(paragraph),\n image: this._renderImage(image),\n links: featureItemLinks,\n featureItem: {\n moduleProps: this.props,\n className: ''\n },\n interactiveFeatureCollectionCarouselContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__container'\n },\n interactiveFeatureCollectionCarouselImage: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__image'\n },\n interactiveFeatureCollectionCarouselContent: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__heading'\n },\n interactiveFeatureCollectionMosaicContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-mosaic',\n 'aria-label': heading?.text,\n tabindex: '0',\n role: 'group'\n },\n interactiveFeatureCollectionMosaicImage: {\n className: 'ms-interactive-feature-collection-mosaic__image'\n },\n interactiveFeatureCollectionMosaicDetails: {\n className: 'ms-interactive-feature-collection-mosaic__details'\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 _renderImage(item?: Msdyn365.IImageData, isAriaHiddenAttribute?: boolean): React.ReactNode | null {\n // Even if image.src is null, we render the Image component to render the fallback SVG\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=328&h=459&m=6', w: 328, h: 459 },\n sm: { q: 'w=348&h=487&m=6', w: 348, h: 487 },\n md: { q: 'w=650&h=366&m=6', w: 650, h: 366 },\n lg: { q: 'w=650&h=366&m=6', w: 650, h: 366 },\n xl: { q: 'w=650&h=366&m=6', w: 650, h: 366 }\n },\n lazyload: true\n };\n const verifiedImageSettings = item?.imageSettings?.viewports ? item.imageSettings : defaultImageSettings;\n return (\n \n );\n }\n}\n\nexport default InteractiveFeatureItem;\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 classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IInteractiveFeatureItemViewProps } from './interactive-feature-item';\n\n/**\n * Enumerator used to make some calculations to set the proper classnames\n * using modular calculations to see if they are in a right or left column or on first or last row.\n */\nenum MagicNumber {\n modularDivisor = 4,\n caseNumberZero = 0,\n caseNumberOne = 1,\n caseNumberTwo = 2\n}\n\n/**\n * Feature Item View.\n * @param thisProps - Feature Item view props.\n * @param indexItem - Feature Item view props.\n * @param itemCounter - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */\nconst renderMosaic = (thisProps: IInteractiveFeatureItemViewProps, indexItem?: number, itemCounter?: number): JSX.Element | null => {\n const {\n title,\n paragraph,\n image,\n links,\n interactiveFeatureCollectionMosaicContainer,\n interactiveFeatureCollectionMosaicImage,\n interactiveFeatureCollectionMosaicDetails\n } = thisProps;\n const indexAux = indexItem ? indexItem + MagicNumber.caseNumberOne : MagicNumber.caseNumberOne;\n const itemCounterAux = itemCounter ? itemCounter : MagicNumber.caseNumberZero;\n const modularAux = indexAux % MagicNumber.modularDivisor;\n const firstRow = indexAux <= MagicNumber.caseNumberTwo ? 'firstRow' : '';\n const lastRow =\n itemCounterAux && (indexAux === itemCounterAux || indexAux === itemCounterAux - MagicNumber.caseNumberOne) ? 'lastRow' : '';\n const onCornerRight = modularAux === MagicNumber.caseNumberZero ? 'item-corner-right' : '';\n const onCornerLeft = modularAux === MagicNumber.caseNumberOne ? 'item-corner-left' : '';\n const containerClasses = classnames('ms-interactive-feature-collection-mosaic', onCornerLeft, onCornerRight, firstRow, lastRow);\n\n return (\n \n {image}\n \n {title}\n {paragraph}\n {links}\n \n \n );\n};\n\n/**\n * Feature Item View.\n * @param thisProps - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */ const renderCarousel = (thisProps: IInteractiveFeatureItemViewProps): JSX.Element | null => {\n const {\n title,\n paragraph,\n image,\n links,\n interactiveFeatureCollectionCarouselContainer,\n interactiveFeatureCollectionCarouselImage,\n interactiveFeatureCollectionCarouselContent\n } = thisProps;\n return (\n \n {image}\n \n {title}\n {paragraph}\n {links}\n \n \n );\n};\n\n/**\n * Feature Item View.\n * @param props - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */\nexport const FeatureItemViewComponent: React.FC = props => {\n const { isMosaic, featureItem, indexItem, itemCounter } = props;\n if (isMosaic) {\n return <>{renderMosaic(props, indexItem, itemCounter)};\n }\n return {renderCarousel(props)};\n};\n\nexport default FeatureItemViewComponent;\n"],"names":["DynWordpressFeaturedHL","React","render","dynWordpressPostsProps","this","props","renderView","data","wpPosts","result","edges","map","post","className","key","node","guid","alt","title","src","featuredImage","sourceUrl","height","width","dangerouslySetInnerHTML","Msdyn365","excerpt","role","href","config","blogUrl","slug","target","rel","DynWordpressFeatured","PunchoutAccessCxml","constructor","state","super","isConnecting","hasFailed","readQueryCXML","requestQuery","context","request","query","sessionObjectEncoded","decodeURIComponent","sessionid","sessionObjectDecoded","atob","sessionId","JSON","parse","username","password","sharedSecret","buyerCookie","hookUrl","fromCredentialDomain","fromCredentialIdentity","toCredentialDomain","toCredentialIdentity","search","window","sessionStorage","setItem","removeItem","homeLink","actionContext","country","sitePath","replace","punchoutCurrency","substring","B2CToken","webApiUrl","urlAzureFn","keyAzureFn","webApiBody","Localization","Format","fetch","method","headers","body","stringify","then","response","json","token","access_token","mode","credentials","Authorization","setState","location","assign","catch","error","console","log","punchoutAccessCxmlViewProps","viewProps","showText","_renderTextBlock","textBlocks","length","_renderSocialShare","socialShare","_renderCartAndActions","addToCart","addToOrderTemplate","addToWishlist","errorBlock","button","_renderConfigure","configure","ContainerProps","dropdowns","Node","Object","_renderConfigureDropdown","dropdown","LabelContainerProps","heading","errors","select","_renderFindInStore","findInStore","storeSelector","description","modal","productPickupOptionList","onChangeHandler","callbacks","newValue","updateQuantity","_renderQuantity","quantityComponent","extentionResources","quantityLimitsMessages","min","max","applyDefaultOrderSettings","telemetryContent","resources","quantity","IncrementalQuantity","id","currentCount","onChange","inputQuantityAriaLabel","decrementButtonAriaLabel","incrementButtonAriaLabel","minQuantityText","maxQuantityText","_renderKeyInPrice","keyInPrice","input","_renderShopSimilarItem","shopSimilarItem","ModuleProps","MediaGalleryContainerProps","ProductInfoContainerProps","price","rating","inventoryLabel","shopSimilarLook","shopSimilarDescription","unitOfMeasure","Module","mediaGallery","bulkPurchaseLink","slots","ImageList","handleParagraphChange","index","event","images","paragraph","value","_renderImageListItems","imageList","defaultImageSettings","viewports","xs","q","w","h","lg","xl","lazyload","disableLazyLoad","item","image","link","imageProps","gridSettings","imageSettings","imageLink","linkUrl","destinationUrl","imageLinkText","linkText","ariaLabel","imageLinkAriaLabel","imageLinkOpenInNewTab","openInNewTab","loadFailureBehavior","requestContext","text","editProps","onEdit","linkAltText","linkAriaLabel","linkOpenInNewTab","imageListTitle","tag","moduleProps","classnames","imageListHeading","imageListContainer","imageListItem","imageListItemAnchorTag","imageListItems","imageListView","indexKey","altText","undefined","InteractiveFeatureCollectionLinks","_mapEditableLinks","linkdata","ArrayExtensions","editableLinks","payLoad","getPayloadObject","contentAction","etext","attributes","getTelemetryAttributes","editableLink","additionalProperties","onClick","onTelemetryClick","push","links","onTextChange","InteractiveFeatureItem","_telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","telemetry","handleHeadingChange","handleLinkTextChange","linkIndex","Number","indexItem","itemCounter","isMosaic","featureItemLinks","_createHeading","_createParagraph","_renderImage","featureItem","interactiveFeatureCollectionCarouselContainer","interactiveFeatureCollectionCarouselImage","interactiveFeatureCollectionCarouselContent","interactiveFeatureCollectionMosaicContainer","tabindex","interactiveFeatureCollectionMosaicImage","interactiveFeatureCollectionMosaicDetails","StringExtensions","isAriaHiddenAttribute","verifiedImageSettings","sm","md","moduleType","typeName","imagePropertyName","moduleId","MagicNumber","FeatureItemViewComponent","thisProps","indexAux","caseNumberOne","itemCounterAux","caseNumberZero","modularAux","modularDivisor","firstRow","caseNumberTwo","lastRow","onCornerRight","onCornerLeft","containerClasses","renderMosaic","renderCarousel"],"sourceRoot":""}