{"version":3,"file":"static/js/20.ac91c5a04ed99efc61ed.chunk.js","mappings":"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","sources":["webpack://Citta2.0/./src/modules/citta-category-navigation-menu/components/link.tsx?c099","webpack://Citta2.0/./src/modules/citta-category-navigation-menu/components/subLink.tsx?099d","webpack://Citta2.0/./src/modules/citta-category-navigation-menu/citta-category-navigation-menu.tsx?40b8","webpack://Citta2.0/./src/modules/citta-category-navigation-menu/citta-category-navigation-menu.view.tsx?ab4a","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/themes/citta/views/footer-category.view.tsx?544e","webpack://Citta2.0/./src/modules/catalog-picker/catalog-picker.tsx?02aa","webpack://Citta2.0/./src/modules/catalog-picker/catalog-picker.view.tsx?1e13"],"sourcesContent":["import { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n// import { SubLink } from './subLink'\r\n\r\ninterface ILink {\r\n className?: string;\r\n text?: string;\r\n href?: string;\r\n ariaLabel?: string;\r\n index: string;\r\n noclick?: boolean;\r\n isActive: boolean;\r\n telemetryContent: ITelemetryContent;\r\n subLinks?: any;\r\n handleHover: Function;\r\n recordId: number;\r\n isHover: boolean;\r\n menuHover: boolean;\r\n}\r\n\r\nexport const Link: React.FC = ({ text, className, href, ariaLabel, index, noclick, telemetryContent, isActive, subLinks, handleHover, recordId, isHover, menuHover }) => {\r\n const payLoad = getPayloadObject('click', telemetryContent, '', '');\r\n const linkText = text !== undefined ? text : '';\r\n payLoad.contentAction.etext = linkText;\r\n // Construct telemetry attribute to render\r\n const attribute = getTelemetryAttributes(telemetryContent, payLoad);\r\n return (\r\n
handleHover(recordId)}\r\n onMouseLeave={() => handleHover(null)}\r\n >\r\n \r\n \r\n {linkText}\r\n \r\n \r\n \r\n\r\n {(isHover || (!menuHover && isActive)) && subLinks && subLinks.length ? \r\n (
\r\n {subLinks}\r\n
)\r\n :''\r\n }\r\n
\r\n );\r\n};","import { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface ISubLink {\r\n className?: string;\r\n text?: string;\r\n href?: string;\r\n ariaLabel?: string;\r\n index: string;\r\n noclick?: boolean;\r\n isActive: boolean;\r\n telemetryContent: ITelemetryContent;\r\n handleHover: Function;\r\n recordId: number;\r\n}\r\n\r\nexport const SubLink: React.FC = ({ text, className, href, ariaLabel, index, noclick, telemetryContent, isActive, handleHover, recordId }) => {\r\n\r\n const payLoad = getPayloadObject('click', telemetryContent, '', '');\r\n\r\n const subLinkText = text !== undefined ? text : '';\r\n payLoad.contentAction.etext = subLinkText;\r\n // Construct telemetry attribute to render\r\n const attribute = getTelemetryAttributes(telemetryContent, payLoad);\r\n\r\n return (\r\n handleHover(recordId, true)}\r\n onMouseLeave={() => handleHover(null, true)}\r\n >\r\n \r\n {subLinkText}\r\n \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\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport { CategoryHierarchy } from '@msdyn365-commerce/commerce-entities';\r\nimport { IGridSettings, IImageSettings, isEmptyOrNullObject} from '@msdyn365-commerce/core';\r\nimport { TextValueTranslation } from '@msdyn365-commerce/retail-proxy';\r\nimport classnames from 'classnames';\r\nimport { computed, observable } from 'mobx';\r\nimport * as React from 'react';\r\nimport { Link } from './components/link';\r\nimport { SubLink } from './components/subLink';\r\nimport { IMenuItemData, ICittaCategoryNavigationMenuData } from './citta-category-navigation-menu.data';\r\nimport { ICittaCategoryNavigationMenuProps } from './citta-category-navigation-menu.props.autogenerated';\r\n\r\nexport interface INavigationMenuViewProps extends ICittaCategoryNavigationMenuProps {\r\n className: string;\r\n menuItemData: IMenuItemData[];\r\n Navigation: IModuleProps;\r\n MenuList: INodeProps;\r\n ListItem: INodeProps;\r\n Link: INodeProps;\r\n Button: INodeProps;\r\n Span: INodeProps;\r\n ImageContainer:INodeProps;\r\n MobileDescriptionContainer:INodeProps;\r\n MobileBackButton:INodeProps;\r\n MobileDescriptionLabel:INodeProps;\r\n imageSettings: IImageSettings;\r\n gridSettings: IGridSettings;\r\n isMobileView: boolean;\r\n DivContainer?:INodeProps;\r\n ImageDivContainer?:INodeProps;\r\n showCategoryImage?:boolean;\r\n pageType: string;\r\n links?: React.ReactNode[];\r\n}\r\n\r\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\nexport interface INavigationMenuState {\r\n isMobile: boolean;\r\n linkHoverRecId?: number;\r\n subLinkHoverRecId?: number;\r\n}\r\n\r\n/**\r\n *\r\n * NavigationMenu component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass NavigationMenu extends React.PureComponent, INavigationMenuState> {\r\n private resizeThrottledEventHandler?: (event: Event) => void;\r\n private hasSubLinks: boolean;\r\n @observable\r\n private viewport: GridSize;\r\n public static getFriendlyName(locale: string, nameTranslations?: TextValueTranslation[]): string | undefined {\r\n let nameTranslation: TextValueTranslation | undefined;\r\n if (locale && nameTranslations && nameTranslations.length > 0) {\r\n nameTranslation = nameTranslations.find(item => item.Language!.toLowerCase() === locale.toLowerCase());\r\n }\r\n\r\n return nameTranslation && nameTranslation.Text;\r\n }\r\n\r\n constructor(props: ICittaCategoryNavigationMenuProps) {\r\n super(props);\r\n this.viewport = props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\r\n this.state = {\r\n isMobile: this.isMobile,\r\n linkHoverRecId: undefined,\r\n subLinkHoverRecId: undefined\r\n\r\n };\r\n this.hasSubLinks = false;\r\n\r\n this._handleHover = this._handleHover.bind(this);\r\n\r\n }\r\n\r\n @computed get isMobile(): boolean {\r\n return (this.viewport === 'xs' || this.viewport === 'sm');\r\n }\r\n\r\n public componentDidMount(): void {\r\n let container = document.querySelector(\".ms-nav-category\");\r\n if (container) {\r\n const middle = container.querySelector(\"a.active\") || container.children[Math.floor((container.children.length - 1) / 2)];\r\n \r\n container.scrollTo({\r\n top: 0,\r\n // @ts-ignore\r\n left: middle.offsetLeft + middle.offsetWidth / 2 - container.offsetWidth / 2,\r\n behavior: 'smooth'\r\n })\r\n \r\n \r\n // middle.offsetLeft + middle.offsetWidth / 2 - container.offsetWidth / 2;\r\n }\r\n }\r\n\r\n public componentWillUnmount(): void {\r\n window && window.removeEventListener('resize', this.resizeThrottledEventHandler!, false);\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const urlTokens = this.props.context.request.urlTokens;\r\n\r\n let links: React.ReactNode[] = [];\r\n\r\n if (urlTokens.pageType === 'Category') {\r\n const currentCategoryId = Number(urlTokens.recordId);\r\n const categoryHierarchyList = this.props.data.categories.result;\r\n if (categoryHierarchyList && categoryHierarchyList[1]) {\r\n const categoryHierarchyCurrent = categoryHierarchyList[1].Children[0];\r\n categoryHierarchyCurrent.Children.forEach(layerOneChild => {\r\n \r\n if (currentCategoryId === layerOneChild.RecordId) {\r\n links = this._getLinkData(layerOneChild, currentCategoryId);\r\n } else if (layerOneChild.Children && layerOneChild.Children.length) {\r\n layerOneChild.Children.forEach(layerTwoChild => {\r\n if (currentCategoryId === layerTwoChild.RecordId) {\r\n links = this._getLinkData(layerOneChild, currentCategoryId);\r\n \r\n } else if (layerTwoChild.Children && layerTwoChild.Children.length) {\r\n layerTwoChild.Children.forEach(layerThreeChild => {\r\n if (currentCategoryId === layerThreeChild.RecordId) {\r\n links = this._getLinkData(layerOneChild, currentCategoryId);\r\n }\r\n });\r\n }\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n if (isEmptyOrNullObject(this.props.data)) {\r\n this.props.telemetry.error('Navigatiomenu returned null');\r\n return null;\r\n }\r\n\r\n const viewProps = {\r\n ...this.props,\r\n ...this.state,\r\n pageType: urlTokens.pageType,\r\n Navigation: {\r\n moduleProps: this.props,\r\n className: classnames('ms-nav-category', this.props.config.className, this.state.isMobile ? 'mobile-vp' : 'desktop-vp', this.hasSubLinks ? 'hasSubMenu' : ''),\r\n tag:'nav',\r\n role:'navigation',\r\n 'aria-label': this.props.resources.menuAriaLabel\r\n },\r\n isMobileView: this.state.isMobile,\r\n links: links,\r\n className: classnames('ms-nav', this.props.config.className)\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private _handleHover(recordId?: number, isSubLink = false) {\r\n if (isSubLink) {\r\n this.setState({subLinkHoverRecId: recordId})\r\n } else {\r\n this.setState({linkHoverRecId: recordId})\r\n }\r\n }\r\n\r\n private _getLinkData(category: CategoryHierarchy, activeCurrent: Number): React.ReactNode[] {\r\n let links = [];\r\n links.push();\r\n \r\n (category.Children || []).forEach(childCategory => {\r\n let subLinks: any = [];\r\n let subLinkIsActive = false;\r\n if (childCategory.Children) {\r\n childCategory.Children.forEach(childChildCategory => {\r\n if (childChildCategory.RecordId === activeCurrent) {\r\n subLinkIsActive = true;\r\n }\r\n subLinks.push();\r\n });\r\n \r\n }\r\n if ((childCategory.RecordId === activeCurrent || subLinkIsActive) && childCategory.Children && childCategory.Children.length ) {\r\n this.hasSubLinks = true;\r\n }\r\n\r\n links.push();\r\n })\r\n\r\n return links;\r\n }\r\n}\r\n\r\nexport default NavigationMenu;\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/* eslint-disable no-duplicate-imports */\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { INavigationMenuViewProps } from './citta-category-navigation-menu';\r\n\r\nconst NavigationMenuView: React.FC = props => {\r\n const { isMobileView, Navigation, links, pageType} = props;\r\n if (pageType !== 'Category') {\r\n return null;\r\n }\r\n return (\r\n \r\n {links}\r\n \r\n );\r\n};\r\n\r\nexport default NavigationMenuView;","/*!\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. 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 { IFooterCategoryViewProps } from '@msdyn365-commerce-modules/footer/src/modules/footer-category';\r\nimport { Drawer, IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport React, { ReactNode } from 'react';\r\nimport { IFooterCategoryProps } from '../definition-extensions/footer-category.ext.props.autogenerated';\r\n\r\nexport const FooterCategoryView: React.FC> = props => {\r\n const { categories, FooterList, FooterListItem } = props;\r\n if (!categories || !categories.length) {\r\n return null;\r\n }\r\n const FooterContainer: IModuleProps = {\r\n moduleProps: props,\r\n className: classnames('ms-footer_module', props.config.className),\r\n };\r\n\r\n if (props.config.renderDrawer) {\r\n return (\r\n \r\n {renderDesktop(props)}\r\n {renderMobile(props)}\r\n );\r\n } else {\r\n return (\r\n \r\n {categories.map((category: ReactNode, index: number) => {\r\n return (\r\n \r\n {category}\r\n \r\n );\r\n })\r\n }\r\n \r\n );\r\n }\r\n};\r\n\r\nfunction renderDesktop(props: IFooterCategoryViewProps & IFooterCategoryProps<{}>): JSX.Element {\r\n const { categories, FooterListItem } = props;\r\n const DesktopFooterList: IModuleProps = {\r\n moduleProps: props,\r\n className: classnames('ms-footer__list-Desktop citta-footer-category-desktop', props.config.className),\r\n tag: 'ul',\r\n role: 'menu'\r\n };\r\n return (\r\n \r\n \r\n {props.config.categoryName}\r\n \r\n {categories.map((category: ReactNode, index: number) => {\r\n return (\r\n \r\n {category}\r\n \r\n );\r\n })\r\n }\r\n \r\n );\r\n}\r\n\r\nfunction renderMobile(props: IFooterCategoryViewProps & IFooterCategoryProps<{}>): React.ReactNode {\r\n const { categories } = props;\r\n const MobileFooterList: IModuleProps = {\r\n moduleProps: props,\r\n className: classnames('ms-footer__list-mobile citta-footer-category-mobile', props.config.className),\r\n tag: 'ul',\r\n role: 'menu'\r\n };\r\n return (\r\n \r\n \r\n
\r\n {categories &&\r\n categories.map((category, id2: number) => (\r\n
\r\n {category}\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default FooterCategoryView;","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport Msdyn365, {\n ContentEditableEvent,\n generateImageUrl,\n getCatalogId,\n getUrlSync,\n Image,\n RichTextComponent,\n Text\n} from '@msdyn365-commerce/core';\nimport { MediaLocation, ProductCatalog } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ICatalogPickerData } from './catalog-picker.data';\nimport { ICatalogPickerProps } from './catalog-picker.props.autogenerated';\n\n/**\n * ICatalogPickerViewProps.\n */\nexport interface ICatalogPickerViewProps extends ICatalogPickerProps {\n catalogPicker: IModuleProps;\n heading: React.ReactNode;\n paragraph: React.ReactNode;\n catalogs: ReactNode;\n}\n\n/**\n * CatalogPicker component.\n * @extends {React.PureComponent>}\n */\nexport class CatalogPicker extends React.PureComponent> {\n private static readonly _moduleClassName = 'ms-catalog-picker';\n\n public constructor(props: ICatalogPickerViewProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { heading, paragraph } = this.props.config;\n\n const catalogPickerHeading = heading && (\n \n );\n\n const isCatalogsAvailable: boolean = ArrayExtensions.hasElements(this.props.data.catalogs?.result);\n const catalogPickerParagraph = paragraph && (\n \n );\n const viewProps = {\n ...this.props,\n handleText: this.handleTextChange,\n catalogPicker: {\n moduleProps: this.props,\n className: CatalogPicker._moduleClassName\n },\n heading: catalogPickerHeading,\n paragraph: catalogPickerParagraph,\n catalogs: isCatalogsAvailable ? this._renderCatalogPicker() : ''\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n private _renderCatalogPickerButton(item: ProductCatalog): React.ReactNode {\n const catalogId = item.RecordId;\n const currentCatalogId = getCatalogId(this.props.context.request);\n if (currentCatalogId === catalogId) {\n return
{this.props.resources.currentCatalogText}
;\n }\n let linkToCatalog = '';\n if (Msdyn365.isBrowser) {\n const catalogUrl = getUrlSync('home', this.props.context.actionContext) ?? '';\n const fullUrl = new URL(catalogUrl, window.location.href);\n fullUrl.searchParams.set('catalogid', `${catalogId}`);\n linkToCatalog = fullUrl.href;\n }\n return (\n \n {this.props.resources.changeCatalogButtonText}\n \n );\n }\n\n private _renderCatalogPicker(): React.ReactNode {\n const catalogs = this.props.data.catalogs?.result;\n\n const isBrowser = Msdyn365.isBrowser;\n\n return (\n
\n {catalogs?.map(item => {\n const reactKey = `${JSON.stringify(item)}-${String(isBrowser)}`;\n const image: MediaLocation | undefined = ArrayExtensions.firstOrDefault(item.Images);\n return (\n \n

{item.Name}

\n
\n \n
\n {this._renderCatalogPickerButton(item)}\n
\n
\n
\n );\n })}\n \n );\n }\n}\n\nexport default CatalogPicker;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICatalogPickerViewProps } from './catalog-picker';\n\n/**\n * ICatalogPickerViewProps.\n * @param props - ICatalogPickerViewProps.\n * @returns - Render Catalog Picker.\n */\nexport const CatalogPickerViewFunctionComponent: React.FC = props => {\n const { catalogPicker } = props;\n return (\n \n {props.heading}\n {props.paragraph}\n {props.catalogs}\n \n );\n};\n\nexport default CatalogPickerViewFunctionComponent;\n"],"names":["Link","_ref","text","className","href","ariaLabel","index","noclick","telemetryContent","isActive","subLinks","handleHover","recordId","isHover","menuHover","payLoad","getPayloadObject","linkText","undefined","contentAction","etext","attribute","getTelemetryAttributes","React","onMouseEnter","onMouseLeave","Object","assign","onClick","onTelemetryClick","itemProp","content","length","SubLink","subLinkText","NavigationMenu","constructor","props","super","this","viewport","context","request","device","Type","state","isMobile","linkHoverRecId","subLinkHoverRecId","hasSubLinks","_handleHover","bind","static","locale","nameTranslations","nameTranslation","find","item","Language","toLowerCase","Text","componentDidMount","container","document","querySelector","middle","children","Math","floor","scrollTo","top","left","offsetLeft","offsetWidth","behavior","componentWillUnmount","window","removeEventListener","resizeThrottledEventHandler","render","urlTokens","links","pageType","currentCategoryId","Number","categoryHierarchyList","data","categories","result","Children","forEach","layerOneChild","RecordId","_getLinkData","layerTwoChild","layerThreeChild","isEmptyOrNullObject","telemetry","error","viewProps","_objectSpread","Navigation","moduleProps","classnames","config","tag","role","resources","menuAriaLabel","isMobileView","renderView","arguments","setState","category","activeCurrent","push","Name","Url","pageName","moduleName","childCategory","subLinkIsActive","childChildCategory","__decorate","observable","computed","Module","imageSource","CittaProductVideo","attributes","srcAttribute","attributeName","TextValue","ProductVideoContainer","player","width","src","controls","TabItemType","TabItem","moduleContentClassName","moduleHeaderClassName","_renderTabHeader","slots","isSelected","itemIndex","contentID","getContentID","tabId","activeContentIDResult","activeTabState","shown","activeContentIndex","TabContentContainer","TabHeaderContainer","tabIndex","TabItemContent","id","tabHeader","tabSlots","tabItemTitle","observer","_renderTabItemContent","items","map","key","tabItemType","TabContent","Node","tabItemContent","TabHeader","Tab","tabIndexQuery","handleHeadingChange","event","heading","target","value","_onClick","e","tabTitle","replace","encodedTabTitle","_getEncodedTabName","requestContext","_getRequestContext","toUrl","_getToUrl","actionContext","update","createTabStateInput","history","pushState","path","currentTabIndex","selectedDropDown","dropDownOpen","_getTabTitleByIndex","selTabItem","tabItems","selectedTabTitleByIndex","_onKeyDown","keyCode","seltab","defaultTabIndex","slotLength","initialIndex","selectedDdlName","defaultSelectedTabTitle","pathName","selectedIndex","_getTabHeader","_getTabContent","_setGetParameter","activeLink","_getTabNameFromRequestContextUrl","_getRequestContextUrl","_setState","_updateViewport","_dropDownAction","addThrottledEvent","headingComponent","MsDyn365","editProps","onEdit","renderMobileHeader","tabMobileHeaders","tabViewProps","TabContainer","headerSection","headerMobileSection","tabsSection","tabItemContainer","tabContents","tabHeaders","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","params","URLSearchParams","search","set","decodeURIComponent","FooterCategoryView","FooterList","FooterListItem","FooterContainer","renderDrawer","DesktopFooterList","categoryName","renderDesktop","MobileFooterList","Drawer","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","toggleButtonProps","color","id2","renderMobile","CatalogPicker","handleTextChange","handleParagraphChange","paragraph","_heading$tag","_this$props$data$cata","catalogPickerHeading","_moduleClassName","isCatalogsAvailable","ArrayExtensions","hasElements","catalogs","catalogPickerParagraph","RichTextComponent","catalogValidationText","handleText","catalogPicker","_renderCatalogPicker","_renderCatalogPickerButton","catalogId","getCatalogId","currentCatalogText","linkToCatalog","Msdyn365","_getUrlSync","catalogUrl","getUrlSync","fullUrl","searchParams","Button","changeCatalogButtonText","_this$props$data$cata2","reactKey","JSON","stringify","String","image","firstOrDefault","Images","Image","generateImageUrl","apiSettings","Uri","imageSettings","galleryImageSettings","altText","AltText","loadFailureBehavior","CatalogPickerViewFunctionComponent"],"sourceRoot":""}