{"version":3,"file":"static/js/8.d882ec1ce3ac53fb449d.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/business-organization-list/business-organization-list.tsx?0823","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance-tile/account-customer-balance-tile.tsx?8281","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-profile-edit/account-profile-edit.tsx?a0b5","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-requests-status/components/b2b-requests-table.tsx?06fc","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-requests-status/b2b-requests-status.tsx?c1aa","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance-tile/account-customer-balance-tile.view.tsx?95a8","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/account-loyalty-tile.view.tsx?3547","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/account-profile-edit.view.tsx?530d","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-requests-status/b2b-requests-status.view.tsx?6b7c","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-sign-up/components/loyalty-sign-up-small-components.tsx?7106","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-sign-up/loyalty-sign-up.tsx?fd89","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-sign-up/loyalty-sign-up.view.tsx?45ec","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-terms/loyalty-terms.tsx?babd","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-terms/loyalty-terms.view.tsx?b3e6","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/sign-in/sign-in.tsx?259c","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/sign-in.view.tsx?2b3e","webpack://Msdyn365.Commerce.Online/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-organization-wide-selector.component.tsx?b9a7","webpack://Msdyn365.Commerce.Online/./src/modules/account-address-tile/account-address-tile.tsx?2f8c","webpack://Msdyn365.Commerce.Online/./src/modules/account-wishlist-tile/components/account-wishlist-tile-description.tsx?0588","webpack://Msdyn365.Commerce.Online/./src/modules/account-wishlist-tile/components/account-wishlist-tile-links.tsx?f114","webpack://Msdyn365.Commerce.Online/./src/modules/account-wishlist-tile/account-wishlist-tile.tsx?b721","webpack://Msdyn365.Commerce.Online/./src/modules/account-address-tile/account-address-tile.view.tsx?ac91","webpack://Msdyn365.Commerce.Online/./src/modules/account-wishlist-tile/account-wishlist-tile.view.tsx?095e","webpack://Msdyn365.Commerce.Online/./src/modules/sign-up/sign-up.tsx?5ad1","webpack://Msdyn365.Commerce.Online/./src/modules/sign-up/sign-up.view.tsx?08eb","webpack://Msdyn365.Commerce.Online/./src/modules/business-organization-list/business-organization-list.view.tsx?c050","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme/views/components/order-details.no-shipment-tracking.component.tsx?5523","webpack://Msdyn365.Commerce.Online/./src/modules/aad-generic/aad-generic.tsx?c076","webpack://Msdyn365.Commerce.Online/./src/modules/accordion/accordion.tsx?78b1","webpack://Msdyn365.Commerce.Online/./src/modules/accordion-item/accordion-item.tsx?36f7","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance/account-customer-balance.tsx?8d5a","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/themes/gardner-theme/views/components/order-details.shipment-tracking.component.tsx?6d80","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme/views/components/order-details.container-row.component.tsx?3a8e","webpack://Msdyn365.Commerce.Online/./src/modules/footer-item/footer-item.tsx?074a","webpack://Msdyn365.Commerce.Online/./src/modules/interactive-feature-collection/interactive-feature-collection.tsx?96a6","webpack://Msdyn365.Commerce.Online/./src/modules/eve-business-sign-up/components/sign-up-button.tsx?0171","webpack://Msdyn365.Commerce.Online/./src/modules/eve-business-sign-up/components/sign-up-error.tsx?eb04","webpack://Msdyn365.Commerce.Online/./src/modules/eve-business-sign-up/components/sign-up-input.tsx?1f58","webpack://Msdyn365.Commerce.Online/./src/modules/eve-business-sign-up/components/sign-up-label.tsx?48d5","webpack://Msdyn365.Commerce.Online/./src/modules/eve-business-sign-up/eve-business-sign-up.tsx?664a","webpack://Msdyn365.Commerce.Online/./src/modules/eve-business-sign-up/eve-business-sign-up.view.tsx?5762","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme-b2c/views/business-organization-list.view.tsx?7cc5","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme-b2c/views/content-block.view.tsx?017f","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme-b2c/views/order-details.view.tsx?5662","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme-b2c/views/order-template.view.tsx?1b57","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme-b2c/views/sign-in.view.tsx?abf9","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme-b2c/views/sign-up.view.tsx?786d","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme/views/business-organization-list.view.tsx?cc7d","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme/views/content-block.view.tsx?154c","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme/views/order-details.view.tsx?6f37","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme/views/order-template.view.tsx?513f","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme/views/sign-in.view.tsx?0f65","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme/views/sign-up.view.tsx?6f05","webpack://Msdyn365.Commerce.Online/./src/modules/accordion-item/accordion-item.view.tsx?a302","webpack://Msdyn365.Commerce.Online/./src/modules/accordion/accordion.view.tsx?8c7b","webpack://Msdyn365.Commerce.Online/./src/modules/aad-generic/aad-generic.view.tsx?b418","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance/account-customer-balance.view.tsx?70d2","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/account-invoice-tile.view.tsx?0a60","webpack://Msdyn365.Commerce.Online/./src/modules/footer-item/footer-item.view.tsx?c5af","webpack://Msdyn365.Commerce.Online/./src/modules/interactive-feature-collection/interactive-feature-collection.view.tsx?db52","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/business-organization-list.view.tsx?e6ec","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/checkout-customer-account-payment.view.tsx?0efc","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/reviews-list.view.tsx?39ca","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance/components/account-actions.tsx?e021","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance/components/account-statement-request-modal.tsx?18c0","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance/components/index.tsx?fba9","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance-tile/components/account-customer-balance-tile-info.tsx?44e9","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance-tile/components/account-customer-balance-tile-links.tsx?95ac","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/components/account-loyalty-tile-description.tsx?c7bb","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/loyalty-terms/components/loyalty-terms-modal.tsx?1b8b","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/sign-in/components/sign-in-button.tsx?8d59","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-description.tsx?54a5","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-error.tsx?a75a","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-input.tsx?d840","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-label.tsx?4560","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-link.tsx?2078","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-loading-icon.tsx?1d7f","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-loading-message.tsx?84ee","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-text.tsx?76b9","webpack://Msdyn365.Commerce.Online/./src/modules/account-address-tile/components/account-address-tile-description.tsx?4911","webpack://Msdyn365.Commerce.Online/./src/modules/account-address-tile/components/account-address-tile-links.tsx?bee7","webpack://Msdyn365.Commerce.Online/./src/modules/sign-up/components/sign-up-button.tsx?33d4","webpack://Msdyn365.Commerce.Online/./src/modules/sign-up/components/sign-up-error.tsx?b9c0","webpack://Msdyn365.Commerce.Online/./src/modules/sign-up/components/sign-up-input.tsx?27a8","webpack://Msdyn365.Commerce.Online/./src/modules/sign-up/components/sign-up-label.tsx?3142","webpack://Msdyn365.Commerce.Online/./src/modules/sign-up/components/sign-up-loading-icon.tsx?96eb","webpack://Msdyn365.Commerce.Online/./src/modules/sign-up/components/sign-up-loading-message.tsx?9245","webpack://Msdyn365.Commerce.Online/./src/modules/sign-up/components/sign-up-success.tsx?7f30","webpack://Msdyn365.Commerce.Online/./src/modules/business-organization-list/components/small-components.tsx?c4b5"],"sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { IRequestContext, getUrlSync } from '@msdyn365-commerce/core';\nimport {\n AccountStatementRequest,\n BusinessPartnerOperationDeliveryType,\n BusinessPartnerUser,\n BusinessPartnerUsersDataActions\n} from '@msdyn365-commerce/retail-proxy';\nimport { AdminRequestStatementButton, RequestStatementModal } from '@msdyn365-commerce-modules/account-management';\nimport {\n addOrganizationUser,\n AddOrganizationUserInput,\n ArrayExtensions,\n deleteOrganizationUser,\n DeleteOrganizationUserInput,\n editOrganizationUser,\n EditOrganizationUserInput,\n EmailRegex,\n Random,\n StringExtensions\n} from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n Heading,\n IDataTableProps,\n IHeadingsProperty,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITableItemProps,\n ITableRowProps,\n ITelemetryContent,\n Table,\n TableDataType,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { computed, observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IBusinessOrganizationListData } from './business-organization-list.data';\nimport { IBusinessOrganizationListProps, IBusinessOrganizationListResources } from './business-organization-list.props.autogenerated';\nimport { FormButton, FormFieldError, FormInput, FormLabel, IBusinessFormItem, IUserFormItem } from './components';\n\nexport interface IBusinessOrganizationListViewProps extends IBusinessOrganizationListProps {\n OrganizationUserList: IModuleProps;\n moduleContainer: INodeProps;\n heading: React.ReactNode;\n noUsersText?: string;\n addUserButton?: React.ReactNode;\n search?: React.ReactNode;\n organizationListTable: React.ReactNode;\n form?: IFormViewProps;\n formItems?: IUserFormItem[];\n formType: FormType;\n deleteUserForm?: React.ReactNode;\n viewUserDetails?: React.ReactNode;\n modalHeading?: React.ReactNode;\n modalState?: boolean;\n requestAccountStatementButton: React.ReactNode;\n requestStatementModal: React.ReactNode;\n toggleModal?(): void;\n}\n\nexport interface IBusinessOrganizationListState {\n isReady: boolean;\n formItems: IUserFormItem[];\n isFormActive: boolean;\n formType: FormType;\n selectedUserData?: BusinessPartnerUser;\n referenceBack?: HTMLButtonElement | null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n displayedUserData?: any;\n refresh: boolean;\n isModalOpen: boolean;\n hasFormError: boolean;\n hasActionError: boolean;\n isStatementRequestModalOpen: boolean;\n statementRequestFromDateString: string;\n statementRequestToDateString: string;\n isStatementRequestAdminDropdownOpen: boolean;\n statementRequestFullOrg: boolean;\n statementRequestMaxDateString?: string;\n businessUserActionRetailErrorMsg: string;\n}\n\ntype GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport enum FormType {\n None = 'NONE',\n Edit = 'EDIT',\n Remove = 'REMOVE',\n View = 'VIEW',\n Add = 'ADD'\n}\n\nexport enum InputType {\n Text = 'text',\n Email = 'email'\n}\n\nexport enum InputID {\n FirstName = 'FirstName',\n LastName = 'LastName',\n B2BUserId = 'B2BUserId',\n Email = 'Email',\n SpendingLimit = 'SpendingLimit',\n Status = 'Status',\n FullName = 'Name'\n}\n\nexport interface IFormViewProps {\n modalClassName: string;\n FormWrapper: INodeProps;\n modalHeading?: string;\n modalDescription?: React.ReactNode;\n inputs?: IBusinessFormItem[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n selectedUser?: any;\n buttons?: React.ReactNode[];\n errorMessage?: React.ReactNode[];\n resources: IBusinessOrganizationListResources;\n toggle?(): void;\n}\n\nexport const renderInputSection = (\n inputs: IUserFormItem[],\n className: string,\n asteriskAfterLabel: string,\n onInputChange: (event: React.ChangeEvent) => void\n): IBusinessFormItem[] => {\n return inputs.map(element => {\n const { customClass, id, type, label, maxChars, isRequired, pattern, value, isDisabled, fieldReference } = element;\n return {\n wrapper: {\n className: classnames(className, id, customClass)\n },\n key: id,\n label: ,\n errorMessage: ,\n input: (\n \n )\n };\n });\n};\n\ninterface IUserTableItemProps extends ITableItemProps {\n user: BusinessPartnerUser;\n}\n\n/**\n *\n * BusinessOrganizationList component.\n * @extends {React.PureComponent>}\n */\n@observer\nclass BusinessOrganizationList extends React.Component<\n IBusinessOrganizationListProps,\n IBusinessOrganizationListState\n> {\n public BusinessFormDefaultInputs: IUserFormItem[] = [\n {\n id: InputID.FirstName,\n type: InputType.Text,\n label: this.props.resources.businessUserFirstNameLabelText,\n value: '',\n isRequired: true,\n customClass: 'width-50'\n },\n {\n id: InputID.LastName,\n type: InputType.Text,\n label: this.props.resources.businessUserLastNameLabelText,\n value: '',\n isRequired: true,\n customClass: 'width-50'\n },\n {\n id: InputID.Email,\n type: InputType.Email,\n label: this.props.resources.businessUserEmailAddressLabelText,\n value: '',\n isRequired: true,\n pattern: EmailRegex.defaultRegex.source,\n customClass: 'width-100'\n },\n {\n id: InputID.SpendingLimit,\n type: InputType.Text,\n label: this.props.resources.businessUserSpendingLimitLabelText,\n value: '',\n isRequired: false,\n customClass: 'width-50',\n maxChars: this.props.config?.maxLength\n }\n ];\n\n @observable\n private _viewport: GridSize;\n\n private readonly delayFocus: number = 110;\n\n private formChildReference: React.RefObject[] = [];\n\n private userFormEditReference: React.RefObject[] = [];\n\n private userFormDeleteReference: React.RefObject[] = [];\n\n private readonly submitButtonReference: React.RefObject;\n\n private readonly addUserButtonReference: React.RefObject;\n\n private readonly statementRequestButtonReference: React.RefObject;\n\n private readonly moduleClassName: string = 'ms-business-organization-list';\n\n private readonly mobileExcludedColumns: string[];\n\n @computed get isMobile(): boolean {\n return this._viewport === 'xs' || this._viewport === 'sm';\n }\n\n @computed get canSubmitStatementRequest(): boolean {\n return (\n !StringExtensions.isNullOrWhitespace(this.state.statementRequestFromDateString) &&\n !StringExtensions.isNullOrWhitespace(this.state.statementRequestToDateString)\n );\n }\n\n @computed get selectedUserName(): string {\n const { businessUserSelectedUserDisplayName } = this.props.resources;\n return this.state.selectedUserData\n ? businessUserSelectedUserDisplayName\n .replace('{firstName}', this.state.selectedUserData.FirstName || '')\n .replace('{lastName}', this.state.selectedUserData.LastName || '')\n : '';\n }\n\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n constructor(props: IBusinessOrganizationListProps) {\n super(props);\n this._toggleModal = this._toggleModal.bind(this);\n this._onInputChange = this._onInputChange.bind(this);\n this._handleRemoveUserButton = this._handleRemoveUserButton.bind(this);\n\n this.mobileExcludedColumns = [InputID.Email, InputID.Status, InputID.SpendingLimit];\n this._viewport =\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\n this._updateViewport = this._updateViewport.bind(this);\n this.submitButtonReference = React.createRef();\n this.addUserButtonReference = React.createRef();\n this.statementRequestButtonReference = React.createRef();\n this.state = {\n isReady: false,\n formItems: this.addedReference(),\n isFormActive: false,\n formType: FormType.None,\n refresh: true,\n isModalOpen: false,\n hasFormError: false,\n hasActionError: false,\n isStatementRequestModalOpen: false,\n statementRequestFromDateString: '',\n statementRequestToDateString: '',\n isStatementRequestAdminDropdownOpen: false,\n statementRequestFullOrg: false,\n statementRequestMaxDateString: new Date().toISOString().split('T')[0],\n businessUserActionRetailErrorMsg: ''\n };\n\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\n }\n\n public addedReference(): IUserFormItem[] {\n const newFormFields = this.BusinessFormDefaultInputs;\n return newFormFields.map((input, index) => {\n this.formChildReference[Number(index)] = React.createRef();\n input.fieldReference = this.formChildReference[Number(index)];\n return input;\n });\n }\n\n public componentDidMount(): void {\n if (MsDyn365.isBrowser && window.addEventListener) {\n window.addEventListener('resize', this._updateViewport);\n this._updateViewport();\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.isBrowser && window.removeEventListener) {\n window.removeEventListener('resize', this._updateViewport);\n }\n }\n\n public shouldComponentUpdate(\n nextProps: IBusinessOrganizationListProps,\n nextState: IBusinessOrganizationListState\n ): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n\n if (!this.state.isModalOpen && this.state.isModalOpen !== nextState.isModalOpen) {\n setTimeout(() => {\n this.formChildReference[0].current?.focus();\n this.submitButtonReference.current?.focus();\n }, this.delayFocus);\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n const {\n config,\n resources,\n data: { users }\n } = this.props;\n const { className, heading, showBecomeSellerLink } = config;\n const {\n businessUserActionButtonText,\n businessUserAddUserButtonText,\n businessUserLoadingMessage,\n businessUserEmptyListMessage,\n businessUserErrorGettingUsersMessage,\n userAccountStatementLabel,\n fullOrganizationLabel,\n requestStatementButtonLabel,\n promoteToSellerActionLabel,\n requestAccountStatementActionLabel,\n requestOrganizationStatementActionLabel,\n statementRequestModalHeaderLabel,\n cancelLabel,\n fromDateLabel,\n toDateLabel,\n submitRequestLabel,\n sendToEmailLabel,\n selectedUserLabel\n } = resources;\n const {\n formItems,\n isFormActive,\n formType,\n isModalOpen,\n statementRequestFromDateString,\n statementRequestToDateString,\n isStatementRequestModalOpen,\n statementRequestMaxDateString\n } = this.state;\n\n const hasUsers = users && users.result && users.result.length > 0;\n this.payLoad.contentAction.etext = TelemetryConstant.AddUser;\n const addUserAttributes = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n\n const customer = this.props.data.customerInformation?.result;\n\n if (!hasUsers) {\n let errorMessage = '';\n if (users.status === 'LOADING') {\n errorMessage = businessUserLoadingMessage;\n } else if (users.status === 'FAILED') {\n errorMessage = businessUserErrorGettingUsersMessage;\n } else if (users.result && users.result.length === 0) {\n errorMessage = businessUserEmptyListMessage;\n }\n\n const errorProps = {\n ...this.props,\n className,\n OrganizationUserList: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, className)\n },\n moduleContainer: {\n className: `${this.moduleClassName}__container`\n },\n heading: heading && ,\n addUserButton: (\n \n {businessUserAddUserButtonText}\n \n ),\n noUsersText:

{errorMessage}

\n };\n\n return this.props.renderView(errorProps) as React.ReactElement;\n }\n\n const viewProps = {\n ...this.props,\n className,\n OrganizationUserList: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, className)\n },\n moduleContainer: {\n className: `${this.moduleClassName}__container`\n },\n heading: heading && ,\n modalState: isModalOpen,\n addUserButton: (\n \n {businessUserAddUserButtonText}\n \n ),\n organizationListTable: ,\n toggleModal: this._toggleModal,\n formType,\n form:\n isFormActive && isModalOpen && (formType === FormType.Add || formType === FormType.Edit)\n ? this._renderUserForm()\n : this._renderUserDetails(),\n formItems,\n requestAccountStatementButton: showBecomeSellerLink ? (\n \n ) : (\n \n ),\n requestStatementModal: (\n \n )\n } as IBusinessOrganizationListViewProps;\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n // _createTableProps: creates the props for the organization list table\n private _createTableProps(): IDataTableProps {\n const { config, resources, context } = this.props;\n const { tableSort, showPagination, paginationItemPerPage } = config;\n const {\n businessUserPaginationNextButtonText,\n businessUserPaginationPreviousButtonText,\n businessUserEditButtonText,\n businessUserViewUserButtonText,\n businessUserDeleteButtonText,\n businessUserActionButtonText,\n businessUserPaginationAriaLabel,\n columnSortAriaLabel\n } = resources;\n\n const tableData = this._createTableItems();\n const tableHeading =\n (ArrayExtensions.hasElements(tableData) &&\n tableData[0].row.map(item => {\n if (this.isMobile && this.mobileExcludedColumns.includes(item.id)) {\n return undefined;\n }\n return {\n name: item.id,\n sortable: (tableSort && tableSort) || false,\n ariaLabel: columnSortAriaLabel\n } as IHeadingsProperty;\n })) ||\n [];\n\n return {\n resources,\n headings: tableHeading,\n rows: tableData,\n className: `${this.moduleClassName}__table`,\n editLinkText: this.isMobile ? businessUserEditButtonText : '', // '' === showing just icon\n deleteLinkText: this.isMobile ? businessUserDeleteButtonText : '', // '' === showing just icon\n viewLinkText: businessUserViewUserButtonText,\n editLinkTooltip: businessUserEditButtonText,\n deleteLinkTooltip: businessUserDeleteButtonText,\n viewLinkTooltip: businessUserViewUserButtonText,\n enableToModify: true,\n actionLinkText: businessUserActionButtonText,\n showCheckBoxes: true,\n isSortable: tableSort,\n resourcePrefix: 'businessUser',\n showPagination,\n minifyActions: this.isMobile,\n excludedColumns: this.isMobile ? this.mobileExcludedColumns : [],\n paginationProperty: {\n skipCount:\n context &&\n context.request &&\n context.request.query &&\n context.request.query.skip &&\n !isNaN(Number.parseInt(context.request.query.skip, 10))\n ? Number.parseInt(context.request.query.skip, 10)\n : 0,\n itemPerPage: paginationItemPerPage || 10,\n prevText: businessUserPaginationPreviousButtonText,\n nextText: businessUserPaginationNextButtonText,\n paginationText: businessUserPaginationAriaLabel,\n url: (context && this._getCurrentUrl(context.request).href) || ''\n },\n isSingleSelectOnly: true,\n tableAriaLabel: resources.tableAriaLabel,\n tableTabIndex: 0,\n businessUserSelectCheckBoxAriaLabelText: resources.businessUserSelectCheckBoxAriaLabelText,\n sortByAscending: resources.sortByAscending,\n sortByDescending: resources.sortByDescending,\n actions: {\n onDelete: this._handleDeleteIcon,\n onEdit: this._handleEditIcon,\n onView: (this.isMobile && this._handleViewDetails) || undefined\n },\n formatPrice: this._formatPrice,\n checkBoxCallback: this._onSelectRow\n };\n }\n\n // _createTableItems: converts users recieved from the data-action(IBusinessParterUser[]) to tableRows(ITableItemProps[])\n private _createTableItems(): ITableRowProps[] {\n const {\n resources,\n data: { users }\n } = this.props;\n const { businessUserActiveStatusText, businessUserPendingStatusText, businessUserRemovedStatusText } = resources;\n const usersList = users && users.result;\n\n if (!ArrayExtensions.hasElements(usersList)) {\n return [];\n }\n\n return usersList.map((user, index) => {\n let statusString = '';\n this.userFormEditReference[index] = React.createRef();\n this.userFormDeleteReference[index] = React.createRef();\n\n switch (user.StatusValue) {\n case 0:\n statusString = businessUserPendingStatusText;\n break;\n case 1:\n statusString = businessUserActiveStatusText;\n break;\n case 2:\n default:\n statusString = businessUserRemovedStatusText;\n }\n\n return {\n row: [\n {\n id: InputID.FullName,\n type: TableDataType.Text,\n value: `${user.FirstName} ${user.LastName}`,\n user\n } as IUserTableItemProps,\n {\n id: InputID.Email,\n type: TableDataType.Text,\n value: user.Email || '',\n className: `${this.moduleClassName}__padRight`\n } as IUserTableItemProps,\n {\n id: InputID.Status,\n type: TableDataType.Text,\n value: statusString\n } as IUserTableItemProps,\n {\n id: InputID.SpendingLimit,\n type: TableDataType.Price,\n value: user.SpendingLimit || 0\n } as IUserTableItemProps\n ],\n isSelected: false,\n buttonReferences: {\n edit: this.userFormEditReference[index],\n delete: this.userFormDeleteReference[index]\n }\n };\n });\n }\n\n // _toggleModal: closes the modal and resets the form states\n private _toggleModal(): void {\n this.state.referenceBack?.focus();\n this.setState({\n isModalOpen: false,\n isFormActive: false,\n referenceBack: undefined,\n formType: FormType.None\n });\n }\n\n // _handleAddUserButtonClicked: resets input fields, opens the modal, and sets the form states\n private readonly _handleAddUserButtonClicked = () => {\n // Reset form\n const newForm = this.state.formItems;\n newForm.forEach(input => {\n if (input.id === InputID.Email) {\n // Make sure email input is re enabled (it gets disabled when admin is editing user)\n input.isDisabled = false;\n }\n\n input.value = '';\n });\n\n const newUser = { B2BUserId: Random.Guid.generateGuid() } as BusinessPartnerUser;\n\n this.setState({\n formItems: newForm,\n isFormActive: true,\n formType: FormType.Add,\n referenceBack: this.addUserButtonReference.current,\n isModalOpen: true,\n hasFormError: false,\n hasActionError: false,\n selectedUserData: newUser\n });\n };\n\n // _handleAddEditFormSaveButton: triggered on the save button for both add/edit forms. Calls the appropriate data-action and reloads the page when successful\n private readonly _handleAddEditFormSaveButton = async () => {\n const { context } = this.props;\n const { formType, formItems } = this.state;\n\n const updatedUser = this._createBusinessPartner(formItems);\n\n if (formType === FormType.Edit) {\n editOrganizationUser(new EditOrganizationUserInput(updatedUser), context.actionContext)\n .then(() => {\n window.location.reload(false);\n })\n .catch(error => {\n context.telemetry.trace(error);\n this.setState({\n hasActionError: true\n });\n });\n } else {\n addOrganizationUser(new AddOrganizationUserInput(updatedUser), context.actionContext)\n .then(() => {\n window.location.reload(false);\n })\n .catch(error => {\n context.telemetry.trace(error);\n this.setState({\n hasActionError: true,\n businessUserActionRetailErrorMsg: error.message\n });\n });\n }\n };\n\n // _createBusinessPartner: attempts to convert input values(IUserFormItem) to a new user(BusinessPartnerUser)\n private readonly _createBusinessPartner = (inputs: IUserFormItem[]): BusinessPartnerUser => {\n const newUser: BusinessPartnerUser = { ...this.state.selectedUserData! };\n\n inputs.forEach(input => {\n // Deals with input values need need to be converted into numbers\n if (input.id === InputID.SpendingLimit) {\n newUser[input.id] = Number.parseFloat(input.value) || 0;\n } else {\n newUser[input.id] = input.value;\n }\n });\n\n return newUser;\n };\n\n // _handleEditIcon: converts the table row data(ITableItemProps[]) to input fields(IUserFormItem) and opens the edit form\n private readonly _handleEditIcon = (userData: ITableItemProps[], referenceBack?: HTMLButtonElement | null) => {\n // Split full name into first and last\n const possibleName = userData.find(cell => {\n return cell.id === 'Name';\n });\n const fullName = (possibleName && (possibleName.value as string)) || '';\n const lastSpaceIndex = fullName.lastIndexOf(' ');\n const firstName = fullName.substring(0, lastSpaceIndex);\n\n const lastName = fullName.substring(lastSpaceIndex + 1);\n\n // Create clone of formItems, map users information, update state\n const { formItems } = this.state;\n const newForm = formItems;\n\n newForm.forEach(input => {\n switch (input.id) {\n case InputID.FirstName:\n input.value = firstName;\n break;\n case InputID.LastName:\n input.value = lastName;\n break;\n case InputID.Email: // Email can never be null/undefined as it is a required field\n input.isDisabled = true;\n const possibleCell = userData.find(cell => {\n return input.id === cell.id;\n });\n input.value = (possibleCell && (possibleCell.value as string)) || '';\n break;\n default:\n const dataCell = userData.find(cell => {\n return input.id === cell.id;\n });\n input.value = (dataCell && (dataCell.value as string)) || '';\n }\n });\n\n this.setState({\n formItems: newForm,\n isFormActive: true,\n referenceBack,\n formType: FormType.Edit,\n isModalOpen: true,\n hasFormError: false,\n hasActionError: false,\n selectedUserData: (userData[0] as IUserTableItemProps).user\n });\n };\n\n // _handleDeleteIcon: opens removeUser confirmation window\n private readonly _handleDeleteIcon = (userData: ITableItemProps[], referenceBack?: HTMLButtonElement | null) => {\n const newUser: BusinessPartnerUser = { ...(userData[0] as IUserTableItemProps).user };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const displayedUserData: any = {};\n\n userData.forEach((cell: ITableItemProps) => {\n if (cell.id === 'Name') {\n // Split full name into first and last\n const fullName = cell.value as string;\n const lastSpaceIndex = fullName.lastIndexOf(' ');\n displayedUserData.FirstName = fullName.substring(0, lastSpaceIndex);\n\n displayedUserData.LastName = fullName.substring(lastSpaceIndex + 1);\n } else if (cell.type === TableDataType.Price) {\n displayedUserData[cell.id] = this.props.context.cultureFormatter.formatCurrency(cell.value as string);\n } else {\n displayedUserData[cell.id] = cell.value;\n }\n });\n\n this.setState({\n displayedUserData,\n referenceBack,\n selectedUserData: newUser,\n formType: FormType.Remove,\n isModalOpen: true,\n hasActionError: false,\n isFormActive: false\n });\n };\n\n // _handleViewDetails: opens user details window\n private readonly _handleViewDetails = (userData: ITableItemProps[]) => {\n const newUser: BusinessPartnerUser = { ...(userData[0] as IUserTableItemProps).user };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const displayedUserData: any = {};\n\n userData.forEach((cell: ITableItemProps) => {\n if (cell.id === 'Name') {\n // Split full name into first and last\n const fullName = cell.value as string;\n const lastSpaceIndex = fullName.lastIndexOf(' ');\n displayedUserData.FirstName = fullName.substring(0, lastSpaceIndex);\n\n displayedUserData.LastName = fullName.substring(lastSpaceIndex + 1);\n } else if (cell.type === TableDataType.Price) {\n displayedUserData[cell.id] = this.props.context.cultureFormatter.formatCurrency(cell.value as string);\n } else {\n displayedUserData[cell.id] = cell.value;\n }\n });\n\n this.setState({\n displayedUserData,\n selectedUserData: newUser,\n formType: FormType.View,\n isModalOpen: true,\n isFormActive: false\n });\n };\n\n // _handleRemoveUserButton: triggered on confirmation of removing a user.\n private readonly _handleRemoveUserButton = () => {\n // TODO\n const { context } = this.props;\n const { selectedUserData: deleteUserData } = this.state;\n\n if (deleteUserData) {\n deleteOrganizationUser(new DeleteOrganizationUserInput(deleteUserData), context.actionContext)\n .then(() => {\n window.location.reload(false);\n this.setState({\n formType: FormType.None,\n isModalOpen: false\n });\n })\n .catch(error => {\n context.telemetry.trace(error);\n this.setState({\n hasActionError: true\n });\n });\n }\n };\n\n private readonly callbackRemoveButton = () => {\n this._handleRemoveUserButton();\n };\n\n // _renderUserDetails: creates the remove/view form props\n private _renderUserDetails(): IFormViewProps {\n const { resources } = this.props;\n const { formType, displayedUserData, hasActionError } = this.state;\n const {\n businessUserRemoveModalHeaderText,\n businessUserRemoveModalDescription,\n businessUserViewModalHeaderText,\n businessUserCancelButtonText,\n businessUserCancelRemoveUserButtonText,\n businessUserRemoveUserButtonText,\n businessUserErrorUpdatingUsersMessage\n } = resources;\n\n const formClassName = `${this.moduleClassName}__form`;\n const typeClassName = formType === FormType.Remove ? 'type-remove' : 'type-view';\n const handleRemoveButton = this.callbackRemoveButton;\n\n return {\n modalClassName: classnames(`${this.moduleClassName}__modal`, typeClassName),\n FormWrapper: {\n className: formClassName\n },\n modalHeading: formType === FormType.Remove ? businessUserRemoveModalHeaderText : businessUserViewModalHeaderText,\n modalDescription: formType === FormType.Remove && (\n

{businessUserRemoveModalDescription}

\n ),\n selectedUser: displayedUserData,\n buttons: [\n formType === FormType.Remove && (\n \n {businessUserRemoveUserButtonText}\n \n ),\n \n ],\n errorMessage: [\n hasActionError && (\n \n )\n ],\n resources\n };\n }\n\n // _renderUserForm: creates the add/edit form props\n private _renderUserForm(): IFormViewProps {\n const { resources } = this.props;\n const { formType, formItems, hasFormError, hasActionError, isReady, businessUserActionRetailErrorMsg } = this.state;\n const {\n businessUserEditUserFormHeadingText,\n businessUserAddUserFormHeadingText,\n businessUserSaveButtonArialabel,\n businessUserSaveButtonText,\n businessUserCancelButtonArialabel,\n businessUserCancelButtonText,\n businessUserFieldIncorrectErrorText,\n businessUserActionErrorText,\n businessUserAllFieldsRequiredMessage,\n asteriskAfterLabel\n } = resources;\n\n const formClassName = `${this.moduleClassName}__form`;\n const typeClassName = formType === FormType.Add ? 'type-add' : 'type-edit';\n\n return {\n modalClassName: classnames(`${this.moduleClassName}__modal`, typeClassName),\n FormWrapper: {\n className: formClassName\n },\n modalHeading: formType === FormType.Add ? businessUserAddUserFormHeadingText : businessUserEditUserFormHeadingText,\n modalDescription: formType === FormType.Add && (\n

{businessUserAllFieldsRequiredMessage}

\n ),\n inputs: renderInputSection(formItems, `${formClassName}-item`, asteriskAfterLabel, this._onInputChange),\n buttons: [\n ,\n \n ],\n errorMessage: [\n hasFormError && (\n \n ),\n hasActionError && (\n \n )\n ],\n resources\n };\n }\n\n // _onInputChange: updates the fomrItems state on every input change\n private readonly _onInputChange = (event: React.ChangeEvent): void => {\n const newForm = this.state.formItems;\n\n newForm.forEach(item => {\n if (item.id === event.target.id) {\n item.value = event.target.value;\n }\n });\n\n // Update state object with latest values and check if form is ready\n // TODO: remove !refresh\n this.setState(prev => ({\n refresh: !prev.refresh,\n isReady: this._isFormReady(),\n formItems: newForm,\n hasFormError: false,\n hasActionError: false\n }));\n };\n\n // _isFormReady: checks whether the current values in the input fields are valid for submission, this will also disable/enable the submit button.\n private readonly _isFormReady = (): boolean => {\n const { formItems } = this.state;\n\n for (const formItem of formItems) {\n // Will return TRUE if:\n // - input field is required and EMPTY\n // OR\n // - pattern provided and value does not match pattern\n // OR\n // - if spendingLimit input --> make sure value can be parsed into an NUMBER\n if (formItem.isRequired && formItem.value.length === 0) {\n return false;\n } else if (formItem.pattern !== undefined && formItem.value.match(formItem.pattern) === null) {\n return false;\n } else if (formItem.id === InputID.SpendingLimit && formItem.value !== '' && isNaN(Number.parseFloat(formItem.value))) {\n this.setState({\n hasFormError: true\n });\n return false;\n }\n }\n\n return true;\n };\n\n private readonly _formatPrice = (price: number): string => {\n return this.props.context.cultureFormatter ? this.props.context.cultureFormatter.formatCurrency(price) : price.toString();\n };\n\n private readonly _getCurrentUrl = (reqContext: IRequestContext): URL => {\n if (MsDyn365.isBrowser) {\n return new URL(window.location.href);\n }\n\n // NOTE: Typing on requestURL is incorrect\n if (reqContext.url.requestUrl.href) {\n return new URL(reqContext.url.requestUrl.href);\n }\n return new URL(reqContext.url.requestUrl.href);\n };\n\n private _updateViewport(): void {\n this._viewport = this._getViewport();\n }\n\n private readonly _getViewport = (): GridSize => {\n const { context } = this.props;\n\n // Always render in mobile viewport on a mobile device\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\n return 'xs';\n }\n\n if (MsDyn365.isBrowser && 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\n return 'xs';\n };\n\n private readonly _toggleStatementRequestDropdown = (): void => {\n this.setState({\n isStatementRequestAdminDropdownOpen: !this.state.isStatementRequestAdminDropdownOpen\n });\n };\n\n private readonly _updateFromDate = (newFromDate: string) => {\n this.setState({\n statementRequestFromDateString: newFromDate\n });\n };\n\n private readonly _updateToDate = (newToDate: string) => {\n this.setState({\n statementRequestToDateString: newToDate\n });\n };\n\n private readonly _showRequestStatementModal = (isFullOrg: boolean) => {\n this.setState({\n statementRequestFullOrg: isFullOrg,\n isStatementRequestModalOpen: true\n });\n };\n\n private readonly _promoteToSeller = () => {\n const promoteToSellerUrl = getUrlSync('businessPartnerPromotion', this.props.context.actionContext);\n if (promoteToSellerUrl && MsDyn365.isBrowser) {\n window.location.href = promoteToSellerUrl;\n }\n };\n\n private readonly _requestStatement = () => {\n const customer = this.props.data.customerInformation.result!;\n const businessPartnerUsers = this.props.data.users.result!;\n\n const currentUser = businessPartnerUsers.find(element => element.Email === customer.Email);\n const B2BUserId = this._getB2BUserId(currentUser);\n\n const statementRequest: AccountStatementRequest = {\n FromDate: new Date(this.state.statementRequestFromDateString),\n ToDate: new Date(this.state.statementRequestToDateString),\n IsForFullOrganization: this.state.statementRequestFullOrg,\n RequestedUserId: B2BUserId,\n RequestingUserEmail: customer.Email,\n DeliveryTypeValue: BusinessPartnerOperationDeliveryType?.Email || 1\n };\n\n const context = { callerContext: this.props.context.actionContext };\n\n BusinessPartnerUsersDataActions.requestAccountStatementAsync(context, B2BUserId, statementRequest);\n\n this._closeStatementRequestModal();\n };\n\n private readonly _getB2BUserId = (currentUser: BusinessPartnerUser | undefined) => {\n if (this.state.statementRequestFullOrg || !this.state.selectedUserData) {\n return currentUser ? currentUser.B2BUserId : '';\n }\n return this.state.selectedUserData.B2BUserId;\n };\n\n private readonly _closeStatementRequestModal = () => {\n this.setState({\n isStatementRequestModalOpen: false\n });\n this.statementRequestButtonReference.current?.focus();\n };\n\n private readonly _onSelectRow = (records: ITableRowProps[]) => {\n const selectedRow = records.find(rowProps => rowProps.isSelected);\n\n this.setState({\n selectedUserData: selectedRow ? (selectedRow.row[0] as IUserTableItemProps).user : undefined\n });\n };\n}\n\nexport default BusinessOrganizationList;\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 { isChannelTypeB2B } from '@msdyn365-commerce/core';\nimport { CustomerBalances } from '@msdyn365-commerce/retail-proxy';\nimport { getTelemetryObject, Heading, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport { computed, reaction } from 'mobx';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceTileData } from './account-customer-balance-tile.data';\nimport { IAccountCustomerBalanceTileProps } from './account-customer-balance-tile.props.autogenerated';\nimport { CreditComponent, ErrorComponent } from './components/account-customer-balance-tile-info';\nimport LinksComponent from './components/account-customer-balance-tile-links';\n\nexport interface IAccountCustomerBalanceTileViewProps extends IAccountCustomerBalanceTileProps {\n AccountCustomerBalanceTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n content: React.ReactNode;\n links: React.ReactNode;\n}\n\nexport interface IAccountCustomerBalanceTileViewState {\n isDetailsLinkDisplayed: boolean;\n content: React.ReactNode;\n}\n\n/**\n *\n * AccountCustomerBalanceTile component.\n * @extends {React.Component>}\n */\nclass AccountCustomerBalanceTile extends React.Component<\n IAccountCustomerBalanceTileProps,\n IAccountCustomerBalanceTileViewState\n> {\n @computed get hasError(): boolean {\n return get(this.props, 'data.balance.status') !== 'SUCCESS';\n }\n\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountCustomerBalanceTileProps) {\n super(props);\n\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n this.state = { ...this._initState() };\n\n reaction(\n () => this.hasError,\n () => {\n this.props.context.telemetry.error('Error retrieving customer account balance');\n this.setState({\n content: \n });\n }\n );\n }\n\n @computed get isCustomerAccountPaymentEnabled(): boolean {\n const customerResult = get(this.props, 'data.customerInformation.result');\n\n const allowOnAccountPayment = customerResult ? customerResult.AllowOnAccountPayment : false;\n const isB2BSite = isChannelTypeB2B(this.props.context.request);\n const enableCustomerAccountPayment = get(this.props, 'context.request.app.platform.enableCustomerAccountPayment');\n\n return (\n allowOnAccountPayment &&\n (enableCustomerAccountPayment === 'all' ||\n (enableCustomerAccountPayment === 'b2b' && isB2BSite) ||\n (enableCustomerAccountPayment === 'b2c' && !isB2BSite))\n );\n }\n\n public shouldComponentUpdate(\n nextProps: IAccountCustomerBalanceTileProps,\n nextState: IAccountCustomerBalanceTileViewState\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 if (!this.isCustomerAccountPaymentEnabled) {\n return <>;\n }\n\n const { className, heading, links } = this.props.config;\n const viewProps = {\n ...this.props,\n AccountCustomerBalanceTile: {\n moduleProps: this.props,\n className: classnames('ms-account-customer-balance-tile', className)\n },\n heading: heading && (\n \n ),\n content: this.state.content,\n links: this.state.isDetailsLinkDisplayed && (\n (event: Msdyn365.ContentEditableEvent) => void 0,\n requestContext: this.props.context.request,\n telemetryContent: this.telemetryContent\n }}\n />\n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _initState(): IAccountCustomerBalanceTileViewState {\n const account: CustomerBalances = get(this.props, 'data.balance.result');\n\n let content: React.ReactNode;\n let isDetailsLinkDisplayed = false;\n\n if (this.hasError) {\n this.props.telemetry.error('Error retrieving customer account balance');\n content = ;\n } else if (\n account.Balance === 0 &&\n account.CreditLimit === 0 &&\n account.InvoiceAccountBalance === 0 &&\n account.InvoiceAccountCreditLimit === 0\n ) {\n // Non-established credit\n content = ;\n } else {\n // Successfully retrieved balance\n const { accountCreditVerbagePrefix, accountCreditVerbagePostfix } = this.props.resources;\n const currencyCode = get(this.props, 'context.request.channel.Currency');\n const formatCurrency = get(this.props, 'context.cultureFormatter.formatCurrency');\n let customerCredit = 0;\n\n if (account.InvoiceAccountCreditLimit === 0) {\n customerCredit = account.CreditLimit - account.Balance;\n } else {\n customerCredit = account.InvoiceAccountCreditLimit - account.InvoiceAccountBalance;\n }\n\n const customerCreditFormatted = `${formatCurrency(customerCredit.toFixed(2), currencyCode)}`;\n\n isDetailsLinkDisplayed = true;\n content = (\n \n );\n }\n\n return { content, isDetailsLinkDisplayed };\n }\n}\n\nexport default AccountCustomerBalanceTile;\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 * 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 MsDyn365, { ICoreContext, IDateFormatOptions, IRequestContext } from '@msdyn365-commerce/core';\nimport { BusinessPartnerOperationRequest, BusinessPartnerOperationRequestDetails } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n IDataTableProps,\n IHeadingsProperty,\n ITableItemProps,\n ITableRowProps,\n Table,\n TableDataType\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IB2bRequestsStatusData } from '../b2b-requests-status.data';\nimport { IB2bRequestsStatusProps } from '../b2b-requests-status.props.autogenerated';\n\nexport interface IB2bRequestsTableProps {\n moduleProps: IB2bRequestsStatusProps;\n isMobile: boolean;\n mobileExcludedColumns: string[];\n}\n\nexport interface IB2bRequestsTableResources {\n b2bRequestsTypeCreateProspect: string;\n b2bRequestsTypeAddUser: string;\n b2bRequestsTypeEditUser: string;\n b2bRequestsTypeDeleteUser: string;\n b2bRequestsTypeRequestAccountStatement: string;\n b2bRequestsTypeRequestInvoiceCopy: string;\n b2bRequestsTypeUnknown: string;\n b2bRequestsStatusRequested: string;\n b2bRequestsStatusProcessed: string;\n b2bRequestsStatusError: string;\n b2bRequestsNumberOfItems: string;\n b2bRequestsNumberOfItemsSingular: string;\n b2bRequestsNameDisplay: string;\n b2bRequestsPreviousText: string;\n b2bRequestsNextText: string;\n b2bRequestsUserColumn: string;\n b2bRequestsStatusColumn: string;\n b2bRequestsRequestDateColumn: string;\n b2bRequestsTypeColumn: string;\n b2bRequestsDescriptionColumn: string;\n b2bRequestsAccountStatementDetails: string;\n b2bRequestsInvoiceCopyDetails: string;\n businessUserSelectCheckBoxAriaLabelText?: string;\n sortByAscending?: string;\n sortByDescending?: string;\n}\n\nexport enum RequestsTableColumnHeader {\n Name = 'User',\n Status = 'Status',\n RequestDate = 'Request date',\n Type = 'Request type',\n Description = 'Request detail'\n}\n\nconst getCurrentUrl = (reqContext: IRequestContext): URL => {\n if (MsDyn365.isBrowser) {\n return new URL(window.location.href);\n }\n\n // NOTE: Typing on requestURL is incorrect\n if (reqContext.url.requestUrl.href) {\n return new URL(reqContext.url.requestUrl.href);\n }\n return new URL(reqContext.url.requestUrl.href);\n};\n\nconst getUserName = (request: BusinessPartnerOperationRequest, resources: IB2bRequestsTableResources) => {\n if (StringExtensions.isNullOrEmpty(request.UserFirstName)) {\n if (StringExtensions.isNullOrEmpty(request.UserLastName)) {\n return '';\n }\n\n return request.UserLastName;\n } else if (StringExtensions.isNullOrEmpty(request.UserLastName)) {\n return request.UserFirstName;\n }\n\n return resources.b2bRequestsNameDisplay.replace('{0}', request.UserFirstName!).replace('{1}', request.UserLastName!);\n};\n\nconst formatDate = (context: ICoreContext, date: Date | undefined) => {\n if (date === undefined) {\n return '';\n }\n\n const dateOptions: IDateFormatOptions = { year: 'numeric', month: 'long', day: 'numeric' };\n return context.cultureFormatter.formatDate(date, dateOptions);\n};\n\n/**\n * Gets the value to display for the request details.\n * @param request - The request to parse for the details.\n * @param resources - The resources.\n * @param context - The context.\n * @returns The string to display.\n */\nconst getDetails = (request: BusinessPartnerOperationRequest, resources: IB2bRequestsTableResources, context: ICoreContext) => {\n if (!request.Details) {\n return '';\n }\n\n const requestDetails: BusinessPartnerOperationRequestDetails = request.Details;\n\n const accountStatementStartDateTime = formatDate(context, requestDetails.AccountStatementStartDateTime) || '';\n const accountStatementEndDateTime = formatDate(context, requestDetails.AccountStatementEndDateTime) || '';\n const invoiceId = requestDetails.InvoiceId ?? '';\n\n switch (request.TypeValue) {\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- workaround for not being able to use enum value\n case 5:\n if (\n !StringExtensions.isNullOrEmpty(accountStatementStartDateTime) &&\n !StringExtensions.isNullOrEmpty(accountStatementEndDateTime)\n ) {\n return resources.b2bRequestsAccountStatementDetails\n .replace('{0}', accountStatementStartDateTime)\n .replace('{1}', accountStatementEndDateTime);\n }\n\n return '';\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- workaround for not being able to use enum value\n case 6:\n if (!StringExtensions.isNullOrEmpty(invoiceId)) {\n return resources.b2bRequestsInvoiceCopyDetails.replace('{0}', invoiceId);\n }\n\n return '';\n default:\n return '';\n }\n};\n\nconst createTableItems = (\n operationRequests: BusinessPartnerOperationRequest[] | undefined,\n props: IB2bRequestsStatusProps\n): ITableRowProps[] => {\n if (!ArrayExtensions.hasElements(operationRequests)) {\n return [];\n }\n\n return operationRequests.map(request => {\n return {\n row: [\n {\n id: props.resources.b2bRequestsTypeColumn,\n type: TableDataType.Text,\n value: getDisplayFriendlyTypeValue(request.TypeValue ?? 0, props.resources)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsRequestDateColumn,\n type: TableDataType.Text,\n value: formatDate(props.context, request.CreatedDateTime)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsDescriptionColumn,\n type: TableDataType.Text,\n value: getDetails(request, props.resources, props.context)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsUserColumn,\n type: TableDataType.Text,\n value: getUserName(request, props.resources)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsStatusColumn,\n type: TableDataType.Text,\n value: getDisplayFriendlyStatusValue(request.StatusValue ?? 0, props.resources)\n } as ITableItemProps\n ],\n isSelected: false,\n className: props.config.className\n };\n });\n};\n\nconst getDisplayFriendlyTypeValue = (typeValue: number, resources: IB2bRequestsTableResources): string => {\n switch (typeValue) {\n case 1:\n return resources.b2bRequestsTypeCreateProspect;\n case 2:\n return resources.b2bRequestsTypeAddUser;\n case 3:\n return resources.b2bRequestsTypeDeleteUser;\n case 4:\n return resources.b2bRequestsTypeEditUser;\n case 5:\n return resources.b2bRequestsTypeRequestAccountStatement;\n case 6:\n return resources.b2bRequestsTypeRequestInvoiceCopy;\n default:\n return resources.b2bRequestsTypeUnknown;\n }\n};\n\nconst getDisplayFriendlyStatusValue = (statusValue: number, resources: IB2bRequestsTableResources): string => {\n switch (statusValue) {\n case 1:\n return resources.b2bRequestsStatusProcessed;\n case 2:\n return resources.b2bRequestsStatusError;\n default:\n return resources.b2bRequestsStatusRequested;\n }\n};\n\nconst createTableProps = (tableProps: IB2bRequestsTableProps) => {\n const { context, data, resources } = tableProps.moduleProps;\n\n const tableData = createTableItems(data.operationRequests.result, tableProps.moduleProps);\n const tableHeading =\n (ArrayExtensions.hasElements(tableData) &&\n tableData[0].row\n .filter(item => {\n // Check that this is either not mobile or the column should be displayed when mobile.\n return !tableProps.isMobile || !tableProps.mobileExcludedColumns.includes(item.id);\n })\n .map(item => {\n return {\n name: item.id,\n sortable: true,\n ariaLabel: resources.columnSortAriaLabel\n } as IHeadingsProperty;\n })) ||\n [];\n\n return {\n resources: {},\n headings: tableHeading,\n rows: tableData,\n className: `${tableProps.moduleProps.config.className}__table`,\n editLinkText: '',\n deleteLinkText: '',\n viewLinkText: '',\n enableToModify: false,\n actionLinkText: '',\n showCheckBoxes: false,\n isSortable: true,\n showPagination: true,\n minifyActions: tableProps.isMobile,\n excludedColumns: tableProps.isMobile ? tableProps.mobileExcludedColumns : [],\n paginationProperty: {\n skipCount:\n context.request.query?.skip && !isNaN(Number.parseInt(context.request.query.skip, 10))\n ? Number.parseInt(context.request.query.skip, 10)\n : 0,\n itemPerPage: 10,\n prevText: resources.b2bRequestsPreviousText,\n nextText: resources.b2bRequestsNextText,\n paginationText: '',\n url: (context && getCurrentUrl(context.request).href) || ''\n },\n isSingleSelectOnly: true,\n actions: {\n onDelete: undefined,\n onEdit: undefined,\n onView: undefined\n },\n businessUserSelectCheckBoxAriaLabelText: tableProps.moduleProps.resources.businessUserSelectCheckBoxAriaLabelText,\n sortByAscending: tableProps.moduleProps.resources.sortByAscending,\n sortByDescending: tableProps.moduleProps.resources.sortByDescending\n } as IDataTableProps;\n};\n\nexport const B2bRequestsTable: React.FC = (tableProps: IB2bRequestsTableProps) => {\n return
;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { format, Heading, IModuleProps, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport { computed } from 'mobx';\nimport * as React from 'react';\nimport { isChannelTypeB2B } from '@msdyn365-commerce/core';\n\nimport { IB2bRequestsStatusData } from './b2b-requests-status.data';\nimport { IB2bRequestsStatusProps, IHeadingData } from './b2b-requests-status.props.autogenerated';\nimport { B2bRequestsTable } from './components/b2b-requests-table';\n\nexport interface IB2bRequestsStatusViewProps extends IB2bRequestsStatusProps {\n b2bRequestsStatus: IModuleProps;\n heading?: React.ReactNode;\n table: React.ReactNode;\n}\n\n/**\n *\n * B2bRequestsStatus component.\n * @extends {React.PureComponent>}\n */\nclass B2bRequestsStatus extends React.PureComponent> {\n @computed get isMobile(): boolean {\n const size = isMobile({ variant: VariantType.Viewport, context: this.props.context.request });\n return size === 'xs';\n }\n\n public render(): JSX.Element | null {\n const { config } = this.props;\n\n if (!isChannelTypeB2B(this.props.context.actionContext.requestContext)) {\n return null;\n }\n\n const className = config.className || '';\n\n const viewProps = {\n ...this.props,\n b2bRequestsStatus: {\n moduleProps: this.props,\n className\n },\n heading: this.renderHeader(className, config.heading),\n table: this.renderTable()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private readonly renderHeader = (className: string, headingData: IHeadingData): React.ReactNode => {\n const itemCount = this.props.data.operationRequests.result?.length ?? 0;\n\n return (\n
\n \n {this.getItemNumberDisplayString(itemCount)}\n
\n );\n };\n\n /**\n * Returns columns that needs to be excluded for mobile view.\n * @returns Array of column names.\n */\n private readonly _retrieveExcludedColumns = (): string[] => {\n const { resources } = this.props;\n return [resources.b2bRequestsRequestDateColumn, resources.b2bRequestsDescriptionColumn, resources.b2bRequestsUserColumn];\n };\n\n private readonly renderTable = (): React.ReactNode => {\n return (\n \n );\n };\n\n private readonly getItemNumberDisplayString = (itemCount: number): string => {\n switch (itemCount) {\n case 0:\n return '';\n case 1:\n return format(this.props.resources.b2bRequestsNumberOfItemsSingular, itemCount);\n default:\n return format(this.props.resources.b2bRequestsNumberOfItems, itemCount);\n }\n };\n}\n\nexport default B2bRequestsStatus;\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 { IAccountCustomerBalanceTileViewProps } from './account-customer-balance-tile';\n\nconst AccountCustomerBalanceTileView: React.FC = props => {\n const { AccountCustomerBalanceTile, heading, content, links } = props;\n\n return (\n \n {heading}\n {content}\n {links}\n \n );\n};\n\nexport default AccountCustomerBalanceTileView;\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 { 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 { Module } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { IB2bRequestsStatusViewProps } from './b2b-requests-status';\n\nconst B2bRequestsStatusView: React.FC = props => {\n const { b2bRequestsStatus, heading, table } = props;\n return (\n \n {heading}\n {table}\n \n );\n};\n\nexport default B2bRequestsStatusView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport React from 'react';\n\nexport const SignUpText: React.FC<{ text: string }> = (props: { text: string }) => {\n return

{props.text}

;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, * as Msdyn365 from '@msdyn365-commerce/core';\nimport { issueLoyalty, IssueLoyaltyInput } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n ITelemetryContent,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { SignUpText } from './components/loyalty-sign-up-small-components';\nimport { ILoyaltySignUpData } from './loyalty-sign-up.data';\nimport { ILoyaltySignUpProps } from './loyalty-sign-up.props.autogenerated';\n\nexport interface IAccountLoyaltyJoinState {\n clicked: boolean;\n}\nexport interface ILoyaltySignUpViewProps extends ILoyaltySignUpProps {\n LoyaltySignUp: IModuleProps;\n heading: React.ReactNode;\n memberHeading: React.ReactNode;\n signInLink: React.ReactElement;\n signUpText: React.ReactElement;\n signUpButton: React.ReactElement;\n detailsLink: React.ReactElement;\n termsLink: React.ReactElement;\n loading: boolean;\n infoMessageBar?: React.ReactNode;\n}\n\n/**\n *\n * LoyaltySignUp component.\n * @extends {React.Component>}\n */\n@observer\nclass LoyaltySignUp extends React.Component, IAccountLoyaltyJoinState> {\n private readonly telemetryContent?: ITelemetryContent;\n private readonly loyaltySignInAttributes: Msdyn365.IDictionary | undefined;\n private readonly loyaltySignUpAttributes: Msdyn365.IDictionary | undefined;\n private readonly loyaltyDetailsLinkAttributes: Msdyn365.IDictionary | undefined;\n private readonly loyaltyTermsLinkAttributes: Msdyn365.IDictionary | undefined;\n\n constructor(props: ILoyaltySignUpProps) {\n super(props);\n this.state = { clicked: false };\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.SignIn);\n this.loyaltySignInAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.SignUp;\n this.loyaltySignUpAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.LoyaltyDetailLink;\n this.loyaltyDetailsLinkAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.LoyaltyTermsLink;\n this.loyaltyTermsLinkAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n }\n\n public shouldComponentUpdate(nextProps: ILoyaltySignUpProps, nextState: IAccountLoyaltyJoinState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n const {\n config: { className, heading, memberHeading },\n resources,\n context: {\n actionContext,\n request: {\n user: { signInUrl, isAuthenticated }\n }\n },\n data\n } = this.props;\n\n const termsUrl = Msdyn365.getUrlSync('loyaltyTerms', actionContext);\n let loyaltyJoinUrl = `${Msdyn365.getUrlSync('loyaltyJoin', actionContext)}?joiningLoyalty=true`;\n if (MsDyn365.isBrowser) {\n loyaltyJoinUrl = `${window.location.origin}${loyaltyJoinUrl}`;\n }\n const signInurl = `${signInUrl}?ru=${loyaltyJoinUrl}`;\n const completeClass = classname('ms-loyalty-signup', className);\n const loyaltyCard = data.loyaltyCard;\n const hasLoyaltyAccount = loyaltyCard.result && loyaltyCard.result.CardTenderTypeValue !== undefined;\n const customerInformation = data.customerInformation?.result;\n\n const invalidAsyncCustomerState: boolean =\n (this.props.context.app?.config?.canRenderAsyncCustomerDataAsUnmodifiable || false) &&\n (customerInformation?.IsAsyncCustomer || false);\n const viewProps = {\n ...this.props,\n className: completeClass,\n LoyaltySignUp: {\n moduleProps: this.props,\n className: completeClass\n },\n infoMessageBar: invalidAsyncCustomerState && (\n \n ),\n loading: !this.props.context.request.params.isEditor && loyaltyCard?.status === 'LOADING',\n heading: !hasLoyaltyAccount && heading && heading.text && (\n \n ),\n memberHeading: hasLoyaltyAccount && memberHeading && memberHeading.text && (\n \n ),\n signInLink: !isAuthenticated && (\n \n ),\n signUpText: !hasLoyaltyAccount && ,\n signUpButton: !hasLoyaltyAccount && isAuthenticated && (\n \n {this.props.resources.joinLoyaltyButtonText}\n \n ),\n detailsLink: hasLoyaltyAccount && (\n \n {this.props.resources.viewLoyaltyPageText}\n \n ),\n termsLink: !hasLoyaltyAccount && (\n \n )\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 handleMemberHeadingChange = (event: Msdyn365.ContentEditableEvent) =>\n (this.props.config.memberHeading!.text = event.target.value);\n\n private readonly _issueLoyalty = () => {\n if (this.props.context.request.user.isAuthenticated && !this.state.clicked) {\n this.setState({ clicked: true });\n const input = new IssueLoyaltyInput(this.props.context.request.apiSettings);\n\n issueLoyalty(input, this.props.context.actionContext)\n .then(() => {\n if (MsDyn365.isBrowser) {\n window.location.assign(Msdyn365.getUrlSync('loyalty', this.props.context.actionContext) || '');\n }\n })\n .catch((error: Error) => {\n this.setState({ clicked: false });\n this.props.telemetry.error(error.message);\n this.props.telemetry.debug('Unable to issue loyalty card');\n });\n }\n };\n}\n\nexport default LoyaltySignUp;\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 { ILoyaltySignUpViewProps } from './loyalty-sign-up';\n\nconst LoyaltySignUpView: React.FC = props => {\n const {\n LoyaltySignUp,\n heading,\n memberHeading,\n signInLink,\n signUpText,\n signUpButton,\n detailsLink,\n termsLink,\n loading,\n infoMessageBar\n } = props;\n\n if (loading) {\n props.context.telemetry.error('LoyaltySignUp data is empty, module wont render');\n return null;\n }\n\n return (\n \n {infoMessageBar}\n {memberHeading}\n {heading}\n {detailsLink}\n {signUpText}\n {termsLink}\n {signUpButton}\n {signInLink}\n \n );\n};\n\nexport default LoyaltySignUpView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getUrlSync } from '@msdyn365-commerce/core';\nimport { getLoyaltyCardAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/StoreOperationsDataActions.g';\nimport { GetLoyaltyCardInput, issueLoyalty, IssueLoyaltyInput } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport * as React from 'react';\n\nimport { ILoyaltyTermsModalViewProps, LoyaltyTermsModal } from './components/loyalty-terms-modal';\nimport { ILoyaltyTermsData } from './loyalty-terms.data';\nimport { ILoyaltyTermsProps } from './loyalty-terms.props.autogenerated';\n\nexport interface ILoyaltyTermsState {\n checked: boolean;\n clicked: boolean;\n isModalOpen: boolean;\n}\nexport interface ILoyaltyTermsViewProps extends ILoyaltyTermsProps {\n LoyaltyTerms: IModuleProps;\n modalToggle: React.ReactElement;\n modal: ILoyaltyTermsModalViewProps;\n loading: boolean;\n}\n\n/**\n *\n * LoyaltyTerms component.\n * @extends {React.Component>}\n */\nclass LoyaltyTerms extends React.Component, ILoyaltyTermsState> {\n private readonly toggleRef: React.RefObject;\n\n private readonly telemetryContent: ITelemetryContent;\n\n public constructor(props: ILoyaltyTermsProps) {\n super(props);\n this._toggle = this._toggle.bind(this);\n this._submit = this._submit.bind(this);\n this._checkboxChecked = this._checkboxChecked.bind(this);\n this.toggleRef = React.createRef();\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n let search = this.props.context.request.url.requestUrl.search;\n let isJoining = false;\n if (search) {\n search = search.substring(1);\n const qsps = search.split('&');\n for (const qsp of qsps) {\n const splitQsp = qsp.split('=');\n isJoining = splitQsp[0] === 'joiningLoyalty' && splitQsp[1] === 'true';\n if (isJoining) {\n break;\n }\n }\n }\n\n this.state = {\n isModalOpen: isJoining,\n checked: false,\n clicked: false\n };\n }\n\n public shouldComponentUpdate(nextProps: ILoyaltyTermsProps, nextState: ILoyaltyTermsState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n const {\n config: { className, hideToggle },\n resources,\n slots: { serviceTerms },\n data: { loyaltyCard },\n context: {\n request: {\n user: { isAuthenticated }\n }\n }\n } = this.props;\n const completeClass = classname('ms-loyalty-terms', className);\n\n const viewProps = {\n ...this.props,\n className: completeClass,\n LoyaltyTerms: {\n moduleProps: this.props,\n className: completeClass\n },\n loading: loyaltyCard.status === 'LOADING',\n modalToggle: hideToggle !== true && (\n \n ),\n modal:\n isAuthenticated &&\n loyaltyCard.result &&\n loyaltyCard.result.CardNumber === undefined &&\n LoyaltyTermsModal({\n resources: { ...resources },\n returnRef: this.toggleRef,\n checked: this.state.checked,\n isOpen: this.state.isModalOpen,\n terms: serviceTerms,\n telemetryContent: this.telemetryContent,\n onToggle: this._toggle,\n onSubmit: this._submit,\n onCheck: this._checkboxChecked\n })\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _toggle(): void {\n this.setState({ isModalOpen: !this.state.isModalOpen, checked: false });\n }\n\n private _submit(): void {\n if (this.props.context.request.user.isAuthenticated && !this.state.clicked) {\n this.setState({ clicked: true });\n const input = new IssueLoyaltyInput(this.props.context.request.apiSettings);\n\n issueLoyalty(input, this.props.context.actionContext)\n .then(card => {\n if (this.props.config.redirectToLoyalty) {\n window.location.assign(getUrlSync('loyalty', this.props.context.actionContext) || '');\n } else {\n getLoyaltyCardAsync({ callerContext: this.props.context.actionContext }, card.CardNumber || '')\n .then(fullCard => {\n this.props.context.actionContext.update(\n new GetLoyaltyCardInput(this.props.context.request.apiSettings),\n fullCard\n );\n })\n .catch((error: Error) => {\n this.props.context.actionContext.update(\n new GetLoyaltyCardInput(this.props.context.request.apiSettings),\n card\n );\n this.props.telemetry.error(error.message);\n this.props.telemetry.debug('Unable to fetch loyalty card');\n });\n }\n })\n .catch((error: Error) => {\n this.setState({ clicked: false });\n this.props.telemetry.error(error.message);\n this.props.telemetry.debug('Unable to issue loyalty card');\n });\n }\n }\n\n private _checkboxChecked(): void {\n this.setState({ checked: !this.state.checked });\n }\n}\n\nexport default LoyaltyTerms;\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 { ILoyaltyTermsViewProps } from './loyalty-terms';\n\nconst LoyaltyTermsView: React.FC = props => {\n const { LoyaltyTerms, modalToggle, modal, loading } = props;\n\n return !loading && modal ? (\n \n {modalToggle}\n \n {modal.heading}\n \n {modal.terms}\n \n {modal.checkbox}\n {modal.agreeText}\n \n \n \n {modal.submitButton}\n {modal.cancelButton}\n \n \n \n ) : null;\n};\n\nexport default LoyaltyTermsView;\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 * 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 SignInButtonComponent from './components/sign-in-button';\nimport SignInDescriptionComponent from './components/sign-in-description';\nimport SignInErrorComponent from './components/sign-in-error';\nimport SignInInputComponent from './components/sign-in-input';\nimport SignInLabelComponent from './components/sign-in-label';\nimport SignInLinkComponent from './components/sign-in-link';\nimport SignInLoadingIconComponent from './components/sign-in-loading-icon';\nimport SignInLoadingMessageComponent from './components/sign-in-loading-message';\nimport SignInTextComponent from './components/sign-in-text';\nimport { ISignInConfig, ISignInProps, ISignInResources } from './sign-in.props.autogenerated';\n\nexport interface ISignInViewState {\n isShowLoading: boolean;\n}\n\nexport interface ISignInItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n error: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface ISignInSocialItem {\n key: string;\n button: INodeProps;\n image: React.ReactNode;\n text: React.ReactNode;\n}\n\nexport interface ISignInB2BItem {\n key: string;\n button: INodeProps;\n text: React.ReactNode;\n}\n\nexport interface ISignInSocialAccount {\n socialAccounts: INodeProps;\n items: ISignInSocialItem[];\n}\n\nexport interface ISignInB2BAccount {\n socialAccounts: INodeProps;\n items: ISignInB2BItem[];\n}\nexport interface ISignInLocalAccount {\n localAccount: INodeProps;\n items: ISignInItem[];\n forgetPassword: React.ReactNode;\n disclaimer: React.ReactNode;\n error: React.ReactNode;\n signInButton: React.ReactNode;\n}\n\nexport interface ISignInLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface ISignInViewProps {\n className: string;\n viewState: ISignInViewState;\n signIn: IModuleProps;\n loading: ISignInLoading;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n signInSection: INodeProps;\n signInSectionHeading: React.ReactNode;\n signInLocalAccount: ISignInLocalAccount;\n signInSocialAccount: ISignInSocialAccount;\n signInB2BAccount: ISignInB2BAccount;\n signUpSection: INodeProps;\n signUpSectionHeading: React.ReactNode;\n signUpDescription: React.ReactNode;\n signUpLink: React.ReactNode;\n}\n\n/**\n * SignIn 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 SignIn extends React.Component> {\n private readonly moduleClassName: string = 'ms-sign-in';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n @observable private emailId: 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: ISignInProps) {\n super(props);\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 this.emailId = 'logonIdentifier';\n }\n\n public componentDidMount(): void {\n this._prePopulateData();\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: ISignInProps, nextState: ISignInViewState): 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: ISignInConfig = this.props.config || {};\n const resources: ISignInResources = this.props.resources || {};\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n signIn: {\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 signInSection: {\n className: `${this.moduleClassName}__sign-in-section`\n },\n signInSectionHeading: (\n \n ),\n signInLocalAccount: {\n localAccount: {\n className: `${this.moduleClassName}__account-items localAccount`\n },\n items: [\n this._renderInput(\n this.emailId,\n 'email',\n resources.emailAddressLabelText,\n resources.emailAddressAriaLabel,\n this.emailRegex\n ),\n this._renderInput('password', 'password', resources.passwordLabelText)\n ],\n forgetPassword: (\n \n ),\n disclaimer: config.signInDisclaimer && (\n \n ),\n error: ,\n signInButton: (\n \n )\n },\n signInSocialAccount: {\n socialAccounts: {\n className: `${this.moduleClassName}__social-accounts`\n },\n items: [\n this._renderSocialAccount(\n 'FacebookExchange',\n resources.facebookButtonText,\n resources.facebookButtonAriaLabel,\n config.facebookIcon\n ),\n this._renderSocialAccount(\n 'MicrosoftAccountExchange',\n resources.microsoftButtonText,\n resources.microsoftButtonAriaLabel,\n config.microsoftIcon\n )\n ]\n },\n signInB2BAccount: {\n socialAccounts: {\n className: `${this.moduleClassName}__b2b-social-accounts`\n },\n items: [\n this._renderB2BSocialAccount(\n 'StoreManagerB2BSignin',\n resources.b2bButtonText,\n resources.b2bButtonAriaLabel,\n config.displayB2bAccountManagerSignin\n )\n ]\n },\n signUpSection: {\n className: `${this.moduleClassName}__sign-up-section`\n },\n signUpSectionHeading: (\n \n ),\n signUpDescription: (\n \n ),\n signUpLink: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.signInDisclaimer = event.target.value);\n\n public handleSignInHeadingChange = (event: Msdyn365.ContentEditableEvent) =>\n (this.props.config.signInHeading.text = event.target.value);\n\n public handleSignUpHeadingChange = (event: Msdyn365.ContentEditableEvent) =>\n (this.props.config.signUpHeading.text = event.target.value);\n\n private readonly _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 && window['CONTENT'] && window['CONTENT']['email_pattern']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n this.emailRegex = window['CONTENT']['email_pattern'];\n }\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 // @ts-expect-error\n this.emailId = (window.SA_FIELDS.AttributeFields || [])[0].ID || this.emailId;\n }\n };\n\n private readonly _updateErrorMessage = () => {\n const resources: ISignInResources = this.props.resources || {};\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const errorMessages = {\n requiredField_email: resources.requriedEmailError,\n requiredField_password: resources.requriedPasswordError,\n invalid_email: resources.invalidEmailError,\n invalid_password: resources.invalidPasswordError,\n unknown_error: resources.unknownError\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], errorMessages);\n }\n };\n\n private _renderInput(id: string, type: string, labelText: string, ariaLabel?: string, pattern?: string): ISignInItem {\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 error: (\n \n ),\n input: (\n \n )\n };\n }\n\n private _renderSocialAccount(id: string, text: string, ariaLabel: string, iconImage?: Msdyn365.IImageData): ISignInSocialItem {\n return {\n key: id,\n button: {\n id,\n tag: 'button',\n className: classnames(\n `${this.moduleClassName}__social-account`,\n `${this.moduleClassName}__social-account-${id}`,\n 'accountButton',\n 'msc-btn'\n ),\n 'aria-label': ariaLabel\n },\n image: this._createImageMarkup(iconImage),\n text: \n };\n }\n\n private _renderB2BSocialAccount(\n id: string,\n text: string,\n ariaLabel: string,\n _displayB2bAccountManagerSignin: boolean | undefined\n ): ISignInB2BItem | null {\n if (_displayB2bAccountManagerSignin) {\n return {\n key: id,\n button: {\n id,\n tag: 'button',\n className: classnames(\n `${this.moduleClassName}__social-account`,\n `${this.moduleClassName}__social-account-${id}`,\n 'accountButton',\n 'msc-btn'\n ),\n 'aria-label': ariaLabel\n },\n text: \n };\n }\n return null;\n }\n\n private _createImageMarkup(iconImage?: Msdyn365.IImageData): React.ReactNode | null {\n if (iconImage) {\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings || {},\n imageSettings: iconImage && iconImage.imageSettings\n };\n const pictureClassName = `${this.moduleClassName}__social-account-picture`;\n return (\n
\n \n
\n );\n }\n return null;\n }\n}\n\nexport default SignIn;\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 ISignInItem,\n ISignInLoading,\n ISignInLocalAccount,\n ISignInSocialAccount,\n ISignInSocialItem,\n ISignInB2BAccount,\n ISignInB2BItem,\n ISignInViewProps\n} from './sign-in';\n\nconst LocalAccount: React.FC = ({ localAccount, items, forgetPassword, disclaimer, error, signInButton }) => {\n return (\n \n {items &&\n items.map((item: ISignInItem) => {\n return (\n \n {item.label}\n {item.error}\n {item.input}\n \n );\n })}\n {forgetPassword}\n {disclaimer}\n {error}\n {signInButton}\n \n );\n};\n\nconst SocialAccount: React.FC = ({ socialAccounts, items }) => {\n return (\n \n {items &&\n items.map((item: ISignInSocialItem) => {\n return (\n \n {item.image}\n {item.text}\n \n );\n })}\n \n );\n};\n\nconst B2BAccount: React.FC = ({ socialAccounts, items }) => {\n return (\n \n {items &&\n items.map((item: ISignInB2BItem) => {\n return (\n item && (\n \n {item.text}\n \n )\n );\n })}\n \n );\n};\n\nconst SignInLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst SignInView: React.FC = props => {\n const {\n signIn,\n viewState,\n loading,\n defaultAADConainer,\n aadConainer,\n signInSection,\n signUpSection,\n signInSectionHeading,\n signInLocalAccount,\n signInSocialAccount,\n signUpSectionHeading,\n signInB2BAccount,\n signUpDescription,\n signUpLink\n } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n \n {signInSectionHeading}\n {LocalAccount(signInLocalAccount)}\n {SocialAccount(signInSocialAccount)}\n {B2BAccount(signInB2BAccount)}\n \n \n {signUpSectionHeading}\n {signUpDescription}\n {signUpLink}\n \n \n \n );\n};\n\nexport default SignInView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\nimport { Button, ITelemetryContent, getPayloadObject, getTelemetryAttributes } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport classnames from 'classnames';\n\n/**\n * Class names used in component.\n */\nconst componentClassName = 'ms-order-history-with-search-and-filters-organization-wide-selector';\nconst buttonClassName = `${componentClassName}__button`;\nconst buttonActiveClassName = `${componentClassName}__active-button`;\nconst buttonInactiveClassName = `${componentClassName}__inactive-button`;\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources {\n currentUserOptionLabel: string;\n currentUserOptionAriaLabel?: string;\n organizationWideOptionLabel: string;\n organizationWideOptionAriaLabel?: string;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState interface.\n */\nexport enum OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState {\n CurrentUser,\n OrganizationWide\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorData interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorData {\n customer: Customer;\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n extends IComponentProps {\n className?: string;\n resources: IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources;\n currentSelectorState: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState;\n telemetryContent?: ITelemetryContent;\n onChange(state: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState): void;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelector component.\n * @param props - Configuration of the component.\n * @returns React node.\n */\nconst OrderHistoryWithSearchAndFiltersOrganizationWideSelectorFunctionalComponent: React.FC = (\n props: IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n) => {\n // Current version doesn't include functionality for non b2b users or non-admin b2b users.\n if (!props.data.customer.IsB2bAdmin) {\n return
;\n }\n\n const [selectorState, setSelectorState] = React.useState(props.currentSelectorState);\n\n const onClickHandler = (newSelectorState: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState) => {\n setSelectorState(newSelectorState);\n props.onChange(newSelectorState);\n };\n\n // define telemetry attributes\n const currentUserOrderHistoryAttributes = getTelemetryAttributes(\n props.telemetryContent!,\n getPayloadObject('click', props.telemetryContent!, props.resources?.currentUserOptionLabel ?? 'Current user order history')\n );\n const orgWideOrderHistoryAttributes = getTelemetryAttributes(\n props.telemetryContent!,\n getPayloadObject('click', props.telemetryContent!, props.resources?.currentUserOptionLabel ?? 'Org wide order history')\n );\n\n return (\n
\n onClickHandler(OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState.CurrentUser)}\n {...currentUserOrderHistoryAttributes}\n >\n {props.resources?.currentUserOptionLabel}\n \n onClickHandler(OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState.OrganizationWide)}\n {...orgWideOrderHistoryAttributes}\n >\n {props.resources?.organizationWideOptionLabel}\n \n
\n );\n};\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelector component.\n */\nexport const OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent: React.FunctionComponent = msdyn365Commerce.createComponent<\n // @ts-expect-error\n IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n>('OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent', {\n component: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorFunctionalComponent\n});\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * 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 { IAccountAddressTileData } from './account-address-tile.data';\nimport { IAccountAddressTileProps } from './account-address-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-address-tile-description';\nimport LinksComponent from './components/account-address-tile-links';\n\nexport interface IAccountAddressTileViewProps extends IAccountAddressTileProps {\n AccountAddressTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountAddress component.\n * @extends {React.PureComponent>}\n */\nclass AccountAddressTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountAddressTileProps) {\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 { className, heading, links } = config;\n const { accountAddressTileDescriptionForSingleAddress, accountAddressTileDescriptionForMultipleAddresses } = resources;\n const { address } = data;\n const addressCount = (address && address.result && address.result.length) || 0;\n const accountAddressTileDescription =\n addressCount === 1 ? accountAddressTileDescriptionForSingleAddress : accountAddressTileDescriptionForMultipleAddresses;\n const description = format(accountAddressTileDescription, addressCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountAddressTile: {\n moduleProps: this.props,\n className: classnames('ms-account-address-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) => (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 AccountAddressTile;\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 IAccountWishlistTileDescription {\n description: string;\n}\n\n// eslint-disable-next-line no-redeclare\nconst IAccountWishlistTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n\nexport default IAccountWishlistTileDescription;\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-wishlist-tile.props.autogenerated';\n\nexport interface IAccountWishlistTileLinks {\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 AccountWishlistTileLinks: 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};\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-wishlist-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 AccountWishlistTileLinks;\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 { IAccountWishlistTileData } from './account-wishlist-tile.data';\nimport { IAccountWishlistTileProps } from './account-wishlist-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-wishlist-tile-description';\nimport LinksComponent from './components/account-wishlist-tile-links';\n\nexport interface IAccountWishlistTileViewProps extends IAccountWishlistTileProps {\n AccountWishlistTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountWishlist component.\n * @extends {React.PureComponent>}\n */\nclass AccountWishlistTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IAccountWishlistTileProps) {\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 { className, heading, links } = config;\n const { accountWishlistTileDescription } = resources;\n const wishlists = data.wishlists.result;\n\n const wishlistsCount = ((wishlists && wishlists.length && wishlists[0].CommerceListLines) || []).length;\n const description = format(accountWishlistTileDescription || 'You have {0} items in the Wishlist.', wishlistsCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountWishlistTile: {\n moduleProps: this.props,\n className: classnames('ms-account-wishlist-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) => (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 AccountWishlistTile;\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 { IAccountAddressTileViewProps } from './account-address-tile';\n\nconst AccountAddressTileView: React.FC = props => {\n const { AccountAddressTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountAddressTileView;\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 { IAccountWishlistTileViewProps } from './account-wishlist-tile';\n\nconst AccountWishlistTileView: React.FC = props => {\n const { AccountWishlistTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountWishlistTileView;\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, PasswordRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps, INodeProps, 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 SignUpButtonComponent from './components/sign-up-button';\nimport SignUpErrorComponent from './components/sign-up-error';\nimport SignUpInputComponent from './components/sign-up-input';\nimport SignUpLabelComponent from './components/sign-up-label';\nimport SignUpLoadingIconComponent from './components/sign-up-loading-icon';\nimport SignUpLoadingMessageComponent from './components/sign-up-loading-message';\nimport SignUpSuccessComponent from './components/sign-up-success';\nimport { ISignUpConfig, ISignUpProps, ISignUpResources } from './sign-up.props.autogenerated';\n\nexport interface ISignUpViewState {\n isShowLoading: boolean;\n}\n\nexport interface ISignUpItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface ISignUpEmailVerification {\n isRequired: boolean;\n email: ISignUpItem;\n buttonWrapper: INodeProps;\n buttons: React.ReactNode[];\n successMessage: React.ReactNode[];\n errorMessage: React.ReactNode[];\n verificationControlWrapper: INodeProps;\n}\n\n/**\n * SignUp Given Name Verification Interface.\n */\nexport interface ISignUpGivenNameVerification {\n isRequired: boolean;\n givenName: ISignUpItem;\n errorMessage: React.ReactNode[];\n verificationControlWrapper: INodeProps;\n}\n\n/**\n * SignUp Surname Verification Interface.\n */\nexport interface ISignUpSurnameVerification {\n isRequired: boolean;\n surname: ISignUpItem;\n errorMessage: React.ReactNode[];\n verificationControlWrapper: INodeProps;\n}\n\nexport interface ISignUpLocalAccount {\n localAccount: INodeProps;\n items: ISignUpItem[];\n emailVerification: ISignUpEmailVerification;\n givenNameVerification: ISignUpGivenNameVerification;\n surnameVerification: ISignUpSurnameVerification;\n buttons: React.ReactNode[];\n errorMessage: React.ReactNode[];\n disclaimer: React.ReactNode;\n}\n\nexport interface ISignUpLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface ISignUpViewProps {\n className: string;\n viewState: ISignUpViewState;\n loading: ISignUpLoading;\n signUp: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n signUpLocalAccount: ISignUpLocalAccount;\n}\n\n/**\n *\n * SignUp 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 SignUp extends React.Component> {\n @observable private isGivenNameVerificationRequried: boolean;\n\n @observable private isSurnameVerificationRequried: boolean;\n\n private readonly moduleClassName: string = 'ms-sign-up';\n\n @observable private emailRegex: string;\n\n @observable private newPasswordRegex: string;\n\n @observable private reenterPasswordRegex: string;\n\n @observable private isEmailVerificationRequried: boolean;\n\n @observable private isInitialized: boolean;\n\n @observable private templateVersion: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: ISignUpProps) {\n super(props);\n\n this.emailRegex = EmailRegex.defaultRegex.source;\n this.newPasswordRegex = PasswordRegex.defaultRegex.source;\n this.reenterPasswordRegex = PasswordRegex.defaultRegex.source;\n this.isEmailVerificationRequried = false;\n this.isGivenNameVerificationRequried = false;\n this.isSurnameVerificationRequried = false;\n this.isInitialized = false;\n this.templateVersion = '';\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: ISignUpProps, nextState: ISignUpViewState): 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 signUp: {\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: (\n \n ),\n signUpLocalAccount: this._renderLocalAccount()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handles heading content change event.\n * @param event - Content editable event.\n * @returns - Heading Text.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n /**\n * Handles paragraph content change event.\n * @param event - Content editable event.\n * @returns - Paragraph Text.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.disclaimer = 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 const resources: ISignUpResources = this.props.resources || {};\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; PAT: string; UX_INPUT_TYPE: string; PAT_DESC: string; VERIFY: boolean }) => {\n switch (obj.ID.toLowerCase()) {\n case 'emailverificationcontrol': {\n this.isEmailVerificationRequried = true;\n this.templateVersion = 'v2';\n break;\n }\n case 'email': {\n this.emailRegex = obj.PAT;\n this.isEmailVerificationRequried = obj.VERIFY;\n this.templateVersion = 'v1';\n break;\n }\n case 'givennameverificationcontrol': {\n this.isGivenNameVerificationRequried = true;\n break;\n }\n case 'givenname': {\n this.isGivenNameVerificationRequried = obj.VERIFY;\n break;\n }\n case 'surnameverificationcontrol': {\n this.isEmailVerificationRequried = true;\n break;\n }\n case 'surname': {\n this.isSurnameVerificationRequried = obj.VERIFY;\n break;\n }\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 switch (obj.UX_INPUT_TYPE.toLowerCase()) {\n case 'password': {\n obj.PAT_DESC = resources.invalidPasswordError;\n break;\n }\n case 'emailbox': {\n obj.PAT_DESC = resources.invalidEmailAddressError;\n break;\n }\n default:\n }\n }\n );\n }\n };\n\n private readonly _updateErrorMessage = () => {\n const resources: ISignUpResources = this.props.resources || {};\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const errorMessages = {\n required_field: resources.requiredFieldMissingError\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], errorMessages);\n }\n };\n\n private readonly getValue = (v1Value: string, v2Value: string): string => {\n if (this.templateVersion) {\n return this.templateVersion === 'v1' ? v1Value : v2Value;\n }\n return '';\n };\n\n private _renderLocalAccount(): ISignUpLocalAccount {\n const { config, resources } = this.props;\n return {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('givenName', 'text', resources.firstNameLabelText, resources.firstNameMaxLength),\n this._renderInput('surname', 'text', resources.lastNameLabelText, resources.lastNameMaxLength),\n this._renderInput('email', 'email', resources.emailAddressLabelText, undefined, this.emailRegex),\n this._renderInput('newPassword', 'password', resources.passwordLabelText, undefined, this.newPasswordRegex),\n this._renderInput('reenterPassword', 'password', resources.confirmPasswordLabelText, undefined, this.reenterPasswordRegex)\n ],\n emailVerification: {\n isRequired: this.isEmailVerificationRequried,\n email: this._renderInput(\n this.getValue('email_ver_input', 'emailVerificationCode'),\n 'text',\n resources.verificationCodeLabelText,\n undefined,\n undefined,\n 'VerificationCode'\n ),\n verificationControlWrapper: {\n id: 'emailVerificationControl',\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\n },\n buttonWrapper: {\n className: `${this.moduleClassName}__email-verification-buttons ${this.getValue('verify', '')}`,\n 'data-claim_id': 'email'\n },\n buttons: [\n ,\n ,\n ,\n \n ],\n successMessage: [\n ,\n \n ],\n errorMessage: [\n ,\n ,\n ,\n ,\n ,\n ,\n \n ]\n },\n givenNameVerification: {\n isRequired: this.isGivenNameVerificationRequried,\n givenName: this._renderInput(\n this.getValue('givenName_ver_input', 'givenNameVerificationCode'),\n 'text',\n resources.verificationCodeLabelText,\n undefined,\n undefined,\n 'VerificationCode'\n ),\n verificationControlWrapper: {\n id: 'givenNameVerificationControl',\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\n },\n errorMessage: [\n \n ]\n },\n surnameVerification: {\n isRequired: this.isSurnameVerificationRequried,\n surname: this._renderInput(\n this.getValue('surname_ver_input', 'surnameVerificationCode'),\n 'text',\n resources.verificationCodeLabelText,\n undefined,\n undefined,\n 'VerificationCode'\n ),\n verificationControlWrapper: {\n id: 'surnameVerificationControl',\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\n },\n errorMessage: [\n \n ]\n },\n buttons: [\n ,\n \n ],\n errorMessage: [\n ,\n ,\n ,\n \n ],\n disclaimer: config.disclaimer && (\n \n )\n };\n }\n\n private _renderInput(\n id: string,\n type: string,\n labelText: string,\n maxLength?: string,\n pattern?: string,\n cssClassName?: string\n ): ISignUpItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry', cssClassName)\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n}\n\nexport default SignUp;\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 ISignUpEmailVerification,\n ISignUpGivenNameVerification,\n ISignUpItem,\n ISignUpLoading,\n ISignUpLocalAccount,\n ISignUpSurnameVerification,\n ISignUpViewProps\n} from './sign-up';\n\nconst SignUpItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst SignUpEmailVerification: React.FC = ({ email, buttonWrapper, buttons, successMessage, errorMessage }) => {\n return (\n <>\n {successMessage &&\n successMessage.map((message: React.ReactNode) => {\n return <>{message};\n })}\n \n {errorMessage &&\n errorMessage.map((message: React.ReactNode) => {\n return <>{message};\n })}\n \n {buttons &&\n buttons.map((button: React.ReactNode) => {\n return <>{button};\n })}\n \n \n );\n};\n\n/**\n * Handles validation of sign-up givenName.\n * @param event - Content editable event.\n * @param event.givenName - Event Given Name.\n * @param event.errorMessage - Event Error Message.\n * @returns - Error Message for Given Name.\n */\nconst SignUpGivenNameVerificationComponent: React.FC = ({ givenName, errorMessage }) => {\n return (\n <>\n \n {errorMessage.map((message: React.ReactNode) => {\n return <>{message};\n })}\n \n );\n};\n\n/**\n * Handles validation of signUp surname.\n * @param event - Content editable event.\n * @param event.surname - Event surname.\n * @param event.errorMessage - Event Error Message.\n * @returns - Error Message for surname.\n */\nconst SignUpSurnameVerificationComponent: React.FC = ({ surname, errorMessage }) => {\n return (\n <>\n \n {errorMessage.map((message: React.ReactNode) => {\n return <>{message};\n })}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n emailVerification,\n givenNameVerification,\n surnameVerification,\n buttons,\n errorMessage,\n disclaimer\n}) => {\n return (\n \n {items &&\n items.map((item: ISignUpItem) => {\n if (item.key === 'email' && emailVerification.isRequired) {\n return (\n \n \n \n \n );\n }\n if (item.key === 'givenName' && givenNameVerification.isRequired) {\n return (\n \n \n \n \n );\n }\n if (item.key === 'surname' && surnameVerification.isRequired) {\n return (\n \n \n \n \n );\n }\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 {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n {disclaimer}\n \n );\n};\n\nconst SignUpLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst SignUpView: React.FC = props => {\n const { signUp, viewState, loading, defaultAADConainer, aadConainer, heading, signUpLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(signUpLocalAccount)}\n \n \n );\n};\n\nexport default SignUpView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IBusinessOrganizationListViewProps, IFormViewProps, InputID } from './business-organization-list';\nimport { IBusinessFormItem } from './components/small-components';\n\nconst BusinessFormItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst BusinessUserForm: React.FC = (props: IFormViewProps) => {\n const { modalClassName, FormWrapper, modalHeading, modalDescription, inputs, buttons, errorMessage, toggle } = props;\n\n const modalBody = (\n <>\n {modalDescription}\n \n {inputs &&\n inputs.map((item: IBusinessFormItem) => {\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n \n );\n\n const modalFooter =\n buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n });\n\n return _renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\n};\n\nconst BusinessUserDetails: React.FC = (props: IFormViewProps) => {\n const { modalClassName, FormWrapper, modalHeading, modalDescription, selectedUser, buttons, errorMessage, resources, toggle } = props;\n let modalBody = null;\n\n if (!selectedUser) {\n modalBody = errorMessage;\n } else {\n const { FirstName, LastName } = selectedUser;\n const userFullName = `${FirstName} ${LastName}`;\n\n modalBody = (\n <>\n {modalDescription}\n \n \n {userFullName}\n \n {Object.keys(selectedUser).map((data, index) => {\n if (data === InputID.FirstName || data === InputID.LastName) {\n return null;\n }\n const label = resources[`table${data}HeadingText`] || data;\n return (\n \n {label}\n {': '}\n {selectedUser[data]}\n \n );\n })}\n \n \n );\n }\n\n const modalFooter =\n buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n });\n\n return _renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\n};\n\nconst _getForm = (type: string, formProps: IFormViewProps, toggleModal?: () => void) => {\n switch (type) {\n case 'ADD':\n case 'EDIT':\n return ;\n case 'VIEW':\n case 'REMOVE':\n return ;\n default:\n return null;\n }\n};\n\nconst _renderModal = (\n className: string,\n isModalOpen: boolean,\n headingSection: React.ReactNode,\n bodySection: React.ReactNode,\n footerSection: React.ReactNode,\n toggleModal?: () => void\n) => {\n return (\n \n {headingSection}\n {bodySection}\n {footerSection}\n \n );\n};\n\nconst BusinessOrganizationList: React.FC = props => {\n const {\n OrganizationUserList,\n moduleContainer,\n heading,\n noUsersText,\n addUserButton,\n organizationListTable,\n form,\n formType,\n toggleModal,\n requestAccountStatementButton,\n requestStatementModal\n } = props;\n\n const ButtonList: React.ReactNode = (\n \n {addUserButton}\n {requestAccountStatementButton}\n \n );\n\n if (noUsersText) {\n return (\n \n \n {heading}\n {ButtonList}\n {requestStatementModal}\n {noUsersText}\n \n \n );\n }\n\n return (\n \n \n {heading}\n {ButtonList}\n {requestStatementModal}\n {organizationListTable}\n \n {form && _getForm(formType, form, toggleModal)}\n \n );\n};\n\nexport default BusinessOrganizationList;\n","import * as React from 'react';\r\nimport { INodeProps, Node } from \"@msdyn365-commerce-modules/utilities\";\r\n\r\nexport interface INoShipmentTrackingProps {\r\n noShipmentTrackingNodeProps: INodeProps;\r\n noShipmentTrackingResources: INoShipmentTrackingResources;\r\n}\r\n\r\nexport interface INoShipmentTrackingResources {\r\n noShippingFoundText: string;\r\n}\r\n\r\nexport const NoShipmentTrackingComponent: React.FC = (props: INoShipmentTrackingProps) => {\r\n const {\r\n noShipmentTrackingNodeProps,\r\n noShipmentTrackingResources: {\r\n noShippingFoundText = ''\r\n }\r\n } = props;\r\n\r\n const baseClassName = noShipmentTrackingNodeProps.className\r\n\r\n return (\r\n \r\n
{noShippingFoundText}
\r\n
\r\n );\r\n}","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * 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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n NodeTag,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput } from '../..';\nimport { IAccordionData } from './accordion.data';\nimport { IAccordionProps } from './accordion.props.autogenerated';\n\n/**\n *\n * Accordion component.\n * @extends {React.PureComponent>}\n */\n\nexport interface ICallToActionProps {\n link: INodeProps[];\n}\n\n/**\n * Added interface for state management.\n */\nexport interface IAccordianState {\n isDisabled: boolean;\n}\n\nexport interface IAccordionViewProps extends IAccordionProps<{}> {\n heading?: React.ReactNode;\n AccordionContainer: IModuleProps;\n HeaderSection: INodeProps;\n HeadingWrapper: INodeProps;\n accordianButtonsContainer: INodeProps;\n accordionButtons: React.ReactNode;\n accordionItemContainer: INodeProps;\n accordionItems: React.ReactNode;\n}\n\n/**\n *\n * Accordion component.\n * @extends {React.Component>}\n */\n@observer\nclass Accordion extends React.PureComponent, IAccordianState> {\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private readonly expandAllButtonRef: React.RefObject = React.createRef();\n\n private readonly collapseAllButtonRef: React.RefObject = React.createRef();\n\n constructor(props: IAccordionProps) {\n super(props);\n this._onExpandAll = this._onExpandAll.bind(this);\n this._onCollapseAll = this._onCollapseAll.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\n this.state = { isDisabled: false };\n }\n\n public render(): JSX.Element {\n const { slots } = this.props;\n const { heading, className } = this.props.config;\n const headingComponent = heading && heading.text && (\n \n );\n\n const accordionViewProps = {\n ...this.props,\n AccordionContainer: {\n moduleProps: this.props,\n className: classnames('ms-accordion', className)\n },\n HeaderSection: { className: 'ms-accordion-header-section' },\n HeadingWrapper: { className: 'ms-accordion-header-section-container' },\n heading: headingComponent,\n config: this.props && this.props.config,\n accordianButtonsContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-header-section-toggle-button-container'\n },\n accordionButtons: this._renderAccordionButton(),\n accordionItemContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-item-section'\n },\n accordionItems:\n slots &&\n slots.accordionItems &&\n slots.accordionItems.length > 0 &&\n slots.accordionItems.map((item: React.ReactNode, index: number) => this._getAccordionItem(item, index))\n };\n return this.props.renderView(accordionViewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n private _renderAccordionButton(): React.ReactNode | null {\n const { config, resources } = this.props;\n const { heading } = config;\n this.payLoad.contentAction.etext = TelemetryConstant.ExpandAll;\n const attributeExpandAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n this.payLoad.contentAction.etext = TelemetryConstant.CollapseAll;\n const attributeCollapseAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n if (!config.showToggleAll) {\n this.props.context.telemetry.error('Accordion button content is empty, module wont render');\n return null;\n }\n return (\n <>\n \n {resources.expandAllText}\n \n  \n {resources.toggleAllSeparator}\n  \n \n {resources.collapseAllText}\n \n \n );\n }\n\n private _onExpandAll(): void {\n const accordionState = { isAllExpanded: true };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (accordionState.isAllExpanded) {\n this.setState({\n isDisabled: true\n });\n setTimeout(() => {\n this.collapseAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _onCollapseAll(): void {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (!accordionState.isAllExpanded) {\n this.setState({\n isDisabled: false\n });\n setTimeout(() => {\n this.expandAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _getAccordionItem(item: React.ReactNode, index: number): React.ReactNode {\n return (\n \n {React.cloneElement(item as React.ReactElement, { interactionStyle: this.props.config.interactionStyle })}\n \n );\n }\n}\n\nexport default Accordion;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ControlledDrawer, getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport { IDrawerState } from '@msdyn365-commerce-modules/utilities/dist/types/drawer/Drawer';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput, interactionStyle } from '../..';\nimport { IAccordionItemData } from './accordion-item.data';\nimport { IAccordionItemProps } from './accordion-item.props.autogenerated';\n\nexport interface IAccordionItemViewProps {\n AccordionItemContainer: IModuleProps;\n drawer: INodeProps;\n accordionSlots: INodeProps;\n AccordionItemContent: INodeProps;\n className: string;\n}\n\nexport interface IAccordionItemExtentedProps extends IAccordionItemProps {\n interactionStyle?: interactionStyle;\n}\n\n/**\n *\n * AccordionItem component.\n * @extends {React.Component}\n */\n@observer\nclass AccordionItem extends React.Component {\n private readonly moduleClassName: string = 'ms-accordion-item';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IAccordionItemProps) {\n super(props);\n this._onToggle = this._onToggle.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public shouldComponentUpdate(nextProps: IAccordionItemProps): boolean {\n if (this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { slots, renderView, config, data } = this.props;\n const accordionExpandedStateResult = data && data.accordionExpandedState && data.accordionExpandedState.result;\n const expanded =\n accordionExpandedStateResult && accordionExpandedStateResult.isAllExpanded === undefined\n ? data && config.isExpandedOnInitialLoad\n : accordionExpandedStateResult && accordionExpandedStateResult.isAllExpanded;\n const viewProps = {\n ...this.props,\n AccordionItemContainer: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n AccordionItemContent: {\n className: 'ms-accordion-item-content'\n },\n drawer: {\n tag: ControlledDrawer,\n className: `${this.moduleClassName}__drawer`,\n toggleButtonText: (config.accordionItemTitle && config.accordionItemTitle) || '',\n collapseProps: { isOpen: expanded },\n onToggle: this._onToggle,\n onTextChange: this.handleHeadingChange,\n requestContext: this.props.context.request,\n telemetryContent: this.telemetryContent\n },\n accordionSlots: slots\n };\n return renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.accordionItemTitle = event.target.value);\n\n private _onToggle(state: IDrawerState): void {\n if (!state.isOpen && this.props.interactionStyle === interactionStyle.ExpandOneItemOnly) {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n }\n }\n}\nexport default AccordionItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { isChannelTypeB2B } from '@msdyn365-commerce/core';\nimport { BusinessPartnerUsersDataActions } from '@msdyn365-commerce/retail-proxy';\nimport {\n AccountStatementRequest,\n BusinessPartnerOperationDeliveryType,\n CustomerBalances\n} from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { getTelemetryObject, Heading, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport { get } from 'lodash';\nimport { computed } from 'mobx';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceData } from './account-customer-balance.data';\nimport { HeadingTag, IAccountCustomerBalanceProps } from './account-customer-balance.props.autogenerated';\nimport {\n AccountLabels,\n AccountValues,\n ActionBar,\n AdminRequestStatementButton,\n AvailableCreditComponent,\n BackButton,\n BalanceOwedComponent,\n CreditExcessComponent,\n RequestStatementModal\n} from './components';\n\nexport interface IAccountCustomerBalanceViewProps extends IAccountCustomerBalanceProps {\n heading: string;\n homeButton: React.ReactNode;\n accountSectionHeading: React.ReactNode;\n accountLabels: React.ReactNode;\n accountValues: React.ReactNode;\n creditSummarySectionHeading: React.ReactNode;\n creditSummaryLabels?: React.ReactNode;\n creditSummaryValues?: React.ReactNode;\n actions: React.ReactNode;\n requestStatementModal: React.ReactNode;\n availableCredit?: React.ReactNode;\n balanceOwed?: React.ReactNode;\n creditExcess?: React.ReactNode;\n}\n\nexport interface IAccountCustomerBalanceState {\n isStatementRequestModalOpen: boolean;\n statementRequestFromDateString: string;\n statementRequestToDateString: string;\n isStatementRequestAdminDropdownOpen: boolean;\n statementRequestFullOrg: boolean;\n statementRequestMaxDateString?: string;\n}\n\n/**\n *\n * AccountCustomerBalance component.\n * @extends {React.PureComponent>}\n */\nclass AccountCustomerBalance extends React.PureComponent<\n IAccountCustomerBalanceProps,\n IAccountCustomerBalanceState\n> {\n private readonly telemetryContent?: ITelemetryContent;\n private readonly requestStatementButtonRef: React.RefObject = React.createRef();\n\n @computed get canSubmitStatementRequest(): boolean {\n return this.state.statementRequestFromDateString !== '' && this.state.statementRequestToDateString !== '';\n }\n\n constructor(props: IAccountCustomerBalanceProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.state = {\n isStatementRequestModalOpen: false,\n statementRequestFromDateString: '',\n statementRequestToDateString: '',\n isStatementRequestAdminDropdownOpen: false,\n statementRequestFullOrg: false,\n statementRequestMaxDateString: new Date().toISOString().split('T')[0]\n };\n }\n\n public render(): JSX.Element | null {\n const customer = get(this.props, 'data.customerInformation.result');\n const account: CustomerBalances = get(this.props, 'data.balance.result');\n if ([customer, account].includes(undefined)) {\n this.props.context.telemetry.error('Customer data is unavailable, module will not render');\n return null;\n }\n\n const { config, resources, context } = this.props;\n const { heading } = config;\n const {\n creditSummarySectionHeading,\n accountSectionHeading,\n backToShoppingText,\n customerSincePrefix,\n availableCreditLabel,\n balanceOwedLabel,\n creditExcessLabel,\n requestStatementButtonLabel,\n modalHeaderLabel,\n sendToEmailLabel,\n fromDateLabel,\n toDateLabel,\n submitRequestLabel,\n cancelLabel,\n myAccountStatementLabel,\n fullOrganizationLabel,\n modalAriaLabel\n } = resources;\n\n const {\n isStatementRequestModalOpen,\n statementRequestFromDateString,\n statementRequestToDateString,\n statementRequestMaxDateString\n } = this.state;\n\n const accountNumber = customer.AccountNumber;\n const createdOn = this._formatJoinDate(new Date(customer.CreatedDateTime));\n const name = `${customer.FirstName} ${customer.LastName}`;\n let customerCredit = 0;\n let customerAccountBalance = 0;\n let excess = 0;\n\n if (account.InvoiceAccountCreditLimit === 0) {\n customerCredit = account.CreditLimit - account.Balance;\n customerAccountBalance = account.Balance;\n excess = account.Balance - account.CreditLimit;\n } else {\n customerCredit = account.InvoiceAccountCreditLimit - account.InvoiceAccountBalance;\n customerAccountBalance = account.InvoiceAccountBalance;\n excess = account.InvoiceAccountBalance - account.InvoiceAccountCreditLimit;\n }\n\n const creditExcess = excess > 0 ? this._formatCurrency(excess) : null;\n const availableCredit = this._formatCurrency(customerCredit);\n const balanceOwed = this._formatCurrency(customerAccountBalance);\n const backLink = Msdyn365.getUrlSync('home', context.actionContext) || '';\n const emailAddress = customer.Email;\n const isB2BSite = isChannelTypeB2B(this.props.context.request);\n const isB2BAdmin = isB2BSite && customer.IsB2bAdmin;\n\n const actionBar = isB2BAdmin ? (\n \n ) : (\n isB2BSite && (\n \n )\n );\n\n const viewProps = {\n ...this.props,\n heading: ,\n accountSectionHeading: (\n \n ),\n accountLabels: (\n \n ),\n accountValues: ,\n creditSummarySectionHeading: (\n \n ),\n availableCredit: ,\n balanceOwed: ,\n creditExcess: ,\n homeButton: ,\n actions: actionBar,\n requestStatementModal: isB2BSite && (\n \n )\n };\n\n return this.props.renderView(viewProps);\n }\n\n private _formatCurrency(currency: number): string {\n const currencyCode = get(this.props, 'context.request.channel.Currency');\n const formatCurrency = get(this.props, 'context.cultureFormatter.formatCurrency');\n\n return `${formatCurrency(currency.toFixed(2), currencyCode)}`;\n }\n\n private _formatJoinDate(date: Date): string {\n const i14nDate = new Intl.DateTimeFormat(this.props.context.actionContext.requestContext.locale, {\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n });\n\n return i14nDate.format(date);\n }\n\n private readonly _showRequestStatementModal = (): void => {\n if (!this.state.isStatementRequestModalOpen) {\n this.setState({\n isStatementRequestModalOpen: true\n });\n }\n };\n\n private readonly _toggleModal = (): void => {\n this.setState({\n isStatementRequestModalOpen: false\n });\n this.requestStatementButtonRef.current?.focus();\n };\n\n private readonly _toggleDropdown = (): void => {\n this.setState({\n isStatementRequestAdminDropdownOpen: !this.state.isStatementRequestAdminDropdownOpen\n });\n };\n\n private readonly _updateFromDate = (newFromDate: string) => {\n this.setState({\n statementRequestFromDateString: newFromDate\n });\n };\n\n private readonly _updateToDate = (newToDate: string) => {\n this.setState({\n statementRequestToDateString: newToDate\n });\n };\n\n private readonly _adminShowRequestStatementModal = (isFullOrg: boolean) => {\n this.setState({\n statementRequestFullOrg: isFullOrg,\n isStatementRequestAdminDropdownOpen: false\n });\n\n this._showRequestStatementModal();\n };\n\n private readonly _requestStatement = () => {\n const customer = this.props.data.customerInformation.result!;\n const B2BUserId = this.props.data.b2bUserInformation?.result?.B2BUserId || '';\n\n const statementRequest: AccountStatementRequest = {\n FromDate: new Date(this.state.statementRequestFromDateString),\n ToDate: new Date(this.state.statementRequestToDateString),\n IsForFullOrganization: this.state.statementRequestFullOrg,\n RequestedUserId: B2BUserId,\n RequestingUserEmail: customer.Email,\n DeliveryTypeValue: BusinessPartnerOperationDeliveryType.Email\n };\n\n const context = { callerContext: this.props.context.actionContext };\n\n BusinessPartnerUsersDataActions.requestAccountStatementAsync(context, B2BUserId, statementRequest);\n\n this.setState({\n isStatementRequestModalOpen: false\n });\n\n this.requestStatementButtonRef.current?.focus();\n };\n}\n\nexport default AccountCustomerBalance;\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","import * as React from 'react';\r\nimport { INodeProps, Node } from \"@msdyn365-commerce-modules/utilities\";\r\n\r\nexport interface IShipmentTrackingProps {\r\n shipmentTrackingNodeProps: INodeProps;\r\n shipmentTrackingResources: IShipmentTrackingResources;\r\n containerId: string | undefined;\r\n weight: number | undefined;\r\n shippingCarrier: string | undefined;\r\n trackingNumber: string | undefined;\r\n trackingUrl: string | undefined;\r\n}\r\n\r\nexport interface IShipmentTrackingResources {\r\n headingText: string;\r\n containerIdLabel: string;\r\n weightLabel: string;\r\n shippingCarrierLabel: string;\r\n trackingLabel: string;\r\n trackthisPackageLinkText: string;\r\n}\r\n\r\nexport const ShipmentTrackingComponent: React.FC = (props: IShipmentTrackingProps) => {\r\n const {\r\n shipmentTrackingNodeProps,\r\n shipmentTrackingResources: {\r\n headingText = '',\r\n containerIdLabel = '',\r\n weightLabel = '',\r\n shippingCarrierLabel = '',\r\n trackingLabel = '',\r\n trackthisPackageLinkText = ''\r\n },\r\n containerId = '',\r\n weight = 0,\r\n shippingCarrier = '',\r\n trackingNumber = '',\r\n trackingUrl\r\n } = props;\r\n\r\n const baseClassName = shipmentTrackingNodeProps.className\r\n\r\n return (\r\n \r\n
{headingText}
\r\n {containerIdLabel}{containerId}\r\n {weightLabel}{weight}\r\n {shippingCarrierLabel}{shippingCarrier}\r\n {trackingLabel}{trackingNumber}\r\n { trackingUrl ? (\r\n {trackthisPackageLinkText}\r\n ) : null }\r\n
\r\n );\r\n}","import * as React from 'react';\r\nimport { ICultureInfoFormatter } from '@msdyn365-commerce/core';\r\n\r\nexport interface IOrderDetailsContainerRowProps {\r\n name: string | undefined;\r\n itemId: string | undefined;\r\n imageUrl: string | undefined;\r\n productUrl: string | undefined;\r\n quantity: number | undefined;\r\n netAmount: number;\r\n strikeAmount: number;\r\n salesStatus: string;\r\n quantityLabel: string;\r\n buyAgainButton: React.ReactNode;\r\n renderedImage: JSX.Element;\r\n cultureFormatter: ICultureInfoFormatter;\r\n}\r\n\r\nexport const OrderDetailsContainerRowComponent: React.FC = (props: IOrderDetailsContainerRowProps) => {\r\n const {\r\n name = '',\r\n itemId = '',\r\n productUrl = '',\r\n quantity = 0,\r\n netAmount = 0,\r\n strikeAmount = 0,\r\n salesStatus,\r\n quantityLabel,\r\n buyAgainButton,\r\n renderedImage,\r\n cultureFormatter\r\n } = props;\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n \r\n {renderedImage}\r\n \r\n
\r\n
\r\n \r\n {`${itemId} - ${name}`}\r\n \r\n
\r\n \r\n { strikeAmount ? (\r\n {cultureFormatter.formatCurrency(strikeAmount)}\r\n ) : null }\r\n \r\n {cultureFormatter.formatCurrency(netAmount)}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {quantity}\r\n
\r\n
\r\n
\r\n
\r\n {buyAgainButton}\r\n
\r\n {salesStatus}\r\n \r\n );\r\n}\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n onTelemetryClick\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IFooterItemConfig, IFooterItemProps, IHeadingData, ILinkData } from './footer-item.props.autogenerated';\n\nexport interface IFooterViewProps extends IFooterItemProps {\n heading: React.ReactNode;\n image: React.ReactNode;\n text: React.ReactNode;\n linkText: React.ReactNode;\n className?: string;\n FooterItem: IModuleProps;\n HeadingContainer: INodeProps;\n ItemContainer: INodeProps;\n Link: INodeProps;\n EditableLink: React.ReactNode;\n}\n\n/**\n *\n * FooterItem component.\n * @extends {React.PureComponent>}\n */\nexport class FooterItem extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private attributes: Msdyn365.IDictionary | undefined;\n\n constructor(props: IFooterItemProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n // Construct telemetry attribute to render\n this.payLoad = getPayloadObject('click', this.telemetryContent, '', '');\n }\n\n public render(): JSX.Element {\n const { heading, image, link, text } = this.props.config;\n const footerItemClassName = classnames('ms-footer__item', this.props.config.className);\n const linkText = link && link.linkText ? link.linkText : '';\n this.payLoad.contentAction.etext = linkText;\n this.attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\n const viewProps: IFooterViewProps = {\n ...this.props,\n heading: this._createHeading(heading!),\n image: this._createImageMarkup(image!),\n text: this._createText(text!),\n linkText: this._createLinkText(link!),\n EditableLink: this._createLink(link!),\n\n FooterItem: {\n moduleProps: this.props,\n className: footerItemClassName\n },\n\n HeadingContainer: {\n className: 'ms-footer__heading'\n },\n\n ItemContainer: {\n className: 'ms-footer__link__container'\n },\n\n // @ts-expect-error\n Link: link &&\n link.linkUrl &&\n link.linkUrl.destinationUrl && {\n tag: 'a',\n role: 'link',\n className: 'ms-footer__link',\n href: link.linkUrl.destinationUrl,\n title: linkText,\n 'aria-label': link.ariaLabel,\n target: link.openInNewTab ? '_blank' : undefined,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText),\n ...this.attributes\n },\n className: footerItemClassName\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.text = event.target.value);\n\n public handleLinkTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.link!.linkText = event.target.value);\n\n private _createLink(link: ILinkData): React.ReactNode | null {\n if (link) {\n const linkText = link.linkText ? link.linkText : '';\n\n // TODO: Update the inner tag in the anchor link to span\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-footer__link',\n linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: this.attributes!,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText)\n };\n return (\n \n );\n }\n return null;\n }\n\n private _createLinkText(link: ILinkData): React.ReactNode | null {\n if (!link || !link.linkText) {\n return null;\n }\n\n return {link.linkText};\n }\n\n private _createHeading(heading: IHeadingData): React.ReactNode | null {\n if (!heading || !heading.text || heading.text.length === 0) {\n return null;\n }\n\n return (\n \n );\n }\n\n private _createText(text: string): React.ReactNode | null {\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n private _createImageMarkup(item: Msdyn365.IImageData, ariaHiddenAttr?: boolean): React.ReactNode | null {\n if (!item || !item.src || item.src.length === 0) {\n return null;\n }\n\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=24&h=24&m=6', w: 0, h: 0 },\n lg: { q: 'w=24&h=24&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n return (\n \n );\n }\n}\n\nexport default FooterItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n getTelemetryObject,\n IComponentNodeProps,\n IModuleProps,\n INodeProps,\n ISingleSlideCarouselProps,\n ITelemetryContent,\n NodeTag,\n SingleSlideCarousel\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\nimport { IInteractiveFeatureCollectionProps } from './interactive-feature-collection.props.autogenerated';\n\n/**\n * Interactive Feature Collection view props.\n */\nexport interface IInteractiveFeatureCollectionViewProps extends IInteractiveFeatureCollectionProps<{}> {\n title: React.ReactNode;\n interactiveFeatureCollectionHeading: INodeProps;\n interactiveFeatureCollectionContainer: IModuleProps;\n interactiveFeatureCollectionDesktopContainer: INodeProps;\n interactiveFeatureCollectionDesktopItems: React.ReactNode[];\n interactiveFeatureCollectionMobileContainer: INodeProps;\n interactiveFeatureCollectionMobileItems: React.ReactNode[];\n singleSlideCarouselComponentProps: INodeProps;\n singleSlideCarouselItemContainer: INodeProps;\n}\n\n/**\n *\n * InteractiveFeatureCollection component.\n * @extends {React.PureComponent>}\n */\nexport class InteractiveFeatureCollection extends React.PureComponent> {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n private static _getFeatureItem(item: React.ReactNode, index: number, itemsCounter: number): React.ReactNode {\n const keyIndex = `interactive-feature-mosaic-item__${index}`;\n return (\n \n {React.cloneElement(item as React.ReactElement, { indexItem: index, itemCounter: itemsCounter, isMosaic: true })}\n \n );\n }\n\n public constructor(props: IInteractiveFeatureCollectionProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { resources } = this.props;\n const { title, className } = this.props.config;\n const interactiveItems = this.props.slots && this.props.slots.interactiveFeatureItems;\n const itemsFeatureCounter = interactiveItems && interactiveItems.length;\n const singleSlideCarouselComponentProps: IComponentNodeProps = {\n tag: SingleSlideCarousel,\n className: this.props.config.className ?? '',\n flipperPrevLabel: resources.flipperPrevious,\n flipperNextLabel: resources.flipperNext,\n parentId: this.props.id,\n telemetryContent: this._telemetryContent,\n vertical: false\n };\n const initItemsFeatureCounter = 0;\n const createHeading = title && (\n \n );\n const viewProps = {\n ...this.props,\n title: createHeading,\n interactiveFeatureCollectionHeading: {\n className: 'ms-interactive-feature-collection__heading'\n },\n interactiveFeatureCollectionContainer: {\n moduleProps: this.props,\n className: classnames('ms-interactive-feature-collection', className)\n },\n interactiveFeatureCollectionDesktopContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-desktop'\n },\n interactiveFeatureCollectionMobileContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-mobile'\n },\n singleSlideCarouselComponentProps,\n singleSlideCarouselItemContainer: {\n tag: 'li' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel',\n role: 'listitem'\n },\n interactiveFeatureCollectionMobileItems: this.props.slots.interactiveFeatureItems,\n interactiveFeatureCollectionDesktopItems:\n itemsFeatureCounter > initItemsFeatureCounter &&\n interactiveItems.map((item: React.ReactNode, index: number) =>\n InteractiveFeatureCollection._getFeatureItem(item, index, itemsFeatureCounter)\n )\n };\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * To handle text change.\n * @param event - To handle text change event.\n * @name - HandleTextChange\n * @public\n * @returns - The Text value.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.title!.text = event.target.value);\n}\n\nexport default InteractiveFeatureCollection;\n","/*--------------------------------------------------------------\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\n/* eslint-disable no-duplicate-imports */\r\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface IBusinessSignUpButtonProps {\r\n id?: string;\r\n className: string;\r\n text: string;\r\n ariaLabel: string;\r\n disabled?: boolean;\r\n link?: string;\r\n telemetryContent: ITelemetryContent;\r\n onClick?(event: React.MouseEvent): void;\r\n}\r\n\r\nexport const SignUpButton: React.FC = ({\r\n id,\r\n className,\r\n text,\r\n ariaLabel,\r\n telemetryContent,\r\n disabled,\r\n link,\r\n onClick\r\n}) => {\r\n const payLoad = getPayloadObject('click', telemetryContent, text);\r\n const attributes = getTelemetryAttributes(telemetryContent, payLoad);\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n};\r\n\r\nexport default SignUpButton;\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\n/* eslint-disable no-duplicate-imports */\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nexport interface IBusinessSignUpErrorProps {\r\n id?: string;\r\n className: string;\r\n type?: string;\r\n message?: string;\r\n}\r\n\r\nexport const SignUpError: React.FC = ({ id, className, type = 'page', message }) => {\r\n const errorClassName = `${className}__${type}-error`;\r\n\r\n return (\r\n
\r\n );\r\n};\r\n\r\nexport default SignUpError;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { InputType } from '../eve-business-sign-up';\r\n\r\nexport interface IBusinessSignUpInputProps {\r\n id?: string;\r\n type: InputType;\r\n value?: string;\r\n pattern?: string;\r\n className: string;\r\n maxLength?: string;\r\n isRequired: boolean;\r\n fieldReference?: React.RefObject;\r\n onChange?(event: React.ChangeEvent): void;\r\n}\r\n\r\nexport interface IBusinessSignUpInput {\r\n key: string;\r\n AddressItem: INodeProps;\r\n label: React.ReactNode;\r\n alert: React.ReactNode;\r\n input: React.ReactNode;\r\n}\r\n\r\nconst GetMaxLength = (maxLength?: string): number | undefined => {\r\n if (maxLength) {\r\n const parsedMaxLength = Number.parseInt(maxLength, 10);\r\n if (!isNaN(parsedMaxLength)) {\r\n return parsedMaxLength;\r\n }\r\n }\r\n\r\n return undefined;\r\n};\r\n\r\nexport const SignUpInput: React.FC = ({\r\n id,\r\n type,\r\n value,\r\n pattern,\r\n className,\r\n maxLength,\r\n isRequired,\r\n onChange,\r\n fieldReference\r\n}) => {\r\n if (type === InputType.TextArea) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SignUpInput;\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\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface IBusinessSignUpLabelProps {\r\n id: string;\r\n forId: string;\r\n className: string;\r\n text: string;\r\n}\r\n\r\nexport const SignUpLabel: React.FC = ({ id, forId, className, text }) => (\r\n \r\n);\r\n\r\nexport default SignUpLabel;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { ContentEditableEvent, getUrlSync, RichTextComponent, Text } from '@msdyn365-commerce/core';\r\nimport { Address, BusinessPartnerProspect } from '@msdyn365-commerce/retail-proxy';\r\nimport { createProspectAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/BusinessPartnersDataActions.g';\r\nimport { EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { IEveBusinessSignUpConfig, IEveBusinessSignUpProps, IEveBusinessSignUpResources } from './eve-business-sign-up.props.autogenerated';\r\nimport { SignUpButton, SignUpError, SignUpInput, SignUpLabel } from './components';\r\n\r\nexport interface IBusinessSignUpExtendedProps extends IEveBusinessSignUpProps {\r\n formItems?: IFormItem[];\r\n}\r\n\r\nexport interface IBusinessSignUpItem {\r\n wrapper: INodeProps;\r\n isAddressInput?: boolean;\r\n id: string;\r\n label: React.ReactNode;\r\n errorMessage: React.ReactNode;\r\n input?: React.ReactNode;\r\n}\r\n\r\nexport interface IBusinessState {\r\n isReady: boolean;\r\n formItems: IFormItem[];\r\n addressHasErrors: boolean;\r\n showAddressErrors: boolean;\r\n hasSubmitErrors: boolean;\r\n}\r\n\r\nexport interface IBusinessSignUpLocalAccount {\r\n FormWrapper: INodeProps;\r\n items: IBusinessSignUpItem[];\r\n buttons: React.ReactNode[];\r\n errorMessage: React.ReactNode[];\r\n disclaimer: React.ReactNode;\r\n}\r\n\r\nexport interface IBusinessSignUpViewProps {\r\n className: string;\r\n businessSignUp: IModuleProps;\r\n ContainerWrapper: INodeProps;\r\n heading: React.ReactNode;\r\n businessSignUpForm: IBusinessSignUpLocalAccount;\r\n formItems: IFormItem[];\r\n}\r\n\r\nexport interface IFormItem {\r\n id: string;\r\n type: InputType;\r\n label: string;\r\n value: string;\r\n maxChars?: string;\r\n isRequired: boolean;\r\n pattern?: string;\r\n address?: Address;\r\n customClass?: string;\r\n fieldReference?: React.RefObject;\r\n}\r\n\r\nexport enum InputType {\r\n // eslint-disable-next-line @typescript-eslint/no-shadow -- Text enum doesn't override the imported Text\r\n Text = 'text',\r\n Address = 'address',\r\n Email = 'email',\r\n TextArea = 'textarea'\r\n}\r\n\r\nexport enum InputID {\r\n FirstName = 'FirstName',\r\n LastName = 'LastName',\r\n Email = 'CompanyEmail',\r\n CompanyName = 'CompanyName',\r\n Address = 'CompanyAddress',\r\n JobTitle = 'JobTitle',\r\n Size = 'CompanySize',\r\n Department = 'Department',\r\n Comment = 'Comment'\r\n}\r\n\r\nconst renderFieldFeedbackMessage = (\r\n fieldName: string,\r\n isRequired: boolean,\r\n fieldPattern: string | undefined,\r\n showErrors: boolean,\r\n value: string,\r\n invalidFieldMessage: string,\r\n missingFieldMessage: string\r\n): string | undefined => {\r\n if (!showErrors) {\r\n return undefined;\r\n } else if (!value && isRequired) {\r\n return missingFieldMessage.replace('{0}', fieldName);\r\n } else if (value && fieldPattern && !new RegExp(fieldPattern).test(value)) {\r\n return invalidFieldMessage.replace('{0}', fieldName);\r\n }\r\n return undefined;\r\n};\r\n\r\nexport const renderInputSection = (\r\n resources: IEveBusinessSignUpResources,\r\n inputs: IFormItem[],\r\n className: string,\r\n needToReset: boolean,\r\n onInputChange: (event: React.ChangeEvent) => void,\r\n showErrors: boolean,\r\n addressForm?: React.ReactNode,\r\n updateAddress?: (errors: boolean, currAddress?: Address) => void\r\n): IBusinessSignUpItem[] => {\r\n const { fieldRequiredError, fieldInvalidError } = resources;\r\n return inputs.map((element, index) => {\r\n const { id, type, label, maxChars, isRequired, pattern, customClass, value, fieldReference } = element;\r\n const fieldName = label?.replace('*', '').trim() ?? label;\r\n const message = renderFieldFeedbackMessage(\r\n fieldName,\r\n isRequired,\r\n pattern,\r\n showErrors,\r\n value,\r\n fieldInvalidError,\r\n fieldRequiredError\r\n );\r\n const baseSignUpItem: IBusinessSignUpItem = {\r\n wrapper: {\r\n className: classnames(className, `${className}-${id}`, customClass)\r\n },\r\n id,\r\n label: ,\r\n errorMessage: \r\n };\r\n\r\n if (type === InputType.Address) {\r\n if (addressForm) {\r\n baseSignUpItem.isAddressInput = true;\r\n baseSignUpItem.input = (\r\n <>\r\n {React.cloneElement(addressForm as React.ReactElement, {\r\n updateForm: updateAddress,\r\n hasError: showErrors,\r\n isRequired: isRequired === undefined ? false : isRequired,\r\n resetAddress: needToReset\r\n })}\r\n \r\n );\r\n } else {\r\n // If the address slot is not filled, remove this input from the form\r\n inputs.splice(index, 1);\r\n }\r\n } else {\r\n baseSignUpItem.input = (\r\n \r\n );\r\n }\r\n\r\n return baseSignUpItem;\r\n });\r\n};\r\n\r\n/**\r\n *\r\n * Business Request Form Modules\r\n * Form that a business can use to submit a request to become a partner with Microsoft.\r\n * @extends {React.Component>}\r\n */\r\nclass BusinessSignUp extends React.Component {\r\n // Used as default data\r\n public BusinessSignUpDefaultInputs: IFormItem[] = [\r\n {\r\n id: InputID.FirstName,\r\n type: InputType.Text,\r\n label: this.props.resources.firstNameLabel,\r\n value: '',\r\n isRequired: true,\r\n customClass: 'width-25'\r\n },\r\n {\r\n id: InputID.LastName,\r\n type: InputType.Text,\r\n label: this.props.resources.lastNameLabel,\r\n value: '',\r\n isRequired: true,\r\n customClass: 'width-25'\r\n },\r\n {\r\n id: InputID.Email,\r\n type: InputType.Email,\r\n label: this.props.resources.emailAddressLabel,\r\n value: '',\r\n isRequired: true,\r\n pattern: EmailRegex.defaultRegex.source,\r\n customClass: 'width-50'\r\n },\r\n {\r\n id: InputID.CompanyName,\r\n type: InputType.Text,\r\n label: this.props.resources.companyLabel,\r\n value: '',\r\n isRequired: true,\r\n customClass: 'width-50'\r\n },\r\n {\r\n id: InputID.Department,\r\n type: InputType.Text,\r\n label: this.props.resources.departmentLabel,\r\n value: '',\r\n isRequired: false,\r\n customClass: 'width-50'\r\n },\r\n {\r\n id: InputID.JobTitle,\r\n type: InputType.Text,\r\n label: this.props.resources.jobTitleLabel,\r\n value: '',\r\n isRequired: false,\r\n customClass: 'width-50'\r\n },\r\n {\r\n id: InputID.Size,\r\n type: InputType.Text,\r\n label: this.props.resources.companySizeLabel,\r\n value: '',\r\n isRequired: false,\r\n customClass: 'width-50'\r\n },\r\n {\r\n id: InputID.Address,\r\n type: InputType.Address,\r\n label: this.props.resources.companyAddressLabel,\r\n value: '',\r\n isRequired: false,\r\n customClass: 'width-100'\r\n },\r\n {\r\n id: InputID.Comment,\r\n type: InputType.TextArea,\r\n label: this.props.resources.commentLabel,\r\n value: '',\r\n isRequired: false,\r\n customClass: 'width-100'\r\n }\r\n ];\r\n\r\n private readonly formChildReference: React.RefObject = React.createRef();\r\n\r\n private readonly moduleClassName: string = 'ms-business-sign-up';\r\n\r\n private needsToReset: boolean = false;\r\n\r\n private readonly telemetryContent: ITelemetryContent;\r\n\r\n constructor(props: IBusinessSignUpExtendedProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isReady: false,\r\n formItems: this.props.formItems || this._addedReference(),\r\n addressHasErrors: false,\r\n showAddressErrors: false,\r\n hasSubmitErrors: false\r\n };\r\n this.telemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n }\r\n\r\n public componentDidMount(): void {\r\n this.formChildReference.current?.focus();\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: IBusinessSignUpExtendedProps, nextState: IBusinessState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { config } = this.props;\r\n const { formItems } = this.state;\r\n const { className, heading } = config;\r\n\r\n const viewProps = {\r\n ...this.props,\r\n businessSignUp: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleClassName, className)\r\n },\r\n ContainerWrapper: {\r\n className: `${this.moduleClassName}__container`\r\n },\r\n heading: (\r\n \r\n ),\r\n businessSignUpForm: this._renderForm(),\r\n formItems\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * Handle the heading change event.\r\n * @param event - Content Editable Event.\r\n */\r\n public handleHeadingChange = (event: ContentEditableEvent): void => {\r\n this.props.config.heading.text = event.target.value;\r\n };\r\n\r\n private _renderForm(): IBusinessSignUpLocalAccount {\r\n const { config, resources, slots } = this.props;\r\n const { showAddressErrors, hasSubmitErrors, formItems } = this.state;\r\n const {\r\n signUpButtonArialabel,\r\n signUpButtonText,\r\n cancelButtonArialabel,\r\n cancelButtonText,\r\n errorMessage,\r\n partialAddressErrorMessage\r\n } = resources;\r\n const addressForm = (slots && slots.addressSlot && slots.addressSlot.length > 0 && slots.addressSlot[0]) || undefined;\r\n const successPageURL =\r\n (config.confirmationLink && config.confirmationLink.linkUrl && config.confirmationLink.linkUrl.destinationUrl) ||\r\n getUrlSync('home', this.props.context.actionContext);\r\n\r\n const form = {\r\n FormWrapper: {\r\n className: `${this.moduleClassName}__form `\r\n },\r\n items: renderInputSection(\r\n resources,\r\n formItems,\r\n `${this.moduleClassName}__form-item`,\r\n this.needsToReset,\r\n this._onInputChange,\r\n showAddressErrors,\r\n addressForm,\r\n this._onAddressChange\r\n ),\r\n buttons: [\r\n ,\r\n \r\n ],\r\n errorMessage: [\r\n hasSubmitErrors && ,\r\n showAddressErrors && (\r\n \r\n )\r\n ],\r\n disclaimer: config.disclaimer && (\r\n \r\n )\r\n };\r\n\r\n if (this.needsToReset) {\r\n this.needsToReset = false;\r\n }\r\n\r\n return form;\r\n }\r\n\r\n private readonly _onInputChange = (event: React.ChangeEvent): void => {\r\n const newForm = this.state.formItems;\r\n newForm.forEach(item => {\r\n if (item.id === event.target.id) {\r\n item.value = event.target.value;\r\n }\r\n });\r\n\r\n // Check if form is ready, update state object with latest values, values have changed so reset hasSubmitErrros\r\n this.setState({\r\n isReady: this._isFormReady(),\r\n formItems: newForm,\r\n hasSubmitErrors: false\r\n });\r\n };\r\n\r\n private _addedReference(): IFormItem[] {\r\n const newFormFields = this.BusinessSignUpDefaultInputs;\r\n newFormFields[0].fieldReference = this.formChildReference;\r\n return newFormFields;\r\n }\r\n\r\n private readonly _onAddressChange = (errors: boolean, currentAddress?: Address): void => {\r\n // Find address item\r\n const newForm = this.state.formItems;\r\n const addressItem = newForm.find(item => {\r\n return item.type === InputType.Address;\r\n });\r\n\r\n // If found --> set to currentAddress\r\n if (addressItem) {\r\n addressItem.address = currentAddress;\r\n\r\n // Update state with new values and set errors to false if address is not required field\r\n this.setState({\r\n isReady: this._isFormReady(),\r\n formItems: newForm,\r\n addressHasErrors: errors,\r\n showAddressErrors: false\r\n });\r\n }\r\n };\r\n\r\n private readonly _isFormReady = (): boolean => {\r\n const { formItems } = this.state;\r\n\r\n for (const currentInput of formItems) {\r\n // Will return FALSE if:\r\n // - input field is required\r\n // IF is address AND addressHasErrors === true\r\n // ELSE value is undefined OR empty\r\n // OR\r\n // - pattern provided and value does not match pattern\r\n\r\n if (currentInput.isRequired) {\r\n if (currentInput.type === InputType.Address) {\r\n if (this.state.addressHasErrors) {\r\n return false;\r\n }\r\n } else if (currentInput.value === undefined || currentInput.value === '') {\r\n return false;\r\n }\r\n }\r\n if (currentInput.pattern !== undefined && currentInput.value.match(currentInput.pattern) === null) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n };\r\n\r\n private readonly _onSubmit = (event: React.MouseEvent) => {\r\n if (this.state.addressHasErrors) {\r\n this.setState({\r\n showAddressErrors: true\r\n });\r\n\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n if (!this.state.isReady) {\r\n return;\r\n }\r\n\r\n const { context } = this.props;\r\n\r\n // Check for matching id and if not empty\r\n const firstName = this._getItem(InputID.FirstName);\r\n const lastName = this._getItem(InputID.LastName);\r\n const companyName = this._getItem(InputID.CompanyName);\r\n const companyEmail = this._getItem(InputID.Email);\r\n const companyAddress = this._getItem(InputID.Address, true);\r\n const jobTitle = this._getItem(InputID.JobTitle);\r\n const department = this._getItem(InputID.Department);\r\n const companySize = this._getItem(InputID.Size);\r\n const comments = this._getItem(InputID.Comment);\r\n\r\n // API gets email as part of the address object, but I do not use the email input from the address component, thus we need to copy it over\r\n if (companyEmail && companyEmail.value && companyAddress && companyAddress.address) {\r\n companyAddress.address.Email = companyEmail.value;\r\n }\r\n\r\n const newPartner: BusinessPartnerProspect = {\r\n FirstName: firstName && firstName.value,\r\n LastName: lastName && lastName.value,\r\n CompanyName: companyName && companyName.value,\r\n Address: companyAddress && companyAddress.address && companyAddress.address,\r\n JobTitle: jobTitle && jobTitle.value,\r\n Department: department && department.value,\r\n CompanySize: (companySize && Number.parseInt(companySize.value, 10)) || 0,\r\n Comments: comments && comments.value\r\n };\r\n\r\n // Create business partner request\r\n createProspectAsync({ callerContext: context.actionContext }, newPartner).catch(() => {\r\n this.setState({\r\n hasSubmitErrors: true,\r\n isReady: false\r\n });\r\n });\r\n };\r\n\r\n private readonly _onCancel = () => {\r\n // Reset values of the form\r\n const cleanForm = this.state.formItems;\r\n cleanForm.forEach(input => {\r\n input.value = '';\r\n });\r\n\r\n // Set reset flag so address input will get reset on next renderInputSection() call\r\n this.needsToReset = true;\r\n\r\n this.setState({\r\n isReady: false,\r\n formItems: cleanForm,\r\n addressHasErrors: true,\r\n showAddressErrors: false,\r\n hasSubmitErrors: false\r\n });\r\n };\r\n\r\n private readonly _getItem = (id: string, isAddress: boolean = false) => {\r\n if (isAddress) {\r\n return this.state.formItems.find(item => {\r\n return item.id === id && item.address;\r\n });\r\n }\r\n return this.state.formItems.find(item => {\r\n return item.id === id && item.value !== '';\r\n });\r\n };\r\n}\r\n\r\nexport default BusinessSignUp;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IBusinessSignUpItem, IBusinessSignUpViewProps } from './eve-business-sign-up';\r\n\r\nconst BusinessSignUpItem: React.FC = ({ wrapper, label, errorMessage, input, isAddressInput }) => {\r\n // Hide label and error message if rendering address section\r\n return (\r\n \r\n {!isAddressInput && label}\r\n {input}\r\n {!isAddressInput && errorMessage}\r\n \r\n );\r\n};\r\n\r\nconst BusinesSignUpView: React.FC = props => {\r\n const { businessSignUp, ContainerWrapper, heading, businessSignUpForm } = props;\r\n\r\n const { FormWrapper, buttons, items, errorMessage, disclaimer } = businessSignUpForm;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n {items &&\r\n items.map((item: IBusinessSignUpItem) => {\r\n return ;\r\n })}\r\n {errorMessage &&\r\n errorMessage.map((error: React.ReactNode, index: number) => {\r\n return {error};\r\n })}\r\n {buttons &&\r\n buttons.map((button: React.ReactNode, index: number) => {\r\n return {button};\r\n })}\r\n {disclaimer}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BusinesSignUpView;\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 { IBusinessFormItem, IBusinessOrganizationListViewProps, IFormViewProps, InputID } from '@msdyn365-commerce-modules/business-organization-list';\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IBusinessOrganizationListProps, IBusinessOrganizationListResources }\r\n from '../definition-extensions/business-organization-list.ext.props.autogenerated';\r\n\r\n/**\r\n * Business Form Item component.\r\n * @param props - View props.\r\n * @returns The JSX Element.\r\n */\r\nconst BusinessFormItemComponent: React.FC = (props: IBusinessFormItem) => {\r\n const {\r\n wrapper,\r\n label,\r\n errorMessage,\r\n input\r\n } = props;\r\n return (\r\n \r\n {label}\r\n {errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * To render modal.\r\n * @param className - The modal classname.\r\n * @param isModalOpen - The boolean for modal open status.\r\n * @param headingSection - The heading section of modal.\r\n * @param bodySection - The body section of modal.\r\n * @param footerSection - The footer section of modal.\r\n * @param toggleModal - The toggle modal callback function.\r\n * @returns The JSX Element.\r\n */\r\nconst renderModal = (className: string, isModalOpen: boolean, headingSection: React.ReactNode, bodySection: React.ReactNode, footerSection: React.ReactNode,\r\n toggleModal?: () => void) => {\r\n return (\r\n \r\n \r\n {headingSection}\r\n \r\n \r\n {bodySection}\r\n \r\n \r\n {footerSection}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Business User Form component.\r\n * @param props - View props.\r\n * @returns The JSX Element.\r\n */\r\nconst BusinessUserFormComponent: React.FC = (props: IFormViewProps) => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n const { modalClassName, FormWrapper, modalHeading, modalDescription, inputs, buttons, errorMessage, toggle } = props;\r\n\r\n const modalBody = (\r\n <>\r\n {modalDescription}\r\n \r\n {inputs && inputs.map((item: IBusinessFormItem) => {\r\n return (\r\n\r\n \r\n );\r\n })}\r\n {errorMessage?.map((error: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {error}\r\n \r\n );\r\n })}\r\n \r\n \r\n\r\n );\r\n\r\n const modalFooter = buttons && buttons.map((button: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {button}\r\n \r\n );\r\n });\r\n\r\n return renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\r\n};\r\n\r\n/**\r\n * Selected user interface.\r\n */\r\ninterface ISelectedUser {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n FirstName?: string;\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n LastName?: string;\r\n}\r\n\r\n/**\r\n * Business User Details component.\r\n * @param props - View props.\r\n * @returns The JSX Element.\r\n */\r\nconst BusinessUserDetailsComponent: React.FC = (props: IFormViewProps) => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n const { modalClassName, FormWrapper, modalHeading, modalDescription, buttons, errorMessage, resources, toggle } = props;\r\n let modalBody = null;\r\n const selectedUser = props.selectedUser as ISelectedUser | string;\r\n\r\n if (!selectedUser) {\r\n modalBody = errorMessage;\r\n } else {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n const { FirstName, LastName } = selectedUser as ISelectedUser;\r\n const userFullName = `${FirstName as string} ${LastName as string}`;\r\n\r\n modalBody = (\r\n <>\r\n { modalDescription }\r\n \r\n \r\n {userFullName}\r\n \r\n { Object.keys(selectedUser).map((data, index) => {\r\n if (data === InputID.FirstName || data === InputID.LastName) {\r\n return null;\r\n }\r\n const label = resources[`table${data}HeadingText`] as string || data;\r\n return (\r\n {label}\r\n {': '}\r\n {selectedUser[data]}\r\n );\r\n\r\n })}\r\n \r\n \r\n );\r\n }\r\n\r\n const modalFooter = buttons && buttons.map((button: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {button}\r\n \r\n );\r\n });\r\n\r\n return renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\r\n};\r\n\r\n/**\r\n * To get form.\r\n * @param type - The type of form.\r\n * @param formProps - The form props.\r\n * @param toggleModal - The toggle modal callback function.\r\n * @returns The JSX Element.\r\n */\r\nconst getForm = (type: string, formProps: IFormViewProps, toggleModal?: () => void) => {\r\n switch (type) {\r\n case 'ADD':\r\n case 'EDIT':\r\n return ;\r\n case 'VIEW':\r\n case 'REMOVE':\r\n return ;\r\n default:\r\n return null;\r\n }\r\n};\r\n\r\n/**\r\n * Business Organization List component.\r\n * @param props - View props.\r\n * @returns The JSX Element.\r\n */\r\nconst BusinessOrganizationListComponent: React.FC> = props => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n const { OrganizationUserList, moduleContainer, heading, noUsersText, addUserButton, organizationListTable, form, formType,\r\n toggleModal, requestAccountStatementButton, requestStatementModal } = props;\r\n\r\n const buttonList: React.ReactNode =\r\n (\r\n \r\n {addUserButton}\r\n {requestAccountStatementButton}\r\n \r\n );\r\n\r\n if (noUsersText) {\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n \r\n {props.resources.headingForEmptyUserOrganizationList}\r\n \r\n \r\n {props.resources.textForEmptyUserOrganizationList}\r\n \r\n {buttonList}\r\n \r\n {requestStatementModal}\r\n {noUsersText}\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n {buttonList}\r\n {requestStatementModal}\r\n {organizationListTable}\r\n \r\n { form && getForm(formType, form, toggleModal) }\r\n \r\n );\r\n};\r\n\r\nexport default BusinessOrganizationListComponent;\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 { IContentBlockAdditionalContentItemViewProps,\r\n IContentBlockAdditionalContentViewProps, IContentBlockViewProps\r\n} from '@msdyn365-commerce-modules/content-block';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\n/**\r\n * Render Additional Content.\r\n * @param additionalContent - Additional content view props.\r\n * @returns JSX Element.\r\n */\r\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\r\n return (\r\n \r\n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\r\n return (\r\n <>\r\n {item.heading}\r\n \r\n {item.text}\r\n \r\n {item.links}\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render View.\r\n * @param props - The view props.\r\n * @returns -The JSX Element.\r\n */\r\nconst contentBlockView: React.FC = (props) => {\r\n const {\r\n contentBlockContainer,\r\n imageContainer,\r\n detailsContainer,\r\n title,\r\n text,\r\n links,\r\n image,\r\n contentBlockAnchorTag,\r\n imageLink,\r\n imageAriaLabel,\r\n additionalContent\r\n } = props;\r\n\r\n // @ts-expect-error HTML element need to be clear on run time.\r\n const hasImage: boolean = image.props.src;\r\n const imageClass: string = hasImage ? `${detailsContainer.className} withImage` : `${detailsContainer.className} withoutImage`;\r\n\r\n if (imageLink) {\r\n return (\r\n \r\n \r\n \r\n {image}\r\n \r\n \r\n \r\n {title}\r\n {text}\r\n {links}\r\n {additionalContent && renderAdditionalContent(additionalContent)}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n \r\n {image}\r\n \r\n \r\n {title}\r\n {text}\r\n {links}\r\n {additionalContent && renderAdditionalContent(additionalContent)}\r\n \r\n \r\n );\r\n\r\n};\r\n\r\nexport default contentBlockView;\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 {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderDetailsViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine\r\n} from '@msdyn365-commerce-modules/order-management';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n salesId,\r\n receiptId,\r\n createdDate,\r\n count,\r\n amount,\r\n // channelReferenceId,\r\n channelName,\r\n channelAddress\r\n}) => (\r\n \r\n {channelName}\r\n {channelAddress}\r\n {salesId}\r\n {receiptId}\r\n {createdDate}\r\n {count}\r\n {amount}\r\n {/* {channelReferenceId} */}\r\n \r\n);\r\n\r\nexport const SalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, errors }) => (\r\n \r\n {salesLine}\r\n {buyAgainButton}\r\n {errors}\r\n \r\n);\r\n\r\nexport const GroupDelivery: React.FC = ({ deliveryProps, heading, count }) => (\r\n \r\n {heading}\r\n {count}\r\n \r\n);\r\n\r\nexport const Group: React.FC = ({ groupProps, delivery, address, salesLinesProps, salesLines, isCashAndCarryTransaction }) => (\r\n \r\n {delivery && }\r\n \r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n {salesLine.data.deliveryType === 'ship' && salesLine.data.shipment ? salesLine.trackingInfo : null}\r\n \r\n {!isCashAndCarryTransaction && salesLine.salesStatus}\r\n \r\n ))}\r\n \r\n )}\r\n {!delivery.showTimeslot && address}\r\n {delivery.showTimeslot && (\r\n \r\n {address}\r\n {delivery.pickupDateTimeslot}\r\n \r\n )}\r\n \r\n \r\n);\r\n\r\nexport const Groups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const Payment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const Help: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderDetailsView: React.FC = ({\r\n moduleProps,\r\n viewModes,\r\n tableViewActions,\r\n table,\r\n heading,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {tableViewActions}\r\n {viewModes}\r\n {table}\r\n {groups && }\r\n \r\n {orderSummary && }\r\n {payment && }\r\n \r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderDetailsView;\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 { Button, INodeProps, Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IOrderTemplateLineViewProps } from '@msdyn365-commerce-modules/order-template/src/modules/order-template/./components';\r\nimport { IOrderTemplateViewProps } from '@msdyn365-commerce-modules/order-template/src/modules/order-template/./order-template';\r\n\r\nconst OrderTemplateLinesView: React.FC = (props: IOrderTemplateViewProps) => {\r\n const {\r\n OrderTemplateLines,\r\n status,\r\n statusMessage,\r\n heading,\r\n ProductsTable,\r\n ProductsTableHeading,\r\n orderLines,\r\n ProductsTableRow,\r\n productsStatusMessage,\r\n OrderTemplateActions,\r\n orderActions,\r\n pagination,\r\n itemAddedToCartDialog,\r\n bulkOrderLineActions,\r\n isDetailsDisplayed,\r\n detailedProductView,\r\n toggleDetailsDisplayed,\r\n resources: {\r\n cancelBtnLabel,\r\n productNumberText,\r\n productText,\r\n productUnitPriceText,\r\n productUOMText,\r\n productQuantityText\r\n }\r\n } = props;\r\n\r\n const toggleDetails = React.useCallback(() => {\r\n toggleDetailsDisplayed && toggleDetailsDisplayed(undefined);\r\n }, [toggleDetailsDisplayed]);\r\n return (\r\n \r\n {heading}\r\n {OrderTemplateActions && (\r\n \r\n {orderActions?.addTemplateToBag}\r\n {orderActions?.renameTemplate}\r\n {orderActions?.removeTemplate}\r\n {!isDetailsDisplayed && productsStatusMessage}\r\n \r\n )}\r\n {bulkOrderLineActions}\r\n {status !== 'SUCCESS' && statusMessage}\r\n {ProductsTable && (\r\n \r\n \r\n {ProductsTableHeading}\r\n
\r\n {orderLines &&\r\n orderLines.map(product => {\r\n return _renderItem(product, productQuantityText, ProductsTableRow);\r\n })}\r\n \r\n \r\n {pagination}\r\n \r\n )}\r\n {itemAddedToCartDialog}\r\n \r\n \r\n Product Details\r\n \r\n \r\n
    \r\n
  • \r\n {detailedProductView?.productImage}\r\n
  • \r\n
  • \r\n \r\n {productText}\r\n :\r\n \r\n {detailedProductView?.productInfo}\r\n
  • \r\n
  • \r\n \r\n {productNumberText}\r\n :\r\n \r\n {detailedProductView?.productNumber}\r\n
  • \r\n
  • \r\n \r\n {productUnitPriceText}\r\n :\r\n \r\n {' '}\r\n {detailedProductView?.productPrice}\r\n
  • \r\n
  • \r\n \r\n {productUOMText}\r\n :\r\n \r\n {' '}\r\n {detailedProductView?.productUnitOfMeasure}\r\n
  • \r\n
  • \r\n \r\n {productQuantityText}\r\n :\r\n \r\n {detailedProductView?.productQuantityView}\r\n
  • \r\n {productsStatusMessage &&
  • \r\n {productsStatusMessage}\r\n
  • }\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _renderItem = (\r\n product: IOrderTemplateLineViewProps,\r\n quantityLabel: string,\r\n ProductsTableRow?: INodeProps\r\n): JSX.Element | null => {\r\n if (!product) {\r\n return null;\r\n }\r\n\r\n const {\r\n key,\r\n selectLine,\r\n productImage,\r\n productPrice,\r\n productNumber,\r\n addToBagButton,\r\n removeButton,\r\n productInfo,\r\n productUnitOfMeasure,\r\n productQuantityView,\r\n productQuantity,\r\n popUp,\r\n isMobile\r\n } = product;\r\n\r\n return (\r\n \r\n
\r\n \r\n {isMobile ? : }\r\n {!isMobile && }\r\n {!isMobile && }\r\n {!isMobile && }\r\n {!isMobile && }\r\n {isMobile && }\r\n {!isMobile &&\r\n }\r\n \r\n );\r\n};\r\n\r\nexport default OrderTemplateLinesView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/./sign-in';\r\n\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {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\n// const SocialAccount: React.FC = ({\r\n// socialAccounts,\r\n// items\r\n// }) => {\r\n//\r\n// return (\r\n// \r\n// {items && 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 = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message\r\n}) => {\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\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signUpDescription,\r\n signUpLink,\r\n signUpSection,\r\n signUpSectionHeading\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","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ISignUpEmailVerification,\r\n ISignUpGivenNameVerification,\r\n ISignUpItem,\r\n ISignUpLoading,\r\n ISignUpLocalAccount,\r\n ISignUpSurnameVerification,\r\n ISignUpViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-up/./sign-up';\r\n\r\nconst SignUpItem: React.FC = ({\r\n wrapper,\r\n label,\r\n errorMessage,\r\n input\r\n}) => {\r\n\r\n return (\r\n \r\n {label}\r\n {errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst SignUpEmailVerification: React.FC = ({\r\n email,\r\n buttonWrapper,\r\n buttons,\r\n successMessage,\r\n errorMessage\r\n}) => {\r\n\r\n return (\r\n <>\r\n \r\n {successMessage && successMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n {errorMessage && errorMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n \r\n {buttons && buttons.map((button: React.ReactNode) => {\r\n return (\r\n <>\r\n {button}\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Handles validation of sign-up givenName.\r\n * @param event - Content editable event.\r\n * @param event.givenName - Event Given Name.\r\n * @param event.errorMessage - Event Error Message.\r\n * @returns - Error Message for Given Name.\r\n */\r\nconst SignUpGivenNameVerificationComponent: React.FC = ({\r\n givenName,\r\n errorMessage\r\n}) => {\r\n return (\r\n <>\r\n \r\n {errorMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Handles validation of signUp surname.\r\n * @param event - Content editable event.\r\n * @param event.surname - Event surname.\r\n * @param event.errorMessage - Event Error Message.\r\n * @returns - Error Message for surname.\r\n */\r\nconst SignUpSurnameVerificationComponent: React.FC = ({\r\n surname,\r\n errorMessage\r\n}) => {\r\n return (\r\n <>\r\n \r\n {errorMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n emailVerification,\r\n givenNameVerification,\r\n surnameVerification,\r\n buttons,\r\n errorMessage,\r\n disclaimer\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignUpItem) => {\r\n if (item.key === 'email' && emailVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n if (item.key === 'givenName' && givenNameVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n if (item.key === 'surname' && surnameVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n return (\r\n\r\n \r\n );\r\n })}\r\n {errorMessage && errorMessage.map((error: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {error}\r\n \r\n );\r\n })}\r\n {buttons && buttons.map((button: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {button}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n \r\n );\r\n};\r\n\r\nconst SignUpLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message\r\n}) => {\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 SignUpView: React.FC = props => {\r\n\r\n const {\r\n signUp,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n heading,\r\n signUpLocalAccount\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n {heading}\r\n {LocalAccount(signUpLocalAccount)}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignUpView;\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 { IBusinessFormItem, IBusinessOrganizationListViewProps, IFormViewProps, InputID } from '@msdyn365-commerce-modules/business-organization-list';\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IBusinessOrganizationListProps, IBusinessOrganizationListResources }\r\n from '../definition-extensions/business-organization-list.ext.props.autogenerated';\r\n\r\n/**\r\n * Business Form Item component.\r\n * @param props - View props.\r\n * @returns The JSX Element.\r\n */\r\nconst BusinessFormItemComponent: React.FC = (props: IBusinessFormItem) => {\r\n const {\r\n wrapper,\r\n label,\r\n errorMessage,\r\n input\r\n } = props;\r\n return (\r\n \r\n {label}\r\n {errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * To render modal.\r\n * @param className - The modal classname.\r\n * @param isModalOpen - The boolean for modal open status.\r\n * @param headingSection - The heading section of modal.\r\n * @param bodySection - The body section of modal.\r\n * @param footerSection - The footer section of modal.\r\n * @param toggleModal - The toggle modal callback function.\r\n * @returns The JSX Element.\r\n */\r\nconst renderModal = (className: string, isModalOpen: boolean, headingSection: React.ReactNode, bodySection: React.ReactNode, footerSection: React.ReactNode,\r\n toggleModal?: () => void) => {\r\n return (\r\n \r\n \r\n {headingSection}\r\n \r\n \r\n {bodySection}\r\n \r\n \r\n {footerSection}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Business User Form component.\r\n * @param props - View props.\r\n * @returns The JSX Element.\r\n */\r\nconst BusinessUserFormComponent: React.FC = (props: IFormViewProps) => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n const { modalClassName, FormWrapper, modalHeading, modalDescription, inputs, buttons, errorMessage, toggle } = props;\r\n\r\n const modalBody = (\r\n <>\r\n {modalDescription}\r\n \r\n {inputs && inputs.map((item: IBusinessFormItem) => {\r\n return (\r\n\r\n \r\n );\r\n })}\r\n {errorMessage?.map((error: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {error}\r\n \r\n );\r\n })}\r\n \r\n \r\n\r\n );\r\n\r\n const modalFooter = buttons && buttons.map((button: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {button}\r\n \r\n );\r\n });\r\n\r\n return renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\r\n};\r\n\r\n/**\r\n * Selected user interface.\r\n */\r\ninterface ISelectedUser {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n FirstName?: string;\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n LastName?: string;\r\n}\r\n\r\n/**\r\n * Business User Details component.\r\n * @param props - View props.\r\n * @returns The JSX Element.\r\n */\r\nconst BusinessUserDetailsComponent: React.FC = (props: IFormViewProps) => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n const { modalClassName, FormWrapper, modalHeading, modalDescription, buttons, errorMessage, resources, toggle } = props;\r\n let modalBody = null;\r\n const selectedUser = props.selectedUser as ISelectedUser | string;\r\n\r\n if (!selectedUser) {\r\n modalBody = errorMessage;\r\n } else {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n const { FirstName, LastName } = selectedUser as ISelectedUser;\r\n const userFullName = `${FirstName as string} ${LastName as string}`;\r\n\r\n modalBody = (\r\n <>\r\n { modalDescription }\r\n \r\n \r\n {userFullName}\r\n \r\n { Object.keys(selectedUser).map((data, index) => {\r\n if (data === InputID.FirstName || data === InputID.LastName) {\r\n return null;\r\n }\r\n const label = resources[`table${data}HeadingText`] as string || data;\r\n return (\r\n {label}\r\n {': '}\r\n {selectedUser[data]}\r\n );\r\n\r\n })}\r\n \r\n \r\n );\r\n }\r\n\r\n const modalFooter = buttons && buttons.map((button: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {button}\r\n \r\n );\r\n });\r\n\r\n return renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\r\n};\r\n\r\n/**\r\n * To get form.\r\n * @param type - The type of form.\r\n * @param formProps - The form props.\r\n * @param toggleModal - The toggle modal callback function.\r\n * @returns The JSX Element.\r\n */\r\nconst getForm = (type: string, formProps: IFormViewProps, toggleModal?: () => void) => {\r\n switch (type) {\r\n case 'ADD':\r\n case 'EDIT':\r\n return ;\r\n case 'VIEW':\r\n case 'REMOVE':\r\n return ;\r\n default:\r\n return null;\r\n }\r\n};\r\n\r\n/**\r\n * Business Organization List component.\r\n * @param props - View props.\r\n * @returns The JSX Element.\r\n */\r\nconst BusinessOrganizationListComponent: React.FC> = props => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n const { OrganizationUserList, moduleContainer, heading, noUsersText, addUserButton, organizationListTable, form, formType,\r\n toggleModal, requestAccountStatementButton, requestStatementModal } = props;\r\n\r\n const buttonList: React.ReactNode =\r\n (\r\n \r\n {addUserButton}\r\n {requestAccountStatementButton}\r\n \r\n );\r\n\r\n if (noUsersText) {\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n \r\n {props.resources.headingForEmptyUserOrganizationList}\r\n \r\n \r\n {props.resources.textForEmptyUserOrganizationList}\r\n \r\n {buttonList}\r\n \r\n {requestStatementModal}\r\n {noUsersText}\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n {buttonList}\r\n {requestStatementModal}\r\n {organizationListTable}\r\n \r\n { form && getForm(formType, form, toggleModal) }\r\n \r\n );\r\n};\r\n\r\nexport default BusinessOrganizationListComponent;\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 { IContentBlockAdditionalContentItemViewProps,\r\n IContentBlockAdditionalContentViewProps, IContentBlockViewProps\r\n} from '@msdyn365-commerce-modules/content-block';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\n/**\r\n * Render Additional Content.\r\n * @param additionalContent - Additional content view props.\r\n * @returns JSX Element.\r\n */\r\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\r\n return (\r\n \r\n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\r\n return (\r\n <>\r\n {item.heading}\r\n \r\n {item.text}\r\n \r\n {item.links}\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render View.\r\n * @param props - The view props.\r\n * @returns -The JSX Element.\r\n */\r\nconst contentBlockView: React.FC = (props) => {\r\n const {\r\n contentBlockContainer,\r\n imageContainer,\r\n detailsContainer,\r\n title,\r\n text,\r\n links,\r\n image,\r\n contentBlockAnchorTag,\r\n imageLink,\r\n imageAriaLabel,\r\n additionalContent\r\n } = props;\r\n\r\n // @ts-expect-error HTML element need to be clear on run time.\r\n const hasImage: boolean = image.props.src;\r\n const imageClass: string = hasImage ? `${detailsContainer.className} withImage` : `${detailsContainer.className} withoutImage`;\r\n\r\n if (imageLink) {\r\n return (\r\n \r\n \r\n \r\n {image}\r\n \r\n \r\n \r\n {title}\r\n {text}\r\n {links}\r\n {additionalContent && renderAdditionalContent(additionalContent)}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n \r\n {image}\r\n \r\n \r\n {title}\r\n {text}\r\n {links}\r\n {additionalContent && renderAdditionalContent(additionalContent)}\r\n \r\n \r\n );\r\n\r\n};\r\n\r\nexport default contentBlockView;\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 {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderDetailsViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine\r\n} from '@msdyn365-commerce-modules/order-management';\r\nimport { IImageSettings, Image, IRequestContext, IActionContext, ICultureInfoFormatter } from '@msdyn365-commerce/core';\r\nimport { getFallbackImageUrl } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport {\r\n IOrderDetailsProps,\r\n IOrderDetailsResources,\r\n IOrderDetailsConfig\r\n} from '../definition-extensions/order-details.ext.props.autogenerated';\r\nimport { IOrderDetailsExtData } from '../definition-extensions/order-details.data';\r\nimport { getSalesOrderDetailsAsync } from '../../../actions/DataActionExtension.g';\r\nimport { IContainerDetailsEntity } from '../../../actions/DataServiceEntities.g';\r\nimport {\r\n IShipmentTrackingProps,\r\n IShipmentTrackingResources,\r\n ShipmentTrackingComponent\r\n} from './components/order-details.shipment-tracking.component';\r\nimport {\r\n INoShipmentTrackingProps,\r\n INoShipmentTrackingResources,\r\n NoShipmentTrackingComponent\r\n} from './components/order-details.no-shipment-tracking.component';\r\nimport { IOrderDetailsContainerRowProps, OrderDetailsContainerRowComponent } from './components/order-details.container-row.component';\r\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\n\r\ninterface IExtendedOrderInformation extends IOrderInformation {\r\n purchaseOrderNumber: React.ReactNode;\r\n}\r\n\r\ninterface IGroupsExtended extends IGroups {\r\n actionContext: IActionContext;\r\n cultureFormatter: ICultureInfoFormatter;\r\n request: IRequestContext;\r\n containerDetails: IContainerDetailsEntity[];\r\n resources: IOrderDetailsResources;\r\n config: IOrderDetailsConfig;\r\n}\r\n\r\ninterface IGroupExtended extends IGroup {\r\n actionContext: IActionContext;\r\n cultureFormatter: ICultureInfoFormatter;\r\n request: IRequestContext;\r\n containerDetails: IContainerDetailsEntity[];\r\n resources: IOrderDetailsResources;\r\n config: IOrderDetailsConfig;\r\n}\r\n\r\ninterface IGroupedSalesLine {\r\n actionContext: IActionContext;\r\n cultureFormatter: ICultureInfoFormatter;\r\n request: IRequestContext;\r\n salesLines: ISalesLine[];\r\n containerDetails: IContainerDetailsEntity[];\r\n resources: IOrderDetailsResources;\r\n config: IOrderDetailsConfig;\r\n}\r\n\r\ninterface IOrderDetailsContainerImageProps {\r\n product: SimpleProduct | undefined;\r\n actionContext: IActionContext;\r\n requestContext: IRequestContext;\r\n imageSettings: IImageSettings | undefined;\r\n}\r\n\r\nexport const OrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n salesId,\r\n receiptId,\r\n createdDate,\r\n count,\r\n amount,\r\n channelName,\r\n channelAddress,\r\n purchaseOrderNumber\r\n}) => (\r\n \r\n {channelName}\r\n {channelAddress}\r\n {salesId}\r\n {purchaseOrderNumber}\r\n {receiptId}\r\n {createdDate}\r\n {count}\r\n {amount}\r\n \r\n);\r\n\r\nexport const SalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, errors }) => (\r\n \r\n {salesLine}\r\n {buyAgainButton}\r\n {errors}\r\n \r\n);\r\n\r\nconst GroupedSalesLine: React.FC = ({\r\n containerDetails,\r\n salesLines,\r\n resources,\r\n request,\r\n actionContext,\r\n cultureFormatter,\r\n config\r\n}) => {\r\n const {\r\n trackingLabel,\r\n salesLineQuantityText,\r\n shippingInformationHeadingText,\r\n noShippingInformationFoundDefaultText,\r\n containerIdLabelText,\r\n WeightLabelText,\r\n shippingCarrierLabelText,\r\n trackThisPackageLinkText\r\n } = resources;\r\n\r\n const { trackingUrls, imageSettings, noShipmentInformationMessage, showNoShipmentInformation } = config;\r\n\r\n const remainingSalesLines = [...salesLines];\r\n const noShipmentTrackingNodeProps: INodeProps = { tag: 'div', className: 'ms-order-details__shipment-tracking' };\r\n const noShipmentTrackingResources: INoShipmentTrackingResources = {\r\n noShippingFoundText: noShipmentInformationMessage || noShippingInformationFoundDefaultText\r\n };\r\n const noShipmentTrackingProps: INoShipmentTrackingProps = {\r\n noShipmentTrackingNodeProps,\r\n noShipmentTrackingResources\r\n };\r\n return (\r\n <>\r\n {containerDetails &&\r\n containerDetails.map(({ ShippingCarrier, ContainerId, ContainerLinesList, TrackingNumber, Weight }) => {\r\n const foundItem = ContainerLinesList?.some(c =>\r\n salesLines.find(sl => sl.data.salesLine.ItemId === c.ItemId && sl.data.salesLine.Quantity === c.Quantity)\r\n );\r\n if (!foundItem) {\r\n return;\r\n }\r\n const shipmentTrackingNodeProps: INodeProps = { tag: 'div', className: 'ms-order-details__shipment-tracking' };\r\n const shipmentTrackingResources: IShipmentTrackingResources = {\r\n headingText: shippingInformationHeadingText,\r\n containerIdLabel: containerIdLabelText,\r\n weightLabel: WeightLabelText,\r\n shippingCarrierLabel: shippingCarrierLabelText,\r\n trackingLabel: trackingLabel,\r\n trackthisPackageLinkText: trackThisPackageLinkText\r\n };\r\n\r\n const trackingUrlData = trackingUrls?.find(url => url.shippingCarrier === ShippingCarrier);\r\n const shipmentTrackingProps: IShipmentTrackingProps = {\r\n shipmentTrackingNodeProps,\r\n shipmentTrackingResources,\r\n containerId: ContainerId,\r\n weight: Weight,\r\n shippingCarrier: ShippingCarrier,\r\n trackingNumber: TrackingNumber,\r\n trackingUrl: trackingUrlData ? `${trackingUrlData.trackingUrl || ''}${TrackingNumber || ''}` : undefined\r\n };\r\n\r\n return (\r\n
\r\n
\r\n {ContainerLinesList &&\r\n ContainerLinesList.map(cl => {\r\n const itemData = salesLines.find(sl => sl.data.product?.ItemId === cl.ItemId);\r\n if (!itemData) {\r\n return <>;\r\n }\r\n const index = remainingSalesLines.findIndex(\r\n sl => sl.data.product?.ItemId === cl.ItemId && sl.data.salesLine.Quantity === cl.Quantity\r\n );\r\n remainingSalesLines.splice(index, 1);\r\n const product = itemData.data.product;\r\n const imageProps: IOrderDetailsContainerImageProps = {\r\n product: product,\r\n actionContext: actionContext,\r\n requestContext: request,\r\n imageSettings: imageSettings\r\n };\r\n const netAmount = itemData?.data.salesLine.NetAmount || 0;\r\n const grossAmount = itemData?.data.salesLine.GrossAmount || 0;\r\n const orderDetailsContainerRowProps: IOrderDetailsContainerRowProps = {\r\n name: itemData?.data.product?.Name,\r\n itemId: cl.ItemId,\r\n imageUrl: itemData?.data.product?.PrimaryImageUrl,\r\n productUrl: itemData?.data.productUrl,\r\n quantity: cl.Quantity,\r\n netAmount: netAmount,\r\n strikeAmount: grossAmount > netAmount ? grossAmount : 0,\r\n salesStatus: itemData?.data.salesStatus,\r\n quantityLabel: salesLineQuantityText,\r\n buyAgainButton: itemData.buyAgainButton,\r\n renderedImage: ,\r\n cultureFormatter: cultureFormatter\r\n };\r\n return ;\r\n })}\r\n
\r\n \r\n
\r\n );\r\n })}\r\n {remainingSalesLines.length > 0 && (\r\n
\r\n
\r\n {remainingSalesLines.map(sl => {\r\n const product = sl.data.product;\r\n const imageProps: IOrderDetailsContainerImageProps = {\r\n product: product,\r\n actionContext: actionContext,\r\n requestContext: request,\r\n imageSettings: imageSettings\r\n };\r\n const netAmount = sl?.data.salesLine.NetAmount || 0;\r\n const grossAmount = sl?.data.salesLine.GrossAmount || 0;\r\n const orderDetailsContainerRowProps: IOrderDetailsContainerRowProps = {\r\n name: sl?.data.product?.Name,\r\n itemId: sl?.data.salesLine?.ItemId,\r\n imageUrl: sl?.data.product?.PrimaryImageUrl,\r\n productUrl: sl?.data.productUrl,\r\n quantity: sl?.data.salesLine.Quantity,\r\n netAmount: netAmount,\r\n strikeAmount: grossAmount > netAmount ? grossAmount : 0,\r\n salesStatus: sl?.data.salesStatus,\r\n quantityLabel: salesLineQuantityText,\r\n buyAgainButton: sl.buyAgainButton,\r\n renderedImage: ,\r\n cultureFormatter: cultureFormatter\r\n };\r\n return ;\r\n })}\r\n
\r\n {showNoShipmentInformation && }\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nconst RenderImageComponent: React.FC = (props: IOrderDetailsContainerImageProps) => {\r\n const product = props.product;\r\n if (!product) {\r\n return <>;\r\n }\r\n const fallbackImageUrl = getFallbackImageUrl(\r\n product.ItemId,\r\n props.actionContext.requestContext.apiSettings,\r\n props.requestContext.app?.config?.OmniChannelMedia\r\n );\r\n\r\n const containerClassName = `props__product-image-container`;\r\n\r\n const productName = product.Name ?? product.Description;\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport const GroupDelivery: React.FC = ({ deliveryProps, heading, count }) => (\r\n \r\n {heading}\r\n {count}\r\n \r\n);\r\n\r\nexport const Group: React.FC = (props: IGroupExtended) => {\r\n const { groupProps, delivery, address } = props;\r\n return (\r\n \r\n {delivery && }\r\n {!delivery.showTimeslot && address}\r\n \r\n \r\n {delivery.showTimeslot && (\r\n \r\n {address}\r\n {delivery.pickupDateTimeslot}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport const Groups: React.FC = (props: IGroupsExtended) => {\r\n const { groupsProps, groups } = props;\r\n return (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport const OrderSummary: React.FC = ({\r\n orderSummaryProps,\r\n heading,\r\n subtotal,\r\n shipping,\r\n tax,\r\n totalAmount,\r\n earnedPoints\r\n}) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const Payment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const Help: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderDetailsView: React.FC> = props => {\r\n const {\r\n moduleProps,\r\n viewModes,\r\n tableViewActions,\r\n table,\r\n heading,\r\n alert,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n config,\r\n data: { containerDetails },\r\n resources: { perCustomerFreightPolicyText, poNumberLabelText },\r\n context: { actionContext },\r\n salesOrder\r\n } = props;\r\n\r\n const [poNumber, setPoNumber] = React.useState(null);\r\n const [isLoading, setIsLoading] = React.useState(true); // State to manage loading status\r\n\r\n React.useEffect(() => {\r\n if (!poNumber) {\r\n const salesId = salesOrder?.SalesId || '';\r\n void getPoNumber(salesId);\r\n }\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n // 6849 - Replace the text FREE on the shipping line with Per Customer Freight Policy\r\n const shippingLine = document.querySelector(\r\n '.ms-order-details__order-summary-line-shipping .msc-price__actual'\r\n );\r\n if (shippingLine) {\r\n shippingLine.innerHTML = perCustomerFreightPolicyText;\r\n }\r\n }, []);\r\n\r\n const getPoNumber = async (salesId: string) => {\r\n setIsLoading(true);\r\n try {\r\n const salesDetails = await getSalesOrderDetailsAsync({ callerContext: actionContext }, [salesId]);\r\n if (salesDetails?.SalesOrderDetails?.length && salesDetails?.SalesOrderDetails[0].PoNumber) {\r\n const node = (\r\n \r\n {poNumberLabelText}\r\n {salesDetails?.SalesOrderDetails[0].PoNumber}\r\n \r\n );\r\n setPoNumber(node);\r\n }\r\n } catch (error) {\r\n console.error('Error fetching PO number:', error);\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const containerResults = containerDetails.result?.ContainerDetails || [];\r\n return (\r\n \r\n {isLoading || alert !== undefined ? (\r\n
\r\n

\r\n

{'Loading'}

\r\n
\r\n ) : (\r\n <>\r\n {heading}\r\n {orderInfomation && }\r\n {tableViewActions}\r\n {viewModes}\r\n {table}\r\n {groups && (\r\n \r\n )}\r\n \r\n {orderSummary && }\r\n {payment && }\r\n \r\n {help && }\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default OrderDetailsView;\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 { Button, INodeProps, Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IOrderTemplateLineViewProps } from '@msdyn365-commerce-modules/order-template/src/modules/order-template/./components';\r\nimport { IOrderTemplateViewProps } from '@msdyn365-commerce-modules/order-template/src/modules/order-template/./order-template';\r\n\r\nconst OrderTemplateLinesView: React.FC = (props: IOrderTemplateViewProps) => {\r\n const {\r\n OrderTemplateLines,\r\n status,\r\n statusMessage,\r\n heading,\r\n ProductsTable,\r\n ProductsTableHeading,\r\n orderLines,\r\n ProductsTableRow,\r\n productsStatusMessage,\r\n OrderTemplateActions,\r\n orderActions,\r\n pagination,\r\n itemAddedToCartDialog,\r\n bulkOrderLineActions,\r\n isDetailsDisplayed,\r\n detailedProductView,\r\n toggleDetailsDisplayed,\r\n resources: { cancelBtnLabel, productNumberText, productText, productUnitPriceText, productUOMText, productQuantityText }\r\n } = props;\r\n\r\n const toggleDetails = React.useCallback(() => {\r\n toggleDetailsDisplayed && toggleDetailsDisplayed(undefined);\r\n }, [toggleDetailsDisplayed]);\r\n console.log(orderActions, orderLines);\r\n\r\n return (\r\n \r\n {heading}\r\n {OrderTemplateActions && (\r\n \r\n {orderActions?.addTemplateToBag}\r\n {orderActions?.renameTemplate}\r\n {orderActions?.removeTemplate}\r\n {!isDetailsDisplayed && productsStatusMessage}\r\n \r\n )}\r\n {bulkOrderLineActions}\r\n {status !== 'SUCCESS' && statusMessage}\r\n {ProductsTable && (\r\n \r\n \r\n {ProductsTableHeading}\r\n
\r\n {orderLines &&\r\n orderLines.map(product => {\r\n return _renderItem(product, productQuantityText, ProductsTableRow);\r\n })}\r\n \r\n \r\n {pagination}\r\n \r\n )}\r\n {itemAddedToCartDialog}\r\n \r\n Product Details\r\n \r\n
    \r\n
  • {detailedProductView?.productImage}
  • \r\n
  • \r\n {productText}:\r\n {detailedProductView?.productInfo}\r\n
  • \r\n
  • \r\n {productNumberText}:\r\n {detailedProductView?.productNumber}\r\n
  • \r\n
  • \r\n {productUnitPriceText}: {detailedProductView?.productPrice}\r\n
  • \r\n
  • \r\n {productUOMText}: {detailedProductView?.productUnitOfMeasure}\r\n
  • \r\n
  • \r\n {productQuantityText}:\r\n {detailedProductView?.productQuantityView}\r\n
  • \r\n {productsStatusMessage &&
  • {productsStatusMessage}
  • }\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _renderItem = (product: IOrderTemplateLineViewProps, quantityLabel: string, ProductsTableRow?: INodeProps): JSX.Element | null => {\r\n if (!product) {\r\n return null;\r\n }\r\n\r\n const {\r\n key,\r\n selectLine,\r\n productImage,\r\n productPrice,\r\n productNumber,\r\n addToBagButton,\r\n removeButton,\r\n productInfo,\r\n productUnitOfMeasure,\r\n productQuantityView,\r\n productQuantity,\r\n popUp,\r\n isMobile\r\n } = product;\r\n\r\n return (\r\n \r\n
\r\n \r\n {isMobile ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {!isMobile && }\r\n {!isMobile && }\r\n {!isMobile && }\r\n {!isMobile && }\r\n {isMobile && }\r\n {!isMobile && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default OrderTemplateLinesView;\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ISignInItem,\r\n ISignInLoading,\r\n ISignInLocalAccount,\r\n // ISignInSocialAccount,\r\n // ISignInSocialItem,\r\n ISignInB2BAccount,\r\n ISignInB2BItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management';\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.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\n// const 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 B2BAccount: React.FC = ({ socialAccounts, items }) => {\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignInB2BItem) => {\r\n return (\r\n item && (\r\n \r\n {item.text}\r\n \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 signInB2BAccount,\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 {B2BAccount(signInB2BAccount)}\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","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ISignUpEmailVerification,\r\n ISignUpGivenNameVerification,\r\n ISignUpItem,\r\n ISignUpLoading,\r\n ISignUpLocalAccount,\r\n ISignUpSurnameVerification,\r\n ISignUpViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-up/./sign-up';\r\n\r\nconst SignUpItem: React.FC = ({\r\n wrapper,\r\n label,\r\n errorMessage,\r\n input\r\n}) => {\r\n\r\n return (\r\n \r\n {label}\r\n {errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst SignUpEmailVerification: React.FC = ({\r\n email,\r\n buttonWrapper,\r\n buttons,\r\n successMessage,\r\n errorMessage\r\n}) => {\r\n\r\n return (\r\n <>\r\n \r\n {successMessage && successMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n {errorMessage && errorMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n \r\n {buttons && buttons.map((button: React.ReactNode) => {\r\n return (\r\n <>\r\n {button}\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Handles validation of sign-up givenName.\r\n * @param event - Content editable event.\r\n * @param event.givenName - Event Given Name.\r\n * @param event.errorMessage - Event Error Message.\r\n * @returns - Error Message for Given Name.\r\n */\r\nconst SignUpGivenNameVerificationComponent: React.FC = ({\r\n givenName,\r\n errorMessage\r\n}) => {\r\n return (\r\n <>\r\n \r\n {errorMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Handles validation of signUp surname.\r\n * @param event - Content editable event.\r\n * @param event.surname - Event surname.\r\n * @param event.errorMessage - Event Error Message.\r\n * @returns - Error Message for surname.\r\n */\r\nconst SignUpSurnameVerificationComponent: React.FC = ({\r\n surname,\r\n errorMessage\r\n}) => {\r\n return (\r\n <>\r\n \r\n {errorMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n emailVerification,\r\n givenNameVerification,\r\n surnameVerification,\r\n buttons,\r\n errorMessage,\r\n disclaimer\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignUpItem) => {\r\n if (item.key === 'email' && emailVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n if (item.key === 'givenName' && givenNameVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n if (item.key === 'surname' && surnameVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n return (\r\n\r\n \r\n );\r\n })}\r\n {errorMessage && errorMessage.map((error: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {error}\r\n \r\n );\r\n })}\r\n {buttons && buttons.map((button: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {button}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n \r\n );\r\n};\r\n\r\nconst SignUpLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message\r\n}) => {\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 SignUpView: React.FC = props => {\r\n\r\n const {\r\n signUp,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n heading,\r\n signUpLocalAccount\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n {heading}\r\n {LocalAccount(signUpLocalAccount)}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignUpView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccordionItemViewProps } from './accordion-item';\n\nconst AccordionItemView: React.FC = props => {\n const { drawer, accordionSlots, AccordionItemContainer, AccordionItemContent } = props;\n return (\n \n \n \n {accordionSlots &&\n accordionSlots.accordionItemContent &&\n accordionSlots.accordionItemContent.length &&\n _renderAccordionItemContent(accordionSlots.accordionItemContent)}\n \n \n \n );\n};\n\nconst _renderAccordionItemContent = (items: React.ReactNode[]): JSX.Element | null => {\n return (\n <>\n {items && items.length > 0\n ? items.map((item: React.ReactNode, index: number) => {\n return {item};\n })\n : null}\n \n );\n};\nexport default AccordionItemView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccordionViewProps } from './accordion';\n\nconst accordionView: React.FC = props => {\n const { heading, AccordionContainer, accordionItems } = props;\n if (!props.heading && !props.accordionButtons && !props.accordionItems) {\n props.context.telemetry.error('Accordion content is empty, module wont render');\n return null;\n }\n return (\n \n \n {heading}\n {props.accordionButtons && {props.accordionButtons}}\n \n {accordionItems}\n \n );\n};\n\nexport default accordionView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAadGenericViewProps } from './aad-generic';\n\nexport default (props: IAadGenericViewProps) => {\n const { aadGeneric, aadConainer, aadAPIConainer, heading } = props;\n\n return (\n \n \n {heading}\n {aadAPIConainer}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceViewProps } from './account-customer-balance';\n\nexport default (props: IAccountCustomerBalanceViewProps) => {\n const {\n heading,\n accountSectionHeading,\n creditSummarySectionHeading,\n accountLabels,\n accountValues,\n creditSummaryLabels,\n creditSummaryValues,\n homeButton,\n actions,\n requestStatementModal,\n availableCredit,\n balanceOwed,\n creditExcess\n } = props;\n\n return (\n \n {heading}\n {requestStatementModal}\n {actions}\n {accountSectionHeading}\n
\n {accountLabels}\n {accountValues}\n
\n {creditSummarySectionHeading}\n
\n {creditSummaryLabels}\n {creditSummaryValues}\n {availableCredit}\n {balanceOwed}\n {creditExcess}\n
\n {homeButton}\n
\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountInvoiceTileViewProps } from './account-invoice-tile';\n\nexport default (props: IAccountInvoiceTileViewProps) => {\n const { AccountInvoiceTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IFooterViewProps } from './footer-item';\n\n/**\n *\n * FooterItemView component.\n * @extends {React.PureComponent}\n */\nexport class FooterItemView extends React.PureComponent {\n public render(): JSX.Element | null {\n const { FooterItem } = this.props;\n return {this._renderElement(this.props)};\n }\n\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\n const { heading, HeadingContainer, Link, linkText, image, text, EditableLink } = props;\n if (heading) {\n return {heading} ;\n } else if (Link && image) {\n return (\n \n {linkText}\n {image}\n \n );\n } else if (Link) {\n return EditableLink;\n }\n return (\n <>\n {text}\n {image}\n \n );\n }\n}\n\nexport default FooterItemView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { IInteractiveFeatureCollectionViewProps } from './interactive-feature-collection';\n\n/**\n * Feature Collection View.\n * @param props - Feature Collection view props.\n * @returns Feature Collection View.\n */\nexport const interactiveFeatureCollectionView: React.FC = props => {\n const {\n title,\n interactiveFeatureCollectionHeading,\n interactiveFeatureCollectionContainer,\n interactiveFeatureCollectionDesktopContainer,\n interactiveFeatureCollectionDesktopItems,\n interactiveFeatureCollectionMobileItems,\n interactiveFeatureCollectionMobileContainer,\n singleSlideCarouselComponentProps,\n singleSlideCarouselItemContainer\n } = props;\n return (\n \n {title}\n {interactiveFeatureCollectionDesktopItems}\n \n \n {interactiveFeatureCollectionMobileItems &&\n interactiveFeatureCollectionMobileItems.map((tileItem: ReactNode, index: number) => {\n const keyIndex = `interactive-feature-carousel-item__${index}`;\n return (\n \n {tileItem}\n \n );\n })}\n \n \n \n );\n};\n\nexport default interactiveFeatureCollectionView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IBusinessFormItem,\n IBusinessOrganizationListViewProps,\n IFormViewProps,\n InputID\n} from '@msdyn365-commerce-modules/business-organization-list';\nimport { Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IBusinessOrganizationListProps,\n IBusinessOrganizationListResources\n} from '../definition-extensions/business-organization-list.ext.props.autogenerated';\n\n/**\n * Business Form Item component.\n * @param props - View props.\n * @returns The JSX Element.\n */\nconst BusinessFormItemComponent: React.FC = (props: IBusinessFormItem) => {\n const { wrapper, label, errorMessage, input } = props;\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\n/**\n * To render modal.\n * @param className - The modal classname.\n * @param isModalOpen - The boolean for modal open status.\n * @param headingSection - The heading section of modal.\n * @param bodySection - The body section of modal.\n * @param footerSection - The footer section of modal.\n * @param toggleModal - The toggle modal callback function.\n * @returns The JSX Element.\n */\nconst renderModal = (\n className: string,\n isModalOpen: boolean,\n headingSection: React.ReactNode,\n bodySection: React.ReactNode,\n footerSection: React.ReactNode,\n toggleModal?: () => void\n) => {\n return (\n \n {headingSection}\n {bodySection}\n {footerSection}\n \n );\n};\n\n/**\n * Business User Form component.\n * @param props - View props.\n * @returns The JSX Element.\n */\nconst BusinessUserFormComponent: React.FC = (props: IFormViewProps) => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\n const { modalClassName, FormWrapper, modalHeading, modalDescription, inputs, buttons, errorMessage, toggle } = props;\n\n const modalBody = (\n <>\n {modalDescription}\n \n {inputs &&\n inputs.map((item: IBusinessFormItem) => {\n return ;\n })}\n {errorMessage?.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n \n );\n\n const modalFooter =\n buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n });\n\n return renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\n};\n\n/**\n * Selected user interface.\n */\ninterface ISelectedUser {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\n FirstName?: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\n LastName?: string;\n}\n\n/**\n * Business User Details component.\n * @param props - View props.\n * @returns The JSX Element.\n */\nconst BusinessUserDetailsComponent: React.FC = (props: IFormViewProps) => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\n const { modalClassName, FormWrapper, modalHeading, modalDescription, buttons, errorMessage, resources, toggle } = props;\n let modalBody = null;\n const selectedUser = props.selectedUser as ISelectedUser | string;\n\n if (!selectedUser) {\n modalBody = errorMessage;\n } else {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\n const { FirstName, LastName } = selectedUser as ISelectedUser;\n const userFullName = `${FirstName as string} ${LastName as string}`;\n\n modalBody = (\n <>\n {modalDescription}\n \n \n {userFullName}\n \n {Object.keys(selectedUser).map((data, index) => {\n if (data === InputID.FirstName || data === InputID.LastName) {\n return null;\n }\n const label = (resources[`table${data}HeadingText`] as string) || data;\n return (\n \n {label}\n {': '}\n {selectedUser[data]}\n \n );\n })}\n {errorMessage?.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n \n );\n }\n\n const modalFooter =\n buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n });\n\n return renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\n};\n\n/**\n * To get form.\n * @param type - The type of form.\n * @param formProps - The form props.\n * @param toggleModal - The toggle modal callback function.\n * @returns The JSX Element.\n */\nconst getForm = (type: string, formProps: IFormViewProps, toggleModal?: () => void) => {\n switch (type) {\n case 'ADD':\n case 'EDIT':\n return ;\n case 'VIEW':\n case 'REMOVE':\n return ;\n default:\n return null;\n }\n};\n\n/**\n * Business Organization List component.\n * @param props - View props.\n * @returns The JSX Element.\n */\nconst BusinessOrganizationListComponent: React.FC> = props => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\n const {\n OrganizationUserList,\n moduleContainer,\n heading,\n noUsersText,\n addUserButton,\n organizationListTable,\n form,\n formType,\n toggleModal,\n requestAccountStatementButton,\n requestStatementModal\n } = props;\n\n const buttonList: React.ReactNode = (\n \n {addUserButton}\n {requestAccountStatementButton}\n \n );\n\n if (noUsersText) {\n return (\n \n \n {heading}\n \n \n {props.resources.headingForEmptyUserOrganizationList}\n \n \n {props.resources.textForEmptyUserOrganizationList}\n \n {buttonList}\n \n {requestStatementModal}\n {noUsersText}\n \n \n );\n }\n\n return (\n \n \n {heading}\n {buttonList}\n {requestStatementModal}\n {organizationListTable}\n \n {form && getForm(formType, form, toggleModal)}\n \n );\n};\n\nexport default BusinessOrganizationListComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckoutCustomerAccountPaymentViewProps } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/checkout-customer-account-payment';\nimport { IAccountPaymentEditViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-edit-mode';\nimport { IAccountPaymentSummaryViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-summary-mode';\n\nexport const SummaryForm: React.FC = ({\n formProps,\n label,\n addPaymentButton,\n appliedLine,\n bottomBorder,\n paymentAmountInput\n}) => (\n \n <>\n {label}\n {paymentAmountInput}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nexport const EditForm: React.FC = ({\n formProps,\n inputLabel,\n inputAmount,\n addPaymentButton,\n customerName,\n customerAccountNumber,\n customerSince,\n accountCredit,\n alert,\n accountDetails,\n appliedLine,\n bottomBorder\n}) => (\n \n <>\n {customerName}\n {customerAccountNumber}\n {customerSince}\n {accountCredit}\n {accountDetails}\n {inputLabel}\n {alert}\n {inputAmount}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nconst CheckoutCustomerAccountView: React.FC = props => {\n const { checkoutCustomerAccount, checkoutErrorRef, summaryView, editView, moduleState, alert } = props;\n return (\n \n {alert}\n {moduleState.isReady && summaryView && }\n {!moduleState.isReady && editView && }\n \n );\n};\n\nexport default CheckoutCustomerAccountView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport {\n IReportReviewModalViewProps,\n IReviewCardViewProps,\n IReviewsListData,\n IReviewsListResources,\n IReviewsListState,\n IReviewsListViewProps\n} from '@msdyn365-commerce-modules/ratings-reviews';\nimport { ArrayExtensions, generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IReviewsListProps } from '../definition-extensions/reviews-list.ext.props.autogenerated';\n\n/**\n * Build Review Card.\n * @param props - Review Card ViewProps.\n * @param resources - Resource Strings.\n * @param isUserReview - User review flag.\n * @returns JSX Element.\n */\nconst buildReviewCard = (props: IReviewCardViewProps, resources: IReviewsListResources, isUserReview: boolean) => {\n return (\n \n \n
\n {props.rating}\n {props.date}\n
\n {props.name}\n
\n \n \n {props.reviewTitle}\n {props.reviewText}\n \n \n {props.responseName}\n {props.responseDate}\n {props.responseText}\n \n \n {isUserReview ? undefined :

{resources.wasReviewHelpfulText}

}\n {props.like}\n {props.dislike}\n {props.edit}\n
\n
\n
\n );\n};\n\n/**\n * Render Product Image.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductImage = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const primaryImageSource = props.data.product.result?.PrimaryImageUrl;\n const imageUrl = generateImageUrl(primaryImageSource, props.context.request.apiSettings);\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=111&h=111&m=6', w: 111, h: 111 },\n sm: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n md: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n lg: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n xl: { q: 'w=130&h=130&m=6', w: 130, h: 130 }\n },\n lazyload: true,\n cropFocalRegion: true\n };\n\n return (\n \n );\n};\n\n/**\n * Render Product Description.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductDescription = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const product = props.data.product.result;\n return (\n \n
{renderProductImage(props)}
\n
\n
{product?.Name}
\n
{product?.Name}
\n
{product?.ItemId}
\n
\n
\n );\n};\n\n/**\n * Build Review modal.\n * @param props - Review list ViewProps.\n * @returns JSX Element.\n */\nconst createReviewModal = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const { resources, moduleProps, reviewModal } = props;\n return (\n \n {reviewModal.modalHeader}\n \n \n \n {renderProductDescription(props)}\n \n
{resources.selectRatingLabel}
\n {reviewModal.rating}\n
\n
\n \n {resources.reviewTitleLabel}\n {reviewModal.titleInput}\n \n \n {resources.reviewTextLabel}\n {reviewModal.textInput}\n \n {reviewModal.privacyPolicyUrl}\n {reviewModal.error}\n
\n
\n \n {reviewModal.submitButton}\n {reviewModal.cancelButton}\n \n
\n );\n};\n\n/**\n * Build Review modal.\n * @param props - Review modal ViewProps.\n * @param state - Review List State.\n * @returns JSX Element.\n */\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\n return (\n \n {state.reported ? props.headerSubmitted : props.header}\n \n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\n \n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\n \n );\n};\n\n/**\n * ReviewsList view.\n * @param props - Ratings ReviewsList ViewProps.\n * @returns ReviewsList view module.\n */\nconst ReviewsListview: React.FC> = props => {\n const {\n filterByDropdown,\n heading,\n moduleProps,\n noReviewsMessage,\n noReviewsWithFilterMessage,\n pageControls,\n refineReviewsProps,\n reportReviewModal,\n reviewsListProps,\n reviewCards,\n sortByDropdown,\n state,\n userReview,\n resources\n } = props;\n\n if (!userReview && !ArrayExtensions.hasElements(reviewCards) && !state.isFilterApplied) {\n return {noReviewsMessage};\n }\n\n return (\n \n {heading}\n \n {sortByDropdown}\n {filterByDropdown}\n \n \n {userReview && buildReviewCard(userReview, resources, true)}\n {reviewCards.map(review => {\n return buildReviewCard(review, resources, false);\n })}\n \n {!ArrayExtensions.hasElements(reviewCards) && state.isFilterApplied && noReviewsWithFilterMessage}\n {pageControls}\n {createReviewModal(props)}\n {createReportModal(reportReviewModal, state)}\n \n );\n};\n\nexport default ReviewsListview;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Random } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, Popover } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface IAccountCustomerBalanceActions {\n className?: string;\n buttonReference?: React.RefObject;\n requestStatementButtonLabel: string;\n onRequestStatement(): void;\n}\n\ninterface IAdminRequestStatementProps {\n className?: string;\n requestStatementButtonLabel: string;\n myUserAccountLabel: string;\n fullOrganizationLabel: string;\n isDropdownShowing: boolean;\n buttonReference?: React.RefObject;\n promoteToSellerLabel?: string;\n onToggleDropdown(): void;\n onRequestStatement(isFullOrg: boolean): void;\n onPromoteToSeller?(): void;\n}\n\nexport const ActionBar: React.FC = ({\n className,\n onRequestStatement,\n requestStatementButtonLabel,\n buttonReference\n}) => {\n const popoverReference = buttonReference !== undefined ? buttonReference : React.createRef();\n return (\n
\n \n
\n );\n};\n\nexport const AdminRequestStatementButton: React.FC = ({\n className,\n onRequestStatement,\n requestStatementButtonLabel,\n onToggleDropdown,\n onPromoteToSeller,\n promoteToSellerLabel,\n myUserAccountLabel,\n fullOrganizationLabel,\n isDropdownShowing,\n buttonReference\n}) => {\n const onSelectCustomerAccount = React.useCallback(() => {\n onRequestStatement(false);\n }, [onRequestStatement]);\n\n const onSelectFullOrg = React.useCallback(() => {\n onRequestStatement(true);\n }, [onRequestStatement]);\n\n const onSelectPromoteToSeller = React.useCallback(() => {\n onPromoteToSeller?.();\n }, [onPromoteToSeller]);\n\n const popoverReference = buttonReference !== undefined ? buttonReference : React.createRef();\n const requestStatementDropdownString = `request-statement-dropdown-id-${Random.Guid.generateGuid()}`;\n return (\n
\n \n {requestStatementButtonLabel}\n \n \n \n {myUserAccountLabel}\n \n \n {promoteToSellerLabel && (\n \n {promoteToSellerLabel}\n \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 { ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\n/**\n * The interface for the props for the account statement request modal.\n */\ninterface IAccountStatementRequestModalProps {\n email: string;\n isModalOpen: boolean;\n fromDateString: string;\n toDateString: string;\n canSubmitRequest: boolean;\n modalHeaderLabel: string;\n sendToEmailLabel: string;\n fromDateLabel: string;\n toDateLabel: string;\n submitRequestLabel: string;\n cancelLabel: string;\n className: string;\n selectedUser: string;\n selectedUserLabel: string;\n toggle(): void;\n onChangeFromDate(newFromDate: string): void;\n onChangeToDate(newToDate: string): void;\n onSubmitRequest(): void;\n modalAriaLabel?: string;\n maxDateString?: string;\n}\n\nexport const RequestStatementModal: React.FC = ({\n className,\n email,\n isModalOpen,\n toggle,\n fromDateString,\n toDateString,\n onChangeFromDate,\n onChangeToDate,\n canSubmitRequest,\n modalHeaderLabel,\n sendToEmailLabel,\n fromDateLabel,\n toDateLabel,\n submitRequestLabel,\n cancelLabel,\n onSubmitRequest,\n selectedUser,\n selectedUserLabel,\n modalAriaLabel,\n maxDateString\n}) => {\n const onChangeFromDateEvent = React.useCallback(\n (event: React.ChangeEvent) => {\n const value = event.target.value;\n\n onChangeFromDate(value);\n },\n [onChangeFromDate]\n );\n\n const onChangeToDateEvent = React.useCallback(\n (event: React.ChangeEvent) => {\n const value = event.target.value;\n\n onChangeToDate(value);\n },\n [onChangeToDate]\n );\n\n /**\n * If the onBlur is called on the fromDate and the date has been changed, reset focus on it.\n * @param event - The event that is triggering onBlur.\n */\n const onBlurFromDate = React.useCallback(\n (event: React.ChangeEvent) => {\n if (ObjectExtensions.isFunction(event.target.focus) && event.target.value !== fromDateString) {\n event.target.focus();\n }\n },\n [fromDateString]\n );\n\n /**\n * If the onBlur is called on the toDate and the date has been changed, reset focus on it.\n * @param event - The event that is triggering onBlur.\n */\n const onBlurToDate = React.useCallback(\n (event: React.ChangeEvent) => {\n if (ObjectExtensions.isFunction(event.target.focus) && event.target.value !== toDateString) {\n event.target.focus();\n }\n },\n [toDateString]\n );\n\n return (\n \n {modalHeaderLabel}\n \n {selectedUser && (\n
\n \n
\n
{selectedUser}
\n
\n )}\n \n
\n {email}\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n {submitRequestLabel}\n \n {` `}\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 { getPayloadObject, getTelemetryAttributes, ITelemetryContent, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { AdminRequestStatementButton } from './account-actions';\nimport { RequestStatementModal } from './account-statement-request-modal';\n\nexport * from './account-actions';\nexport * from './account-statement-request-modal';\n\ninterface IAccountLabel {\n name: string;\n accountNumber: string;\n createdOn: string;\n customerSincePrefix: string;\n}\n\ninterface IAccountValues {\n availableCredit: string;\n availableCreditLabel: string;\n}\n\n/**\n * Prop for Available credit component.\n */\ninterface ICreditSummaryAvailableCredit {\n availableCreditLabel: string;\n availableCredit: string;\n}\n\n/**\n * Prop for Balanced owed component.\n */\ninterface ICreditSummaryBalanceOwed {\n balanceOwedLabel: string;\n balanceOwed: string;\n}\n\n/**\n * Prop for credit excess component.\n */\ninterface ICreditSummaryCreditExcess {\n creditExcessLabel: string | null;\n creditExcess: string | null;\n}\n\ninterface ICreditSummaryLabel {\n availableCredit: string;\n balanceOwed: string;\n creditExcess: string | null;\n}\n\ninterface ICreditSummaryValues {\n availableCredit: string;\n balanceOwed: string;\n creditExcess: string | null;\n}\n\ninterface IBackButton {\n link: string;\n label: string;\n telemetryContent?: ITelemetryContent;\n}\n\nexport const AccountLabels: React.FC = ({ name, accountNumber, customerSincePrefix, createdOn }) => (\n
\n

{name}

\n
#{accountNumber}
\n
\n {customerSincePrefix} {createdOn}\n
\n
\n);\n\nexport const AccountValues: React.FC = ({ availableCredit, availableCreditLabel }) => (\n
\n
{availableCreditLabel}
\n
{availableCredit}
\n
\n);\n\nexport const CreditSummaryLabels: React.FC = ({ availableCredit, balanceOwed, creditExcess }) => (\n
\n
{availableCredit}
\n
{balanceOwed}
\n
{creditExcess}
\n
\n);\n\nexport const CreditSummaryValues: React.FC = ({ availableCredit, balanceOwed, creditExcess }) => (\n
\n
{availableCredit}
\n
{balanceOwed}
\n {creditExcess &&
{creditExcess}
}\n
\n);\n\n/**\n * Available credit component.\n * @param props - ICreditSummaryAvailableCredit.\n * @param props.availableCreditLabel - Available credit label.\n * @param props.availableCredit - Available credit value.\n * @returns - React Node for available credit component.\n */\nexport const AvailableCreditComponent: React.FC = ({ availableCreditLabel, availableCredit }) => (\n
\n
\n
{availableCreditLabel}
\n
\n
\n
{availableCredit}
\n
\n
\n);\n\n/**\n * Balance Owed Component.\n * @param props - ICreditSummaryBalanceOwed.\n * @param props.balanceOwedLabel - Balance Owed label.\n * @param props.balanceOwed - Balance Owed value.\n * @returns - React Node for balance owed component.\n */\nexport const BalanceOwedComponent: React.FC = ({ balanceOwedLabel, balanceOwed }) => (\n
\n
\n
{balanceOwedLabel}
\n
\n
\n
{balanceOwed}
\n
\n
\n);\n\n/**\n * Credit Excess Component.\n * @param props - ICreditSummaryCreditExcess.\n * @param props.creditExcessLabel - Credit excess label.\n * @param props.creditExcess - Credit excess value.\n * @returns - React Node for credit excess component.\n */\nexport const CreditExcessComponent: React.FC = ({ creditExcessLabel, creditExcess }) => (\n
\n {creditExcess && (\n
\n
{creditExcessLabel}
\n
\n )}\n
\n {creditExcess &&
{creditExcess}
}\n
\n
\n);\nexport const BackButton: React.FC = ({ link, label, telemetryContent }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.BackToShopping);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n {label}\n \n );\n};\n\nexport { AdminRequestStatementButton, RequestStatementModal };\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 IAccountCustomerBalanceTileInfo {\n label?: string;\n value?: string;\n verbagePrefix?: string;\n verbagePostfix?: string;\n className?: string;\n error?: string;\n}\n\nexport const ErrorComponent: React.FC = ({ error }) => (\n {error}\n);\n\nexport const CreditComponent: React.FC = ({ verbagePrefix, verbagePostfix, value, className }) => {\n return (\n
\n {verbagePrefix}\n {value}\n {verbagePostfix}\n
\n );\n};\n\nexport const InfoComponent: React.FC = ({ label, value, className }) => (\n
\n {label}\n {value}\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 } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface ILinksData {\n linkText?: string;\n linkUrl: Msdyn365.ILinkData;\n ariaLabel?: string;\n openInNewTab?: boolean;\n}\n\nexport interface IAccountCustomerBalanceTileLinks {\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 AccountCustomerBalanceTileLinks: 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};\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\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-customer-balance-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 AccountCustomerBalanceTileLinks;\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 { 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 {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n INodeProps,\n ITelemetryContent,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nexport interface ILoyaltyTermsModalProps {\n resources: ILoyaltyTermsModalResources;\n returnRef: React.RefObject | undefined;\n checked: boolean;\n isOpen: boolean;\n terms: React.ReactNode;\n telemetryContent?: ITelemetryContent;\n onToggle(): void;\n onSubmit(): void;\n onCheck(): void;\n}\n\nexport interface ILoyaltyTermsModalResources {\n loyaltyTermsHeading: string;\n loyaltyAgreeToTerms: string;\n joinLoyaltyTermsText: string;\n cancelLoyaltyTermsText: string;\n}\n\nexport interface ILoyaltyTermsModalViewProps {\n modal: INodeProps;\n modalHeader: INodeProps;\n modalFooter: INodeProps;\n modalBody: INodeProps;\n heading: React.ReactElement;\n cancelButton: React.ReactElement;\n submitButton: React.ReactElement;\n terms: React.ReactNode;\n checkbox: React.ReactElement;\n agreeText: React.ReactElement;\n agreeSection: INodeProps;\n}\n\nexport const LoyaltyTermsModal = (props: ILoyaltyTermsModalProps): ILoyaltyTermsModalViewProps => {\n const payLoad = getPayloadObject('click', props.telemetryContent!, TelemetryConstant.LoyaltyTermsCancel);\n const loyaltyTermCancelAttributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.LoyaltyTermsSubmit;\n const loyaltyTermSubmitAttributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.LoyaltyTermsAgree;\n const loyaltyTermCheckboxAttributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\n return {\n modal: {\n tag: Modal,\n className: 'ms-loyalty-terms__modal',\n toggle: props.onToggle,\n applicationNode: 'renderPage',\n isOpen: props.isOpen,\n returnFocusRef: props.returnRef\n },\n modalHeader: { tag: ModalHeader, className: 'ms-loyalty-terms__modal-header', toggle: props.onToggle },\n modalFooter: { tag: ModalFooter, className: 'ms-loyalty-terms__modal-footer' },\n modalBody: { tag: ModalBody, className: 'ms-loyalty-terms__modal-body' },\n cancelButton: (\n \n ),\n submitButton: (\n \n {props.resources.joinLoyaltyTermsText}\n \n ),\n heading:

{props.resources.loyaltyTermsHeading}

,\n terms: props.terms,\n agreeSection: { className: 'ms-loyalty-terms__agree-section' },\n checkbox: (\n \n ),\n agreeText:

{props.resources.loyaltyAgreeToTerms}

\n };\n};\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 { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ISignInButton {\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 SignInButton: React.FC = ({ id, className, text, ariaLabel, telemetryContent, disabled, onClick }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n );\n};\n\nexport default SignInButton;\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 ISignInDescription {\n className: string;\n description: string;\n}\n\nconst SignInDescription: React.FC = ({ className, description }) =>

{description}

;\n\nexport default SignInDescription;\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 ISignInErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst SignInError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default SignInError;\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 ISignInInputProps {\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 ariaLabel?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface ISignInInput {\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 SignInInput: React.FC = ({ id, type, value, pattern, className, maxLength, ariaLabel, onChange }) => (\n \n);\n\nexport default SignInInput;\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 ISignInLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst SignInLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default SignInLabel;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ISignInLink {\n id?: string;\n className: string;\n href: string;\n ariaLabel: string;\n text: string;\n telemetryContent?: ITelemetryContent;\n}\n\nconst SignInLink: React.FC = ({ id, className, href, telemetryContent, ariaLabel, text }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n {text}\n \n );\n};\n\nexport default SignInLink;\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 ISignInLoadingIcon {\n className: string;\n}\n\nconst SignInLoadingIcon: React.FC = ({ className }) =>
;\n\nexport default SignInLoadingIcon;\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 ISignInLoadingMessage {\n className: string;\n message: string;\n}\n\nconst SignInLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default SignInLoadingMessage;\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 ISignInText {\n className: string;\n text: string;\n}\n\nconst SignInText: React.FC = ({ className, text }) => {text};\n\nexport default SignInText;\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 IAccountAddressTileDescription {\n description: string;\n}\n\n// eslint-disable-next-line no-redeclare\nconst IAccountAddressTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n\nexport default IAccountAddressTileDescription;\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-address-tile.props.autogenerated';\n\nexport interface IAccountAddressTileLinks {\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 AccountAddressTileLinks: React.FC = ({ links, telemetryContent, requestContext, onTextChange }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n\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-address-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 AccountAddressTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ISignUpButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst SignUpButton: React.FC = ({ id, className, text, ariaLabel, disabled, onClick }) => (\n \n);\n\nexport default SignUpButton;\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 ISignUpErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst SignUpError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default SignUpError;\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 ISignUpInputProps {\n id?: string;\n hasFocus?: boolean;\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 ISignUpInput {\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 SignUpInput: React.FC = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n \n);\n\nexport default SignUpInput;\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 ISignUpLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst SignUpLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default SignUpLabel;\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 ISignUpLoadingIcon {\n className: string;\n}\n\nconst SignUpLoadingIcon: React.FC = ({ className }) =>
;\n\nexport default SignUpLoadingIcon;\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 ISignUpLoadingMessage {\n className: string;\n message: string;\n}\n\nconst SignUpLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default SignUpLoadingMessage;\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 ISignUpSuccess {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst SignUpSuccess: React.FC = ({ id, className, type = 'page', message }) => {\n const successClassName = `${className}__${type}-success`;\n\n return (\n \n );\n};\n\nexport default SignUpSuccess;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n Button,\n format,\n getPayloadObject,\n getTelemetryAttributes,\n INodeProps,\n ITelemetryContent\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { InputType } from '../business-organization-list';\n\nexport interface IBusinessForm {\n FormWrapper: INodeProps;\n message?: React.ReactNode;\n items: IBusinessFormItem[];\n buttons: React.ReactNode[];\n errorMessage: React.ReactNode[];\n}\n\nexport interface IBusinessFormItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IBusinessFormInput {\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IUserFormItem {\n id: string;\n type: InputType;\n label: string;\n value: string;\n maxChars?: string;\n isRequired: boolean;\n pattern?: string;\n isDisabled?: boolean;\n customClass?: string;\n fieldReference?: React.RefObject;\n}\n\nexport interface IBusinessFormInputProps {\n id?: string;\n type: string;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n isRequired: boolean;\n isDisabled?: boolean;\n placeholder?: string;\n fieldReference?: React.RefObject;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport const FormInput: React.FC = ({\n id,\n type,\n value,\n pattern,\n className,\n maxLength,\n isRequired,\n isDisabled,\n onChange,\n fieldReference,\n placeholder\n}) => (\n \n);\n\nexport interface IBusinessFormLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n asteriskText: string;\n}\n\nexport const FormLabel: React.FC = ({ id, forId, className, text, asteriskText }) => (\n \n);\n\nexport interface IBusinessFormButton {\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\nexport const FormButton: React.FC = ({ id, className, text, ariaLabel, telemetryContent, disabled, onClick }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n );\n};\n\nexport interface IBusinessFormErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nexport const FormFieldError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\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"],"names":["FormType","InputType","InputID","renderInputSection","inputs","className","asteriskAfterLabel","onInputChange","map","element","customClass","id","type","label","maxChars","isRequired","pattern","value","isDisabled","fieldReference","wrapper","classnames","key","React","FormLabel","Object","assign","forId","text","asteriskText","errorMessage","FormFieldError","input","FormInput","maxLength","undefined","onChange","placeholder","BusinessOrganizationList","constructor","props","_this$props$config","super","BusinessFormDefaultInputs","FirstName","Text","this","resources","businessUserFirstNameLabelText","LastName","businessUserLastNameLabelText","Email","businessUserEmailAddressLabelText","EmailRegex","defaultRegex","source","SpendingLimit","businessUserSpendingLimitLabelText","config","delayFocus","formChildReference","userFormEditReference","userFormDeleteReference","moduleClassName","_handleAddUserButtonClicked","newForm","state","formItems","forEach","newUser","B2BUserId","Random","Guid","generateGuid","setState","isFormActive","formType","Add","referenceBack","addUserButtonReference","current","isModalOpen","hasFormError","hasActionError","selectedUserData","_handleAddEditFormSaveButton","async","context","updatedUser","_createBusinessPartner","Edit","editOrganizationUser","EditOrganizationUserInput","actionContext","then","window","location","reload","catch","error","telemetry","trace","addOrganizationUser","AddOrganizationUserInput","businessUserActionRetailErrorMsg","message","_objectSpread","Number","parseFloat","_handleEditIcon","userData","possibleName","find","cell","fullName","lastSpaceIndex","lastIndexOf","firstName","substring","lastName","possibleCell","dataCell","user","_handleDeleteIcon","displayedUserData","TableDataType","Price","cultureFormatter","formatCurrency","Remove","_handleViewDetails","View","_handleRemoveUserButton","deleteUserData","deleteOrganizationUser","DeleteOrganizationUserInput","None","callbackRemoveButton","_onInputChange","event","item","target","prev","refresh","isReady","_isFormReady","formItem","length","match","isNaN","_formatPrice","price","toString","_getCurrentUrl","reqContext","MsDyn365","isBrowser","URL","href","url","requestUrl","_getViewport","request","device","Type","innerWidth","gridSettings","xs","w","sm","md","lg","_toggleStatementRequestDropdown","isStatementRequestAdminDropdownOpen","_updateFromDate","newFromDate","statementRequestFromDateString","_updateToDate","newToDate","statementRequestToDateString","_showRequestStatementModal","isFullOrg","statementRequestFullOrg","isStatementRequestModalOpen","_promoteToSeller","promoteToSellerUrl","getUrlSync","_requestStatement","customer","data","customerInformation","result","currentUser","users","_getB2BUserId","statementRequest","FromDate","Date","ToDate","IsForFullOrganization","RequestedUserId","RequestingUserEmail","DeliveryTypeValue","BusinessPartnerOperationDeliveryType","callerContext","BusinessPartnerUsersDataActions","_closeStatementRequestModal","_this$statementReques","statementRequestButtonReference","focus","_onSelectRow","records","selectedRow","rowProps","isSelected","row","_toggleModal","bind","mobileExcludedColumns","Status","_viewport","_updateViewport","submitButtonReference","addedReference","statementRequestMaxDateString","toISOString","split","telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","payLoad","getPayloadObject","isMobile","canSubmitStatementRequest","StringExtensions","isNullOrWhitespace","selectedUserName","businessUserSelectedUserDisplayName","replace","index","componentDidMount","addEventListener","componentWillUnmount","removeEventListener","shouldComponentUpdate","nextProps","nextState","setTimeout","_this$formChildRefere","_this$submitButtonRef","render","_this$props$data$cust","heading","showBecomeSellerLink","businessUserActionButtonText","businessUserAddUserButtonText","businessUserLoadingMessage","businessUserEmptyListMessage","businessUserErrorGettingUsersMessage","userAccountStatementLabel","fullOrganizationLabel","requestStatementButtonLabel","promoteToSellerActionLabel","requestAccountStatementActionLabel","requestOrganizationStatementActionLabel","statementRequestModalHeaderLabel","cancelLabel","fromDateLabel","toDateLabel","submitRequestLabel","sendToEmailLabel","selectedUserLabel","hasUsers","contentAction","etext","TelemetryConstant","AddUser","addUserAttributes","getTelemetryAttributes","status","errorProps","OrganizationUserList","moduleProps","moduleContainer","Heading","headingTag","tag","addUserButton","Button","innerRef","onClick","noUsersText","renderView","viewProps","modalState","organizationListTable","Table","_createTableProps","toggleModal","form","_renderUserForm","_renderUserDetails","requestAccountStatementButton","AdminRequestStatementButton","buttonReference","onRequestStatement","onToggleDropdown","myUserAccountLabel","isDropdownShowing","promoteToSellerLabel","onPromoteToSeller","requestStatementModal","RequestStatementModal","email","toggle","fromDateString","toDateString","onChangeFromDate","onChangeToDate","canSubmitRequest","modalHeaderLabel","onSubmitRequest","selectedUser","selectedOrganizationLabel","modalAriaLabel","maxDateString","tableSort","showPagination","paginationItemPerPage","businessUserPaginationNextButtonText","businessUserPaginationPreviousButtonText","businessUserEditButtonText","businessUserViewUserButtonText","businessUserDeleteButtonText","businessUserPaginationAriaLabel","columnSortAriaLabel","tableData","_createTableItems","headings","ArrayExtensions","hasElements","includes","name","sortable","ariaLabel","rows","editLinkText","deleteLinkText","viewLinkText","editLinkTooltip","deleteLinkTooltip","viewLinkTooltip","enableToModify","actionLinkText","showCheckBoxes","isSortable","resourcePrefix","minifyActions","excludedColumns","paginationProperty","skipCount","query","skip","parseInt","itemPerPage","prevText","nextText","paginationText","isSingleSelectOnly","tableAriaLabel","tableTabIndex","businessUserSelectCheckBoxAriaLabelText","sortByAscending","sortByDescending","actions","onDelete","onEdit","onView","formatPrice","checkBoxCallback","businessUserActiveStatusText","businessUserPendingStatusText","businessUserRemovedStatusText","usersList","statusString","StatusValue","FullName","buttonReferences","edit","delete","_this$state$reference","businessUserRemoveModalHeaderText","businessUserRemoveModalDescription","businessUserViewModalHeaderText","businessUserCancelButtonText","businessUserCancelRemoveUserButtonText","businessUserRemoveUserButtonText","businessUserErrorUpdatingUsersMessage","formClassName","typeClassName","handleRemoveButton","modalClassName","FormWrapper","modalHeading","modalDescription","buttons","businessUserEditUserFormHeadingText","businessUserAddUserFormHeadingText","businessUserSaveButtonArialabel","businessUserSaveButtonText","businessUserCancelButtonArialabel","businessUserFieldIncorrectErrorText","businessUserActionErrorText","businessUserAllFieldsRequiredMessage","FormButton","disabled","__decorate","observable","computed","observer","AccountCustomerBalanceTile","_initState","reaction","hasError","content","ErrorComponent","apiGenericErrorMessage","get","isCustomerAccountPaymentEnabled","customerResult","allowOnAccountPayment","AllowOnAccountPayment","isB2BSite","isChannelTypeB2B","enableCustomerAccountPayment","links","isDetailsLinkDisplayed","LinksComponent","onTextChange","requestContext","account","Balance","CreditLimit","InvoiceAccountBalance","InvoiceAccountCreditLimit","noCreditErrorMessage","accountCreditVerbagePrefix","accountCreditVerbagePostfix","currencyCode","customerCredit","customerCreditFormatted","toFixed","CreditComponent","verbagePrefix","verbagePostfix","_mapEditableLinks","linkdata","editableLinks","link","linkText","attributes","editableLink","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","push","_ref","Msdyn365","editProps","AccountLoyaltyTile","handleHeadingChange","handleLinkTextChange","linkIndex","signUpLinkText","signUpLinkAriaLabel","viewLinkAriaLabel","accountLoyaltySummary","accountLoyaltyMemberSummary","loyaltyCard","description","CardNumber","decimalPrecision","points","RewardPoints","rewardPoint","ActivePoints","format","DescriptionComponent","AccountProfileEdit","onTextBoxChange","toLowerCase","givenName","surname","emailRegex","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","clearInterval","isInitialized","invalidEmailAddressError","obj","PRE","_htmlDecode","ID","PAT","PAT_DESC","required_field","requiredFieldMissingError","verifying_blurb","loadingMessage","componentDidUpdate","viewState","isShowLoading","accountProfileEdit","loading","modal","Modal","isOpen","modalBody","ModalBody","icon","AccountProfileEditLoadingIconComponent","AccountProfileEditLoadingMessageComponent","defaultAADConainer","style","display","aadConainer","accountProfileEditLocalAccount","_renderLocalAccount","str","e","document","createElement","innerHTML","childNodes","nodeValue","localAccount","items","_renderInput","firstNameLabelText","firstNameMaxLength","lastNameLabelText","lastNameMaxLength","AccountProfileEditErrorComponent","requiredFieldMissingSummaryError","fieldIncorrectError","buttonsWrapper","AccountProfileEditButtonComponent","saveButtonAriaLabel","saveButtonText","cancelButtonText","verificationSuccessModal","verificationSuccessModalMessage","showEmail","emailAddressLabelText","labelText","AccountProfileEditLabelComponent","AccountProfileEditInputComponent","RequestsTableColumnHeader","getUserName","isNullOrEmpty","UserFirstName","UserLastName","b2bRequestsNameDisplay","formatDate","date","year","month","day","getDetails","_requestDetails$Invoi","Details","requestDetails","accountStatementStartDateTime","AccountStatementStartDateTime","accountStatementEndDateTime","AccountStatementEndDateTime","invoiceId","InvoiceId","TypeValue","b2bRequestsAccountStatementDetails","b2bRequestsInvoiceCopyDetails","getDisplayFriendlyTypeValue","typeValue","b2bRequestsTypeCreateProspect","b2bRequestsTypeAddUser","b2bRequestsTypeDeleteUser","b2bRequestsTypeEditUser","b2bRequestsTypeRequestAccountStatement","b2bRequestsTypeRequestInvoiceCopy","b2bRequestsTypeUnknown","getDisplayFriendlyStatusValue","statusValue","b2bRequestsStatusProcessed","b2bRequestsStatusError","b2bRequestsStatusRequested","createTableProps","tableProps","_context$request$quer","operationRequests","_request$TypeValue","_request$StatusValue","b2bRequestsTypeColumn","b2bRequestsRequestDateColumn","CreatedDateTime","b2bRequestsDescriptionColumn","b2bRequestsUserColumn","b2bRequestsStatusColumn","createTableItems","filter","b2bRequestsPreviousText","b2bRequestsNextText","B2bRequestsTable","B2bRequestsStatus","renderHeader","headingData","_this$props$data$oper","_this$props$data$oper2","itemCount","getItemNumberDisplayString","_retrieveExcludedColumns","renderTable","b2bRequestsNumberOfItemsSingular","b2bRequestsNumberOfItems","variant","VariantType","Viewport","b2bRequestsStatus","table","Module","AccountProfileEditItem","Node","AccountProfileEditLoading","_ref3","_ref2","button","LocalAccount","SignUpText","LoyaltySignUp","handleMemberHeadingChange","memberHeading","_issueLoyalty","isAuthenticated","clicked","IssueLoyaltyInput","apiSettings","issueLoyalty","debug","SignIn","loyaltySignInAttributes","SignUp","loyaltySignUpAttributes","LoyaltyDetailLink","loyaltyDetailsLinkAttributes","LoyaltyTermsLink","loyaltyTermsLinkAttributes","_data$customerInforma","_this$props$context$a","signInUrl","termsUrl","loyaltyJoinUrl","origin","signInurl","completeClass","classname","hasLoyaltyAccount","CardTenderTypeValue","invalidAsyncCustomerState","app","canRenderAsyncCustomerDataAsUnmodifiable","IsAsyncCustomer","infoMessageBar","accountProcessingPendingInfoMessage","params","isEditor","signInLink","joinLoyaltyButtonText","signUpText","loyaltyProgramText","signUpButton","detailsLink","viewLoyaltyPageText","termsLink","loyaltyTermsLinkText","LoyaltyTerms","_toggle","_submit","_checkboxChecked","toggleRef","search","isJoining","qsps","qsp","splitQsp","checked","hideToggle","slots","serviceTerms","modalToggle","joinLoyaltytermsToggleText","LoyaltyTermsModal","returnRef","terms","onToggle","onSubmit","onCheck","card","redirectToLoyalty","getLoyaltyCardAsync","fullCard","update","GetLoyaltyCardInput","modalHeader","agreeSection","checkbox","agreeText","modalFooter","submitButton","cancelButton","PasswordReset","newPasswordRegex","reenterPasswordRegex","PasswordRegex","passwordReset","PasswordResetLoadingIconComponent","PasswordResetLoadingMessageComponent","passwordResetLocalAccount","newPasswordLabelText","confirmPasswordLabelText","PasswordResetErrorComponent","passwordEntryMismatchError","PasswordResetButtonComponent","PasswordResetLabelComponent","PasswordResetInputComponent","PasswordResetItem","PasswordResetLoading","handleParagraphChange","signInDisclaimer","handleSignInHeadingChange","signInHeading","handleSignUpHeadingChange","signUpHeading","emailId","SA_FIELDS","AttributeFields","errorMessages","requiredField_email","requriedEmailError","requiredField_password","requriedPasswordError","invalid_email","invalidEmailError","invalid_password","invalidPasswordError","unknown_error","unknownError","signIn","SignInLoadingIconComponent","SignInLoadingMessageComponent","signInSection","signInSectionHeading","signInLocalAccount","emailAddressAriaLabel","passwordLabelText","forgetPassword","SignInLinkComponent","forgotPasswordButtonAriaLabel","forgotPasswordButtonText","disclaimer","SignInErrorComponent","signInButton","SignInButtonComponent","loginButtonAriaLabel","loginButtonText","signInSocialAccount","socialAccounts","_renderSocialAccount","facebookButtonText","facebookButtonAriaLabel","facebookIcon","microsoftButtonText","microsoftButtonAriaLabel","microsoftIcon","signInB2BAccount","_renderB2BSocialAccount","b2bButtonText","b2bButtonAriaLabel","displayB2bAccountManagerSignin","signUpSection","signUpSectionHeading","signUpDescription","SignInDescriptionComponent","signUpDescriptionText","signUpLink","signUpButtonAriaLabel","signUpButtonText","SignInLabelComponent","SignInInputComponent","iconImage","image","_createImageMarkup","SignInTextComponent","_displayB2bAccountManagerSignin","imageProps","imageSettings","pictureClassName","shouldSkipToMainImage","SignInLoading","_ref4","SocialAccount","B2BAccount","componentClassName","buttonClassName","buttonActiveClassName","buttonInactiveClassName","OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState","OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent","msdyn365Commerce","createComponent","component","_props$resources$curr","_props$resources","_props$resources$curr2","_props$resources2","_props$resources$curr3","_props$resources3","_props$resources4","_props$resources$curr4","_props$resources5","_props$resources6","_props$resources7","_props$resources$orga","_props$resources8","_props$resources9","_props$resources$orga2","_props$resources10","_props$resources11","_props$resources12","IsB2bAdmin","selectorState","setSelectorState","currentSelectorState","onClickHandler","newSelectorState","currentUserOrderHistoryAttributes","currentUserOptionLabel","orgWideOrderHistoryAttributes","CurrentUser","currentUserOptionAriaLabel","title","OrganizationWide","organizationWideOptionAriaLabel","organizationWideOptionLabel","AccountAddressTile","accountAddressTileDescriptionForSingleAddress","accountAddressTileDescriptionForMultipleAddresses","address","addressCount","accountAddressTileDescription","AccountWishlistTile","accountWishlistTileDescription","wishlists","wishlistsCount","CommerceListLines","isEmailVerificationRequried","templateVersion","VERIFY","isGivenNameVerificationRequried","isSurnameVerificationRequried","UX_INPUT_TYPE","getValue","v1Value","v2Value","signUp","SignUpLoadingIconComponent","SignUpLoadingMessageComponent","signUpLocalAccount","emailVerification","verificationCodeLabelText","verificationControlWrapper","buttonWrapper","SignUpButtonComponent","sendCodeButtonAriaLabel","sendCodeButtonText","verifyCodeButtonAriaLabel","verifyCodeButtonText","resendCodeButtonAriaLabel","resendCodeButtonText","changeEmailButtonAriaLabel","changeEmailButtonText","successMessage","SignUpSuccessComponent","verificationCodeSendSuccess","emailAddressVerifiedSuccess","SignUpErrorComponent","retryError","retryNotAllowedError","throttledError","codeExpiredError","serverError","givenNameVerification","surnameVerification","signUpButtonArialabel","cancelButtonArialabel","cssClassName","SignUpLabelComponent","SignUpInputComponent","SignUpItem","SignUpEmailVerification","SignUpGivenNameVerificationComponent","SignUpSurnameVerificationComponent","SignUpLoading","_ref6","_ref5","BusinessFormItem","BusinessUserForm","_renderModal","BusinessUserDetails","userFullName","keys","headingSection","bodySection","footerSection","wrapClassName","autoFocus","fade","applicationNode","ModalHeader","ModalFooter","ButtonList","_getForm","formProps","NoShipmentTrackingComponent","noShipmentTrackingNodeProps","noShipmentTrackingResources","noShippingFoundText","baseClassName","AadGeneric","$i2e","$element","insertServiceContent","getElementContent","initialize","aadGeneric","aadAPIConainer","Accordion","expandAllButtonRef","collapseAllButtonRef","_onExpandAll","_onCollapseAll","headingComponent","accordionViewProps","AccordionContainer","HeaderSection","HeadingWrapper","accordianButtonsContainer","accordionButtons","_renderAccordionButton","accordionItemContainer","accordionItems","_getAccordionItem","ExpandAll","attributeExpandAll","CollapseAll","attributeCollapseAll","showToggleAll","expandAllText","ref","toggleAllSeparator","collapseAllText","accordionState","isAllExpanded","createAccordionStateInput","_this$collapseAllButt","_this$expandAllButton","interactionStyle","AccordionItem","accordionItemTitle","_onToggle","accordionExpandedStateResult","accordionExpandedState","expanded","isExpandedOnInitialLoad","AccordionItemContainer","AccordionItemContent","drawer","ControlledDrawer","toggleButtonText","collapseProps","accordionSlots","AccountCustomerBalance","requestStatementButtonRef","_this$requestStatemen","_toggleDropdown","_adminShowRequestStatementModal","_this$props$data$b2bU","_this$requestStatemen2","b2bUserInformation","_get","creditSummarySectionHeading","accountSectionHeading","backToShoppingText","customerSincePrefix","availableCreditLabel","balanceOwedLabel","creditExcessLabel","myAccountStatementLabel","accountNumber","AccountNumber","createdOn","_formatJoinDate","customerAccountBalance","excess","creditExcess","_formatCurrency","availableCredit","balanceOwed","backLink","emailAddress","actionBar","ActionBar","accountLabels","AccountLabels","accountValues","AccountValues","AvailableCreditComponent","BalanceOwedComponent","CreditExcessComponent","homeButton","BackButton","currency","Intl","DateTimeFormat","locale","AccountInvoiceTileDescription","AccountInvoiceTile","_data$customerBalance","accountInvoiceTileDescription","invoiceTotalAmount","customerBalance","OpenInvoiceBalance","ShipmentTrackingComponent","shipmentTrackingNodeProps","shipmentTrackingResources","headingText","containerIdLabel","weightLabel","shippingCarrierLabel","trackingLabel","trackthisPackageLinkText","containerId","weight","shippingCarrier","trackingNumber","trackingUrl","OrderDetailsContainerRowComponent","itemId","productUrl","quantity","netAmount","strikeAmount","salesStatus","quantityLabel","buyAgainButton","renderedImage","itemProp","FooterItem","handleTextChange","footerItemClassName","_createHeading","_createText","_createLinkText","EditableLink","_createLink","HeadingContainer","ItemContainer","Link","onTelemetryClick","ariaHiddenAttr","src","viewports","q","h","lazyload","loadFailureBehavior","InteractiveFeatureCollection","_telemetryContent","static","itemsCounter","keyIndex","indexItem","itemCounter","isMosaic","_this$props$config$cl","_title$tag","interactiveItems","interactiveFeatureItems","itemsFeatureCounter","singleSlideCarouselComponentProps","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","parentId","vertical","createHeading","interactiveFeatureCollectionHeading","interactiveFeatureCollectionContainer","interactiveFeatureCollectionDesktopContainer","interactiveFeatureCollectionMobileContainer","singleSlideCarouselItemContainer","interactiveFeatureCollectionMobileItems","interactiveFeatureCollectionDesktopItems","_getFeatureItem","SignUpButton","SignUpError","errorClassName","GetMaxLength","parsedMaxLength","SignUpInput","TextArea","SignUpLabel","htmlFor","needToReset","showErrors","addressForm","updateAddress","fieldRequiredError","fieldInvalidError","_label$replace$trim","renderFieldFeedbackMessage","fieldName","fieldPattern","invalidFieldMessage","missingFieldMessage","RegExp","test","trim","baseSignUpItem","Address","isAddressInput","updateForm","resetAddress","splice","BusinessSignUp","_this","BusinessSignUpDefaultInputs","firstNameLabel","lastNameLabel","emailAddressLabel","CompanyName","companyLabel","Department","departmentLabel","JobTitle","jobTitleLabel","Size","companySizeLabel","companyAddressLabel","Comment","commentLabel","needsToReset","hasSubmitErrors","_onAddressChange","errors","currentAddress","addressItem","addressHasErrors","showAddressErrors","currentInput","_onSubmit","preventDefault","_getItem","companyName","companyEmail","companyAddress","jobTitle","department","companySize","comments","newPartner","CompanySize","Comments","createProspectAsync","_onCancel","cleanForm","isAddress","arguments","_addedReference","businessSignUp","ContainerWrapper","businessSignUpForm","_renderForm","partialAddressErrorMessage","addressSlot","successPageURL","confirmationLink","RichTextComponent","newFormFields","BusinessSignUpItem","BusinessFormItemComponent","renderModal","BusinessUserFormComponent","BusinessUserDetailsComponent","buttonList","headingForEmptyUserOrganizationList","textForEmptyUserOrganizationList","getForm","renderAdditionalContent","additionalContent","_additionalContent$ad","additionalContentNode","additionalContentItems","additionalContentItemContainer","additionalContentItemLinks","contentBlockContainer","imageContainer","detailsContainer","contentBlockAnchorTag","imageLink","imageAriaLabel","imageClass","OrderInfomation","orderInformationProps","salesId","receiptId","createdDate","count","amount","channelName","channelAddress","SalesLine","salesLineProps","salesLine","GroupDelivery","deliveryProps","Group","groupProps","delivery","salesLinesProps","salesLines","isCashAndCarryTransaction","LineId","deliveryType","shipment","trackingInfo","showTimeslot","pickupProps","pickupDateTimeslot","Groups","groupsProps","groups","group","OrderSummary","orderSummaryProps","subtotal","shipping","tax","totalAmount","earnedPoints","Payment","_ref7","paymentMethodsProps","methods","Help","_ref8","helpProps","needHelpLabel","helpLineNumberLabel","contactNumber","_ref9","viewModes","tableViewActions","alert","orderInfomation","orderSummary","payment","help","_renderItem","product","ProductsTableRow","selectLine","productImage","productPrice","productNumber","addToBagButton","removeButton","productInfo","productUnitOfMeasure","productQuantityView","productQuantity","popUp","OrderTemplateLines","statusMessage","ProductsTable","ProductsTableHeading","orderLines","productsStatusMessage","OrderTemplateActions","orderActions","pagination","itemAddedToCartDialog","bulkOrderLineActions","isDetailsDisplayed","detailedProductView","toggleDetailsDisplayed","cancelBtnLabel","productNumberText","productText","productUnitPriceText","productUOMText","productQuantityText","toggleDetails","addTemplateToBag","renameTemplate","removeTemplate","purchaseOrderNumber","GroupedSalesLine","containerDetails","salesLineQuantityText","shippingInformationHeadingText","noShippingInformationFoundDefaultText","containerIdLabelText","WeightLabelText","shippingCarrierLabelText","trackThisPackageLinkText","trackingUrls","noShipmentInformationMessage","showNoShipmentInformation","remainingSalesLines","noShipmentTrackingProps","ShippingCarrier","ContainerId","ContainerLinesList","TrackingNumber","Weight","some","c","sl","ItemId","Quantity","trackingUrlData","shipmentTrackingProps","cl","_itemData$data$produc","_itemData$data$produc2","itemData","_sl$data$product","findIndex","_sl$data$product2","NetAmount","grossAmount","GrossAmount","orderDetailsContainerRowProps","Name","imageUrl","PrimaryImageUrl","RenderImageComponent","_sl$data$product3","_sl$data$salesLine","_sl$data$product4","_props$requestContext","_product$Name","fallbackImageUrl","getFallbackImageUrl","OmniChannelMedia","containerClassName","productName","Description","Image","altText","fallBackSrc","_containerDetails$res","perCustomerFreightPolicyText","poNumberLabelText","salesOrder","poNumber","setPoNumber","isLoading","setIsLoading","SalesId","getPoNumber","shippingLine","querySelector","_salesDetails$SalesOr","salesDetails","getSalesOrderDetailsAsync","SalesOrderDetails","PoNumber","node","console","containerResults","ContainerDetails","log","_renderAccordionItemContent","accordionItemContent","creditSummaryLabels","creditSummaryValues","FooterItemView","_renderElement","interactiveFeatureCollectionView","tileItem","SummaryForm","addPaymentButton","appliedLine","bottomBorder","paymentAmountInput","EditForm","inputLabel","inputAmount","customerName","customerAccountNumber","customerSince","accountCredit","accountDetails","checkoutCustomerAccount","checkoutErrorRef","summaryView","editView","moduleState","buildReviewCard","isUserReview","cardProps","headerProps","rating","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","wasReviewHelpfulText","like","dislike","renderProductDescription","_props$data$product$r","primaryImageSource","generateImageUrl","xl","cropFocalRegion","renderProductImage","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","sortByDropdown","userReview","isFilterApplied","review","reviewModal","inputRow","selectRatingLabel","reviewTitleLabel","titleInput","reviewTextLabel","textInput","privacyPolicyUrl","createReviewModal","createReportModal","reported","headerSubmitted","header","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","popoverReference","onSelectCustomerAccount","onSelectFullOrg","onSelectPromoteToSeller","requestStatementDropdownString","Popover","placement","onChangeFromDateEvent","onChangeToDateEvent","onBlurFromDate","ObjectExtensions","isFunction","onBlurToDate","horizontalPosition","verticalPosition","onBlur","max","min","BackToShopping","LoyaltyTermsCancel","loyaltyTermCancelAttributes","LoyaltyTermsSubmit","loyaltyTermSubmitAttributes","LoyaltyTermsAgree","loyaltyTermCheckboxAttributes","returnFocusRef","cancelLoyaltyTermsText","joinLoyaltyTermsText","loyaltyTermsHeading","loyaltyAgreeToTerms","successClassName"],"sourceRoot":""}
\r\n {selectLine}\r\n \r\n {productImage}\r\n \r\n
\r\n {productNumber}\r\n
\r\n
\r\n {quantityLabel}\r\n :\r\n {' '}\r\n {productQuantity}\r\n
\r\n
\r\n {productNumber}\r\n \r\n {productInfo}\r\n \r\n {productPrice}\r\n \r\n {productUnitOfMeasure}\r\n \r\n {productQuantityView}\r\n \r\n {popUp}\r\n \r\n {addToBagButton}\r\n {removeButton}\r\n
{selectLine}{productImage}\r\n
{productNumber}
\r\n
\r\n {quantityLabel}: {productQuantity}\r\n
\r\n
{productNumber}{productInfo}{productPrice}{productUnitOfMeasure}{productQuantityView}{popUp}\r\n {addToBagButton}\r\n {removeButton}\r\n