{"version":3,"file":"static/js/6.42f71cdbd44c4fbb5342.chunk.js","mappings":"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","sources":["webpack://msdyn365-lxs-master-theme/./src/themes/master/views/account-profile.view.tsx?b08e","webpack://msdyn365-lxs-master-theme/./src/themes/master/views/footer-item.view.tsx?20d3","webpack://msdyn365-lxs-master-theme/./src/modules/accordion-item/accordion-item.tsx?36f7","webpack://msdyn365-lxs-master-theme/./src/modules/accordion-item/accordion-item.view.tsx?a302","webpack://msdyn365-lxs-master-theme/./src/modules/accordion/accordion.tsx?78b1","webpack://msdyn365-lxs-master-theme/./src/modules/accordion/accordion.view.tsx?8c7b","webpack://msdyn365-lxs-master-theme/./src/modules/aad-generic/aad-generic.view.tsx?b418","webpack://msdyn365-lxs-master-theme/./src/modules/account-invoice-tile/account-invoice-tile.view.tsx?0a60","webpack://msdyn365-lxs-master-theme/./src/modules/organization-users-tile/organization-users-tile.view.tsx?bac2","webpack://msdyn365-lxs-master-theme/./src/modules/catalog-picker/catalog-picker.tsx?02aa","webpack://msdyn365-lxs-master-theme/./src/modules/catalog-picker/catalog-picker.view.tsx?1e13","webpack://msdyn365-lxs-master-theme/./src/modules/content-block/components/additional-content.tsx?d5f9","webpack://msdyn365-lxs-master-theme/./src/modules/content-block/components/links.tsx?abbf","webpack://msdyn365-lxs-master-theme/./src/modules/content-block/content-block.tsx?3084","webpack://msdyn365-lxs-master-theme/./src/modules/content-block/content-block.view.tsx?1773","webpack://msdyn365-lxs-master-theme/./src/modules/footer-item/footer-item.tsx?074a","webpack://msdyn365-lxs-master-theme/./src/modules/footer-item/footer-item.view.tsx?c5af","webpack://msdyn365-lxs-master-theme/./src/modules/interactive-feature-collection/interactive-feature-collection.tsx?96a6","webpack://msdyn365-lxs-master-theme/./src/modules/interactive-feature-collection/interactive-feature-collection.view.tsx?db52","webpack://msdyn365-lxs-master-theme/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-organization-wide-selector.component.tsx?b9a7","webpack://msdyn365-lxs-master-theme/./src/modules/product-specification/components/product-specification-table-stucture.tsx?c1c4","webpack://msdyn365-lxs-master-theme/./src/modules/product-specification/product-specification.tsx?6583","webpack://msdyn365-lxs-master-theme/./node_modules/@msdyn365-commerce-modules/product-specification/node_modules/tslib/tslib.es6.js?9130","webpack://msdyn365-lxs-master-theme/./src/modules/product-specification/product-specification.view.tsx?7490","webpack://msdyn365-lxs-master-theme/./node_modules/@msdyn365-commerce-modules/site-picker/node_modules/tslib/tslib.es6.js?c59b","webpack://msdyn365-lxs-master-theme/./src/modules/site-picker/site-picker.tsx?b9ec","webpack://msdyn365-lxs-master-theme/./src/modules/site-picker/site-picker.view.tsx?5319","webpack://msdyn365-lxs-master-theme/./src/modules/social-share/social-share.tsx?899b","webpack://msdyn365-lxs-master-theme/./src/modules/social-share/social-share.view.tsx?dcdf","webpack://msdyn365-lxs-master-theme/./src/modules/tab-item/tab-item.tsx?b1b8","webpack://msdyn365-lxs-master-theme/./src/modules/tab-item/tab-item.view.tsx?ee3b","webpack://msdyn365-lxs-master-theme/./src/modules/tab/tab.tsx?9ac6","webpack://msdyn365-lxs-master-theme/./src/modules/tab/tab.view.tsx?a99d","webpack://msdyn365-lxs-master-theme/./src/modules/tile-list/tile-list.tsx?78cb","webpack://msdyn365-lxs-master-theme/./src/modules/tile-list/tile-list.view.tsx?1b00","webpack://msdyn365-lxs-master-theme/./src/modules/adventureworks/views/checkout-customer-account-payment.view.tsx?0efc","webpack://msdyn365-lxs-master-theme/./src/modules/adventureworks/views/reviews-list.view.tsx?39ca","webpack://msdyn365-lxs-master-theme/./node_modules/@msdyn365-commerce-modules/accordion/node_modules/tslib/tslib.es6.js?5824","webpack://msdyn365-lxs-master-theme/./node_modules/@msdyn365-commerce-modules/tab/node_modules/tslib/tslib.es6.js?e53c"],"sourcesContent":["/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n IAccountPreference,\r\n IAccountPreferences,\r\n IAccountProfileItem,\r\n IAccountProfileViewProps\r\n} from '@msdyn365-commerce-modules/account-management';\r\nimport { IAccountProfileConfig } from '../definition-extensions/account-profile.ext.props.autogenerated';\r\n\r\nconst AccountPreferencesSection: React.FC = ({ accountPreferences, heading, personalization, extraPreferences }) => {\r\n return (\r\n \r\n {heading}\r\n \r\n {extraPreferences &&\r\n extraPreferences.map((preferenceSecton, index) => {\r\n return ;\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AccountPreferenceSection: React.FC = ({\r\n accountPreference,\r\n heading,\r\n description,\r\n buttonWrapper,\r\n buttonYesText,\r\n button,\r\n buttonNoText\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n {description}\r\n \r\n {buttonNoText}\r\n {button}\r\n {buttonYesText}\r\n \r\n \r\n );\r\n};\r\n\r\nconst AccountProfileSection: React.FC = ({ AccountProfileItem, heading, links, description }) => {\r\n return (\r\n \r\n {heading}\r\n {description}\r\n {links}\r\n \r\n );\r\n};\r\n\r\nconst AccountProfileView: React.FC = props => {\r\n const {\r\n AccountProfile,\r\n infoMessageBar,\r\n accountProfileWrapper,\r\n heading,\r\n emailSection,\r\n nameSection,\r\n preferenceSection,\r\n customerAttributesWrapper,\r\n customerAttributesSection,\r\n config\r\n } = props;\r\n const showPreferences = !(config as IAccountProfileConfig)?.hidePreferences;\r\n return (\r\n \r\n {infoMessageBar}\r\n {accountProfileWrapper && (\r\n \r\n {heading}\r\n \r\n \r\n {showPreferences && }\r\n \r\n )}\r\n {customerAttributesWrapper && {customerAttributesSection}}\r\n \r\n );\r\n};\r\n\r\nexport default AccountProfileView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\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 // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\r\n const { FooterItem } = this.props;\r\n return {this._renderElement(this.props)};\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\r\n const { heading, HeadingContainer, Link, linkText, image, text, EditableLink } = props;\r\n if (heading) {\r\n return {heading} ;\r\n } else if (Link && image) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n } else if (Link) {\r\n return EditableLink;\r\n }\r\n return (\r\n <>\r\n {text}\r\n {image}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default FooterItemView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ControlledDrawer, getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport { IDrawerState } from '@msdyn365-commerce-modules/utilities/dist/types/drawer/Drawer';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput, interactionStyle } from '../..';\nimport { IAccordionItemData } from './accordion-item.data';\nimport { IAccordionItemProps } from './accordion-item.props.autogenerated';\n\nexport interface IAccordionItemViewProps {\n AccordionItemContainer: IModuleProps;\n drawer: INodeProps;\n accordionSlots: INodeProps;\n AccordionItemContent: INodeProps;\n className: string;\n}\n\nexport interface IAccordionItemExtentedProps extends IAccordionItemProps {\n interactionStyle?: interactionStyle;\n}\n\n/**\n *\n * AccordionItem component.\n * @extends {React.Component}\n */\n@observer\nclass AccordionItem extends React.Component {\n private readonly moduleClassName: string = 'ms-accordion-item';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IAccordionItemProps) {\n super(props);\n this._onToggle = this._onToggle.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public shouldComponentUpdate(nextProps: IAccordionItemProps): boolean {\n if (this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { slots, renderView, config, data } = this.props;\n const accordionExpandedStateResult = data && data.accordionExpandedState && data.accordionExpandedState.result;\n const expanded =\n accordionExpandedStateResult && accordionExpandedStateResult.isAllExpanded === undefined\n ? data && config.isExpandedOnInitialLoad\n : accordionExpandedStateResult && accordionExpandedStateResult.isAllExpanded;\n const viewProps = {\n ...this.props,\n AccordionItemContainer: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n AccordionItemContent: {\n className: 'ms-accordion-item-content'\n },\n drawer: {\n tag: ControlledDrawer,\n className: `${this.moduleClassName}__drawer`,\n toggleButtonText: (config.accordionItemTitle && config.accordionItemTitle) || '',\n collapseProps: { isOpen: expanded },\n onToggle: this._onToggle,\n onTextChange: this.handleHeadingChange,\n requestContext: this.props.context.request,\n telemetryContent: this.telemetryContent\n },\n accordionSlots: slots\n };\n return renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.accordionItemTitle = event.target.value);\n\n private _onToggle(state: IDrawerState): void {\n if (!state.isOpen && this.props.interactionStyle === interactionStyle.ExpandOneItemOnly) {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n }\n }\n}\nexport default AccordionItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccordionItemViewProps } from './accordion-item';\n\nconst AccordionItemView: React.FC = props => {\n const { drawer, accordionSlots, AccordionItemContainer, AccordionItemContent } = props;\n return (\n \n \n \n {accordionSlots &&\n accordionSlots.accordionItemContent &&\n accordionSlots.accordionItemContent.length &&\n _renderAccordionItemContent(accordionSlots.accordionItemContent)}\n \n \n \n );\n};\n\nconst _renderAccordionItemContent = (items: React.ReactNode[]): JSX.Element | null => {\n return (\n <>\n {items && items.length > 0\n ? items.map((item: React.ReactNode, index: number) => {\n return {item};\n })\n : null}\n \n );\n};\nexport default AccordionItemView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n NodeTag,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput } from '../..';\nimport { IAccordionData } from './accordion.data';\nimport { IAccordionProps } from './accordion.props.autogenerated';\n\n/**\n *\n * Accordion component.\n * @extends {React.PureComponent>}\n */\n\nexport interface ICallToActionProps {\n link: INodeProps[];\n}\n\n/**\n * Added interface for state management.\n */\nexport interface IAccordianState {\n isDisabled: boolean;\n}\n\nexport interface IAccordionViewProps extends IAccordionProps<{}> {\n heading?: React.ReactNode;\n AccordionContainer: IModuleProps;\n HeaderSection: INodeProps;\n HeadingWrapper: INodeProps;\n accordianButtonsContainer: INodeProps;\n accordionButtons: React.ReactNode;\n accordionItemContainer: INodeProps;\n accordionItems: React.ReactNode;\n}\n\n/**\n *\n * Accordion component.\n * @extends {React.Component>}\n */\n@observer\nclass Accordion extends React.PureComponent, IAccordianState> {\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private readonly expandAllButtonRef: React.RefObject = React.createRef();\n\n private readonly collapseAllButtonRef: React.RefObject = React.createRef();\n\n constructor(props: IAccordionProps) {\n super(props);\n this._onExpandAll = this._onExpandAll.bind(this);\n this._onCollapseAll = this._onCollapseAll.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\n this.state = { isDisabled: false };\n }\n\n public render(): JSX.Element {\n const { slots } = this.props;\n const { heading, className } = this.props.config;\n const headingComponent = heading && heading.text && (\n \n );\n\n const accordionViewProps = {\n ...this.props,\n AccordionContainer: {\n moduleProps: this.props,\n className: classnames('ms-accordion', className)\n },\n HeaderSection: { className: 'ms-accordion-header-section' },\n HeadingWrapper: { className: 'ms-accordion-header-section-container' },\n heading: headingComponent,\n config: this.props && this.props.config,\n accordianButtonsContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-header-section-toggle-button-container'\n },\n accordionButtons: this._renderAccordionButton(),\n accordionItemContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-item-section'\n },\n accordionItems:\n slots &&\n slots.accordionItems &&\n slots.accordionItems.length > 0 &&\n slots.accordionItems.map((item: React.ReactNode, index: number) => this._getAccordionItem(item, index))\n };\n return this.props.renderView(accordionViewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n private _renderAccordionButton(): React.ReactNode | null {\n const { config, resources } = this.props;\n const { heading } = config;\n this.payLoad.contentAction.etext = TelemetryConstant.ExpandAll;\n const attributeExpandAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n this.payLoad.contentAction.etext = TelemetryConstant.CollapseAll;\n const attributeCollapseAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n if (!config.showToggleAll) {\n this.props.context.telemetry.error('Accordion button content is empty, module wont render');\n return null;\n }\n return (\n <>\n \n {resources.expandAllText}\n \n  \n {resources.toggleAllSeparator}\n  \n \n {resources.collapseAllText}\n \n \n );\n }\n\n private _onExpandAll(): void {\n const accordionState = { isAllExpanded: true };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (accordionState.isAllExpanded) {\n this.setState({\n isDisabled: true\n });\n setTimeout(() => {\n this.collapseAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _onCollapseAll(): void {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (!accordionState.isAllExpanded) {\n this.setState({\n isDisabled: false\n });\n setTimeout(() => {\n this.expandAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _getAccordionItem(item: React.ReactNode, index: number): React.ReactNode {\n return (\n \n {React.cloneElement(item as React.ReactElement, { interactionStyle: this.props.config.interactionStyle })}\n \n );\n }\n}\n\nexport default Accordion;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccordionViewProps } from './accordion';\n\nconst accordionView: React.FC = props => {\n const { heading, AccordionContainer, accordionItems } = props;\n if (!props.heading && !props.accordionButtons && !props.accordionItems) {\n props.context.telemetry.error('Accordion content is empty, module wont render');\n return null;\n }\n return (\n \n \n {heading}\n {props.accordionButtons && {props.accordionButtons}}\n \n {accordionItems}\n \n );\n};\n\nexport default accordionView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAadGenericViewProps } from './aad-generic';\n\nexport default (props: IAadGenericViewProps) => {\n const { aadGeneric, aadConainer, aadAPIConainer, heading } = props;\n\n return (\n \n \n {heading}\n {aadAPIConainer}\n \n \n );\n};\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 { IAccountInvoiceTileViewProps } from './account-invoice-tile';\n\nexport default (props: IAccountInvoiceTileViewProps) => {\n const { AccountInvoiceTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\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 { IOrganizationUsersTileViewProps } from './organization-users-tile';\n\nconst OrganizationUsersTileView: React.FC = props => {\n const { OrganizationUsersTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default OrganizationUsersTileView;\n","/*!\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","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAdditionalContentData, ILinksData } from '../content-block.props.autogenerated';\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Component props.\n */\nexport interface IContentBlockAdditionalContentProps {\n requestContext: Msdyn365.IRequestContext;\n additionalContent: IAdditionalContentData[] | undefined;\n handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content view props.\n */\nexport interface IContentBlockAdditionalContentViewProps {\n additionalContentNode: INodeProps;\n additionalContentItems?: IContentBlockAdditionalContentItemViewProps[];\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Item view props.\n */\nexport interface IContentBlockAdditionalContentItemViewProps {\n heading: React.ReactNode;\n text: React.ReactNode;\n links: React.ReactNode;\n additionalContentItemContainer: INodeProps;\n additionalContentItemLinks: INodeProps;\n}\n\n/**\n * Renders additional content heading.\n * @param additionalContentHeading - Additional content heading.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Heading Node.\n */\nconst renderHeading = (additionalContentHeading: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param additionalContentParagraphText - Additional content paragraph text.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Paragraph Node.\n */\nconst renderParagraph = (additionalContentParagraphText: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param ctaLink - Additional content link.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @param linkIndex - Additional content link index.\n * @returns Link Node.\n */\nconst renderLinks = (ctaLink: ILinksData, props: IContentBlockAdditionalContentProps, itemIndex: number, linkIndex: number) => {\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: ctaLink.ariaLabel,\n className: 'ms-content-block__details__additional-content-cta-links',\n linkText: ctaLink.linkText,\n linkUrl: ctaLink.linkUrl.destinationUrl,\n openInNewTab: ctaLink.openInNewTab,\n role: 'link'\n };\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalLinkTextChange(linkIndex, itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Create node for each additonal content item.\n * @param item - Content block additonal content item props.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns IContentBlockAdditionalContentItemViewProps.\n */\nconst assembleNode = (\n item: IAdditionalContentData,\n props: IContentBlockAdditionalContentProps,\n itemIndex: number\n): IContentBlockAdditionalContentItemViewProps => {\n const headingNode = item.heading && renderHeading(item.heading, props, itemIndex);\n const paragraphNode = item.subtext && renderParagraph(item.subtext, props, itemIndex);\n const linksNode = item.links?.map((ctaLink: ILinksData, index: number) => {\n return renderLinks(ctaLink, props, itemIndex, index);\n });\n\n return {\n heading: headingNode,\n text: paragraphNode,\n links: linksNode,\n additionalContentItemContainer: { className: 'ms-content-block__details__additional-content__container' },\n additionalContentItemLinks: { className: 'ms-content-block__details__additional-content-cta' }\n };\n};\n\n/**\n * ContentBlockAdditionalContent component.\n * @param props - Content Block Additional content component props.\n * @returns Content Block Additional content view props.\n */\nexport const contentBlockAdditionalContent = (\n props: IContentBlockAdditionalContentProps\n): IContentBlockAdditionalContentViewProps | undefined => {\n const { additionalContent } = props;\n if (!additionalContent) {\n return undefined;\n }\n\n const reactNodes: IContentBlockAdditionalContentItemViewProps[] = [];\n additionalContent.map((item, index: number) => {\n return reactNodes.push(assembleNode(item, props, index));\n });\n\n return {\n additionalContentNode: { className: 'ms-content-block__details__additional-content' },\n additionalContentItems: reactNodes\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../content-block.props.autogenerated';\n\nexport interface IContentCardLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n role?: string;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * ContentCardLinks component.\n * @extends {React.PureComponent}\n */\nexport class ContentCardLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n }\n\n private readonly _mapEditableLinks = (linkdata: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n linkdata.forEach((link, index) => {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const btnClass = index === 0 ? 'msc-cta__primary' : 'msc-cta__secondary';\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: btnClass,\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: this.props.role,\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n };\n}\nexport default ContentCardLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { contentBlockAdditionalContent, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport LinksComponent from './components/links';\nimport { actionableRegion as region, IContentBlockConfig, IContentBlockProps } from './content-block.props.autogenerated';\n\nexport interface IContentBlockViewProps extends IContentBlockProps<{}> {\n title?: React.ReactNode;\n text?: React.ReactNode;\n image?: React.ReactNode;\n links?: React.ReactNode;\n className?: string;\n contentBlockContainer: IModuleProps;\n imageContainer: INodeProps;\n detailsContainer: INodeProps;\n contentBlockAnchorTag?: INodeProps;\n imageLink?: string;\n imageAriaLabel?: string;\n additionalContent?: IContentBlockAdditionalContentViewProps;\n handleAdditionalText?(): void;\n handleAdditionalParagraph?(): void;\n handleAdditionalLinkTextChange?(): void;\n}\n\n/**\n * Site-builder configuration for the module.\n */\nexport interface IContentBlockFullConfig extends IContentBlockConfig {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- This field comes from SDK.\n msdyn365__moduleLayout?: string;\n}\n\n/**\n * ContentCard component.\n * @extends {React.PureComponent}\n */\nexport class ContentBlock extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public render(): JSX.Element | null {\n const { heading, paragraph, image, links, className, imageAriaLabel } = this.props.config;\n const contentBlockTitle = heading && (\n \n );\n\n const contentBlockLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n const contentBlockText = paragraph && (\n \n );\n\n let contentBlockImageSettings: Msdyn365.IImageSettings | undefined;\n\n if (image && image.imageSettings && !image.imageSettings.backgroundColor && this.props.config.backgroundColor) {\n contentBlockImageSettings = {\n ...image?.imageSettings,\n backgroundColor: this.props.config.backgroundColor\n };\n } else {\n contentBlockImageSettings = image?.imageSettings;\n }\n\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings ?? {},\n imageSettings: contentBlockImageSettings\n };\n\n const contentBlockImage = (\n \n );\n\n const contentBlockContainerStyle: React.CSSProperties | undefined = this.props.config.backgroundColor\n ? { backgroundColor: this.props.config.backgroundColor }\n : undefined;\n\n if (!contentBlockTitle && !contentBlockText && !contentBlockLinks) {\n this.props.context.telemetry.error('Content block content is empty, module wont render.');\n return null;\n }\n const contentBlockviewProps = {\n ...this.props,\n title: contentBlockTitle,\n text: contentBlockText,\n image: contentBlockImage,\n links: contentBlockLinks,\n moduleClass: this.props.config.className,\n contentBlockContainer: {\n moduleProps: this.props,\n className: classnames('ms-content-block', className),\n style: contentBlockContainerStyle\n },\n imageContainer: { className: 'ms-content-block__image' },\n detailsContainer: { className: 'ms-content-block__details' },\n contentBlockAnchorTag: {\n tag: 'a',\n className: 'ms-content-block__link',\n role: 'link'\n },\n imageLink: this._getImageLink(),\n imageAriaLabel,\n additionalContent: contentBlockAdditionalContent({\n requestContext: this.props.context.request,\n additionalContent: this.props.config.additionalContent,\n handleAdditionalTextChange: this.handleAdditionalTextChange,\n handleAdditionalParagraphChange: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n }),\n handleAdditionalText: this.handleAdditionalTextChange,\n handleAdditionalParagraph: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n };\n\n return this.props.renderView(contentBlockviewProps) as React.ReactElement;\n }\n\n /**\n * To handle text change.\n * @param event - To handle text change event.\n * @name - HandleTextChange\n * @public\n * @returns - The Text value.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n /**\n * To handle paragraph change.\n * @param event - To handle text change event.\n * @name - HandleParagraphChange\n * @public\n * @returns - The Paragraph value.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.paragraph = event.target.value);\n\n /**\n * Handle link text change.\n * @param linkIndex - The link index.\n * @returns - Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n };\n\n public handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].heading = event.target.value;\n }\n }\n\n public handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void {\n const additionalContentObject =\n (this.props.config.additionalContent &&\n ArrayExtensions.hasElements(this.props.config.additionalContent) &&\n this.props.config.additionalContent[Number(index)]) ||\n {};\n if (additionalContentObject.links) {\n additionalContentObject.links[Number(linkIndex)].linkText = event.target.value;\n }\n }\n\n public handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].subtext = event.target.value;\n }\n }\n\n private _getImageLink(): string | null {\n const { imageLink, links, actionableRegion } = this.props.config;\n if (actionableRegion === region.imageAndLinks) {\n if (imageLink?.destinationUrl) {\n return imageLink.destinationUrl;\n } else if (links && ArrayExtensions.hasElements(links) && links[0].linkUrl) {\n return links[0].linkUrl.destinationUrl;\n }\n return null;\n }\n return null;\n }\n}\n\nexport default ContentBlock;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IContentBlockAdditionalContentItemViewProps, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport { IContentBlockViewProps } from './content-block';\n\n/**\n * Render Additional Content.\n * @param additionalContent - Additional content view props.\n * @returns JSX Element.\n */\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\n return (\n \n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\n return (\n <>\n {item.heading}\n \n {item.text}\n {item.links}\n \n \n );\n })}\n \n );\n};\n\nconst ContentBlockView: React.FC = props => {\n const {\n contentBlockContainer,\n imageContainer,\n detailsContainer,\n title,\n text,\n links,\n image,\n contentBlockAnchorTag,\n imageLink,\n imageAriaLabel,\n additionalContent\n } = props;\n\n if (imageLink) {\n return (\n \n \n {image}\n \n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n }\n return (\n \n {image}\n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n};\n\nexport default ContentBlockView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n onTelemetryClick\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IFooterItemConfig, IFooterItemProps, IHeadingData, ILinkData } from './footer-item.props.autogenerated';\n\nexport interface IFooterViewProps extends IFooterItemProps {\n heading: React.ReactNode;\n image: React.ReactNode;\n text: React.ReactNode;\n linkText: React.ReactNode;\n className?: string;\n FooterItem: IModuleProps;\n HeadingContainer: INodeProps;\n ItemContainer: INodeProps;\n Link: INodeProps;\n EditableLink: React.ReactNode;\n}\n\n/**\n *\n * FooterItem component.\n * @extends {React.PureComponent>}\n */\nexport class FooterItem extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private attributes: Msdyn365.IDictionary | undefined;\n\n constructor(props: IFooterItemProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n // Construct telemetry attribute to render\n this.payLoad = getPayloadObject('click', this.telemetryContent, '', '');\n }\n\n public render(): JSX.Element {\n const { heading, image, link, text } = this.props.config;\n const footerItemClassName = classnames('ms-footer__item', this.props.config.className);\n const linkText = link && link.linkText ? link.linkText : '';\n this.payLoad.contentAction.etext = linkText;\n this.attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\n const viewProps: IFooterViewProps = {\n ...this.props,\n heading: this._createHeading(heading!),\n image: this._createImageMarkup(image!),\n text: this._createText(text!),\n linkText: this._createLinkText(link!),\n EditableLink: this._createLink(link!),\n\n FooterItem: {\n moduleProps: this.props,\n className: footerItemClassName\n },\n\n HeadingContainer: {\n className: 'ms-footer__heading'\n },\n\n ItemContainer: {\n className: 'ms-footer__link__container'\n },\n\n // @ts-expect-error\n Link: link &&\n link.linkUrl &&\n link.linkUrl.destinationUrl && {\n tag: 'a',\n role: 'link',\n className: 'ms-footer__link',\n href: link.linkUrl.destinationUrl,\n title: linkText,\n 'aria-label': link.ariaLabel,\n target: link.openInNewTab ? '_blank' : undefined,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText),\n ...this.attributes\n },\n className: footerItemClassName\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.text = event.target.value);\n\n public handleLinkTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.link!.linkText = event.target.value);\n\n private _createLink(link: ILinkData): React.ReactNode | null {\n if (link) {\n const linkText = link.linkText ? link.linkText : '';\n\n // TODO: Update the inner tag in the anchor link to span\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-footer__link',\n linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: this.attributes!,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText)\n };\n return (\n \n );\n }\n return null;\n }\n\n private _createLinkText(link: ILinkData): React.ReactNode | null {\n if (!link || !link.linkText) {\n return null;\n }\n\n return {link.linkText};\n }\n\n private _createHeading(heading: IHeadingData): React.ReactNode | null {\n if (!heading || !heading.text || heading.text.length === 0) {\n return null;\n }\n\n return (\n \n );\n }\n\n private _createText(text: string): React.ReactNode | null {\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n private _createImageMarkup(item: Msdyn365.IImageData, ariaHiddenAttr?: boolean): React.ReactNode | null {\n if (!item || !item.src || item.src.length === 0) {\n return null;\n }\n\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=24&h=24&m=6', w: 0, h: 0 },\n lg: { q: 'w=24&h=24&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n return (\n \n );\n }\n}\n\nexport default FooterItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IFooterViewProps } from './footer-item';\n\n/**\n *\n * FooterItemView component.\n * @extends {React.PureComponent}\n */\nexport class FooterItemView extends React.PureComponent {\n public render(): JSX.Element | null {\n const { FooterItem } = this.props;\n return {this._renderElement(this.props)};\n }\n\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\n const { heading, HeadingContainer, Link, linkText, image, text, EditableLink } = props;\n if (heading) {\n return {heading} ;\n } else if (Link && image) {\n return (\n \n {linkText}\n {image}\n \n );\n } else if (Link) {\n return EditableLink;\n }\n return (\n <>\n {text}\n {image}\n \n );\n }\n}\n\nexport default FooterItemView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n getTelemetryObject,\n IComponentNodeProps,\n IModuleProps,\n INodeProps,\n ISingleSlideCarouselProps,\n ITelemetryContent,\n NodeTag,\n SingleSlideCarousel\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\nimport { IInteractiveFeatureCollectionProps } from './interactive-feature-collection.props.autogenerated';\n\n/**\n * Interactive Feature Collection view props.\n */\nexport interface IInteractiveFeatureCollectionViewProps extends IInteractiveFeatureCollectionProps<{}> {\n title: React.ReactNode;\n interactiveFeatureCollectionHeading: INodeProps;\n interactiveFeatureCollectionContainer: IModuleProps;\n interactiveFeatureCollectionDesktopContainer: INodeProps;\n interactiveFeatureCollectionDesktopItems: React.ReactNode[];\n interactiveFeatureCollectionMobileContainer: INodeProps;\n interactiveFeatureCollectionMobileItems: React.ReactNode[];\n singleSlideCarouselComponentProps: INodeProps;\n singleSlideCarouselItemContainer: INodeProps;\n}\n\n/**\n *\n * InteractiveFeatureCollection component.\n * @extends {React.PureComponent>}\n */\nexport class InteractiveFeatureCollection extends React.PureComponent> {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n private static _getFeatureItem(item: React.ReactNode, index: number, itemsCounter: number): React.ReactNode {\n const keyIndex = `interactive-feature-mosaic-item__${index}`;\n return (\n \n {React.cloneElement(item as React.ReactElement, { indexItem: index, itemCounter: itemsCounter, isMosaic: true })}\n \n );\n }\n\n public constructor(props: IInteractiveFeatureCollectionProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { resources } = this.props;\n const { title, className } = this.props.config;\n const interactiveItems = this.props.slots && this.props.slots.interactiveFeatureItems;\n const itemsFeatureCounter = interactiveItems && interactiveItems.length;\n const singleSlideCarouselComponentProps: IComponentNodeProps = {\n tag: SingleSlideCarousel,\n className: this.props.config.className ?? '',\n flipperPrevLabel: resources.flipperPrevious,\n flipperNextLabel: resources.flipperNext,\n parentId: this.props.id,\n telemetryContent: this._telemetryContent,\n vertical: false\n };\n const initItemsFeatureCounter = 0;\n const createHeading = title && (\n \n );\n const viewProps = {\n ...this.props,\n title: createHeading,\n interactiveFeatureCollectionHeading: {\n className: 'ms-interactive-feature-collection__heading'\n },\n interactiveFeatureCollectionContainer: {\n moduleProps: this.props,\n className: classnames('ms-interactive-feature-collection', className)\n },\n interactiveFeatureCollectionDesktopContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-desktop'\n },\n interactiveFeatureCollectionMobileContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-mobile'\n },\n singleSlideCarouselComponentProps,\n singleSlideCarouselItemContainer: {\n tag: 'li' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel',\n role: 'listitem'\n },\n interactiveFeatureCollectionMobileItems: this.props.slots.interactiveFeatureItems,\n interactiveFeatureCollectionDesktopItems:\n itemsFeatureCounter > initItemsFeatureCounter &&\n interactiveItems.map((item: React.ReactNode, index: number) =>\n InteractiveFeatureCollection._getFeatureItem(item, index, itemsFeatureCounter)\n )\n };\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * To handle text change.\n * @param event - To handle text change event.\n * @name - HandleTextChange\n * @public\n * @returns - The Text value.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.title!.text = event.target.value);\n}\n\nexport default InteractiveFeatureCollection;\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 { IInteractiveFeatureCollectionViewProps } from './interactive-feature-collection';\n\n/**\n * Feature Collection View.\n * @param props - Feature Collection view props.\n * @returns Feature Collection View.\n */\nexport const interactiveFeatureCollectionView: React.FC = props => {\n const {\n title,\n interactiveFeatureCollectionHeading,\n interactiveFeatureCollectionContainer,\n interactiveFeatureCollectionDesktopContainer,\n interactiveFeatureCollectionDesktopItems,\n interactiveFeatureCollectionMobileItems,\n interactiveFeatureCollectionMobileContainer,\n singleSlideCarouselComponentProps,\n singleSlideCarouselItemContainer\n } = props;\n return (\n \n {title}\n {interactiveFeatureCollectionDesktopItems}\n \n \n {interactiveFeatureCollectionMobileItems &&\n interactiveFeatureCollectionMobileItems.map((tileItem: ReactNode, index: number) => {\n const keyIndex = `interactive-feature-carousel-item__${index}`;\n return (\n \n {tileItem}\n \n );\n })}\n \n \n \n );\n};\n\nexport default interactiveFeatureCollectionView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\nimport { Button, ITelemetryContent, getPayloadObject, getTelemetryAttributes } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport classnames from 'classnames';\n\n/**\n * Class names used in component.\n */\nconst componentClassName = 'ms-order-history-with-search-and-filters-organization-wide-selector';\nconst buttonClassName = `${componentClassName}__button`;\nconst buttonActiveClassName = `${componentClassName}__active-button`;\nconst buttonInactiveClassName = `${componentClassName}__inactive-button`;\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources {\n currentUserOptionLabel: string;\n currentUserOptionAriaLabel?: string;\n organizationWideOptionLabel: string;\n organizationWideOptionAriaLabel?: string;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState interface.\n */\nexport enum OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState {\n CurrentUser,\n OrganizationWide\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorData interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorData {\n customer: Customer;\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n extends IComponentProps {\n className?: string;\n resources: IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources;\n currentSelectorState: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState;\n telemetryContent?: ITelemetryContent;\n onChange(state: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState): void;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelector component.\n * @param props - Configuration of the component.\n * @returns React node.\n */\nconst OrderHistoryWithSearchAndFiltersOrganizationWideSelectorFunctionalComponent: React.FC = (\n props: IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n) => {\n // Current version doesn't include functionality for non b2b users or non-admin b2b users.\n if (!props.data.customer.IsB2bAdmin) {\n return
;\n }\n\n const [selectorState, setSelectorState] = React.useState(props.currentSelectorState);\n\n const onClickHandler = (newSelectorState: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState) => {\n setSelectorState(newSelectorState);\n props.onChange(newSelectorState);\n };\n\n // define telemetry attributes\n const currentUserOrderHistoryAttributes = getTelemetryAttributes(\n props.telemetryContent!,\n getPayloadObject('click', props.telemetryContent!, props.resources?.currentUserOptionLabel ?? 'Current user order history')\n );\n const orgWideOrderHistoryAttributes = getTelemetryAttributes(\n props.telemetryContent!,\n getPayloadObject('click', props.telemetryContent!, props.resources?.currentUserOptionLabel ?? 'Org wide order history')\n );\n\n return (\n
\n onClickHandler(OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState.CurrentUser)}\n {...currentUserOrderHistoryAttributes}\n >\n {props.resources?.currentUserOptionLabel}\n \n onClickHandler(OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState.OrganizationWide)}\n {...orgWideOrderHistoryAttributes}\n >\n {props.resources?.organizationWideOptionLabel}\n \n
\n );\n};\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelector component.\n */\nexport const OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent: React.FunctionComponent = msdyn365Commerce.createComponent<\n // @ts-expect-error\n IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n>('OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent', {\n component: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorFunctionalComponent\n});\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getRichTextHtml } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\n/**\n * Product specification table row.\n */\nexport interface IProductSpecificationTableRow {\n productName?: string;\n cellData?: React.ReactNode;\n className?: string;\n}\n\n/**\n * Product specification table row component.\n * @param props - For product specification table row.\n * @param props.productName - Product name.\n * @param props.cellData - Cell data.\n * @param props.className - Class name.\n * @returns - Returns JSX element.\n */\nexport const ProductSpecificationTableRow: React.FC = ({ productName, cellData, className }) => (\n \n \n {/* eslint-disable-next-line react/no-danger */}\n \n \n {cellData}\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { AttributeValue } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { Drawer, IModuleProps, INodeProps, Module } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { reaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { AttributesForSelectedVariantInput, getAttributesForSelectedVariant } from '../..';\nimport { ProductSpecificationTableRow } from './components/product-specification-table-stucture';\nimport { IProductSpecificationData } from './product-specification.data';\nimport { displayStyle, IProductSpecificationProps } from './product-specification.props.autogenerated';\n\n/**\n * Maintain Drawer State.\n */\nexport interface IProductSpecificationState {\n isDrawerOpen: boolean;\n isAdditionalMediaDrawerOpen: boolean;\n drawerListId: number | undefined;\n}\n\n/**\n * Product specification view props.\n */\nexport interface IProductSpecificationViewProps extends IProductSpecificationProps<{}> {\n ProductSpecification: IModuleProps;\n ProductSpecificationTableProps: INodeProps;\n ProductSpecificationTableBodyProps: INodeProps;\n productSpecificationResult?: (JSX.Element | null)[];\n\n title?: React.ReactNode;\n isAccrodion?: boolean;\n handleText?(event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * Check for display style either accordion or table.\n */\nexport interface IProductSpecificationExtentedProps extends IProductSpecificationProps {\n displayStyle?: displayStyle;\n}\n\n/**\n *\n * ProductSpecification component.\n * @extends {React.Component>}\n */\n@observer\nclass ProductSpecification extends React.Component {\n public constructor(props: IProductSpecificationExtentedProps) {\n super(props);\n this.state = {\n isDrawerOpen: false,\n isAdditionalMediaDrawerOpen: false,\n drawerListId: undefined\n };\n }\n\n public async componentDidMount(): Promise {\n const { context, data, telemetry } = this.props;\n const catalogId = Msdyn365.getCatalogId(this.props.context.request);\n validateCatalogId(catalogId);\n reaction(\n () => (data.product.result ? data.product.result.RecordId : null),\n () => {\n if (context && data.product.result) {\n const actionInput = new AttributesForSelectedVariantInput(\n data.product.result.RecordId,\n\n +context.actionContext.requestContext.apiSettings.channelId,\n data.product.result,\n catalogId\n );\n\n getAttributesForSelectedVariant(actionInput, this.props.context.actionContext).catch((error: Error) => {\n telemetry.error(error.message);\n telemetry.debug('Unable to update attributes for Product');\n telemetry.error(error.message);\n });\n }\n }\n );\n }\n\n public shouldComponentUpdate(nextProps: IProductSpecificationExtentedProps, nextState: IProductSpecificationState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n let data: IProductSpecificationData;\n try {\n data = this.props.data;\n } catch (error) {\n this.props.telemetry.error(`Something went wrong ------${error}`);\n return
{error}
;\n }\n\n if (!data.productSpecificationData.result || data.productSpecificationData.result.length <= 0) {\n this.props.telemetry.error('Product specification content is empty, module wont render.');\n return null;\n }\n\n const { heading, className } = this.props.config;\n const { productSpecificationData } = this.props.data;\n const isAccrodion = this.props.config.displayStyle === displayStyle.accordion;\n const viewProps = {\n ...this.props,\n handleText: this.handleHeadingChange,\n ProductSpecification: {\n moduleProps: this.props,\n className: classnames('ms-product-specification', className)\n },\n ProductSpecificationTableProps: isAccrodion\n ? {\n moduleProps: this.props,\n className: classnames('ms-product-specification__accordion', className)\n }\n : {\n className: classnames('ms-product-specification__table table-striped table-bordered'),\n tag: 'table'\n },\n isAccrodion,\n ProductSpecificationTableBodyProps: isAccrodion\n ? {}\n : {\n className: '',\n tag: 'tbody'\n },\n title: heading?.text && (\n \n ),\n productSpecificationResult:\n productSpecificationData.result && (isAccrodion ? this._createDrawerBody(data) : this._createTableBody(data))\n } as IProductSpecificationViewProps;\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handle Heading Text Change.\n * @param event - Current event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n private _createTableBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const tableRows = content.productSpecificationData.result!.map((product, index) => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n\n if (!cellData) {\n return null;\n }\n\n return (\n <>\n \n \n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n tableRows.push(this._createAdditionalMediaDrawer());\n }\n\n return tableRows;\n }\n\n private _createDrawerBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n const drawers = content.productSpecificationData.result!.map(product => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n if (!cellData) {\n return null;\n }\n return (\n \n \n
{cellData}
\n \n
\n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n drawers.push(this._createAdditionalMediaDrawer());\n }\n\n return drawers;\n }\n private _createAdditionalMediaDrawer(): JSX.Element {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n return (\n \n {\n this.setState(prevState => ({\n ...prevState,\n isAdditionalMediaDrawerOpen: !prevState.isAdditionalMediaDrawerOpen\n }));\n }}\n >\n
\n \n
\n \n
\n );\n }\n\n private readonly _toggle = (drawerListId: number | undefined) => (): void => {\n if (this.state.drawerListId !== drawerListId) {\n this.setState({ drawerListId, isDrawerOpen: true });\n } else {\n this.setState({ drawerListId: undefined, isDrawerOpen: false });\n }\n };\n\n private _renderProductCell(product: AttributeValue): JSX.Element | null {\n switch (product.DataTypeValue) {\n case 0: // None\n // Return span here instead of null so the row still shows\n return ;\n case 1: // Currency\n return this._renderCurrencyCell(product);\n case 2: // DateTime\n return this._renderDateTimeCell(product);\n case 3: // Decimal\n return this._renderDecimalCell(product);\n case 4: // Integer\n return this._renderIntegerCell(product);\n case 5: // Text\n return this._renderTextCell(product);\n case 6: // TrueFalse\n return this._renderTrueFalseCell(product);\n case 40: // Video\n this.props.telemetry.warning('Got video specification type, not supported yet so skipping line');\n return null;\n case 41: // Image\n this.props.telemetry.warning('Got image specification type, not supported yet so skipping line');\n return null;\n default:\n this.props.telemetry.warning(`Got unknown specification type ${product.DataTypeValue} so skipping line`);\n return null;\n }\n }\n\n private _renderCurrencyCell(product: AttributeValue): JSX.Element | null {\n if (product.CurrencyValue !== null && product.CurrencyValue !== undefined) {\n return (\n \n {product.CurrencyCode}\n {product.CurrencyValue}\n \n );\n }\n\n return null;\n }\n\n private _renderDateTimeCell(product: AttributeValue): JSX.Element | null {\n if (product.DateTimeOffsetValue?.toUTCString) {\n return {product.DateTimeOffsetValue.toUTCString()};\n }\n\n return null;\n }\n\n private _renderIntegerCell(product: AttributeValue): JSX.Element | null {\n if (product.IntegerValue !== null && product.IntegerValue !== undefined) {\n return {product.IntegerValue};\n }\n\n return null;\n }\n\n private _renderDecimalCell(product: AttributeValue): JSX.Element | null {\n if (product.FloatValue !== null && product.FloatValue !== undefined) {\n return {product.FloatValue};\n }\n\n return null;\n }\n\n private _renderTextCell(product: AttributeValue): JSX.Element | null {\n if (product.TextValue !== null && product.TextValue !== undefined) {\n // eslint-disable-next-line react/no-danger\n return ;\n }\n\n return null;\n }\n\n private _renderTrueFalseCell(product: AttributeValue): JSX.Element | null {\n // TODO 20369885 setting to default value is needed to work around a platform bug where\n // config string value does not get its default value.\n if (product.BooleanValue) {\n return {this.props.resources.trueValueText ? this.props.resources.trueValueText : 'Yes'};\n }\n return {this.props.resources.falseValueText ? this.props.resources.falseValueText : 'No'};\n }\n}\n\nexport default ProductSpecification;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IProductSpecificationViewProps } from './product-specification';\n\nconst ProductSpecificationView: React.FC = props => {\n const { ProductSpecification, ProductSpecificationTableProps, ProductSpecificationTableBodyProps, productSpecificationResult } = props;\n const rowdata =\n productSpecificationResult &&\n ArrayExtensions.hasElements(productSpecificationResult) &&\n productSpecificationResult.filter(row => !ObjectExtensions.isNullOrUndefined(row));\n\n return rowdata && ArrayExtensions.hasElements(rowdata) ? (\n \n {props.title}\n \n {rowdata}\n \n \n ) : null;\n};\n\nexport default ProductSpecificationView;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { addThrottledEvent, Drawer, IModuleProps, INodeProps, KeyCodes, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { computed, observable } from 'mobx';\nimport React from 'react';\n\nimport { ISitePickerConfig, ISitePickerProps } from './site-picker.props.autogenerated';\n\nexport interface ISitePickerViewProps extends ISitePickerProps {\n SitePicker: IModuleProps;\n SitePickerMenu: INodeProps;\n SitePickerMenuSpan: INodeProps;\n SitePickerMenuList: INodeProps;\n SitePickerMenuListItem: INodeProps;\n SitePickerMenuListItemArray: React.ReactNode[] | undefined;\n siteOptionsState: boolean;\n SitePickerMobileContainer: INodeProps;\n isMobileView: boolean;\n renderSiteOptions(): void;\n resetSiteOptionsState(): void;\n}\n\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\ninterface ISitePickerState {\n expandSiteOptions: boolean;\n isMobile: boolean;\n}\n\n/**\n *\n * SitePicker component.\n * @extends {React.PureComponent>}\n */\nclass SitePicker extends React.PureComponent, ISitePickerState> {\n private readonly _cookieName: string = '_msdyn365___site_';\n\n private readonly _cookieExpirationInSeconds: number = 5_184_000;\n\n private readonly _sitePickerMenuNode: React.RefObject;\n\n private readonly _sitePickerMenuButton: React.RefObject;\n\n private resizeThrottledEventHandler?: (event: Event) => void;\n\n @observable\n private viewport: GridSize;\n\n public constructor(props: ISitePickerViewProps) {\n super(props);\n this._handleChange = this._handleChange.bind(this);\n this._sitePickerMenuNode = React.createRef();\n this._sitePickerMenuButton = React.createRef();\n this._renderSiteOptions = this._renderSiteOptions.bind(this);\n this._resetSiteOptionsState = this._resetSiteOptionsState.bind(this);\n this._escFunction = this._escFunction.bind(this);\n this._handleOutsideClick = this._handleOutsideClick.bind(this);\n this._updateViewport = this._updateViewport.bind(this);\n this.viewport =\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\n this.state = {\n expandSiteOptions: false,\n isMobile: this.isMobile\n };\n }\n\n @computed get isMobile(): boolean {\n return this.viewport === 'xs' || this.viewport === 'sm';\n }\n\n public componentDidMount(): void {\n if (MsDyn365.isBrowser) {\n document?.addEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\n document?.body?.addEventListener('mousedown', this._handleOutsideClick);\n this.resizeThrottledEventHandler = window && addThrottledEvent(window, 'resize', this._updateViewport as EventListener);\n this._updateViewport();\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.isBrowser) {\n document?.removeEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\n document?.body?.removeEventListener('mousedown', this._handleOutsideClick, false);\n window && window.removeEventListener('resize', this.resizeThrottledEventHandler!, false);\n }\n }\n\n public render(): JSX.Element | null {\n const viewProps: ISitePickerViewProps = {\n ...(this.props as ISitePickerProps),\n SitePicker: {\n moduleProps: this.props,\n className: classnames('ms-site-picker', this.props.config.className, this.state.isMobile ? 'mobile-view' : 'desktop-view'),\n tag: 'div'\n },\n SitePickerMenu: {\n tag: 'button' as NodeTag,\n className: 'ms-site-picker__button',\n 'aria-label': this.props.config.heading?.text,\n 'aria-expanded': this.state.expandSiteOptions,\n onClick: this.props,\n ref: this._sitePickerMenuButton\n },\n SitePickerMenuSpan: {\n className: 'ms-site-picker__span',\n tag: 'span'\n },\n SitePickerMenuList: {\n className: 'ms-site-picker__list',\n role: 'menu',\n tag: 'ul',\n ref: this._sitePickerMenuNode\n },\n SitePickerMenuListItem: {\n className: 'ms-site-picker__list__item',\n role: 'presentation',\n tag: 'li'\n },\n SitePickerMobileContainer: {\n tag: Drawer,\n className: 'ms-site-picker__drawer',\n toggleButtonText: this.props.config.heading?.text,\n openGlyph: 'ms-site-picker__drawer-open',\n closeGlyph: 'ms-site-picker__drawer-close',\n glyphPlacement: 'end'\n },\n isMobileView: this.state.isMobile,\n SitePickerMenuListItemArray: this._renderSitePickerImage(),\n renderSiteOptions: this._renderSiteOptions,\n resetSiteOptionsState: this._resetSiteOptionsState,\n siteOptionsState: this.state.expandSiteOptions\n };\n return this.props.renderView(viewProps);\n }\n\n private _renderSiteOptions(): void {\n const expandSiteOptionsState = this.state.expandSiteOptions;\n this.setState({\n expandSiteOptions: !expandSiteOptionsState\n });\n }\n\n private _resetSiteOptionsState(): void {\n this.setState({\n expandSiteOptions: false\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _escFunction = (event: any) => {\n const key = event.keyCode;\n if (this.state.expandSiteOptions) {\n switch (key) {\n case KeyCodes.Escape: {\n setTimeout(() => {\n const nextFocus = document && document.activeElement;\n if (\n this._sitePickerMenuButton?.current?.contains(nextFocus) ||\n this._sitePickerMenuNode?.current?.contains(nextFocus)\n ) {\n this._resetSiteOptionsState();\n this._sitePickerMenuButton?.current?.focus();\n }\n }, 50);\n break;\n }\n case KeyCodes.Tab: {\n setTimeout(() => {\n const nextFocus = document && document.activeElement;\n if (\n !this._sitePickerMenuButton?.current?.contains(nextFocus) &&\n !this._sitePickerMenuNode?.current?.contains(nextFocus)\n ) {\n this._resetSiteOptionsState();\n }\n }, 50);\n break;\n }\n default:\n return;\n }\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _handleOutsideClick = (event: any) => {\n if (\n (this._sitePickerMenuButton.current?.contains(event.target) && this.state.expandSiteOptions) ||\n (this._sitePickerMenuNode.current?.contains(event.target) && this.state.expandSiteOptions)\n ) {\n return;\n }\n this._resetSiteOptionsState();\n };\n\n private _handleChange(e: React.MouseEvent): void {\n e.preventDefault();\n if (e.currentTarget.href && e.currentTarget.href.length > 0 && window) {\n if (this.props.context.request.cookies.isConsentGiven()) {\n const cookieConfig = { maxAge: this._cookieExpirationInSeconds };\n this.props.context.request.cookies.set(this._cookieName, e.currentTarget.href, cookieConfig);\n }\n window.location.assign(e.currentTarget.href);\n }\n }\n\n private _renderSitePickerImage(): React.ReactNode[] | undefined {\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\n sm: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\n md: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\n lg: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\n xl: { q: 'w=40&h=20&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n const siteOptions = this.props.config.siteOptions && this.props.config.siteOptions;\n return (\n siteOptions &&\n siteOptions.map((item, index) => {\n const image = item?.siteImage;\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: image?.imageSettings?.viewports ? image.imageSettings : defaultImageSettings\n };\n return (\n \n {item?.siteName}\n \n \n );\n })\n );\n }\n\n private _updateViewport(): void {\n this.viewport = this._getViewport();\n this.setState({ isMobile: this.isMobile });\n }\n\n private _getViewport(): GridSize {\n const { context } = this.props;\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\n return 'xs';\n }\n\n if (typeof window !== undefined && window.innerWidth) {\n const gridSettings = context.request.gridSettings;\n if (gridSettings) {\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\n return 'xs';\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\n return 'sm';\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\n return 'md';\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\n return 'lg';\n }\n return 'xl';\n }\n }\n return 'xs';\n }\n}\n\nexport default SitePicker;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISitePickerViewProps } from './site-picker';\n\nexport default (props: ISitePickerViewProps) => {\n return <>{_renderSitePicker(props)};\n};\n\nconst _renderDesktopView = (props: ISitePickerViewProps) => {\n const { SitePickerMenu, SitePickerMenuSpan } = props;\n return (\n <>\n \n {props.config.heading?.text}\n \n \n {props.siteOptionsState ? _renderSiteOptionsList(props) : null}\n \n );\n};\n\nconst _renderSiteOptionsList = (props: ISitePickerViewProps): React.ReactNode => {\n const { SitePickerMenuList, SitePickerMenuListItem, SitePickerMenuListItemArray } = props;\n const options = SitePickerMenuListItemArray!.map((item, index) => {\n return (\n \n {item}\n \n );\n });\n return (\n \n {options}\n \n );\n};\n\nconst _renderMobileView = (props: ISitePickerViewProps): React.ReactNode => {\n const { SitePickerMobileContainer } = props;\n return (\n \n
\n {props.SitePickerMenuListItemArray?.map((item, index) => {\n return
{item}
;\n })}\n
\n
\n );\n};\n\nconst _renderSitePicker = (props: ISitePickerViewProps): React.ReactNode => {\n const { isMobileView, SitePicker } = props;\n return {isMobileView ? _renderMobileView(props) : _renderDesktopView(props)};\n};\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","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IModuleProps, INodeProps, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { ITabItemData } from './tab-item.data';\nimport { ITabItemProps } from './tab-item.props.autogenerated';\n\nexport interface ITabItemViewProps {\n TabContentContainer: IModuleProps;\n TabHeaderContainer: IModuleProps;\n tabSlots: INodeProps;\n TabItemContent: INodeProps;\n tabItemType?: TabItemType;\n tabHeader: React.ReactNode;\n}\n\nexport interface ITabItemExtentedProps extends ITabItemProps {\n tabItemType?: TabItemType;\n isSelected?: boolean;\n itemIndex?: number;\n tabId?: string;\n}\n\nexport enum TabItemType {\n TabHeader,\n TabContent\n}\n\n/**\n *\n * TabItem component.\n * @extends {React.Component}\n */\n@observer\nclass TabItem extends React.PureComponent {\n private readonly moduleContentClassName: string = 'ms-tab-item-content';\n\n private readonly moduleHeaderClassName: string = 'ms-tab-item-header';\n\n constructor(props: ITabItemProps) {\n super(props);\n this._renderTabHeader = this._renderTabHeader.bind(this);\n }\n\n public render(): JSX.Element {\n const { slots, renderView, config, data, isSelected, itemIndex } = this.props;\n const index = itemIndex || 0;\n const contentID = getContentID(index, this.props.tabId || '');\n const activeContentIDResult = data && data.activeTabState && data.activeTabState.result;\n const shown =\n activeContentIDResult &&\n activeContentIDResult.tabId === this.props.tabId &&\n activeContentIDResult.activeContentIndex !== undefined\n ? activeContentIDResult.activeContentIndex === index\n : isSelected || false;\n const viewProps = {\n ...this.props,\n TabContentContainer: {\n moduleProps: this.props,\n className: classnames(this.moduleContentClassName, config.className)\n },\n TabHeaderContainer: {\n moduleProps: this.props,\n className: classnames(this.moduleHeaderClassName, config.className)\n },\n TabItemContent: {\n className: 'ms-tab-item-content__content',\n tag: 'section' as NodeTag,\n 'aria-hidden': !shown,\n role: 'tabpanel',\n tabIndex: shown ? 0 : -1,\n id: contentID\n },\n tabHeader: this._renderTabHeader(),\n tabSlots: slots\n };\n return renderView(viewProps) as React.ReactElement;\n }\n\n private _renderTabHeader(): React.ReactNode {\n return <>{this.props.config.tabItemTitle};\n }\n}\n\nexport const getContentID = (index: number, id: string) => {\n return `tab-item-content-${id}-${index}`;\n};\n\nexport default TabItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ITabItemViewProps, TabItemType } from './tab-item';\n\nconst TabItemView: React.FC = props => {\n const { tabItemType, tabSlots, TabContentContainer, TabHeaderContainer, TabItemContent, tabHeader } = props;\n\n switch (tabItemType) {\n case TabItemType.TabContent:\n return (\n \n \n {tabSlots &&\n tabSlots.tabItemContent &&\n tabSlots.tabItemContent.length &&\n _renderTabItemContent(tabSlots.tabItemContent)}\n \n \n );\n case TabItemType.TabHeader:\n return {tabHeader};\n default:\n return null;\n }\n};\n\nconst _renderTabItemContent = (items: React.ReactNode[]): JSX.Element | null => {\n return (\n <>\n {items && items.length > 0\n ? items.map((item: React.ReactNode, index: number) => {\n return {item};\n })\n : null}\n \n );\n};\nexport default TabItemView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport { IModuleProps, INodeProps, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createTabStateInput, getContentID, TabItemType } from '../..';\nimport { ITabData } from './tab.data';\nimport { ITabProps } from './tab.props.autogenerated';\n\n/**\n *\n * Tab component.\n * @extends {React.PureComponent>}\n */\n\nexport interface ICallToActionProps {\n link: INodeProps[];\n}\n\nexport interface ITabViewProps extends ITabProps<{}> {\n heading?: React.ReactNode;\n TabContainer: IModuleProps;\n headerSection: INodeProps;\n tabHeaderSection: INodeProps;\n tabsSection: INodeProps;\n tabItemContainer: INodeProps;\n tabHeaders: React.ReactNode;\n tabContents: React.ReactNode;\n}\n\nexport interface ITabViewStates {\n currentTabIndex: number;\n}\n\n/**\n *\n * Tab component.\n * @extends {React.Component>}\n */\n@observer\nclass Tab extends React.Component, ITabViewStates> {\n public readonly tabIndexQuery: string = 'activeTab';\n\n private activeLink: HTMLLIElement | null;\n\n constructor(props: ITabProps) {\n super(props);\n const { defaultTabIndex } = this.props.config;\n const { slots } = this.props;\n const slotLength = (slots && slots.tabItems && slots.tabItems.length) || 0;\n let initialIndex = defaultTabIndex && defaultTabIndex <= slotLength && defaultTabIndex > 0 ? defaultTabIndex - 1 : 0;\n const queryString: string =\n (this.props.context &&\n this.props.context.request &&\n this.props.context.request.query &&\n this.props.context.request.query.activeTab) ||\n '';\n let queryTabIndex: number = 0;\n if (queryString.indexOf(':') > 0) {\n const arr = queryString.split(':');\n const moduleId = arr[0];\n if (moduleId === this.props.id) {\n queryTabIndex = Number.parseInt(arr[1], 10);\n }\n }\n initialIndex = queryTabIndex > 0 && queryTabIndex <= slotLength ? queryTabIndex - 1 : initialIndex;\n this.state = { currentTabIndex: initialIndex };\n\n this._getTabHeader = this._getTabHeader.bind(this);\n this._getTabContent = this._getTabContent.bind(this);\n this._onClick = this._onClick.bind(this);\n this._onKeyDown = this._onKeyDown.bind(this);\n this._setGetParameter = this._setGetParameter.bind(this);\n this.activeLink = null;\n }\n\n public shouldComponentUpdate(nextProps: ITabProps, nextState: ITabViewStates): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { slots } = this.props;\n const { heading, className } = this.props.config;\n\n const headingComponent = heading && (\n \n );\n const slotLength = (slots && slots.tabItems && slots.tabItems.length) || 0;\n\n // Const queryTabIndex = this.props.context && this.props.context.request && this.props.context.request.query && +this.props.context.request.query.activeTabIndex || 0;\n // let activeIndex = defaultTabIndex && defaultTabIndex <= slotLength && defaultTabIndex > 0 ? defaultTabIndex - 1 : 0;\n // activeIndex = queryTabIndex > 0 && queryTabIndex <= slotLength ? queryTabIndex - 1 : activeIndex;\n\n const tabViewProps = {\n ...this.props,\n TabContainer: {\n moduleProps: this.props,\n className: classnames('ms-tab', className)\n },\n headerSection: { className: 'ms-tab-header-section' },\n tabsSection: { className: 'ms-tab-tabs-section', tag: 'ul' as NodeTag, role: 'tablist' },\n heading: headingComponent,\n config: this.props && this.props.config,\n tabItemContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-tab-content-section'\n },\n tabContents: slotLength > 0 && slots.tabItems.map((item: React.ReactNode, index: number) => this._getTabContent(item, index)),\n tabHeaders: slotLength > 0 && slots.tabItems.map((item: React.ReactNode, index: number) => this._getTabHeader(item, index))\n };\n return this.props.renderView(tabViewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: MsDyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n public componentDidUpdate(): void {\n const { data } = this.props;\n if (!this.props.context.request.params.isEditor) {\n const dataActionTabId = data && data.activeTabState && data.activeTabState.result && data.activeTabState.result.tabId;\n if (dataActionTabId) {\n if (this.props.id === dataActionTabId) {\n this.activeLink && this.activeLink.focus();\n }\n } else {\n const queryString: string =\n (this.props.context &&\n this.props.context.request &&\n this.props.context.request.query &&\n this.props.context.request.query.activeTab) ||\n '';\n if (queryString.indexOf(':') > 0) {\n const arr = queryString.split(':');\n const moduleId = arr[0];\n if (moduleId === this.props.id) {\n this.activeLink && this.activeLink.focus();\n }\n }\n }\n }\n }\n\n /**\n *Set the activate link value on tab click.\n * @param link -Ref link value.\n */\n private readonly _refHandler = (link: HTMLLIElement | null) => {\n this.activeLink = link;\n };\n\n private _getTabHeader(item: React.ReactNode, index: number): React.ReactNode {\n const { data } = this.props;\n const activeContentIndex =\n data && data.activeTabState && data.activeTabState.result && data.activeTabState.result.activeContentIndex;\n const dataActionTabId = data && data.activeTabState && data.activeTabState.result && data.activeTabState.result.tabId;\n const selected =\n activeContentIndex !== undefined && dataActionTabId === this.props.id\n ? activeContentIndex === index\n : this.state.currentTabIndex === index;\n const contentID = getContentID(index, this.props.id);\n\n return (\n \n \n {React.cloneElement(item as React.ReactElement, {\n tabItemType: TabItemType.TabHeader,\n isSelected: index === this.state.currentTabIndex,\n itemIndex: index,\n tabId: this.props.id\n })}\n \n \n );\n }\n\n private readonly _onClick = (index: number, id: string) => (e: React.MouseEvent) => {\n const activeTabState = { activeContentIndex: index, tabId: id };\n this.props.context.actionContext.update(createTabStateInput(activeTabState), activeTabState);\n this.setState({ currentTabIndex: index });\n\n // Update query paramter\n const requestContext = this.props.context.request;\n const newUrl = this._setGetParameter(requestContext, this.tabIndexQuery, `${this.props.id}:${String(index + 1)}`);\n requestContext && window.history.pushState({ path: newUrl }, '', newUrl);\n };\n\n private readonly _onKeyDown = (index: number, id: string) => (e: React.KeyboardEvent) => {\n if (e.keyCode === 13) {\n const activeTabState = { activeContentIndex: index, tabId: id };\n this.props.context.actionContext.update(createTabStateInput(activeTabState), activeTabState);\n this.setState({ currentTabIndex: index });\n\n // Update query paramter\n const requestContext = this.props.context.request;\n const newUrl = this._setGetParameter(requestContext, this.tabIndexQuery, `${this.props.id}:${String(index + 1)}`);\n requestContext && window.history.pushState({ path: newUrl }, '', newUrl);\n }\n\n if (e.keyCode === 39 || e.keyCode === 37) {\n const { slots } = this.props;\n const slotLength = (slots && slots.tabItems && slots.tabItems.length) || 0;\n\n if (e.keyCode === 39) {\n // If we're at the end, go to the start\n if (index + 1 === slotLength) {\n index = -1;\n }\n const activeTabState = { activeContentIndex: index + 1, tabId: id };\n this.props.context.actionContext.update(createTabStateInput(activeTabState), activeTabState);\n this.setState({ currentTabIndex: index + 1 });\n\n // Update query paramter\n const requestContext = this.props.context.request;\n const newUrl = this._setGetParameter(requestContext, this.tabIndexQuery, `${this.props.id}:${String(index + 2)}`);\n requestContext && window.history.pushState({ path: newUrl }, '', newUrl);\n\n // Move left\n } else if (e.keyCode === 37) {\n // If we're at the start, move to the end\n if (index === 0) {\n index = slotLength;\n }\n const activeTabState = { activeContentIndex: index - 1, tabId: id };\n this.props.context.actionContext.update(createTabStateInput(activeTabState), activeTabState);\n this.setState({ currentTabIndex: index - 1 });\n\n // Update query paramter\n const requestContext = this.props.context.request;\n const newUrl = this._setGetParameter(requestContext, this.tabIndexQuery, `${this.props.id}:${String(index)}`);\n requestContext && window.history.pushState({ path: newUrl }, '', newUrl);\n }\n }\n };\n\n private _getTabContent(item: React.ReactNode, index: number): React.ReactNode {\n return (\n \n {React.cloneElement(item as React.ReactElement, {\n tabItemType: TabItemType.TabContent,\n isSelected: index === this.state.currentTabIndex,\n itemIndex: index,\n tabId: this.props.id\n })}\n \n );\n }\n\n private _setGetParameter(requestContext: MsDyn365.IRequestContext, paramName: string, paramValue: string): string {\n let url;\n\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n url = new URL(window.location.href);\n } else {\n url = new URL(requestContext.url.requestUrl.href);\n }\n\n const params = new window.URLSearchParams(url.search);\n params.set(paramName, paramValue);\n url.search = decodeURIComponent(params.toString());\n return url.toString();\n }\n}\n\nexport default Tab;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ITabViewProps } from './tab';\n\nconst tabView: React.FC = props => {\n const { heading, TabContainer, tabHeaders, tabContents } = props;\n if (!props.heading && !props.tabHeaders && !props.tabContents) {\n props.context.telemetry.error('Tab content is empty, module wont render');\n return null;\n }\n return (\n \n {heading}\n {tabHeaders}\n {tabContents}\n \n );\n};\n\nexport default tabView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n getTelemetryObject,\n Heading,\n IComponentNodeProps,\n INodeProps,\n ISingleSlideCarouselProps,\n ITelemetryContent,\n NodeTag,\n SingleSlideCarousel\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ITileListProps, ITitleData } from './tile-list.props.autogenerated';\n\n/**\n * Tile-list view props.\n */\nexport interface ITileListViewProps extends ITileListProps<{}> {\n title?: React.ReactNode;\n tiles: React.ReactNode[];\n tileItemContainer: INodeProps;\n tileListContainer: INodeProps;\n tileListHeading: INodeProps;\n singleSlideCarouselComponentProps: INodeProps;\n}\n\n/**\n *\n * TileList component.\n * @extends {React.PureComponent>}\n */\nexport class TileList extends React.PureComponent> {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n private static _createHeading(heading?: ITitleData): React.ReactNode | null {\n if (!heading || !heading.text || StringExtensions.isNullOrWhitespace(heading.text)) {\n return null;\n }\n return ;\n }\n public constructor(props: ITileListProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { resources } = this.props;\n const { title, className } = this.props.config;\n const propsCarousel: IComponentNodeProps = {\n tag: SingleSlideCarousel,\n className: this.props.config.className ?? '',\n flipperPrevLabel: resources.flipperPrevious,\n flipperNextLabel: resources.flipperNext,\n parentId: this.props.id,\n telemetryContent: this._telemetryContent,\n vertical: false\n };\n\n const viewProps = {\n ...this.props,\n title: TileList._createHeading(title),\n singleSlideCarouselComponentProps: propsCarousel,\n tileItemContainer: {\n tag: 'li' as NodeTag,\n className: 'ms-tile__item',\n role: 'listitem'\n },\n tileListContainer: { className: classnames('ms-tile-list', className) },\n tileListHeading: { className: 'ms-tile-list__heading' },\n tiles: this.props.slots.content\n };\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n}\n\nexport default TileList;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ITileListViewProps } from './tile-list';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns Returns props.\n */\nexport const tileListView: React.FC = props => {\n const { title, tiles, tileListContainer, tileListHeading, tileItemContainer, singleSlideCarouselComponentProps } = props;\n return (\n \n {title}\n \n {tiles.map((tileItem: ReactNode, index: number) => {\n const keyIndex = `tile-list-item__${index}`;\n return (\n \n {tileItem}\n \n );\n })}\n \n \n );\n};\n\nexport default tileListView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckoutCustomerAccountPaymentViewProps } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/checkout-customer-account-payment';\nimport { IAccountPaymentEditViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-edit-mode';\nimport { IAccountPaymentSummaryViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-summary-mode';\n\nexport const SummaryForm: React.FC = ({\n formProps,\n label,\n addPaymentButton,\n appliedLine,\n bottomBorder,\n paymentAmountInput\n}) => (\n \n <>\n {label}\n {paymentAmountInput}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nexport const EditForm: React.FC = ({\n formProps,\n inputLabel,\n inputAmount,\n addPaymentButton,\n customerName,\n customerAccountNumber,\n customerSince,\n accountCredit,\n alert,\n accountDetails,\n appliedLine,\n bottomBorder\n}) => (\n \n <>\n {customerName}\n {customerAccountNumber}\n {customerSince}\n {accountCredit}\n {accountDetails}\n {inputLabel}\n {alert}\n {inputAmount}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nconst CheckoutCustomerAccountView: React.FC = props => {\n const { checkoutCustomerAccount, checkoutErrorRef, summaryView, editView, moduleState, alert } = props;\n return (\n \n {alert}\n {moduleState.isReady && summaryView && }\n {!moduleState.isReady && editView && }\n \n );\n};\n\nexport default CheckoutCustomerAccountView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport {\n IReportReviewModalViewProps,\n IReviewCardViewProps,\n IReviewsListData,\n IReviewsListResources,\n IReviewsListState,\n IReviewsListViewProps\n} from '@msdyn365-commerce-modules/ratings-reviews';\nimport { ArrayExtensions, generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IReviewsListProps } from '../definition-extensions/reviews-list.ext.props.autogenerated';\n\n/**\n * Build Review Card.\n * @param props - Review Card ViewProps.\n * @param resources - Resource Strings.\n * @param isUserReview - User review flag.\n * @returns JSX Element.\n */\nconst buildReviewCard = (props: IReviewCardViewProps, resources: IReviewsListResources, isUserReview: boolean) => {\n return (\n \n \n
\n {props.rating}\n {props.date}\n
\n {props.name}\n
\n \n \n {props.reviewTitle}\n {props.reviewText}\n \n \n {props.responseName}\n {props.responseDate}\n {props.responseText}\n \n \n {isUserReview ? undefined :

{resources.wasReviewHelpfulText}

}\n {props.like}\n {props.dislike}\n {props.edit}\n
\n
\n
\n );\n};\n\n/**\n * Render Product Image.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductImage = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const primaryImageSource = props.data.product.result?.PrimaryImageUrl;\n const imageUrl = generateImageUrl(primaryImageSource, props.context.request.apiSettings);\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=111&h=111&m=6', w: 111, h: 111 },\n sm: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n md: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n lg: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n xl: { q: 'w=130&h=130&m=6', w: 130, h: 130 }\n },\n lazyload: true,\n cropFocalRegion: true\n };\n\n return (\n \n );\n};\n\n/**\n * Render Product Description.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductDescription = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const product = props.data.product.result;\n return (\n \n
{renderProductImage(props)}
\n
\n
{product?.Name}
\n
{product?.Name}
\n
{product?.ItemId}
\n
\n
\n );\n};\n\n/**\n * Build Review modal.\n * @param props - Review list ViewProps.\n * @returns JSX Element.\n */\nconst createReviewModal = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const { resources, moduleProps, reviewModal } = props;\n return (\n \n {reviewModal.modalHeader}\n \n \n \n {renderProductDescription(props)}\n \n
{resources.selectRatingLabel}
\n {reviewModal.rating}\n
\n
\n \n {resources.reviewTitleLabel}\n {reviewModal.titleInput}\n \n \n {resources.reviewTextLabel}\n {reviewModal.textInput}\n \n {reviewModal.privacyPolicyUrl}\n {reviewModal.error}\n
\n
\n \n {reviewModal.submitButton}\n {reviewModal.cancelButton}\n \n
\n );\n};\n\n/**\n * Build Review modal.\n * @param props - Review modal ViewProps.\n * @param state - Review List State.\n * @returns JSX Element.\n */\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\n return (\n \n {state.reported ? props.headerSubmitted : props.header}\n \n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\n \n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\n \n );\n};\n\n/**\n * ReviewsList view.\n * @param props - Ratings ReviewsList ViewProps.\n * @returns ReviewsList view module.\n */\nconst ReviewsListview: React.FC> = props => {\n const {\n filterByDropdown,\n heading,\n moduleProps,\n noReviewsMessage,\n noReviewsWithFilterMessage,\n pageControls,\n refineReviewsProps,\n reportReviewModal,\n reviewsListProps,\n reviewCards,\n sortByDropdown,\n state,\n userReview,\n resources\n } = props;\n\n if (!userReview && !ArrayExtensions.hasElements(reviewCards) && !state.isFilterApplied) {\n return {noReviewsMessage};\n }\n\n return (\n \n {heading}\n \n {sortByDropdown}\n {filterByDropdown}\n \n \n {userReview && buildReviewCard(userReview, resources, true)}\n {reviewCards.map(review => {\n return buildReviewCard(review, resources, false);\n })}\n \n {!ArrayExtensions.hasElements(reviewCards) && state.isFilterApplied && noReviewsWithFilterMessage}\n {pageControls}\n {createReviewModal(props)}\n {createReportModal(reportReviewModal, state)}\n \n );\n};\n\nexport default ReviewsListview;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n"],"names":["AccountPreferencesSection","_ref","accountPreferences","heading","personalization","extraPreferences","React","Node","Object","assign","AccountPreferenceSection","map","preferenceSecton","index","key","_ref2","accountPreference","description","buttonWrapper","buttonYesText","button","buttonNoText","AccountProfileSection","_ref3","AccountProfileItem","links","props","AccountProfile","infoMessageBar","accountProfileWrapper","emailSection","nameSection","preferenceSection","customerAttributesWrapper","customerAttributesSection","config","showPreferences","hidePreferences","Module","FooterItemView","render","FooterItem","this","_renderElement","HeadingContainer","Link","linkText","image","text","EditableLink","AccordionItem","constructor","super","moduleClassName","handleHeadingChange","event","accordionItemTitle","target","value","_onToggle","bind","telemetryContent","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","shouldComponentUpdate","nextProps","data","slots","renderView","accordionExpandedStateResult","accordionExpandedState","result","expanded","undefined","isAllExpanded","isExpandedOnInitialLoad","_objectSpread","AccordionItemContainer","moduleProps","className","classnames","AccordionItemContent","drawer","tag","ControlledDrawer","toggleButtonText","collapseProps","isOpen","onToggle","onTextChange","requestContext","accordionSlots","state","interactionStyle","accordionState","actionContext","update","createAccordionStateInput","__decorate","observer","_renderAccordionItemContent","items","length","item","accordionItemContent","Accordion","expandAllButtonRef","collapseAllButtonRef","_onExpandAll","_onCollapseAll","payLoad","getPayloadObject","isDisabled","headingComponent","Msdyn365","editProps","onEdit","accordionViewProps","AccordionContainer","HeaderSection","HeadingWrapper","accordianButtonsContainer","accordionButtons","_renderAccordionButton","accordionItemContainer","accordionItems","_getAccordionItem","resources","contentAction","etext","TelemetryConstant","ExpandAll","attributeExpandAll","getTelemetryAttributes","CollapseAll","attributeCollapseAll","showToggleAll","disabled","expandAllText","onClick","ref","toggleAllSeparator","collapseAllText","error","setState","setTimeout","_this$collapseAllButt","current","focus","_this$expandAllButton","aadGeneric","aadConainer","aadAPIConainer","AccountInvoiceTile","OrganizationUsersTile","CatalogPicker","handleTextChange","handleParagraphChange","paragraph","_heading$tag","_this$props$data$cata","catalogPickerHeading","Text","_moduleClassName","isCatalogsAvailable","ArrayExtensions","hasElements","catalogs","catalogPickerParagraph","RichTextComponent","catalogValidationText","viewProps","handleText","catalogPicker","_renderCatalogPicker","_renderCatalogPickerButton","catalogId","RecordId","getCatalogId","currentCatalogText","linkToCatalog","isBrowser","_getUrlSync","catalogUrl","getUrlSync","fullUrl","URL","window","location","href","searchParams","set","Button","changeCatalogButtonText","_this$props$data$cata2","role","reactKey","JSON","stringify","String","firstOrDefault","Images","tabIndex","Name","Image","src","generateImageUrl","apiSettings","Uri","gridSettings","imageSettings","galleryImageSettings","altText","AltText","loadFailureBehavior","CatalogPickerViewFunctionComponent","assembleNode","itemIndex","_item$links","renderHeading","additionalContentHeading","handleAdditionalTextChange","subtext","renderParagraph","additionalContentParagraphText","ctaLink","renderLinks","linkIndex","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","link","handleAdditionalLinkTextChange","additionalContentItemContainer","additionalContentItemLinks","contentBlockAdditionalContent","additionalContent","reactNodes","push","additionalContentNode","additionalContentItems","ContentCardLinks","_mapEditableLinks","linkdata","editableLinks","forEach","attributes","btnClass","additionalProperties","onTelemetryClick","ContentBlock","handleLinkTextChange","Number","_this$props$context$r","_this$props$config$im","imageAriaLabel","contentBlockTitle","contentBlockLinks","LinksComponent","msdyn365__moduleLayout","contentBlockText","contentBlockImageSettings","backgroundColor","imageProps","contentBlockImage","preserveImageSpace","moduleType","typeName","imagePropertyName","moduleId","id","layout","shouldSkipToMainImage","contentBlockContainerStyle","contentBlockviewProps","title","moduleClass","contentBlockContainer","style","imageContainer","detailsContainer","contentBlockAnchorTag","imageLink","_getImageLink","handleAdditionalParagraphChange","handleAdditionalText","handleAdditionalParagraph","additionalContentObject","actionableRegion","renderAdditionalContent","_additionalContent$ad","footerItemClassName","_createHeading","_createImageMarkup","_createText","_createLinkText","_createLink","ItemContainer","ariaHiddenAttr","viewports","xs","q","w","h","lg","lazyload","InteractiveFeatureCollection","_telemetryContent","itemsCounter","keyIndex","indexItem","itemCounter","isMosaic","_this$props$config$cl","_title$tag","interactiveItems","interactiveFeatureItems","itemsFeatureCounter","singleSlideCarouselComponentProps","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","parentId","vertical","createHeading","interactiveFeatureCollectionHeading","interactiveFeatureCollectionContainer","interactiveFeatureCollectionDesktopContainer","interactiveFeatureCollectionMobileContainer","singleSlideCarouselItemContainer","interactiveFeatureCollectionMobileItems","interactiveFeatureCollectionDesktopItems","_getFeatureItem","interactiveFeatureCollectionView","tileItem","componentClassName","buttonClassName","buttonActiveClassName","buttonInactiveClassName","OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState","OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent","msdyn365Commerce","createComponent","component","_props$resources$curr","_props$resources","_props$resources$curr2","_props$resources2","_props$resources$curr3","_props$resources3","_props$resources4","_props$resources$curr4","_props$resources5","_props$resources6","_props$resources7","_props$resources$orga","_props$resources8","_props$resources9","_props$resources$orga2","_props$resources10","_props$resources11","_props$resources12","customer","IsB2bAdmin","selectorState","setSelectorState","currentSelectorState","onClickHandler","newSelectorState","onChange","currentUserOrderHistoryAttributes","currentUserOptionLabel","orgWideOrderHistoryAttributes","CurrentUser","currentUserOptionAriaLabel","OrganizationWide","organizationWideOptionAriaLabel","organizationWideOptionLabel","ProductSpecificationTableRow","productName","cellData","scope","dangerouslySetInnerHTML","getRichTextHtml","ProductSpecification","_toggle","drawerListId","isDrawerOpen","isAdditionalMediaDrawerOpen","validateCatalogId","reaction","product","actionInput","AttributesForSelectedVariantInput","channelId","getAttributesForSelectedVariant","catch","message","debug","nextState","productSpecificationData","isAccrodion","displayStyle","ProductSpecificationTableProps","ProductSpecificationTableBodyProps","productSpecificationResult","_createDrawerBody","_createTableBody","content","_this$props$data$addi","tableRows","_renderProductCell","app","OmniChannelMedia","additionalMediaLocations","_createAdditionalMediaDrawer","_this$props$context$r2","_this$props$data$addi2","drawers","_product$Name","Drawer","timeout","openGlyph","closeGlyph","glyphPlacement","additionalDownloadsText","prevState","mediaLocation","download","DataTypeValue","_renderCurrencyCell","_renderDateTimeCell","_renderDecimalCell","_renderIntegerCell","_renderTextCell","_renderTrueFalseCell","warning","CurrencyValue","CurrencyCode","_product$DateTimeOffs","DateTimeOffsetValue","toUTCString","IntegerValue","FloatValue","TextValue","BooleanValue","trueValueText","falseValueText","decorators","desc","d","c","arguments","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","rowdata","filter","row","ObjectExtensions","isNullOrUndefined","SitePicker","_cookieName","_cookieExpirationInSeconds","_escFunction","keyCode","expandSiteOptions","KeyCodes","Escape","_this$_sitePickerMenu","_this$_sitePickerMenu2","nextFocus","document","activeElement","_this$_sitePickerMenu3","_sitePickerMenuButton","contains","_sitePickerMenuNode","_resetSiteOptionsState","Tab","_this$_sitePickerMenu4","_this$_sitePickerMenu5","_handleOutsideClick","_this$_sitePickerMenu6","_this$_sitePickerMenu7","_handleChange","_renderSiteOptions","_updateViewport","viewport","device","Type","isMobile","componentDidMount","_document","_document2","MsDyn365","addEventListener","body","resizeThrottledEventHandler","addThrottledEvent","componentWillUnmount","_document3","_document4","removeEventListener","_this$props$config$he","_this$props$config$he2","SitePickerMenu","SitePickerMenuSpan","SitePickerMenuList","SitePickerMenuListItem","SitePickerMobileContainer","isMobileView","SitePickerMenuListItemArray","_renderSitePickerImage","renderSiteOptions","resetSiteOptionsState","siteOptionsState","expandSiteOptionsState","e","preventDefault","currentTarget","cookies","isConsentGiven","cookieConfig","maxAge","defaultImageSettings","sm","md","xl","siteOptions","_image$imageSettings","_item$siteRedirectUrl","siteImage","siteRedirectUrl","siteName","_getViewport","innerWidth","observable","computed","_renderSitePicker","_renderSiteOptionsList","options","onMouseLeave","_props$SitePickerMenu","_renderMobileView","_props$config$heading","_renderDesktopView","SocialShare","socialShareItems","params","isEditor","viewprops","SocialShareList","caption","orientation","SocialShareItem","SocialShareItemElements","SocialShareView","SocialShareElement","TabItemType","TabItem","moduleContentClassName","moduleHeaderClassName","_renderTabHeader","isSelected","contentID","getContentID","tabId","activeContentIDResult","activeTabState","shown","activeContentIndex","TabContentContainer","TabHeaderContainer","TabItemContent","tabHeader","tabSlots","tabItemTitle","_renderTabItemContent","tabItemType","TabContent","tabItemContent","TabHeader","tabIndexQuery","_refHandler","activeLink","_onClick","createTabStateInput","currentTabIndex","newUrl","_setGetParameter","history","pushState","path","_onKeyDown","slotLength","tabItems","defaultTabIndex","initialIndex","queryString","query","activeTab","queryTabIndex","indexOf","arr","split","parseInt","_getTabHeader","_getTabContent","tabViewProps","TabContainer","headerSection","tabsSection","tabItemContainer","tabContents","tabHeaders","componentDidUpdate","dataActionTabId","selected","onKeyDown","paramName","paramValue","url","requestUrl","URLSearchParams","search","decodeURIComponent","toString","TileList","StringExtensions","isNullOrWhitespace","Heading","headingTag","propsCarousel","tileItemContainer","tileListContainer","tileListHeading","tiles","tileListView","SummaryForm","formProps","label","addPaymentButton","appliedLine","bottomBorder","paymentAmountInput","EditForm","inputLabel","inputAmount","customerName","customerAccountNumber","customerSince","accountCredit","alert","accountDetails","checkoutCustomerAccount","checkoutErrorRef","summaryView","editView","moduleState","isReady","buildReviewCard","isUserReview","cardProps","headerProps","rating","date","name","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","wasReviewHelpfulText","like","dislike","edit","renderProductDescription","_props$data$product$r","primaryImageSource","PrimaryImageUrl","imageUrl","cropFocalRegion","renderProductImage","ItemId","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","sortByDropdown","userReview","isFilterApplied","review","reviewModal","modal","modalHeader","modalBody","form","inputRow","selectRatingLabel","reviewTitleLabel","titleInput","reviewTextLabel","textInput","privacyPolicyUrl","modalFooter","submitButton","cancelButton","createReviewModal","createReportModal","reported","headerSubmitted","header","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton"],"sourceRoot":""}