{"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/components/order-details.shipment-tracking.component.tsx?1cea","webpack:///src/modules/fabrikam/views/cart.view.tsx?8115","webpack:///src/modules/fabrikam/views/ratings-histogram.view.tsx?96ae","webpack:///src/modules/catalog-picker/catalog-picker.view.tsx?d632","webpack:///./src/themes/gardner-theme/views/order-details.view.tsx?dd01","webpack:///src/modules/catalog-picker/catalog-picker.tsx?dde5","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/modules/eve-business-sign-up/eve-business-sign-up.view.tsx?dc32","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/eve-business-sign-up/components/sign-up-button.tsx?e34c","webpack:///./src/modules/eve-business-sign-up/components/sign-up-error.tsx?b1ad","webpack:///./src/modules/eve-business-sign-up/components/sign-up-input.tsx?a0aa","webpack:///./src/modules/eve-business-sign-up/components/sign-up-label.tsx?2e32","webpack:///./src/modules/eve-business-sign-up/eve-business-sign-up.tsx?1300","webpack:///./src/themes/gardner-theme-b2c/views/account-management-address.view.tsx?9fc6","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","ShipmentTrackingComponent","shipmentTrackingNodeProps","shipmentTrackingResources","headingText","containerIdLabel","weightLabel","shippingCarrierLabel","trackingLabel","trackthisPackageLinkText","containerId","weight","shippingCarrier","trackingNumber","trackingUrl","baseClassName","href","_renderPromotions","promotions","promotionMessageWrapper","promotionMessage","promotionSeeAllLink","promotionDialog","_renderCartlines","cartLines","resources","storeSelector","backToShoppingButton","waitingComponent","cartLoadingStatus","cartDataResult","telemetryContent","mulitplePickUp","emailDeliveryModeCode","emptyCartText","cartLine","MsDyn365","isBrowser","toString","cartline","_renderBOPISBlock","_renderGroupBOPISBlock","addToOrderTemplate","addToWishlist","remove","onToggleBopisHandler","isBopisSelected","pickUpInStore","callbacks","toggleBopis","onChangeStoreHandler","_cartLine$data","DeliveryMode","shipInsteadDisplayText","shipToAddressDisplayText","pickItUpDisplayText","pickUpAtStoreWithLocationText","changeStoreDisplayText","payLoad","getPayloadObject","TelemetryConstant","PickupInStore","puckUpinStoreAttribute","getTelemetryAttributes","ContainerProps","orgUnitName","Button","role","onClick","_renderErrorBlock","errorData","Wrapper","header","_renderOrderSummarylines","orderSummaryLines","OrderSummaryItems","promoCode","otherCharge","totalDiscounts","orderTotal","_renderInvoiceSummarylines","invoiceSummaryLines","invoices","giftCard","loyalty","_renderCartLinesGroup","cartLinesGroup","cartlines","_props$context$action2","_props$context$action3","cartlineId","_renderCartLinesGroupHeader","_countItems","actionContext","requestContext","channel","EmailDeliveryModeCode","multiplePickUpEnabled","_cartLine$pickUpInSto","pickUpText","shippingText","emailshippingText","payInvoicesDisplayText","groupTitle","IsInvoiceLine","StringExtensions","isNullOrEmpty","toLowerCase","_renderCartLinesGroupTitle","_cartLine$data2","countItem","reduce","item","_item$data","Quantity","_cartLine$pickUpInSto2","_cartLine$pickUpInSto3","_cartLine$pickUpInSto4","itemLabel","itemsLabel","suffix","deliveryOption","CartView","_props$cart","_props$context$action","_props$cart2","id","renderModuleAttributes","promotionOptions","cart","hasInvoiceLine","CartlinesWrapper","orderSummaryHeading","OrderSummaryWrapper","invoiceSummaryLineitems","orderSummaryLineitems","OrderSummaryErrors","checkoutAsSignInUserButton","checkoutAsGuestButton","expressCheckoutButton","ArrayExtensions","hasElements","ExpressCheckoutSectionWrapper","createTemplateFromCartButton","histogramItem","buttonProps","starLabel","bar","percentage","RatingsHistogramView","histogramItems","histogramProps","CatalogPickerViewFunctionComponent","catalogPicker","paragraph","catalogs","purchaseOrderNumber","GroupedSalesLine","containerDetails","request","cultureFormatter","config","salesLineQuantityText","shippingInformationHeadingText","noShippingInformationFoundDefaultText","containerIdLabelText","WeightLabelText","shippingCarrierLabelText","trackThisPackageLinkText","trackingUrls","imageSettings","noShipmentInformationMessage","showNoShipmentInformation","remainingSalesLines","noShipmentTrackingProps","noShipmentTrackingNodeProps","tag","noShipmentTrackingResources","noShippingFoundText","ShippingCarrier","ContainerId","ContainerLinesList","TrackingNumber","Weight","some","c","find","sl","ItemId","trackingUrlData","url","shipmentTrackingProps","undefined","cl","_itemData$data$produc","_itemData$data$produc2","itemData","_sl$data$product","product","findIndex","_sl$data$product2","splice","imageProps","netAmount","NetAmount","grossAmount","GrossAmount","orderDetailsContainerRowProps","name","Name","itemId","imageUrl","PrimaryImageUrl","productUrl","quantity","strikeAmount","quantityLabel","renderedImage","RenderImageComponent","OrderDetailsContainerRowComponent","_sl$data$product3","_sl$data$salesLine","_sl$data$product4","NoShipmentTrackingComponent","_props$requestContext","_product$Name","fallbackImageUrl","getFallbackImageUrl","apiSettings","app","OmniChannelMedia","productName","Description","Image","altText","src","fallBackSrc","gridSettings","loadFailureBehavior","_containerDetails$res","perCustomerFreightPolicyText","poNumberLabelText","salesOrder","poNumber","setPoNumber","SalesId","getPoNumber","shippingLine","document","querySelector","innerHTML","async","_salesDetails$SalesOr","salesDetails","getSalesOrderDetailsAsync","callerContext","SalesOrderDetails","PoNumber","node","containerResults","result","ContainerDetails","CatalogPicker","PureComponent","constructor","super","handleTextChange","event","this","text","target","value","handleParagraphChange","render","_heading$tag","_this$props$data$cata","catalogPickerHeading","Text","_moduleClassName","editProps","onEdit","isCatalogsAvailable","catalogPickerParagraph","RichTextComponent","catalogValidationText","viewProps","_objectSpread","handleText","_renderCatalogPicker","renderView","_renderCatalogPickerButton","catalogId","RecordId","getCatalogId","currentCatalogText","linkToCatalog","Msdyn365","_getUrlSync","catalogUrl","getUrlSync","fullUrl","URL","window","location","searchParams","set","changeCatalogButtonText","_this$props$data$cata2","reactKey","JSON","stringify","String","image","firstOrDefault","Images","tabIndex","generateImageUrl","Uri","galleryImageSettings","AltText","renderCategorySuggestionsTitle","inCategoriesHeading","categoryAutoSuggestionHeading","CategorySuggestionsComponent","searchText","noResultText","isLoadingAutoSuggest","isLoadingNode","autosuggestCategory","CategorySuggest","replace","UlCategory","MobileAutoSuggestEmptyComponent","noSearchResultImage","lazyload","viewports","xs","w","h","q","renderProductNotFoundResultsImage","emptyMobileSearchTextHeading","emptyMobileSearchText","FormComponent","form","searchForm","formWrapper","isMobile","clearSearchButtonText","isSearchText","clearSearch","cancelBtn","input","renderClearButton","submitBtn","renderKeywordSuggestionsTitle","keywordsHeading","KeywordSuggestionsComponent","keywordSuggest","ulKeyword","keywordSuggestions","renderProductSuggestionsTitle","productSuggestionsHeading","productAutoSuggestionHeading","renderProductNotFoundResults","noResultContentHeadingText","noResultContentParagraphText","ProductSuggestionsComponent","productSuggest","ulProduct","productSuggestions","productSuggestionHeading","items","_item$id","LiProduct","AProduct","thumbnail","price","AriSuggestionsComponent","noResultsText","isLoading","searchResults","loadingNode","ariModelResultsHeading","Fragment","r","generateAriModelDetailUrl","Id","BrandCode","renderTitle","searchSuggestionHeading","searchTextString","concat","searchAutoSuggestionHeading","format","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","addEventListener","queryResultSettings","Paging","Top","SearchModelsInput","SearchModelsAction","Models","cancelBtnAriaLabel","type","isSearchFormExpanded","BusinessSignUpItem","wrapper","errorMessage","isAddressInput","BusinesSignUpView","businessSignUp","ContainerWrapper","businessSignUpForm","buttons","disclaimer","button","formatCurrency","itemProp","_appendQueryParams","route","query","qsp","queryUrl","_generateSeeMoreUrl","searchQueryStringParameter","searchQsp","slots","socialShareItems","cookies","isConsentGiven","params","isEditor","viewprops","classnames","caption","orientation","OrganizationUsersTileView","OrganizationUsersTile","description","links","modelId","brandCode","indexOf","SignUpButton","ariaLabel","disabled","link","attributes","SignUpError","message","errorClassName","GetMaxLength","maxLength","parsedMaxLength","Number","parseInt","isNaN","SignUpInput","pattern","isRequired","onChange","fieldReference","InputType","TextArea","SignUpLabel","forId","htmlFor","InputID","renderInputSection","inputs","needToReset","onInputChange","showErrors","addressForm","updateAddress","fieldRequiredError","fieldInvalidError","element","_label$replace$trim","maxChars","customClass","renderFieldFeedbackMessage","fieldName","fieldPattern","invalidFieldMessage","missingFieldMessage","RegExp","test","trim","baseSignUpItem","Address","updateForm","hasError","resetAddress","BusinessSignUp","_this","BusinessSignUpDefaultInputs","FirstName","firstNameLabel","LastName","lastNameLabel","Email","emailAddressLabel","EmailRegex","defaultRegex","source","CompanyName","companyLabel","Department","departmentLabel","JobTitle","jobTitleLabel","Size","companySizeLabel","companyAddressLabel","Comment","commentLabel","formChildReference","moduleClassName","needsToReset","handleHeadingChange","_onInputChange","newForm","state","formItems","forEach","setState","isReady","_isFormReady","hasSubmitErrors","_onAddressChange","currentAddress","addressItem","addressHasErrors","showAddressErrors","currentInput","match","_onSubmit","preventDefault","firstName","_getItem","lastName","companyName","companyEmail","companyAddress","jobTitle","department","companySize","comments","newPartner","CompanySize","Comments","createProspectAsync","catch","_onCancel","cleanForm","isAddress","arguments","_addedReference","getTelemetryObject","telemetryPageName","friendlyName","componentDidMount","_this$formChildRefere","focus","shouldComponentUpdate","nextProps","nextState","_renderForm","signUpButtonArialabel","signUpButtonText","cancelButtonArialabel","cancelButtonText","partialAddressErrorMessage","addressSlot","successPageURL","confirmationLink","linkUrl","destinationUrl","newFormFields","AddressShow","AddressDetail","AddressList","List","isShowList","Item","showItems","isShowPrimaryButton","primaryButton","editButton","removeButton","Error","isShowError","AddressLists","ListAddress","isShowEmptyListMessage","emptyListMessage","addButton","primaryAddressList","otherAddressList","AddressAddUpdate","AddressForm","isShowSaveButton","saveButton","isShowCancelButton","cancelButton","AddressItem","AddressError","AccountManagementAddressView","_props$customerAddres","AccountAddressManagement","viewState","showAddressList","showAddOrUpdateAddress","screenReaderNotification","addressId","customerAddresses","slice","AddressTypeValue","invoiceAddress","isShowAddresList","isShowAddOrUpdateAddress","AccountOrganizationUsersTileDescription","AccountOrganizationUsersTileLinks","onTextChange","editableLinks","_mapEditableLinks","linkdata","contentAction","etext","linkText","editableLink","openInNewTab","additionalProperties","push","handleLinkTextChange","linkIndex","accountOrganizationUsersTileDescriptionForSingleUser","accountOrganizationUsersTileDescriptionForMultipleUsers","numUsers","users","accountOrganizationUsersTileDescription","customerInformation","IsB2bAdmin"],"mappings":"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","file":"static/js/12.73a479c3286f544c4be8.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","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 MsDyn365 from '@msdyn365-commerce/core';\nimport { ICartlinesViewProps, ICartResources, ICartViewProps, IOrderSummaryErrors } from '@msdyn365-commerce-modules/cart';\nimport { ICartLineItemViewProps } from '@msdyn365-commerce-modules/cart/dist/types/modules/cart/components/cart-line-items-promotion';\nimport { IInvoiceSummaryLines } from '@msdyn365-commerce-modules/invoice-payment-summary';\nimport { IOrderSummaryLines } from '@msdyn365-commerce-modules/order-summary-utilities';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n INodeProps,\n ITelemetryContent,\n Node,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst CartView: React.FC = (props: ICartViewProps) => (\n
\n {props.title}\n {props.promotionOptions && _renderPromotions(props.promotionOptions)}\n {props.cart?.hasInvoiceLine || props.multiplePickUpEnabled ? (\n _renderCartLinesGroup(props, props.resources)\n ) : (\n \n {_renderCartlines(\n props.cartlines,\n props.resources,\n props.storeSelector,\n props.backToShoppingButton,\n props.waitingComponent,\n props.cartLoadingStatus,\n props.cartDataResult,\n props.telemetryContent,\n props.multiplePickUpEnabled,\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n \n )}\n {props.orderSummaryHeading && (\n \n {props.orderSummaryHeading}\n {props.cart?.hasInvoiceLine\n ? _renderInvoiceSummarylines(props.invoiceSummaryLineitems, props.OrderSummaryItems, props)\n : _renderOrderSummarylines(props.orderSummaryLineitems, props.OrderSummaryItems, props)}\n {_renderErrorBlock(props.OrderSummaryErrors)}\n {props.checkoutAsSignInUserButton}\n {props.checkoutAsGuestButton}\n {props.expressCheckoutButton && ArrayExtensions.hasElements(props.expressCheckoutButton) ? (\n {props.expressCheckoutButton}\n ) : null}\n {props.backToShoppingButton}\n {props.createTemplateFromCartButton}\n \n )}\n {props.storeSelector}\n
\n);\n\nconst _renderPromotions = (promotions: ICartLineItemViewProps): JSX.Element | undefined => {\n return (\n <>\n \n {promotions.promotionMessage}\n {promotions.promotionSeeAllLink}\n {promotions.promotionDialog}\n \n \n );\n};\n\nconst _renderCartlines = (\n cartLines: ICartlinesViewProps[] | undefined,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n backToShoppingButton: React.ReactNode,\n waitingComponent: React.ReactNode,\n cartLoadingStatus: string,\n cartDataResult: boolean,\n telemetryContent?: ITelemetryContent,\n mulitplePickUp?: boolean,\n emailDeliveryModeCode?: string\n): JSX.Element[] | JSX.Element => {\n const { emptyCartText } = resources;\n\n if (cartLoadingStatus) {\n return <>{cartLoadingStatus};\n }\n if (cartLines) {\n return cartLines.map((cartLine, index) => {\n return (\n
\n {cartLine.cartline}\n {mulitplePickUp ? null : _renderBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n {mulitplePickUp ? (\n \n {_renderGroupBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n {cartLine.addToOrderTemplate}\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n ) : cartLine.addToOrderTemplate ? (\n \n {cartLine.addToOrderTemplate}\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n ) : (\n <>\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n )}\n
\n );\n });\n }\n return cartDataResult ? (\n
\n

{emptyCartText}

\n {backToShoppingButton}\n
\n ) : (\n <>{waitingComponent}\n );\n};\n\n/**\n * On Toggle function.\n * @param cartLine -Cartline.\n * @param isBopisSelected -Boolean.\n * @returns Set state of button.\n */\nconst onToggleBopisHandler = (cartLine: ICartlinesViewProps, isBopisSelected: boolean) => () => {\n cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(!isBopisSelected);\n};\n\n/**\n * On change store function.\n * @param cartLine -CartLine items prop.\n * @returns Set state of button.\n */\nconst onChangeStoreHandler = (cartLine: ICartlinesViewProps) => () => {\n cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(true);\n};\n\nconst _renderBOPISBlock = (\n cartLine: ICartlinesViewProps,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n telemetryContent?: ITelemetryContent,\n emailDeliveryModeCode?: string\n): JSX.Element | null => {\n // If it is electronic item cart line, then return null for BOPISBlock.\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\n return null;\n }\n\n const {\n shipInsteadDisplayText,\n shipToAddressDisplayText,\n pickItUpDisplayText,\n pickUpAtStoreWithLocationText,\n changeStoreDisplayText\n } = resources;\n\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\n\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.PickupInStore);\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n
\n {isBopisSelected ? (\n {pickUpAtStoreWithLocationText}\n ) : (\n {shipToAddressDisplayText}\n )}\n
\n {isBopisSelected && (\n
\n {cartLine.pickUpInStore.orgUnitName}\n \n
\n )}\n \n {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\n \n
\n );\n};\n\nconst _renderErrorBlock = (errorData: IOrderSummaryErrors | undefined): JSX.Element | null => {\n if (!errorData || errorData.errors.length === 0) {\n return null;\n }\n return (\n \n {errorData.header}\n {errorData.errors}\n \n );\n};\n\nconst _renderOrderSummarylines = (\n orderSummaryLines: IOrderSummaryLines | undefined,\n OrderSummaryItems: INodeProps,\n props: ICartViewProps\n): JSX.Element | null => {\n if (!orderSummaryLines) {\n return null;\n }\n return (\n \n {props.promoCode}\n {orderSummaryLines.subtotal}\n {orderSummaryLines.shipping}\n {orderSummaryLines.otherCharge}\n {orderSummaryLines.tax}\n {orderSummaryLines.totalDiscounts ? orderSummaryLines.totalDiscounts : null}\n {orderSummaryLines.orderTotal}\n \n );\n};\n\nconst _renderInvoiceSummarylines = (\n invoiceSummaryLines: IInvoiceSummaryLines | undefined,\n OrderSummaryItems: INodeProps,\n props: ICartViewProps\n): JSX.Element | null => {\n if (!invoiceSummaryLines) {\n props.context.telemetry.error('InvoiceSummary content is empty, module wont render');\n return null;\n }\n return (\n \n {invoiceSummaryLines.invoices}\n {invoiceSummaryLines.giftCard}\n {invoiceSummaryLines.loyalty}\n {invoiceSummaryLines.orderTotal}\n \n );\n};\n\nconst _renderCartLinesGroup = (props: ICartViewProps, resources: ICartResources): JSX.Element | undefined => {\n if (props.cartLinesGroup && props.cartLinesGroup.length > 0) {\n return (\n
\n {props.cartLinesGroup.map(cartlines => {\n return (\n
\n {_renderCartLinesGroupHeader(\n cartlines[0],\n props.storeSelector,\n resources,\n _countItems(cartlines),\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n {_renderCartlines(\n cartlines,\n props.resources,\n props.storeSelector,\n props.backToShoppingButton,\n props.waitingComponent,\n props.cartLoadingStatus,\n props.cartDataResult,\n props.telemetryContent,\n props.multiplePickUpEnabled,\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n
\n );\n })}\n
\n );\n }\n return props.cartDataResult ? (\n
\n
\n

{props.resources.emptyCartText}

\n {props.backToShoppingButton}\n
\n
\n ) : (\n <>{props.waitingComponent}\n );\n};\nconst _renderCartLinesGroupHeader = (\n cartLine: ICartlinesViewProps,\n storeSelector: React.ReactNode | undefined,\n resources: ICartResources,\n count: number,\n emailDeliveryModeCode?: string\n) => {\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\n const { pickUpText, shippingText, emailshippingText, payInvoicesDisplayText } = resources;\n let groupTitle: string;\n\n groupTitle = isBopisSelected ? pickUpText : shippingText;\n if (cartLine.data && cartLine.data.cartline.IsInvoiceLine) {\n groupTitle = payInvoicesDisplayText;\n } else if (!StringExtensions.isNullOrEmpty(emailDeliveryModeCode)) {\n groupTitle = cartLine.data && cartLine.data.cartline.DeliveryMode === emailDeliveryModeCode ? emailshippingText : groupTitle;\n }\n\n return (\n <>\n
\n

\n

{groupTitle}

\n {_renderCartLinesGroupTitle(cartLine, resources, count)}\n
\n \n );\n};\n\nconst _renderGroupBOPISBlock = (\n cartLine: ICartlinesViewProps,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n telemetryContent?: ITelemetryContent,\n emailDeliveryModeCode?: string\n): JSX.Element | null => {\n // If it is electronic item cart line, then return null for GroupBOPISBlock.\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\n return null;\n }\n\n const { changeStoreDisplayText, shipInsteadDisplayText, pickItUpDisplayText } = resources;\n\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\n\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.PickupInStore);\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n <>\n {isBopisSelected ? (\n \n ) : null}\n \n {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\n \n \n );\n};\n\nconst _countItems = (cartLine: ICartlinesViewProps[]): number => {\n let countItem = 0;\n countItem = cartLine.reduce((count, item) => {\n return count + (item.data?.cartline.Quantity || 0);\n }, 0);\n return countItem;\n};\n\nconst _renderCartLinesGroupTitle = (cartLine: ICartlinesViewProps, resources: ICartResources, count: number) => {\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\n const { itemLabel, itemsLabel } = resources;\n const suffix = count > 1 ? itemsLabel : itemLabel;\n return (\n <>\n \n {isBopisSelected ? (\n

\n {cartLine.pickUpInStore?.deliveryOption}\n {', '}\n {cartLine.pickUpInStore?.orgUnitName}\n

\n ) : null}\n

\n ({count}\n {` `}\n {suffix})\n

\n
\n \n );\n};\n\nexport default CartView;\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","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICatalogPickerViewProps } from './catalog-picker';\n\n/**\n * ICatalogPickerViewProps.\n * @param props - ICatalogPickerViewProps.\n * @returns - Render Catalog Picker.\n */\nexport const CatalogPickerViewFunctionComponent: React.FC = props => {\n const { catalogPicker } = props;\n return (\n \n {props.heading}\n {props.paragraph}\n {props.catalogs}\n \n );\n};\n\nexport default CatalogPickerViewFunctionComponent;\n","/*--------------------------------------------------------------\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","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport Msdyn365, {\n ContentEditableEvent,\n generateImageUrl,\n getCatalogId,\n getUrlSync,\n Image,\n RichTextComponent,\n Text\n} from '@msdyn365-commerce/core';\nimport { MediaLocation, ProductCatalog } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ICatalogPickerData } from './catalog-picker.data';\nimport { ICatalogPickerProps } from './catalog-picker.props.autogenerated';\n\n/**\n * ICatalogPickerViewProps.\n */\nexport interface ICatalogPickerViewProps extends ICatalogPickerProps {\n catalogPicker: IModuleProps;\n heading: React.ReactNode;\n paragraph: React.ReactNode;\n catalogs: ReactNode;\n}\n\n/**\n * CatalogPicker component.\n * @extends {React.PureComponent>}\n */\nexport class CatalogPicker extends React.PureComponent> {\n private static readonly _moduleClassName = 'ms-catalog-picker';\n\n public constructor(props: ICatalogPickerViewProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { heading, paragraph } = this.props.config;\n\n const catalogPickerHeading = heading && (\n \n );\n\n const isCatalogsAvailable: boolean = ArrayExtensions.hasElements(this.props.data.catalogs?.result);\n const catalogPickerParagraph = paragraph && (\n \n );\n const viewProps = {\n ...this.props,\n handleText: this.handleTextChange,\n catalogPicker: {\n moduleProps: this.props,\n className: CatalogPicker._moduleClassName\n },\n heading: catalogPickerHeading,\n paragraph: catalogPickerParagraph,\n catalogs: isCatalogsAvailable ? this._renderCatalogPicker() : ''\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n private _renderCatalogPickerButton(item: ProductCatalog): React.ReactNode {\n const catalogId = item.RecordId;\n const currentCatalogId = getCatalogId(this.props.context.request);\n if (currentCatalogId === catalogId) {\n return
{this.props.resources.currentCatalogText}
;\n }\n let linkToCatalog = '';\n if (Msdyn365.isBrowser) {\n const catalogUrl = getUrlSync('home', this.props.context.actionContext) ?? '';\n const fullUrl = new URL(catalogUrl, window.location.href);\n fullUrl.searchParams.set('catalogid', `${catalogId}`);\n linkToCatalog = fullUrl.href;\n }\n return (\n \n {this.props.resources.changeCatalogButtonText}\n \n );\n }\n\n private _renderCatalogPicker(): React.ReactNode {\n const catalogs = this.props.data.catalogs?.result;\n\n const isBrowser = Msdyn365.isBrowser;\n\n return (\n
\n {catalogs?.map(item => {\n const reactKey = `${JSON.stringify(item)}-${String(isBrowser)}`;\n const image: MediaLocation | undefined = ArrayExtensions.firstOrDefault(item.Images);\n return (\n \n

{item.Name}

\n
\n \n
\n {this._renderCatalogPickerButton(item)}\n
\n
\n
\n );\n })}\n \n );\n }\n}\n\nexport default CatalogPicker;\n","/*--------------------------------------------------------------\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;","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IBusinessSignUpItem, IBusinessSignUpViewProps } from './eve-business-sign-up';\r\n\r\nconst BusinessSignUpItem: React.FC = ({ wrapper, label, errorMessage, input, isAddressInput }) => {\r\n // Hide label and error message if rendering address section\r\n return (\r\n \r\n {!isAddressInput && label}\r\n {input}\r\n {!isAddressInput && errorMessage}\r\n \r\n );\r\n};\r\n\r\nconst BusinesSignUpView: React.FC = props => {\r\n const { businessSignUp, ContainerWrapper, heading, businessSignUpForm } = props;\r\n\r\n const { FormWrapper, buttons, items, errorMessage, disclaimer } = businessSignUpForm;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n {items &&\r\n items.map((item: IBusinessSignUpItem) => {\r\n return ;\r\n })}\r\n {errorMessage &&\r\n errorMessage.map((error: React.ReactNode, index: number) => {\r\n return {error};\r\n })}\r\n {buttons &&\r\n buttons.map((button: React.ReactNode, index: number) => {\r\n return {button};\r\n })}\r\n {disclaimer}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BusinesSignUpView;\r\n","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","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface IBusinessSignUpButtonProps {\r\n id?: string;\r\n className: string;\r\n text: string;\r\n ariaLabel: string;\r\n disabled?: boolean;\r\n link?: string;\r\n telemetryContent: ITelemetryContent;\r\n onClick?(event: React.MouseEvent): void;\r\n}\r\n\r\nexport const SignUpButton: React.FC = ({\r\n id,\r\n className,\r\n text,\r\n ariaLabel,\r\n telemetryContent,\r\n disabled,\r\n link,\r\n onClick\r\n}) => {\r\n const payLoad = getPayloadObject('click', telemetryContent, text);\r\n const attributes = getTelemetryAttributes(telemetryContent, payLoad);\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n};\r\n\r\nexport default SignUpButton;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nexport interface IBusinessSignUpErrorProps {\r\n id?: string;\r\n className: string;\r\n type?: string;\r\n message?: string;\r\n}\r\n\r\nexport const SignUpError: React.FC = ({ id, className, type = 'page', message }) => {\r\n const errorClassName = `${className}__${type}-error`;\r\n\r\n return (\r\n