{"version":3,"file":"static/js/13.08d58add747dac605f4b.chunk.js","mappings":"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","sources":["webpack://Citta2.0/./src/modules/citta-product-video/citta-product-video.tsx?bc8d","webpack://Citta2.0/./src/modules/citta-product-video/citta-product-video.view.tsx?ed50","webpack://Citta2.0/./src/modules/citta-tab-item/citta-tab-item.tsx?7492","webpack://Citta2.0/./src/modules/citta-tab-item/citta-tab-item.view.tsx?e3f3","webpack://Citta2.0/./src/modules/citta-tabs/citta-tabs.tsx?0226","webpack://Citta2.0/./src/modules/citta-tabs/citta-tabs.view.tsx?5654","webpack://Citta2.0/./src/modules/citta-tile-list-item/components/links.tsx?7aff","webpack://Citta2.0/./src/modules/citta-tile-list-item/citta-tile-list-item.tsx?6ea4","webpack://Citta2.0/./src/modules/citta-tile-list-item/citta-tile-list-item.view.tsx?7f62","webpack://Citta2.0/./src/themes/citta/views/checkout-guest-profile.view.tsx?7905","webpack://Citta2.0/./src/themes/citta/views/footer-item.view.tsx?8324","webpack://Citta2.0/./src/modules/default-page-summary/default-page-summary.tsx?0c78","webpack://Citta2.0/./src/modules/social-share/social-share.tsx?899b","webpack://Citta2.0/./src/modules/social-share/social-share.view.tsx?dcdf"],"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\n// import { reaction } from 'mobx';\r\nimport * as React from 'react';\r\n// import { IVideoMetadata } from '@msdyn365-commerce/components';\r\n\r\nimport { ICittaProductVideoData } from './citta-product-video.data';\r\nimport { ICittaProductVideoProps } from './citta-product-video.props.autogenerated';\r\n\r\nimport {\r\n IModuleProps,\r\n INodeProps\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\n\r\nimport { IImageData } from '@msdyn365-commerce/core';\r\n\r\nimport { IMediaGalleryData, IMediaGalleryProps } from '@msdyn365-commerce-modules/media-gallery';\r\n// import { IPlayerResources } from '@msdyn365-commerce/components/dist/types/videoplayer/components/data/player-resources';\r\n// import { IPlayerData } from '@msdyn365-commerce/components/dist/types/videoplayer/players/player/Player.props';\r\n// import * as MsDyn365 from '@msdyn365-commerce/core';\r\n// import { getValidProductImages } from './utils';\r\n\r\nexport const enum imageSource {\r\n pageContext = 'pageContext',\r\n productId = 'productId'\r\n}\r\nexport interface IMediaGalleryState {\r\n animating: boolean;\r\n activeIndex: number;\r\n mediaGalleryItems: IImageData[] | undefined;\r\n isImageZoomed: boolean;\r\n modalIsOpen: boolean;\r\n lastUpdate?: number;\r\n}\r\n\r\nexport interface IMediaGalleryThumbnailsViewProps {\r\n ThumbnailsContainerProps: INodeProps;\r\n SingleSlideCarouselComponentProps: INodeProps;\r\n items?: IMediaGalleryThumbnailItemViewProps[];\r\n}\r\n\r\nexport interface IMediaGalleryThumbnailItemViewProps {\r\n ThumbnailItemContainerProps: INodeProps;\r\n Picture: React.ReactElement;\r\n}\r\n\r\nexport interface IMediaGalleryViewProps extends IMediaGalleryProps {\r\n state: IMediaGalleryState;\r\n MediaGallery: IModuleProps;\r\n CarouselProps: INodeProps;\r\n Thumbnails: IMediaGalleryThumbnailsViewProps;\r\n Modal?:React.ReactElement|null;\r\n}\r\n\r\n\r\nexport interface ICittaProductVideoViewProps extends ICittaProductVideoProps<{}> {\r\n player: INodeProps;\r\n ProductVideoContainer: IModuleProps\r\n}\r\n\r\n/**\r\n * Media gallery component\r\n */\r\nclass CittaProductVideo extends React.Component, IMediaGalleryState> {\r\n public render(): JSX.Element | null {\r\n const {\r\n className\r\n } = this.props.config;\r\n\r\n const content: ICittaProductVideoData = this.props.data;\r\n\r\n const attributes = content.attributes.result;\r\n if (!attributes) {\r\n return null;\r\n }\r\n \r\n const srcAttribute = attributes?.find(attribute => attribute.Name === this.props.resources.attributeName);\r\n\r\n if (!srcAttribute || !srcAttribute.TextValue) {\r\n return null;\r\n }\r\n \r\n const viewProps = {\r\n ...this.props,\r\n ProductVideoContainer: {\r\n moduleProps: this.props,\r\n className: classnames('product-video-container', className)\r\n },\r\n player: \r\n };\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n}\r\n\r\nexport default CittaProductVideo;","/*!\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 { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport { ICittaProductVideoViewProps } from './citta-product-video';\r\n\r\nexport default (props: ICittaProductVideoViewProps) => {\r\n return (\r\n \r\n { /* @ts-ignore */ }\r\n {props.player}\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\n\r\nimport { IModuleProps, INodeProps, NodeTag } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport { ICittaTabItemData } from './citta-tab-item.data';\r\nimport { ICittaTabItemProps } from './citta-tab-item.props.autogenerated';\r\n\r\nexport interface ITabItemViewProps {\r\n TabContentContainer: IModuleProps;\r\n TabHeaderContainer: IModuleProps;\r\n tabSlots: INodeProps;\r\n TabItemContent: INodeProps;\r\n tabItemType?: TabItemType;\r\n tabHeader: React.ReactNode;\r\n}\r\n\r\nexport interface ITabItemExtentedProps extends ICittaTabItemProps {\r\n tabItemType?: TabItemType;\r\n isSelected?: boolean;\r\n itemIndex?: number;\r\n tabId?: string;\r\n}\r\n\r\nexport enum TabItemType {\r\n TabHeader,\r\n TabContent\r\n}\r\n/**\r\n *\r\n * TabItem component\r\n * @extends {React.Component}\r\n */\r\n@observer\r\nclass TabItem extends React.Component {\r\n private moduleContentClassName: string = 'ms-tab-item-content';\r\n private moduleHeaderClassName: string = 'ms-tab-item-header';\r\n\r\n constructor(props: ICittaTabItemProps) {\r\n super(props);\r\n this._renderTabHeader = this._renderTabHeader.bind(this);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { slots, renderView, config, data, isSelected, itemIndex } = this.props;\r\n const index = itemIndex || 0;\r\n const contentID = getContentID(index, this.props.tabId || '');\r\n const activeContentIDResult = data && data.activeTabState && data.activeTabState.result;\r\n const shown = activeContentIDResult && activeContentIDResult.tabId === this.props.tabId && activeContentIDResult.activeContentIndex !== undefined ?\r\n activeContentIDResult.activeContentIndex === index : isSelected || false;\r\n const viewProps = {\r\n ... this.props,\r\n TabContentContainer: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleContentClassName, config.className)\r\n },\r\n TabHeaderContainer: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleHeaderClassName, config.className),\r\n tabIndex:'0'\r\n },\r\n TabItemContent: {\r\n className: 'ms-tab-item-content__content',\r\n tag: 'section' as NodeTag,\r\n 'aria-hidden': !shown,\r\n role: 'tabpanel',\r\n tabIndex: shown ? 0 : -1,\r\n id: contentID\r\n },\r\n tabHeader: this._renderTabHeader(),\r\n tabSlots: slots,\r\n };\r\n return renderView(viewProps) as React.ReactElement;\r\n\r\n }\r\n\r\n private _renderTabHeader(): React.ReactNode {\r\n return (\r\n <>\r\n {this.props.config.tabItemTitle}\r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport const getContentID = (index: number, id: string) => {\r\n return `tab-item-content-${id}-${index}`;\r\n};\r\n\r\nexport default TabItem;","/*---------------------------------------------------------------------------------------------\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ITabItemViewProps, TabItemType } from './citta-tab-item';\r\n\r\nconst TabItemView: React.FC = props => {\r\n const { tabItemType, tabSlots, TabContentContainer, TabHeaderContainer, TabItemContent, tabHeader } = props;\r\n\r\n switch (tabItemType) {\r\n case TabItemType.TabContent:\r\n return (\r\n \r\n \r\n {tabSlots && tabSlots.tabItemContent && tabSlots.tabItemContent.length && (_renderTabItemContent(tabSlots.tabItemContent))}\r\n \r\n \r\n );\r\n case TabItemType.TabHeader:\r\n return (\r\n \r\n {tabHeader}\r\n \r\n );\r\n default:\r\n return null;\r\n }\r\n};\r\n\r\nconst _renderTabItemContent = (items: React.ReactNode[]): JSX.Element | null => {\r\n return (\r\n <>\r\n {items && items.length ? (\r\n items.map((item: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {item}\r\n \r\n );\r\n })\r\n ) : null}\r\n \r\n );\r\n};\r\nexport default TabItemView;","/*---------------------------------------------------------------------------------------------\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 { addThrottledEvent, IModuleProps, INodeProps, NodeTag } from '@msdyn365-commerce-modules/utilities';\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport { computed, observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport { createTabStateInput } from '../../data-actions/tabs/tab-state-data-action';\r\nimport TabItem, { getContentID, TabItemType } from '../citta-tab-item/citta-tab-item';\r\nimport { ICittaTabsData } from './citta-tabs.data';\r\nimport { ICittaTabsProps } from './citta-tabs.props.autogenerated';\r\n\r\n/**\r\n *\r\n * Tab component\r\n * @extends {React.PureComponent>}\r\n */\r\n\r\nexport interface ICallToActionProps {\r\n link: INodeProps[];\r\n}\r\n\r\nexport interface ITabViewProps extends ICittaTabsProps<{}> {\r\n heading?: React.ReactNode;\r\n TabContainer: IModuleProps;\r\n headerSection: INodeProps;\r\n tabHeaderSection: INodeProps;\r\n tabsSection: INodeProps;\r\n tabItemContainer: INodeProps;\r\n tabHeaders: React.ReactNode;\r\n tabContents: React.ReactNode;\r\n isMobileView?: boolean;\r\n renderMobileHeader: React.ReactNode;\r\n tabMobileHeaders: React.ReactNode;\r\n headerMobileSection: INodeProps;\r\n}\r\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\nexport interface ITabViewStates {\r\n currentTabIndex: number;\r\n pathName: string;\r\n selectedIndex: string;\r\n isMobile: boolean;\r\n selectedDropDown: string;\r\n dropDownOpen: boolean;\r\n}\r\ninterface IRequestContextUrl {\r\n requestUrl: URL;\r\n staticCdnUrl: string;\r\n}\r\n/**\r\n *\r\n * Tab component\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass Tab extends React.Component, ITabViewStates> {\r\n public readonly tabIndexQuery: string = 'activeTab';\r\n private activeLink: HTMLLIElement | null;\r\n private resizeThrottledEventHandler?: (event: Event) => void;\r\n @observable\r\n private viewport: GridSize;\r\n\r\n constructor(props: ICittaTabsProps) {\r\n super(props);\r\n const { defaultTabIndex } = this.props.config;\r\n const { slots } = this.props;\r\n const slotLength = slots && slots.tabItems && slots.tabItems.length || 0;\r\n const initialIndex = defaultTabIndex && defaultTabIndex <= slotLength && defaultTabIndex > 0 ? defaultTabIndex - 1 : 0;\r\n this.viewport = props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\r\n const selectedDdlName = slots && slots.tabItems && slots.tabItems.length && slots.tabItems[defaultTabIndex! - 1];\r\n // @ts-ignore\r\n const defaultSelectedTabTitle: string = selectedDdlName && (selectedDdlName as TabItem).props.config.tabItemTitle || '';\r\n this.state = { currentTabIndex: initialIndex, pathName: '', selectedIndex: '', selectedDropDown: defaultSelectedTabTitle, isMobile: this.isMobile, dropDownOpen: false };\r\n this._getTabHeader = this._getTabHeader.bind(this);\r\n this._getTabContent = this._getTabContent.bind(this);\r\n this._onClick = this._onClick.bind(this);\r\n this._onKeyDown = this._onKeyDown.bind(this);\r\n this._setGetParameter = this._setGetParameter.bind(this);\r\n this.activeLink = null;\r\n this._getTabNameFromRequestContextUrl = this._getTabNameFromRequestContextUrl.bind(this);\r\n this._getRequestContextUrl = this._getRequestContextUrl.bind(this);\r\n this._getRequestContext = this._getRequestContext.bind(this);\r\n this._setState = this._setState.bind(this);\r\n this._getEncodedTabName = this._getEncodedTabName.bind(this);\r\n this._updateViewport = this._updateViewport.bind(this);\r\n this._dropDownAction = this._dropDownAction.bind(this);\r\n }\r\n @computed get isMobile(): boolean {\r\n return (this.viewport === 'xs' || this.viewport === 'sm');\r\n }\r\n public componentDidMount(): void {\r\n this._setState();\r\n this.resizeThrottledEventHandler =\r\n window && addThrottledEvent(window, 'resize', this._updateViewport as EventListener);\r\n this._updateViewport();\r\n }\r\n public componentWillUnmount(): void {\r\n window && window.removeEventListener('resize', this.resizeThrottledEventHandler!, false);\r\n }\r\n public render(): JSX.Element {\r\n const { slots } = this.props;\r\n const { heading, className } = this.props.config;\r\n\r\n const headingComponent = heading && (\r\n \r\n );\r\n const slotLength = slots && slots.tabItems && slots.tabItems.length || 0;\r\n const renderMobileHeader: React.ReactNode = (\r\n

{this.state.selectedDropDown && this.state.selectedDropDown}\r\n \r\n

\r\n );\r\n const tabMobileHeaders: React.ReactNode = (\r\n
    {slotLength > 0 && slots.tabItems.map((item: React.ReactNode, index: number) => this._getTabHeader(item, index))}
\r\n );\r\n const tabViewProps = {\r\n ...this.props,\r\n TabContainer: {\r\n moduleProps: this.props,\r\n className: classnames('ms-tab', className, this.state.isMobile ? ' mobile-dropdown-view' : '')\r\n },\r\n headerSection: { className: 'ms-tab-header-section' },\r\n headerMobileSection: { className: 'ms-tab-header' },\r\n tabsSection: { className: 'ms-tab-tabs-section', tag: 'ul' as NodeTag, role: 'tablist' },\r\n heading: headingComponent,\r\n config: this.props && this.props.config,\r\n tabItemContainer: {\r\n tag: 'div' as NodeTag,\r\n className: 'ms-tab-content-section',\r\n },\r\n tabContents: slotLength > 0 && slots.tabItems.map((item: React.ReactNode, index: number) => this._getTabContent(item, index)),\r\n tabHeaders: slotLength > 0 && slots.tabItems.map((item: React.ReactNode, index: number) => this._getTabHeader(item, index)),\r\n isMobileView: this.state.isMobile,\r\n tabMobileHeaders: tabMobileHeaders,\r\n renderMobileHeader: renderMobileHeader\r\n };\r\n return this.props.renderView(tabViewProps) as React.ReactElement;\r\n }\r\n\r\n public handleHeadingChange = (event: MsDyn365.ContentEditableEvent) => this.props.config.heading!.text = event.target.value;\r\n\r\n public componentDidUpdate(): void {\r\n const { data } = this.props;\r\n const dataActionTabId = data && data.activeTabState && data.activeTabState.result && data.activeTabState.result.tabId;\r\n if (dataActionTabId) {\r\n if (this.props.id === dataActionTabId) {\r\n this.activeLink && this.activeLink.focus();\r\n }\r\n }\r\n }\r\n\r\n // tslint:disable-next-line: cyclomatic-complexity\r\n private _setState(): void {\r\n const { defaultTabIndex } = this.props.config;\r\n const { slots } = this.props;\r\n const slotLength = slots && slots.tabItems && slots.tabItems.length || 0;\r\n let initialIndex = defaultTabIndex && defaultTabIndex <= slotLength && defaultTabIndex > 0 ? defaultTabIndex - 1 : 0;\r\n let queryTabIndex: number = 0;\r\n const firstTabItem = slots && slots.tabItems && slots.tabItems.length && slots.tabItems[defaultTabIndex! - 1];\r\n // @ts-ignore\r\n let selectedTabTitle: string = firstTabItem && (firstTabItem as TabItem).props.config.tabItemTitle || '';\r\n let selectedTabIndex: string = `${selectedTabTitle}0`;\r\n const requestContext = this._getRequestContext();\r\n const tabName = this._getTabNameFromRequestContextUrl(requestContext.url);\r\n const requestUrl: URL = new URL(requestContext && requestContext.url && requestContext.url.requestUrl && requestContext.url.requestUrl.toString());\r\n let pathName = requestUrl.pathname;\r\n const pathNameSplit = pathName.split('/');\r\n if (slots && slots.tabItems) {\r\n for (let i = 0; i < slots.tabItems.length; i++) {\r\n let tileWithoutSpecialCharacters = (slots.tabItems[i] as TabItem).props.config.tabItemTitle.replace('&','and');\r\n // @ts-ignore\r\n const tabTitle: string = this._getEncodedTabName(tileWithoutSpecialCharacters);\r\n if (tabName.toLocaleLowerCase() === tabTitle.toLocaleLowerCase()) {\r\n selectedTabTitle = tabTitle;\r\n selectedTabIndex = selectedTabTitle + i.toString();\r\n queryTabIndex = i;\r\n pathName = pathNameSplit.slice(0, pathNameSplit.length - 1).join('/');\r\n break;\r\n }\r\n }\r\n }\r\n initialIndex = queryTabIndex > 0 && queryTabIndex <= slotLength ? queryTabIndex : initialIndex;\r\n this.viewport = this.props.context.request && this.props.context.request.device && this.props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\r\n const selectedDdlName = slots && slots.tabItems && slots.tabItems.length && slots.tabItems[defaultTabIndex! - 1];\r\n // @ts-ignore\r\n const defaultSelectedTabTitle: string = selectedDdlName && (selectedDdlName as TabItem).props.config.tabItemTitle || '';\r\n this.setState({ currentTabIndex: initialIndex, pathName: pathName, selectedIndex: selectedTabIndex, selectedDropDown: defaultSelectedTabTitle, isMobile: this.isMobile, dropDownOpen: false });\r\n }\r\n private _updateViewport(): void {\r\n this.viewport = this._getViewport();\r\n this.setState({ isMobile: this.isMobile });\r\n }\r\n\r\n private _getViewport(): GridSize {\r\n const { context } = this.props;\r\n\r\n // always render in mobile viewport on a mobile device\r\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\r\n return 'xs';\r\n }\r\n if (typeof window !== undefined && window.innerWidth) {\r\n const gridSettings = context.request.gridSettings;\r\n if (gridSettings) {\r\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\r\n return 'xs';\r\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\r\n return 'sm';\r\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\r\n return 'md';\r\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\r\n return 'lg';\r\n } else {\r\n return 'xl';\r\n }\r\n }\r\n }\r\n return 'xs';\r\n }\r\n\r\n private _getTabHeader(item: React.ReactNode, index: number): React.ReactNode {\r\n const { data, config } = this.props;\r\n const activeContentIndex = data && data.activeTabState && data.activeTabState.result && data.activeTabState.result.activeContentIndex;\r\n const dataActionTabId = data && data.activeTabState && data.activeTabState.result && data.activeTabState.result.tabId;\r\n const selected = activeContentIndex !== undefined && dataActionTabId === this.props.id ? activeContentIndex === index : this.state.currentTabIndex === index;\r\n const contentID = getContentID(index, this.props.id);\r\n // @ts-ignore\r\n const tabTitle = (item as TabItem).props.config.tabItemTitle;\r\n const encodedTabTitle = this._getEncodedTabName(tabTitle);\r\n const requestContext: MsDyn365.IRequestContext = this._getRequestContext();\r\n const queryStringUrl = this._getRequestContextUrl(requestContext.url, true);\r\n let to = `${this.state.pathName}/${encodedTabTitle}${queryStringUrl}`.replace('//', '/');\r\n to = config.deepLink ? to : queryStringUrl;\r\n const selectedTabClassName = selected ? 'tab-selected' : '';\r\n return (\r\n { if (index === this.state.currentTabIndex) { this.activeLink = link; } }}\r\n aria-controls={contentID}\r\n aria-selected={selected}\r\n role='tab'\r\n >\r\n \r\n {React.cloneElement(item as React.ReactElement, { tabItemType: TabItemType.TabHeader, isSelected: index === this.state.currentTabIndex, itemIndex: index, tabId: this.props.id })}\r\n \r\n \r\n );\r\n }\r\n\r\n private _dropDownAction(event: React.MouseEvent): void {\r\n this.setState({ dropDownOpen: !this.state.dropDownOpen });\r\n }\r\n\r\n private _getEncodedTabName(tabName: string): string {\r\n /** @ts-ignore */\r\n return encodeURI(tabName.toLocaleLowerCase().replace(' ', '-').replace(' ', '-'));\r\n }\r\n private _getRequestContextUrl(requestContextUrl?: IRequestContextUrl, onlyQueryString?: boolean): string {\r\n const pageUrl = requestContextUrl && requestContextUrl.requestUrl && requestContextUrl.requestUrl.toString();\r\n if (onlyQueryString) {\r\n const requestContextQueryString = pageUrl && pageUrl.split('?');\r\n const requestContextQueryStringUrl = requestContextQueryString && requestContextQueryString.length > 1 && (requestContextQueryString[1] !== undefined) && requestContextQueryString[1] || '';\r\n return requestContextQueryStringUrl === '' ? requestContextQueryStringUrl : `?${requestContextQueryStringUrl}`;\r\n }\r\n return pageUrl || '';\r\n }\r\n private _getRequestContext(): MsDyn365.IRequestContext {\r\n const { context } = this.props;\r\n return context && context.actionContext && context.actionContext.requestContext;\r\n }\r\n\r\n private _getTabNameFromRequestContextUrl(url?: IRequestContextUrl): string {\r\n const pageUrl = this._getRequestContextUrl(url).split('?');\r\n const pagePath = pageUrl && pageUrl.length && pageUrl[0].split('/');\r\n return pagePath && pagePath.length && pagePath[pagePath.length - 1] || '';\r\n }\r\n\r\n private _getToUrl(item: TabItem, encodedTabTitle: string, requestContext: MsDyn365.IRequestContext): string {\r\n const queryStringUrl = this._getRequestContextUrl(requestContext.url, true);\r\n let to = `${this.state.pathName}/${encodedTabTitle}${queryStringUrl}`.replace('//', '/');\r\n to = this.props.config?.deepLink ? to : queryStringUrl;\r\n return to;\r\n }\r\n\r\n private _onClick = (item: TabItem, index: number, id: string) => (e: React.MouseEvent) => {\r\n const activeTabState = { activeContentIndex: index, tabId: id };\r\n const tabTitle = (item as TabItem).props.config.tabItemTitle.replace('&', 'and');\r\n const encodedTabTitle = this._getEncodedTabName(tabTitle);\r\n const requestContext: MsDyn365.IRequestContext = this._getRequestContext();\r\n const toUrl = this._getToUrl(item, encodedTabTitle, requestContext);\r\n this.props.context.actionContext.update(createTabStateInput(activeTabState), activeTabState);\r\n requestContext && window.history.pushState({ path: toUrl }, '', toUrl);\r\n this.setState({ currentTabIndex: index, selectedDropDown: tabTitle, dropDownOpen: false });\r\n\r\n }\r\n\r\n private _getTabTitleByIndex = (index: number) => {\r\n const { slots } = this.props;\r\n const selTabItem = slots && slots.tabItems && slots.tabItems.length && slots.tabItems[index!];\r\n // @ts-ignore\r\n const selectedTabTitleByIndex = selTabItem && (selTabItem as TabItem).props.config.tabItemTitle || '';\r\n return { selTabItem, selectedTabTitleByIndex };\r\n }\r\n\r\n private _onKeyDown = (index: number, id: string) => (e: React.KeyboardEvent) => {\r\n if (e.keyCode === 13) {\r\n const activeTabState = { activeContentIndex: index, tabId: id };\r\n this.props.context.actionContext.update(createTabStateInput(activeTabState), activeTabState);\r\n const seltab = this._getTabTitleByIndex(index);\r\n const encodedTabTitle = this._getEncodedTabName(seltab.selectedTabTitleByIndex);\r\n const requestContext: MsDyn365.IRequestContext = this._getRequestContext();\r\n // @ts-ignore\r\n const toUrl = this._getToUrl(seltab.selTabItem as TabItem, encodedTabTitle, requestContext);\r\n this.setState({ currentTabIndex: index, selectedDropDown: seltab.selectedTabTitleByIndex, dropDownOpen: false });\r\n requestContext && window.history.pushState({ path: toUrl }, '', toUrl);\r\n }\r\n }\r\n\r\n private _getTabContent(item: React.ReactNode, index: number): React.ReactNode {\r\n return (\r\n \r\n {React.cloneElement(item as React.ReactElement, { tabItemType: TabItemType.TabContent, isSelected: index === this.state.currentTabIndex, itemIndex: index, tabId: this.props.id })}\r\n \r\n );\r\n }\r\n\r\n private _setGetParameter(requestContext: MsDyn365.IRequestContext, paramName: string, paramValue: string): string {\r\n let url;\r\n\r\n if (MsDyn365.msdyn365Commerce.isBrowser) {\r\n url = new URL(window.location.href);\r\n } else {\r\n url = new URL(requestContext.url.requestUrl.href);\r\n }\r\n const params = new window.URLSearchParams(url.search);\r\n params.set(paramName, paramValue);\r\n url.search = decodeURIComponent(params.toString());\r\n return url.toString();\r\n }\r\n}\r\n\r\nexport default Tab;","/*---------------------------------------------------------------------------------------------\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ITabViewProps } from './citta-tabs';\r\n\r\nconst tabView: React.FC = props => {\r\n const { heading, TabContainer, tabHeaders, tabContents,headerMobileSection, renderMobileHeader, isMobileView, tabMobileHeaders } = props;\r\n if (!props.heading && !props.tabHeaders && !props.tabContents) {\r\n props.context.telemetry.error('Tab content is empty, module wont render');\r\n return null;\r\n }\r\n if (isMobileView) {\r\n return (\r\n \r\n \r\n \r\n {renderMobileHeader}\r\n {tabMobileHeaders}\r\n \r\n \r\n \r\n {tabContents}\r\n \r\n \r\n\r\n );\r\n } else {\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n\r\n \r\n {tabHeaders}\r\n \r\n\r\n \r\n {tabContents}\r\n \r\n \r\n );\r\n }\r\n\r\n};\r\n\r\nexport default tabView;","/*!\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/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ILinksData } from '../citta-tile-list-item.props.autogenerated';\r\n\r\n/**\r\n * Tile List links.\r\n */\r\nexport interface ITileListLinks {\r\n links: ILinksData[];\r\n requestContext: Msdyn365.IRequestContext;\r\n telemetryContent: ITelemetryContent;\r\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\r\n}\r\n\r\n/**\r\n *\r\n * ITileListLinks component.\r\n * @extends {React.PureComponent}\r\n */\r\nexport class TileListLinks extends React.PureComponent {\r\n public render(): JSX.Element {\r\n const editableLinks = this._mapEditableLinks(this.props.links);\r\n return (\r\n
\r\n {editableLinks && ArrayExtensions.hasElements(editableLinks) ? (\r\n \r\n ) : null}\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * ITileListLinks component.\r\n * @param linkdata - Link data.\r\n * @returns Editable links.\r\n */\r\n private readonly _mapEditableLinks = (linkdata: ILinksData[]): Msdyn365.ILinksData[] | null => {\r\n if (!ArrayExtensions.hasElements(linkdata)) {\r\n return null;\r\n }\r\n const editableLinks: Msdyn365.ILinksData[] = [];\r\n for (const link of linkdata) {\r\n // Construct telemetry attribute to render\r\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\r\n const linkText = link.linkText ? link.linkText : '';\r\n payLoad.contentAction.etext = linkText;\r\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\r\n const editableLink: Msdyn365.ILinksData = {\r\n ariaLabel: link.ariaLabel,\r\n className: 'ms-tile-list__link',\r\n linkText: link.linkText,\r\n linkUrl: link.linkUrl.destinationUrl,\r\n openInNewTab: link.openInNewTab,\r\n role: 'button',\r\n additionalProperties: attributes,\r\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\r\n };\r\n editableLinks.push(editableLink);\r\n }\r\n\r\n return editableLinks;\r\n };\r\n}\r\nexport default TileListLinks;\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/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, NodeTag } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { TileListLinks } from './components';\r\nimport { IHeadingData, ICittaTileListItemProps } from './citta-tile-list-item.props.autogenerated';\r\n\r\n/**\r\n * Tile-list-item view props.\r\n */\r\nexport interface ITileListItemViewProps extends ICittaTileListItemProps<{}> {\r\n heading?: React.ReactNode;\r\n paragraph?: React.ReactNode;\r\n links?: React.ReactNode;\r\n backgroundImage?: React.ReactNode;\r\n thumbnailImage?: React.ReactNode;\r\n tileListItem: IModuleProps;\r\n tileListContainer: INodeProps;\r\n tileListImageContainer: INodeProps;\r\n tileListThumbnailImageContainer: INodeProps;\r\n tileListHeadingContainer: INodeProps;\r\n}\r\n\r\n/**\r\n *\r\n * TileListItem component.\r\n * @extends {React.PureComponent>}\r\n */\r\nexport class TileListItem extends React.PureComponent> {\r\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n\r\n public constructor(props: ICittaTileListItemProps<{}>) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { heading, paragraph, backgroundImage, thumbnailImage, redirectionUrl, links } = this.props.config;\r\n const tileListLinks = links && ArrayExtensions.hasElements(links) && (\r\n \r\n );\r\n const tileListLinkContainer = {\r\n tag: 'a' as NodeTag,\r\n className: 'ms-tile-list-container',\r\n role: 'link',\r\n href: redirectionUrl?.linkUrl.destinationUrl,\r\n 'aria-label': redirectionUrl?.ariaLabel\r\n };\r\n\r\n const tileListButtonContainer = {\r\n tag: 'button' as NodeTag,\r\n className: 'ms-tile-list-container'\r\n };\r\n const viewProps: ITileListItemViewProps = {\r\n ...this.props,\r\n heading: this._createHeading(heading),\r\n paragraph: this._createParagraph(paragraph),\r\n backgroundImage: this._renderBackgroundImage(backgroundImage),\r\n thumbnailImage: this._renderThumbnailImage(thumbnailImage),\r\n links: tileListLinks,\r\n tileListItem: {\r\n moduleProps: this.props,\r\n className: ''\r\n },\r\n tileListContainer: redirectionUrl ? tileListLinkContainer : tileListButtonContainer,\r\n tileListImageContainer: {\r\n className: 'ms-tile-list__image'\r\n },\r\n tileListThumbnailImageContainer: {\r\n className: 'ms-tile-list__thumbnail_image',\r\n 'aria-hidden': 'true'\r\n },\r\n tileListHeadingContainer: {\r\n className: 'ms-tile-list__heading'\r\n }\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * Handles heading content change event.\r\n * @param event - Content editable event.\r\n */\r\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\r\n this.props.config.heading!.text = event.target.value;\r\n };\r\n\r\n /**\r\n * Handles paragraph content change event.\r\n * @param event - Content editable event.\r\n */\r\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\r\n this.props.config.paragraph = event.target.value;\r\n };\r\n\r\n /**\r\n * Handles paragraph content change event.\r\n * @param linkIndex - Index of link in linkarray.\r\n * @returns Void.\r\n */\r\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent): void => {\r\n if (this.props.config.links?.[Number(linkIndex)]) {\r\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\r\n }\r\n };\r\n\r\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\r\n if (!text) {\r\n return null;\r\n }\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _createHeading(heading?: IHeadingData): React.ReactNode | null {\r\n if (!heading) {\r\n return null;\r\n }\r\n if (StringExtensions.isNullOrWhitespace(heading.text)) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderBackgroundImage(item?: Msdyn365.IImageData, isAriaHiddenAttribute?: boolean): React.ReactNode | null {\r\n // If image is null, we want to render the placeholder SVG - by passing image data with empty src\r\n\r\n const defaultImageSettings: Msdyn365.IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=500&h=500&m=6', w: 500, h: 500 },\r\n sm: { q: 'w=600&h=600&m=6', w: 600, h: 600 },\r\n md: { q: 'w=700&h=700&m=6', w: 700, h: 700 },\r\n lg: { q: 'w=800&h=800&m=6', w: 800, h: 800 },\r\n xl: { q: 'w=900&h=900&m=6', w: 900, h: 900 }\r\n },\r\n lazyload: true\r\n };\r\n const verifiedImageSettings = item?.imageSettings?.viewports ? item.imageSettings : defaultImageSettings;\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderThumbnailImage(\r\n item?: Msdyn365.IImageData,\r\n itemImageSettings?: Msdyn365.IImageSettings,\r\n isAriaHiddenAttribute?: boolean\r\n ): React.ReactNode | null {\r\n if (!item) {\r\n return null;\r\n }\r\n if (StringExtensions.isNullOrWhitespace(item.src)) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default TileListItem;\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/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ITileListItemViewProps } from './citta-tile-list-item';\r\n\r\n/**\r\n *\r\n * ITileListItemViewProps component.\r\n * @param props - Component props.\r\n * @returns TileListView.\r\n */\r\nconst renderTileListItemContent = (props: ITileListItemViewProps): JSX.Element => {\r\n const {\r\n heading,\r\n paragraph,\r\n backgroundImage,\r\n links,\r\n thumbnailImage,\r\n tileListContainer,\r\n tileListImageContainer,\r\n tileListThumbnailImageContainer,\r\n tileListHeadingContainer\r\n } = props;\r\n\r\n return (\r\n \r\n {backgroundImage}\r\n \r\n {heading}\r\n {paragraph}\r\n {links}\r\n \r\n {thumbnailImage}\r\n \r\n );\r\n};\r\n\r\n/**\r\n *\r\n * TileListItemViewProps component.\r\n * @param props - Component props.\r\n * @returns TileListView.\r\n */\r\nexport const TileListItemViewComponent: React.FC = props => {\r\n const { tileListItem } = props;\r\n return {renderTileListItemContent(props)};\r\n};\r\n\r\nexport default TileListItemViewComponent;\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ICheckoutGuestProfileViewProps } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-guest-profile/checkout-guest-profile';\r\nimport { IAddContactInfo } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-guest-profile/components/get-add-contact-info';\r\nimport { IShowContactInfo } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-guest-profile/components/get-show-contact-info';\r\n\r\nexport const ShowContactInfo: React.FC = ({ showInfoProps, email, editButton }) => (\r\n \r\n {email}\r\n {editButton}\r\n \r\n);\r\nexport const AddContactInfo: React.FC = ({\r\n addFormProps,\r\n submitButton,\r\n cancelButton,\r\n inputGroupProps,\r\n label,\r\n error,\r\n input\r\n}) => (\r\n \r\n \r\n {'Email Address'}\r\n {error}\r\n {input}\r\n \r\n {submitButton}\r\n {cancelButton}\r\n \r\n);\r\n\r\nconst CheckoutGuestProfileView: React.FC = ({ moduleProps, showContactInfo, addContactInfo }) => {\r\n return (\r\n \r\n {showContactInfo && }\r\n {addContactInfo && }\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutGuestProfileView;\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 { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return(\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const {heading, HeadingContainer,Link, linkText, image} = props;\r\n if(heading) {\r\n return ( {heading} );\r\n } else if(Link && this._formatLinkData(Link)) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n return(\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n\r\n private _formatLinkData = (Link: INodeProps) => {\r\n if(Link.href === undefined) {\r\n return Link;\r\n }\r\n\r\n const path: string = (Link.href as Msdyn365.ILinkData).destinationUrl || (Link.href as string);\r\n const newUrl = new URL(path, this.props.context.request.url.requestUrl).href;\r\n Link.href = newUrl;\r\n return Link;\r\n }\r\n}\r\n\r\nexport default FooterItemView;","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { HtmlHeadInclude, IAny, IGeneric } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\nimport { IDefaultPageSummaryData } from './default-page-summary.data';\nimport { IDefaultPageSummaryProps } from './default-page-summary.props.autogenerated';\n\n/**\n *\n * DefaultPageSummaryMetadata component.\n * @extends {React.PureComponent}\n */\nclass DefaultPageSummary extends React.PureComponent> {\n public render(): JSX.Element {\n if (this.props.data.pageSummary.result === undefined) {\n throw new Error('PageSummaryData input to page-summary is undefined. Unable to generate page-summary');\n }\n let {\n data: {\n pageSummary: {\n result: { title, description, keywords, sharingImageUrl, faviconUrl }\n }\n }\n } = this.props;\n\n const {\n config,\n context,\n data: {\n pageSummary: {\n result: { canonicalUrl }\n }\n }\n } = this.props;\n\n // Override values coming from data action if config values are provided\n title = config.title || title;\n description = config.description || description;\n keywords = config.keywords || keywords;\n sharingImageUrl = (config.sharingImage && config.sharingImage.src) || sharingImageUrl;\n faviconUrl = config.faviconUrl || faviconUrl;\n\n const pageTitle = this._constructPageTitle(title, context && context.request && context.request.app);\n return (\n <>\n \n {pageTitle && {pageTitle}}\n {description && }\n {keywords && }\n {canonicalUrl && }\n {faviconUrl && }\n \n {!config.disableOgTags && this._renderOgTags(pageTitle, description, sharingImageUrl)}\n {!config.disableTwitterTags && this._renderTwitterTags(pageTitle, description, sharingImageUrl)}\n \n );\n }\n\n private _renderOgTags(title: string | undefined, description: string | undefined, sharingImageUrl: string | undefined): JSX.Element {\n return (\n \n {title && }\n {description && }\n {sharingImageUrl && }\n \n \n );\n }\n\n private _renderTwitterTags(\n title: string | undefined,\n description: string | undefined,\n sharingImageUrl: string | undefined\n ): JSX.Element {\n return (\n \n {title && }\n {description && }\n {sharingImageUrl && }\n \n \n );\n }\n\n private _constructPageTitle(title: string | undefined, app: IGeneric): string | undefined {\n if (!title) {\n title = '';\n }\n\n const moduleConfig = this.props.config;\n if (moduleConfig && moduleConfig.ignoreTitleSuffixPrefix) {\n return title;\n }\n\n const appConfig = app && app.platform;\n if (appConfig) {\n if (appConfig.pageTitlePrefix) {\n title = (appConfig.pageTitlePrefix as string) + title;\n }\n if (appConfig.pageTitleSuffix) {\n title += appConfig.pageTitleSuffix as string;\n }\n }\n\n return title;\n }\n}\n\nexport default DefaultPageSummary;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ISocialShareConfig, ISocialShareProps, orientation } from './social-share.props.autogenerated';\n\nexport interface ISocialShareViewProps extends ISocialShareProps {\n isConsentGiven: boolean;\n SocialShareItemElements: React.ReactNode[];\n SocialShare: IModuleProps;\n SocialShareList: INodeProps;\n SocialShareItem: INodeProps;\n SocialShareItemCustomization: INodeProps;\n}\n\n/**\n *\n * SocialShare component.\n * @extends {React.PureComponent>}\n */\nclass SocialShare extends React.PureComponent> {\n constructor(props: ISocialShareProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { slots } = this.props;\n\n if (!slots || !ArrayExtensions.hasElements(slots.socialShareItems)) {\n this.props.context.telemetry.error('No social media is enable for sharing, module wont render');\n return null;\n }\n\n const isConsentGiven =\n this.props.context.request &&\n this.props.context.request.cookies &&\n this.props.context.request.cookies.isConsentGiven &&\n this.props.context.request.cookies.isConsentGiven();\n\n if (!isConsentGiven && !this.props.context.request.params.isEditor) {\n return null;\n }\n\n const viewprops = {\n ...this.props,\n SocialShare: {\n moduleProps: this.props,\n className: classnames('ms-social-share', this.props.config.className)\n },\n SocialShareList: {\n 'data-title': this.props.config.caption,\n className: `ms-social-share-ul ${this.props.config.caption && 'caption'} ${\n this.props.config.orientation === orientation.vertical ? 'vertical' : ''\n }`,\n tag: 'ul',\n role: 'group'\n },\n SocialShareItem: {\n className: 'ms-social-share-li',\n tag: 'li',\n tabIndex: '0',\n role: 'link'\n },\n SocialShareItemElements: slots && slots.socialShareItems.length > 0 && slots.socialShareItems\n };\n\n return this.props.renderView(viewprops) as React.ReactElement;\n }\n}\n\nexport default SocialShare;\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 React, { ReactNode } from 'react';\n\nimport { ISocialShareViewProps } from './social-share';\n\nexport const SocialShareView: React.FC = props => {\n const { SocialShareList, SocialShareItemElements, SocialShareItem, SocialShare } = props;\n if (SocialShareItemElements.length === 0) {\n props.context.telemetry.error('Social media list is empty, module wont render');\n return null;\n }\n return (\n \n \n {SocialShareItemElements.map((SocialShareElement: ReactNode, index: number) => {\n return (\n \n {SocialShareElement}\n \n );\n })}\n \n \n );\n};\n\nexport default SocialShareView;\n"],"names":["imageSource","CittaProductVideo","React","render","className","this","props","config","attributes","data","result","srcAttribute","find","attribute","Name","resources","attributeName","TextValue","viewProps","_objectSpread","ProductVideoContainer","moduleProps","classnames","player","width","src","controls","renderView","Module","Object","assign","TabItemType","TabItem","constructor","super","moduleContentClassName","moduleHeaderClassName","_renderTabHeader","bind","slots","isSelected","itemIndex","index","contentID","getContentID","tabId","activeContentIDResult","activeTabState","shown","undefined","activeContentIndex","TabContentContainer","TabHeaderContainer","tabIndex","TabItemContent","tag","role","id","tabHeader","tabSlots","tabItemTitle","__decorate","observer","_renderTabItemContent","items","length","map","item","key","tabItemType","TabContent","Node","tabItemContent","TabHeader","Tab","tabIndexQuery","handleHeadingChange","event","heading","text","target","value","_onClick","e","tabTitle","replace","encodedTabTitle","_getEncodedTabName","requestContext","_getRequestContext","toUrl","_getToUrl","context","actionContext","update","createTabStateInput","window","history","pushState","path","setState","currentTabIndex","selectedDropDown","dropDownOpen","_getTabTitleByIndex","selTabItem","tabItems","selectedTabTitleByIndex","_onKeyDown","keyCode","seltab","defaultTabIndex","slotLength","initialIndex","viewport","request","device","Type","selectedDdlName","defaultSelectedTabTitle","state","pathName","selectedIndex","isMobile","_getTabHeader","_getTabContent","_setGetParameter","activeLink","_getTabNameFromRequestContextUrl","_getRequestContextUrl","_setState","_updateViewport","_dropDownAction","componentDidMount","resizeThrottledEventHandler","addThrottledEvent","componentWillUnmount","removeEventListener","headingComponent","MsDyn365","editProps","onEdit","renderMobileHeader","onClick","tabMobileHeaders","tabViewProps","TabContainer","headerSection","headerMobileSection","tabsSection","tabItemContainer","tabContents","tabHeaders","isMobileView","componentDidUpdate","dataActionTabId","focus","queryTabIndex","firstTabItem","selectedTabTitle","selectedTabIndex","tabName","url","URL","requestUrl","toString","pathname","pathNameSplit","split","i","tileWithoutSpecialCharacters","toLocaleLowerCase","slice","join","_getViewport","innerWidth","gridSettings","xs","w","sm","md","lg","selected","queryStringUrl","to","deepLink","selectedTabClassName","onKeyDown","ref","link","encodeURI","requestContextUrl","onlyQueryString","pageUrl","requestContextQueryString","requestContextQueryStringUrl","pagePath","_this$props$config","paramName","paramValue","isBrowser","location","href","params","URLSearchParams","search","set","decodeURIComponent","observable","computed","telemetry","error","TileListLinks","_mapEditableLinks","linkdata","ArrayExtensions","hasElements","editableLinks","payLoad","getPayloadObject","telemetryContent","linkText","contentAction","etext","getTelemetryAttributes","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","additionalProperties","onTelemetryClick","push","links","Msdyn365","onTextChange","TileListItem","_telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","handleParagraphChange","paragraph","handleLinkTextChange","linkIndex","_this$props$config$li","Number","backgroundImage","thumbnailImage","redirectionUrl","tileListLinks","tileListLinkContainer","_createHeading","_createParagraph","_renderBackgroundImage","_renderThumbnailImage","tileListItem","tileListContainer","tileListImageContainer","tileListThumbnailImageContainer","tileListHeadingContainer","_heading$tag","StringExtensions","isNullOrWhitespace","isAriaHiddenAttribute","_item$imageSettings","_this$props$config$ba","verifiedImageSettings","imageSettings","viewports","q","h","xl","lazyload","loadFailureBehavior","moduleType","typeName","imagePropertyName","itemImageSettings","_this$props$config$th","layout","msdyn365__moduleLayout","TileListItemViewComponent","renderTileListItemContent","ShowContactInfo","_ref","showInfoProps","email","editButton","AddContactInfo","_ref2","addFormProps","submitButton","cancelButton","inputGroupProps","label","input","_ref3","showContactInfo","addContactInfo","FooterItemView","_formatLinkData","Link","newUrl","FooterItem","_renderElement","HeadingContainer","image","DefaultPageSummary","pageSummary","Error","title","description","keywords","sharingImageUrl","faviconUrl","canonicalUrl","sharingImage","pageTitle","_constructPageTitle","app","HtmlHeadInclude","name","content","rel","disableOgTags","_renderOgTags","disableTwitterTags","_renderTwitterTags","property","moduleConfig","ignoreTitleSuffixPrefix","appConfig","platform","pageTitlePrefix","pageTitleSuffix","SocialShare","socialShareItems","cookies","isConsentGiven","isEditor","viewprops","SocialShareList","caption","orientation","SocialShareItem","SocialShareItemElements","SocialShareView","SocialShareElement"],"sourceRoot":""}