{"version":3,"sources":["webpack:///./src/themes/gardner-theme-b2c/views/order-details.view.tsx?ffea","webpack:///src/modules/social-share/social-share.view.tsx?76da","webpack:///./src/themes/gardner-theme/views/order-template.view.tsx?a850","webpack:///./src/themes/gardner-theme-b2c/views/content-block.view.tsx?3e51","webpack:///./src/themes/gardner-theme-b2c/views/order-confirmation.view.tsx?ff4b","webpack:///./src/themes/gardner-theme/views/components/order-details.shipment-tracking.component.tsx?1cea","webpack:///src/modules/account-invoice-tile/components/account-invoice-tile-description.tsx?0029","webpack:///src/modules/account-invoice-tile/components/account-invoice-tile-links.tsx?d307","webpack:///src/modules/account-invoice-tile/account-invoice-tile.tsx?9a78","webpack:///src/modules/adventureworks/views/reviews-list.view.tsx?ebec","webpack:///src/modules/accordion-item/accordion-item.view.tsx?b04f","webpack:///src/modules/accordion-item/accordion-item.tsx?fc54","webpack:///./src/themes/gardner-theme-b2c/views/order-template.view.tsx?56b4","webpack:///src/modules/fabrikam/views/ratings-histogram.view.tsx?96ae","webpack:///./src/themes/gardner-theme/views/order-confirmation.view.tsx?fd9b","webpack:///src/modules/accordion/accordion.view.tsx?8c70","webpack:///./src/themes/gardner-theme/views/order-details.view.tsx?dd01","webpack:///./src/themes/gardner-theme/views/content-block.view.tsx?2e10","webpack:///./src/themes/gardner-theme-b2c/views/components/search.categorysuggest.tsx?f80a","webpack:///./src/themes/gardner-theme-b2c/views/components/search.mobile.empty.tsx?4f12","webpack:///./src/themes/gardner-theme-b2c/views/components/search.form.tsx?fc01","webpack:///./src/themes/gardner-theme-b2c/views/components/search.keywordsuggest.tsx?3620","webpack:///./src/themes/gardner-theme-b2c/views/components/search.productsuggest.tsx?5486","webpack:///./src/themes/gardner-theme-b2c/views/components/search.arisuggest.tsx?5a62","webpack:///./src/themes/gardner-theme-b2c/views/search.view.tsx?3456","webpack:///./src/themes/gardner-theme/views/components/order-details.no-shipment-tracking.component.tsx?43e4","webpack:///./src/themes/gardner-theme/views/components/order-details.container-row.component.tsx?afa4","webpack:///./src/themes/gardner-theme/views/components/search.categorysuggest.tsx?89d3","webpack:///./src/themes/gardner-theme/views/components/search.mobile.empty.tsx?dd58","webpack:///./src/themes/gardner-theme/views/components/search.form.tsx?16e9","webpack:///./src/themes/gardner-theme/views/components/search.keywordsuggest.tsx?455e","webpack:///./src/themes/gardner-theme/views/components/search.productsuggest.tsx?daef","webpack:///./src/themes/gardner-theme/views/components/search.arisuggest.tsx?77c0","webpack:///./src/themes/gardner-theme/views/search.view.tsx?13f6","webpack:///src/modules/social-share/social-share.tsx?ed88","webpack:///src/modules/organization-users-tile/organization-users-tile.view.tsx?d92a","webpack:///./src/utils/getAriModelDetailUrl.ts?ac81","webpack:///src/modules/footer-item/footer-item.tsx?f8b4","webpack:///src/modules/accordion/accordion.tsx?45c1","webpack:///src/modules/account-invoice-tile/account-invoice-tile.view.tsx?4620","webpack:///./src/themes/gardner-theme-b2c/views/account-management-address.view.tsx?9fc6","webpack:///src/index.ts?c6ae","webpack:///src/modules/footer-item/footer-item.view.tsx?235e","webpack:///src/modules/organization-users-tile/components/account-organization-users-tile-description.tsx?8d2f","webpack:///src/modules/organization-users-tile/components/account-organization-users-tile-links.tsx?2a03","webpack:///src/modules/organization-users-tile/organization-users-tile.tsx?9c60"],"names":["OrderInfomation","_ref","orderInformationProps","salesId","receiptId","createdDate","count","amount","channelName","channelAddress","React","Node","Object","assign","SalesLine","_ref2","salesLineProps","salesLine","buyAgainButton","errors","GroupDelivery","_ref3","deliveryProps","heading","Group","_ref4","groupProps","delivery","address","salesLinesProps","salesLines","isCashAndCarryTransaction","className","map","key","data","LineId","deliveryType","shipment","trackingInfo","salesStatus","showTimeslot","pickupProps","pickupDateTimeslot","Groups","_ref5","groupsProps","groups","group","index","OrderSummary","_ref6","orderSummaryProps","subtotal","shipping","tax","totalAmount","earnedPoints","Payment","_ref7","paymentMethodsProps","title","methods","Help","_ref8","helpProps","needHelpLabel","helpLineNumberLabel","contactNumber","OrderDetailsView","_ref9","moduleProps","viewModes","tableViewActions","table","alert","loading","orderInfomation","orderSummary","payment","help","Module","SocialShareView","props","SocialShareList","SocialShareItemElements","SocialShareItem","SocialShare","length","context","telemetry","error","createElement","SocialShareElement","_renderItem","product","quantityLabel","ProductsTableRow","selectLine","productImage","productPrice","productNumber","addToBagButton","removeButton","productInfo","productUnitOfMeasure","productQuantityView","productQuantity","popUp","isMobile","OrderTemplateLinesView","OrderTemplateLines","status","statusMessage","ProductsTable","ProductsTableHeading","orderLines","productsStatusMessage","OrderTemplateActions","orderActions","pagination","itemAddedToCartDialog","bulkOrderLineActions","isDetailsDisplayed","detailedProductView","toggleDetailsDisplayed","resources","cancelBtnLabel","productNumberText","productText","productUnitPriceText","productUOMText","productQuantityText","toggleDetails","undefined","addTemplateToBag","renameTemplate","removeTemplate","Modal","wrapClassName","autoFocus","fade","applicationNode","isOpen","toggle","ModalHeader","ModalBody","ModalFooter","Button","onClick","renderAdditionalContent","additionalContent","_additionalContent$ad","additionalContentNode","additionalContentItems","item","additionalContentItemContainer","text","additionalContentItemLinks","links","contentBlockView","contentBlockContainer","imageContainer","detailsContainer","image","contentBlockAnchorTag","imageLink","imageAriaLabel","imageClass","src","href","OrderConfirmationOrderInfomation","receiptEmail","OrderConfirmationSalesLine","OrderConfirmationGroupDelivery","processing","OrderConfirmationGroup","shippingItemsToYou","OrderConfirmationGroups","OrderConfirmationOrderSummary","OrderConfirmationPayment","totalOnAccount","OrderConfirmationHelp","OrderConfirmationView","_props$data$orderHydr","backToShoppingLink","cultureFormatter","formatCurrency","tenderLines","orderHydration","result","salesOrder","TenderLines","tl","AmountInCompanyCurrency","reduce","num","total","console","log","ShipmentTrackingComponent","shipmentTrackingNodeProps","shipmentTrackingResources","headingText","containerIdLabel","weightLabel","shippingCarrierLabel","trackingLabel","trackthisPackageLinkText","containerId","weight","shippingCarrier","trackingNumber","trackingUrl","baseClassName","AccountInvoiceTileDescription","description","_mapEditableLinks","linkdata","telemetryContent","editableLinks","payLoad","getPayloadObject","forEach","link","contentAction","etext","linkText","attributes","getTelemetryAttributes","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","push","AccountInvoiceTileLinks","requestContext","onTextChange","Msdyn365","editProps","AccountInvoiceTile","constructor","super","handleHeadingChange","event","this","config","target","value","handleLinkTextChange","linkIndex","getTelemetryObject","request","telemetryPageName","friendlyName","render","_data$customerBalance","currencyCode","accountInvoiceTileDescription","invoiceTotalAmount","customerBalance","OpenInvoiceBalance","toFixed","format","viewProps","_objectSpread","classnames","tag","onEdit","LinksComponent","renderView","buildReviewCard","isUserReview","cardProps","headerProps","rating","date","name","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","wasReviewHelpfulText","like","dislike","edit","renderProductDescription","_props$data$product$r","primaryImageSource","PrimaryImageUrl","imageUrl","generateImageUrl","apiSettings","Image","gridSettings","imageSettings","viewports","xs","q","w","h","sm","md","lg","xl","lazyload","cropFocalRegion","renderProductImage","Name","ItemId","ReviewsListview","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","sortByDropdown","state","userReview","ArrayExtensions","hasElements","isFilterApplied","review","reviewModal","modal","modalHeader","modalBody","form","inputRow","selectRatingLabel","reviewTitleLabel","titleInput","reviewTextLabel","textInput","privacyPolicyUrl","modalFooter","submitButton","cancelButton","createReviewModal","createReportModal","reported","headerSubmitted","header","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","_renderAccordionItemContent","items","AccordionItemView","drawer","accordionSlots","AccordionItemContainer","AccordionItemContent","accordionItemContent","AccordionItem","moduleClassName","accordionItemTitle","_onToggle","bind","shouldComponentUpdate","nextProps","slots","accordionExpandedStateResult","accordionExpandedState","expanded","isAllExpanded","isExpandedOnInitialLoad","ControlledDrawer","toggleButtonText","collapseProps","onToggle","interactionStyle","accordionState","actionContext","update","createAccordionStateInput","__decorate","observer","histogramItem","buttonProps","starLabel","bar","percentage","RatingsHistogramView","histogramItems","histogramProps","_orderHydration$resul","_orderHydration$resul2","_salesOrder$SalesLine","SalesLines","so","Description","Price","Quantity","TotalAmount","accordionView","AccordionContainer","accordionItems","accordionButtons","HeaderSection","HeadingWrapper","accordianButtonsContainer","accordionItemContainer","purchaseOrderNumber","GroupedSalesLine","containerDetails","salesLineQuantityText","shippingInformationHeadingText","noShippingInformationFoundDefaultText","containerIdLabelText","WeightLabelText","shippingCarrierLabelText","trackThisPackageLinkText","trackingUrls","noShipmentInformationMessage","showNoShipmentInformation","remainingSalesLines","noShipmentTrackingProps","noShipmentTrackingNodeProps","noShipmentTrackingResources","noShippingFoundText","ShippingCarrier","ContainerId","ContainerLinesList","TrackingNumber","Weight","some","c","find","sl","trackingUrlData","url","shipmentTrackingProps","cl","_itemData$data$produc","_itemData$data$produc2","itemData","_sl$data$product","findIndex","_sl$data$product2","splice","imageProps","netAmount","NetAmount","grossAmount","GrossAmount","orderDetailsContainerRowProps","itemId","productUrl","quantity","strikeAmount","renderedImage","RenderImageComponent","OrderDetailsContainerRowComponent","_sl$data$product3","_sl$data$salesLine","_sl$data$product4","NoShipmentTrackingComponent","_props$requestContext","_product$Name","fallbackImageUrl","getFallbackImageUrl","app","OmniChannelMedia","productName","altText","fallBackSrc","loadFailureBehavior","_containerDetails$res","perCustomerFreightPolicyText","poNumberLabelText","poNumber","setPoNumber","SalesId","getPoNumber","shippingLine","document","querySelector","innerHTML","async","_salesDetails$SalesOr","salesDetails","getSalesOrderDetailsAsync","callerContext","SalesOrderDetails","PoNumber","node","containerResults","ContainerDetails","renderCategorySuggestionsTitle","inCategoriesHeading","categoryAutoSuggestionHeading","CategorySuggestionsComponent","searchText","noResultText","isLoadingAutoSuggest","isLoadingNode","autosuggestCategory","CategorySuggest","replace","UlCategory","MobileAutoSuggestEmptyComponent","noSearchResultImage","renderProductNotFoundResultsImage","emptyMobileSearchTextHeading","emptyMobileSearchText","FormComponent","searchForm","formWrapper","clearSearchButtonText","isSearchText","clearSearch","cancelBtn","input","renderClearButton","submitBtn","renderKeywordSuggestionsTitle","keywordsHeading","KeywordSuggestionsComponent","keywordSuggest","ulKeyword","keywordSuggestions","renderProductSuggestionsTitle","productSuggestionsHeading","productAutoSuggestionHeading","renderProductNotFoundResults","noResultContentHeadingText","noResultContentParagraphText","ProductSuggestionsComponent","productSuggest","ulProduct","productSuggestions","productSuggestionHeading","_item$id","LiProduct","id","AProduct","thumbnail","price","AriSuggestionsComponent","noResultsText","isLoading","searchResults","loadingNode","ariModelResultsHeading","Fragment","r","generateAriModelDetailUrl","Id","toString","BrandCode","renderTitle","searchSuggestionHeading","searchTextString","concat","searchAutoSuggestionHeading","SearchView","Search","AutoSuggestAriaLabel","AutoSuggestAriaLabelText","AutoSuggest","KeywordSuggest","ProductSuggest","UlKeyword","UlProduct","autosuggestKeyword","autosuggestProduct","SearchForm","FormWrapper","label","topResultsCount","categorySuggestionHeading","setSearchTextString","useState","isMobilePort","setIsMobile","ariSearchResults","setAriSearchResults","ariSearchLoading","setAriSearchLoading","debouncedSearchHandler","useMemo","_debounce","search","getAriSearchResults","useEffect","cancel","propsFormInput","propsFormInputCurrent","ref","current","action","isMobileViewport","useCallback","isMobileView","variant","VariantType","Browser","window","addEventListener","StringExtensions","isNullOrEmpty","queryResultSettings","Paging","Top","SearchModelsInput","SearchModelsAction","Models","cancelBtnAriaLabel","type","isSearchFormExpanded","itemProp","_appendQueryParams","route","query","qsp","MsDyn365","isBrowser","queryUrl","URL","location","searchParams","set","_generateSeeMoreUrl","searchQueryStringParameter","searchQsp","getUrlSync","socialShareItems","cookies","isConsentGiven","params","isEditor","viewprops","caption","orientation","tabIndex","OrganizationUsersTileView","OrganizationUsersTile","modelId","brandCode","indexOf","FooterItem","handleTextChange","footerItemClassName","_createHeading","_createImageMarkup","_createText","_createLinkText","EditableLink","_createLink","HeadingContainer","ItemContainer","Link","onTelemetryClick","ariaHiddenAttr","shouldSkipToMainImage","Accordion","expandAllButtonRef","collapseAllButtonRef","_onExpandAll","_onCollapseAll","isDisabled","headingComponent","accordionViewProps","_renderAccordionButton","_getAccordionItem","TelemetryConstant","ExpandAll","attributeExpandAll","CollapseAll","attributeCollapseAll","showToggleAll","disabled","expandAllText","toggleAllSeparator","collapseAllText","setState","setTimeout","_this$collapseAllButt","focus","_this$expandAllButton","AddressShow","AddressDetail","AddressList","List","isShowList","Item","showItems","isShowPrimaryButton","primaryButton","editButton","Error","isShowError","message","AddressLists","ListAddress","isShowEmptyListMessage","emptyListMessage","addButton","primaryAddressList","otherAddressList","AddressAddUpdate","AddressForm","hasError","isShowSaveButton","saveButton","isShowCancelButton","AddressItem","AddressError","AccountManagementAddressView","_props$customerAddres","AccountAddressManagement","viewState","showAddressList","showAddOrUpdateAddress","screenReaderNotification","addressId","customerAddresses","slice","AddressTypeValue","RecordId","invoiceAddress","isShowAddresList","isShowAddOrUpdateAddress","FooterItemView","_renderElement","AccountOrganizationUsersTileDescription","AccountOrganizationUsersTileLinks","accountOrganizationUsersTileDescriptionForSingleUser","accountOrganizationUsersTileDescriptionForMultipleUsers","numUsers","users","accountOrganizationUsersTileDescription","customerInformation","IsB2bAdmin"],"mappings":"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","file":"static/js/9.a098710d0a92854bac6b.chunk.js","sourcesContent":["/*--------------------------------------------------------------\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","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ISocialShareViewProps } from './social-share';\n\nexport const SocialShareView: React.FC = props => {\n const { SocialShareList, SocialShareItemElements, SocialShareItem, SocialShare } = props;\n if (SocialShareItemElements.length === 0) {\n props.context.telemetry.error('Social media list is empty, module wont render');\n return null;\n }\n return (\n \n \n {SocialShareItemElements.map((SocialShareElement: ReactNode, index: number) => {\n return (\n \n {SocialShareElement}\n \n );\n })}\n \n \n );\n};\n\nexport default SocialShareView;\n","/*--------------------------------------------------------------\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 {selectLine}\r\n \r\n \r\n {productImage}\r\n \r\n {isMobile ? \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 {!isMobile && \r\n {productInfo}\r\n }\r\n {!isMobile && \r\n {productPrice}\r\n }\r\n {!isMobile && \r\n {productUnitOfMeasure}\r\n }\r\n {!isMobile && \r\n {productQuantityView}\r\n }\r\n {isMobile && \r\n {popUp}\r\n }\r\n {!isMobile &&\r\n \r\n {addToBagButton}\r\n {removeButton}\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 { 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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IHelp, IOrderSummary, IPaymentMethods } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common';\r\nimport { IGroup, IGroupDelivery, IGroups } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-groups';\r\nimport { IOrderInformation } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-order-information';\r\nimport { ISalesLine } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-sales-line';\r\nimport { IOrderConfirmationViewProps } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/./order-confirmation';\r\n\r\ninterface IPaymentMethodsExt extends IPaymentMethods {\r\n totalOnAccount?: string;\r\n}\r\n\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate\r\n // channelReferenceId\r\n}) => (\r\n \r\n {createdDate}\r\n {/* {channelReferenceId} */}\r\n {receiptEmail}\r\n \r\n);\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton }) => (\r\n \r\n {salesLine}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo, pickupDateTimeslot }) => (\r\n \r\n {heading}\r\n {address}\r\n {pickupDateTimeslot}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {delivery && delivery.shippingItemsToYou}\r\n {salesLines && (\r\n \r\n {salesLines.map((salesLine: ISalesLine) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group: IGroup, index: number) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: 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 OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods, totalOnAccount }) => \r\n {title}\r\n {totalOnAccount ?

On Account: {totalOnAccount}

: null}\r\n {methods}\r\n
;\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\n\r\nconst OrderConfirmationView: React.FC = (props) => {\r\n const {\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n context: { cultureFormatter: { formatCurrency }}\r\n } = props;\r\n const tenderLines = props.data.orderHydration.result?.salesOrder.TenderLines;\r\n let totalOnAccount = 0;\r\n if (tenderLines) {\r\n totalOnAccount = tenderLines.map(tl => tl.AmountInCompanyCurrency || 0).reduce((num, total) => num + total, 0);\r\n }\r\n console.log(totalOnAccount);\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShoppingLink}\r\n {groups && }\r\n {payment && 0 ? formatCurrency(totalOnAccount) : undefined}\r\n />}\r\n {orderSummary && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\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}","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountInvoiceTileDescription {\n description: string;\n}\n\nexport const AccountInvoiceTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-invoice-tile.props.autogenerated';\n\nexport interface IAccountInvoiceTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountInvoiceTileLinks: React.FC = ({ links, telemetryContent, requestContext, onTextChange }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-invoice-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountInvoiceTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountInvoiceTileData } from './account-invoice-tile.data';\nimport { IAccountInvoiceTileProps } from './account-invoice-tile.props.autogenerated';\nimport { AccountInvoiceTileDescription } from './components';\nimport LinksComponent from './components/account-invoice-tile-links';\n\nexport interface IAccountInvoiceTileViewProps extends IAccountInvoiceTileProps {\n AccountInvoiceTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountInvoiceTile component.\n * @extends {React.PureComponent>}\n */\nclass AccountInvoiceTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountInvoiceTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const {\n config,\n data,\n resources,\n context: {\n cultureFormatter: {\n formatCurrency,\n\n // @ts-expect-error\n currencyCode\n }\n }\n } = this.props;\n const { className, heading, links } = config;\n const { accountInvoiceTileDescription } = resources;\n\n const openinvoiceAmount = data.customerBalance.result?.OpenInvoiceBalance || 0;\n const invoiceTotalAmount: string | undefined = formatCurrency(openinvoiceAmount.toFixed(2), currencyCode);\n\n const description = invoiceTotalAmount && format(accountInvoiceTileDescription, invoiceTotalAmount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountInvoiceTile: {\n moduleProps: this.props,\n className: classnames('ms-account-invoice-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: description && \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountInvoiceTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { 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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccordionItemViewProps } from './accordion-item';\n\nconst AccordionItemView: React.FC = props => {\n const { drawer, accordionSlots, AccordionItemContainer, AccordionItemContent } = props;\n return (\n \n \n \n {accordionSlots &&\n accordionSlots.accordionItemContent &&\n accordionSlots.accordionItemContent.length &&\n _renderAccordionItemContent(accordionSlots.accordionItemContent)}\n \n \n \n );\n};\n\nconst _renderAccordionItemContent = (items: React.ReactNode[]): JSX.Element | null => {\n return (\n <>\n {items && items.length > 0\n ? items.map((item: React.ReactNode, index: number) => {\n return {item};\n })\n : null}\n \n );\n};\nexport default AccordionItemView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { 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","/*--------------------------------------------------------------\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 {selectLine}\r\n \r\n \r\n {productImage}\r\n \r\n {isMobile ? \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 {!isMobile && \r\n {productInfo}\r\n }\r\n {!isMobile && \r\n {productPrice}\r\n }\r\n {!isMobile && \r\n {productUnitOfMeasure}\r\n }\r\n {!isMobile && \r\n {productQuantityView}\r\n }\r\n {isMobile && \r\n {popUp}\r\n }\r\n {!isMobile &&\r\n \r\n {addToBagButton}\r\n {removeButton}\r\n }\r\n
\r\n );\r\n};\r\n\r\nexport default OrderTemplateLinesView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IHistogramItemViewProps, IRatingsHistogramViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst RatingsHistogramView: React.FC = props => {\n const { heading, histogramItems, histogramProps, moduleProps } = props;\n return (\n \n {heading}\n \n {histogramItems.map(item => {\n return histogramItem(item);\n })}\n \n \n );\n};\n\nconst histogramItem = (props: IHistogramItemViewProps) => {\n return (\n \n {props.starLabel}\n {props.bar}\n {props.percentage}\n \n );\n};\n\nexport default RatingsHistogramView;\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 { IHelp, IOrderSummary, IPaymentMethods } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common';\r\nimport { IGroup, IGroupDelivery, IGroups } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-groups';\r\nimport { IOrderInformation } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-order-information';\r\nimport { ISalesLine } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-sales-line';\r\nimport { IOrderConfirmationViewProps } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/./order-confirmation';\r\nimport { SalesOrder } from \"@msdyn365-commerce/retail-proxy\";\r\n\r\ninterface IPaymentMethodsExt extends IPaymentMethods {\r\n totalOnAccount?: string;\r\n}\r\n\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps\r\n // receiptEmail,\r\n // createdDate\r\n // channelReferenceId\r\n}) => (\r\n \r\n {/* {createdDate} */}\r\n {/* {channelReferenceId} */}\r\n {/* {receiptEmail} */}\r\n \r\n);\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton }) => (\r\n \r\n {salesLine}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo, pickupDateTimeslot }) => (\r\n \r\n {heading}\r\n {address}\r\n {pickupDateTimeslot}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {delivery && delivery.shippingItemsToYou}\r\n {salesLines && (\r\n \r\n {salesLines.map((salesLine: ISalesLine) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group: IGroup, index: number) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: 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 OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods, totalOnAccount }) => \r\n {title}\r\n {totalOnAccount ?

On Account: {totalOnAccount}

: null}\r\n {methods}\r\n
;\r\n\r\nexport const OrderConfirmationHelp: 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 _renderOrderTable = (salesOrder: SalesOrder) => {\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {salesOrder.SalesLines?.map(so => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Item IdDescriptionPriceQuantityTotal
{so.ItemId}{so.Description}{so.Price}{so.Quantity}{so.TotalAmount}
\r\n )\r\n}\r\n\r\n\r\nconst OrderConfirmationView: React.FC = (props) => {\r\n const {\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n data: { orderHydration },\r\n context: { cultureFormatter: { formatCurrency }}\r\n } = props;\r\n const tenderLines = props.data.orderHydration.result?.salesOrder.TenderLines;\r\n let totalOnAccount = 0;\r\n if (tenderLines) {\r\n totalOnAccount = tenderLines.map(tl => tl.AmountInCompanyCurrency || 0).reduce((num, total) => num + total, 0);\r\n }\r\n\r\n\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {orderHydration?.result?.salesOrder && _renderOrderTable(orderHydration?.result?.salesOrder)}\r\n {backToShoppingLink}\r\n {groups && }\r\n {payment && 0 ? formatCurrency(totalOnAccount) : undefined}\r\n />}\r\n {orderSummary && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\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 { 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","/*--------------------------------------------------------------\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 { IOrderDetailsProps, IOrderDetailsResources, IOrderDetailsConfig } 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 { IShipmentTrackingProps, IShipmentTrackingResources, ShipmentTrackingComponent } from './components/order-details.shipment-tracking.component'\r\nimport { INoShipmentTrackingProps, INoShipmentTrackingResources, NoShipmentTrackingComponent } 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\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 = ({ containerDetails, salesLines, resources, request, actionContext, cultureFormatter, config }) => {\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 {\r\n (containerDetails && containerDetails.map(({ ShippingCarrier, ContainerId, ContainerLinesList, TrackingNumber, Weight }) => {\r\n const foundItem = ContainerLinesList?.some(c => salesLines.find(sl => sl.data.salesLine.ItemId === c.ItemId && sl.data.salesLine.Quantity === c.Quantity));\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 {\r\n ContainerLinesList && 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(sl => sl.data.product?.ItemId === cl.ItemId && sl.data.salesLine.Quantity === cl.Quantity);\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 {\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
\r\n {showNoShipmentInformation &&\r\n \r\n }\r\n
\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 = ({ 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> = (props) => {\r\n const {\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 config,\r\n data: { containerDetails },\r\n resources: { perCustomerFreightPolicyText, poNumberLabelText },\r\n context: { actionContext },\r\n salesOrder\r\n} = props;\r\n const [poNumber, setPoNumber] = React.useState(null);\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('.ms-order-details__order-summary-line-shipping .msc-price__actual');\r\n if (shippingLine) {\r\n shippingLine.innerHTML = perCustomerFreightPolicyText;\r\n }\r\n }, []);\r\n\r\n const getPoNumber = async (salesId: string) => {\r\n const salesDetails = await getSalesOrderDetailsAsync({ callerContext: actionContext }, [salesId])\r\n if (salesDetails?.SalesOrderDetails?.length && salesDetails?.SalesOrderDetails[0].PoNumber) {\r\n const node = {poNumberLabelText}{salesDetails?.SalesOrderDetails[0].PoNumber}\r\n setPoNumber(node);\r\n }\r\n }\r\n\r\n const containerResults = containerDetails.result?.ContainerDetails || [];\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 { 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 { ISearchData, ISearchViewProps } from '@msdyn365-commerce-modules/search';\r\nimport { Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\r\n\r\n/**\r\n * Render Categories heading.\r\n * @param inCategoriesHeading - The Keywords result heading.\r\n * @returns The JSX Element.\r\n */\r\nconst renderCategorySuggestionsTitle = (inCategoriesHeading: string): JSX.Element => {\r\n const categoryAutoSuggestionHeading = inCategoriesHeading ? inCategoriesHeading : 'In categories';\r\n\r\n return (\r\n
\r\n {categoryAutoSuggestionHeading}\r\n
\r\n );\r\n};\r\n\r\n/**\r\n * Render Categories suggestion result.\r\n * @param searchText search text\r\n * @param inCategoriesHeading - The Categories result heading.\r\n * @param noResultText - The \"No Result\" text.\r\n * @param props - The Categories suggestion result.\r\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\r\n * @param isLoadingNode - The autosuggestion loading node.\r\n * @returns The JSX Element.\r\n */\r\nexport const CategorySuggestionsComponent = (\r\n searchText: string | undefined,\r\n inCategoriesHeading: string,\r\n noResultText: string,\r\n props: ISearchViewProps & ISearchProps,\r\n isLoadingAutoSuggest?: boolean,\r\n isLoadingNode?: React.ReactNode\r\n): JSX.Element => {\r\n return props.autosuggestCategory ? (\r\n \r\n {renderCategorySuggestionsTitle(inCategoriesHeading.replace('{0}', searchText || ''))}\r\n \r\n {isLoadingAutoSuggest && isLoadingNode}\r\n {!isLoadingAutoSuggest && props.autosuggestCategory.text.map(text => {\r\n return text;\r\n })}\r\n \r\n \r\n ) : (\r\n \r\n {renderCategorySuggestionsTitle(inCategoriesHeading.replace('{0}', searchText || ''))}\r\n \r\n
  • \r\n {noResultText}\r\n
  • \r\n
    \r\n
    \r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IImageData, Image } from '@msdyn365-commerce/core';\r\nimport { ISearchData } from '@msdyn365-commerce-modules/search';\r\nimport { Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\r\n\r\n/**\r\n * Render Products Suggestion result heading.\r\n * @param props -The props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\r\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\r\n if (!noSearchResultImage || !noSearchResultImage.src) {\r\n return null;\r\n }\r\n const imageSettings = {\r\n lazyload: true,\r\n viewports: {\r\n xs: { w: 100, h: 100, q: 'w=100&h=100&q=60&m=6' }\r\n }\r\n };\r\n return (\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Product suggestion result.\r\n * @param props -The props.\r\n * @returns The JSX Element.\r\n */\r\nexport const MobileAutoSuggestEmptyComponent = (\r\n props: ISearchProps\r\n): JSX.Element => {\r\n return (\r\n \r\n
    \r\n {renderProductNotFoundResultsImage(props)}\r\n
    \r\n
    \r\n
    \r\n {props.resources.emptyMobileSearchTextHeading}\r\n
    \r\n
    \r\n {props.resources.emptyMobileSearchText}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { ISearchData, ISearchFormViewProps } from '@msdyn365-commerce-modules/search';\r\nimport { Button, INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\r\nimport { MobileAutoSuggestEmptyComponent } from './search.mobile.empty';\r\n\r\n/**\r\n * Render Clear button for mobile viewport.\r\n * @param clearSearchButtonText -The Clear button text.\r\n * @param clearSearch -Clear Search callback.\r\n * @returns -The JSX Element.\r\n */\r\nconst renderClearButton = (clearSearchButtonText: string, clearSearch: () => void): JSX.Element => {\r\n return (\r\n \r\n {clearSearchButtonText || 'Clear'}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Search form.\r\n * @param form -Form view props.\r\n * @param searchForm -Search Form props.\r\n * @param formWrapper -Form Wrapper props.\r\n * @param isMobile -Is mobile viewport flag.\r\n * @param clearSearchButtonText -The Clear button text.\r\n * @param props -The props for resource.\r\n * @param isSearchText -Is SearchText flag for input text.\r\n * @param clearSearch -Clear Search callback.\r\n * @returns -The JSX Element.\r\n */\r\nexport const FormComponent = (\r\n form: ISearchFormViewProps,\r\n searchForm: INodeProps,\r\n formWrapper: INodeProps,\r\n isMobile: boolean,\r\n clearSearchButtonText: string,\r\n props: ISearchProps,\r\n isSearchText: boolean,\r\n clearSearch: () => void): JSX.Element => {\r\n\r\n // const cancelButtonNode = (\r\n // \r\n // );\r\n\r\n return (\r\n isMobile ? (\r\n \r\n {form.cancelBtn}\r\n \r\n {form.input}\r\n {isSearchText && renderClearButton(clearSearchButtonText, clearSearch)}\r\n {!isSearchText ? MobileAutoSuggestEmptyComponent(props) : null}\r\n \r\n \r\n ) : (\r\n \r\n \r\n {form.input}\r\n {form.submitBtn}\r\n {/*{isSearchText && cancelButtonNode}*/}\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { ISearchKeywordViewProps } from '@msdyn365-commerce-modules/search';\r\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\n/**\r\n * Render keywords heading.\r\n * @param keywordsHeading -The Keywords result heading.\r\n * @returns The JSX Element.\r\n */\r\nconst renderKeywordSuggestionsTitle = (keywordsHeading: string): JSX.Element => {\r\n const categoryAutoSuggestionHeading = keywordsHeading ? keywordsHeading : 'Keywords';\r\n\r\n return (\r\n
    \r\n {categoryAutoSuggestionHeading}\r\n
    \r\n );\r\n};\r\n\r\n/**\r\n * Render keywords reults.\r\n * @param keywordSuggest -The Keywords suggest Node props.\r\n * @param ulKeyword -The List Node props.\r\n * @param keywordsHeading -The Keywords result heading.\r\n * @param noResultText -The \"No Result\" text.\r\n * @param keywordSuggestions -The Keywords suggestion result.\r\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\r\n * @param isLoadingNode - The autosuggestion loading node.\r\n * @returns -The JSX Element.\r\n */\r\nexport const KeywordSuggestionsComponent = (\r\n keywordSuggest: INodeProps,\r\n ulKeyword: INodeProps,\r\n keywordsHeading: string,\r\n noResultText: string,\r\n keywordSuggestions?: ISearchKeywordViewProps,\r\n isLoadingAutoSuggest?: boolean,\r\n isLoadingNode?: React.ReactNode\r\n): JSX.Element => {\r\n return (\r\n keywordSuggestions ? (\r\n \r\n {renderKeywordSuggestionsTitle(keywordsHeading)}\r\n \r\n {isLoadingAutoSuggest && isLoadingNode}\r\n {!isLoadingAutoSuggest && keywordSuggestions.text.map(text => {\r\n return text;\r\n })}\r\n \r\n \r\n ) : (\r\n \r\n {renderKeywordSuggestionsTitle(keywordsHeading)}\r\n \r\n
  • \r\n {noResultText}\r\n
  • \r\n
    \r\n
    \r\n )\r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IImageData, Image } from '@msdyn365-commerce/core';\r\nimport { ISearchData, ISearchProductViewProps } from '@msdyn365-commerce-modules/search';\r\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\r\n\r\n/**\r\n * Render Products Suggestion result heading.\r\n * @param productSuggestionsHeading -The products suggestion result heading.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProductSuggestionsTitle = (productSuggestionsHeading: string): JSX.Element => {\r\n const productAutoSuggestionHeading = productSuggestionsHeading ? productSuggestionsHeading : 'Products';\r\n\r\n return (\r\n
    \r\n {productAutoSuggestionHeading}\r\n
    \r\n );\r\n};\r\n\r\n/**\r\n * Render Products Suggestion result heading.\r\n * @param props -The props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\r\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\r\n if (!noSearchResultImage || !noSearchResultImage.src) {\r\n return null;\r\n }\r\n return (\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Products No result section.\r\n * @param props -The props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProductNotFoundResults = (props: ISearchProps): JSX.Element => {\r\n return (\r\n \r\n
    \r\n {renderProductNotFoundResultsImage(props)}\r\n
    \r\n
    \r\n {props.resources.noResultContentHeadingText}\r\n
    \r\n
    \r\n {props.resources.noResultContentParagraphText}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\n/**\r\n * Render Product suggestion result.\r\n * @param productSuggest -The product suggest Node props.\r\n * @param ulProduct -The List Node props.\r\n * @param props -The props.\r\n * @param productSuggestions -The Product suggestion result.\r\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\r\n * @param isLoadingNode - The autosuggestion loading node.\r\n * @returns The JSX Element.\r\n */\r\nexport const ProductSuggestionsComponent = (\r\n productSuggest: INodeProps,\r\n ulProduct: INodeProps,\r\n props: ISearchProps,\r\n productSuggestions?: ISearchProductViewProps,\r\n isLoadingAutoSuggest?: boolean,\r\n isLoadingNode?: React.ReactNode\r\n): JSX.Element => {\r\n const liProduct: INodeProps = {\r\n tag: 'li',\r\n className: 'msc-no-result-content'\r\n };\r\n return productSuggestions ? (\r\n \r\n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\r\n \r\n {isLoadingAutoSuggest && isLoadingNode}\r\n {!isLoadingAutoSuggest && productSuggestions.items.map((item, index) => {\r\n return (\r\n \r\n \r\n {item.thumbnail}\r\n {item.text}\r\n {item.price}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n ) : (\r\n \r\n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\r\n \r\n \r\n {renderProductNotFoundResults(props)}\r\n \r\n \r\n \r\n );\r\n};\r\n","import { ISearchData, ISearchViewProps } from '@msdyn365-commerce-modules/search';\r\nimport { Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\r\nimport { IAriServiceModelExtension } from \"../../../../actions/DataServiceEntities.g\";\r\nimport generateAriModelDetailUrl from \"../../../../utils/getAriModelDetailUrl\";\r\n\r\nconst renderAriSuggestionsTitle = (heading: string): JSX.Element =>\r\n (\r\n
    \r\n {heading}\r\n
    \r\n )\r\n\r\n\r\nexport const AriSuggestionsComponent = (\r\n noResultsText: string,\r\n props: ISearchViewProps & ISearchProps,\r\n isLoading: boolean,\r\n searchResults: IAriServiceModelExtension[],\r\n loadingNode: React.ReactNode\r\n): JSX.Element => {\r\n const { resources: { ariModelResultsHeading }, UlCategory } = props;\r\n return (\r\n
    \r\n {renderAriSuggestionsTitle(ariModelResultsHeading)}\r\n \r\n {isLoading? (\r\n loadingNode\r\n ) : (\r\n searchResults?.length ? (\r\n <>\r\n {searchResults.map(r => (
  • \r\n \r\n {r.Name}\r\n \r\n
  • ))}\r\n \r\n\r\n ) : (
  • \r\n {noResultsText}\r\n
  • )\r\n )}\r\n\r\n
    \r\n
    \r\n )\r\n}\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { ISearchData, ISearchFormViewProps, ISearchViewProps } from '@msdyn365-commerce-modules/search';\r\nimport { Button, format, isMobile, Module, Node, VariantType } from '@msdyn365-commerce-modules/utilities';\r\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\r\n\r\nimport { ISearchProps } from '../definition-extensions/search.ext.props.autogenerated';\r\nimport { CategorySuggestionsComponent } from './components/search.categorysuggest';\r\nimport { FormComponent } from './components/search.form';\r\nimport { KeywordSuggestionsComponent } from './components/search.keywordsuggest';\r\nimport { ProductSuggestionsComponent } from './components/search.productsuggest';\r\nimport SearchModelsAction, { SearchModelsInput } from \"../../../actions/search-models.action\";\r\nimport { QueryResultSettings } from \"@msdyn365-commerce/retail-proxy\";\r\nimport { IAriServiceModelExtension } from \"../../../actions/DataServiceEntities.g\";\r\nimport * as _ from 'lodash';\r\nimport { AriSuggestionsComponent } from \"./components/search.arisuggest\";\r\n// import MsDyn365, { getUrlSync } from \"@msdyn365-commerce/core\";\r\n/**\r\n * Render Title for AutoSuggest.\r\n * @param searchSuggestionHeading -The heading resource string.\r\n * @param searchText -The search string.\r\n * @returns -The JSX Element.\r\n */\r\nconst renderTitle = (searchSuggestionHeading: string, searchText: string): JSX.Element => {\r\n const searchTextString = '\"'.concat(searchText.concat('\"'));\r\n const searchAutoSuggestionHeading = searchSuggestionHeading ? format(searchSuggestionHeading, searchTextString) : `Search for ${searchTextString}`;\r\n\r\n return (\r\n \r\n {searchAutoSuggestionHeading}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Search View.\r\n * @param props - The view props.\r\n * @returns The JSX Element.\r\n */\r\nconst SearchView: React.FC> = (props: ISearchViewProps & ISearchProps): JSX.Element => {\r\n const {\r\n Search,\r\n AutoSuggestAriaLabel,\r\n AutoSuggestAriaLabelText,\r\n searchText,\r\n AutoSuggest,\r\n KeywordSuggest,\r\n ProductSuggest,\r\n UlKeyword,\r\n UlProduct,\r\n form,\r\n autosuggestKeyword,\r\n autosuggestProduct,\r\n SearchForm,\r\n FormWrapper,\r\n label,\r\n context,\r\n isLoadingAutoSuggest,\r\n isLoadingNode,\r\n context: {\r\n request: {\r\n apiSettings\r\n },\r\n actionContext\r\n },\r\n config: {\r\n topResultsCount\r\n }\r\n } = props;\r\n\r\n const { searchSuggestionHeading, categorySuggestionHeading, keywordsHeading, noResultText, clearSearchButtonText } = props.resources;\r\n\r\n const [searchTextString, setSearchTextString] = useState();\r\n const [isMobilePort, setIsMobile] = useState(false);\r\n const [ ariSearchResults, setAriSearchResults ] = useState< IAriServiceModelExtension[]>([]);\r\n const [ ariSearchLoading , setAriSearchLoading ] = useState(false);\r\n\r\n const debouncedSearchHandler = useMemo(() =>\r\n _.debounce((search: string) => getAriSearchResults(search), 500),\r\n []\r\n )\r\n\r\n useEffect(() => {\r\n setSearchTextString(searchText);\r\n if (searchText.length > 0)\r\n debouncedSearchHandler(searchText);\r\n }, [searchText]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n debouncedSearchHandler.cancel();\r\n }\r\n }, [debouncedSearchHandler])\r\n\r\n /**\r\n * ClearSearch callback method to clear search string.\r\n */\r\n const clearSearch = (): void => {\r\n setSearchTextString('');\r\n\r\n const propsForm = props.form as ISearchFormViewProps;\r\n const propsFormInput = propsForm.input as React.DetailedHTMLProps, HTMLInputElement>;\r\n const propsFormInputCurrent = (propsFormInput.ref as React.RefObject).current;\r\n\r\n if (propsFormInputCurrent) {\r\n propsFormInputCurrent.value = '';\r\n }\r\n\r\n propsFormInput.value = '';\r\n props.searchText = '';\r\n props.FormWrapper.action = '';\r\n };\r\n\r\n const isMobileViewport = useCallback(() => {\r\n const isMobileView = isMobile({ variant: VariantType.Browser, context: context.request }) === 'xs';\r\n setIsMobile(isMobileView);\r\n }, [context]);\r\n\r\n useEffect(() => {\r\n window.addEventListener('resize', isMobileViewport);\r\n isMobileViewport();\r\n }, [isMobileViewport]);\r\n\r\n const viewport = isMobile({ variant: VariantType.Browser, context: context.request });\r\n\r\n const isMobileView = (viewport === 'xs');\r\n\r\n AutoSuggest.className = !StringExtensions.isNullOrEmpty(searchTextString) ? `${AutoSuggest.className} show` : `${AutoSuggest.className} hide`;\r\n const isSearchText: boolean = !StringExtensions.isNullOrEmpty(searchTextString);\r\n\r\n const getAriSearchResults = async (search: string) => {\r\n setAriSearchLoading(true);\r\n const queryResultSettings: QueryResultSettings = {\r\n Paging: {\r\n Top: topResultsCount || 5\r\n }\r\n }\r\n const input = new SearchModelsInput(search,\r\n queryResultSettings,\r\n 'Search',\r\n apiSettings);\r\n\r\n const data = await SearchModelsAction(input, actionContext);\r\n setAriSearchResults(data.ariSearchResults.Models || []);\r\n setAriSearchLoading(false);\r\n }\r\n\r\n // const _generateSeeMoreUrl = (): string => {\r\n // const {\r\n // context: {\r\n // actionContext,\r\n // app: {\r\n // config: { searchQueryStringParameter }\r\n // }\r\n // }\r\n // } = props;\r\n\r\n // const query = props.searchText;\r\n // const searchQsp = searchQueryStringParameter || 'q';\r\n // const searchURL = _appendQueryParams(getUrlSync('search', actionContext) || '', query, searchQsp);\r\n // return searchURL;\r\n // };\r\n\r\n // const _appendQueryParams = (route: string, query: string, qsp: string): string => {\r\n // if (!MsDyn365.isBrowser) {\r\n // return '';\r\n // }\r\n // const queryUrl = new URL(route, window.location.href);\r\n // if (qsp && query) {\r\n // queryUrl.searchParams.set(qsp, query);\r\n // }\r\n\r\n // return queryUrl.href;\r\n // };\r\n\r\n\r\n\r\n return (\r\n \r\n {label}\r\n {FormComponent(form as ISearchFormViewProps, SearchForm, FormWrapper, isMobilePort, clearSearchButtonText, props, isSearchText, clearSearch)}\r\n { !isMobileView && \r\n {!StringExtensions.isNullOrEmpty(searchTextString) ? \r\n {AutoSuggestAriaLabelText}\r\n : ''}\r\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\r\n <>\r\n \r\n \r\n {renderTitle(searchSuggestionHeading, searchText)}\r\n \r\n \r\n \r\n {ProductSuggestionsComponent(ProductSuggest, UlProduct, props, autosuggestProduct,\r\n isLoadingAutoSuggest, isLoadingNode)}\r\n\r\n {CategorySuggestionsComponent(searchTextString, categorySuggestionHeading, noResultText,\r\n props, isLoadingAutoSuggest, isLoadingNode)}\r\n {AriSuggestionsComponent(noResultText, props, ariSearchLoading, ariSearchResults, isLoadingNode)}\r\n {KeywordSuggestionsComponent(KeywordSuggest, UlKeyword, keywordsHeading, noResultText, autosuggestKeyword,\r\n isLoadingAutoSuggest, isLoadingNode)}\r\n \r\n \r\n {/* See More */}\r\n \r\n ) : null}\r\n }\r\n { isMobileView && props.isSearchFormExpanded && \r\n {!StringExtensions.isNullOrEmpty(searchTextString) ? \r\n {AutoSuggestAriaLabelText}\r\n : ''}\r\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\r\n <>\r\n \r\n {(form as ISearchFormViewProps).cancelBtn}\r\n {renderTitle(searchSuggestionHeading, searchText)}\r\n \r\n \r\n \r\n {CategorySuggestionsComponent(searchTextString, categorySuggestionHeading, noResultText,\r\n props, isLoadingAutoSuggest, isLoadingNode)}\r\n {AriSuggestionsComponent(noResultText, props, ariSearchLoading, ariSearchResults, isLoadingNode)}\r\n {KeywordSuggestionsComponent(KeywordSuggest, UlKeyword, keywordsHeading, noResultText, autosuggestKeyword,\r\n isLoadingAutoSuggest, isLoadingNode)}\r\n \r\n {ProductSuggestionsComponent(ProductSuggest, UlProduct, props, autosuggestProduct,\r\n isLoadingAutoSuggest, isLoadingNode)}\r\n \r\n \r\n ) : null}\r\n }\r\n \r\n );\r\n};\r\nexport default SearchView;","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}","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","/*--------------------------------------------------------------\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 { ISearchData, ISearchViewProps } from '@msdyn365-commerce-modules/search';\r\nimport { Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\r\n\r\n/**\r\n * Render Categories heading.\r\n * @param inCategoriesHeading - The Keywords result heading.\r\n * @returns The JSX Element.\r\n */\r\nconst renderCategorySuggestionsTitle = (inCategoriesHeading: string): JSX.Element => {\r\n const categoryAutoSuggestionHeading = inCategoriesHeading ? inCategoriesHeading : 'In categories';\r\n\r\n return (\r\n
    \r\n {categoryAutoSuggestionHeading}\r\n
    \r\n );\r\n};\r\n\r\n/**\r\n * Render Categories suggestion result.\r\n * @param searchText search text\r\n * @param inCategoriesHeading - The Categories result heading.\r\n * @param noResultText - The \"No Result\" text.\r\n * @param props - The Categories suggestion result.\r\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\r\n * @param isLoadingNode - The autosuggestion loading node.\r\n * @returns The JSX Element.\r\n */\r\nexport const CategorySuggestionsComponent = (\r\n searchText: string | undefined,\r\n inCategoriesHeading: string,\r\n noResultText: string,\r\n props: ISearchViewProps & ISearchProps,\r\n isLoadingAutoSuggest?: boolean,\r\n isLoadingNode?: React.ReactNode\r\n): JSX.Element => {\r\n return props.autosuggestCategory ? (\r\n \r\n {renderCategorySuggestionsTitle(inCategoriesHeading.replace('{0}', searchText || ''))}\r\n \r\n {isLoadingAutoSuggest && isLoadingNode}\r\n {!isLoadingAutoSuggest && props.autosuggestCategory.text.map(text => {\r\n return text;\r\n })}\r\n \r\n \r\n ) : (\r\n \r\n {renderCategorySuggestionsTitle(inCategoriesHeading.replace('{0}', searchText || ''))}\r\n \r\n
  • \r\n {noResultText}\r\n
  • \r\n
    \r\n
    \r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IImageData, Image } from '@msdyn365-commerce/core';\r\nimport { ISearchData } from '@msdyn365-commerce-modules/search';\r\nimport { Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\r\n\r\n/**\r\n * Render Products Suggestion result heading.\r\n * @param props -The props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\r\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\r\n if (!noSearchResultImage || !noSearchResultImage.src) {\r\n return null;\r\n }\r\n const imageSettings = {\r\n lazyload: true,\r\n viewports: {\r\n xs: { w: 100, h: 100, q: 'w=100&h=100&q=60&m=6' }\r\n }\r\n };\r\n return (\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Product suggestion result.\r\n * @param props -The props.\r\n * @returns The JSX Element.\r\n */\r\nexport const MobileAutoSuggestEmptyComponent = (\r\n props: ISearchProps\r\n): JSX.Element => {\r\n return (\r\n \r\n
    \r\n {renderProductNotFoundResultsImage(props)}\r\n
    \r\n
    \r\n
    \r\n {props.resources.emptyMobileSearchTextHeading}\r\n
    \r\n
    \r\n {props.resources.emptyMobileSearchText}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { ISearchData, ISearchFormViewProps } from '@msdyn365-commerce-modules/search';\r\nimport { Button, INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\r\nimport { MobileAutoSuggestEmptyComponent } from './search.mobile.empty';\r\n\r\n/**\r\n * Render Clear button for mobile viewport.\r\n * @param clearSearchButtonText -The Clear button text.\r\n * @param clearSearch -Clear Search callback.\r\n * @returns -The JSX Element.\r\n */\r\nconst renderClearButton = (clearSearchButtonText: string, clearSearch: () => void): JSX.Element => {\r\n return (\r\n \r\n {clearSearchButtonText || 'Clear'}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Search form.\r\n * @param form -Form view props.\r\n * @param searchForm -Search Form props.\r\n * @param formWrapper -Form Wrapper props.\r\n * @param isMobile -Is mobile viewport flag.\r\n * @param clearSearchButtonText -The Clear button text.\r\n * @param props -The props for resource.\r\n * @param isSearchText -Is SearchText flag for input text.\r\n * @param clearSearch -Clear Search callback.\r\n * @returns -The JSX Element.\r\n */\r\nexport const FormComponent = (\r\n form: ISearchFormViewProps,\r\n searchForm: INodeProps,\r\n formWrapper: INodeProps,\r\n isMobile: boolean,\r\n clearSearchButtonText: string,\r\n props: ISearchProps,\r\n isSearchText: boolean,\r\n clearSearch: () => void): JSX.Element => {\r\n\r\n // const cancelButtonNode = (\r\n // \r\n // );\r\n\r\n return (\r\n isMobile ? (\r\n \r\n {form.cancelBtn}\r\n \r\n {form.input}\r\n {isSearchText && renderClearButton(clearSearchButtonText, clearSearch)}\r\n {!isSearchText ? MobileAutoSuggestEmptyComponent(props) : null}\r\n \r\n \r\n ) : (\r\n \r\n \r\n {form.input}\r\n {form.submitBtn}\r\n {/*{isSearchText && cancelButtonNode}*/}\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { ISearchKeywordViewProps } from '@msdyn365-commerce-modules/search';\r\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\n/**\r\n * Render keywords heading.\r\n * @param keywordsHeading -The Keywords result heading.\r\n * @returns The JSX Element.\r\n */\r\nconst renderKeywordSuggestionsTitle = (keywordsHeading: string): JSX.Element => {\r\n const categoryAutoSuggestionHeading = keywordsHeading ? keywordsHeading : 'Keywords';\r\n\r\n return (\r\n
    \r\n {categoryAutoSuggestionHeading}\r\n
    \r\n );\r\n};\r\n\r\n/**\r\n * Render keywords reults.\r\n * @param keywordSuggest -The Keywords suggest Node props.\r\n * @param ulKeyword -The List Node props.\r\n * @param keywordsHeading -The Keywords result heading.\r\n * @param noResultText -The \"No Result\" text.\r\n * @param keywordSuggestions -The Keywords suggestion result.\r\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\r\n * @param isLoadingNode - The autosuggestion loading node.\r\n * @returns -The JSX Element.\r\n */\r\nexport const KeywordSuggestionsComponent = (\r\n keywordSuggest: INodeProps,\r\n ulKeyword: INodeProps,\r\n keywordsHeading: string,\r\n noResultText: string,\r\n keywordSuggestions?: ISearchKeywordViewProps,\r\n isLoadingAutoSuggest?: boolean,\r\n isLoadingNode?: React.ReactNode\r\n): JSX.Element => {\r\n return (\r\n keywordSuggestions ? (\r\n \r\n {renderKeywordSuggestionsTitle(keywordsHeading)}\r\n \r\n {isLoadingAutoSuggest && isLoadingNode}\r\n {!isLoadingAutoSuggest && keywordSuggestions.text.map(text => {\r\n return text;\r\n })}\r\n \r\n \r\n ) : (\r\n \r\n {renderKeywordSuggestionsTitle(keywordsHeading)}\r\n \r\n
  • \r\n {noResultText}\r\n
  • \r\n
    \r\n
    \r\n )\r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IImageData, Image } from '@msdyn365-commerce/core';\r\nimport { ISearchData, ISearchProductViewProps } from '@msdyn365-commerce-modules/search';\r\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\r\n\r\n/**\r\n * Render Products Suggestion result heading.\r\n * @param productSuggestionsHeading -The products suggestion result heading.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProductSuggestionsTitle = (productSuggestionsHeading: string): JSX.Element => {\r\n const productAutoSuggestionHeading = productSuggestionsHeading ? productSuggestionsHeading : 'Products';\r\n\r\n return (\r\n
    \r\n {productAutoSuggestionHeading}\r\n
    \r\n );\r\n};\r\n\r\n/**\r\n * Render Products Suggestion result heading.\r\n * @param props -The props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\r\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\r\n if (!noSearchResultImage || !noSearchResultImage.src) {\r\n return null;\r\n }\r\n return (\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Products No result section.\r\n * @param props -The props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProductNotFoundResults = (props: ISearchProps): JSX.Element => {\r\n return (\r\n \r\n
    \r\n {renderProductNotFoundResultsImage(props)}\r\n
    \r\n
    \r\n {props.resources.noResultContentHeadingText}\r\n
    \r\n
    \r\n {props.resources.noResultContentParagraphText}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\n/**\r\n * Render Product suggestion result.\r\n * @param productSuggest -The product suggest Node props.\r\n * @param ulProduct -The List Node props.\r\n * @param props -The props.\r\n * @param productSuggestions -The Product suggestion result.\r\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\r\n * @param isLoadingNode - The autosuggestion loading node.\r\n * @returns The JSX Element.\r\n */\r\nexport const ProductSuggestionsComponent = (\r\n productSuggest: INodeProps,\r\n ulProduct: INodeProps,\r\n props: ISearchProps,\r\n productSuggestions?: ISearchProductViewProps,\r\n isLoadingAutoSuggest?: boolean,\r\n isLoadingNode?: React.ReactNode\r\n): JSX.Element => {\r\n const liProduct: INodeProps = {\r\n tag: 'li',\r\n className: 'msc-no-result-content'\r\n };\r\n return productSuggestions ? (\r\n \r\n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\r\n \r\n {isLoadingAutoSuggest && isLoadingNode}\r\n {!isLoadingAutoSuggest && productSuggestions.items.map((item, index) => {\r\n return (\r\n \r\n \r\n {item.thumbnail}\r\n {item.text}\r\n {item.price}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n ) : (\r\n \r\n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\r\n \r\n \r\n {renderProductNotFoundResults(props)}\r\n \r\n \r\n \r\n );\r\n};\r\n","import { ISearchData, ISearchViewProps } from '@msdyn365-commerce-modules/search';\r\nimport { Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\r\nimport { IAriServiceModelExtension } from \"../../../../actions/DataServiceEntities.g\";\r\nimport generateAriModelDetailUrl from \"../../../../utils/getAriModelDetailUrl\";\r\n\r\nconst renderAriSuggestionsTitle = (heading: string): JSX.Element =>\r\n (\r\n
    \r\n {heading}\r\n
    \r\n )\r\n\r\n\r\nexport const AriSuggestionsComponent = (\r\n noResultsText: string,\r\n props: ISearchViewProps & ISearchProps,\r\n isLoading: boolean,\r\n searchResults: IAriServiceModelExtension[],\r\n loadingNode: React.ReactNode\r\n): JSX.Element => {\r\n const { resources: { ariModelResultsHeading }, UlCategory } = props;\r\n return (\r\n
    \r\n {renderAriSuggestionsTitle(ariModelResultsHeading)}\r\n \r\n {isLoading? (\r\n loadingNode\r\n ) : (\r\n searchResults?.length ? (\r\n <>\r\n {searchResults.map(r => (
  • \r\n \r\n {r.Name}\r\n \r\n
  • ))}\r\n \r\n\r\n ) : (
  • \r\n {noResultsText}\r\n
  • )\r\n )}\r\n\r\n
    \r\n
    \r\n )\r\n}\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { ISearchData, ISearchFormViewProps, ISearchViewProps } from '@msdyn365-commerce-modules/search';\r\nimport { Button, format, isMobile, Module, Node, VariantType } from '@msdyn365-commerce-modules/utilities';\r\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\r\n\r\nimport { ISearchProps } from '../definition-extensions/search.ext.props.autogenerated';\r\nimport { CategorySuggestionsComponent } from './components/search.categorysuggest';\r\nimport { FormComponent } from './components/search.form';\r\nimport { KeywordSuggestionsComponent } from './components/search.keywordsuggest';\r\nimport { ProductSuggestionsComponent } from './components/search.productsuggest';\r\nimport SearchModelsAction, { SearchModelsInput } from \"../../../actions/search-models.action\";\r\nimport { QueryResultSettings } from \"@msdyn365-commerce/retail-proxy\";\r\nimport { IAriServiceModelExtension } from \"../../../actions/DataServiceEntities.g\";\r\nimport * as _ from 'lodash';\r\nimport { AriSuggestionsComponent } from \"./components/search.arisuggest\";\r\nimport MsDyn365, { getUrlSync } from \"@msdyn365-commerce/core\";\r\n/**\r\n * Render Title for AutoSuggest.\r\n * @param searchSuggestionHeading -The heading resource string.\r\n * @param searchText -The search string.\r\n * @returns -The JSX Element.\r\n */\r\nconst renderTitle = (searchSuggestionHeading: string, searchText: string): JSX.Element => {\r\n const searchTextString = '\"'.concat(searchText.concat('\"'));\r\n const searchAutoSuggestionHeading = searchSuggestionHeading ? format(searchSuggestionHeading, searchTextString) : `Search for ${searchTextString}`;\r\n\r\n return (\r\n \r\n {searchAutoSuggestionHeading}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Search View.\r\n * @param props - The view props.\r\n * @returns The JSX Element.\r\n */\r\nconst SearchView: React.FC> = (props: ISearchViewProps & ISearchProps): JSX.Element => {\r\n const {\r\n Search,\r\n AutoSuggestAriaLabel,\r\n AutoSuggestAriaLabelText,\r\n searchText,\r\n AutoSuggest,\r\n KeywordSuggest,\r\n ProductSuggest,\r\n UlKeyword,\r\n UlProduct,\r\n form,\r\n autosuggestKeyword,\r\n autosuggestProduct,\r\n SearchForm,\r\n FormWrapper,\r\n label,\r\n context,\r\n isLoadingAutoSuggest,\r\n isLoadingNode,\r\n context: {\r\n request: {\r\n apiSettings\r\n },\r\n actionContext\r\n },\r\n config: {\r\n topResultsCount\r\n }\r\n } = props;\r\n\r\n const { searchSuggestionHeading, categorySuggestionHeading, keywordsHeading, noResultText, clearSearchButtonText } = props.resources;\r\n\r\n const [searchTextString, setSearchTextString] = useState();\r\n const [isMobilePort, setIsMobile] = useState(false);\r\n const [ ariSearchResults, setAriSearchResults ] = useState< IAriServiceModelExtension[]>([]);\r\n const [ ariSearchLoading , setAriSearchLoading ] = useState(false);\r\n\r\n const debouncedSearchHandler = useMemo(() =>\r\n _.debounce((search: string) => getAriSearchResults(search), 500),\r\n []\r\n )\r\n\r\n useEffect(() => {\r\n setSearchTextString(searchText);\r\n if (searchText.length > 0)\r\n debouncedSearchHandler(searchText);\r\n }, [searchText]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n debouncedSearchHandler.cancel();\r\n }\r\n }, [debouncedSearchHandler])\r\n\r\n /**\r\n * ClearSearch callback method to clear search string.\r\n */\r\n const clearSearch = (): void => {\r\n setSearchTextString('');\r\n\r\n const propsForm = props.form as ISearchFormViewProps;\r\n const propsFormInput = propsForm.input as React.DetailedHTMLProps, HTMLInputElement>;\r\n const propsFormInputCurrent = (propsFormInput.ref as React.RefObject).current;\r\n\r\n if (propsFormInputCurrent) {\r\n propsFormInputCurrent.value = '';\r\n }\r\n\r\n propsFormInput.value = '';\r\n props.searchText = '';\r\n props.FormWrapper.action = '';\r\n };\r\n\r\n const isMobileViewport = useCallback(() => {\r\n const isMobileView = isMobile({ variant: VariantType.Browser, context: context.request }) === 'xs';\r\n setIsMobile(isMobileView);\r\n }, [context]);\r\n\r\n useEffect(() => {\r\n window.addEventListener('resize', isMobileViewport);\r\n isMobileViewport();\r\n }, [isMobileViewport]);\r\n\r\n const viewport = isMobile({ variant: VariantType.Browser, context: context.request });\r\n\r\n const isMobileView = (viewport === 'xs');\r\n\r\n AutoSuggest.className = !StringExtensions.isNullOrEmpty(searchTextString) ? `${AutoSuggest.className} show` : `${AutoSuggest.className} hide`;\r\n const isSearchText: boolean = !StringExtensions.isNullOrEmpty(searchTextString);\r\n\r\n const getAriSearchResults = async (search: string) => {\r\n setAriSearchLoading(true);\r\n const queryResultSettings: QueryResultSettings = {\r\n Paging: {\r\n Top: topResultsCount || 5\r\n }\r\n }\r\n const input = new SearchModelsInput(search,\r\n queryResultSettings,\r\n 'Search',\r\n apiSettings);\r\n\r\n const data = await SearchModelsAction(input, actionContext);\r\n setAriSearchResults(data.ariSearchResults.Models || []);\r\n setAriSearchLoading(false);\r\n }\r\n\r\n const _generateSeeMoreUrl = (): string => {\r\n const {\r\n context: {\r\n actionContext,\r\n app: {\r\n config: { searchQueryStringParameter }\r\n }\r\n }\r\n } = props;\r\n\r\n const query = props.searchText;\r\n const searchQsp = searchQueryStringParameter || 'q';\r\n const searchURL = _appendQueryParams(getUrlSync('search', actionContext) || '', query, searchQsp);\r\n return searchURL;\r\n };\r\n\r\n const _appendQueryParams = (route: string, query: string, qsp: string): string => {\r\n if (!MsDyn365.isBrowser) {\r\n return '';\r\n }\r\n const queryUrl = new URL(route, window.location.href);\r\n if (qsp && query) {\r\n queryUrl.searchParams.set(qsp, query);\r\n }\r\n\r\n return queryUrl.href;\r\n };\r\n\r\n\r\n\r\n return (\r\n \r\n {label}\r\n {FormComponent(form as ISearchFormViewProps, SearchForm, FormWrapper, isMobilePort, clearSearchButtonText, props, isSearchText, clearSearch)}\r\n { !isMobileView && \r\n {!StringExtensions.isNullOrEmpty(searchTextString) ? \r\n {AutoSuggestAriaLabelText}\r\n : ''}\r\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\r\n <>\r\n \r\n \r\n {renderTitle(searchSuggestionHeading, searchText)}\r\n \r\n \r\n \r\n {ProductSuggestionsComponent(ProductSuggest, UlProduct, props, autosuggestProduct,\r\n isLoadingAutoSuggest, isLoadingNode)}\r\n\r\n {CategorySuggestionsComponent(searchTextString, categorySuggestionHeading, noResultText,\r\n props, isLoadingAutoSuggest, isLoadingNode)}\r\n {AriSuggestionsComponent(noResultText, props, ariSearchLoading, ariSearchResults, isLoadingNode)}\r\n {KeywordSuggestionsComponent(KeywordSuggest, UlKeyword, keywordsHeading, noResultText, autosuggestKeyword,\r\n isLoadingAutoSuggest, isLoadingNode)}\r\n \r\n \r\n See More\r\n \r\n ) : null}\r\n }\r\n { isMobileView && props.isSearchFormExpanded && \r\n {!StringExtensions.isNullOrEmpty(searchTextString) ? \r\n {AutoSuggestAriaLabelText}\r\n : ''}\r\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\r\n <>\r\n \r\n {(form as ISearchFormViewProps).cancelBtn}\r\n {renderTitle(searchSuggestionHeading, searchText)}\r\n \r\n \r\n \r\n {CategorySuggestionsComponent(searchTextString, categorySuggestionHeading, noResultText,\r\n props, isLoadingAutoSuggest, isLoadingNode)}\r\n {AriSuggestionsComponent(noResultText, props, ariSearchLoading, ariSearchResults, isLoadingNode)}\r\n {KeywordSuggestionsComponent(KeywordSuggest, UlKeyword, keywordsHeading, noResultText, autosuggestKeyword,\r\n isLoadingAutoSuggest, isLoadingNode)}\r\n \r\n {ProductSuggestionsComponent(ProductSuggest, UlProduct, props, autosuggestProduct,\r\n isLoadingAutoSuggest, isLoadingNode)}\r\n \r\n \r\n ) : null}\r\n }\r\n \r\n );\r\n};\r\nexport default SearchView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ISocialShareConfig, ISocialShareProps, orientation } from './social-share.props.autogenerated';\n\nexport interface ISocialShareViewProps extends ISocialShareProps {\n isConsentGiven: boolean;\n SocialShareItemElements: React.ReactNode[];\n SocialShare: IModuleProps;\n SocialShareList: INodeProps;\n SocialShareItem: INodeProps;\n SocialShareItemCustomization: INodeProps;\n}\n\n/**\n *\n * SocialShare component.\n * @extends {React.PureComponent>}\n */\nclass SocialShare extends React.PureComponent> {\n constructor(props: ISocialShareProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { slots } = this.props;\n\n if (!slots || !ArrayExtensions.hasElements(slots.socialShareItems)) {\n this.props.context.telemetry.error('No social media is enable for sharing, module wont render');\n return null;\n }\n\n const isConsentGiven =\n this.props.context.request &&\n this.props.context.request.cookies &&\n this.props.context.request.cookies.isConsentGiven &&\n this.props.context.request.cookies.isConsentGiven();\n\n if (!isConsentGiven && !this.props.context.request.params.isEditor) {\n return null;\n }\n\n const viewprops = {\n ...this.props,\n SocialShare: {\n moduleProps: this.props,\n className: classnames('ms-social-share', this.props.config.className)\n },\n SocialShareList: {\n 'data-title': this.props.config.caption,\n className: `ms-social-share-ul ${this.props.config.caption && 'caption'} ${\n this.props.config.orientation === orientation.vertical ? 'vertical' : ''\n }`,\n tag: 'ul',\n role: 'group'\n },\n SocialShareItem: {\n className: 'ms-social-share-li',\n tag: 'li',\n tabIndex: '0',\n role: 'link'\n },\n SocialShareItemElements: slots && slots.socialShareItems.length > 0 && slots.socialShareItems\n };\n\n return this.props.renderView(viewprops) as React.ReactElement;\n }\n}\n\nexport default SocialShare;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrganizationUsersTileViewProps } from './organization-users-tile';\n\nconst OrganizationUsersTileView: React.FC = props => {\n const { OrganizationUsersTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default OrganizationUsersTileView;\n","import { IActionContext } from '@msdyn365-commerce/core-internal';\r\nimport { getUrlSync } from '@msdyn365-commerce/core';\r\n\r\nexport default function generateAriModelDetailUrl(modelId: string, brandCode: string, actionContext: IActionContext): string {\r\n const _modelDetailModelIdQueryParamKey = 'modelId';\r\n const _modelDetailBrandCodeQueryParamKey = 'brandCode';\r\n const _modelDetailSlug = 'model';\r\n let url = getUrlSync(_modelDetailSlug, actionContext);\r\n if (url) {\r\n url += `${\r\n url.indexOf('?') > -1 ? '&' : '?'\r\n }${_modelDetailModelIdQueryParamKey}=${modelId}&${_modelDetailBrandCodeQueryParamKey}=${brandCode}`;\r\n }\r\n\r\n return url || '';\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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n NodeTag,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput } from '../..';\nimport { IAccordionData } from './accordion.data';\nimport { IAccordionProps } from './accordion.props.autogenerated';\n\n/**\n *\n * Accordion component.\n * @extends {React.PureComponent>}\n */\n\nexport interface ICallToActionProps {\n link: INodeProps[];\n}\n\n/**\n * Added interface for state management.\n */\nexport interface IAccordianState {\n isDisabled: boolean;\n}\n\nexport interface IAccordionViewProps extends IAccordionProps<{}> {\n heading?: React.ReactNode;\n AccordionContainer: IModuleProps;\n HeaderSection: INodeProps;\n HeadingWrapper: INodeProps;\n accordianButtonsContainer: INodeProps;\n accordionButtons: React.ReactNode;\n accordionItemContainer: INodeProps;\n accordionItems: React.ReactNode;\n}\n\n/**\n *\n * Accordion component.\n * @extends {React.Component>}\n */\n@observer\nclass Accordion extends React.PureComponent, IAccordianState> {\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private readonly expandAllButtonRef: React.RefObject = React.createRef();\n\n private readonly collapseAllButtonRef: React.RefObject = React.createRef();\n\n constructor(props: IAccordionProps) {\n super(props);\n this._onExpandAll = this._onExpandAll.bind(this);\n this._onCollapseAll = this._onCollapseAll.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\n this.state = { isDisabled: false };\n }\n\n public render(): JSX.Element {\n const { slots } = this.props;\n const { heading, className } = this.props.config;\n const headingComponent = heading && heading.text && (\n \n );\n\n const accordionViewProps = {\n ...this.props,\n AccordionContainer: {\n moduleProps: this.props,\n className: classnames('ms-accordion', className)\n },\n HeaderSection: { className: 'ms-accordion-header-section' },\n HeadingWrapper: { className: 'ms-accordion-header-section-container' },\n heading: headingComponent,\n config: this.props && this.props.config,\n accordianButtonsContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-header-section-toggle-button-container'\n },\n accordionButtons: this._renderAccordionButton(),\n accordionItemContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-item-section'\n },\n accordionItems:\n slots &&\n slots.accordionItems &&\n slots.accordionItems.length > 0 &&\n slots.accordionItems.map((item: React.ReactNode, index: number) => this._getAccordionItem(item, index))\n };\n return this.props.renderView(accordionViewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n private _renderAccordionButton(): React.ReactNode | null {\n const { config, resources } = this.props;\n const { heading } = config;\n this.payLoad.contentAction.etext = TelemetryConstant.ExpandAll;\n const attributeExpandAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n this.payLoad.contentAction.etext = TelemetryConstant.CollapseAll;\n const attributeCollapseAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n if (!config.showToggleAll) {\n this.props.context.telemetry.error('Accordion button content is empty, module wont render');\n return null;\n }\n return (\n <>\n \n {resources.expandAllText}\n \n  \n {resources.toggleAllSeparator}\n  \n \n {resources.collapseAllText}\n \n \n );\n }\n\n private _onExpandAll(): void {\n const accordionState = { isAllExpanded: true };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (accordionState.isAllExpanded) {\n this.setState({\n isDisabled: true\n });\n setTimeout(() => {\n this.collapseAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _onCollapseAll(): void {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (!accordionState.isAllExpanded) {\n this.setState({\n isDisabled: false\n });\n setTimeout(() => {\n this.expandAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _getAccordionItem(item: React.ReactNode, index: number): React.ReactNode {\n return (\n \n {React.cloneElement(item as React.ReactElement, { interactionStyle: this.props.config.interactionStyle })}\n \n );\n }\n}\n\nexport default Accordion;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } 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","/*--------------------------------------------------------------\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 IAddressAddItem,\r\n IAddressAddUpdateProps\r\n} from '@msdyn365-commerce-modules/address/src/modules/account-management-address/../../common/components/address-add';\r\nimport {\r\n IAddressList,\r\n IAddressListItem,\r\n IAddressListProps\r\n} from '@msdyn365-commerce-modules/address/src/modules/account-management-address/../../common/components/address-list';\r\nimport {\r\n IAddressShowItem,\r\n IAddressShowProps\r\n} from '@msdyn365-commerce-modules/address/src/modules/account-management-address/../../common/components/address-show';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address/src/modules/account-management-address/./account-management-address';\r\n// import { AddressDetailItemComponent } from '@msdyn365-commerce-modules/address/src/common/components/address-detail-item';\r\n\r\n/**\r\n * Address show component.\r\n * @param param0 - Root param.\r\n * @param param0.AddressDetail - Address detail.\r\n * @param param0.items - IAddressShowItem[].\r\n * @returns - Address Node.\r\n */\r\nconst AddressShow: React.FC = ({ AddressDetail, items }) => {\r\n return (\r\n \r\n {items.map((item: IAddressShowItem) => {\r\n return <>{item.description};\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Address List Component.\r\n * @param param0 - Root param.\r\n * @param param0.List - Address list.\r\n * @param param0.isShowList - Boolean.\r\n * @param param0.heading - Address heading.\r\n * @param param0.items - IAddressListItem[].\r\n * @returns - AddressListComponent Node.\r\n */\r\nconst AddressList: React.FC = ({ List, isShowList, heading, items }) => {\r\n if (!isShowList) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items.map((item: IAddressListItem) => {\r\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton, removeButton } = item;\r\n const { Error, isShowError, title, message } = error;\r\n\r\n // const component = showItems.items.find(address => address.key === \"AddressTypeValue\")?.description;\r\n\r\n return (\r\n \r\n \r\n {isShowError && (\r\n \r\n {title}\r\n {message}\r\n \r\n )}\r\n {isShowPrimaryButton && primaryButton}\r\n {editButton}\r\n {removeButton}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Address Lists Component.\r\n * @param param0 - Root param.\r\n * @param param0.ListAddress - List address.\r\n * @param param0.heading - List heading.\r\n * @param param0.isShowEmptyListMessage - Boolean.\r\n * @param param0.emptyListMessage - Empty list message.\r\n * @param param0.addButton - Add button.\r\n * @param param0.primaryAddressList - Primary address.\r\n * @param param0.otherAddressList - Other address.\r\n * @returns Address Lists Component Node.\r\n */\r\nconst AddressLists: React.FC = ({\r\n ListAddress,\r\n heading,\r\n isShowEmptyListMessage,\r\n emptyListMessage,\r\n addButton,\r\n primaryAddressList,\r\n otherAddressList\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n {isShowEmptyListMessage && emptyListMessage}\r\n {addButton}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * AddressAddUpdateComponent.\r\n * @param param0 - Root param.\r\n * @param param0.AddressForm - Address form.\r\n * @param param0.heading - Address heading.\r\n * @param param0.items - IAddressAddItem[].\r\n * @param param0.hasError - Boolean.\r\n * @param param0.error - Error message.\r\n * @param param0.isShowSaveButton - Boolean.\r\n * @param param0.saveButton - Save button.\r\n * @param param0.isShowCancelButton - Boolean.\r\n * @param param0.cancelButton - Cancel button.\r\n * @returns Address add update component node.\r\n */\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n {items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n \r\n {label}\r\n {alert}\r\n {input}\r\n \r\n );\r\n })}\r\n {hasError && (\r\n \r\n {error.title}\r\n {error.message}\r\n \r\n )}\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Account Management Address View Component.\r\n * @param props - Props.\r\n * @returns - AccountAddressManagement Module.\r\n */\r\nconst AccountManagementAddressView: React.FC = props => {\r\n const { AccountAddressManagement, viewState, showAddressList, showAddOrUpdateAddress, screenReaderNotification } = props;\r\n\r\n // Remove buttons from Invoice address\r\n const invoiceAddressId = 1;\r\n const addressId = props.customerAddresses.slice().find(address => address.AddressTypeValue === invoiceAddressId)?.RecordId;\r\n const invoiceAddress = showAddressList.otherAddressList.items.find(address => address.key === addressId);\r\n if (invoiceAddress) {\r\n invoiceAddress.editButton = undefined;\r\n invoiceAddress.primaryButton = undefined;\r\n invoiceAddress.removeButton = undefined;\r\n }\r\n\r\n return (\r\n \r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n {screenReaderNotification}\r\n \r\n );\r\n};\r\n\r\nexport default AccountManagementAddressView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IAccordionExpandedState } from './data-actions/accordion-state';\nimport { createAccordionStateInput } from './data-actions/accordion-state-data-action';\nimport accordion from './modules/accordion/accordion';\nimport { interactionStyle } from './modules/accordion/accordion.props.autogenerated';\nimport accordionView from './modules/accordion/accordion.view';\n\nexport * from './modules/accordion/accordion';\nexport * from './modules/accordion/accordion.view';\n\nexport { accordion, accordionView, createAccordionStateInput, IAccordionExpandedState, interactionStyle };\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 * as React from 'react';\n\nexport interface IAccountOrganizationUsersTileDescription {\n description: string;\n}\n\nexport const AccountOrganizationUsersTileDescription: React.FC = ({ description }) => (\n

    {description}

    \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../organization-users-tile.props.autogenerated';\n\nexport interface IAccountOrganizationUsersTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nexport const AccountOrganizationUsersTileLinks: React.FC = ({\n links,\n telemetryContent,\n onTextChange,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
    \n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
    \n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-organization-users-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { AccountOrganizationUsersTileDescription, AccountOrganizationUsersTileLinks } from './components';\nimport { IOrganizationUsersTileData } from './organization-users-tile.data';\nimport { IOrganizationUsersTileProps } from './organization-users-tile.props.autogenerated';\n\nexport interface IOrganizationUsersTileViewProps extends IOrganizationUsersTileProps {\n OrganizationUsersTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * OrganizationUsersTile component.\n * @extends {React.PureComponent>}\n */\nclass OrganizationUsersTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IOrganizationUsersTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element | null {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountOrganizationUsersTileDescriptionForSingleUser, accountOrganizationUsersTileDescriptionForMultipleUsers } = resources;\n const numUsers = data.users && data.users.result;\n const accountOrganizationUsersTileDescription =\n numUsers === 1 ? accountOrganizationUsersTileDescriptionForSingleUser : accountOrganizationUsersTileDescriptionForMultipleUsers;\n const customerInformation = data.customerInformation.result;\n\n // Organization-users tile will not be render for non-admin users.\n if (!customerInformation?.IsB2bAdmin) {\n return null;\n }\n\n const viewProps = {\n ...this.props,\n className,\n OrganizationUsersTile: {\n moduleProps: this.props,\n className: classnames('ms-account-organization-users-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n this.props.config.heading.text = event.target.value;\n };\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default OrganizationUsersTile;\n"],"sourceRoot":""}