{"version":3,"file":"static/js/6.c665619c675fcfe00969.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-id-container/obrien-id-container.tsx?6384","webpack://Msdyn365.Commerce.Online/./src/modules/obrien-id-container/obrien-id-container.view.tsx?9f45","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/aad-generic/aad-generic.tsx?c076","webpack://Msdyn365.Commerce.Online/./src/modules/aad-generic/aad-generic.view.tsx?b418","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/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\n//import classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { IObrienIdContainerConfig, IObrienIdContainerProps } from './obrien-id-container.props.autogenerated';\r\n\r\n\r\nexport interface IObrienIdContainerViewProps extends IObrienIdContainerProps {\r\n\r\n simpleRowcategories?: React.ReactNode[];\r\n simpleRowList: IModuleProps;\r\n simpleRowListItem: INodeProps;\r\n \r\n obrienId: string;\r\n obrienClass: string;\r\n \r\n \r\n}\r\n\r\n\r\n/**\r\n *\r\n * ObrienIdContainer component.\r\n * @extends {React.PureComponent>}\r\n */\r\n class ObrienIdContainer extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n const { config } = this.props;\r\n\r\n const ObrienId = config.obrienId ? config.obrienId : '';\r\n const ObrienClass = config.obrienClass ? config.obrienClass : '';\r\n\r\n if (!this.props.slots || !this.props.slots.simpleRow || this.props.slots.simpleRow.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 obrienId: ObrienId,\r\n obrienClass: ObrienClass,\r\n \r\n simpleRowcategories: this.props.slots.simpleRow,\r\n simpleRowList: {\r\n moduleProps: this.props,\r\n tag: 'div'\r\n },\r\n simpleRowListItem: {\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 ObrienIdContainer;\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 { IObrienIdContainerViewProps } from './obrien-id-container';\r\n\r\n\r\n\r\n\r\nexport const ObrienIdContainerView: React.FC = props => {\r\n\r\n const { \r\n simpleRowcategories,\r\n simpleRowList,\r\n simpleRowListItem,\r\n obrienId,\r\n obrienClass\r\n \r\n } = props;\r\n\r\n \r\n \r\n return (\r\n \r\n <>\r\n {simpleRowcategories ? (\r\n
\r\n \r\n { simpleRowcategories.map((simpleRowcategory: ReactNode, index: number) => {\r\n return (\r\n \r\n \r\n {simpleRowcategory}\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 ObrienIdContainerView;\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 Msdyn365 from '@msdyn365-commerce/core';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAadGenericData } from './aad-generic.data';\nimport { IAadGenericProps } from './aad-generic.props.autogenerated';\n\nexport interface IAadGenericViewProps extends IAadGenericProps {\n aadGeneric: IModuleProps;\n aadConainer: INodeProps;\n aadAPIConainer: React.ReactNode;\n heading?: React.ReactNode;\n}\n\n/**\n *\n * AadGeneric component.\n * @extends {React.Component>}\n */\nclass AadGeneric extends React.Component> {\n private readonly moduleClassName: string = 'ms-aad-generic';\n\n public componentDidMount(): void {\n // @ts-expect-error\n const { $i2e, $element } = window || {};\n\n if ($i2e && $element) {\n $i2e.insertServiceContent($element.getElementContent());\n $element.initialize();\n }\n }\n\n public shouldComponentUpdate(nextProps: IAadGenericViewProps): boolean {\n if (nextProps.config.heading !== this.props.config.heading) {\n return true;\n }\n return false;\n }\n\n public render(): JSX.Element | null {\n const { className, heading } = this.props.config;\n\n const viewProps = {\n ...this.props,\n aadGeneric: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, className)\n },\n aadConainer: {\n className: `${this.moduleClassName}__container`\n },\n aadAPIConainer:
,\n heading: heading && (\n \n )\n };\n\n return this.props.renderView(viewProps);\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.heading) {\n this.props.config.heading.text = event.target.value;\n }\n };\n}\n\nexport default AadGeneric;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAadGenericViewProps } from './aad-generic';\n\nexport default (props: IAadGenericViewProps) => {\n const { aadGeneric, aadConainer, aadAPIConainer, heading } = props;\n\n return (\n \n \n {heading}\n {aadAPIConainer}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * 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 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 callbacks: { handleCancelSearchFocused }\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","isBrowser","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","Debug","values","heading","msdyn365__moduleLayout","text","Heading","headingTag","content","_getChildColClassName","layoutEnum","flow","childrenWidthEnum","auto","_getWidthClass","stacked","s","get","four","_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","ObrienIdContainer","ObrienId","obrienId","ObrienClass","obrienClass","simpleRow","simpleRowcategories","simpleRowList","simpleRowListItem","ObrienIdContainerView","simpleRowcategory","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","hasElements","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","AadGeneric","moduleClassName","handleHeadingChange","$i2e","$element","insertServiceContent","getElementContent","initialize","viewProps","aadGeneric","aadAPIConainer","editProps","onEdit","requestContext","AccountInvoiceTileDescription","description","_mapEditableLinks","linkdata","editableLinks","forEach","link","contentAction","etext","editableLink","additionalProperties","onTextChange","AccountInvoiceTile","handleLinkTextChange","linkIndex","friendlyName","_data$customerBalance","data","cultureFormatter","formatCurrency","currencyCode","accountInvoiceTileDescription","invoiceTotalAmount","customerBalance","result","OpenInvoiceBalance","toFixed","format","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","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","defaultRegex","source","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","reactKey","JSON","stringify","String","firstOrDefault","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","isNullOrWhitespace","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","isNullOrEmpty","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","SitePicker","_cookieName","_cookieExpirationInSeconds","_escFunction","keyCode","expandSiteOptions","KeyCodes","Escape","_this$_sitePickerMenu","_this$_sitePickerMenu2","_this$_sitePickerMenu3","_this$_sitePickerMenu4","nextFocus","activeElement","_this$_sitePickerMenu5","_this$_sitePickerMenu6","_sitePickerMenuButton","contains","_sitePickerMenuNode","_resetSiteOptionsState","focus","Tab","_this$_sitePickerMenu7","_this$_sitePickerMenu8","_this$_sitePickerMenu9","_this$_sitePickerMenu10","_handleOutsideClick","_this$_sitePickerMenu11","_this$_sitePickerMenu12","_handleChange","_renderSiteOptions","_updateViewport","device","Type","isMobile","_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","cookies","isConsentGiven","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","static","_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","handleCancelSearchFocused","categorySuggestionHeading","setSearchTextString","useState","isMobilePort","setIsMobile","useEffect","propsFormInput","propsFormInputCurrent","action","isMobileViewport","useCallback","variant","VariantType","Browser","onBlur","isSearchFormExpanded"],"sourceRoot":""}