{"version":3,"file":"static/js/8.37493591d432538b2f37.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/absolute-chart-container/absolute-chart-container.tsx?f275","webpack://Msdyn365.Commerce.Online/./src/modules/absolute-chart-container/absolute-chart-container.view.tsx?6999","webpack://Msdyn365.Commerce.Online/./src/nickComponents/container-background-image/container-background-image-helper.ts?21e3","webpack://Msdyn365.Commerce.Online/./src/nickComponents/container-background-image/container-backgroud-image.tsx?6534","webpack://Msdyn365.Commerce.Online/./src/nickComponents/base-components.tsx?08e0","webpack://Msdyn365.Commerce.Online/./src/nickComponents/classnames.ts?934b","webpack://Msdyn365.Commerce.Online/./src/modules/liquid-container/liquid-container.props.autogenerated.ts?77a6","webpack://Msdyn365.Commerce.Online/./src/modules/liquid-container/liquid-container.tsx?d4c8","webpack://Msdyn365.Commerce.Online/./src/modules/obrien-content-block-team/components/links.tsx?1720","webpack://Msdyn365.Commerce.Online/./src/modules/obrien-content-block-team/obrien-content-block-team.tsx?0462","webpack://Msdyn365.Commerce.Online/./src/modules/obrien-content-block-team/obrien-content-block-team.view.tsx?5d8e","webpack://Msdyn365.Commerce.Online/./src/modules/obrien-team-container/obrien-team-container.tsx?1a80","webpack://Msdyn365.Commerce.Online/./src/modules/obrien-team-container/obrien-team-container.view.tsx?7017","webpack://Msdyn365.Commerce.Online/./src/nickComponents/product-dimension/dropdown/dropdown.tsx?2783","webpack://Msdyn365.Commerce.Online/./src/nickComponents/product-dimension/product-dimension.component.tsx?10d0","webpack://Msdyn365.Commerce.Online/./src/themes/absoluteoutdoors/views/search.view.tsx?26e9","webpack://Msdyn365.Commerce.Online/./src/themes/obrien23/views/sign-in.view.tsx?7e50","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/components/account-invoice-tile-description.tsx?7378","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/components/account-invoice-tile-links.tsx?81f3","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/account-invoice-tile.tsx?c17e","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/account-invoice-tile.view.tsx?0a60","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/components/account-loyalty-tile-links.tsx?6c7f","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/account-loyalty-tile.tsx?7f29","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/account-loyalty-tile.view.tsx?3547","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/components/account-loyalty-tile-description.tsx?c7bb","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/components/account-order-templates-tile-description.tsx?a8c4","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/components/account-order-templates-tile-links.tsx?0bcf","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/account-order-templates-tile.tsx?4e7d","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/account-order-templates-tile.view.tsx?a1f9","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/account-profile-edit.tsx?a0b5","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/account-profile-edit.view.tsx?530d","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-button.tsx?e669","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-error.tsx?eadf","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-input.tsx?5c72","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-label.tsx?4793","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-loading-icon.tsx?fba0","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-loading-message.tsx?7cf0","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/components/account-organization-users-tile-description.tsx?3b33","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/components/account-organization-users-tile-links.tsx?f1c7","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.tsx?f5de","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.view.tsx?bac2","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-button.tsx?a869","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-error.tsx?fbfd","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-input.tsx?20d9","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-label.tsx?6ef1","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-loading-icon.tsx?8828","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-loading-message.tsx?a980","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/password-reset.tsx?0983","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/password-reset.view.tsx?b341","webpack://Msdyn365.Commerce.Online/./src/modules/catalog-picker/catalog-picker.tsx?02aa","webpack://Msdyn365.Commerce.Online/./src/modules/catalog-picker/catalog-picker.view.tsx?1e13","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/components/additional-content.tsx?d5f9","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/components/links.tsx?abbf","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/content-block.tsx?3084","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/content-block.view.tsx?1773","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/order-history.view.tsx?a21d","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/reviews-list.view.tsx?cd2e","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/utilities/order-lookup-utility.tsx?c60b","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/components/order-lookup-additional-fields.tsx?9951","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/components/order-lookup-fields.tsx?297b","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/order-lookup.tsx?72d3","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/order-lookup.view.tsx?b8e5","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison-button/product-comparison-button.tsx?9384","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison-button/product-comparison-button.view.tsx?94a7","webpack://Msdyn365.Commerce.Online/./src/modules/site-picker/site-picker.tsx?b9ec","webpack://Msdyn365.Commerce.Online/./src/modules/site-picker/site-picker.view.tsx?5319","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.tsx?899b","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.view.tsx?dcdf","webpack://Msdyn365.Commerce.Online/./src/modules/tile-list/tile-list.tsx?78cb","webpack://Msdyn365.Commerce.Online/./src/modules/tile-list/tile-list.view.tsx?1b00","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/order-history.view.tsx?692d","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.categorysuggest.tsx?6bcf","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.mobile.empty.tsx?ff32","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.form.tsx?d41a","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.keywordsuggest.tsx?2724","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.productsuggest.tsx?6616","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/search.view.tsx?bfa7"],"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 { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { IAbsoluteChartContainerConfig, IAbsoluteChartContainerProps } from './absolute-chart-container.props.autogenerated';\r\n\r\n\r\nexport interface IAbsoluteChartContainerViewProps extends IAbsoluteChartContainerProps {\r\n row1categories?: React.ReactNode[];\r\n Row1List: IModuleProps;\r\n Row1ListItem: INodeProps;\r\n row2categories?: React.ReactNode[];\r\n Row2List: IModuleProps;\r\n Row2ListItem: INodeProps;\r\n row3categories?: React.ReactNode[];\r\n Row3List: IModuleProps;\r\n Row3ListItem: INodeProps;\r\n row4categories?: React.ReactNode[];\r\n Row4List: IModuleProps;\r\n Row4ListItem: INodeProps;\r\n row5categories?: React.ReactNode[];\r\n Row5List: IModuleProps;\r\n Row5ListItem: INodeProps;\r\n row6categories?: React.ReactNode[];\r\n Row6List: IModuleProps;\r\n Row6ListItem: INodeProps;\r\n row7categories?: React.ReactNode[];\r\n Row7List: IModuleProps;\r\n Row7ListItem: INodeProps;\r\n row8categories?: React.ReactNode[];\r\n Row8List: IModuleProps;\r\n Row8ListItem: INodeProps;\r\n row9categories?: React.ReactNode[];\r\n Row9List: IModuleProps;\r\n Row9ListItem: INodeProps;\r\n row10categories?: React.ReactNode[];\r\n Row10List: IModuleProps;\r\n Row10ListItem: INodeProps;\r\n columnHeading1: string;\r\n columnHeading2: string;\r\n columnHeading3: string;\r\n columnHeading4: string;\r\n columnHeading5: string;\r\n \r\n \r\n}\r\n\r\n\r\n/**\r\n *\r\n * AbsoluteChartContainer component.\r\n * @extends {React.PureComponent>}\r\n */\r\n class AbsoluteChartContainer extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n const { config } = this.props;\r\n\r\n const ColumnHeading1 = config.columnHeading1 ? config.columnHeading1 : '';\r\n const ColumnHeading2 = config.columnHeading2 ? config.columnHeading2 : '';\r\n const ColumnHeading3 = config.columnHeading3 ? config.columnHeading3 : '';\r\n const ColumnHeading4 = config.columnHeading4 ? config.columnHeading4 : '';\r\n const ColumnHeading5 = config.columnHeading5 ? config.columnHeading5 : '';\r\n \r\n\r\n if (!this.props.slots || !this.props.slots.row1 || this.props.slots.row1.length === 0) {\r\n this.props.context.telemetry.error('row1 is empty, module wont render');\r\n return null;\r\n }\r\n if (!this.props.slots || !this.props.slots.row2 || this.props.slots.row2.length === 0) {\r\n this.props.context.telemetry.error('row2 is empty, module wont render');\r\n return null;\r\n }\r\n if (!this.props.slots || !this.props.slots.row3 || this.props.slots.row3.length === 0) {\r\n this.props.context.telemetry.error('row3 is empty, module wont render');\r\n return null;\r\n }\r\n if (!this.props.slots || !this.props.slots.row4 || this.props.slots.row4.length === 0) {\r\n this.props.context.telemetry.error('row4 is empty, module wont render');\r\n return null;\r\n }\r\n if (!this.props.slots || !this.props.slots.row5 || this.props.slots.row5.length === 0) {\r\n this.props.context.telemetry.error('row5 is empty, module wont render');\r\n return null;\r\n }\r\n if (!this.props.slots || !this.props.slots.row6 || this.props.slots.row6.length === 0) {\r\n this.props.context.telemetry.error('row6 is empty, module wont render');\r\n return null;\r\n }\r\n if (!this.props.slots || !this.props.slots.row7 || this.props.slots.row7.length === 0) {\r\n this.props.context.telemetry.error('row7 is empty, module wont render');\r\n return null;\r\n }\r\n if (!this.props.slots || !this.props.slots.row8 || this.props.slots.row8.length === 0) {\r\n this.props.context.telemetry.error('row8 is empty, module wont render');\r\n return null;\r\n }\r\n if (!this.props.slots || !this.props.slots.row9 || this.props.slots.row9.length === 0) {\r\n this.props.context.telemetry.error('row9 is empty, module wont render');\r\n return null;\r\n }\r\n if (!this.props.slots || !this.props.slots.row10 || this.props.slots.row10.length === 0) {\r\n this.props.context.telemetry.error('row10 is empty, module wont render');\r\n return null;\r\n }\r\n\r\n\r\n const viewprops = {\r\n ...this.props,\r\n\r\n columnHeading1: ColumnHeading1,\r\n columnHeading2: ColumnHeading2,\r\n columnHeading3: ColumnHeading3,\r\n columnHeading4: ColumnHeading4,\r\n columnHeading5: ColumnHeading5,\r\n \r\n row1categories: this.props.slots.row1,\r\n Row1List: {\r\n moduleProps: this.props,\r\n className: classnames('table-row', this.props.config.className),\r\n tag: 'tr'\r\n },\r\n Row1ListItem: {\r\n className: classnames('table-row-column', this.props.config.className),\r\n tag: 'td'\r\n },\r\n row2categories: this.props.slots.row2,\r\n Row2List: {\r\n moduleProps: this.props,\r\n className: classnames('table-row', this.props.config.className),\r\n tag: 'tr'\r\n },\r\n Row2ListItem: {\r\n className: classnames('table-row-column', this.props.config.className),\r\n tag: 'td'\r\n },\r\n row3categories: this.props.slots.row3,\r\n Row3List: {\r\n moduleProps: this.props,\r\n className: classnames('table-row', this.props.config.className),\r\n tag: 'tr'\r\n },\r\n Row3ListItem: {\r\n className: classnames('table-row-column', this.props.config.className),\r\n tag: 'td'\r\n },\r\n row4categories: this.props.slots.row4,\r\n Row4List: {\r\n moduleProps: this.props,\r\n className: classnames('table-row', this.props.config.className),\r\n tag: 'tr'\r\n },\r\n Row4ListItem: {\r\n className: classnames('table-row-column', this.props.config.className),\r\n tag: 'td'\r\n },\r\n row5categories: this.props.slots.row5,\r\n Row5List: {\r\n moduleProps: this.props,\r\n className: classnames('table-row', this.props.config.className),\r\n tag: 'tr'\r\n },\r\n Row5ListItem: {\r\n className: classnames('table-row-column', this.props.config.className),\r\n tag: 'td'\r\n },\r\n row6categories: this.props.slots.row6,\r\n Row6List: {\r\n moduleProps: this.props,\r\n className: classnames('table-row', this.props.config.className),\r\n tag: 'tr'\r\n },\r\n Row6ListItem: {\r\n className: classnames('table-row-column', this.props.config.className),\r\n tag: 'td'\r\n },\r\n row7categories: this.props.slots.row7,\r\n Row7List: {\r\n moduleProps: this.props,\r\n className: classnames('table-row', this.props.config.className),\r\n tag: 'tr'\r\n },\r\n Row7ListItem: {\r\n className: classnames('table-row-column', this.props.config.className),\r\n tag: 'td'\r\n },\r\n row8categories: this.props.slots.row8,\r\n Row8List: {\r\n moduleProps: this.props,\r\n className: classnames('table-row', this.props.config.className),\r\n tag: 'tr'\r\n },\r\n Row8ListItem: {\r\n className: classnames('table-row-column', this.props.config.className),\r\n tag: 'td'\r\n },\r\n row9categories: this.props.slots.row9,\r\n Row9List: {\r\n moduleProps: this.props,\r\n className: classnames('table-row', this.props.config.className),\r\n tag: 'tr'\r\n },\r\n Row9ListItem: {\r\n className: classnames('table-row-column', this.props.config.className),\r\n tag: 'td'\r\n },\r\n row10categories: this.props.slots.row10,\r\n Row10List: {\r\n moduleProps: this.props,\r\n className: classnames('table-row', this.props.config.className),\r\n tag: 'tr'\r\n },\r\n Row10ListItem: {\r\n className: classnames('table-row-column', this.props.config.className),\r\n tag: 'td'\r\n }\r\n \r\n };\r\n\r\n return this.props.renderView(viewprops) as React.ReactElement;\r\n \r\n }\r\n}\r\n\r\nexport default AbsoluteChartContainer;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React, { ReactNode } from 'react';\r\n\r\nimport { IAbsoluteChartContainerViewProps } from './absolute-chart-container';\r\n\r\n\r\n\r\n\r\nexport const AbsoluteChartContainerView: React.FC = props => {\r\n\r\n const { \r\n row1categories,\r\n Row1List,\r\n Row1ListItem,\r\n row2categories,\r\n Row2List,\r\n Row2ListItem,\r\n row3categories,\r\n Row3List,\r\n Row3ListItem,\r\n row4categories,\r\n Row4List,\r\n Row4ListItem,\r\n row5categories,\r\n Row5List,\r\n Row5ListItem,\r\n row6categories,\r\n Row6List,\r\n Row6ListItem,\r\n row7categories,\r\n Row7List,\r\n Row7ListItem,\r\n row8categories,\r\n Row8List,\r\n Row8ListItem,\r\n row9categories,\r\n Row9List,\r\n Row9ListItem,\r\n row10categories,\r\n Row10List,\r\n Row10ListItem,\r\n columnHeading1,\r\n columnHeading2,\r\n columnHeading3,\r\n columnHeading4,\r\n columnHeading5\r\n \r\n } = props;\r\n\r\n \r\n \r\n\r\n\r\n \r\n return (\r\n \r\n \r\n {columnHeading1 ? (\r\n \r\n ) : null}\r\n {columnHeading2 ? (\r\n \r\n ) : null}\r\n {columnHeading3 ? (\r\n \r\n ) : null}\r\n {columnHeading4 ? (\r\n \r\n ) : null}\r\n {columnHeading5 ? (\r\n \r\n ) : null}\r\n \r\n\r\n {row1categories ? (\r\n \r\n { row1categories.map((row1category: ReactNode, index: number) => {\r\n return (\r\n \r\n {row1category}\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n {row2categories ? (\r\n \r\n { row2categories.map((row2category: ReactNode, index: number) => {\r\n return (\r\n \r\n {row2category}\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n {row3categories ? (\r\n \r\n { row3categories.map((row3category: ReactNode, index: number) => {\r\n return (\r\n \r\n {row3category}\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n {row4categories ? (\r\n \r\n { row4categories.map((row4category: ReactNode, index: number) => {\r\n return (\r\n \r\n {row4category}\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n {row5categories ? (\r\n \r\n { row5categories.map((row5category: ReactNode, index: number) => {\r\n return (\r\n \r\n {row5category}\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n {row6categories ? (\r\n \r\n { row6categories.map((row6category: ReactNode, index: number) => {\r\n return (\r\n \r\n {row6category}\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n {row7categories ? (\r\n \r\n { row7categories.map((row7category: ReactNode, index: number) => {\r\n return (\r\n \r\n {row7category}\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n {row8categories ? (\r\n \r\n { row8categories.map((row8category: ReactNode, index: number) => {\r\n return (\r\n \r\n {row8category}\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n {row9categories ? (\r\n \r\n { row9categories.map((row9category: ReactNode, index: number) => {\r\n return (\r\n \r\n {row9category}\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n {row10categories ? (\r\n \r\n { row10categories.map((row10category: ReactNode, index: number) => {\r\n return (\r\n \r\n {row10category}\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n \r\n
\r\n {columnHeading1}\r\n \r\n {columnHeading2}\r\n \r\n {columnHeading3}\r\n \r\n {columnHeading4}\r\n \r\n {columnHeading5}\r\n
\r\n\r\n );\r\n};\r\n\r\nexport default AbsoluteChartContainerView;\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 msdyn365Commerce, {\r\n constructViewportInformationForImage,\r\n getImageResizeUrl,\r\n getLargestGridSettingViewportName,\r\n getMinMaxWidth,\r\n IAny,\r\n IGeneric,\r\n IViewPort,\r\n Viewport\r\n} from '@msdyn365-commerce/core-internal';\r\nimport { cloneDeep as _cloneDeep } from 'lodash';\r\nimport {\r\n BackgroundImageRepeat,\r\n BackgroundImageSize,\r\n IBackgroundImageAttributes,\r\n IBackgroundImageLazyloadAttributes,\r\n IBackgroundImageProps,\r\n IBackgroundImageStyle\r\n} from './container-background-image-interfaces';\r\n\r\nconst getBackgroundRepeatProperty = (size: string | undefined, repeat: string | undefined): BackgroundImageRepeat => {\r\n if (!size || size === 'cover') {\r\n return 'no-repeat';\r\n }\r\n switch (repeat) {\r\n case 'noRepeat':\r\n return 'no-repeat';\r\n case 'repeat':\r\n return 'repeat';\r\n default:\r\n return 'no-repeat';\r\n }\r\n};\r\n\r\nconst getBackgroundSizeProperty = (size: string | undefined): BackgroundImageSize => {\r\n switch (size) {\r\n case 'cover':\r\n return 'cover';\r\n case 'contain':\r\n return 'contain';\r\n case 'default':\r\n default:\r\n return undefined;\r\n }\r\n};\r\n\r\nconst getDefaultViewports = (): IViewPort => {\r\n return {\r\n xs: {\r\n w: 800,\r\n h: 600\r\n },\r\n sm: {\r\n w: 1200,\r\n h: 900\r\n },\r\n md: {\r\n w: 1600,\r\n h: 900\r\n },\r\n lg: {\r\n w: 1600,\r\n h: 700\r\n },\r\n xl: {\r\n w: 1600,\r\n h: 700\r\n }\r\n };\r\n};\r\n\r\nconst getAuthoringViewport = (moduleName: string | undefined, layout: string | undefined): IViewPort | undefined => {\r\n if (!msdyn365Commerce.isBrowser) {\r\n return;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const authoringHelper = (window as any)._msdyn365.authoringHelper;\r\n if (!authoringHelper) {\r\n return;\r\n }\r\n\r\n // if authoring helper is setup, component is rendering from site builder. Build viewport based on layout selected.\r\n return constructViewportInformationForImage(moduleName, layout, 'backgroundImage', authoringHelper?.themeSettings) as IViewPort;\r\n};\r\n\r\nexport const buildBackgroundImageStylesByViewport = (props: IBackgroundImageProps): IGeneric => {\r\n const { containerType, image, request, configs } = props;\r\n\r\n const gridSettings = request.gridSettings ?? {};\r\n const imageSettings = image.imageSettings;\r\n\r\n const styles: IGeneric = {};\r\n\r\n const largestGridSettingViewportName = getLargestGridSettingViewportName(gridSettings);\r\n if (largestGridSettingViewportName && imageSettings) {\r\n // in site builder the layout may change, so use authoring viewports.\r\n const authoringViewPorts = getAuthoringViewport(containerType, configs?.layout);\r\n const imgSettings = {\r\n ...imageSettings,\r\n viewports: { ..._cloneDeep(authoringViewPorts || imageSettings.viewports || getDefaultViewports()) }\r\n };\r\n\r\n // Skip resizing width and height for background images.\r\n const skipWidthAndHeightSettings = true;\r\n Object.keys(imgSettings.viewports).map(vp => {\r\n const viewport = vp as Viewport;\r\n const minMaxWidth = getMinMaxWidth(gridSettings, imgSettings, viewport, largestGridSettingViewportName);\r\n const urlSrc = getImageResizeUrl(\r\n image.src,\r\n imgSettings.viewports[viewport],\r\n imgSettings,\r\n skipWidthAndHeightSettings,\r\n image?.externalProvider,\r\n request?.apiSettings\r\n );\r\n styles[viewport] = {\r\n maxWidth: minMaxWidth.max,\r\n minWidth: minMaxWidth.min,\r\n minHeight: imgSettings.viewports[viewport]?.h,\r\n backgroundImage: urlSrc,\r\n backgroundRepeat: getBackgroundRepeatProperty(configs?.size, configs?.repeat),\r\n backgroundSize: getBackgroundSizeProperty(configs?.size),\r\n backgroundPosition: 'center center'\r\n };\r\n });\r\n }\r\n\r\n return styles;\r\n};\r\n\r\nexport const setStyleAttribute = (currentStyle: IBackgroundImageStyle): IGeneric => {\r\n let style: IGeneric = {};\r\n if (currentStyle) {\r\n style = { ...currentStyle };\r\n style['minWidth'] = undefined;\r\n style['width'] = '100%';\r\n if (currentStyle.backgroundImage) {\r\n style['backgroundImage'] = `url('${currentStyle.backgroundImage}')`;\r\n }\r\n }\r\n return style;\r\n};\r\n\r\nexport const getBackgroundImageLazyloadAttributes = (\r\n className: string,\r\n currentStyle: IBackgroundImageStyle | undefined,\r\n styles: IGeneric\r\n): IBackgroundImageLazyloadAttributes => {\r\n const attributes = {\r\n role: 'img',\r\n className: `${className} lazyload`,\r\n 'data-bgset': getDataBgSetAttribute(styles)\r\n };\r\n\r\n if (currentStyle) {\r\n attributes['style'] = setStyleAttribute(currentStyle);\r\n // On lazyload, lazysizes plugin should pick which background image to use based on data-bgset attribute.\r\n attributes['style']['backgroundImage'] = undefined;\r\n }\r\n return attributes;\r\n};\r\n\r\nexport const getBackgroundImageAttributes = (\r\n className: string,\r\n currentStyle: IBackgroundImageStyle | undefined\r\n): IBackgroundImageAttributes => {\r\n const attributes = {\r\n role: 'img',\r\n className\r\n };\r\n\r\n if (currentStyle) {\r\n attributes['style'] = setStyleAttribute(currentStyle);\r\n }\r\n return attributes;\r\n};\r\n\r\nexport const getBgSetMinMaxWidthAttribute = (style: IBackgroundImageStyle): string => {\r\n if (style.maxWidth) {\r\n return `[(max-width: ${style.maxWidth}px)]`;\r\n }\r\n return '';\r\n};\r\n\r\nexport const getDataBgSetAttribute = (styles: IGeneric): string => {\r\n const dataBgSetAttributes: string[] = [];\r\n Object.keys(styles).map(vp => {\r\n if (styles[vp].backgroundImage) {\r\n dataBgSetAttributes.push(`${styles[vp].backgroundImage} ${getBgSetMinMaxWidthAttribute(styles[vp])}`);\r\n }\r\n });\r\n\r\n return dataBgSetAttributes.join(' | ');\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport msdyn365Commerce, { getLargestGridSettingViewportName, IGeneric, isAuthoringEditEnabled } from '@msdyn365-commerce/core-internal';\r\nimport * as React from 'react';\r\nimport { isEqual as _isEqual } from 'lodash';\r\nimport {\r\n buildBackgroundImageStylesByViewport,\r\n getBackgroundImageAttributes,\r\n getBackgroundImageLazyloadAttributes\r\n} from './container-background-image-helper';\r\nimport {\r\n IBackgroundImageAttributes,\r\n IBackgroundImageProps,\r\n IBackgroundImageState,\r\n IBackgroundImageStyle\r\n} from './container-background-image-interfaces';\r\n\r\nconst BACKGROUND_IMAGE_CLASS_NAME = 'ms-container-background-image';\r\n\r\n/**\r\n * BackgroundImage component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class BackgroundImage extends React.PureComponent {\r\n private stylesByViewport: IGeneric;\r\n private currentStyle: IBackgroundImageStyle | undefined;\r\n private mounted: boolean;\r\n\r\n constructor(props: IBackgroundImageProps, state: IBackgroundImageState) {\r\n super(props);\r\n this.stylesByViewport = buildBackgroundImageStylesByViewport(this.props);\r\n this._onChangeHandler = this._onChangeHandler.bind(this);\r\n this.currentStyle = this._getCurrentStyle();\r\n this.mounted = false;\r\n this._componentResize = this._componentResize.bind(this);\r\n this._getCurrentStyle = this._getCurrentStyle.bind(this);\r\n this.state = { updateAttributes: false };\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (msdyn365Commerce.isBrowser) {\r\n window.addEventListener('resize', this._componentResize);\r\n this.mounted = true;\r\n this._componentResize();\r\n }\r\n }\r\n\r\n public componentWillUnmount(): void {\r\n if (msdyn365Commerce.isBrowser) {\r\n window.removeEventListener('resize', this._componentResize);\r\n this.mounted = false;\r\n }\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: IBackgroundImageProps, nextState: { updateAttributes: boolean }): boolean {\r\n if (\r\n this.state !== nextState ||\r\n this.props.request?.gridSettings !== nextProps.request?.gridSettings ||\r\n this.props.configs.repeat !== nextProps.configs.repeat ||\r\n this.props.configs.size !== nextProps.configs.size ||\r\n this.props.configs.layout !== nextProps.configs.layout ||\r\n this.props.image?.imageSettings !== nextProps.image?.imageSettings ||\r\n this.props.image?.src !== nextProps.image?.src\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { children } = this.props;\r\n\r\n try {\r\n this.stylesByViewport = buildBackgroundImageStylesByViewport(this.props);\r\n this.currentStyle = this._getCurrentStyle();\r\n\r\n if (this.currentStyle) {\r\n const backgroundImageClassName = isAuthoringEditEnabled(this.props.request)\r\n ? `${BACKGROUND_IMAGE_CLASS_NAME} ms-editable-field enabled`\r\n : BACKGROUND_IMAGE_CLASS_NAME;\r\n const processedAtributes = this._processAttributes(\r\n backgroundImageClassName,\r\n this.currentStyle,\r\n this.stylesByViewport,\r\n this._isLazyload()\r\n );\r\n const attributes = this._getAttributes(processedAtributes);\r\n const eventHandlers = isAuthoringEditEnabled(this.props.request) ? { onDoubleClick: this._onChangeHandler } : {};\r\n\r\n if (this.state.updateAttributes) {\r\n // Update component with the latest attributes.\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n } else if (this._isLazyload()) {\r\n // On lazyload, only include the class name on the first render.\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n } else {\r\n // On lazyload disabled, render the default attributes from server side.\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n }\r\n } else {\r\n // in no style is found, return the container content.\r\n return <>{children};\r\n }\r\n } catch {\r\n // in case of any failure, return the container content.\r\n return <>{children};\r\n }\r\n }\r\n\r\n private _processAttributes(\r\n className: string,\r\n currentStyle: IBackgroundImageStyle,\r\n stylesByViewport: IGeneric,\r\n lazyLoad: boolean\r\n ) {\r\n if (lazyLoad) {\r\n return getBackgroundImageLazyloadAttributes(className, currentStyle, stylesByViewport);\r\n } else {\r\n return getBackgroundImageAttributes(className, currentStyle);\r\n }\r\n }\r\n\r\n private _getAttributes(processedAtributes: IBackgroundImageAttributes) {\r\n return { ...processedAtributes, style: { ...processedAtributes?.style } };\r\n }\r\n\r\n private _onChangeHandler(event: React.SyntheticEvent | { target: { value: string } }): void {\r\n if (event.target === (event as React.SyntheticEvent).currentTarget) {\r\n const binding: any = this.props.image;\r\n const eventTarget: any = event.target;\r\n binding.$type = eventTarget.value;\r\n }\r\n }\r\n\r\n private _componentResize(): void {\r\n if (msdyn365Commerce.isBrowser) {\r\n const selectedStyle = this._getCurrentStyle();\r\n\r\n if (this.mounted || (selectedStyle && !_isEqual(this.currentStyle, selectedStyle))) {\r\n this.setState({ updateAttributes: true });\r\n }\r\n }\r\n }\r\n\r\n private _getCurrentStyle(): IBackgroundImageStyle | undefined {\r\n if (msdyn365Commerce.isBrowser) {\r\n const winInnerWidth: number = window.innerWidth;\r\n let selectedStyle: IBackgroundImageStyle | undefined;\r\n Object.keys(this.stylesByViewport).map(vp => {\r\n if (\r\n (this.stylesByViewport[vp]?.minWidth || this.stylesByViewport[vp]?.maxWidth) &&\r\n (this.stylesByViewport[vp]?.minWidth || 0) <= winInnerWidth &&\r\n winInnerWidth <= (this.stylesByViewport[vp]?.maxWidth || Number.MAX_SAFE_INTEGER)\r\n ) {\r\n selectedStyle = this.stylesByViewport[vp];\r\n }\r\n });\r\n return selectedStyle;\r\n } else {\r\n return this._getDefaultStyle();\r\n }\r\n }\r\n\r\n private _isLazyload(): boolean {\r\n // Lazyload by default if nothing is specified\r\n return !this.props.image?.imageSettings?.disableLazyLoad;\r\n }\r\n\r\n private _getDefaultStyle(): IBackgroundImageStyle | undefined {\r\n const { request } = this.props;\r\n const largestGridSettingViewportName = getLargestGridSettingViewportName(request.gridSettings ?? {});\r\n return this.stylesByViewport[largestGridSettingViewportName];\r\n }\r\n\r\n private _getDefaultAttributes(): IBackgroundImageAttributes {\r\n const style = this._getDefaultStyle();\r\n const processedAtributes = style\r\n ? this._processAttributes(BACKGROUND_IMAGE_CLASS_NAME, style, this.stylesByViewport, this._isLazyload())\r\n : {};\r\n return this._getAttributes(processedAtributes);\r\n }\r\n}\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { ContentEditableEvent, IImageData, IRequestContext, Text } from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\nimport { BackgroundImage } from './container-background-image/container-backgroud-image';\r\n\r\n/**\r\n * Heading options\r\n */\r\nexport interface IHeadingComponentProps {\r\n /**\r\n * Heading text\r\n */\r\n headingText?: string;\r\n /**\r\n * Heading tag (h1, h2, h3, h4, h5, h6)\r\n */\r\n tag?: HeadingTag;\r\n /**\r\n * Heading text size (sm, md, lg, xl)\r\n */\r\n textSize?: TextSize;\r\n\r\n requestContext: IRequestContext;\r\n\r\n handleTextChange(event: ContentEditableEvent): string;\r\n}\r\n\r\nexport type HeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\r\nexport type TextSize = 'sm' | 'md' | 'lg' | 'xl';\r\n\r\n/**\r\n * Container class options\r\n */\r\nexport interface IContainerProps {\r\n /**\r\n * CSS class name\r\n */\r\n className?: string;\r\n /**\r\n * Bootstrap supported container types\r\n */\r\n containerType?: string;\r\n /**\r\n * type name\r\n */\r\n typeName?: string;\r\n /**\r\n * id of container\r\n */\r\n id?: string;\r\n /**\r\n * React children\r\n */\r\n children: React.ReactNode;\r\n /**\r\n * Request context\r\n */\r\n request?: IRequestContext;\r\n /**\r\n * background image\r\n */\r\n backgroundImage?: IImageData;\r\n /**\r\n * background image repeat property\r\n */\r\n backgroundImageRepeat?: string;\r\n /**\r\n * background image size property\r\n */\r\n backgroundImageSize?: string;\r\n /**\r\n * module layout property\r\n */\r\n moduleLayout?: string;\r\n /**\r\n * aria label property this is a Nick modification\r\n */\r\n ariaLabel?: string;\r\n}\r\n\r\nconst getContainerType = (containerType: string | undefined) => {\r\n switch (containerType) {\r\n case 'container':\r\n return 'container';\r\n case 'fluid':\r\n default:\r\n return 'fluid';\r\n }\r\n};\r\n\r\n/**\r\n * HOC to create bootstrap container div. If no container type is specified children are rendered.\r\n * @param options IContainerClasses\r\n */\r\nexport const Container: React.SFC = (props: IContainerProps): JSX.Element => {\r\n const {\r\n containerType,\r\n className,\r\n typeName,\r\n id,\r\n children,\r\n backgroundImage,\r\n request,\r\n backgroundImageRepeat,\r\n backgroundImageSize,\r\n moduleLayout,\r\n ariaLabel\r\n } = props;\r\n const customClassName = className ? ` ${className}` : '';\r\n const customAriaLabel = ariaLabel ? ` ${ariaLabel}` : '';\r\n\r\n let containerContent = children;\r\n if (containerType) {\r\n containerContent =
{containerContent}
;\r\n }\r\n\r\n if (backgroundImage && backgroundImage.src && backgroundImage.imageSettings && request) {\r\n containerContent = (\r\n \r\n {containerContent}\r\n \r\n );\r\n }\r\n\r\n return containerType ? (\r\n
{containerContent}
\r\n ) : (\r\n
{containerContent}
\r\n );\r\n};\r\n\r\nexport const HeadingComponent = (props: IHeadingComponentProps & { className: string }): JSX.Element | null => {\r\n const { tag, headingText, textSize, className } = props;\r\n const Tag = tag || 'h2';\r\n const classNameWithHeading = textSize ? `heading ${textSize} ${className}` : `heading ${className}`;\r\n return (\r\n (headingText && (\r\n \r\n )) ||\r\n null\r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\nimport * as twoSlots from '@msdyn365-commerce-modules/core-components/src/modules/default-container-2-slots/default-container-2-slots.props.autogenerated';\r\nimport * as threeSlots from '@msdyn365-commerce-modules/core-components/src/modules/default-container-3-slots/default-container-3-slots.props.autogenerated';\r\n\r\n// eslint-disable-next-line security/detect-unsafe-regex\r\nconst sizePattern = /col(_(\\d|auto){1,2}){2,}/;\r\n\r\nexport interface IShowErrorOptions {\r\n isDebug?: boolean;\r\n isEditor?: boolean;\r\n}\r\n\r\nexport interface IViewPortOptions {\r\n xsmall?: threeSlots.xsmall | twoSlots.xsmall;\r\n small?: threeSlots.small | twoSlots.small;\r\n medium?: threeSlots.medium | twoSlots.medium;\r\n large?: threeSlots.large | twoSlots.large;\r\n}\r\n\r\nconst translatePrefix = (prefix: `large` | `medium` | `small` | `xsmall` | undefined) => {\r\n switch (prefix && prefix.toLowerCase()) {\r\n case 'large':\r\n return 'lg';\r\n case 'medium':\r\n return 'md';\r\n case 'small':\r\n return 'sm';\r\n case 'xsmall':\r\n default:\r\n return '';\r\n }\r\n};\r\n\r\n/**\r\n * converts config option and size to bootstrap col class name\r\n * If size is auto or config option is invalid col-auto will be returned\r\n * If size is xsmall or size is invalid col-{config} will be returned\r\n * @param config configuration option e.g. col_12_12\r\n * @param size bootstrap gridsize\r\n */\r\nexport const getColumnSizes = (config: string, size?: `large` | `medium` | `small` | `xsmall`): string[] | boolean => {\r\n if (!sizePattern.exec(config)) {\r\n return false;\r\n }\r\n const cols = config.split('_').slice(1);\r\n const translatedSize = translatePrefix(size);\r\n const sizePrefix = (translatedSize && `-${translatedSize}`) || '';\r\n return cols.map((colWidth: string) => `col${sizePrefix}-${colWidth}`);\r\n};\r\n\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nexport const showErrors = (context?: ICoreContext): Boolean => {\r\n const { isDebug, isEditor }: IShowErrorOptions = (context && context.request && context.request.params) || {};\r\n return !!isDebug || !!isEditor;\r\n};\r\n\r\n/**\r\n * Converts viewport configuration into a two dimensional array of class names\r\n */\r\nexport const getColClassArray = (options: IViewPortOptions): string[][] =>\r\n (\r\n [\r\n options.xsmall && getColumnSizes(options.xsmall),\r\n options.small && getColumnSizes(options.small, 'small'),\r\n options.medium && getColumnSizes(options.medium, 'medium'),\r\n options.large && getColumnSizes(options.large, 'large')\r\n ].filter(Boolean)\r\n );\r\n\r\nexport const colWidths = new Map([\r\n ['one', 'col-md-1'],\r\n ['two', 'col-md-2'],\r\n ['three', 'col-md-3'],\r\n ['four', 'col-md-4'],\r\n ['six', 'col-md-6'],\r\n ['twelve', 'col-md-12']\r\n]);\r\n","/**\r\n * Copyright (c) Microsoft Corporation\r\n * All rights reserved. See License.txt in the project root for license information.\r\n * ILiquidContainer containerModule Interface Properties\r\n * THIS FILE IS AUTO-GENERATED - MANUAL MODIFICATIONS WILL BE LOST\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nexport const enum layout {\r\n stacked = 'stacked',\r\n flow = 'flow'\r\n}\r\n\r\nexport const enum containerType {\r\n fluid = 'fluid',\r\n container = 'container'\r\n}\r\n\r\nexport const enum childrenWidth {\r\n auto = 'auto',\r\n one = 'one',\r\n two = 'two',\r\n three = 'three',\r\n four = 'four',\r\n six = 'six',\r\n twelve = 'twelve'\r\n}\r\n\r\nexport const enum backgroundImageSize {\r\n cover = 'cover',\r\n contain = 'contain',\r\n default = 'default'\r\n}\r\n\r\nexport const enum backgroundImageRepeat {\r\n repeat = 'repeat',\r\n noRepeat = 'noRepeat'\r\n}\r\n\r\nexport interface ILiquidContainerConfig extends Msdyn365.IModuleConfig {\r\n heading?: IHeadingData;\r\n layout?: layout;\r\n containerType?: containerType;\r\n clientRender?: boolean;\r\n childrenWidth?: childrenWidth;\r\n backgroundImage?: Msdyn365.IImageData;\r\n backgroundImageSize?: backgroundImageSize;\r\n className?: string;\r\n ariaLabel?: string;\r\n backgroundImageRepeat?: backgroundImageRepeat;\r\n}\r\n\r\nexport const enum HeadingTag {\r\n h1 = 'h1',\r\n h2 = 'h2',\r\n h3 = 'h3',\r\n h4 = 'h4',\r\n h5 = 'h5',\r\n h6 = 'h6'\r\n}\r\n\r\nexport interface IHeadingData {\r\n text: string;\r\n tag?: HeadingTag;\r\n}\r\n\r\nexport interface ILiquidContainerProps extends Msdyn365.IModule {\r\n config: ILiquidContainerConfig;\r\n slots: {\r\n content: React.ReactNode[];\r\n };\r\n}\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n//import { ContentEditableEvent } from '@msdyn365-commerce/core';\r\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\r\nimport * as React from 'react';\r\nimport { Container } from '../../nickComponents/base-components';\r\nimport { Heading } from '@msdyn365-commerce-modules/utilities';\r\nimport { colWidths } from '../../nickComponents/classnames';\r\nimport { ILiquidContainerData } from './liquid-container.data';\r\nimport { childrenWidth as childrenWidthEnum, ILiquidContainerProps, layout as layoutEnum } from './liquid-container.props.autogenerated';\r\n\r\n/**\r\n *\r\n * CoreComponent component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass LiquidContainer extends React.PureComponent> {\r\n constructor(props: ILiquidContainerProps) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { slots, telemetry, config } = this.props;\r\n telemetry.log(LogLevel.Debug, \"Liquid Container rendering for '{id}/{typeName}'\", {\r\n values: [this.props.id, this.props.typeName]\r\n });\r\n\r\n const { heading } = this.props.config;\r\n\r\n\r\n // // const heading = config.heading || data.heading;\r\n // const liquidTitleProps = {\r\n // ...heading,\r\n // title: liquidTitle,\r\n // };\r\n \r\n\r\n \r\n\r\n return (\r\n \r\n {heading && heading.text && }\r\n\r\n {slots &&\r\n slots.content &&\r\n slots.content.map((children: React.ReactNode, index: number) => {\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n }\r\n\r\n //public handleTextChange = (event: ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\r\n\r\n private _getChildColClassName(): string {\r\n const {\r\n config: { layout, childrenWidth }\r\n } = this.props;\r\n switch (layout) {\r\n case layoutEnum.flow:\r\n return childrenWidth === childrenWidthEnum.auto ? 'col-12 col-md' : this._getWidthClass(childrenWidth);\r\n case layoutEnum.stacked:\r\n default:\r\n return 'col-12';\r\n }\r\n }\r\n\r\n private _getWidthClass(s?: childrenWidthEnum): string {\r\n return colWidths.get(s || childrenWidthEnum.four) || 'col-12';\r\n }\r\n}\r\n\r\nexport default LiquidContainer;\r\n","import * as React from 'react';\r\nimport { ILinksData } from '../obrien-content-block-team.props.autogenerated';\r\n\r\nexport interface IContentCardLinks {\r\n links: ILinksData[];\r\n}\r\n\r\nconst ContentCardLinks: React.FC = ({ links }) => (\r\n
\r\n {links.map((cta: ILinksData, index: number) => {\r\n const btnClass = index === 0 ? 'msc-cta__primary' : 'msc-cta__secondary';\r\n return \r\n {cta.linkText}\r\n ;\r\n })}\r\n
\r\n);\r\n\r\nexport default ContentCardLinks;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { Heading, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport LinksComponent from './components/links';\r\nimport { IObrienContentBlockTeamProps} from './obrien-content-block-team.props.autogenerated';\r\n\r\nexport interface IContentBlockTeamViewProps extends IObrienContentBlockTeamProps<{}> {\r\n title?: React.ReactNode;\r\n text?: React.ReactNode;\r\n image?: React.ReactNode;\r\n links?: React.ReactNode;\r\n outboundLink?: string;\r\n className?: string;\r\n identifier?: string;\r\n contentBlockContainer: IModuleProps;\r\n imageContainer:INodeProps;\r\n detailsContainer:INodeProps;\r\n}\r\n/**\r\n *\r\n * ContentCard component\r\n * @extends {React.PureComponent}\r\n */\r\n\r\nclass ContentBlock extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n const { heading, paragraph, image, links, identifier, outboundLink, className} = this.props.config;\r\n const contentBlockTitle = heading && heading.text && ;\r\n const imageProps = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings: image && image.imageSettings\r\n };\r\n const contentBlockLinks = links && links.length > 0 && ;\r\n const contentBlockText = paragraph && ;\r\n const contentBlockImage = image && ;\r\n\r\n const OutboundLink = outboundLink ? outboundLink : '';\r\n\r\n if (!contentBlockTitle && !contentBlockText && !contentBlockImage && !contentBlockLinks) {\r\n return null;\r\n }\r\n\r\n const ContentBlockTeamviewProps = {\r\n ...this.props,\r\n title: contentBlockTitle,\r\n text: contentBlockText,\r\n image: contentBlockImage,\r\n outboundLink: OutboundLink,\r\n links: contentBlockLinks,\r\n identifier: this.props.config.identifier,\r\n moduleClass: this.props.config.className,\r\n contentBlockContainer: {\r\n moduleProps: this.props,\r\n id: identifier,\r\n className: classnames('ob-team-height', className)\r\n },\r\n imageContainer: {className: 'ob-team-img'},\r\n detailsContainer: {className: 'ob-team-title'}\r\n };\r\n\r\n return this.props.renderView(ContentBlockTeamviewProps) as React.ReactElement;\r\n }\r\n}\r\n\r\nexport default ContentBlock;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { IContentBlockTeamViewProps } from './obrien-content-block-team';\r\n\r\nconst ContentBlockTeamView: React.FC = props => {\r\n const { contentBlockContainer, imageContainer, detailsContainer, title, text, links, image, outboundLink } = props;\r\n return (\r\n \r\n \r\n {image ? (\r\n <>\r\n \r\n {outboundLink ? ( \r\n \r\n {image}\r\n \r\n ) : (\r\n <>{image}\r\n )}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {title}\r\n {text}\r\n {links}\r\n
\r\n \r\n
\r\n
\r\n \r\n ) : \r\n (\r\n
\r\n \r\n
\r\n
\r\n {title}\r\n {text}\r\n {links}\r\n
\r\n
\r\n
\r\n
\r\n ) }\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ContentBlockTeamView;\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 { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { IObrienTeamContainerConfig, IObrienTeamContainerProps } from './obrien-team-container.props.autogenerated';\r\n\r\n\r\nexport interface IObrienTeamContainerViewProps extends IObrienTeamContainerProps {\r\n row1categories?: React.ReactNode[];\r\n Row1List: IModuleProps;\r\n Row1ListItem: INodeProps;\r\n \r\n teamHeading1: string;\r\n \r\n \r\n \r\n}\r\n\r\n\r\n/**\r\n *\r\n * ObrienTeamContainer component.\r\n * @extends {React.PureComponent>}\r\n */\r\n class ObrienTeamContainer extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n const { config } = this.props;\r\n\r\n const TeamHeading1 = config.teamHeading1 ? config.teamHeading1 : '';\r\n \r\n \r\n\r\n if (!this.props.slots || !this.props.slots.row1 || this.props.slots.row1.length === 0) {\r\n this.props.context.telemetry.error('row1 is empty, module wont render');\r\n return null;\r\n }\r\n \r\n\r\n\r\n const viewprops = {\r\n ...this.props,\r\n\r\n teamHeading1: TeamHeading1,\r\n \r\n \r\n row1categories: this.props.slots.row1,\r\n Row1List: {\r\n moduleProps: this.props,\r\n className: classnames('ob-teams auto-grid', this.props.config.className),\r\n tag: 'div'\r\n },\r\n Row1ListItem: {\r\n className: classnames('ob-team', this.props.config.className),\r\n tag: 'div'\r\n },\r\n \r\n \r\n };\r\n\r\n return this.props.renderView(viewprops) as React.ReactElement;\r\n \r\n }\r\n}\r\n\r\nexport default ObrienTeamContainer;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React, { ReactNode } from 'react';\r\n\r\nimport { IObrienTeamContainerViewProps } from './obrien-team-container';\r\n\r\n\r\n\r\n\r\nexport const ObrienTeamContainerView: React.FC = props => {\r\n\r\n const { \r\n row1categories,\r\n Row1List,\r\n Row1ListItem\r\n \r\n } = props;\r\n\r\n \r\n \r\n return (\r\n \r\n <>\r\n {row1categories ? (\r\n
\r\n \r\n { row1categories.map((row1category: ReactNode, index: number) => {\r\n return (\r\n \r\n \r\n {row1category}\r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n ) : null}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ObrienTeamContainerView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { getPayloadObject, getTelemetryAttributes, IPayLoad } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IDropdownItemProps, IDropdownProps } from './dropdown.props';\r\n\r\ninterface IDropdownState {\r\n\r\n /**\r\n * @friendlyName selectedIndex\r\n * @description selected index\r\n */\r\n selectedIndex: string;\r\n}\r\n\r\n/**\r\n *\r\n * DropDown component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class Dropdown extends React.PureComponent {\r\n private readonly selectMenu: React.RefObject = React.createRef();\r\n\r\n private readonly payLoad: IPayLoad;\r\n\r\n public constructor(props: IDropdownProps) {\r\n super(props);\r\n this.state = {\r\n selectedIndex: ''\r\n };\r\n this.payLoad = getPayloadObject('click', props.telemetryContent!, this.props.dropdownName);\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (this.selectMenu.current) {\r\n this.selectMenu.current.selectedIndex = 0;\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { dropdownId, dropdownList, dropdownName, dropdownToggleName } = this.props;\r\n const attribute = getTelemetryAttributes(this.props.telemetryContent!, this.payLoad);\r\n return (\r\n \r\n \r\n {dropdownToggleName}\r\n \r\n {dropdownList.map(\r\n (item: IDropdownItemProps) => (\r\n {item.value}\r\n )\r\n )}\r\n \r\n );\r\n }\r\n\r\n private readonly _onChanged = async (event: React.ChangeEvent) => {\r\n this.setState({ selectedIndex: event.target.value });\r\n\r\n if (this.props.onChange) {\r\n await this.props.onChange({\r\n dropdownId: this.props.dropdownId,\r\n selectId: event.target.value,\r\n // eslint-disable-next-line unicorn/prefer-dom-node-text-content -- Auto-suppressed.\r\n selectedValue: event.target.innerText\r\n });\r\n }\r\n };\r\n}\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { ProductDimensionFull } from '@msdyn365-commerce/commerce-entities';\r\nimport { ICoreContext, ITelemetry } from '@msdyn365-commerce/core';\r\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { getTelemetryObject, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { Dropdown, IDropdownItemProps, IDropdownOnSelectionChangeNotification } from './dropdown';\r\nimport { IErrorState,\r\n IProductDimensionCallbacks,\r\n IProductDimensionConfigureDropdownViewProps,\r\n IProductDimensionConfigureResources,\r\n IProductDimensionConfigureViewProps } from './product-dimension-interface';\r\n\r\nlet telemetryContent: ITelemetryContent;\r\n\r\n// Quantity on change.\r\nconst onChange = async (\r\n notification: IDropdownOnSelectionChangeNotification,\r\n dimensionChanged: (newValue: number, selectedDimensionValue: string) => Promise\r\n): Promise => {\r\n await dimensionChanged(+notification.dropdownId, notification.selectId);\r\n};\r\n\r\n// This method will map all product dimension to correct value and returns respective dropdown.\r\nconst mapProductDimensionFullToDropdownViewProps =\r\n (\r\n productDimensionFull: ProductDimensionFull,\r\n moduleName: string,\r\n selectDimensionFormatString: string,\r\n resources: IProductDimensionConfigureResources,\r\n getDropdownName: (dimensionType: number, resources: IProductDimensionConfigureResources) => string,\r\n dropdownCallback: (notification: IDropdownOnSelectionChangeNotification) => Promise,\r\n configureErrors?: { [configureId: string]: string | undefined }\r\n ): IProductDimensionConfigureDropdownViewProps => {\r\n const dropdownName = getDropdownName(productDimensionFull.DimensionTypeValue, resources);\r\n const dropdownId = productDimensionFull.DimensionTypeValue.toString();\r\n const dropdownToggleName = selectDimensionFormatString.replace('{0}', dropdownName.toLocaleLowerCase());\r\n const dropdownList: IDropdownItemProps[] = productDimensionFull.DimensionValues ? productDimensionFull.DimensionValues.map(dM => {\r\n return { value: dM.Value || '', id: dM.RecordId.toString() };\r\n }) : [];\r\n const errorMessage = configureErrors ? configureErrors[dropdownId] : '';\r\n\r\n return {\r\n containerProps: {\r\n className: `${moduleName}__dropdown`\r\n },\r\n labelContainerProps: {\r\n tag: 'label',\r\n className: `${moduleName}__dropdown-quantity-label`,\r\n htmlFor: `${moduleName}__dropown-quantity-input-${dropdownId}`\r\n },\r\n errors: errorMessage && (\r\n \r\n \r\n ),\r\n heading: (\r\n
\r\n {dropdownName}\r\n
\r\n ),\r\n select: (\r\n \r\n )\r\n };\r\n };\r\n\r\nexport const getProductConfigure = (moduleName: string, context: ICoreContext, pageName: string, telemetry: ITelemetry, selectDimensionFormatString: string,\r\n resources: IProductDimensionConfigureResources,\r\n callbacks: IProductDimensionCallbacks, product?: SimpleProduct, productDimensions?: ProductDimensionFull[],\r\n configureErrors?: IErrorState): IProductDimensionConfigureViewProps | undefined => {\r\n\r\n const\r\n { getDropdownName } = callbacks;\r\n\r\n if (!product || !productDimensions) {\r\n return undefined;\r\n }\r\n\r\n const onChanged = async (notification: IDropdownOnSelectionChangeNotification) => onChange(notification, callbacks.dimensionSelectedAsync);\r\n\r\n telemetryContent = getTelemetryObject(context.request.telemetryPageName!, pageName, telemetry);\r\n\r\n if (!ArrayExtensions.hasElements(productDimensions)) {\r\n return undefined;\r\n }\r\n\r\n const dropdowns = productDimensions.map((productDimensionFull: ProductDimensionFull) => mapProductDimensionFullToDropdownViewProps(productDimensionFull,\r\n moduleName, selectDimensionFormatString, resources, getDropdownName, onChanged, configureErrors?.configureErrors));\r\n\r\n return {\r\n containerProps: {\r\n className: `${moduleName}__configure`\r\n },\r\n dropdowns\r\n };\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ISearchCategoryViewProps, ISearchFormViewProps, ISearchKeywordViewProps, ISearchProductViewProps } from '@msdyn365-commerce-modules/search/src/modules/search/./components';\r\nimport { ISearchViewProps } from '@msdyn365-commerce-modules/search/src/modules/search/./search';\r\n\r\nconst SearchView: React.FC = props => {\r\n const {\r\n Search,\r\n AutoSuggestAriaLabel,\r\n AutoSuggestAriaLabelText,\r\n searchText,\r\n AutoSuggest,\r\n KeywordSuggest,\r\n ProductSuggest,\r\n CategorySuggest,\r\n UlKeyword,\r\n UlProduct,\r\n UlCategory,\r\n form,\r\n autosuggestCategory,\r\n autosuggestKeyword,\r\n autosuggestProduct,\r\n SearchForm,\r\n FormWrapper,\r\n label\r\n } = props;\r\n\r\n return (\r\n \r\n {label}\r\n {_renderForm(form as ISearchFormViewProps, SearchForm, FormWrapper)}\r\n \r\n {searchText && searchText.length > 0 ? \r\n {AutoSuggestAriaLabelText}\r\n : ''}\r\n {_renderKeywordSuggestions(KeywordSuggest, UlKeyword, autosuggestKeyword)}\r\n {_renderProductSuggestions(ProductSuggest, UlProduct, autosuggestProduct)}\r\n {_renderCategorySuggestions(CategorySuggest, UlCategory, autosuggestCategory)}\r\n \r\n \r\n );\r\n};\r\n\r\nconst _renderForm = (form: ISearchFormViewProps, SearchForm: INodeProps, FormWrapper: INodeProps) => {\r\n return (\r\n \r\n \r\n {form.input}\r\n {form.cancelBtn}\r\n {form.submitBtn}\r\n \r\n \r\n );\r\n};\r\n\r\nconst _renderKeywordSuggestions = (\r\n KeywordSuggest: INodeProps,\r\n UlKeyword: INodeProps,\r\n keywordSuggestions?: ISearchKeywordViewProps\r\n) => {\r\n return (\r\n keywordSuggestions && (\r\n \r\n \r\n {keywordSuggestions.text.map(text => {\r\n return text;\r\n })}\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nconst _renderProductSuggestions = (\r\n ProductSuggest: INodeProps,\r\n UlProduct: INodeProps,\r\n productSuggestions?: ISearchProductViewProps\r\n) => {\r\n return (\r\n productSuggestions && (\r\n \r\n \r\n {productSuggestions.title}\r\n {productSuggestions.items.map((item, index) => {\r\n return (\r\n \r\n \r\n {item.thumbnail}\r\n {item.text}\r\n {item.price}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nconst _renderCategorySuggestions = (\r\n CategorySuggest: INodeProps,\r\n UlCategory: INodeProps,\r\n categorySuggestions?: ISearchCategoryViewProps\r\n) => {\r\n return (\r\n categorySuggestions && (\r\n \r\n \r\n {categorySuggestions.title}\r\n {categorySuggestions.text.map(text => {\r\n return text;\r\n })}\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nexport default SearchView;\r\n","import * as React from 'react';\r\n\r\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n//import SignInInputComponent from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/components/sign-in-input';\r\n\r\nimport {\r\n ISignInItem,\r\n ISignInLoading,\r\n ISignInLocalAccount,\r\n ISignInSocialAccount,\r\n ISignInSocialItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in';\r\n\r\nconst LocalAccount: React.FC = ({ localAccount, items, forgetPassword, disclaimer, error, signInButton }) => {\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignInItem) => {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.key === 'logonIdentifier' ? _renderInput(item) : item.input}\r\n \r\n );\r\n })}\r\n {forgetPassword}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n \r\n );\r\n};\r\n\r\nconst _renderInput = (item: ISignInItem): JSX.Element | undefined | null => {\r\n return (\r\n item && (\r\n \r\n )\r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({ socialAccounts, items }) => {\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({ modal, modalBody, icon, message }) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignInView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountInvoiceTileDescription {\n description: string;\n}\n\nexport const AccountInvoiceTileDescription: React.FC = ({ description }) => (\n

{description}

\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 } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-invoice-tile.props.autogenerated';\n\nexport interface IAccountInvoiceTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountInvoiceTileLinks: React.FC = ({ links, telemetryContent, requestContext, onTextChange }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-invoice-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountInvoiceTileLinks;\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 { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountInvoiceTileData } from './account-invoice-tile.data';\nimport { IAccountInvoiceTileProps } from './account-invoice-tile.props.autogenerated';\nimport { AccountInvoiceTileDescription } from './components';\nimport LinksComponent from './components/account-invoice-tile-links';\n\nexport interface IAccountInvoiceTileViewProps extends IAccountInvoiceTileProps {\n AccountInvoiceTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountInvoiceTile component.\n * @extends {React.PureComponent>}\n */\nclass AccountInvoiceTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountInvoiceTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const {\n config,\n data,\n resources,\n context: {\n cultureFormatter: {\n formatCurrency,\n\n // @ts-expect-error\n currencyCode\n }\n }\n } = this.props;\n const { className, heading, links } = config;\n const { accountInvoiceTileDescription } = resources;\n\n const openinvoiceAmount = data.customerBalance.result?.OpenInvoiceBalance || 0;\n const invoiceTotalAmount: string | undefined = formatCurrency(openinvoiceAmount.toFixed(2), currencyCode);\n\n const description = invoiceTotalAmount && format(accountInvoiceTileDescription, invoiceTotalAmount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountInvoiceTile: {\n moduleProps: this.props,\n className: classnames('ms-account-invoice-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: description && \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 handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountInvoiceTile;\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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ILinkData } from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ILinksData {\n linkText?: string;\n linkUrl: ILinkData;\n ariaLabel?: string;\n openInNewTab?: boolean;\n}\n\nexport interface IAccountLoyaltyTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountLoyaltyTileLinks: React.FC = ({ links, telemetryContent, onTextChange, requestContext }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-loyalty-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountLoyaltyTileLinks;\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 { LoyaltyRewardPoint } from '@msdyn365-commerce/retail-proxy';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountLoyaltyTileData } from './account-loyalty-tile.data';\nimport { IAccountLoyaltyTileProps } from './account-loyalty-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-loyalty-tile-description';\nimport LinksComponent from './components/account-loyalty-tile-links';\n\nexport interface IAccountLoyaltyTileViewProps extends IAccountLoyaltyTileProps {\n AccountLoyaltyTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountLoyalty component.\n * @extends {React.PureComponent>}\n */\nclass AccountLoyaltyTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountLoyaltyTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const { config, data, resources, context } = this.props;\n const { className, heading, signUpLinkText, signUpLinkAriaLabel, viewLinkText, viewLinkAriaLabel } = config;\n const { accountLoyaltySummary, accountLoyaltyMemberSummary } = resources;\n const { loyaltyCard } = data;\n\n let description = accountLoyaltySummary;\n let url = Msdyn365.getUrlSync('loyaltyJoin', context.actionContext) || '';\n const link = { linkText: signUpLinkText, linkUrl: { destinationUrl: url }, ariaLabel: signUpLinkAriaLabel };\n\n if (loyaltyCard && loyaltyCard.result && loyaltyCard.result.CardNumber) {\n const decimalPrecision = 2;\n let points = 0;\n\n if (loyaltyCard.result.RewardPoints && loyaltyCard.result.RewardPoints.length > 0) {\n loyaltyCard.result.RewardPoints.forEach((rewardPoint: LoyaltyRewardPoint) => {\n points += rewardPoint.ActivePoints!;\n });\n }\n link.ariaLabel = viewLinkAriaLabel;\n link.linkText = viewLinkText;\n url = Msdyn365.getUrlSync('loyalty', context.actionContext) || '';\n link.linkUrl.destinationUrl = url;\n description = format(accountLoyaltyMemberSummary, points.toFixed(decimalPrecision));\n }\n\n const viewProps = {\n ...this.props,\n className,\n AccountLoyaltyTile: {\n moduleProps: this.props,\n className: classnames('ms-account-loyalty-tile', config.className)\n },\n heading: heading && (\n \n ),\n links: (\n \n ),\n description: \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 handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.signUpLinkText && this.props.config.viewLinkText) {\n this.props.config.viewLinkText = event.target.value;\n }\n };\n}\n\nexport default AccountLoyaltyTile;\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 { IAccountLoyaltyTileViewProps } from './account-loyalty-tile';\n\nconst AccountLoyaltyTileView: React.FC = props => {\n const { AccountLoyaltyTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountLoyaltyTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface IAccountLoyaltyTileDescription {\n description: string;\n}\n\n// eslint-disable-next-line no-redeclare\nconst IAccountLoyaltyTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n\nexport default IAccountLoyaltyTileDescription;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountOrderTemplatesTileDescription {\n description: string;\n}\n\nexport const AccountOrderTemplatesTileDescription: React.FC = ({ description }) => (\n

{description}

\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 } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-order-templates-tile.props.autogenerated';\n\nexport interface IAccountOrderTemplatesTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nexport const AccountOrderTemplatesTileLinks: React.FC = ({\n links,\n onTextChange,\n telemetryContent,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-order-templates-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\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 { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountOrderTemplatesTileData } from './account-order-templates-tile.data';\nimport { IAccountOrderTemplatesTileProps } from './account-order-templates-tile.props.autogenerated';\nimport { AccountOrderTemplatesTileDescription, AccountOrderTemplatesTileLinks } from './components';\n\nexport interface IAccountOrderTemplatesTileViewProps extends IAccountOrderTemplatesTileProps {\n AccountOrderTemplatesTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountOrderTemplatesTile component.\n * @extends {React.PureComponent>}\n */\nexport class AccountOrderTemplatesTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountOrderTemplatesTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const { config, resources, data } = this.props;\n const RetailB2BEcommerceFeatureState = this.props.data.featureState.result?.find(\n featureState => featureState.Name === 'Dynamics.AX.Application.RetailB2BEcommerceFeature'\n );\n if (\n !this.props.context.request.params.isEditor &&\n (!RetailB2BEcommerceFeatureState?.IsEnabled || !this.props.data.customerInformation.result?.IsB2b)\n ) {\n return <>;\n }\n\n const { className, heading, links } = config;\n const { accountOrderTemplatesTileDescription } = resources;\n const orderTemplates = data.orderTemplates;\n\n const orderTemplatesCount = (orderTemplates?.result || []).length;\n const description = format(accountOrderTemplatesTileDescription, orderTemplatesCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountOrderTemplatesTile: {\n moduleProps: this.props,\n className: classnames('ms-account-order-templates-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n this.props.config.heading.text = event.target.value;\n };\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountOrderTemplatesTile;\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 { IAccountOrderTemplatesTileViewProps } from './account-order-templates-tile';\n\nconst AccountOrderTemplatesTileView: React.FC = props => {\n const { AccountOrderTemplatesTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountOrderTemplatesTileView;\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 { EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IAccountProfileEditConfig, IAccountProfileEditProps } from './account-profile-edit.props.autogenerated';\nimport AccountProfileEditButtonComponent from './components/account-profile-edit-button';\nimport AccountProfileEditErrorComponent from './components/account-profile-edit-error';\nimport AccountProfileEditInputComponent from './components/account-profile-edit-input';\nimport AccountProfileEditLabelComponent from './components/account-profile-edit-label';\nimport AccountProfileEditLoadingIconComponent from './components/account-profile-edit-loading-icon';\nimport AccountProfileEditLoadingMessageComponent from './components/account-profile-edit-loading-message';\n\nexport interface IAccountProfileEditViewState {\n isShowLoading: boolean;\n}\n\nexport interface IAccountProfileEditItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IAccountProfileEditLocalAccount {\n localAccount: INodeProps;\n items: IAccountProfileEditItem[];\n errorMessage: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IAccountProfileEditLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IAccountProfileEditViewProps {\n className: string;\n viewState: IAccountProfileEditViewState;\n loading: IAccountProfileEditLoading;\n accountProfileEdit: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n accountProfileEditLocalAccount: IAccountProfileEditLocalAccount;\n}\n\n/**\n *\n * AccountProfileEdit component\n * All AAD related module is rendered on AAD page and we need to respect HTML contract provide by AAD.\n * Please ensure any change in module don't break contract with AAD.\n * @extends {React.Component>}\n */\n@observer\nclass AccountProfileEdit extends React.Component> {\n private readonly moduleClassName: string = 'ms-account-profile-edit';\n\n private readonly telemetryContent: ITelemetryContent;\n\n @observable private givenName: string;\n\n @observable private surname: string;\n\n @observable private email: string;\n\n @observable private emailRegex: string;\n\n @observable private isInitialized: boolean;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: IAccountProfileEditProps) {\n super(props);\n this.givenName = '';\n this.surname = '';\n this.email = '';\n this.emailRegex = EmailRegex.defaultRegex.source;\n this.isInitialized = false;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['$element']['initialize']();\n }\n }\n\n public shouldComponentUpdate(\n nextProps: IAccountProfileEditProps,\n nextState: IAccountProfileEditViewState\n ): 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 { config, resources } = this.props;\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n accountProfileEdit: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: \n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n heading: config.heading && config.heading.text && (\n \n ),\n accountProfileEditLocalAccount: this._renderLocalAccount()\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 onTextBoxChange = (event: React.ChangeEvent) => {\n const id = event.target.id;\n const value = event.target.value;\n\n switch (id.toLowerCase()) {\n case 'givenname': {\n this.givenName = value;\n break;\n }\n case 'surname': {\n this.surname = value;\n break;\n }\n case 'email': {\n this.emailRegex = value;\n break;\n }\n default:\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => {\n this._isInitializationSuccessful();\n }, 100);\n setTimeout(() => {\n clearInterval(this.initializationTimer);\n }, 10_000);\n };\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private readonly _isInitializationSuccessful = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n };\n\n private readonly _prePopulateData = () => {\n const { resources } = this.props;\n const invalidEmailAddressError = resources.invalidEmailAddressError || 'Please enter a valid email address.';\n\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['SA_FIELDS']['AttributeFields'].map(\n (obj: { ID: string; PRE: string; PAT: string; UX_INPUT_TYPE: string; PAT_DESC: string }) => {\n const value = obj.PRE ? this._htmlDecode(obj.PRE) : '';\n switch (obj.ID.toLowerCase()) {\n case 'givenname': {\n this.givenName = value;\n break;\n }\n case 'surname': {\n this.surname = value;\n break;\n }\n case 'email': {\n this.email = value;\n this.emailRegex = obj.PAT;\n obj.PAT_DESC = invalidEmailAddressError;\n break;\n }\n default:\n }\n }\n );\n }\n };\n\n private _htmlDecode(str: string): string {\n const e = document.createElement('div');\n\n e.innerHTML = str;\n return e.childNodes.length === 0 ? '' : e.childNodes[0].nodeValue || '';\n }\n\n private readonly _updateErrorMessage = () => {\n const { resources } = this.props;\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const message = {\n required_field: resources.requiredFieldMissingError,\n verifying_blurb: resources.loadingMessage\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], message);\n }\n };\n\n private _renderLocalAccount(): IAccountProfileEditLocalAccount {\n const { config, resources } = this.props;\n const localAccount = {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('givenName', 'text', this.givenName, resources.firstNameLabelText, resources.firstNameMaxLength),\n this._renderInput('surname', 'text', this.surname, resources.lastNameLabelText, resources.lastNameMaxLength)\n ],\n errorMessage: [\n ,\n ,\n \n ],\n buttonsWrapper: {\n className: `${this.moduleClassName}__buttons`\n },\n buttons: [\n ,\n \n ],\n verificationSuccessModal: {\n className: `${this.moduleClassName}__verifying-modal verifying-modal`\n },\n verificationSuccessModalMessage: {\n id: 'verifying_blurb',\n className: `${this.moduleClassName}__verifying-modal-message`\n }\n };\n\n if (config.showEmail && this.email !== '') {\n localAccount.items.push(\n this._renderInput('email', 'email', this.email, resources.emailAddressLabelText, undefined, this.emailRegex)\n );\n }\n\n return localAccount;\n }\n\n private _renderInput(\n id: string,\n type: string,\n value: string,\n labelText: string,\n maxLength?: string,\n pattern?: string\n ): IAccountProfileEditItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry')\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n}\n\nexport default AccountProfileEdit;\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 {\n IAccountProfileEditItem,\n IAccountProfileEditLoading,\n IAccountProfileEditLocalAccount,\n IAccountProfileEditViewProps\n} from './account-profile-edit';\n\nconst AccountProfileEditItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n errorMessage,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n {items &&\n items.map((item: IAccountProfileEditItem) => {\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n \n \n \n );\n};\n\nconst AccountProfileEditLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst AccountProfileEditView: React.FC = props => {\n const { accountProfileEdit, viewState, loading, defaultAADConainer, aadConainer, heading, accountProfileEditLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(accountProfileEditLocalAccount)}\n \n \n );\n};\n\nexport default AccountProfileEditView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst AccountProfileEditButton: React.FC = ({\n id,\n className,\n text,\n ariaLabel,\n disabled,\n telemetryContent,\n onClick\n}) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n );\n};\n\nexport default AccountProfileEditButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst AccountProfileEditError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default AccountProfileEditError;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditInputProps {\n id?: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: any;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface IAccountProfileEditInput {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = Number.parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n\nconst AccountProfileEditInput: React.FC = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n \n);\n\nexport default AccountProfileEditInput;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst AccountProfileEditLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default AccountProfileEditLabel;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLoadingIcon {\n className: string;\n}\n\nconst AccountProfileEditLoadingIcon: React.FC = ({ className }) => (\n
\n);\n\nexport default AccountProfileEditLoadingIcon;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLoadingMessage {\n className: string;\n message: string;\n}\n\nconst AccountProfileEditLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default AccountProfileEditLoadingMessage;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountOrganizationUsersTileDescription {\n description: string;\n}\n\nexport const AccountOrganizationUsersTileDescription: React.FC = ({ description }) => (\n

{description}

\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 } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../organization-users-tile.props.autogenerated';\n\nexport interface IAccountOrganizationUsersTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nexport const AccountOrganizationUsersTileLinks: React.FC = ({\n links,\n telemetryContent,\n onTextChange,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-organization-users-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\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 { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { AccountOrganizationUsersTileDescription, AccountOrganizationUsersTileLinks } from './components';\nimport { IOrganizationUsersTileData } from './organization-users-tile.data';\nimport { IOrganizationUsersTileProps } from './organization-users-tile.props.autogenerated';\n\nexport interface IOrganizationUsersTileViewProps extends IOrganizationUsersTileProps {\n OrganizationUsersTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * OrganizationUsersTile component.\n * @extends {React.PureComponent>}\n */\nclass OrganizationUsersTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IOrganizationUsersTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element | null {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountOrganizationUsersTileDescriptionForSingleUser, accountOrganizationUsersTileDescriptionForMultipleUsers } = resources;\n const numUsers = data.users && data.users.result;\n const accountOrganizationUsersTileDescription =\n numUsers === 1 ? accountOrganizationUsersTileDescriptionForSingleUser : accountOrganizationUsersTileDescriptionForMultipleUsers;\n const customerInformation = data.customerInformation.result;\n\n // Organization-users tile will not be render for non-admin users.\n if (!customerInformation?.IsB2bAdmin) {\n return null;\n }\n\n const viewProps = {\n ...this.props,\n className,\n OrganizationUsersTile: {\n moduleProps: this.props,\n className: classnames('ms-account-organization-users-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n this.props.config.heading.text = event.target.value;\n };\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default OrganizationUsersTile;\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 { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPasswordResetButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst PasswordResetButton: React.FC = ({ id, className, text, ariaLabel, disabled, telemetryContent, onClick }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n );\n};\n\nexport default PasswordResetButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IPasswordResetErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst PasswordResetError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default PasswordResetError;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPasswordResetInputProps {\n id?: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: any;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface IPasswordResetInput {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = Number.parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n\nconst PasswordResetInput: React.FC = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n \n);\n\nexport default PasswordResetInput;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IPasswordResetLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst PasswordResetLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default PasswordResetLabel;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IPasswordResetLoadingIcon {\n className: string;\n}\n\nconst PasswordResetLoadingIcon: React.FC = ({ className }) =>
;\n\nexport default PasswordResetLoadingIcon;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IPasswordResetLoadingMessage {\n className: string;\n message: string;\n}\n\nconst PasswordResetLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default PasswordResetLoadingMessage;\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 { PasswordRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport PasswordResetButtonComponent from './components/password-reset-button';\nimport PasswordResetErrorComponent from './components/password-reset-error';\nimport PasswordResetInputComponent from './components/password-reset-input';\nimport PasswordResetLabelComponent from './components/password-reset-label';\nimport PasswordResetLoadingIconComponent from './components/password-reset-loading-icon';\nimport PasswordResetLoadingMessageComponent from './components/password-reset-loading-message';\nimport { IPasswordResetConfig, IPasswordResetProps } from './password-reset.props.autogenerated';\n\nexport interface IPasswordResetViewState {\n isShowLoading: boolean;\n}\n\nexport interface IPasswordResetItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IPasswordResetLocalAccount {\n localAccount: INodeProps;\n items: IPasswordResetItem[];\n errorMessage: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IPasswordResetLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IPasswordResetViewProps {\n className: string;\n viewState: IPasswordResetViewState;\n loading: IPasswordResetLoading;\n passwordReset: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n passwordResetLocalAccount: IPasswordResetLocalAccount;\n}\n\n/**\n *\n * PasswordReset component.\n * @extends {React.Component>}\n */\n@observer\nclass PasswordReset extends React.Component> {\n private readonly moduleClassName: string = 'ms-password-reset';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n @observable private newPasswordRegex: string;\n\n @observable private reenterPasswordRegex: string;\n\n @observable private isInitialized: boolean;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: IPasswordResetProps) {\n super(props);\n\n this.newPasswordRegex = PasswordRegex.defaultRegex.source;\n this.reenterPasswordRegex = PasswordRegex.defaultRegex.source;\n this.isInitialized = false;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['$element']['initialize']();\n }\n }\n\n public shouldComponentUpdate(nextProps: IPasswordResetProps, nextState: IPasswordResetViewState): 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 { config, resources } = this.props;\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n passwordReset: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: \n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n heading: config.heading && (\n \n ),\n passwordResetLocalAccount: this._renderLocalAccount()\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 // eslint-disable-next-line @typescript-eslint/naming-convention\n public _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => {\n this._isInitializationSuccessful();\n }, 100);\n setTimeout(() => {\n clearInterval(this.initializationTimer);\n }, 10_000);\n };\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private readonly _isInitializationSuccessful = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n };\n\n private readonly _prePopulateData = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['SA_FIELDS']['AttributeFields'].map((obj: { ID: string; PAT: string }) => {\n switch (obj.ID.toLowerCase()) {\n case 'newpassword': {\n this.newPasswordRegex = obj.PAT;\n break;\n }\n case 'reenterpassword': {\n this.reenterPasswordRegex = obj.PAT;\n break;\n }\n default:\n }\n });\n }\n };\n\n private readonly _updateErrorMessage = () => {\n const { resources } = this.props;\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const message = {\n verifying_blurb: resources.loadingMessage\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], message);\n }\n };\n\n private _renderLocalAccount(): IPasswordResetLocalAccount {\n const { resources } = this.props;\n return {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('newPassword', 'password', resources.newPasswordLabelText, this.newPasswordRegex),\n this._renderInput('reenterPassword', 'password', resources.confirmPasswordLabelText, this.reenterPasswordRegex)\n ],\n errorMessage: [\n ,\n ,\n ,\n \n ],\n buttonsWrapper: {\n className: `${this.moduleClassName}__buttons`\n },\n buttons: [\n ,\n \n ],\n verificationSuccessModal: {\n className: `${this.moduleClassName}__verifying-modal verifying-modal`\n },\n verificationSuccessModalMessage: {\n id: 'verifying_blurb',\n className: `${this.moduleClassName}__verifying-modal-message`\n }\n };\n }\n\n private _renderInput(id: string, type: string, labelText: string, pattern?: string): IPasswordResetItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry')\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n}\n\nexport default PasswordReset;\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 { IPasswordResetItem, IPasswordResetLoading, IPasswordResetLocalAccount, IPasswordResetViewProps } from './password-reset';\n\nconst PasswordResetItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n errorMessage,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n {items &&\n items.map((item: IPasswordResetItem) => {\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n \n \n \n );\n};\n\nconst PasswordResetLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst PasswordResetView: React.FC = props => {\n const { passwordReset, viewState, loading, defaultAADConainer, aadConainer, heading, passwordResetLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(passwordResetLocalAccount)}\n \n \n );\n};\n\nexport default PasswordResetView;\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 const imageProps = {\n gridSettings: this.props.context.request.gridSettings ?? {},\n imageSettings: image?.imageSettings\n };\n const contentBlockLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n const contentBlockText = paragraph && (\n \n );\n const contentBlockImage = (\n \n );\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 },\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 {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHeader,\n IList,\n IOrderHistoryViewProps,\n IOrderInformation,\n ISalesOrder\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderHistoryOrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n channelName,\n createdDate,\n count,\n amount,\n channelReferenceId\n}) => (\n \n {channelName}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const OrderHistoryGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {processing}\n {address}\n {trackingInfo}\n \n);\n\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n \n {heading}\n {orderCountLabel}\n {extraActions}\n \n);\n\nexport const OrderHistorySalesOder: React.FC = ({\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n}) => (\n \n {orderInfomation && }\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n \n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder, index) => )}\n \n);\n\nconst OrderHistoryView: React.FC = ({\n orderHistoryProps,\n header,\n alert,\n loading,\n emptyMessage,\n backToShoppingLink,\n list,\n table,\n moreButton\n}) => (\n \n {header && }\n {loading}\n {alert && (\n <>\n {alert}\n {backToShoppingLink}\n \n )}\n {emptyMessage && (\n \n {emptyMessage}\n {backToShoppingLink}\n \n )}\n {list && }\n {table}\n {moreButton && moreButton}\n \n);\n\nexport default OrderHistoryView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IReviewModalViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\nimport {\n IReportReviewModalViewProps,\n IReviewCardViewProps,\n IReviewsListState,\n IReviewsListViewProps\n} from '@msdyn365-commerce-modules/ratings-reviews/src/modules/reviews-list';\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst ReviewsListview: React.FC = props => {\n const {\n averageRating,\n filterByDropdown,\n moduleProps,\n noReviewsMessage,\n noReviewsWithFilterMessage,\n pageControls,\n refineReviewsProps,\n reportReviewModal,\n reviewsListProps,\n reviewCards,\n reviewCount,\n reviewModal,\n sortByDropdown,\n state,\n userReview\n } = props;\n\n if (!userReview && reviewCards.length === 0 && !state.isFilterApplied) {\n return {noReviewsMessage};\n }\n\n return (\n \n {averageRating}\n {reviewCount}\n \n {sortByDropdown}\n {filterByDropdown}\n \n \n {userReview && buildReviewCard(userReview)}\n {reviewCards.map(review => {\n return buildReviewCard(review);\n })}\n \n {reviewCards.length === 0 && state.isFilterApplied && noReviewsWithFilterMessage}\n {pageControls}\n {createReviewModal(reviewModal, moduleProps)}\n {createReportModal(reportReviewModal, state)}\n \n );\n};\n\nconst buildReviewCard = (props: IReviewCardViewProps) => {\n return (\n \n \n {props.rating}\n {props.name}\n {props.date}\n \n \n \n {props.reviewTitle}\n {props.reviewText}\n \n \n {props.responseName}\n {props.responseDate}\n {props.responseText}\n \n \n {props.ratingHelpfulLabel}\n {props.like}\n {props.dislike}\n {props.edit}\n {props.report}\n \n \n \n );\n};\n\nconst createReviewModal = (props: IReviewModalViewProps, moduleProps: IModuleProps): JSX.Element => {\n return (\n \n {props.modalHeader}\n \n \n \n {props.rating}\n {props.ratingLabel}\n \n \n {props.titleLabel}\n {props.titleInput}\n \n \n {props.textLabel}\n {props.textInput}\n \n {props.privacyPolicyUrl}\n {props.error}\n \n \n \n {props.submitButton}\n {props.cancelButton}\n \n \n );\n};\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\nexport default ReviewsListview;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ExtensibleEnumeration } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { IOrderLookupResources, IOrderLookupSearchAdditionalFieldsData } from '../order-lookup.props.autogenerated';\n\n/**\n * Render label.\n * @param className - Classname for label.\n * @param value - Text for label.\n * @returns -The JSX Element.\n */\nexport const labelGroup = (className: string, value: string): JSX.Element => {\n return
{value}
;\n};\n\n/**\n * Error label.\n * @param responseErrorMessage - Error message for label.\n * @param errorMessageClassName - Error message for class name.\n * @returns - Error ReactNode.\n */\nexport const renderErrorLabel = (responseErrorMessage: string, errorMessageClassName: string): React.ReactNode => {\n return responseErrorMessage &&
{responseErrorMessage}
;\n};\n\n/**\n * Registered user message.\n * @param resources - Resource values.\n * @param signInUrl - Signin url.\n * @param signInLinkClassName - Signin link classname.\n * @param registeredUserClassName - Registered user message classname.\n * @returns - ReactNode.\n */\nexport const renderRegisteredUserMessage = (\n resources: IOrderLookupResources,\n signInUrl: string,\n signInLinkClassName: string,\n registeredUserClassName: string\n): React.ReactNode => {\n const { orderLookupRegisteredUserText, orderLookupViewAccountText, orderLookupSignInLinkText } = resources;\n const message: string = orderLookupRegisteredUserText;\n const infoMessage: string = orderLookupViewAccountText;\n const signInText: string = orderLookupSignInLinkText;\n return (\n
\n {message}\n \n {signInText}\n \n {infoMessage}\n
\n );\n};\n\n/**\n * EmailValid submit.\n * @param email - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isEmailValid = (email: string): boolean => {\n return EmailRegex.defaultRegex.test(email);\n};\n\n/**\n * Additional field validation for on submit.\n * @param name - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isAdditionalFieldValid = (name: string): boolean => {\n const regEx = new RegExp('^(?!\\\\s)[A-Za-z0-9\\\\s]+$', 'u');\n return regEx.test(name);\n};\n\n/**\n * Validate order lookup field against extensible enum.\n * @param orderStatusLookUpParameter - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupField = (\n orderStatusLookUpParameter: string,\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidField: boolean = false;\n for (const item of orderLookupExtensibleEnum) {\n if (item.Name.toLocaleLowerCase() === orderStatusLookUpParameter.toLocaleLowerCase()) {\n isValidField = true;\n return isValidField;\n }\n }\n return isValidField;\n};\n\n/**\n * Validate order lookup additional fields with proxy values.\n * @param value - Value to be validated.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateAdditionalFieldWithProxy = (value: string, orderLookupExtensibleEnum: ExtensibleEnumeration[]): boolean => {\n return !orderLookupExtensibleEnum.some(item => item.Name.toLocaleLowerCase() === value.toLocaleLowerCase());\n};\n\n/**\n * Validate order lookup additional fields against extensible enum.\n * @param orderStatusLookUpAdditionalParameters - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupAdditionalField = (\n orderStatusLookUpAdditionalParameters: IOrderLookupSearchAdditionalFieldsData[],\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidAdditionalField: boolean = false;\n if (ArrayExtensions.hasElements(orderStatusLookUpAdditionalParameters)) {\n orderStatusLookUpAdditionalParameters.map(item => {\n const fieldKey: string = item.fieldKey ?? '';\n if (!isValidAdditionalField) {\n isValidAdditionalField = validateAdditionalFieldWithProxy(fieldKey, orderLookupExtensibleEnum);\n }\n return isValidAdditionalField;\n });\n } else {\n isValidAdditionalField = false;\n }\n return isValidAdditionalField;\n};\n\n/**\n * Render validation message if field does not matches with extensible enum.\n * @param orderLookupFieldValidationErrorMessage - Order lookup validation message.\n * @returns - ReactNode.\n */\nexport const renderFieldErrors = (orderLookupFieldValidationErrorMessage: string): React.ReactNode => {\n return
{orderLookupFieldValidationErrorMessage}
;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Additional input field props.\n */\nexport interface IOrderLookupAdditionalFieldInfoInput {\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n additionalFieldLabel: string;\n additionalFieldLabelClassName: string;\n isValidAdditionalFieldName: boolean;\n additionalFieldValidationMessage: string;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup additional field props.\n */\nexport interface IOrderLookupAdditionalFieldInfo {\n additionalFieldLabel: React.ReactNode;\n additionalFieldInput: React.ReactNode;\n additionalFieldError: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupAdditionalFieldInput component.\n */\n@observer\nexport default class RenderOrderLookupAdditionalFieldInput extends React.Component {\n public constructor(props: IOrderLookupAdditionalFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupAdditionalFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupAdditionalFields().additionalFieldLabel}\n {this._getOrderLookupAdditionalFields().additionalFieldError}\n {this._getOrderLookupAdditionalFields().additionalFieldInput}\n
\n );\n }\n\n /**\n * Function to create the order lookup additional fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupAdditionalFields(): IOrderLookupAdditionalFieldInfo {\n return {\n additionalFieldLabel: labelGroup(this.props.additionalFieldLabelClassName, this.props.additionalFieldLabel),\n additionalFieldInput: (\n
\n \n
\n ),\n additionalFieldError: (\n
\n {!this.props.isValidAdditionalFieldName ? this.props.additionalFieldValidationMessage : ''}\n
\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 { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Input field props.\n */\nexport interface IOrderLookupFieldInfoInput {\n inputReference?: React.RefObject;\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n orderLookupLabel: string;\n orderLookupLabelClassName: string;\n fieldErrorClassName: string;\n isInputTypeError: boolean;\n isValidInputField: boolean;\n renderAlert(className: string): JSX.Element;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup field props.\n */\nexport interface IOrderLookupFieldInfo {\n label: React.ReactNode;\n input: React.ReactNode;\n error: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupInputs component.\n */\n@observer\nexport default class RenderOrderLookupFormFields extends React.Component {\n public constructor(props: IOrderLookupFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupFields().label}\n {this._getOrderLookupFields().error}\n {this._getOrderLookupFields().input}\n
\n );\n }\n\n /**\n * Function to create the order lookup fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupFields(): IOrderLookupFieldInfo {\n return {\n label: labelGroup(this.props.orderLookupLabelClassName, this.props.orderLookupLabel),\n input: (\n
\n \n
\n ),\n error: (\n
\n {this.props.isInputTypeError ? this.props.renderAlert(this.props.name) : ''}\n {this.props.isValidInputField ? this.props.renderAlert(this.props.name) : ''}\n
\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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IActionContext } from '@msdyn365-commerce/core-internal';\nimport { ExtensibleEnumeration, StoreOperationsDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport RenderOrderLookupAdditionalFieldInput from './components/order-lookup-additional-fields';\nimport RenderOrderLookupFormFields from './components/order-lookup-fields';\nimport {\n IOrderLookupProps,\n IOrderLookupSearchAdditionalFieldsData,\n orderStatusLookUpParametersType as orderStatusLookUpParametersTypes\n} from './order-lookup.props.autogenerated';\nimport {\n isAdditionalFieldValid,\n isEmailValid,\n renderErrorLabel,\n renderFieldErrors,\n renderRegisteredUserMessage,\n validateOrderLookupAdditionalField,\n validateOrderLookupField\n} from './utilities/order-lookup-utility';\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupViewProps extends IOrderLookupProps<{}> {\n additionalProperties: JSX.Element[] | undefined;\n orderLookup: IModuleProps;\n orderLookupContainer: INodeProps;\n orderLookupAdditionalFieldContainer: INodeProps;\n paragraph?: React.ReactNode;\n heading?: React.ReactNode;\n submitButton?: INodeProps;\n submitButtonLabelText?: string;\n orderLookupForm?: INodeProps;\n renderOrderLookupInputField: JSX.Element | undefined;\n orderNumberInput?: JSX.Element | undefined;\n errorMessage?: React.ReactNode;\n fieldErrorMessage?: React.ReactNode;\n registeredUserMessage?: React.ReactNode;\n onChange?(event: React.ChangeEvent): void;\n submit?(): void;\n}\n\n/**\n * OrderLookupSearchValues -- supported values.\n */\nenum OrderLookupSearchValues {\n email = 'email',\n ordernumber = 'ordernumber'\n}\n\n/**\n * To render and handle state for additional order lookup fields.\n */\nexport interface IOrderLookupAdditionalFields {\n labelName: string;\n isValidFieldName: boolean;\n fieldValue: string;\n ariaLabel: string;\n additionalfieldErrorMessage: string;\n}\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupFormState {\n orderNumber: string;\n email: string;\n isOrdNumberError: boolean;\n isEmailError: boolean;\n isValidEmailError: boolean;\n isReqError: boolean;\n isDisabled: boolean;\n isValidLookupField: boolean;\n isValidAdditionalLookupField: boolean;\n responseErrorMessage: string;\n additionalProperties: IOrderLookupAdditionalFields[];\n}\n\n/**\n *\n * OrderLookup component.\n * @extends {React.PureComponent>}\n */\nclass OrderLookup extends React.PureComponent, IOrderLookupFormState> {\n public orderNumberInputRef: React.RefObject;\n\n public emailInputRef: React.RefObject;\n\n public isEmailValue: boolean = false;\n\n private requiredErrorMessage: string | undefined;\n\n private emailValidationErrorMessage: string | undefined;\n\n private isOrderNumberValue: boolean = false;\n\n private orderLookupExtensibleEnum: ExtensibleEnumeration[] = [];\n\n public constructor(props: IOrderLookupProps<{}>) {\n super(props);\n this.orderNumberInputRef = React.createRef();\n this.emailInputRef = React.createRef();\n const { config } = this.props;\n const { orderLookupSearchAdditionalFields } = config;\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n\n if (orderLookupSearchAdditionalFields) {\n for (const item of orderLookupSearchAdditionalFields) {\n additionalPropertyStates.push({\n labelName: item.labelName ?? '',\n isValidFieldName: true,\n fieldValue: '',\n ariaLabel: item.ariaLabel ?? '',\n additionalfieldErrorMessage: item.validationMessage ?? ''\n });\n }\n }\n\n this.state = {\n orderNumber: '',\n email: '',\n isOrdNumberError: false,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false,\n isDisabled: true,\n isValidLookupField: true,\n isValidAdditionalLookupField: false,\n responseErrorMessage: '',\n additionalProperties: additionalPropertyStates\n };\n }\n\n public render(): JSX.Element | null {\n const {\n config: { paragraph, heading },\n resources,\n context\n } = this.props;\n\n const {\n orderLookupDefaultHeadingText,\n orderLookupButtonLabel,\n orderLookupFormAriaLabel,\n orderLookupOrderNumberLabel,\n orderLookupOrderNumberAriaLabel,\n orderLookupSubmitAriaLabel,\n orderLookupFieldValidationErrorMessage\n } = resources;\n\n const { responseErrorMessage, isDisabled, orderNumber, isOrdNumberError } = this.state;\n\n const headingText = StringExtensions.isNullOrEmpty(heading?.text) ? orderLookupDefaultHeadingText : heading?.text;\n const headingTag = heading?.tag ?? 'h1';\n\n const moduleClassName = 'ms-order-lookup';\n const orderLookupContainerClassName = `${moduleClassName}__details`;\n const orderLookupHeadingClassName = `${orderLookupContainerClassName}__heading`;\n const orderLookupFormClassName = `${orderLookupContainerClassName}__form`;\n const orderLookupAdditionalFiledContainerClassName = `${orderLookupFormClassName}__additional-fields-container`;\n const orderLookupFormFieldsClassName = `${orderLookupFormClassName}__fields`;\n const orderNumberLabelClassName = `${orderLookupFormFieldsClassName}__order-number-label`;\n const orderNumberInputErrorClassName = `${orderLookupFormFieldsClassName}__order-number-input-error`;\n const submitButtonClassName = `${orderLookupFormClassName}__submit`;\n const labelErrorMessageClassName = `${moduleClassName}__error-message`;\n const registeredUserClassName = `${moduleClassName}__registered-user`;\n const signinLinkClassName = `${registeredUserClassName}__sign-in-link msc-btn`;\n\n const orderLookupHeading = (\n \n );\n\n const viewProps: IOrderLookupViewProps = {\n ...this.props,\n orderLookup: {\n moduleProps: this.props,\n className: moduleClassName\n },\n\n orderLookupContainer: {\n className: orderLookupContainerClassName\n },\n orderLookupAdditionalFieldContainer: {\n className: orderLookupAdditionalFiledContainerClassName\n },\n paragraph: paragraph && this._createParagraph(paragraph),\n heading: orderLookupHeading,\n\n renderOrderLookupInputField: this._renderOrderLookupInput(),\n orderLookupForm: {\n className: orderLookupFormClassName,\n tag: 'form',\n 'aria-label': orderLookupFormAriaLabel,\n name: 'orderLookupForm',\n role: 'form',\n autoComplete: 'off',\n onSubmit: this.handleSubmit\n },\n orderNumberInput: (\n \n ),\n\n submitButton: {\n className: submitButtonClassName,\n tag: Button,\n 'aria-label': orderLookupSubmitAriaLabel,\n type: 'submit',\n role: 'button',\n title: orderLookupButtonLabel,\n onClick: this.handleSubmit,\n disabled: isDisabled\n },\n\n submitButtonLabelText: orderLookupButtonLabel,\n errorMessage: renderErrorLabel(responseErrorMessage, labelErrorMessageClassName),\n fieldErrorMessage:\n (!this.state.isValidLookupField || this.state.isValidAdditionalLookupField) &&\n renderFieldErrors(orderLookupFieldValidationErrorMessage),\n registeredUserMessage: renderRegisteredUserMessage(\n resources,\n context.request.user.signInUrl ?? '',\n signinLinkClassName,\n registeredUserClassName\n ),\n onChange: this.onChange,\n submit: this.handleSubmit,\n additionalProperties: this._renderAdditionalFields()\n };\n return this.props.renderView(viewProps);\n }\n\n public async componentDidMount(): Promise {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { orderStatusLookUpParametersType, orderLookupSearchAdditionalFields } = config;\n let isOrderLookupAdditionalFieldValid: boolean = false;\n let isOrderLookupFieldValid: boolean = false;\n\n const getExtensibleEnumerations = await StoreOperationsDataActions.getExtensibleEnumerationsAsync({ callerContext: actionContext });\n this.orderLookupExtensibleEnum =\n getExtensibleEnumerations.find(item => item.TypeName === 'OrderLookupAdditionalCriteriaType')?.ExtensibleEnumerations ?? [];\n\n const orderLookupParameter: string = orderStatusLookUpParametersType ?? '';\n const orderLookupAdditionalParameter: IOrderLookupSearchAdditionalFieldsData[] = orderLookupSearchAdditionalFields ?? [];\n\n isOrderLookupFieldValid = validateOrderLookupField(orderLookupParameter, this.orderLookupExtensibleEnum);\n isOrderLookupAdditionalFieldValid = validateOrderLookupAdditionalField(\n orderLookupAdditionalParameter,\n this.orderLookupExtensibleEnum\n );\n this.setLookupFieldState(isOrderLookupFieldValid, isOrderLookupAdditionalFieldValid);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: Msdyn365.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: Msdyn365.ContentEditableEvent): void => {\n const { config } = this.props;\n config.paragraph = event.target.value;\n };\n\n /**\n * Sets isValidLookupField after validating with extensible emun.\n * @param isValidField - Sets the property.\n * @param isValidAdditionalField - Sets the additional field property.\n */\n public setLookupFieldState(isValidField: boolean, isValidAdditionalField: boolean): void {\n this.setState({ isValidLookupField: isValidField, isValidAdditionalLookupField: isValidAdditionalField });\n }\n\n /**\n * HandleSubmit submit.\n */\n public readonly handleSubmit = (): void => {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { additionalProperties, orderNumber, email } = this.state;\n const orderLookupValue = email;\n const { orderStatusLookUpParametersType } = config;\n const orderLookupName = orderStatusLookUpParametersType !== undefined ? orderStatusLookUpParametersType : '';\n const isValid: boolean = this._validateOrderLookupForm();\n if (isValid) {\n const actionContextValue: IActionContext = actionContext;\n const orderDetailsPath = Msdyn365.getUrlSync('orderDetails', actionContextValue) ?? '';\n if (orderDetailsPath) {\n const baseUrl = new URL(window.location.origin);\n const redirectUrl = new URL(orderDetailsPath, baseUrl);\n const searchParameters = redirectUrl.searchParams;\n\n searchParameters.set('confirmationId', orderNumber);\n searchParameters.set('propertyName', orderLookupName);\n searchParameters.set('propertyValue', orderLookupValue);\n\n if (ArrayExtensions.hasElements(additionalProperties)) {\n additionalProperties.map((item, index) => {\n const fieldName = !StringExtensions.isNullOrWhitespace(item.ariaLabel)\n ? item.ariaLabel.replace(' ', '').toLocaleLowerCase()\n : '';\n const fieldValue = !StringExtensions.isNullOrWhitespace(item.fieldValue) ? item.fieldValue : '';\n searchParameters.set(`field${index + 1}Name`, fieldName);\n searchParameters.set(`field${index + 1}Value`, fieldValue);\n return item;\n });\n }\n\n window.location.assign(redirectUrl.toString());\n }\n }\n };\n\n /**\n * OnChange event.\n * @param event - Value of input field.\n */\n public readonly onChange = (event: React.ChangeEvent): void => {\n const { additionalProperties } = this.state;\n const { config } = this.props;\n const { orderStatusLookUpParametersType } = config;\n const name = event.target.name || '';\n const value = event.target.value || '';\n this.isOrderNumberValue = !StringExtensions.isNullOrWhitespace(this.orderNumberInputRef.current?.value);\n this.isEmailValue = !StringExtensions.isNullOrWhitespace(this.emailInputRef.current?.value);\n\n if (orderStatusLookUpParametersType?.toLocaleLowerCase() === 'none') {\n this.isEmailValue = true;\n }\n\n this.setState({ responseErrorMessage: '' });\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isAdditionalFieldError: boolean = true as boolean;\n let isKeyExistInAdditionalFieldArray: boolean = false as boolean;\n\n for (const item of additionalProperties) {\n const fieldName: string = item.ariaLabel.replace(' ', '');\n if (fieldName.toLocaleLowerCase() === name.toLocaleLowerCase()) {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: true,\n fieldValue: value,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n } else {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: item.isValidFieldName,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n if (fieldName.toLocaleLowerCase() === orderStatusLookUpParametersType?.toLocaleLowerCase()) {\n isKeyExistInAdditionalFieldArray = true;\n }\n }\n\n for (const items of additionalPropertyStates) {\n if (StringExtensions.isNullOrWhitespace(items.fieldValue)) {\n isAdditionalFieldError = false;\n }\n }\n\n this.setState({ additionalProperties: additionalPropertyStates });\n\n if (!isKeyExistInAdditionalFieldArray) {\n switch (name.toLocaleLowerCase()) {\n case OrderLookupSearchValues.ordernumber: {\n this.setState({\n orderNumber: value,\n isOrdNumberError: false,\n isReqError: false\n });\n break;\n }\n case OrderLookupSearchValues.email: {\n this.setState({\n email: value,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false\n });\n break;\n }\n default: {\n this.setState({ isReqError: false });\n }\n }\n }\n\n if (\n this.isOrderNumberValue &&\n this.isEmailValue &&\n isAdditionalFieldError &&\n this.state.isValidLookupField &&\n !this.state.isValidAdditionalLookupField\n ) {\n this.setState({ isDisabled: false });\n } else {\n this.setState({ isDisabled: true });\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n const { context } = this.props;\n const { request } = context;\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n /**\n * Render order lookup validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupEmailValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isEmailError, email, isValidEmailError, isReqError } = this.state;\n if (isEmailError) {\n this.requiredErrorMessage = orderLookupRequiredTextErrorMessage;\n }\n\n if (!StringExtensions.isNullOrEmpty(email) && isValidEmailError) {\n this.emailValidationErrorMessage = orderLookupEmailValidationErrorMessage;\n }\n\n const isRequireError = isReqError;\n const isEmailValidError = isValidEmailError;\n const isValidEmailInput = className.toLocaleLowerCase() === OrderLookupSearchValues.email;\n return (\n <>\n {isRequireError && (\n \n {this.requiredErrorMessage}\n \n )}\n {isEmailValidError && isValidEmailInput && (\n \n {this.emailValidationErrorMessage}\n \n )}\n \n );\n };\n\n /**\n * Render order number validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderOrderNumberAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupOrderNumberValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isOrdNumberError, isReqError } = this.state;\n return (\n <>\n {isReqError && (\n \n {orderLookupRequiredTextErrorMessage}\n \n )}\n {isOrdNumberError && (\n \n {orderLookupOrderNumberValidationErrorMessage}\n \n )}\n \n );\n };\n\n private _renderAdditionalFields(): JSX.Element[] | undefined {\n const { additionalProperties } = this.state;\n const additionalFieldsInput: JSX.Element[] = [];\n for (const item of additionalProperties) {\n const name: string = item.ariaLabel.replace(' ', '');\n additionalFieldsInput.push(\n \n );\n }\n return additionalFieldsInput;\n }\n\n /**\n * Render Input field for order lookup.\n * @returns - IOrderLookupFieldInfo.\n */\n private readonly _renderOrderLookupInput = (): JSX.Element | undefined => {\n const { email, isEmailError, isValidEmailError } = this.state;\n const {\n config: { orderStatusLookUpParametersType },\n resources: { orderLookupEmailLabel, orderLookupEmailAriaLabel }\n } = this.props;\n\n switch (orderStatusLookUpParametersType) {\n case orderStatusLookUpParametersTypes.none:\n return undefined;\n case orderStatusLookUpParametersTypes.email:\n default:\n return (\n \n );\n }\n };\n\n /**\n * _validation for additional fields.\n * @returns - Returns IOrderLookupAdditionalFields[].\n */\n private readonly _additionalFieldValidation = (): IOrderLookupAdditionalFields[] => {\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n for (const item of this.state.additionalProperties) {\n const isFieldValid: boolean = !StringExtensions.isNullOrWhitespace(item.fieldValue) && isAdditionalFieldValid(item.fieldValue);\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: isFieldValid,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n return additionalPropertyStates;\n };\n\n /**\n * _validateOrderLookupForm submit.\n * @returns - Returns boolean.\n */\n private readonly _validateOrderLookupForm = (): boolean => {\n const { config } = this.props;\n const { orderNumber, email } = this.state;\n const { orderStatusLookUpParametersType } = config;\n let additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isValid = false;\n let isDisable = false;\n\n if (ArrayExtensions.hasElements(this.state.additionalProperties)) {\n additionalPropertyStates = this._additionalFieldValidation();\n for (const item of additionalPropertyStates) {\n if (!item.isValidFieldName) {\n isDisable = true;\n }\n }\n\n if (isDisable) {\n this.setState({\n additionalProperties: additionalPropertyStates,\n isDisabled: true\n });\n }\n }\n\n if (StringExtensions.isNullOrWhitespace(orderNumber)) {\n this.setState({\n isOrdNumberError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderNumber.trim() !== orderNumber) {\n this.setState({\n isOrdNumberError: true,\n isReqError: false,\n isDisabled: true\n });\n } else if (\n orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email &&\n StringExtensions.isNullOrWhitespace(email)\n ) {\n this.setState({\n isEmailError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email && !isEmailValid(email)) {\n this.setState({\n isValidEmailError: true,\n isDisabled: true\n });\n } else if (isDisable || !this.state.isValidLookupField || this.state.isValidAdditionalLookupField) {\n this.setState({\n isDisabled: true\n });\n } else {\n this.setState({\n isDisabled: false\n });\n isValid = true;\n }\n return isValid;\n };\n}\n\nexport default OrderLookup;\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderLookupViewProps } from './order-lookup';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns - Returns JSX Element.\n */\nexport const OrderLookupViewComponent: React.FC = props => {\n const {\n orderLookup,\n orderLookupContainer,\n orderLookupAdditionalFieldContainer,\n heading,\n paragraph,\n orderLookupForm,\n renderOrderLookupInputField,\n orderNumberInput,\n errorMessage,\n submitButton,\n additionalProperties,\n registeredUserMessage,\n fieldErrorMessage\n } = props;\n return (\n \n \n {heading}\n {paragraph}\n \n {orderNumberInput}\n {renderOrderLookupInputField}\n {ArrayExtensions.hasElements(additionalProperties) && (\n \n {additionalProperties.map((item: JSX.Element) => (\n {item}\n ))}\n \n )}\n {fieldErrorMessage}\n \n {props.submitButtonLabelText}\n \n {errorMessage}\n \n {registeredUserMessage}\n \n \n );\n};\n\nexport default OrderLookupViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ProductSearchResult, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, ObjectExtensions, Random } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { getCatalogId } from '@msdyn365-commerce/core';\nimport { ProductComparisonItem, ProductComparisonState } from '../product-comparison-state';\nimport { IProductComparisonButtonProps } from './product-comparison-button.props.autogenerated';\n\n/**\n * Represents product comparison view props.\n */\nexport interface IProductComparisonButtonViewProps extends IProductComparisonButtonProps<{}> {\n moduleProps: IModuleProps;\n productComparisonButton?: React.ReactNode;\n productComparisonPreview?: React.ReactNode;\n}\n\n/**\n * Represents the data which is required for the product comparison button to be rendered.\n */\nexport interface IProductComparisonButtonData {}\n\n/**\n * Extended props for the module including info about the product.\n */\nexport interface IProductComparisonButtonFullProps extends IProductComparisonButtonProps {\n product: ProductSearchResult | SimpleProduct;\n catalogId: number;\n}\n\n/**\n * Extended props for the module including info about the product.\n */\nexport interface IProductComparisonButtonState {\n canProductBeAddedToProductComparison: boolean;\n currentProductsCount: number;\n comparisonItemId: string;\n}\n\n/**\n * Represents the component which renders product comparison table.\n */\nexport class ProductComparisonButton extends React.PureComponent {\n private static _productComparisonPreview?: React.ReactNode;\n\n private readonly _className: string;\n\n private readonly _instanceId: string;\n\n private readonly _shouldUsePreview: boolean;\n\n private static _renderProductComparisonPreview(props: IProductComparisonButtonFullProps): React.ReactNode {\n if (!ProductComparisonButton._productComparisonPreview && ArrayExtensions.hasElements(props.slots.productComparisonPreview)) {\n ProductComparisonButton._productComparisonPreview = props.slots.productComparisonPreview[0];\n }\n\n return ProductComparisonButton._productComparisonPreview;\n }\n\n private static _renderProductComparisonButton(\n className: string,\n buttonText: string | undefined,\n title: string,\n onClickHandler?: () => void\n ): React.ReactNode {\n const isDisabled = ObjectExtensions.isNullOrUndefined(onClickHandler);\n let content: React.ReactNode;\n if (buttonText) {\n content = (\n <>\n
\n
{buttonText}
\n \n );\n }\n return (\n \n );\n }\n\n public constructor(props: IProductComparisonButtonFullProps) {\n super(props);\n\n this._className = 'ms-product-comparison-button';\n this._instanceId = `${this._className}-${this.props.id}-${Random.Guid.generateGuid()}`;\n\n this.state = this._getNewState();\n\n this._shouldUsePreview = !ProductComparisonButton._productComparisonPreview;\n ProductComparisonButton._renderProductComparisonPreview(this.props);\n }\n\n public componentDidMount(): void {\n ProductComparisonState.instance(this.props.context.request).listModifiedEvent.subscribe({\n instanceId: this._instanceId,\n\n /**\n * Updates the state in case the state for the particular product was changed.\n */\n handler: () => {\n this.setState(this._getNewState());\n }\n });\n }\n\n public getSnapshotBeforeUpdate(previousProps: Readonly): void {\n if (previousProps.product.RecordId !== this.props.product.RecordId || previousProps.catalogId !== this.props.catalogId) {\n this.setState(this._getNewState());\n }\n }\n\n public componentWillUnmount(): void {\n ProductComparisonState.instance(this.props.context.request).listModifiedEvent.unsubscribe(this._instanceId);\n }\n\n public render(): React.ReactNode | null {\n const isConsentGiven = this.props.context.request.cookies.isConsentGiven();\n if (!isConsentGiven) {\n return null;\n }\n\n const viewProps: IProductComparisonButtonViewProps = {\n ...this.props,\n moduleProps: {\n moduleProps: this.props,\n className: this._className\n }\n };\n\n if (this._shouldUsePreview) {\n viewProps.productComparisonPreview = ProductComparisonButton._productComparisonPreview;\n }\n\n const buttonClassName = this.props.config.shouldDisplayText ? `${this._className}__button` : `${this._className}__icon`;\n\n if (!this.state.canProductBeAddedToProductComparison) {\n const buttonText = this.props.config.shouldDisplayText ? this.props.resources.removeFromComparisonButtonText : undefined;\n viewProps.productComparisonButton = ProductComparisonButton._renderProductComparisonButton(\n classnames(`${buttonClassName}__removing`, buttonClassName),\n buttonText,\n this.props.resources.removeFromComparisonButtonText,\n this._removeFromProductComparison\n );\n return this.props.renderView(viewProps);\n }\n\n const productsLimit = this._getProductsLimit();\n if (!ObjectExtensions.isNullOrUndefined(productsLimit) && productsLimit <= this.state.currentProductsCount) {\n const buttonText = this.props.config.shouldDisplayText ? this.props.resources.addToComparisonLimitReachedButtonText : undefined;\n viewProps.productComparisonButton = ProductComparisonButton._renderProductComparisonButton(\n buttonClassName,\n buttonText,\n this.props.resources.addToComparisonLimitReachedButtonText\n );\n return this.props.renderView(viewProps);\n }\n\n const buttonText = this.props.config.shouldDisplayText ? this.props.resources.addToComparisonButtonText : undefined;\n viewProps.productComparisonButton = ProductComparisonButton._renderProductComparisonButton(\n buttonClassName,\n buttonText,\n this.props.resources.addToComparisonButtonText,\n this._addToProductComparison\n );\n return this.props.renderView(viewProps);\n }\n\n private _getProductsLimit(): number | undefined | null {\n const viewport = isMobile({ variant: VariantType.Browser, context: this.props.context.request });\n if (viewport === 'xs' || viewport === 'sm') {\n return this.props.context.app.config.productComparisonMobileProductsLimit;\n }\n return this.props.context.app.config.productComparisonDesktopProductsLimit;\n }\n\n /**\n * Adds current product to a product comparison list.\n */\n private readonly _addToProductComparison: () => void = () => {\n const item = new ProductComparisonItem(this.props.product.RecordId, this.props.catalogId);\n ProductComparisonState.instance(this.props.context.request).addItem(item);\n };\n\n /**\n * Removes current product from the product comparison list where it was added earlier.\n */\n private readonly _removeFromProductComparison: () => void = () => {\n ProductComparisonState.instance(this.props.context.request).removeItemById(this.state.comparisonItemId);\n };\n\n private _getProdutComparisonDataByCatalogId(): ProductComparisonItem[] {\n const items = ProductComparisonState.instance(this.props.context.request).items;\n const catalogId = getCatalogId(this.props.context.request);\n const productByCatalogId = items?.filter(product => product.catalogId === catalogId) ?? [];\n return productByCatalogId;\n }\n\n /**\n * Retrieves the state of the component based on the comparison data.\n * @returns State object for the component.\n */\n private readonly _getNewState: () => IProductComparisonButtonState = () => {\n const comparisonItemId = ProductComparisonItem.getItemId(this.props.product.RecordId, this.props.catalogId);\n const products = this._getProdutComparisonDataByCatalogId();\n return {\n comparisonItemId,\n canProductBeAddedToProductComparison: !ProductComparisonState.instance(this.props.context.request).hasItemById(\n comparisonItemId\n ),\n currentProductsCount: products.length\n };\n };\n}\n\nexport default ProductComparisonButton;\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 { IProductComparisonButtonViewProps } from './product-comparison-button';\n\n/**\n * Represents product comparison button view.\n * @param props - View props for product comparison button.\n * @returns Functional component of product comparison button.\n */\nexport const ProductComparisonButtonViewFunctionalComponent: React.FC = props => {\n const { productComparisonButton, productComparisonPreview } = props;\n\n return (\n \n {productComparisonButton}\n {productComparisonPreview}\n \n );\n};\n\nexport default ProductComparisonButtonViewFunctionalComponent;\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 { 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 && slots.socialShareItems.length === 0) {\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) {\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 { 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 {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHeader,\n IList,\n IOrderHistoryViewProps,\n IOrderInformation,\n ISalesOrder\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderHistoryOrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n channelName,\n createdDate,\n count,\n amount,\n channelReferenceId\n}) => (\n \n {channelName}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const OrderHistoryGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {processing}\n {address}\n {trackingInfo}\n \n);\n\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n \n {heading}\n {orderCountLabel}\n {extraActions}\n \n);\n\nexport const OrderHistorySalesOder: React.FC = ({\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n}) => (\n \n {orderInfomation && }\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n \n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder, index) => )}\n \n);\n\nconst OrderHistoryView: React.FC = ({\n orderHistoryProps,\n header,\n alert,\n loading,\n emptyMessage,\n backToShoppingLink,\n list,\n table,\n moreButton\n}) => (\n \n {header && }\n {loading}\n {alert && (\n <>\n {alert}\n {backToShoppingLink}\n \n )}\n {emptyMessage && (\n \n {emptyMessage}\n {backToShoppingLink}\n \n )}\n {list && }\n {table}\n {moreButton && moreButton}\n \n);\n\nexport default OrderHistoryView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchData, ISearchViewProps } from '@msdyn365-commerce-modules/search';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Categories heading.\n * @param inCategoriesHeading - The Keywords result heading.\n * @returns The JSX Element.\n */\nconst renderCategorySuggestionsTitle = (inCategoriesHeading: string): JSX.Element => {\n const categoryAutoSuggestionHeading = inCategoriesHeading ? inCategoriesHeading : 'In categories';\n\n return
{categoryAutoSuggestionHeading}
;\n};\n\n/**\n * Render Categories suggestion result.\n * @param inCategoriesHeading - The Categories result heading.\n * @param noResultText - The \"No Result\" text.\n * @param props - The Categories suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns The JSX Element.\n */\nexport const CategorySuggestionsComponent = (\n inCategoriesHeading: string,\n noResultText: string,\n props: ISearchViewProps & ISearchProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n return props.autosuggestCategory ? (\n \n {renderCategorySuggestionsTitle(inCategoriesHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n props.autosuggestCategory.text.map(text => {\n return text;\n })}\n \n \n ) : (\n \n {renderCategorySuggestionsTitle(inCategoriesHeading)}\n \n
  • {noResultText}
  • \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 { IImageData, Image } from '@msdyn365-commerce/core';\nimport { ISearchData } from '@msdyn365-commerce-modules/search';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n if (!noSearchResultImage || !noSearchResultImage.src) {\n return null;\n }\n const imageSettings = {\n lazyload: true,\n viewports: {\n xs: { w: 100, h: 100, q: 'w=100&h=100&q=60&m=6' }\n }\n };\n return (\n \n );\n};\n\n/**\n * Render Product suggestion result.\n * @param props -The props.\n * @returns The JSX Element.\n */\nexport const MobileAutoSuggestEmptyComponent = (props: ISearchProps): JSX.Element => {\n return (\n \n
    {renderProductNotFoundResultsImage(props)}
    \n
    \n
    {props.resources.emptyMobileSearchTextHeading}
    \n
    {props.resources.emptyMobileSearchText}
    \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 { ISearchData, ISearchFormViewProps } from '@msdyn365-commerce-modules/search';\nimport { Button, INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\nimport { MobileAutoSuggestEmptyComponent } from './search.mobile.empty';\n\n/**\n * Render Clear button for mobile viewport.\n * @param clearSearchButtonText -The Clear button text.\n * @param clearSearch -Clear Search callback.\n * @returns -The JSX Element.\n */\nconst renderClearButton = (clearSearchButtonText: string, clearSearch: () => void): JSX.Element => {\n return (\n \n );\n};\n\n/**\n * Render Search form.\n * @param form -Form view props.\n * @param searchForm -Search Form props.\n * @param formWrapper -Form Wrapper props.\n * @param isMobile -Is mobile viewport flag.\n * @param clearSearchButtonText -The Clear button text.\n * @param props -The props for resource.\n * @param isSearchText -Is SearchText flag for input text.\n * @param clearSearch -Clear Search callback.\n * @returns -The JSX Element.\n */\nexport const FormComponent = (\n form: ISearchFormViewProps,\n searchForm: INodeProps,\n formWrapper: INodeProps,\n isMobile: boolean,\n clearSearchButtonText: string,\n props: ISearchProps,\n isSearchText: boolean,\n clearSearch: () => void\n): JSX.Element => {\n const cancelButtonNode = (\n \n );\n\n return isMobile ? (\n \n {form.cancelBtn}\n \n {form.input}\n {isSearchText && renderClearButton(clearSearchButtonText, clearSearch)}\n {!isSearchText ? MobileAutoSuggestEmptyComponent(props) : null}\n \n \n ) : (\n \n \n {form.submitBtn}\n {form.input}\n {isSearchText && cancelButtonNode}\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 { ISearchKeywordViewProps } from '@msdyn365-commerce-modules/search';\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\n/**\n * Render keywords heading.\n * @param keywordsHeading -The Keywords result heading.\n * @returns The JSX Element.\n */\nconst renderKeywordSuggestionsTitle = (keywordsHeading: string): JSX.Element => {\n const categoryAutoSuggestionHeading = keywordsHeading ? keywordsHeading : 'Keywords';\n\n return
    {categoryAutoSuggestionHeading}
    ;\n};\n\n/**\n * Render keywords reults.\n * @param keywordSuggest -The Keywords suggest Node props.\n * @param ulKeyword -The List Node props.\n * @param keywordsHeading -The Keywords result heading.\n * @param noResultText -The \"No Result\" text.\n * @param keywordSuggestions -The Keywords suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns -The JSX Element.\n */\nexport const KeywordSuggestionsComponent = (\n keywordSuggest: INodeProps,\n ulKeyword: INodeProps,\n keywordsHeading: string,\n noResultText: string,\n keywordSuggestions?: ISearchKeywordViewProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n return keywordSuggestions ? (\n \n {renderKeywordSuggestionsTitle(keywordsHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n keywordSuggestions.text.map(text => {\n return text;\n })}\n \n \n ) : (\n \n {renderKeywordSuggestionsTitle(keywordsHeading)}\n \n
  • {noResultText}
  • \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 { IImageData, Image } from '@msdyn365-commerce/core';\nimport { ISearchData, ISearchProductViewProps } from '@msdyn365-commerce-modules/search';\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Products Suggestion result heading.\n * @param productSuggestionsHeading -The products suggestion result heading.\n * @returns The JSX Element.\n */\nconst renderProductSuggestionsTitle = (productSuggestionsHeading: string): JSX.Element => {\n const productAutoSuggestionHeading = productSuggestionsHeading ? productSuggestionsHeading : 'Products';\n\n return
    {productAutoSuggestionHeading}
    ;\n};\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n if (!noSearchResultImage || !noSearchResultImage.src) {\n return null;\n }\n return (\n \n );\n};\n\n/**\n * Render Products No result section.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResults = (props: ISearchProps): JSX.Element => {\n return (\n \n
    {renderProductNotFoundResultsImage(props)}
    \n
    {props.resources.noResultContentHeadingText}
    \n
    \n {props.resources.noResultContentParagraphText}\n
    \n
    \n );\n};\n\n/**\n * Render Product suggestion result.\n * @param productSuggest -The product suggest Node props.\n * @param ulProduct -The List Node props.\n * @param props -The props.\n * @param productSuggestions -The Product suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns The JSX Element.\n */\nexport const ProductSuggestionsComponent = (\n productSuggest: INodeProps,\n ulProduct: INodeProps,\n props: ISearchProps,\n productSuggestions?: ISearchProductViewProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n const liProduct: INodeProps = {\n tag: 'li',\n className: 'msc-no-result-content'\n };\n return productSuggestions ? (\n \n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n productSuggestions.items.map((item, index) => {\n return (\n \n \n {item.thumbnail}\n {item.text}\n {item.price}\n \n \n );\n })}\n \n \n ) : (\n \n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n \n {renderProductNotFoundResults(props)}\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 { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { ISearchData, ISearchFormViewProps, ISearchViewProps } from '@msdyn365-commerce-modules/search';\nimport { Button, format, isMobile, Module, Node, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { ISearchProps } from '../definition-extensions/search.ext.props.autogenerated';\nimport { CategorySuggestionsComponent } from './components/search.categorysuggest';\nimport { FormComponent } from './components/search.form';\nimport { KeywordSuggestionsComponent } from './components/search.keywordsuggest';\nimport { ProductSuggestionsComponent } from './components/search.productsuggest';\n\n/**\n * Render Title for AutoSuggest.\n * @param searchSuggestionHeading -The heading resource string.\n * @param searchText -The search string.\n * @returns -The JSX Element.\n */\nconst renderTitle = (searchSuggestionHeading: string, searchText: string): JSX.Element => {\n const searchTextString = '\"'.concat(searchText.concat('\"'));\n const searchAutoSuggestionHeading = searchSuggestionHeading\n ? format(searchSuggestionHeading, searchTextString)\n : `Search for ${searchTextString}`;\n\n return {searchAutoSuggestionHeading};\n};\n\n/**\n * Search View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\nconst SearchView: React.FC> = (\n props: ISearchViewProps & ISearchProps\n): JSX.Element => {\n const {\n Search,\n AutoSuggestAriaLabel,\n AutoSuggestAriaLabelText,\n searchText,\n AutoSuggest,\n KeywordSuggest,\n ProductSuggest,\n UlKeyword,\n UlProduct,\n form,\n autosuggestKeyword,\n autosuggestProduct,\n SearchForm,\n FormWrapper,\n label,\n context,\n isLoadingAutoSuggest,\n isLoadingNode\n } = props;\n\n const { searchSuggestionHeading, categorySuggestionHeading, keywordsHeading, noResultText, clearSearchButtonText } = props.resources;\n\n const [searchTextString, setSearchTextString] = useState();\n const [isMobilePort, setIsMobile] = useState(false);\n\n useEffect(() => {\n setSearchTextString(searchText);\n }, [searchText]);\n\n /**\n * ClearSearch callback method to clear search string.\n */\n const clearSearch = (): void => {\n setSearchTextString('');\n\n const propsForm = props.form as ISearchFormViewProps;\n const propsFormInput = propsForm.input as React.DetailedHTMLProps, HTMLInputElement>;\n const propsFormInputCurrent = (propsFormInput.ref as React.RefObject).current;\n\n if (propsFormInputCurrent) {\n propsFormInputCurrent.value = '';\n }\n\n propsFormInput.value = '';\n props.searchText = '';\n props.FormWrapper.action = '';\n };\n\n const isMobileViewport = useCallback(() => {\n const isMobileView = isMobile({ variant: VariantType.Browser, context: context.request }) === 'xs';\n setIsMobile(isMobileView);\n }, [context]);\n\n useEffect(() => {\n window.addEventListener('resize', isMobileViewport);\n isMobileViewport();\n }, [isMobileViewport]);\n\n const viewport = isMobile({ variant: VariantType.Browser, context: context.request });\n\n const isMobileView = viewport === 'sm' || viewport === 'xs';\n\n AutoSuggest.className = !StringExtensions.isNullOrEmpty(searchTextString)\n ? `${AutoSuggest.className} show`\n : `${AutoSuggest.className} hide`;\n const isSearchText: boolean = !StringExtensions.isNullOrEmpty(searchTextString);\n\n return (\n \n {label}\n {FormComponent(\n form as ISearchFormViewProps,\n SearchForm,\n FormWrapper,\n isMobilePort,\n clearSearchButtonText,\n props,\n isSearchText,\n clearSearch\n )}\n {!isMobileView && (\n \n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n {AutoSuggestAriaLabelText}\n ) : (\n ''\n )}\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n <>\n \n \n {renderTitle(searchSuggestionHeading, searchText)}\n \n \n \n {CategorySuggestionsComponent(\n categorySuggestionHeading,\n noResultText,\n props,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n {KeywordSuggestionsComponent(\n KeywordSuggest,\n UlKeyword,\n keywordsHeading,\n noResultText,\n autosuggestKeyword,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n {ProductSuggestionsComponent(\n ProductSuggest,\n UlProduct,\n props,\n autosuggestProduct,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n \n ) : null}\n \n )}\n {isMobileView && props.isSearchFormExpanded && (\n \n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n {AutoSuggestAriaLabelText}\n ) : (\n ''\n )}\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n <>\n \n {(form as ISearchFormViewProps).cancelBtn}\n {renderTitle(searchSuggestionHeading, searchText)}\n \n \n \n {CategorySuggestionsComponent(\n categorySuggestionHeading,\n noResultText,\n props,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n {KeywordSuggestionsComponent(\n KeywordSuggest,\n UlKeyword,\n keywordsHeading,\n noResultText,\n autosuggestKeyword,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n {ProductSuggestionsComponent(\n ProductSuggest,\n UlProduct,\n props,\n autosuggestProduct,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n \n ) : null}\n \n )}\n \n );\n};\nexport default SearchView;\n"],"names":["AbsoluteChartContainer","React","render","config","this","props","ColumnHeading1","columnHeading1","ColumnHeading2","columnHeading2","ColumnHeading3","columnHeading3","ColumnHeading4","columnHeading4","ColumnHeading5","columnHeading5","slots","row1","length","context","telemetry","error","row2","row3","row4","row5","row6","row7","row8","row9","row10","viewprops","_objectSpread","row1categories","Row1List","moduleProps","className","classnames","tag","Row1ListItem","row2categories","Row2List","Row2ListItem","row3categories","Row3List","Row3ListItem","row4categories","Row4List","Row4ListItem","row5categories","Row5List","Row5ListItem","row6categories","Row6List","Row6ListItem","row7categories","Row7List","Row7ListItem","row8categories","Row8List","Row8ListItem","row9categories","Row9List","Row9ListItem","row10categories","Row10List","Row10ListItem","renderView","AbsoluteChartContainerView","Module","Object","assign","map","row1category","index","Node","key","row2category","row3category","row4category","row5category","row6category","row7category","row8category","row9category","row10category","getBackgroundRepeatProperty","size","repeat","getBackgroundSizeProperty","buildBackgroundImageStylesByViewport","_request$gridSettings","containerType","image","request","configs","gridSettings","imageSettings","styles","largestGridSettingViewportName","getLargestGridSettingViewportName","authoringViewPorts","getAuthoringViewport","moduleName","layout","msdyn365Commerce","authoringHelper","window","_msdyn365","constructViewportInformationForImage","themeSettings","imgSettings","viewports","_cloneDeep2","xs","w","h","sm","md","lg","xl","skipWidthAndHeightSettings","keys","vp","_imgSettings$viewport","viewport","minMaxWidth","getMinMaxWidth","urlSrc","getImageResizeUrl","src","externalProvider","apiSettings","maxWidth","max","minWidth","min","minHeight","backgroundImage","backgroundRepeat","backgroundSize","backgroundPosition","setStyleAttribute","currentStyle","style","undefined","getDataBgSetAttribute","dataBgSetAttributes","push","join","BACKGROUND_IMAGE_CLASS_NAME","BackgroundImage","constructor","state","super","stylesByViewport","_onChangeHandler","bind","_getCurrentStyle","mounted","_componentResize","updateAttributes","componentDidMount","addEventListener","componentWillUnmount","removeEventListener","shouldComponentUpdate","nextProps","nextState","_this$props$request","_nextProps$request","_this$props$image","_nextProps$image","_this$props$image2","_nextProps$image2","children","backgroundImageClassName","isAuthoringEditEnabled","processedAtributes","_processAttributes","_isLazyload","attributes","_getAttributes","eventHandlers","onDoubleClick","_getDefaultAttributes","_unused","lazyLoad","getBackgroundImageLazyloadAttributes","role","getBackgroundImageAttributes","event","target","currentTarget","binding","eventTarget","$type","value","selectedStyle","_isEqual2","setState","winInnerWidth","innerWidth","_this$stylesByViewpor","_this$stylesByViewpor2","_this$stylesByViewpor3","_this$stylesByViewpor4","Number","MAX_SAFE_INTEGER","_getDefaultStyle","_this$props$image3","_this$props$image3$im","disableLazyLoad","getContainerType","Container","typeName","id","backgroundImageRepeat","backgroundImageSize","moduleLayout","ariaLabel","customClassName","customAriaLabel","containerContent","colWidths","Map","childrenWidth","HeadingTag","LiquidContainer","log","LogLevel","values","heading","msdyn365__moduleLayout","text","Heading","headingTag","content","_getChildColClassName","layoutEnum","childrenWidthEnum","_getWidthClass","s","get","_ref","links","cta","btnClass","title","linkText","href","linkUrl","destinationUrl","openInNewTab","ContentBlock","paragraph","identifier","outboundLink","contentBlockTitle","imageProps","contentBlockLinks","LinksComponent","contentBlockText","Msdyn365","contentBlockImage","OutboundLink","ContentBlockTeamviewProps","moduleClass","contentBlockContainer","imageContainer","detailsContainer","ObrienTeamContainer","TeamHeading1","teamHeading1","ObrienTeamContainerView","Dropdown","selectMenu","_onChanged","async","selectedIndex","onChange","dropdownId","selectId","selectedValue","innerText","payLoad","getPayloadObject","telemetryContent","dropdownName","current","dropdownList","dropdownToggleName","attribute","getTelemetryAttributes","ref","selected","hidden","disabled","item","toString","getProductConfigure","pageName","selectDimensionFormatString","resources","callbacks","product","productDimensions","configureErrors","getDropdownName","onChanged","notification","dimensionChanged","dimensionSelectedAsync","getTelemetryObject","telemetryPageName","ArrayExtensions","dropdowns","productDimensionFull","mapProductDimensionFullToDropdownViewProps","dropdownCallback","DimensionTypeValue","replace","toLocaleLowerCase","DimensionValues","dM","Value","RecordId","errorMessage","containerProps","labelContainerProps","htmlFor","errors","select","_renderForm","form","SearchForm","FormWrapper","input","cancelBtn","submitBtn","_renderKeywordSuggestions","KeywordSuggest","UlKeyword","keywordSuggestions","_renderProductSuggestions","ProductSuggest","UlProduct","productSuggestions","items","LiProduct","AProduct","thumbnail","price","_renderCategorySuggestions","CategorySuggest","UlCategory","categorySuggestions","Search","AutoSuggestAriaLabel","AutoSuggestAriaLabelText","searchText","AutoSuggest","autosuggestCategory","autosuggestKeyword","autosuggestProduct","label","_renderInput","type","pattern","SignInLoading","_ref3","modal","modalBody","icon","message","signIn","viewState","loading","defaultAADConainer","aadConainer","signInSection","signUpSection","signInSectionHeading","signInLocalAccount","signInSocialAccount","signUpSectionHeading","signUpDescription","signUpLink","isShowLoading","localAccount","forgetPassword","disclaimer","signInButton","wrapper","LocalAccount","_ref2","socialAccounts","button","SocialAccount","AccountInvoiceTileDescription","description","_mapEditableLinks","linkdata","editableLinks","forEach","link","contentAction","etext","editableLink","additionalProperties","requestContext","onTextChange","editProps","AccountInvoiceTile","handleHeadingChange","handleLinkTextChange","linkIndex","friendlyName","_data$customerBalance","data","cultureFormatter","formatCurrency","currencyCode","accountInvoiceTileDescription","invoiceTotalAmount","customerBalance","result","OpenInvoiceBalance","toFixed","format","viewProps","onEdit","AccountLoyaltyTile","signUpLinkText","viewLinkText","signUpLinkAriaLabel","viewLinkAriaLabel","accountLoyaltySummary","accountLoyaltyMemberSummary","loyaltyCard","url","actionContext","CardNumber","decimalPrecision","points","RewardPoints","rewardPoint","ActivePoints","DescriptionComponent","AccountOrderTemplatesTileDescription","AccountOrderTemplatesTileLinks","AccountOrderTemplatesTile","_this$props$data$feat","_this$props$data$cust","RetailB2BEcommerceFeatureState","featureState","find","Name","params","isEditor","IsEnabled","customerInformation","IsB2b","accountOrderTemplatesTileDescription","orderTemplates","orderTemplatesCount","AccountProfileEdit","moduleClassName","onTextBoxChange","toLowerCase","givenName","surname","emailRegex","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","isInitialized","invalidEmailAddressError","obj","PRE","_htmlDecode","ID","email","PAT","PAT_DESC","required_field","requiredFieldMissingError","verifying_blurb","loadingMessage","EmailRegex","componentDidUpdate","accountProfileEdit","Modal","isOpen","ModalBody","AccountProfileEditLoadingIconComponent","AccountProfileEditLoadingMessageComponent","display","accountProfileEditLocalAccount","_renderLocalAccount","str","e","document","createElement","innerHTML","childNodes","nodeValue","firstNameLabelText","firstNameMaxLength","lastNameLabelText","lastNameMaxLength","AccountProfileEditErrorComponent","requiredFieldMissingSummaryError","fieldIncorrectError","buttonsWrapper","buttons","AccountProfileEditButtonComponent","saveButtonAriaLabel","saveButtonText","cancelButtonText","verificationSuccessModal","verificationSuccessModalMessage","showEmail","emailAddressLabelText","labelText","maxLength","AccountProfileEditLabelComponent","forId","AccountProfileEditInputComponent","__decorate","observable","observer","AccountProfileEditItem","AccountProfileEditLoading","onClick","Button","errorClassName","GetMaxLength","parsedMaxLength","parseInt","isNaN","AccountOrganizationUsersTileDescription","AccountOrganizationUsersTileLinks","OrganizationUsersTile","accountOrganizationUsersTileDescriptionForSingleUser","accountOrganizationUsersTileDescriptionForMultipleUsers","numUsers","users","accountOrganizationUsersTileDescription","IsB2bAdmin","PasswordReset","newPasswordRegex","reenterPasswordRegex","PasswordRegex","passwordReset","PasswordResetLoadingIconComponent","PasswordResetLoadingMessageComponent","passwordResetLocalAccount","newPasswordLabelText","confirmPasswordLabelText","PasswordResetErrorComponent","passwordEntryMismatchError","PasswordResetButtonComponent","PasswordResetLabelComponent","PasswordResetInputComponent","PasswordResetItem","PasswordResetLoading","CatalogPicker","handleTextChange","handleParagraphChange","_heading$tag","_this$props$data$cata","catalogPickerHeading","Text","_moduleClassName","isCatalogsAvailable","catalogs","catalogPickerParagraph","RichTextComponent","catalogValidationText","handleText","catalogPicker","_renderCatalogPicker","_renderCatalogPickerButton","catalogId","getCatalogId","currentCatalogText","linkToCatalog","_getUrlSync","catalogUrl","getUrlSync","fullUrl","URL","location","searchParams","set","changeCatalogButtonText","_this$props$data$cata2","isBrowser","reactKey","JSON","stringify","String","Images","tabIndex","Image","generateImageUrl","Uri","galleryImageSettings","altText","AltText","loadFailureBehavior","CatalogPickerViewFunctionComponent","assembleNode","itemIndex","_item$links","headingNode","renderHeading","additionalContentHeading","handleAdditionalTextChange","paragraphNode","subtext","renderParagraph","additionalContentParagraphText","linksNode","ctaLink","renderLinks","handleAdditionalLinkTextChange","additionalContentItemContainer","additionalContentItemLinks","contentBlockAdditionalContent","additionalContent","reactNodes","additionalContentNode","additionalContentItems","ContentCardLinks","onTelemetryClick","_this$props$context$r","_this$props$config$im","imageAriaLabel","preserveImageSpace","moduleType","imagePropertyName","moduleId","shouldSkipToMainImage","contentBlockviewProps","contentBlockAnchorTag","imageLink","_getImageLink","handleAdditionalParagraphChange","handleAdditionalText","handleAdditionalParagraph","additionalContentObject","actionableRegion","renderAdditionalContent","_additionalContent$ad","OrderHistoryOrderInfomation","orderInformationProps","salesId","receiptId","channelName","createdDate","count","amount","channelReferenceId","OrderHistoryGroupDelivery","deliveryProps","processing","address","trackingInfo","OrderHistoryGroup","groupProps","delivery","salesLinesProps","salesLines","salesLine","LineId","OrderHistoryGroups","_ref4","groupsProps","groups","group","OrderHistoryHeader","_ref5","headerProps","orderCountLabel","extraActions","OrderHistorySalesOder","_ref6","salesOrderProps","orderInfomation","orderDetailsLink","expandProductsButton","OrderHistoryList","_ref7","listProps","salesOrders","salesOrder","_ref8","orderHistoryProps","header","alert","emptyMessage","backToShoppingLink","list","table","moreButton","buildReviewCard","cardProps","rating","name","date","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","ratingHelpfulLabel","like","dislike","edit","report","createReviewModal","modalHeader","inputRow","ratingLabel","titleLabel","titleInput","textLabel","textInput","privacyPolicyUrl","modalFooter","submitButton","cancelButton","createReportModal","reported","headerSubmitted","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","averageRating","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","reviewCount","reviewModal","sortByDropdown","userReview","isFilterApplied","review","labelGroup","renderErrorLabel","responseErrorMessage","errorMessageClassName","renderRegisteredUserMessage","signInUrl","signInLinkClassName","registeredUserClassName","orderLookupRegisteredUserText","orderLookupViewAccountText","orderLookupSignInLinkText","infoMessage","signInText","renderFieldErrors","orderLookupFieldValidationErrorMessage","RenderOrderLookupAdditionalFieldInput","_getOrderLookupAdditionalFields","additionalFieldLabel","additionalFieldError","additionalFieldInput","additionalFieldLabelClassName","inputType","isValidAdditionalFieldName","additionalFieldValidationMessage","RenderOrderLookupFormFields","_getOrderLookupFields","orderLookupLabelClassName","orderLookupLabel","inputReference","fieldErrorClassName","isInputTypeError","renderAlert","isValidInputField","OrderLookupSearchValues","OrderLookup","isEmailValue","isOrderNumberValue","orderLookupExtensibleEnum","handleSubmit","orderNumber","orderLookupValue","orderStatusLookUpParametersType","orderLookupName","_validateOrderLookupForm","_Msdyn365$getUrlSync","actionContextValue","orderDetailsPath","baseUrl","origin","redirectUrl","searchParameters","fieldName","StringExtensions","fieldValue","_this$orderNumberInpu","_this$emailInputRef$c","orderNumberInputRef","emailInputRef","additionalPropertyStates","isAdditionalFieldError","isKeyExistInAdditionalFieldArray","labelName","isValidFieldName","additionalfieldErrorMessage","ordernumber","isOrdNumberError","isReqError","isEmailError","isValidEmailError","isValidLookupField","isValidAdditionalLookupField","isDisabled","_renderAlert","orderLookupEmailValidationErrorMessage","orderLookupRequiredTextErrorMessage","requiredErrorMessage","emailValidationErrorMessage","isRequireError","isEmailValidError","isValidEmailInput","_renderOrderNumberAlert","orderLookupOrderNumberValidationErrorMessage","_renderOrderLookupInput","orderLookupEmailLabel","orderLookupEmailAriaLabel","_additionalFieldValidation","isFieldValid","RegExp","test","isValid","isDisable","trim","isEmailValid","orderLookupSearchAdditionalFields","_item$labelName","_item$ariaLabel","_item$validationMessa","validationMessage","_context$request$user","orderLookupDefaultHeadingText","orderLookupButtonLabel","orderLookupFormAriaLabel","orderLookupOrderNumberLabel","orderLookupOrderNumberAriaLabel","orderLookupSubmitAriaLabel","headingText","orderLookupContainerClassName","orderLookupFormClassName","orderLookupAdditionalFiledContainerClassName","orderLookupFormFieldsClassName","orderNumberLabelClassName","orderNumberInputErrorClassName","submitButtonClassName","signinLinkClassName","orderLookupHeading","orderLookup","orderLookupContainer","orderLookupAdditionalFieldContainer","_createParagraph","renderOrderLookupInputField","orderLookupForm","autoComplete","onSubmit","orderNumberInput","submitButtonLabelText","fieldErrorMessage","registeredUserMessage","user","submit","_renderAdditionalFields","_getExtensibleEnumera","_getExtensibleEnumera2","isOrderLookupAdditionalFieldValid","isOrderLookupFieldValid","getExtensibleEnumerations","StoreOperationsDataActions","callerContext","TypeName","ExtensibleEnumerations","orderLookupAdditionalParameter","validateOrderLookupField","orderStatusLookUpParameter","isValidField","validateOrderLookupAdditionalField","orderStatusLookUpAdditionalParameters","isValidAdditionalField","_item$fieldKey","fieldKey","validateAdditionalFieldWithProxy","some","setLookupFieldState","additionalFieldsInput","OrderLookupViewComponent","_orderLookupForm$clas","_submitButton$classNa","ProductComparisonButton","_addToProductComparison","ProductComparisonItem","ProductComparisonState","addItem","_removeFromProductComparison","removeItemById","comparisonItemId","_getNewState","products","_getProdutComparisonDataByCatalogId","canProductBeAddedToProductComparison","hasItemById","currentProductsCount","_className","_instanceId","Random","_shouldUsePreview","_productComparisonPreview","_renderProductComparisonPreview","static","productComparisonPreview","buttonText","onClickHandler","ObjectExtensions","listModifiedEvent","subscribe","instanceId","handler","getSnapshotBeforeUpdate","previousProps","unsubscribe","cookies","isConsentGiven","buttonClassName","shouldDisplayText","removeFromComparisonButtonText","productComparisonButton","_renderProductComparisonButton","productsLimit","_getProductsLimit","addToComparisonLimitReachedButtonText","addToComparisonButtonText","isMobile","variant","VariantType","app","productComparisonMobileProductsLimit","productComparisonDesktopProductsLimit","_items$filter","filter","ProductComparisonButtonViewFunctionalComponent","SitePicker","_cookieName","_cookieExpirationInSeconds","_escFunction","keyCode","expandSiteOptions","KeyCodes","_this$_sitePickerMenu","_this$_sitePickerMenu2","_this$_sitePickerMenu3","_this$_sitePickerMenu4","nextFocus","activeElement","_this$_sitePickerMenu5","_this$_sitePickerMenu6","_sitePickerMenuButton","contains","_sitePickerMenuNode","_resetSiteOptionsState","focus","_this$_sitePickerMenu7","_this$_sitePickerMenu8","_this$_sitePickerMenu9","_this$_sitePickerMenu10","_handleOutsideClick","_this$_sitePickerMenu11","_this$_sitePickerMenu12","_handleChange","_renderSiteOptions","_updateViewport","device","Type","_document","_document2","_document2$body","MsDyn365","body","resizeThrottledEventHandler","addThrottledEvent","_document3","_document4","_document4$body","_this$props$config$he","_this$props$config$he2","SitePickerMenu","SitePickerMenuSpan","SitePickerMenuList","SitePickerMenuListItem","SitePickerMobileContainer","Drawer","toggleButtonText","openGlyph","closeGlyph","glyphPlacement","isMobileView","SitePickerMenuListItemArray","_renderSitePickerImage","renderSiteOptions","resetSiteOptionsState","siteOptionsState","expandSiteOptionsState","preventDefault","cookieConfig","maxAge","defaultImageSettings","q","lazyload","siteOptions","_image$imageSettings","_item$siteRedirectUrl","siteImage","siteRedirectUrl","siteName","_getViewport","computed","_renderSitePicker","_renderSiteOptionsList","options","onMouseLeave","_props$SitePickerMenu","_renderMobileView","_props$config$heading","_renderDesktopView","SocialShare","socialShareItems","SocialShareList","caption","orientation","SocialShareItem","SocialShareItemElements","SocialShareView","SocialShareElement","TileList","_telemetryContent","_this$props$config$cl","propsCarousel","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","parentId","vertical","_createHeading","singleSlideCarouselComponentProps","tileItemContainer","tileListContainer","tileListHeading","tiles","tileListView","tileItem","keyIndex","renderCategorySuggestionsTitle","inCategoriesHeading","categoryAutoSuggestionHeading","CategorySuggestionsComponent","noResultText","isLoadingAutoSuggest","isLoadingNode","MobileAutoSuggestEmptyComponent","noSearchResultImage","renderProductNotFoundResultsImage","emptyMobileSearchTextHeading","emptyMobileSearchText","FormComponent","searchForm","formWrapper","clearSearchButtonText","isSearchText","clearSearch","cancelButtonNode","cancelBtnAriaLabel","renderClearButton","renderKeywordSuggestionsTitle","keywordsHeading","KeywordSuggestionsComponent","keywordSuggest","ulKeyword","renderProductSuggestionsTitle","productSuggestionsHeading","productAutoSuggestionHeading","renderProductNotFoundResults","noResultContentHeadingText","noResultContentParagraphText","ProductSuggestionsComponent","productSuggest","ulProduct","productSuggestionHeading","_item$id","renderTitle","searchSuggestionHeading","searchTextString","concat","searchAutoSuggestionHeading","categorySuggestionHeading","setSearchTextString","useState","isMobilePort","setIsMobile","useEffect","propsFormInput","propsFormInputCurrent","action","isMobileViewport","useCallback","isSearchFormExpanded"],"sourceRoot":""}