{"version":3,"sources":["webpack:///src/modules/product-specification/components/product-specification-table-stucture.tsx?4b07","webpack:///src/modules/store-selector/store-selector.view.tsx?b873","webpack:///src/modules/checkout-customer-account-payment/checkout-customer-account-payment.view.tsx?c009","webpack:///src/modules/image-list/image-list.tsx?18cb","webpack:///src/modules/product-specification/product-specification.tsx?f393","webpack:///src/modules/content-block/components/additional-content.tsx?1a32","webpack:///src/modules/content-block/components/links.tsx?5056","webpack:///src/modules/content-block/content-block.tsx?8675","webpack:///src/modules/social-share/social-share.view.tsx?76da","webpack:///src/modules/site-picker/site-picker.view.tsx?dcff","webpack:///src/modules/checkout-terms-and-conditions/checkout-terms-and-conditions.view.tsx?0931","webpack:///src/modules/interactive-feature-item/interactive-feature-item.view.tsx?d4e3","webpack:///src/modules/image-list/image-list.view.tsx?cab9","webpack:///src/modules/adventureworks/views/checkout-customer-account-payment.view.tsx?fdf3","webpack:///./src/themes/leblanc/views/header.view.tsx?d0cb","webpack:///src/modules/adventureworks/views/reviews-list.view.tsx?ebec","webpack:///src/modules/accordion-item/accordion-item.view.tsx?b04f","webpack:///./src/themes/connselmer2/views/header.view.tsx?fae5","webpack:///src/modules/checkout-pickup/checkout-pickup.view.tsx?9210","webpack:///src/modules/accordion-item/accordion-item.tsx?fc54","webpack:///src/modules/subscribe/subscribe.view.tsx?c40a","webpack:///src/modules/fabrikam/views/cart.view.tsx?8115","webpack:///src/modules/fabrikam/views/ratings-histogram.view.tsx?96ae","webpack:///src/modules/product-specification/product-specification.view.tsx?bfbe","webpack:///src/modules/accordion/accordion.view.tsx?8c70","webpack:///src/modules/account-management-address/account-management-address.view.tsx?739e","webpack:///src/index.ts?c6ae","webpack:///src/modules/business-sign-up/business-sign-up.view.tsx?578b","webpack:///./src/themes/connselmer2/views/breadcrumb.view.tsx?cbf1","webpack:///src/modules/fabrikam/views/order-history.view.tsx?46de","webpack:///src/modules/interactive-feature-collection/interactive-feature-collection.view.tsx?5927","webpack:///src/modules/checkout-guest-profile/checkout-guest-profile.view.tsx?c89a","webpack:///src/modules/loyalty-sign-up/loyalty-sign-up.view.tsx?ed3f","webpack:///./src/themes/connselmer2/views/search.view.tsx?cedd","webpack:///src/modules/interactive-feature-item/components/links.tsx?8ab2","webpack:///src/modules/interactive-feature-item/interactive-feature-item.tsx?340f","webpack:///src/modules/interactive-feature-collection/interactive-feature-collection.tsx?2538","webpack:///src/modules/social-share/social-share.tsx?ed88","webpack:///./src/themes/connselmer2/views/media-gallery.view.tsx?c025","webpack:///./src/themes/connselmer/views/breadcrumb.view.tsx?339c","webpack:///./src/themes/connselmer/views/media-gallery.view.tsx?05f9","webpack:///./src/themes/leblanc/views/search.view.tsx?64ff","webpack:///src/modules/footer-item/footer-item.tsx?f8b4","webpack:///./src/themes/connselmer/views/header.view.tsx?bce8","webpack:///src/modules/site-picker/site-picker.tsx?35ca","webpack:///src/modules/wishlist-items/wishlist-items.view.tsx?caf1","webpack:///src/modules/checkout-gift-card/checkout-gift-card.view.tsx?3424","webpack:///src/modules/order-template/order-template.view.tsx?f2c8","webpack:///src/modules/accordion/accordion.tsx?45c1","webpack:///src/modules/order-history/order-history.view.tsx?251d","webpack:///src/modules/ratings-histogram/ratings-histogram.view.tsx?4481","webpack:///src/modules/check-in-for-pickup/check-in-for-pickup.view.tsx?26b3","webpack:///./src/themes/leblanc/views/breadcrumb.view.tsx?02d3","webpack:///src/modules/quick-order-grid/quick-order-grid.view.tsx?2f4c","webpack:///src/modules/map/map.view.tsx?cd35","webpack:///./src/themes/connselmer/views/search.view.tsx?7316","webpack:///src/modules/footer-item/footer-item.view.tsx?235e","webpack:///src/modules/account-loyalty/account-loyalty.view.tsx?06f4","webpack:///src/modules/content-block/content-block.view.tsx?a86e","webpack:///src/modules/password-reset-verification/password-reset-verification.view.tsx?9e1f","webpack:///src/modules/order-template-list/order-template-list.view.tsx?20f7","webpack:///src/modules/adventureworks/views/media-gallery.view.tsx?e2f6","webpack:///./src/themes/leblanc/views/media-gallery.view.tsx?6808","webpack:///src/modules/write-review/write-review.view.tsx?9069"],"names":["ProductSpecificationTableRow","_ref","productName","cellData","className","React","scope","dangerouslySetInnerHTML","getRichTextHtml","renderSelectedStore","props","storeDetailsMain","storeHeader","storeName","storeDetailsCloseButton","storeDistance","storeDetailsAvailabilityContainer","productAvailability","stockStatus","isCurrentLocation","currentLocation","isPreferredStore","preferredStoreButton","removePreferredStoreButton","Node","Object","assign","canSelectLocation","deliveryOptions","pickUpDeliveryOptionButton","pickupModes","ArrayExtensions","hasElements","renderDeliveryOptions","StoreSelectorView","FooterContainerProps","HeaderContainerProps","HeaderProps","ModuleProps","terms","Module","BodyContainerProps","locationsMessage","search","state","spinner","locationsList","noLocationsMessage","maps","bodyWrapperProps","storeResultContainerProps","mapContainerProps","isMobileView","storeDetailsModal","selectedLocation","isSearchInProgress","renderBody","SummaryForm","formProps","label","paymentAmount","addPaymentButton","appliedLine","bottomBorder","EditForm","_ref2","inputLabel","inputAmount","customerName","customerAccountNumber","customerSince","accountCredit","alert","accountDetails","CheckoutCustomerAccountView","checkoutCustomerAccount","checkoutErrorRef","summaryView","editView","moduleState","ref","isReady","ImageList","constructor","handleParagraphChange","index","event","this","config","images","paragraph","target","value","_renderImageListItems","imageList","defaultImageSettings","viewports","xs","q","w","h","lg","xl","lazyload","disableLazyLoad","map","item","_image$imageSettings","_link$linkText","image","link","imageProps","gridSettings","context","request","imageSettings","imageLink","linkUrl","destinationUrl","imageLinkText","linkText","ariaLabel","imageLinkAriaLabel","imageLinkOpenInNewTab","openInNewTab","Msdyn365","loadFailureBehavior","requestContext","text","editProps","onEdit","linkAltText","linkAriaLabel","linkOpenInNewTab","render","_heading$tag","heading","imageListTitle","tag","viewProps","_objectSpread","moduleProps","classnames","imageListHeading","imageListContainer","role","imageListItem","imageListItemAnchorTag","imageListItems","renderView","ProductSpecification","super","handleHeadingChange","_toggle","drawerListId","setState","isDrawerOpen","undefined","isAdditionalMediaDrawerOpen","data","telemetry","catalogId","validateCatalogId","reaction","product","result","RecordId","actionInput","AttributesForSelectedVariantInput","actionContext","apiSettings","channelId","getAttributesForSelectedVariant","catch","error","message","debug","shouldComponentUpdate","nextProps","nextState","productSpecificationData","length","isAccrodion","displayStyle","handleText","ProductSpecificationTableProps","ProductSpecificationTableBodyProps","title","productSpecificationResult","_createDrawerBody","_createTableBody","content","_this$props$context$r","_this$props$data$addi","tableRows","_renderProductCell","key","Name","app","OmniChannelMedia","additionalMediaLocations","push","_createAdditionalMediaDrawer","_this$props$context$r2","_this$props$data$addi2","accordionItemContainer","drawers","_product$Name","Drawer","collapseProps","timeout","isOpen","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","onToggle","resources","additionalDownloadsText","prevState","mediaLocation","Uri","href","download","AltText","DataTypeValue","_renderCurrencyCell","_renderDateTimeCell","_renderDecimalCell","_renderIntegerCell","_renderTextCell","_renderTrueFalseCell","warning","CurrencyValue","CurrencyCode","_product$DateTimeOffs","DateTimeOffsetValue","toUTCString","IntegerValue","FloatValue","TextValue","BooleanValue","trueValueText","falseValueText","__decorate","observer","assembleNode","itemIndex","_item$links","renderHeading","additionalContentHeading","handleAdditionalTextChange","subtext","renderParagraph","additionalContentParagraphText","links","ctaLink","renderLinks","linkIndex","editableLink","onTextChange","handleAdditionalLinkTextChange","additionalContentItemContainer","additionalContentItemLinks","contentBlockAdditionalContent","additionalContent","reactNodes","additionalContentNode","additionalContentItems","ContentCardLinks","_mapEditableLinks","linkdata","editableLinks","forEach","payLoad","getPayloadObject","telemetryContent","contentAction","etext","attributes","getTelemetryAttributes","btnClass","additionalProperties","onClick","onTelemetryClick","ContentBlock","getTelemetryObject","telemetryPageName","friendlyName","handleTextChange","handleLinkTextChange","Number","_this$props$config$im","imageAriaLabel","contentBlockTitle","contentBlockLinks","LinksComponent","msdyn365__moduleLayout","contentBlockText","contentBlockImage","preserveImageSpace","moduleType","typeName","imagePropertyName","moduleId","id","layout","shouldSkipToMainImage","contentBlockviewProps","moduleClass","contentBlockContainer","imageContainer","detailsContainer","contentBlockAnchorTag","_getImageLink","handleAdditionalParagraphChange","handleAdditionalText","handleAdditionalParagraph","additionalContentObject","actionableRegion","SocialShareView","SocialShareList","SocialShareItemElements","SocialShareItem","SocialShare","createElement","SocialShareElement","_renderSitePicker","_renderSiteOptionsList","SitePickerMenuList","SitePickerMenuListItem","SitePickerMenuListItemArray","options","onMouseLeave","resetSiteOptionsState","SitePicker","_props$SitePickerMenu","SitePickerMobileContainer","renderSiteOptions","_renderMobileView","_props$config$heading","SitePickerMenu","SitePickerMenuSpan","siteOptionsState","_renderDesktopView","TermsAndCondition","termsAndConditionAcceptance","checkBox","description","ErrorMessage","CheckoutTermsAndConditionsView","checkoutTermsAndConditions","viewState","termsAndConditionsContent","errorMessage","saveButton","editButton","cancelButton","isError","isShowSaveButton","isShowEditButton","isShowCancelButton","MagicNumber","FeatureItemViewComponent","isMosaic","featureItem","indexItem","itemCounter","renderMosaic","thisProps","interactiveFeatureCollectionMosaicContainer","interactiveFeatureCollectionMosaicImage","interactiveFeatureCollectionMosaicDetails","indexAux","caseNumberOne","itemCounterAux","caseNumberZero","modularAux","modularDivisor","firstRow","caseNumberTwo","lastRow","onCornerRight","onCornerLeft","containerClasses","interactiveFeatureCollectionCarouselContainer","interactiveFeatureCollectionCarouselImage","interactiveFeatureCollectionCarouselContent","renderCarousel","imageListView","indexKey","src","altText","paymentAmountInput","_renderReactFragment","items","slot","headerView","HeaderTag","HeaderContainer","HeaderTopBarContainer","MobileMenuContainer","MobileMenuBodyContainer","MobileMenuLinksContainer","Divider","navIcon","logo","preferredStore","AccountInfoDropdownParentContainer","AccountInfoDropdownPopoverConentContainer","accountInfoDropdownButton","signOutLink","signInLink","accountLinks","_renderDesktopAccountBlock","wishListIconDesktop","cartIcon","siteOptions","MobileMenuHeader","menuBar","wishListIconMobile","buildReviewCard","isUserReview","cardProps","headerProps","rating","date","name","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","wasReviewHelpfulText","like","dislike","edit","renderProductDescription","_props$data$product$r","primaryImageSource","PrimaryImageUrl","imageUrl","generateImageUrl","Image","sm","md","cropFocalRegion","renderProductImage","ItemId","ReviewsListview","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","sortByDropdown","userReview","isFilterApplied","review","reviewModal","modal","modalHeader","modalBody","form","inputRow","selectRatingLabel","reviewTitleLabel","titleInput","reviewTextLabel","textInput","privacyPolicyUrl","modalFooter","submitButton","createReviewModal","createReportModal","reported","headerSubmitted","header","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","_renderAccordionItemContent","AccordionItemView","drawer","accordionSlots","AccordionItemContainer","AccordionItemContent","accordionItemContent","xmlns","viewBox","style","fill","d","CheckoutPickupView","checkoutPickup","headerError","waiting","pickupGroups","isLoading","isHeaderError","pickupGroupViewProps","pickupGroupContainer","dateTimeslotContainer","groupDivider","groupHeader","groupErrorMessage","cartLineImages","pickupDateDropdown","pickupTimeslotDropdown","selectedDateTimeslot","pickupAddress","isShowDropdown","isShowSelected","AccordionItem","moduleClassName","accordionItemTitle","_onToggle","bind","slots","accordionExpandedStateResult","accordionExpandedState","expanded","isAllExpanded","isExpandedOnInitialLoad","ControlledDrawer","interactionStyle","accordionState","update","createAccordionStateInput","onSubmit","preventDefault","subscribeView","_subscribeForm$classN","_emailInput$className","_submitButton$classNa","subscribe","subscribeContainer","subscribeForm","emailInput","submitButtonLabelText","_renderPromotions","promotions","promotionMessageWrapper","promotionMessage","promotionSeeAllLink","promotionDialog","_renderCartlines","cartLines","storeSelector","backToShoppingButton","waitingComponent","cartLoadingStatus","cartDataResult","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","TelemetryConstant","PickupInStore","puckUpinStoreAttribute","ContainerProps","orgUnitName","Button","_renderErrorBlock","errorData","errors","Wrapper","_renderOrderSummarylines","orderSummaryLines","OrderSummaryItems","promoCode","subtotal","shipping","otherCharge","tax","totalDiscounts","orderTotal","_renderInvoiceSummarylines","invoiceSummaryLines","invoices","giftCard","loyalty","_renderCartLinesGroup","cartLinesGroup","cartlines","_props$context$action2","_props$context$action3","cartlineId","_renderCartLinesGroupHeader","_countItems","channel","EmailDeliveryModeCode","multiplePickUpEnabled","count","_cartLine$pickUpInSto","pickUpText","shippingText","emailshippingText","payInvoicesDisplayText","groupTitle","IsInvoiceLine","StringExtensions","isNullOrEmpty","toLowerCase","_renderCartLinesGroupTitle","_cartLine$data2","countItem","reduce","_item$data","Quantity","_cartLine$pickUpInSto2","_cartLine$pickUpInSto3","_cartLine$pickUpInSto4","itemLabel","itemsLabel","suffix","deliveryOption","CartView","_props$cart","_props$context$action","_props$cart2","renderModuleAttributes","promotionOptions","cart","hasInvoiceLine","CartlinesWrapper","orderSummaryHeading","OrderSummaryWrapper","invoiceSummaryLineitems","orderSummaryLineitems","OrderSummaryErrors","checkoutAsSignInUserButton","checkoutAsGuestButton","expressCheckoutButton","ExpressCheckoutSectionWrapper","createTemplateFromCartButton","histogramItem","buttonProps","starLabel","bar","percentage","RatingsHistogramView","histogramItems","histogramProps","ProductSpecificationView","rowdata","filter","row","ObjectExtensions","isNullOrUndefined","accordionView","AccordionContainer","accordionItems","accordionButtons","HeaderSection","HeadingWrapper","accordianButtonsContainer","AddressShow","AddressDetail","AddressList","List","isShowList","Item","showItems","isShowPrimaryButton","primaryButton","removeButton","Error","isShowError","AddressLists","_ref3","ListAddress","isShowEmptyListMessage","emptyListMessage","addButton","primaryAddressList","otherAddressList","AddressAddUpdate","_ref4","AddressForm","hasError","AddressItem","input","AddressError","AccountManagementAddressView","AccountAddressManagement","infoMessageBar","showAddressList","showAddOrUpdateAddress","screenReaderNotification","isShowAddresList","isShowAddOrUpdateAddress","BusinessSignUpItem","wrapper","isAddressInput","BusinesSignUpView","businessSignUp","ContainerWrapper","businessSignUpForm","FormWrapper","buttons","disclaimer","button","BreadCrumbView","root","backButton","BreadcrumbContainer","BreadcrumbList","BreadcrumbListItem","separator","substring","split","slice","join","OrderHistoryOrderInfomation","orderInformationProps","salesId","receiptId","channelName","createdDate","amount","channelReferenceId","OrderHistoryGroupDelivery","deliveryProps","processing","address","trackingInfo","OrderHistoryGroup","groupProps","delivery","salesLinesProps","salesLines","salesLine","LineId","OrderHistoryGroups","groupsProps","groups","group","OrderHistoryHeader","_ref5","orderCountLabel","extraActions","OrderHistorySalesOder","_ref6","salesOrderProps","orderInfomation","orderDetailsLink","expandProductsButton","OrderHistoryList","_ref7","listProps","salesOrders","salesOrder","OrderHistoryView","_ref8","orderHistoryProps","loading","emptyMessage","backToShoppingLink","list","table","moreButton","interactiveFeatureCollectionView","interactiveFeatureCollectionHeading","interactiveFeatureCollectionContainer","interactiveFeatureCollectionDesktopContainer","interactiveFeatureCollectionDesktopItems","interactiveFeatureCollectionMobileItems","interactiveFeatureCollectionMobileContainer","singleSlideCarouselComponentProps","singleSlideCarouselItemContainer","tileItem","keyIndex","ShowContactInfo","showInfoProps","email","AddContactInfo","addFormProps","inputGroupProps","CheckoutGuestProfileView","showContactInfo","addContactInfo","LoyaltySignUpView","LoyaltySignUp","memberHeading","signUpText","signUpButton","detailsLink","termsLink","_renderForm","SearchForm","cancelBtn","submitBtn","_renderKeywordSuggestions","KeywordSuggest","UlKeyword","keywordSuggestions","isLoadingAutoSuggest","isLoadingNode","_renderProductSuggestions","ProductSuggest","UlProduct","productSuggestions","LiProduct","AProduct","thumbnail","price","_renderCategorySuggestions","CategorySuggest","UlCategory","categorySuggestions","tp","children","__html","SearchView","Search","AutoSuggestAriaLabel","AutoSuggestAriaLabelText","searchText","AutoSuggest","autosuggestCategory","autosuggestKeyword","autosuggestProduct","InteractiveFeatureCollectionLinks","InteractiveFeatureItem","_telemetryContent","_this$props$config$li","featureItemLinks","_createHeading","_createParagraph","_renderImage","tabindex","isNullOrWhitespace","isAriaHiddenAttribute","_item$imageSettings","verifiedImageSettings","InteractiveFeatureCollection","itemsCounter","_this$props$config$cl","_title$tag","interactiveItems","interactiveFeatureItems","itemsFeatureCounter","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","parentId","vertical","createHeading","_getFeatureItem","socialShareItems","cookies","isConsentGiven","params","isEditor","viewprops","caption","orientation","tabIndex","_renderThumbnails","thumbnails","ThumbnailsContainerProps","SingleSlideCarouselComponentProps","_renderThumbnailItem","ThumbnailItemContainerProps","Picture","MediaGalleryView","CarouselProps","Thumbnails","MediaGallery","Modal","FooterItem","footerItemClassName","_createImageMarkup","_createText","_createLinkText","EditableLink","_createLink","HeadingContainer","ItemContainer","Link","ariaHiddenAttr","PureComponent","_cookieName","_cookieExpirationInSeconds","_escFunction","keyCode","expandSiteOptions","KeyCodes","Escape","setTimeout","_this$_sitePickerMenu","_this$_sitePickerMenu2","nextFocus","document","activeElement","_this$_sitePickerMenu3","_sitePickerMenuButton","current","contains","_sitePickerMenuNode","_resetSiteOptionsState","focus","Tab","_this$_sitePickerMenu4","_this$_sitePickerMenu5","_handleOutsideClick","_this$_sitePickerMenu6","_this$_sitePickerMenu7","_handleChange","createRef","_renderSiteOptions","_updateViewport","viewport","device","Type","isMobile","componentDidMount","_document","_document2","addEventListener","body","resizeThrottledEventHandler","window","addThrottledEvent","componentWillUnmount","_document3","_document4","removeEventListener","_this$props$config$he","_this$props$config$he2","_renderSitePickerImage","expandSiteOptionsState","e","currentTarget","cookieConfig","maxAge","set","location","_item$siteRedirectUrl","siteImage","siteRedirectUrl","siteName","_getViewport","innerWidth","observable","computed","_renderItem","Product","ProductDimensions","ProductDetails","productImage","productLink","productPrice","productDimensions","addToCartButton","productStatusMessage","entireProductLink","productAriaLabel","inventoryInformation","productUnitOfMeasure","productAttributes","dimension","WishlistItemsView","WishlistItems","status","statusMessage","Products","products","statusNotExistsMessage","From","inputPinLabel","inputExpLabel","inputProps","inputNumProps","inputPinProps","inputExpProps","inputNumber","inputPin","inputExp","applyButton","supportExternalGiftCard","showGiftCardPinInput","showGiftCardExpInput","alertFieldLabel","SelectedGiftCard","itemProps","selectedGiftCard","GiftCardList","_objectWithoutProperties","_excluded","AddResource","ShowResource","CheckoutGiftCardView","checkoutGiftCardProps","showGiftCard","addGiftCard","quantityLabel","ProductsTableRow","selectLine","productLineCatalog","productNumber","addToBagButton","productInfo","productQuantityView","productQuantity","popUp","extraActionsPopup","isMultipleCatalogFeatureEnabledInHq","disabled","lineVisibility","pointerEvents","opacity","OrderTemplateLinesView","OrderTemplateLines","ProductsTable","ProductsTableHeading","orderLines","productsStatusMessage","OrderTemplateActions","orderActions","pagination","itemAddedToCartDialog","bulkOrderLineActions","isDetailsDisplayed","detailedProductView","toggleDetailsDisplayed","cancelBtnLabel","productNumberText","productText","productUnitPriceText","productUOMText","productQuantityText","productLineCatalogName","toggleDetails","addTemplateToBag","renameTemplate","removeTemplate","actionsSplitButton","wrapClassName","autoFocus","fade","applicationNode","toggle","ModalHeader","ModalBody","ModalFooter","Accordion","expandAllButtonRef","collapseAllButtonRef","_onExpandAll","_onCollapseAll","isDisabled","headingComponent","accordionViewProps","_renderAccordionButton","_getAccordionItem","ExpandAll","attributeExpandAll","CollapseAll","attributeCollapseAll","showToggleAll","expandAllText","toggleAllSeparator","collapseAllText","_this$collapseAllButt","_this$expandAllButton","CheckInViewComponent","_props$config$additio","checkInForOrderPickup","confirmationComponent","additionalInformationKeys","FormBuilder","additionalInformationHeading","additionalInformationDefaultHeading","submitButtonText","additionalInformationSubmitButtonText","keys","requiredValueMissingErrorMessage","isCheckedIn","renderConfigureDropdown","dropdown","containerProps","labelContainerProps","select","renderConfigure","configure","dropdowns","quickOrderGridView","quickOrderGridProps","contentProps","quickOrderGridForm","quickOrderGridFormProductContent","quickOrderGridFormMsgContent","container","actions","addProductListToBag","removeProductList","renderForm","quickOrderForm","quickOrderProductContent","quickOrderMessageContent","quantity","userMessage","addToListBtn","bulkPurchase","MapHeader","MapView","Header","MapProps","FooterItemView","_renderElement","AccountLoyaltyView","AccountLoyalty","Info","Points","Breakdown","RewardPoints","PointsBreakdown","infoLabel","cardNumber","joinDate","pointsLabel","points","rewardPoints","homeButton","pointsModal","ModalBodyTop","ModalBodyHeaders","activity","availableModalLabel","availableModalTrigger","expiringModalLabel","expiringModalTrigger","returnFocusRef","horizontalPosition","verticalPosition","modalClassName","zIndex","onClosed","onClose","onOpened","modalHeaderClassName","modalBodyClassName","pointsDescription","totalPoints","balanceLabel","rewardPointsActivity","Activity","activityType","activityDate","activityPoints","renderAdditionalContent","_additionalContent$ad","ContentBlockView","PasswordResetVerificationItem","PasswordResetVerificationLoading","icon","PasswordResetVerificationView","passwordResetVerification","defaultAADConainer","aadConainer","passwordResetVerificationLocalAccount","isShowLoading","localAccount","verificationControlWrapper","successMessage","verificationButtonsWrapper","verificationButtons","buttonsWrapper","verificationSuccessModal","verificationSuccessModalMessage","LocalAccount","OrderTemplateListView","OrderTemplateList","OrderTemplates","orderTemplates","OrderTemplate","createOrderTemplateButton","templateHeaderStatusMessage","orderTemplate","_renderOrderTemplate","orderTemplateImage","orderTemplateStatusMessage","orderTemplateName","renderThumbnailItem","GetEmptyThumbnailItemComponent","_props$context$app$co2","_props$config$thumbna2","fallbackImage","emptyPlaceHolderImage","placeholderImageName","_props$context$reques2","getFallbackImageUrl","thumbnailImageSettings","imageFallbackOptimize","skipImageValidation","fallBackSrc","defaultThumbnailImageSettings","renderThumbnails","mediaGalleryItems","getMediaGalleryItems","lastUpdate","GetThumbnailItemComponent","imageId","modifiedActiveIndex","_props$context$app$co","_props$config$thumbna","_props$context$reques","_props$callbackToggle","_props$callbackThumbn","callbackToggle","call","callbackThumbnailClick","activeIndex","handleKeyDown","Enter","onKeyDown","shouldUseOptimizedImage","bypassHideOnFailure","fullScreenTitleText","mediaGalleryView","ratingLabel","titleLabel","textLabel","WriteReviewView","signInMessage","signInButton","modalToggle","isAuthenticated","user"],"mappings":"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","file":"static/js/2.b8fbc373b688769647db.chunk.js","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getRichTextHtml } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\n/**\n * Product specification table row.\n */\nexport interface IProductSpecificationTableRow {\n productName?: string;\n cellData?: React.ReactNode;\n className?: string;\n}\n\n/**\n * Product specification table row component.\n * @param props - For product specification table row.\n * @param props.productName - Product name.\n * @param props.cellData - Cell data.\n * @param props.className - Class name.\n * @returns - Returns JSX element.\n */\nexport const ProductSpecificationTableRow: React.FC = ({ productName, cellData, className }) => (\n \n \n {/* eslint-disable-next-line react/no-danger */}\n \n \n {cellData}\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISelectedStoreViewProps } from './components/selected-store/selected-store';\nimport { IStoreSelectorViewProps } from './store-selector';\n\n/**\n * Renders the pickup Delivery options.\n * @param props -- Selected store view props.\n * @returns -- HTML.\n */\nconst renderDeliveryOptions: React.FC = props => {\n const { canSelectLocation, deliveryOptions, pickUpDeliveryOptionButton, pickupModes } = props;\n\n return (\n <>\n {/* eslint-disable-next-line no-nested-ternary -- Need this.*/}\n {canSelectLocation ? (ArrayExtensions.hasElements(deliveryOptions) ? pickupModes : pickUpDeliveryOptionButton) : false}\n \n );\n};\n\n/**\n * Render the selected store.\n * @param props -- Selected store view props.\n * @returns -- HTML.\n */\nconst renderSelectedStore: React.FC = props => {\n const {\n storeDetailsMain,\n storeHeader,\n storeName,\n storeDetailsCloseButton,\n storeDistance,\n storeDetailsAvailabilityContainer,\n productAvailability,\n stockStatus,\n isCurrentLocation,\n currentLocation,\n isPreferredStore,\n preferredStoreButton,\n removePreferredStoreButton\n } = props;\n\n return (\n \n \n {storeDetailsCloseButton}\n {storeName}\n {storeDistance}\n \n \n {productAvailability}\n {stockStatus}\n \n {isCurrentLocation ? currentLocation : renderDeliveryOptions(props)}\n {isPreferredStore ? preferredStoreButton : removePreferredStoreButton}\n \n );\n};\n\n/**\n * Render the body of the popup.\n * @param props -- Store selector view props.\n * @returns -- Returns the html.\n */\nconst renderBody: React.FC = props => {\n const {\n BodyContainerProps,\n locationsMessage,\n search,\n state,\n spinner,\n locationsList,\n noLocationsMessage,\n maps,\n bodyWrapperProps,\n storeResultContainerProps,\n mapContainerProps,\n isMobileView,\n storeDetailsModal,\n selectedLocation\n } = props;\n\n if (isMobileView) {\n return (\n \n {locationsMessage}\n {search}\n \n \n {state.isSearchInProgress ? spinner : <>{locationsList ? locationsList : noLocationsMessage}}\n {maps}\n {selectedLocation && renderSelectedStore(selectedLocation)}\n \n \n \n );\n }\n\n return (\n \n \n \n {locationsMessage}\n {search}\n {state.isSearchInProgress ? spinner : <>{locationsList ? locationsList : noLocationsMessage}}\n \n {maps}\n \n \n );\n};\n\n/**\n * Store selector view props.\n * @param props - Store selector view props.\n * @returns - HTML.\n */\nconst StoreSelectorView: React.FC = props => {\n const {\n FooterContainerProps,\n HeaderContainerProps,\n HeaderProps,\n ModuleProps,\n\n terms\n } = props;\n\n return (\n \n {HeaderProps}\n {renderBody(props)}\n {terms}\n \n );\n};\n\nexport default StoreSelectorView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckoutCustomerAccountPaymentViewProps } from './checkout-customer-account-payment';\nimport { IAccountPaymentEditViewForm } from './components/get-account-payment-form-edit-mode';\nimport { IAccountPaymentSummaryViewForm } from './components/get-account-payment-form-summary-mode';\n\nexport const SummaryForm: React.FC = ({\n formProps,\n label,\n paymentAmount,\n addPaymentButton,\n appliedLine,\n bottomBorder\n}) => (\n \n <>\n {label}\n {paymentAmount}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nexport const EditForm: React.FC = ({\n formProps,\n inputLabel,\n inputAmount,\n addPaymentButton,\n customerName,\n customerAccountNumber,\n customerSince,\n accountCredit,\n alert,\n accountDetails,\n appliedLine,\n bottomBorder\n}) => (\n \n <>\n {customerName}\n {customerAccountNumber}\n {customerSince}\n {accountCredit}\n {accountDetails}\n {inputLabel}\n {alert}\n {inputAmount}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nconst CheckoutCustomerAccountView: React.FC = props => {\n const { checkoutCustomerAccount, checkoutErrorRef, summaryView, editView, moduleState, alert } = props;\n return (\n \n {alert}\n {moduleState.isReady && summaryView && }\n {!moduleState.isReady && editView && }\n \n );\n};\n\nexport default CheckoutCustomerAccountView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IImageListConfig, IImageListProps, IImagesData } from './image-list.props.autogenerated';\n\n/**\n * The interface for IImageListViewProps.\n */\nexport interface IImageListViewProps extends IImageListProps {\n imageList: IModuleProps;\n imageListHeading?: React.ReactNode;\n imageListContainer: INodeProps;\n imageListItem: INodeProps;\n imageListItemAnchorTag: INodeProps;\n imageListItems: IImageListItem[] | undefined;\n}\n\n/**\n * The interface for IImageListItem.\n */\nexport interface IImageListItem {\n image: JSX.Element | undefined;\n text: JSX.Element | undefined;\n link: string | undefined;\n linkAltText: string | undefined;\n linkAriaLabel: string | undefined;\n linkOpenInNewTab?: boolean;\n}\n\n/**\n *\n * ImageList component.\n * @extends {React.PureComponent>}\n */\nclass ImageList extends React.PureComponent> {\n public render(): JSX.Element | null {\n const { heading } = this.props.config;\n const imageListTitle = heading && ;\n const viewProps: IImageListViewProps = {\n ...this.props,\n imageList: {\n moduleProps: this.props,\n className: classnames('ms-image-list', this.props.config.className),\n tag: 'div'\n },\n imageListHeading: imageListTitle,\n imageListContainer: {\n className: 'ms-image-list__list',\n role: 'list',\n tag: 'ul'\n },\n imageListItem: {\n className: 'ms-image-list__list-item',\n role: 'listitem',\n tag: 'li'\n },\n imageListItemAnchorTag: {\n tag: 'a',\n className: 'ms-image-list__link',\n role: 'link'\n },\n imageListItems: this._renderImageListItems()\n };\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle paragraph change.\n * @param index - Index of image item in array of image items.\n * @returns Void.\n */\n public handleParagraphChange = (index: number) => (event: Msdyn365.ContentEditableEvent): void => {\n if (this.props.config.images![index]) {\n this.props.config.images![index].paragraph = event.target.value;\n }\n };\n\n /**\n * Render list of images.\n * @returns List of images with text and redirection link.\n */\n private readonly _renderImageListItems = (): IImageListItem[] | undefined => {\n const imageList: IImagesData[] | undefined = this.props.config.images;\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 },\n lg: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 },\n xl: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 }\n },\n lazyload: false,\n disableLazyLoad: true\n };\n return imageList?.map((item, index) => {\n const { image, link, paragraph } = item;\n\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: (image?.imageSettings ?? defaultImageSettings) as Msdyn365.IImageSettings | undefined\n };\n\n const imageLink: string | undefined = link?.linkUrl.destinationUrl;\n const imageLinkText: string | undefined = link?.linkText ?? link?.ariaLabel;\n const imageLinkAriaLabel: string | undefined = link?.ariaLabel;\n const imageLinkOpenInNewTab = link?.openInNewTab;\n\n // If image is null, we want to render the placeholder SVG - by passing image data with empty src\n const imageImage = (\n \n );\n\n const imageText = paragraph && (\n \n );\n const imageListItem: IImageListItem = {\n image: imageImage,\n text: imageText,\n link: imageLink,\n linkAltText: imageLinkText,\n linkAriaLabel: imageLinkAriaLabel,\n linkOpenInNewTab: imageLinkOpenInNewTab\n };\n return imageListItem;\n });\n };\n}\n\nexport default ImageList;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { AttributeValue } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { Drawer, IModuleProps, INodeProps, Module } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { reaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { AttributesForSelectedVariantInput, getAttributesForSelectedVariant } from '../..';\nimport { ProductSpecificationTableRow } from './components/product-specification-table-stucture';\nimport { IProductSpecificationData } from './product-specification.data';\nimport { displayStyle, IProductSpecificationProps } from './product-specification.props.autogenerated';\n\n/**\n * Maintain Drawer State.\n */\nexport interface IProductSpecificationState {\n isDrawerOpen: boolean;\n isAdditionalMediaDrawerOpen: boolean;\n drawerListId: number | undefined;\n}\n\n/**\n * Product specification view props.\n */\nexport interface IProductSpecificationViewProps extends IProductSpecificationProps<{}> {\n ProductSpecification: IModuleProps;\n ProductSpecificationTableProps: INodeProps;\n ProductSpecificationTableBodyProps: INodeProps;\n productSpecificationResult?: (JSX.Element | null)[];\n\n title?: React.ReactNode;\n isAccrodion?: boolean;\n handleText?(event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * Check for display style either accordion or table.\n */\nexport interface IProductSpecificationExtentedProps extends IProductSpecificationProps {\n displayStyle?: displayStyle;\n}\n\n/**\n *\n * ProductSpecification component.\n * @extends {React.Component>}\n */\n@observer\nclass ProductSpecification extends React.Component {\n public constructor(props: IProductSpecificationExtentedProps) {\n super(props);\n this.state = {\n isDrawerOpen: false,\n isAdditionalMediaDrawerOpen: false,\n drawerListId: undefined\n };\n }\n\n public async componentDidMount(): Promise {\n const { context, data, telemetry } = this.props;\n const catalogId = Msdyn365.getCatalogId(this.props.context.request);\n validateCatalogId(catalogId);\n reaction(\n () => (data.product.result ? data.product.result.RecordId : null),\n () => {\n if (context && data.product.result) {\n const actionInput = new AttributesForSelectedVariantInput(\n data.product.result.RecordId,\n\n +context.actionContext.requestContext.apiSettings.channelId,\n data.product.result,\n catalogId\n );\n\n getAttributesForSelectedVariant(actionInput, this.props.context.actionContext).catch((error: Error) => {\n telemetry.error(error.message);\n telemetry.debug('Unable to update attributes for Product');\n telemetry.error(error.message);\n });\n }\n }\n );\n }\n\n public shouldComponentUpdate(nextProps: IProductSpecificationExtentedProps, nextState: IProductSpecificationState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n let data: IProductSpecificationData;\n try {\n data = this.props.data;\n } catch (error) {\n this.props.telemetry.error(`Something went wrong ------${error}`);\n return
{error}
;\n }\n\n if (!data.productSpecificationData.result || data.productSpecificationData.result.length <= 0) {\n this.props.telemetry.error('Product specification content is empty, module wont render.');\n return null;\n }\n\n const { heading, className } = this.props.config;\n const { productSpecificationData } = this.props.data;\n const isAccrodion = this.props.config.displayStyle === displayStyle.accordion;\n const viewProps = {\n ...this.props,\n handleText: this.handleHeadingChange,\n ProductSpecification: {\n moduleProps: this.props,\n className: classnames('ms-product-specification', className)\n },\n ProductSpecificationTableProps: isAccrodion\n ? {\n moduleProps: this.props,\n className: classnames('ms-product-specification__accordion', className)\n }\n : {\n className: classnames('ms-product-specification__table table-striped table-bordered'),\n tag: 'table'\n },\n isAccrodion,\n ProductSpecificationTableBodyProps: isAccrodion\n ? {}\n : {\n className: '',\n tag: 'tbody'\n },\n title: heading?.text && (\n \n ),\n productSpecificationResult:\n productSpecificationData.result && (isAccrodion ? this._createDrawerBody(data) : this._createTableBody(data))\n } as IProductSpecificationViewProps;\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handle Heading Text Change.\n * @param event - Current event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n private _createTableBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const tableRows = content.productSpecificationData.result!.map((product, index) => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n\n if (!cellData) {\n return null;\n }\n\n return (\n <>\n \n \n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n tableRows.push(this._createAdditionalMediaDrawer());\n }\n\n return tableRows;\n }\n\n private _createDrawerBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n const drawers = content.productSpecificationData.result!.map(product => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n if (!cellData) {\n return null;\n }\n return (\n \n \n
{cellData}
\n \n
\n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n drawers.push(this._createAdditionalMediaDrawer());\n }\n\n return drawers;\n }\n private _createAdditionalMediaDrawer(): JSX.Element {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n return (\n \n {\n this.setState(prevState => ({\n ...prevState,\n isAdditionalMediaDrawerOpen: !prevState.isAdditionalMediaDrawerOpen\n }));\n }}\n >\n
\n \n
\n \n
\n );\n }\n\n private readonly _toggle = (drawerListId: number | undefined) => (): void => {\n if (this.state.drawerListId !== drawerListId) {\n this.setState({ drawerListId, isDrawerOpen: true });\n } else {\n this.setState({ drawerListId: undefined, isDrawerOpen: false });\n }\n };\n\n private _renderProductCell(product: AttributeValue): JSX.Element | null {\n switch (product.DataTypeValue) {\n case 0: // None\n // Return span here instead of null so the row still shows\n return ;\n case 1: // Currency\n return this._renderCurrencyCell(product);\n case 2: // DateTime\n return this._renderDateTimeCell(product);\n case 3: // Decimal\n return this._renderDecimalCell(product);\n case 4: // Integer\n return this._renderIntegerCell(product);\n case 5: // Text\n return this._renderTextCell(product);\n case 6: // TrueFalse\n return this._renderTrueFalseCell(product);\n case 40: // Video\n this.props.telemetry.warning('Got video specification type, not supported yet so skipping line');\n return null;\n case 41: // Image\n this.props.telemetry.warning('Got image specification type, not supported yet so skipping line');\n return null;\n default:\n this.props.telemetry.warning(`Got unknown specification type ${product.DataTypeValue} so skipping line`);\n return null;\n }\n }\n\n private _renderCurrencyCell(product: AttributeValue): JSX.Element | null {\n if (product.CurrencyValue !== null && product.CurrencyValue !== undefined) {\n return (\n \n {product.CurrencyCode}\n {product.CurrencyValue}\n \n );\n }\n\n return null;\n }\n\n private _renderDateTimeCell(product: AttributeValue): JSX.Element | null {\n if (product.DateTimeOffsetValue?.toUTCString) {\n return {product.DateTimeOffsetValue.toUTCString()};\n }\n\n return null;\n }\n\n private _renderIntegerCell(product: AttributeValue): JSX.Element | null {\n if (product.IntegerValue !== null && product.IntegerValue !== undefined) {\n return {product.IntegerValue};\n }\n\n return null;\n }\n\n private _renderDecimalCell(product: AttributeValue): JSX.Element | null {\n if (product.FloatValue !== null && product.FloatValue !== undefined) {\n return {product.FloatValue};\n }\n\n return null;\n }\n\n private _renderTextCell(product: AttributeValue): JSX.Element | null {\n if (product.TextValue !== null && product.TextValue !== undefined) {\n // eslint-disable-next-line react/no-danger\n return ;\n }\n\n return null;\n }\n\n private _renderTrueFalseCell(product: AttributeValue): JSX.Element | null {\n // TODO 20369885 setting to default value is needed to work around a platform bug where\n // config string value does not get its default value.\n if (product.BooleanValue) {\n return {this.props.resources.trueValueText ? this.props.resources.trueValueText : 'Yes'};\n }\n return {this.props.resources.falseValueText ? this.props.resources.falseValueText : 'No'};\n }\n}\n\nexport default ProductSpecification;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAdditionalContentData, ILinksData } from '../content-block.props.autogenerated';\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Component props.\n */\nexport interface IContentBlockAdditionalContentProps {\n requestContext: Msdyn365.IRequestContext;\n additionalContent: IAdditionalContentData[] | undefined;\n handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content view props.\n */\nexport interface IContentBlockAdditionalContentViewProps {\n additionalContentNode: INodeProps;\n additionalContentItems?: IContentBlockAdditionalContentItemViewProps[];\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Item view props.\n */\nexport interface IContentBlockAdditionalContentItemViewProps {\n heading: React.ReactNode;\n text: React.ReactNode;\n links: React.ReactNode;\n additionalContentItemContainer: INodeProps;\n additionalContentItemLinks: INodeProps;\n}\n\n/**\n * Renders additional content heading.\n * @param additionalContentHeading - Additional content heading.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Heading Node.\n */\nconst renderHeading = (additionalContentHeading: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param additionalContentParagraphText - Additional content paragraph text.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Paragraph Node.\n */\nconst renderParagraph = (additionalContentParagraphText: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param ctaLink - Additional content link.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @param linkIndex - Additional content link index.\n * @returns Link Node.\n */\nconst renderLinks = (ctaLink: ILinksData, props: IContentBlockAdditionalContentProps, itemIndex: number, linkIndex: number) => {\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: ctaLink.ariaLabel,\n className: 'ms-content-block__details__additional-content-cta-links',\n linkText: ctaLink.linkText,\n linkUrl: ctaLink.linkUrl.destinationUrl,\n openInNewTab: ctaLink.openInNewTab,\n role: 'link'\n };\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalLinkTextChange(linkIndex, itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Create node for each additonal content item.\n * @param item - Content block additonal content item props.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns IContentBlockAdditionalContentItemViewProps.\n */\nconst assembleNode = (\n item: IAdditionalContentData,\n props: IContentBlockAdditionalContentProps,\n itemIndex: number\n): IContentBlockAdditionalContentItemViewProps => {\n const headingNode = item.heading && renderHeading(item.heading, props, itemIndex);\n const paragraphNode = item.subtext && renderParagraph(item.subtext, props, itemIndex);\n const linksNode = item.links?.map((ctaLink: ILinksData, index: number) => {\n return renderLinks(ctaLink, props, itemIndex, index);\n });\n\n return {\n heading: headingNode,\n text: paragraphNode,\n links: linksNode,\n additionalContentItemContainer: { className: 'ms-content-block__details__additional-content__container' },\n additionalContentItemLinks: { className: 'ms-content-block__details__additional-content-cta' }\n };\n};\n\n/**\n * ContentBlockAdditionalContent component.\n * @param props - Content Block Additional content component props.\n * @returns Content Block Additional content view props.\n */\nexport const contentBlockAdditionalContent = (\n props: IContentBlockAdditionalContentProps\n): IContentBlockAdditionalContentViewProps | undefined => {\n const { additionalContent } = props;\n if (!additionalContent) {\n return undefined;\n }\n\n const reactNodes: IContentBlockAdditionalContentItemViewProps[] = [];\n additionalContent.map((item, index: number) => {\n return reactNodes.push(assembleNode(item, props, index));\n });\n\n return {\n additionalContentNode: { className: 'ms-content-block__details__additional-content' },\n additionalContentItems: reactNodes\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../content-block.props.autogenerated';\n\nexport interface IContentCardLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n role?: string;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * ContentCardLinks component.\n * @extends {React.PureComponent}\n */\nexport class ContentCardLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n }\n\n private readonly _mapEditableLinks = (linkdata: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n linkdata.forEach((link, index) => {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const btnClass = index === 0 ? 'msc-cta__primary' : 'msc-cta__secondary';\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: btnClass,\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: this.props.role,\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n };\n}\nexport default ContentCardLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { contentBlockAdditionalContent, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport LinksComponent from './components/links';\nimport { actionableRegion as region, IContentBlockConfig, IContentBlockProps } from './content-block.props.autogenerated';\n\nexport interface IContentBlockViewProps extends IContentBlockProps<{}> {\n title?: React.ReactNode;\n text?: React.ReactNode;\n image?: React.ReactNode;\n links?: React.ReactNode;\n className?: string;\n contentBlockContainer: IModuleProps;\n imageContainer: INodeProps;\n detailsContainer: INodeProps;\n contentBlockAnchorTag?: INodeProps;\n imageLink?: string;\n imageAriaLabel?: string;\n additionalContent?: IContentBlockAdditionalContentViewProps;\n handleAdditionalText?(): void;\n handleAdditionalParagraph?(): void;\n handleAdditionalLinkTextChange?(): void;\n}\n\n/**\n * Site-builder configuration for the module.\n */\nexport interface IContentBlockFullConfig extends IContentBlockConfig {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- This field comes from SDK.\n msdyn365__moduleLayout?: string;\n}\n\n/**\n * ContentCard component.\n * @extends {React.PureComponent}\n */\nexport class ContentBlock extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public render(): JSX.Element | null {\n const { heading, paragraph, image, links, className, imageAriaLabel } = this.props.config;\n const contentBlockTitle = heading && (\n \n );\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings ?? {},\n imageSettings: image?.imageSettings\n };\n const contentBlockLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n const contentBlockText = paragraph && (\n \n );\n const contentBlockImage = (\n \n );\n\n if (!contentBlockTitle && !contentBlockText && !contentBlockLinks) {\n this.props.context.telemetry.error('Content block content is empty, module wont render.');\n return null;\n }\n const contentBlockviewProps = {\n ...this.props,\n title: contentBlockTitle,\n text: contentBlockText,\n image: contentBlockImage,\n links: contentBlockLinks,\n moduleClass: this.props.config.className,\n contentBlockContainer: {\n moduleProps: this.props,\n className: classnames('ms-content-block', className)\n },\n imageContainer: { className: 'ms-content-block__image' },\n detailsContainer: { className: 'ms-content-block__details' },\n contentBlockAnchorTag: {\n tag: 'a',\n className: 'ms-content-block__link',\n role: 'link'\n },\n imageLink: this._getImageLink(),\n imageAriaLabel,\n additionalContent: contentBlockAdditionalContent({\n requestContext: this.props.context.request,\n additionalContent: this.props.config.additionalContent,\n handleAdditionalTextChange: this.handleAdditionalTextChange,\n handleAdditionalParagraphChange: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n }),\n handleAdditionalText: this.handleAdditionalTextChange,\n handleAdditionalParagraph: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n };\n\n return this.props.renderView(contentBlockviewProps) as React.ReactElement;\n }\n\n /**\n * To handle text change.\n * @param event - To handle text change event.\n * @name - HandleTextChange\n * @public\n * @returns - The Text value.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n /**\n * To handle paragraph change.\n * @param event - To handle text change event.\n * @name - HandleParagraphChange\n * @public\n * @returns - The Paragraph value.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.paragraph = event.target.value);\n\n /**\n * Handle link text change.\n * @param linkIndex - The link index.\n * @returns - Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n };\n\n public handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].heading = event.target.value;\n }\n }\n\n public handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void {\n const additionalContentObject =\n (this.props.config.additionalContent &&\n ArrayExtensions.hasElements(this.props.config.additionalContent) &&\n this.props.config.additionalContent[Number(index)]) ||\n {};\n if (additionalContentObject.links) {\n additionalContentObject.links[Number(linkIndex)].linkText = event.target.value;\n }\n }\n\n public handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].subtext = event.target.value;\n }\n }\n\n private _getImageLink(): string | null {\n const { imageLink, links, actionableRegion } = this.props.config;\n if (actionableRegion === region.imageAndLinks) {\n if (imageLink?.destinationUrl) {\n return imageLink.destinationUrl;\n } else if (links && ArrayExtensions.hasElements(links) && links[0].linkUrl) {\n return links[0].linkUrl.destinationUrl;\n }\n return null;\n }\n return null;\n }\n}\n\nexport default ContentBlock;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ISocialShareViewProps } from './social-share';\n\nexport const SocialShareView: React.FC = props => {\n const { SocialShareList, SocialShareItemElements, SocialShareItem, SocialShare } = props;\n if (SocialShareItemElements.length === 0) {\n props.context.telemetry.error('Social media list is empty, module wont render');\n return null;\n }\n return (\n \n \n {SocialShareItemElements.map((SocialShareElement: ReactNode, index: number) => {\n return (\n \n {SocialShareElement}\n \n );\n })}\n \n \n );\n};\n\nexport default SocialShareView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISitePickerViewProps } from './site-picker';\n\nexport default (props: ISitePickerViewProps) => {\n return <>{_renderSitePicker(props)};\n};\n\nconst _renderDesktopView = (props: ISitePickerViewProps) => {\n const { SitePickerMenu, SitePickerMenuSpan } = props;\n return (\n <>\n \n {props.config.heading?.text}\n \n \n {props.siteOptionsState ? _renderSiteOptionsList(props) : null}\n \n );\n};\n\nconst _renderSiteOptionsList = (props: ISitePickerViewProps): React.ReactNode => {\n const { SitePickerMenuList, SitePickerMenuListItem, SitePickerMenuListItemArray } = props;\n const options = SitePickerMenuListItemArray!.map((item, index) => {\n return (\n \n {item}\n \n );\n });\n return (\n \n {options}\n \n );\n};\n\nconst _renderMobileView = (props: ISitePickerViewProps): React.ReactNode => {\n const { SitePickerMobileContainer } = props;\n return (\n \n
\n {props.SitePickerMenuListItemArray?.map((item, index) => {\n return
{item}
;\n })}\n
\n
\n );\n};\n\nconst _renderSitePicker = (props: ISitePickerViewProps): React.ReactNode => {\n const { isMobileView, SitePicker } = props;\n return {isMobileView ? _renderMobileView(props) : _renderDesktopView(props)};\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n ICheckoutTermsAndConditions,\n ICheckoutTermsAndConditionsError,\n ICheckoutTermsAndConditionsViewProps\n} from './checkout-terms-and-conditions';\n\nconst TermsAndCondition: React.FC = ({ termsAndConditionAcceptance, checkBox, description }) => {\n return (\n \n {checkBox}\n {description}\n \n );\n};\n\nconst ErrorMessage: React.FC = ({ error, title, message }) => {\n return (\n \n {title}\n {message}\n \n );\n};\n\nconst CheckoutTermsAndConditionsView: React.FC = props => {\n const {\n checkoutTermsAndConditions,\n checkoutErrorRef,\n viewState,\n termsAndConditionsContent,\n errorMessage,\n saveButton,\n editButton,\n cancelButton\n } = props;\n\n return (\n // TODO: All wrapper div should be provided by viewProps. Once SDK provide the sln, update markup.\n \n {viewState.isError && errorMessage && }\n \n {viewState.isShowSaveButton && saveButton}\n {viewState.isShowEditButton && editButton}\n {viewState.isShowCancelButton && cancelButton}\n \n );\n};\n\nexport default CheckoutTermsAndConditionsView;\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 classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IInteractiveFeatureItemViewProps } from './interactive-feature-item';\n\n/**\n * Enumerator used to make some calculations to set the proper classnames\n * using modular calculations to see if they are in a right or left column or on first or last row.\n */\nenum MagicNumber {\n modularDivisor = 4,\n caseNumberZero = 0,\n caseNumberOne = 1,\n caseNumberTwo = 2\n}\n\n/**\n * Feature Item View.\n * @param thisProps - Feature Item view props.\n * @param indexItem - Feature Item view props.\n * @param itemCounter - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */\nconst renderMosaic = (thisProps: IInteractiveFeatureItemViewProps, indexItem?: number, itemCounter?: number): JSX.Element | null => {\n const {\n title,\n paragraph,\n image,\n links,\n interactiveFeatureCollectionMosaicContainer,\n interactiveFeatureCollectionMosaicImage,\n interactiveFeatureCollectionMosaicDetails\n } = thisProps;\n const indexAux = indexItem ? indexItem + MagicNumber.caseNumberOne : MagicNumber.caseNumberOne;\n const itemCounterAux = itemCounter ? itemCounter : MagicNumber.caseNumberZero;\n const modularAux = indexAux % MagicNumber.modularDivisor;\n const firstRow = indexAux <= MagicNumber.caseNumberTwo ? 'firstRow' : '';\n const lastRow =\n itemCounterAux && (indexAux === itemCounterAux || indexAux === itemCounterAux - MagicNumber.caseNumberOne) ? 'lastRow' : '';\n const onCornerRight = modularAux === MagicNumber.caseNumberZero ? 'item-corner-right' : '';\n const onCornerLeft = modularAux === MagicNumber.caseNumberOne ? 'item-corner-left' : '';\n const containerClasses = classnames('ms-interactive-feature-collection-mosaic', onCornerLeft, onCornerRight, firstRow, lastRow);\n\n return (\n \n {image}\n \n {title}\n {paragraph}\n {links}\n \n \n );\n};\n\n/**\n * Feature Item View.\n * @param thisProps - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */ const renderCarousel = (thisProps: IInteractiveFeatureItemViewProps): JSX.Element | null => {\n const {\n title,\n paragraph,\n image,\n links,\n interactiveFeatureCollectionCarouselContainer,\n interactiveFeatureCollectionCarouselImage,\n interactiveFeatureCollectionCarouselContent\n } = thisProps;\n return (\n \n {image}\n \n {title}\n {paragraph}\n {links}\n \n \n );\n};\n\n/**\n * Feature Item View.\n * @param props - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */\nexport const FeatureItemViewComponent: React.FC = props => {\n const { isMosaic, featureItem, indexItem, itemCounter } = props;\n if (isMosaic) {\n return <>{renderMosaic(props, indexItem, itemCounter)};\n }\n return {renderCarousel(props)};\n};\n\nexport default FeatureItemViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IImageListViewProps } from './image-list';\n\n/**\n * Render the thumbnail item images.\n * @param props - The image list view props.\n * @returns Return HTML having IImageListViewProps props with image List.\n */\nexport const imageListView = (props: IImageListViewProps): JSX.Element => {\n const { imageList, imageListContainer, imageListHeading, imageListItem, imageListItems, imageListItemAnchorTag } = props;\n return (\n \n {imageListHeading}\n \n {imageListItems?.map(item => {\n let indexKey: string;\n\n if (item.image) {\n const image = (item.image as unknown) as Msdyn365.Image;\n indexKey = image.props.src as string;\n } else {\n const text = (item.text as unknown) as Msdyn365.RichTextComponent;\n indexKey = text.props.text as string;\n }\n return (\n \n {item.image && (\n \n {item.image}\n \n )}\n {item.text}\n \n );\n })}\n
\n \n );\n};\n\nexport default imageListView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckoutCustomerAccountPaymentViewProps } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/checkout-customer-account-payment';\nimport { IAccountPaymentEditViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-edit-mode';\nimport { IAccountPaymentSummaryViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-summary-mode';\n\nexport const SummaryForm: React.FC = ({\n formProps,\n label,\n addPaymentButton,\n appliedLine,\n bottomBorder,\n paymentAmountInput\n}) => (\n \n <>\n {label}\n {paymentAmountInput}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nexport const EditForm: React.FC = ({\n formProps,\n inputLabel,\n inputAmount,\n addPaymentButton,\n customerName,\n customerAccountNumber,\n customerSince,\n accountCredit,\n alert,\n accountDetails,\n appliedLine,\n bottomBorder\n}) => (\n \n <>\n {customerName}\n {customerAccountNumber}\n {customerSince}\n {accountCredit}\n {accountDetails}\n {inputLabel}\n {alert}\n {inputAmount}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nconst CheckoutCustomerAccountView: React.FC = props => {\n const { checkoutCustomerAccount, checkoutErrorRef, summaryView, editView, moduleState, alert } = props;\n return (\n \n {alert}\n {moduleState.isReady && summaryView && }\n {!moduleState.isReady && editView && }\n \n );\n};\n\nexport default CheckoutCustomerAccountView;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { IHeaderProps } from '../definition-extensions/header.ext.props.autogenerated';\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/src/modules/header/./header';\r\n\r\nconst headerView: React.FC> = (props: IHeaderViewProps & IHeaderProps<{}>) => {\r\n const {\r\n HeaderTag,\r\n HeaderContainer,\r\n HeaderTopBarContainer,\r\n MobileMenuContainer,\r\n MobileMenuBodyContainer,\r\n MobileMenuLinksContainer,\r\n Divider\r\n } = props;\r\n return (\r\n \r\n \r\n \r\n {props.navIcon}\r\n {props.logo}\r\n {_renderReactFragment(props.search)}\r\n {props.preferredStore}\r\n {_renderDesktopAccountBlock(props)}\r\n {props.wishListIconDesktop}\r\n \r\n {props.cartIcon}\r\n {_renderReactFragment(props.siteOptions)}\r\n \r\n \r\n \r\n { props.MobileMenuHeader }\r\n {_renderReactFragment(props.menuBar)}\r\n \r\n { props.accountLinks ? props.accountLinks.map(link => link) : false }\r\n { props.siteOptions }\r\n { props.wishListIconMobile }\r\n { props.signInLink }\r\n { props.signOutLink }\r\n \r\n \r\n \r\n {_renderReactFragment(props.menuBar)}\r\n \r\n \r\n );\r\n};\r\n\r\nfunction _renderDesktopAccountBlock(props: IHeaderViewProps): JSX.Element | null {\r\n const {\r\n AccountInfoDropdownParentContainer,\r\n AccountInfoDropdownPopoverConentContainer,\r\n accountInfoDropdownButton,\r\n signOutLink,\r\n signInLink,\r\n accountLinks\r\n } = props;\r\n\r\n if (AccountInfoDropdownParentContainer) {\r\n if (AccountInfoDropdownPopoverConentContainer) {\r\n return (\r\n \r\n {accountInfoDropdownButton}\r\n \r\n { accountLinks ? accountLinks.map(link => link) : false }\r\n {signOutLink}\r\n \r\n \r\n );\r\n } else if (signInLink) {\r\n return (\r\n \r\n {signInLink}\r\n \r\n );\r\n }\r\n }\r\n props.context.telemetry.error('Header content is empty, module wont render.');\r\n return null;\r\n}\r\n\r\nfunction _renderReactFragment(items: React.ReactNode[]): JSX.Element | null {\r\n return (\r\n <>\r\n {items && items.length > 0 ? items.map((slot: React.ReactNode, index: number) => {\r\n return (\r\n {slot}\r\n );\r\n }) : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport {\n IReportReviewModalViewProps,\n IReviewCardViewProps,\n IReviewsListData,\n IReviewsListResources,\n IReviewsListState,\n IReviewsListViewProps\n} from '@msdyn365-commerce-modules/ratings-reviews';\nimport { ArrayExtensions, generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IReviewsListProps } from '../definition-extensions/reviews-list.ext.props.autogenerated';\n\n/**\n * Build Review Card.\n * @param props - Review Card ViewProps.\n * @param resources - Resource Strings.\n * @param isUserReview - User review flag.\n * @returns JSX Element.\n */\nconst buildReviewCard = (props: IReviewCardViewProps, resources: IReviewsListResources, isUserReview: boolean) => {\n return (\n \n \n
\n {props.rating}\n {props.date}\n
\n {props.name}\n
\n \n \n {props.reviewTitle}\n {props.reviewText}\n \n \n {props.responseName}\n {props.responseDate}\n {props.responseText}\n \n \n {isUserReview ? undefined :

{resources.wasReviewHelpfulText}

}\n {props.like}\n {props.dislike}\n {props.edit}\n
\n
\n
\n );\n};\n\n/**\n * Render Product Image.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductImage = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const primaryImageSource = props.data.product.result?.PrimaryImageUrl;\n const imageUrl = generateImageUrl(primaryImageSource, props.context.request.apiSettings);\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=111&h=111&m=6', w: 111, h: 111 },\n sm: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n md: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n lg: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n xl: { q: 'w=130&h=130&m=6', w: 130, h: 130 }\n },\n lazyload: true,\n cropFocalRegion: true\n };\n\n return (\n \n );\n};\n\n/**\n * Render Product Description.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductDescription = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const product = props.data.product.result;\n return (\n \n
{renderProductImage(props)}
\n
\n
{product?.Name}
\n
{product?.Name}
\n
{product?.ItemId}
\n
\n
\n );\n};\n\n/**\n * Build Review modal.\n * @param props - Review list ViewProps.\n * @returns JSX Element.\n */\nconst createReviewModal = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const { resources, moduleProps, reviewModal } = props;\n return (\n \n {reviewModal.modalHeader}\n \n \n \n {renderProductDescription(props)}\n \n
{resources.selectRatingLabel}
\n {reviewModal.rating}\n
\n
\n \n {resources.reviewTitleLabel}\n {reviewModal.titleInput}\n \n \n {resources.reviewTextLabel}\n {reviewModal.textInput}\n \n {reviewModal.privacyPolicyUrl}\n {reviewModal.error}\n
\n
\n \n {reviewModal.submitButton}\n {reviewModal.cancelButton}\n \n
\n );\n};\n\n/**\n * Build Review modal.\n * @param props - Review modal ViewProps.\n * @param state - Review List State.\n * @returns JSX Element.\n */\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\n return (\n \n {state.reported ? props.headerSubmitted : props.header}\n \n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\n \n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\n \n );\n};\n\n/**\n * ReviewsList view.\n * @param props - Ratings ReviewsList ViewProps.\n * @returns ReviewsList view module.\n */\nconst ReviewsListview: React.FC> = props => {\n const {\n filterByDropdown,\n heading,\n moduleProps,\n noReviewsMessage,\n noReviewsWithFilterMessage,\n pageControls,\n refineReviewsProps,\n reportReviewModal,\n reviewsListProps,\n reviewCards,\n sortByDropdown,\n state,\n userReview,\n resources\n } = props;\n\n if (!userReview && !ArrayExtensions.hasElements(reviewCards) && !state.isFilterApplied) {\n return {noReviewsMessage};\n }\n\n return (\n \n {heading}\n \n {sortByDropdown}\n {filterByDropdown}\n \n \n {userReview && buildReviewCard(userReview, resources, true)}\n {reviewCards.map(review => {\n return buildReviewCard(review, resources, false);\n })}\n \n {!ArrayExtensions.hasElements(reviewCards) && state.isFilterApplied && noReviewsWithFilterMessage}\n {pageControls}\n {createReviewModal(props)}\n {createReportModal(reportReviewModal, state)}\n \n );\n};\n\nexport default ReviewsListview;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccordionItemViewProps } from './accordion-item';\n\nconst AccordionItemView: React.FC = props => {\n const { drawer, accordionSlots, AccordionItemContainer, AccordionItemContent } = props;\n return (\n \n \n \n {accordionSlots &&\n accordionSlots.accordionItemContent &&\n accordionSlots.accordionItemContent.length &&\n _renderAccordionItemContent(accordionSlots.accordionItemContent)}\n \n \n \n );\n};\n\nconst _renderAccordionItemContent = (items: React.ReactNode[]): JSX.Element | null => {\n return (\n <>\n {items && items.length > 0\n ? items.map((item: React.ReactNode, index: number) => {\n return {item};\n })\n : null}\n \n );\n};\nexport default AccordionItemView;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { IHeaderProps } from '../definition-extensions/header.ext.props.autogenerated';\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/src/modules/header/./header';\r\n\r\nconst headerView: React.FC> = (props: IHeaderViewProps & IHeaderProps<{}>) => {\r\n const {\r\n HeaderTag,\r\n HeaderContainer,\r\n HeaderTopBarContainer,\r\n MobileMenuContainer,\r\n MobileMenuBodyContainer,\r\n MobileMenuLinksContainer,\r\n Divider\r\n } = props;\r\n return (\r\n \r\n \r\n \r\n {props.preferredStore}\r\n {_renderDesktopAccountBlock(props)}\r\n {props.wishListIconDesktop}\r\n {props.cartIcon}\r\n \r\n {_renderReactFragment(props.siteOptions)}\r\n \r\n
\r\n {_buildLogo()}\r\n {_renderReactFragment(props.menuBar)}\r\n {props.navIcon}\r\n {_renderReactFragment(props.search)}\r\n
\r\n \r\n \r\n { props.MobileMenuHeader }\r\n {_renderReactFragment(props.menuBar)}\r\n \r\n { props.accountLinks ? props.accountLinks.map(link => link) : false }\r\n { props.siteOptions }\r\n { props.wishListIconMobile }\r\n { props.signInLink }\r\n { props.signOutLink }\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nfunction _renderDesktopAccountBlock(props: IHeaderViewProps): JSX.Element | null {\r\n const {\r\n AccountInfoDropdownParentContainer,\r\n AccountInfoDropdownPopoverConentContainer,\r\n accountInfoDropdownButton,\r\n signOutLink,\r\n signInLink,\r\n accountLinks\r\n } = props;\r\n\r\n if (AccountInfoDropdownParentContainer) {\r\n if (AccountInfoDropdownPopoverConentContainer) {\r\n return (\r\n \r\n {accountInfoDropdownButton}\r\n \r\n { accountLinks ? accountLinks.map(link => link) : false }\r\n {signOutLink}\r\n \r\n \r\n );\r\n } else if (signInLink) {\r\n return (\r\n \r\n {signInLink}\r\n \r\n );\r\n }\r\n }\r\n props.context.telemetry.error('Header content is empty, module wont render.');\r\n return null;\r\n}\r\n\r\nfunction _renderReactFragment(items: React.ReactNode[]): JSX.Element | null {\r\n return (\r\n <>\r\n {items && items.length > 0 ? items.map((slot: React.ReactNode, index: number) => {\r\n return (\r\n {slot}\r\n );\r\n }) : null}\r\n \r\n );\r\n}\r\n\r\n//Moved this to a function to clean up the render code above\r\nfunction _buildLogo(): JSX.Element{\r\n return
\r\n}\r\n\r\nexport default headerView;","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckoutPickupViewProps } from './checkout-pickup';\nimport { ICheckoutPickupGroupViewProps } from './components/checkout-pickup-group';\n\nconst CheckoutPickupView: React.FC = props => {\n const { checkoutPickup, checkoutErrorRef, viewState, headerError, waiting, pickupGroups } = props;\n\n return (\n \n {viewState.isLoading && waiting}\n {viewState.isHeaderError && headerError}\n {pickupGroups.map(\n (pickupGroupViewProps: ICheckoutPickupGroupViewProps, index: number): React.ReactElement => {\n const {\n pickupGroupContainer,\n dateTimeslotContainer,\n groupDivider,\n groupHeader,\n groupErrorMessage,\n cartLineImages,\n pickupDateDropdown,\n pickupTimeslotDropdown,\n selectedDateTimeslot,\n pickupAddress\n } = pickupGroupViewProps;\n\n return (\n \n {groupDivider}\n {groupHeader}\n {groupErrorMessage}\n {cartLineImages}\n {viewState.isShowDropdown && (\n \n {pickupDateDropdown}\n {pickupTimeslotDropdown}\n \n )}\n {viewState.isShowSelected && pickupAddress}\n {viewState.isShowSelected && selectedDateTimeslot}\n \n );\n }\n )}\n \n );\n};\n\nexport default CheckoutPickupView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ControlledDrawer, getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport { IDrawerState } from '@msdyn365-commerce-modules/utilities/dist/types/drawer/Drawer';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput, interactionStyle } from '../..';\nimport { IAccordionItemData } from './accordion-item.data';\nimport { IAccordionItemProps } from './accordion-item.props.autogenerated';\n\nexport interface IAccordionItemViewProps {\n AccordionItemContainer: IModuleProps;\n drawer: INodeProps;\n accordionSlots: INodeProps;\n AccordionItemContent: INodeProps;\n className: string;\n}\n\nexport interface IAccordionItemExtentedProps extends IAccordionItemProps {\n interactionStyle?: interactionStyle;\n}\n\n/**\n *\n * AccordionItem component.\n * @extends {React.Component}\n */\n@observer\nclass AccordionItem extends React.Component {\n private readonly moduleClassName: string = 'ms-accordion-item';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IAccordionItemProps) {\n super(props);\n this._onToggle = this._onToggle.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public shouldComponentUpdate(nextProps: IAccordionItemProps): boolean {\n if (this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { slots, renderView, config, data } = this.props;\n const accordionExpandedStateResult = data && data.accordionExpandedState && data.accordionExpandedState.result;\n const expanded =\n accordionExpandedStateResult && accordionExpandedStateResult.isAllExpanded === undefined\n ? data && config.isExpandedOnInitialLoad\n : accordionExpandedStateResult && accordionExpandedStateResult.isAllExpanded;\n const viewProps = {\n ...this.props,\n AccordionItemContainer: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n AccordionItemContent: {\n className: 'ms-accordion-item-content'\n },\n drawer: {\n tag: ControlledDrawer,\n className: `${this.moduleClassName}__drawer`,\n toggleButtonText: (config.accordionItemTitle && config.accordionItemTitle) || '',\n collapseProps: { isOpen: expanded },\n onToggle: this._onToggle,\n onTextChange: this.handleHeadingChange,\n requestContext: this.props.context.request,\n telemetryContent: this.telemetryContent\n },\n accordionSlots: slots\n };\n return renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.accordionItemTitle = event.target.value);\n\n private _onToggle(state: IDrawerState): void {\n if (!state.isOpen && this.props.interactionStyle === interactionStyle.ExpandOneItemOnly) {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n }\n }\n}\nexport default AccordionItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISubscribeViewProps } from './subscribe';\n\n/**\n * Override form action and button action below.\n * @param event - The form event.\n */\nconst onSubmit = (event: React.FormEvent): void => {\n event.preventDefault();\n};\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns - Returns nothing.\n */\nexport const subscribeView: React.FC = props => {\n const { subscribe, subscribeContainer, heading, text, subscribeForm, emailInput, submitButton } = props;\n return (\n \n \n {heading}\n {text}\n \n \n \n {props.submitButtonLabelText}\n \n \n \n \n );\n};\n\nexport default subscribeView;\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 { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IProductSpecificationViewProps } from './product-specification';\n\nconst ProductSpecificationView: React.FC = props => {\n const { ProductSpecification, ProductSpecificationTableProps, ProductSpecificationTableBodyProps, productSpecificationResult } = props;\n const rowdata =\n productSpecificationResult &&\n ArrayExtensions.hasElements(productSpecificationResult) &&\n productSpecificationResult.filter(row => !ObjectExtensions.isNullOrUndefined(row));\n\n return rowdata && ArrayExtensions.hasElements(rowdata) ? (\n \n {props.title}\n \n {rowdata}\n \n \n ) : null;\n};\n\nexport default ProductSpecificationView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccordionViewProps } from './accordion';\n\nconst accordionView: React.FC = props => {\n const { heading, AccordionContainer, accordionItems } = props;\n if (!props.heading && !props.accordionButtons && !props.accordionItems) {\n props.context.telemetry.error('Accordion content is empty, module wont render');\n return null;\n }\n return (\n \n \n {heading}\n {props.accordionButtons && {props.accordionButtons}}\n \n {accordionItems}\n \n );\n};\n\nexport default accordionView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAddressAddItem, IAddressAddUpdateProps } from '../../common/components/address-add';\nimport { IAddressList, IAddressListItem, IAddressListProps } from '../../common/components/address-list';\nimport { IAddressShowItem, IAddressShowProps } from '../../common/components/address-show';\nimport { IAccountManagementAddressViewProps } from './account-management-address';\n\n/**\n * Address show component.\n * @param param0 - Root param.\n * @param param0.AddressDetail - Address detail.\n * @param param0.items - IAddressShowItem[].\n * @returns - Address Node.\n */\nconst AddressShow: React.FC = ({ AddressDetail, items }) => {\n return (\n \n {items.map((item: IAddressShowItem) => {\n return <>{item.description};\n })}\n \n );\n};\n\n/**\n * Address List Component.\n * @param param0 - Root param.\n * @param param0.List - Address list.\n * @param param0.isShowList - Boolean.\n * @param param0.heading - Address heading.\n * @param param0.items - IAddressListItem[].\n * @returns - AddressListComponent Node.\n */\nconst AddressList: React.FC = ({ List, isShowList, heading, items }) => {\n if (!isShowList) {\n return null;\n }\n\n return (\n \n {heading}\n {items.map((item: IAddressListItem) => {\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton, removeButton } = item;\n const { Error, isShowError, title, message } = error;\n return (\n \n \n {isShowError && (\n \n {title}\n {message}\n \n )}\n {isShowPrimaryButton && primaryButton}\n {editButton}\n {removeButton}\n \n );\n })}\n \n );\n};\n\n/**\n * Address Lists Component.\n * @param param0 - Root param.\n * @param param0.ListAddress - List address.\n * @param param0.heading - List heading.\n * @param param0.isShowEmptyListMessage - Boolean.\n * @param param0.emptyListMessage - Empty list message.\n * @param param0.addButton - Add button.\n * @param param0.primaryAddressList - Primary address.\n * @param param0.otherAddressList - Other address.\n * @returns Address Lists Component Node.\n */\nconst AddressLists: React.FC = ({\n ListAddress,\n heading,\n isShowEmptyListMessage,\n emptyListMessage,\n addButton,\n primaryAddressList,\n otherAddressList\n}) => {\n return (\n \n {heading}\n {isShowEmptyListMessage && emptyListMessage}\n {addButton}\n \n \n \n );\n};\n\n/**\n * AddressAddUpdateComponent.\n * @param param0 - Root param.\n * @param param0.AddressForm - Address form.\n * @param param0.heading - Address heading.\n * @param param0.items - IAddressAddItem[].\n * @param param0.hasError - Boolean.\n * @param param0.error - Error message.\n * @param param0.isShowSaveButton - Boolean.\n * @param param0.saveButton - Save button.\n * @param param0.isShowCancelButton - Boolean.\n * @param param0.cancelButton - Cancel button.\n * @returns Address add update component node.\n */\nconst AddressAddUpdate: React.FC = ({\n AddressForm,\n heading,\n items,\n hasError,\n error,\n isShowSaveButton,\n saveButton,\n isShowCancelButton,\n cancelButton\n}) => {\n return (\n \n {heading}\n {items.map((item: IAddressAddItem) => {\n const { AddressItem, key, label, alert, input } = item;\n return (\n \n {label}\n {alert}\n {input}\n \n );\n })}\n {hasError && (\n \n {error.title}\n {error.message}\n \n )}\n {isShowSaveButton && saveButton}\n {isShowCancelButton && cancelButton}\n \n );\n};\n\n/**\n * Account Management Address View Component.\n * @param props - Props.\n * @returns - AccountAddressManagement Module.\n */\nconst AccountManagementAddressView: React.FC = props => {\n const {\n AccountAddressManagement,\n infoMessageBar,\n viewState,\n showAddressList,\n showAddOrUpdateAddress,\n screenReaderNotification\n } = props;\n\n return (\n \n {infoMessageBar}\n {viewState.isShowAddresList && }\n {viewState.isShowAddOrUpdateAddress && }\n {screenReaderNotification}\n \n );\n};\n\nexport default AccountManagementAddressView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IAccordionExpandedState } from './data-actions/accordion-state';\nimport { createAccordionStateInput } from './data-actions/accordion-state-data-action';\nimport accordion from './modules/accordion/accordion';\nimport { interactionStyle } from './modules/accordion/accordion.props.autogenerated';\nimport accordionView from './modules/accordion/accordion.view';\n\nexport * from './modules/accordion/accordion';\nexport * from './modules/accordion/accordion.view';\n\nexport { accordion, accordionView, createAccordionStateInput, IAccordionExpandedState, interactionStyle };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IBusinessSignUpItem, IBusinessSignUpViewProps } from './business-sign-up';\n\nconst BusinessSignUpItem: React.FC = ({ wrapper, label, errorMessage, input, isAddressInput }) => {\n // Hide label and error message if rendering address section\n return (\n \n {!isAddressInput && label}\n {!isAddressInput && errorMessage}\n {input}\n \n );\n};\n\nconst BusinesSignUpView: React.FC = props => {\n const { businessSignUp, ContainerWrapper, heading, businessSignUpForm } = props;\n\n const { FormWrapper, buttons, items, errorMessage, disclaimer } = businessSignUpForm;\n\n return (\n \n \n {heading}\n \n {items &&\n items.map((item: IBusinessSignUpItem) => {\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n {disclaimer}\n \n \n \n );\n};\n\nexport default BusinesSignUpView;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { IBreadcrumbViewProps } from '@msdyn365-commerce-modules/breadcrumb/src/modules/breadcrumb/./breadcrumb';\r\n\r\nconst BreadCrumbView: React.FC = props => {\r\n\tconst { root, links, backButton, BreadcrumbContainer, BreadcrumbList, BreadcrumbListItem, separator } = props;\r\n\tif (!root && !links && !backButton) {\r\n\t\tprops.context.telemetry.error('BreadCrumb content is empty, module wont render');\r\n\t\treturn null;\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{root && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{root}\r\n\t\t\t\t\t\t{links && separator}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{backButton && {backButton}}\r\n\t\t\t\t{links && links.map((link, index) => {\r\n\t\t\t\t\tif(link && typeof link === \"object\" && ('props' in link)){\r\n\t\t\t\t\t\treturn \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{(link && link.props.text)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{links[index + 2] && separator}\t {/*THIS IS TERRIBLE!!, should be +1*/}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn ''\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default BreadCrumbView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHeader,\n IList,\n IOrderHistoryViewProps,\n IOrderInformation,\n ISalesOrder\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderHistoryOrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n channelName,\n createdDate,\n count,\n amount,\n channelReferenceId\n}) => (\n \n {channelName}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const OrderHistoryGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {processing}\n {address}\n {trackingInfo}\n \n);\n\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n \n {heading}\n {orderCountLabel}\n {extraActions}\n \n);\n\nexport const OrderHistorySalesOder: React.FC = ({\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n}) => (\n \n {orderInfomation && }\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n \n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder, index) => )}\n \n);\n\nconst OrderHistoryView: React.FC = ({\n orderHistoryProps,\n header,\n alert,\n loading,\n emptyMessage,\n backToShoppingLink,\n list,\n table,\n moreButton\n}) => (\n \n {header && }\n {loading}\n {alert && (\n <>\n {alert}\n {backToShoppingLink}\n \n )}\n {emptyMessage && (\n \n {emptyMessage}\n {backToShoppingLink}\n \n )}\n {list && }\n {table}\n {moreButton && moreButton}\n \n);\n\nexport default OrderHistoryView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { IInteractiveFeatureCollectionViewProps } from './interactive-feature-collection';\n\n/**\n * Feature Collection View.\n * @param props - Feature Collection view props.\n * @returns Feature Collection View.\n */\nexport const interactiveFeatureCollectionView: React.FC = props => {\n const {\n title,\n interactiveFeatureCollectionHeading,\n interactiveFeatureCollectionContainer,\n interactiveFeatureCollectionDesktopContainer,\n interactiveFeatureCollectionDesktopItems,\n interactiveFeatureCollectionMobileItems,\n interactiveFeatureCollectionMobileContainer,\n singleSlideCarouselComponentProps,\n singleSlideCarouselItemContainer\n } = props;\n return (\n \n {title}\n {interactiveFeatureCollectionDesktopItems}\n \n \n {interactiveFeatureCollectionMobileItems &&\n interactiveFeatureCollectionMobileItems.map((tileItem: ReactNode, index: number) => {\n const keyIndex = `interactive-feature-carousel-item__${index}`;\n return (\n \n {tileItem}\n \n );\n })}\n \n \n \n );\n};\n\nexport default interactiveFeatureCollectionView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAddContactInfo, ICheckoutGuestProfileViewProps, IShowContactInfo } from './checkout-guest-profile';\n\nexport const ShowContactInfo: React.FC = ({ showInfoProps, email, editButton }) => (\n \n {email}\n {editButton}\n \n);\n\nexport const AddContactInfo: React.FC = ({\n addFormProps,\n submitButton,\n cancelButton,\n inputGroupProps,\n label,\n error,\n input\n}) => (\n \n \n {label}\n {error}\n {input}\n \n {submitButton}\n {cancelButton}\n \n);\n\nconst CheckoutGuestProfileView: React.FC = ({\n moduleProps,\n checkoutErrorRef,\n alert,\n showContactInfo,\n addContactInfo\n}) => {\n return (\n \n {alert}\n {showContactInfo && }\n {addContactInfo && }\n \n );\n};\n\nexport default CheckoutGuestProfileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILoyaltySignUpViewProps } from './loyalty-sign-up';\n\nconst LoyaltySignUpView: React.FC = props => {\n const {\n LoyaltySignUp,\n heading,\n memberHeading,\n signInLink,\n signUpText,\n signUpButton,\n detailsLink,\n termsLink,\n loading,\n infoMessageBar\n } = props;\n\n if (loading) {\n props.context.telemetry.error('LoyaltySignUp data is empty, module wont render');\n return null;\n }\n\n return (\n \n {infoMessageBar}\n {memberHeading}\n {heading}\n {detailsLink}\n {signUpText}\n {termsLink}\n {signUpButton}\n {signInLink}\n \n );\n};\n\nexport default LoyaltySignUpView;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ISearchCategoryViewProps, ISearchFormViewProps, ISearchKeywordViewProps, ISearchProductViewProps } from '@msdyn365-commerce-modules/search/src/modules/search/./components';\r\nimport { ISearchViewProps } from '@msdyn365-commerce-modules/search/src/modules/search/./search';\r\n\r\nconst SearchView: React.FC = props => {\r\n\tconst {\r\n\t\tSearch,\r\n\t\tAutoSuggestAriaLabel,\r\n\t\tAutoSuggestAriaLabelText,\r\n\t\tsearchText,\r\n\t\tAutoSuggest,\r\n\t\tKeywordSuggest,\r\n\t\tProductSuggest,\r\n\t\tCategorySuggest,\r\n\t\tUlKeyword,\r\n\t\tUlProduct,\r\n\t\tUlCategory,\r\n\t\tform,\r\n\t\tautosuggestCategory,\r\n\t\tautosuggestKeyword,\r\n\t\tautosuggestProduct,\r\n\t\tSearchForm,\r\n\t\tFormWrapper,\r\n\t\tlabel,\r\n\t\tisLoadingAutoSuggest,\r\n\t\tisLoadingNode\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{label}\r\n\t\t\t{_renderForm(form as ISearchFormViewProps, SearchForm, FormWrapper)}\r\n\t\t\t\r\n\t\t\t\t{searchText && searchText.length > 0 ? {AutoSuggestAriaLabelText} : ''}\r\n\t\t\t\t{_renderKeywordSuggestions(KeywordSuggest, UlKeyword, autosuggestKeyword, isLoadingAutoSuggest, isLoadingNode)}\r\n\t\t\t\t{_renderProductSuggestions(ProductSuggest, UlProduct, autosuggestProduct, isLoadingAutoSuggest, isLoadingNode)}\r\n\t\t\t\t{_renderCategorySuggestions(CategorySuggest, UlCategory, autosuggestCategory, isLoadingAutoSuggest, isLoadingNode)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderForm = (form: ISearchFormViewProps, SearchForm: INodeProps, FormWrapper: INodeProps) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{form.input}\r\n\t\t\t\t{form.cancelBtn}\r\n\t\t\t\t{form.submitBtn}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderKeywordSuggestions = (\r\n\tKeywordSuggest: INodeProps,\r\n\tUlKeyword: INodeProps,\r\n\tkeywordSuggestions?: ISearchKeywordViewProps,\r\n\tisLoadingAutoSuggest?: boolean,\r\n\tisLoadingNode?: React.ReactNode\r\n) => {\r\n\treturn (\r\n\t\tkeywordSuggestions && (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{isLoadingAutoSuggest && isLoadingNode}\r\n\t\t\t\t\t{!isLoadingAutoSuggest &&\r\n\t\t\t\t\t\tkeywordSuggestions.text.map(text => {\r\n\t\t\t\t\t\t\treturn text;\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t);\r\n};\r\n\r\nconst _renderProductSuggestions = (\r\n\tProductSuggest: INodeProps,\r\n\tUlProduct: INodeProps,\r\n\tproductSuggestions?: ISearchProductViewProps,\r\n\tisLoadingAutoSuggest?: boolean,\r\n\tisLoadingNode?: React.ReactNode\r\n) => {\r\n\treturn (\r\n\t\tproductSuggestions && (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{/*{productSuggestions.title}*/}\r\n\t\t\t\t\t
  • Go to results
  • \r\n\t\t\t\t\t{isLoadingAutoSuggest && isLoadingNode}\r\n\t\t\t\t\t{!isLoadingAutoSuggest &&\r\n\t\t\t\t\t\tproductSuggestions.items.map((item, index) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{item.thumbnail}\r\n\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\t{item.price}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t)\r\n\t);\r\n};\r\n\r\nconst _renderCategorySuggestions = (\r\n\tCategorySuggest: INodeProps,\r\n\tUlCategory: INodeProps,\r\n\tcategorySuggestions?: ISearchCategoryViewProps,\r\n\tisLoadingAutoSuggest?: boolean,\r\n\tisLoadingNode?: React.ReactNode\r\n) => {\r\n\treturn (\r\n\t\tcategorySuggestions && (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{categorySuggestions.title}\r\n\t\t\t\t\t{isLoadingAutoSuggest && isLoadingNode}\r\n\t\t\t\t\t{!isLoadingAutoSuggest && categorySuggestions.text.map(text => {\r\n\t\t\t\t\t\tlet tp: any;\r\n\t\t\t\t\t\tif(text && typeof text === \"object\" && \"props\" in text){\r\n\t\t\t\t\t\t\ttp = text ? text.props.children.props : undefined;\r\n\t\t\t\t\t\t\ttp['aria-label'] = tp['aria-label'].split('|').slice(1).join(', ');\r\n\t\t\t\t\t\t\ttp.children.props.dangerouslySetInnerHTML.__html = tp.children.props.dangerouslySetInnerHTML.__html.split('|').slice(1).join(' | ');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn text;\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t);\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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../interactive-feature-item.props.autogenerated';\n\n/**\n * Interactive Feature links.\n */\nexport interface IInteractiveFeatureLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * IInteractiveFeatureLinks component.\n * @extends {React.PureComponent}\n */\nexport class InteractiveFeatureCollectionLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n
    \n {editableLinks && ArrayExtensions.hasElements(editableLinks) ? (\n \n ) : null}\n
    \n );\n }\n\n /**\n * IInteractiveFeatureLinks component.\n * @param linkdata - Link data.\n * @returns Editable links.\n */\n private readonly _mapEditableLinks = (linkdata?: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || !ArrayExtensions.hasElements(linkdata)) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n for (const link of linkdata) {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-interactive-feature-collection__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'button',\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n }\n\n return editableLinks;\n };\n}\nexport default InteractiveFeatureCollectionLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { InteractiveFeatureCollectionLinks } from './components';\nimport { IHeadingData, IInteractiveFeatureItemProps } from './interactive-feature-item.props.autogenerated';\n\n/**\n * Interactive Feature Item view props.\n */\nexport interface IInteractiveFeatureItemViewProps extends IInteractiveFeatureItemProps<{}> {\n title: React.ReactNode;\n paragraph: React.ReactNode;\n image: React.ReactNode;\n links: React.ReactNode;\n featureItem: IModuleProps;\n isMosaic: boolean;\n indexItem?: number;\n itemCounter?: number;\n\n interactiveFeatureCollectionCarouselContainer: INodeProps;\n interactiveFeatureCollectionCarouselImage: INodeProps;\n interactiveFeatureCollectionCarouselContent: INodeProps;\n\n interactiveFeatureCollectionMosaicContainer: INodeProps;\n interactiveFeatureCollectionMosaicImage: INodeProps;\n interactiveFeatureCollectionMosaicDetails: INodeProps;\n}\n\n/**\n * Interactive Feature Item Extented props.\n */\nexport interface IInteractiveFeatureItemExtentedProps extends IInteractiveFeatureItemProps<{}> {\n isMosaic?: boolean;\n indexItem?: number;\n itemCounter?: number;\n}\n\n/**\n *\n * InteractiveFeatureItem component.\n * @extends {React.PureComponent}\n */\nexport class InteractiveFeatureItem extends React.PureComponent {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public constructor(props: IInteractiveFeatureItemProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { indexItem, itemCounter, isMosaic } = this.props;\n const { heading, paragraph, image, links } = this.props.config;\n const featureItemLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n\n const viewProps = {\n ...this.props,\n indexItem,\n itemCounter,\n isMosaic: isMosaic ? isMosaic : false,\n title: this._createHeading(heading),\n paragraph: this._createParagraph(paragraph),\n image: this._renderImage(image),\n links: featureItemLinks,\n featureItem: {\n moduleProps: this.props,\n className: ''\n },\n interactiveFeatureCollectionCarouselContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__container'\n },\n interactiveFeatureCollectionCarouselImage: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__image'\n },\n interactiveFeatureCollectionCarouselContent: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__heading'\n },\n interactiveFeatureCollectionMosaicContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-mosaic',\n 'aria-label': heading?.text,\n tabindex: '0',\n role: 'group'\n },\n interactiveFeatureCollectionMosaicImage: {\n className: 'ms-interactive-feature-collection-mosaic__image'\n },\n interactiveFeatureCollectionMosaicDetails: {\n className: 'ms-interactive-feature-collection-mosaic__details'\n }\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handles heading content change event.\n * @param event - Content editable event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handles paragraph content change event.\n * @param event - Content editable event.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n /**\n * Handles paragraph content change event.\n * @param linkIndex - Index of link in linkarray.\n * @returns Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent): void => {\n if (this.props.config.links?.[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n private _createHeading(heading?: IHeadingData): React.ReactNode | null {\n if (!heading) {\n return null;\n }\n if (StringExtensions.isNullOrWhitespace(heading.text)) {\n return null;\n }\n\n return (\n \n );\n }\n\n private _renderImage(item?: Msdyn365.IImageData, isAriaHiddenAttribute?: boolean): React.ReactNode | null {\n // Even if image.src is null, we render the Image component to render the fallback SVG\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=328&h=459&m=6', w: 328, h: 459 },\n sm: { q: 'w=348&h=487&m=6', w: 348, h: 487 },\n md: { q: 'w=650&h=366&m=6', w: 650, h: 366 },\n lg: { q: 'w=650&h=366&m=6', w: 650, h: 366 },\n xl: { q: 'w=650&h=366&m=6', w: 650, h: 366 }\n },\n lazyload: true\n };\n const verifiedImageSettings = item?.imageSettings?.viewports ? item.imageSettings : defaultImageSettings;\n return (\n \n );\n }\n}\n\nexport default InteractiveFeatureItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n getTelemetryObject,\n IComponentNodeProps,\n IModuleProps,\n INodeProps,\n ISingleSlideCarouselProps,\n ITelemetryContent,\n NodeTag,\n SingleSlideCarousel\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\nimport { IInteractiveFeatureCollectionProps } from './interactive-feature-collection.props.autogenerated';\n\n/**\n * Interactive Feature Collection view props.\n */\nexport interface IInteractiveFeatureCollectionViewProps extends IInteractiveFeatureCollectionProps<{}> {\n title: React.ReactNode;\n interactiveFeatureCollectionHeading: INodeProps;\n interactiveFeatureCollectionContainer: IModuleProps;\n interactiveFeatureCollectionDesktopContainer: INodeProps;\n interactiveFeatureCollectionDesktopItems: React.ReactNode[];\n interactiveFeatureCollectionMobileContainer: INodeProps;\n interactiveFeatureCollectionMobileItems: React.ReactNode[];\n singleSlideCarouselComponentProps: INodeProps;\n singleSlideCarouselItemContainer: INodeProps;\n}\n\n/**\n *\n * InteractiveFeatureCollection component.\n * @extends {React.PureComponent>}\n */\nexport class InteractiveFeatureCollection extends React.PureComponent> {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n private static _getFeatureItem(item: React.ReactNode, index: number, itemsCounter: number): React.ReactNode {\n const keyIndex = `interactive-feature-mosaic-item__${index}`;\n return (\n \n {React.cloneElement(item as React.ReactElement, { indexItem: index, itemCounter: itemsCounter, isMosaic: true })}\n \n );\n }\n\n public constructor(props: IInteractiveFeatureCollectionProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { resources } = this.props;\n const { title, className } = this.props.config;\n const interactiveItems = this.props.slots && this.props.slots.interactiveFeatureItems;\n const itemsFeatureCounter = interactiveItems && interactiveItems.length;\n const singleSlideCarouselComponentProps: IComponentNodeProps = {\n tag: SingleSlideCarousel,\n className: this.props.config.className ?? '',\n flipperPrevLabel: resources.flipperPrevious,\n flipperNextLabel: resources.flipperNext,\n parentId: this.props.id,\n telemetryContent: this._telemetryContent,\n vertical: false\n };\n const initItemsFeatureCounter = 0;\n const createHeading = title && (\n \n );\n const viewProps = {\n ...this.props,\n title: createHeading,\n interactiveFeatureCollectionHeading: {\n className: 'ms-interactive-feature-collection__heading'\n },\n interactiveFeatureCollectionContainer: {\n moduleProps: this.props,\n className: classnames('ms-interactive-feature-collection', className)\n },\n interactiveFeatureCollectionDesktopContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-desktop'\n },\n interactiveFeatureCollectionMobileContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-mobile'\n },\n singleSlideCarouselComponentProps,\n singleSlideCarouselItemContainer: {\n tag: 'li' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel',\n role: 'listitem'\n },\n interactiveFeatureCollectionMobileItems: this.props.slots.interactiveFeatureItems,\n interactiveFeatureCollectionDesktopItems:\n itemsFeatureCounter > initItemsFeatureCounter &&\n interactiveItems.map((item: React.ReactNode, index: number) =>\n InteractiveFeatureCollection._getFeatureItem(item, index, itemsFeatureCounter)\n )\n };\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * To handle text change.\n * @param event - To handle text change event.\n * @name - HandleTextChange\n * @public\n * @returns - The Text value.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.title!.text = event.target.value);\n}\n\nexport default InteractiveFeatureCollection;\n","/*!\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","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IMediaGalleryThumbnailItemViewProps, IMediaGalleryThumbnailsViewProps, IMediaGalleryViewProps } from '@msdyn365-commerce-modules/media-gallery/src/modules/media-gallery/../..';\r\n\r\nconst MediaGalleryView: React.FC = props => {\r\n\tconst { CarouselProps, Thumbnails, MediaGallery, Modal } = props;\r\n\tlet items = Thumbnails ? Thumbnails.items : null;\r\n\tif(items && items.length <= 2){\r\n\t\tMediaGallery.className += ' no-thumbs';\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t{Modal}\r\n\t\t\t{_renderThumbnails(Thumbnails)}\r\n\t\t\r\n\t);\r\n};\r\n\r\n//Added length >= 2 to prevent only single thumbnails from rendering\r\nconst _renderThumbnails = (thumbnails: IMediaGalleryThumbnailsViewProps): JSX.Element => {\r\n\tconst { ThumbnailsContainerProps, SingleSlideCarouselComponentProps, items } = thumbnails;\r\n\tif(items && items.length >= 2){\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t{items && items.map(_renderThumbnailItem)}\r\n\t\t\t
    \r\n\t\t);\r\n\t} else {\r\n\t\treturn \r\n\t}\r\n};\r\n\r\nconst _renderThumbnailItem = (thumbnail: IMediaGalleryThumbnailItemViewProps): JSX.Element => {\r\n\tconst { ThumbnailItemContainerProps, Picture } = thumbnail;\r\n\r\n\treturn {Picture};\r\n};\r\n\r\nexport default MediaGalleryView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { IBreadcrumbViewProps } from '@msdyn365-commerce-modules/breadcrumb/src/modules/breadcrumb/./breadcrumb';\r\n\r\n\r\nconst BreadCrumbView: React.FC = props => {\r\n\tconst { root, links, backButton, BreadcrumbContainer, BreadcrumbList, BreadcrumbListItem, separator } = props;\r\n\tif (!root && !links && !backButton) {\r\n\t\tprops.context.telemetry.error('BreadCrumb content is empty, module wont render');\r\n\t\treturn null;\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{root && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{root}\r\n\t\t\t\t\t\t{links && separator}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{backButton && {backButton}}\r\n\t\t\t\t{links && links.map((link, index) => {\r\n\t\t\t\t\tif(link && typeof link === \"object\" && ('props' in link)){\r\n\t\t\t\t\t\treturn \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{(link && link.props.text)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{links[index + 2] && separator}\t {/*THIS IS TERRIBLE!!, should be +1*/}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn ''\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default BreadCrumbView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IMediaGalleryThumbnailItemViewProps, IMediaGalleryThumbnailsViewProps, IMediaGalleryViewProps } from '@msdyn365-commerce-modules/media-gallery/src/modules/media-gallery/../..';\r\n\r\nconst MediaGalleryView: React.FC = props => {\r\n\tconst { CarouselProps, Thumbnails, MediaGallery, Modal } = props;\r\n\tlet items = Thumbnails ? Thumbnails.items : null;\r\n\tif(items && items.length <= 2){\r\n\t\tMediaGallery.className += ' no-thumbs';\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t{Modal}\r\n\t\t\t{_renderThumbnails(Thumbnails)}\r\n\t\t\r\n\t);\r\n};\r\n\r\n//Added length >= 2 to prevent only single thumbnails from rendering\r\nconst _renderThumbnails = (thumbnails: IMediaGalleryThumbnailsViewProps): JSX.Element => {\r\n\tconst { ThumbnailsContainerProps, SingleSlideCarouselComponentProps, items } = thumbnails;\r\n\tif(items && items.length >= 2){\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t{items && items.map(_renderThumbnailItem)}\r\n\t\t\t
    \r\n\t\t);\r\n\t} else {\r\n\t\treturn \r\n\t}\r\n};\r\n\r\nconst _renderThumbnailItem = (thumbnail: IMediaGalleryThumbnailItemViewProps): JSX.Element => {\r\n\tconst { ThumbnailItemContainerProps, Picture } = thumbnail;\r\n\r\n\treturn {Picture};\r\n};\r\n\r\nexport default MediaGalleryView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ISearchCategoryViewProps, ISearchFormViewProps, ISearchKeywordViewProps, ISearchProductViewProps } from '@msdyn365-commerce-modules/search/src/modules/search/./components';\r\nimport { ISearchViewProps } from '@msdyn365-commerce-modules/search/src/modules/search/./search';\r\n\r\nconst SearchView: React.FC = props => {\r\n\tconst {\r\n\t\tSearch,\r\n\t\tAutoSuggestAriaLabel,\r\n\t\tAutoSuggestAriaLabelText,\r\n\t\tsearchText,\r\n\t\tAutoSuggest,\r\n\t\tKeywordSuggest,\r\n\t\tProductSuggest,\r\n\t\tCategorySuggest,\r\n\t\tUlKeyword,\r\n\t\tUlProduct,\r\n\t\tUlCategory,\r\n\t\tform,\r\n\t\tautosuggestCategory,\r\n\t\tautosuggestKeyword,\r\n\t\tautosuggestProduct,\r\n\t\tSearchForm,\r\n\t\tFormWrapper,\r\n\t\tlabel,\r\n\t\tisLoadingAutoSuggest,\r\n\t\tisLoadingNode\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{label}\r\n\t\t\t{_renderForm(form as ISearchFormViewProps, SearchForm, FormWrapper)}\r\n\t\t\t\r\n\t\t\t\t{searchText && searchText.length > 0 ? {AutoSuggestAriaLabelText} : ''}\r\n\t\t\t\t{_renderKeywordSuggestions(KeywordSuggest, UlKeyword, autosuggestKeyword, isLoadingAutoSuggest, isLoadingNode)}\r\n\t\t\t\t{_renderProductSuggestions(ProductSuggest, UlProduct, autosuggestProduct, isLoadingAutoSuggest, isLoadingNode)}\r\n\t\t\t\t{_renderCategorySuggestions(CategorySuggest, UlCategory, autosuggestCategory, isLoadingAutoSuggest, isLoadingNode)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderForm = (form: ISearchFormViewProps, SearchForm: INodeProps, FormWrapper: INodeProps) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{form.input}\r\n\t\t\t\t{form.cancelBtn}\r\n\t\t\t\t{form.submitBtn}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderKeywordSuggestions = (\r\n\tKeywordSuggest: INodeProps,\r\n\tUlKeyword: INodeProps,\r\n\tkeywordSuggestions?: ISearchKeywordViewProps,\r\n\tisLoadingAutoSuggest?: boolean,\r\n\tisLoadingNode?: React.ReactNode\r\n) => {\r\n\treturn (\r\n\t\tkeywordSuggestions && (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{isLoadingAutoSuggest && isLoadingNode}\r\n\t\t\t\t\t{!isLoadingAutoSuggest &&\r\n\t\t\t\t\t\tkeywordSuggestions.text.map(text => {\r\n\t\t\t\t\t\t\treturn text;\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t);\r\n};\r\n\r\nconst _renderProductSuggestions = (\r\n\tProductSuggest: INodeProps,\r\n\tUlProduct: INodeProps,\r\n\tproductSuggestions?: ISearchProductViewProps,\r\n\tisLoadingAutoSuggest?: boolean,\r\n\tisLoadingNode?: React.ReactNode\r\n) => {\r\n\treturn (\r\n\t\tproductSuggestions && (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{/*{productSuggestions.title}*/}\r\n\t\t\t\t\t
  • Go to results
  • \r\n\t\t\t\t\t{isLoadingAutoSuggest && isLoadingNode}\r\n\t\t\t\t\t{!isLoadingAutoSuggest &&\r\n\t\t\t\t\t\tproductSuggestions.items.map((item, index) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{item.thumbnail}\r\n\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\t{item.price}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t)\r\n\t);\r\n};\r\n\r\nconst _renderCategorySuggestions = (\r\n\tCategorySuggest: INodeProps,\r\n\tUlCategory: INodeProps,\r\n\tcategorySuggestions?: ISearchCategoryViewProps,\r\n\tisLoadingAutoSuggest?: boolean,\r\n\tisLoadingNode?: React.ReactNode\r\n) => {\r\n\treturn (\r\n\t\tcategorySuggestions && (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{categorySuggestions.title}\r\n\t\t\t\t\t{isLoadingAutoSuggest && isLoadingNode}\r\n\t\t\t\t\t{!isLoadingAutoSuggest && categorySuggestions.text.map(text => {\r\n\t\t\t\t\t\tlet tp: any;\r\n\t\t\t\t\t\tif(text && typeof text === \"object\" && \"props\" in text){\r\n\t\t\t\t\t\t\ttp = text ? text.props.children.props : undefined;\r\n\t\t\t\t\t\t\ttp['aria-label'] = tp['aria-label'].split('|').slice(1).join(', ');\r\n\t\t\t\t\t\t\ttp.children.props.dangerouslySetInnerHTML.__html = tp.children.props.dangerouslySetInnerHTML.__html.split('|').slice(1).join(' | ');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn text;\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t);\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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n onTelemetryClick\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IFooterItemConfig, IFooterItemProps, IHeadingData, ILinkData } from './footer-item.props.autogenerated';\n\nexport interface IFooterViewProps extends IFooterItemProps {\n heading: React.ReactNode;\n image: React.ReactNode;\n text: React.ReactNode;\n linkText: React.ReactNode;\n className?: string;\n FooterItem: IModuleProps;\n HeadingContainer: INodeProps;\n ItemContainer: INodeProps;\n Link: INodeProps;\n EditableLink: React.ReactNode;\n}\n\n/**\n *\n * FooterItem component.\n * @extends {React.PureComponent>}\n */\nexport class FooterItem extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private attributes: Msdyn365.IDictionary | undefined;\n\n constructor(props: IFooterItemProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n // Construct telemetry attribute to render\n this.payLoad = getPayloadObject('click', this.telemetryContent, '', '');\n }\n\n public render(): JSX.Element {\n const { heading, image, link, text } = this.props.config;\n const footerItemClassName = classnames('ms-footer__item', this.props.config.className);\n const linkText = link && link.linkText ? link.linkText : '';\n this.payLoad.contentAction.etext = linkText;\n this.attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\n const viewProps: IFooterViewProps = {\n ...this.props,\n heading: this._createHeading(heading!),\n image: this._createImageMarkup(image!),\n text: this._createText(text!),\n linkText: this._createLinkText(link!),\n EditableLink: this._createLink(link!),\n\n FooterItem: {\n moduleProps: this.props,\n className: footerItemClassName\n },\n\n HeadingContainer: {\n className: 'ms-footer__heading'\n },\n\n ItemContainer: {\n className: 'ms-footer__link__container'\n },\n\n // @ts-expect-error\n Link: link &&\n link.linkUrl &&\n link.linkUrl.destinationUrl && {\n tag: 'a',\n role: 'link',\n className: 'ms-footer__link',\n href: link.linkUrl.destinationUrl,\n title: linkText,\n 'aria-label': link.ariaLabel,\n target: link.openInNewTab ? '_blank' : undefined,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText),\n ...this.attributes\n },\n className: footerItemClassName\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.text = event.target.value);\n\n public handleLinkTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.link!.linkText = event.target.value);\n\n private _createLink(link: ILinkData): React.ReactNode | null {\n if (link) {\n const linkText = link.linkText ? link.linkText : '';\n\n // TODO: Update the inner tag in the anchor link to span\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-footer__link',\n linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: this.attributes!,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText)\n };\n return (\n \n );\n }\n return null;\n }\n\n private _createLinkText(link: ILinkData): React.ReactNode | null {\n if (!link || !link.linkText) {\n return null;\n }\n\n return {link.linkText};\n }\n\n private _createHeading(heading: IHeadingData): React.ReactNode | null {\n if (!heading || !heading.text || heading.text.length === 0) {\n return null;\n }\n\n return (\n \n );\n }\n\n private _createText(text: string): React.ReactNode | null {\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n private _createImageMarkup(item: Msdyn365.IImageData, ariaHiddenAttr?: boolean): React.ReactNode | null {\n if (!item || !item.src || item.src.length === 0) {\n return null;\n }\n\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=24&h=24&m=6', w: 0, h: 0 },\n lg: { q: 'w=24&h=24&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n return (\n \n );\n }\n}\n\nexport default FooterItem;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { IHeaderProps } from '../definition-extensions/header.ext.props.autogenerated';\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/src/modules/header/./header';\r\n\r\nconst headerView: React.FC> = (props: IHeaderViewProps & IHeaderProps<{}>) => {\r\n const {\r\n HeaderTag,\r\n HeaderContainer,\r\n HeaderTopBarContainer,\r\n MobileMenuContainer,\r\n MobileMenuBodyContainer,\r\n MobileMenuLinksContainer,\r\n Divider\r\n } = props;\r\n return (\r\n \r\n \r\n \r\n {props.navIcon}\r\n {props.logo}\r\n {_renderReactFragment(props.search)}\r\n {props.preferredStore}\r\n {_renderDesktopAccountBlock(props)}\r\n {props.wishListIconDesktop}\r\n \r\n {props.cartIcon}\r\n {_renderReactFragment(props.siteOptions)}\r\n \r\n \r\n \r\n { props.MobileMenuHeader }\r\n {_renderReactFragment(props.menuBar)}\r\n \r\n { props.accountLinks ? props.accountLinks.map(link => link) : false }\r\n { props.siteOptions }\r\n { props.wishListIconMobile }\r\n { props.signInLink }\r\n { props.signOutLink }\r\n \r\n \r\n \r\n {_renderReactFragment(props.menuBar)}\r\n \r\n \r\n );\r\n};\r\n\r\nfunction _renderDesktopAccountBlock(props: IHeaderViewProps): JSX.Element | null {\r\n const {\r\n AccountInfoDropdownParentContainer,\r\n AccountInfoDropdownPopoverConentContainer,\r\n accountInfoDropdownButton,\r\n signOutLink,\r\n signInLink,\r\n accountLinks\r\n } = props;\r\n\r\n if (AccountInfoDropdownParentContainer) {\r\n if (AccountInfoDropdownPopoverConentContainer) {\r\n return (\r\n \r\n {accountInfoDropdownButton}\r\n \r\n { accountLinks ? accountLinks.map(link => link) : false }\r\n {signOutLink}\r\n \r\n \r\n );\r\n } else if (signInLink) {\r\n return (\r\n \r\n {signInLink}\r\n \r\n );\r\n }\r\n }\r\n props.context.telemetry.error('Header content is empty, module wont render.');\r\n return null;\r\n}\r\n\r\nfunction _renderReactFragment(items: React.ReactNode[]): JSX.Element | null {\r\n return (\r\n <>\r\n {items && items.length > 0 ? items.map((slot: React.ReactNode, index: number) => {\r\n return (\r\n {slot}\r\n );\r\n }) : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { addThrottledEvent, Drawer, IModuleProps, INodeProps, KeyCodes, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { computed, observable } from 'mobx';\nimport React from 'react';\n\nimport { ISitePickerConfig, ISitePickerProps } from './site-picker.props.autogenerated';\n\nexport interface ISitePickerViewProps extends ISitePickerProps {\n SitePicker: IModuleProps;\n SitePickerMenu: INodeProps;\n SitePickerMenuSpan: INodeProps;\n SitePickerMenuList: INodeProps;\n SitePickerMenuListItem: INodeProps;\n SitePickerMenuListItemArray: React.ReactNode[] | undefined;\n siteOptionsState: boolean;\n SitePickerMobileContainer: INodeProps;\n isMobileView: boolean;\n renderSiteOptions(): void;\n resetSiteOptionsState(): void;\n}\n\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\ninterface ISitePickerState {\n expandSiteOptions: boolean;\n isMobile: boolean;\n}\n\n/**\n *\n * SitePicker component.\n * @extends {React.PureComponent>}\n */\nclass SitePicker extends React.PureComponent, ISitePickerState> {\n private readonly _cookieName: string = '_msdyn365___site_';\n\n private readonly _cookieExpirationInSeconds: number = 5_184_000;\n\n private readonly _sitePickerMenuNode: React.RefObject;\n\n private readonly _sitePickerMenuButton: React.RefObject;\n\n private resizeThrottledEventHandler?: (event: Event) => void;\n\n @observable\n private viewport: GridSize;\n\n public constructor(props: ISitePickerViewProps) {\n super(props);\n this._handleChange = this._handleChange.bind(this);\n this._sitePickerMenuNode = React.createRef();\n this._sitePickerMenuButton = React.createRef();\n this._renderSiteOptions = this._renderSiteOptions.bind(this);\n this._resetSiteOptionsState = this._resetSiteOptionsState.bind(this);\n this._escFunction = this._escFunction.bind(this);\n this._handleOutsideClick = this._handleOutsideClick.bind(this);\n this._updateViewport = this._updateViewport.bind(this);\n this.viewport =\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\n this.state = {\n expandSiteOptions: false,\n isMobile: this.isMobile\n };\n }\n\n @computed get isMobile(): boolean {\n return this.viewport === 'xs' || this.viewport === 'sm';\n }\n\n public componentDidMount(): void {\n if (MsDyn365.isBrowser) {\n document?.addEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\n document?.body?.addEventListener('mousedown', this._handleOutsideClick);\n this.resizeThrottledEventHandler = window && addThrottledEvent(window, 'resize', this._updateViewport as EventListener);\n this._updateViewport();\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.isBrowser) {\n document?.removeEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\n document?.body?.removeEventListener('mousedown', this._handleOutsideClick, false);\n window && window.removeEventListener('resize', this.resizeThrottledEventHandler!, false);\n }\n }\n\n public render(): JSX.Element | null {\n const viewProps: ISitePickerViewProps = {\n ...(this.props as ISitePickerProps),\n SitePicker: {\n moduleProps: this.props,\n className: classnames('ms-site-picker', this.props.config.className, this.state.isMobile ? 'mobile-view' : 'desktop-view'),\n tag: 'div'\n },\n SitePickerMenu: {\n tag: 'button' as NodeTag,\n className: 'ms-site-picker__button',\n 'aria-label': this.props.config.heading?.text,\n 'aria-expanded': this.state.expandSiteOptions,\n onClick: this.props,\n ref: this._sitePickerMenuButton\n },\n SitePickerMenuSpan: {\n className: 'ms-site-picker__span',\n tag: 'span'\n },\n SitePickerMenuList: {\n className: 'ms-site-picker__list',\n role: 'menu',\n tag: 'ul',\n ref: this._sitePickerMenuNode\n },\n SitePickerMenuListItem: {\n className: 'ms-site-picker__list__item',\n role: 'presentation',\n tag: 'li'\n },\n SitePickerMobileContainer: {\n tag: Drawer,\n className: 'ms-site-picker__drawer',\n toggleButtonText: this.props.config.heading?.text,\n openGlyph: 'ms-site-picker__drawer-open',\n closeGlyph: 'ms-site-picker__drawer-close',\n glyphPlacement: 'end'\n },\n isMobileView: this.state.isMobile,\n SitePickerMenuListItemArray: this._renderSitePickerImage(),\n renderSiteOptions: this._renderSiteOptions,\n resetSiteOptionsState: this._resetSiteOptionsState,\n siteOptionsState: this.state.expandSiteOptions\n };\n return this.props.renderView(viewProps);\n }\n\n private _renderSiteOptions(): void {\n const expandSiteOptionsState = this.state.expandSiteOptions;\n this.setState({\n expandSiteOptions: !expandSiteOptionsState\n });\n }\n\n private _resetSiteOptionsState(): void {\n this.setState({\n expandSiteOptions: false\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _escFunction = (event: any) => {\n const key = event.keyCode;\n if (this.state.expandSiteOptions) {\n switch (key) {\n case KeyCodes.Escape: {\n setTimeout(() => {\n const nextFocus = document && document.activeElement;\n if (\n this._sitePickerMenuButton?.current?.contains(nextFocus) ||\n this._sitePickerMenuNode?.current?.contains(nextFocus)\n ) {\n this._resetSiteOptionsState();\n this._sitePickerMenuButton?.current?.focus();\n }\n }, 50);\n break;\n }\n case KeyCodes.Tab: {\n setTimeout(() => {\n const nextFocus = document && document.activeElement;\n if (\n !this._sitePickerMenuButton?.current?.contains(nextFocus) &&\n !this._sitePickerMenuNode?.current?.contains(nextFocus)\n ) {\n this._resetSiteOptionsState();\n }\n }, 50);\n break;\n }\n default:\n return;\n }\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _handleOutsideClick = (event: any) => {\n if (\n (this._sitePickerMenuButton.current?.contains(event.target) && this.state.expandSiteOptions) ||\n (this._sitePickerMenuNode.current?.contains(event.target) && this.state.expandSiteOptions)\n ) {\n return;\n }\n this._resetSiteOptionsState();\n };\n\n private _handleChange(e: React.MouseEvent): void {\n e.preventDefault();\n if (e.currentTarget.href && e.currentTarget.href.length > 0 && window) {\n if (this.props.context.request.cookies.isConsentGiven()) {\n const cookieConfig = { maxAge: this._cookieExpirationInSeconds };\n this.props.context.request.cookies.set(this._cookieName, e.currentTarget.href, cookieConfig);\n }\n window.location.assign(e.currentTarget.href);\n }\n }\n\n private _renderSitePickerImage(): React.ReactNode[] | undefined {\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\n sm: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\n md: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\n lg: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\n xl: { q: 'w=40&h=20&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n const siteOptions = this.props.config.siteOptions && this.props.config.siteOptions;\n return (\n siteOptions &&\n siteOptions.map((item, index) => {\n const image = item?.siteImage;\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: image?.imageSettings?.viewports ? image.imageSettings : defaultImageSettings\n };\n return (\n \n {item?.siteName}\n \n \n );\n })\n );\n }\n\n private _updateViewport(): void {\n this.viewport = this._getViewport();\n this.setState({ isMobile: this.isMobile });\n }\n\n private _getViewport(): GridSize {\n const { context } = this.props;\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\n return 'xs';\n }\n\n if (typeof window !== undefined && window.innerWidth) {\n const gridSettings = context.request.gridSettings;\n if (gridSettings) {\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\n return 'xs';\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\n return 'sm';\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\n return 'md';\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\n return 'lg';\n }\n return 'xl';\n }\n }\n return 'xs';\n }\n}\n\nexport default SitePicker;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n INodeProps,\n ITelemetryContent,\n Module,\n Node\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IWishlistItemViewProps } from '../..';\nimport { IWishlistItemsViewProps } from './wishlist-items';\n\nconst WishlistItemsView: React.FC = props => {\n const {\n WishlistItems,\n status,\n statusMessage,\n heading,\n Products,\n products,\n Product,\n ProductDetails,\n ProductDimensions,\n telemetryContent,\n statusNotExistsMessage\n } = props;\n\n return (\n \n {heading}\n {statusNotExistsMessage}\n {status !== 'SUCCESS' && statusMessage}\n {Products && products && products.length > 0 && (\n \n {products &&\n products.map(product => {\n return product && _renderItem(product, Product, ProductDimensions, ProductDetails, telemetryContent);\n })}\n \n )}\n \n );\n};\n\nconst _renderItem = (\n product: IWishlistItemViewProps,\n Product?: INodeProps,\n ProductDimensions?: INodeProps,\n ProductDetails?: INodeProps,\n telemetryContent?: ITelemetryContent\n): JSX.Element | null => {\n const {\n key,\n productImage,\n productLink,\n productPrice,\n productDimensions,\n addToCartButton,\n removeButton,\n productStatusMessage,\n entireProductLink,\n productName,\n productAriaLabel,\n inventoryInformation,\n productUnitOfMeasure\n } = product;\n const payLoad = getPayloadObject('click', telemetryContent!, '', key);\n const productAttributes = getTelemetryAttributes(telemetryContent!, payLoad);\n if (entireProductLink) {\n return (\n \n \n {productImage}\n {productName}\n {productDimensions && ProductDimensions && (\n \n {productDimensions.map(dimension => {\n return dimension;\n })}\n \n )}\n {productPrice}\n {productUnitOfMeasure}\n \n {inventoryInformation}\n {addToCartButton}\n {removeButton}\n {productStatusMessage}\n \n );\n }\n return (\n \n {productImage}\n {productLink}\n {productDimensions && ProductDimensions && (\n \n {productDimensions.map(dimension => {\n return dimension;\n })}\n \n )}\n {productPrice}\n {addToCartButton}\n {removeButton}\n {productStatusMessage}\n \n );\n};\n\nexport default WishlistItemsView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAddResource, ICheckoutGiftCardViewProps, IForm, IItem, IList, IShowResource } from './checkout-gift-card';\n\nexport const From: React.FC = ({\n formProps,\n label,\n inputPinLabel,\n inputExpLabel,\n alert,\n inputProps,\n inputNumProps,\n inputPinProps,\n inputExpProps,\n inputNumber,\n inputPin,\n inputExp,\n applyButton,\n supportExternalGiftCard,\n showGiftCardPinInput,\n showGiftCardExpInput,\n alertFieldLabel\n}) => (\n \n {alert}\n {supportExternalGiftCard ? (\n \n \n {label}\n {inputNumber}\n \n {showGiftCardPinInput && (\n \n {inputPinLabel}\n {inputPin}\n \n )}\n {showGiftCardExpInput && (\n \n {inputExpLabel}\n {inputExp}\n \n )}\n {(showGiftCardPinInput || showGiftCardExpInput) && alertFieldLabel}\n \n ) : (\n <>\n {label}\n {inputNumber}\n \n )}\n {applyButton}\n \n);\n\nexport const SelectedGiftCard: React.FC = ({ itemProps, selectedGiftCard, removeButton }) => (\n \n {selectedGiftCard}\n {removeButton}\n \n);\n\nexport const GiftCardList: React.FC = ({ listProps, list }) => (\n \n {list.map(({ id, ...item }) => (\n \n ))}\n \n);\n\nexport const AddResource: React.FC = ({ form, list }) => (\n <>\n {form && }\n {list && }\n \n);\n\nexport const ShowResource: React.FC = ({ title, list }) => (\n <>\n {title}\n {list && }\n \n);\n\nconst CheckoutGiftCardView: React.FC = props => {\n const { checkoutGiftCardProps, checkoutErrorRef, showGiftCard, addGiftCard } = props;\n return (\n \n {showGiftCard && }\n {addGiftCard && }\n \n );\n};\n\nexport default CheckoutGiftCardView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, INodeProps, Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderTemplateLineViewProps } from './components';\nimport { IOrderTemplateViewProps } from './order-template';\n\nconst OrderTemplateLinesView: React.FC = (props: IOrderTemplateViewProps) => {\n const {\n OrderTemplateLines,\n status,\n statusMessage,\n heading,\n ProductsTable,\n ProductsTableHeading,\n orderLines,\n ProductsTableRow,\n productsStatusMessage,\n OrderTemplateActions,\n orderActions,\n pagination,\n itemAddedToCartDialog,\n bulkOrderLineActions,\n isDetailsDisplayed,\n detailedProductView,\n toggleDetailsDisplayed,\n resources: {\n cancelBtnLabel,\n productNumberText,\n productText,\n productUnitPriceText,\n productUOMText,\n productQuantityText,\n productLineCatalogName\n }\n } = props;\n\n const toggleDetails = React.useCallback(() => {\n toggleDetailsDisplayed && toggleDetailsDisplayed(undefined);\n }, [toggleDetailsDisplayed]);\n\n return (\n \n {heading}\n {OrderTemplateActions && (\n \n {orderActions?.addTemplateToBag}\n {orderActions?.renameTemplate}\n {orderActions?.removeTemplate}\n {orderActions?.actionsSplitButton}\n {!isDetailsDisplayed && productsStatusMessage}\n \n )}\n {bulkOrderLineActions}\n {status !== 'SUCCESS' && statusMessage}\n {ProductsTable && orderLines && orderLines.length > 0 && (\n \n \n {ProductsTableHeading}\n \n {orderLines &&\n orderLines.map(product => {\n return _renderItem(product, productQuantityText, ProductsTableRow);\n })}\n \n \n {pagination}\n \n )}\n {itemAddedToCartDialog}\n \n Product Details\n \n
      \n
    • {detailedProductView?.productImage}
    • \n
    • \n {productText}:\n {detailedProductView?.productInfo}\n
    • \n
    • \n {productLineCatalogName}:\n {detailedProductView?.productLineCatalog}\n
    • \n
    • \n {productNumberText}:\n {detailedProductView?.productNumber}\n
    • \n
    • \n {productUnitPriceText}:\n {` `}\n {detailedProductView?.productPrice}\n
    • \n
    • \n {productUOMText}:\n {` `}\n {detailedProductView?.productUnitOfMeasure}\n
    • \n
    • \n {productQuantityText}:\n {detailedProductView?.productQuantityView}\n
    • \n {productsStatusMessage &&
    • {productsStatusMessage}
    • }\n
    \n
    \n \n \n \n \n
    \n );\n};\n\nconst _renderItem = (product: IOrderTemplateLineViewProps, quantityLabel: string, ProductsTableRow?: INodeProps): JSX.Element | null => {\n if (!product) {\n return null;\n }\n\n const {\n key,\n selectLine,\n productLineCatalog,\n productImage,\n productPrice,\n productNumber,\n addToBagButton,\n removeButton,\n productInfo,\n productUnitOfMeasure,\n productQuantityView,\n productQuantity,\n popUp,\n isMobile,\n extraActionsPopup,\n isMultipleCatalogFeatureEnabledInHq,\n disabled\n } = product;\n\n const lineVisibility = disabled\n ? {\n pointerEvents: 'none',\n opacity: 0.5\n }\n : {\n pointerEvents: 'auto',\n opacity: 1\n };\n\n return (\n \n {selectLine}\n {!isMobile && isMultipleCatalogFeatureEnabledInHq && {productLineCatalog}}\n {productImage}\n {isMobile ? (\n \n
    {productNumber}
    \n
    \n {quantityLabel}:{` `}\n {productQuantity}\n
    \n \n ) : (\n {productNumber}\n )}\n {!isMobile && {productInfo}}\n {!isMobile && {productPrice}}\n {!isMobile && {productUnitOfMeasure}}\n {!isMobile && {productQuantityView}}\n {isMobile && {popUp}}\n {!isMobile && !isMultipleCatalogFeatureEnabledInHq && (\n \n {addToBagButton}\n {removeButton}\n \n )}\n {extraActionsPopup}\n
    \n );\n};\n\nexport default OrderTemplateLinesView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n NodeTag,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput } from '../..';\nimport { IAccordionData } from './accordion.data';\nimport { IAccordionProps } from './accordion.props.autogenerated';\n\n/**\n *\n * Accordion component.\n * @extends {React.PureComponent>}\n */\n\nexport interface ICallToActionProps {\n link: INodeProps[];\n}\n\n/**\n * Added interface for state management.\n */\nexport interface IAccordianState {\n isDisabled: boolean;\n}\n\nexport interface IAccordionViewProps extends IAccordionProps<{}> {\n heading?: React.ReactNode;\n AccordionContainer: IModuleProps;\n HeaderSection: INodeProps;\n HeadingWrapper: INodeProps;\n accordianButtonsContainer: INodeProps;\n accordionButtons: React.ReactNode;\n accordionItemContainer: INodeProps;\n accordionItems: React.ReactNode;\n}\n\n/**\n *\n * Accordion component.\n * @extends {React.Component>}\n */\n@observer\nclass Accordion extends React.PureComponent, IAccordianState> {\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private readonly expandAllButtonRef: React.RefObject = React.createRef();\n\n private readonly collapseAllButtonRef: React.RefObject = React.createRef();\n\n constructor(props: IAccordionProps) {\n super(props);\n this._onExpandAll = this._onExpandAll.bind(this);\n this._onCollapseAll = this._onCollapseAll.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\n this.state = { isDisabled: false };\n }\n\n public render(): JSX.Element {\n const { slots } = this.props;\n const { heading, className } = this.props.config;\n const headingComponent = heading && heading.text && (\n \n );\n\n const accordionViewProps = {\n ...this.props,\n AccordionContainer: {\n moduleProps: this.props,\n className: classnames('ms-accordion', className)\n },\n HeaderSection: { className: 'ms-accordion-header-section' },\n HeadingWrapper: { className: 'ms-accordion-header-section-container' },\n heading: headingComponent,\n config: this.props && this.props.config,\n accordianButtonsContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-header-section-toggle-button-container'\n },\n accordionButtons: this._renderAccordionButton(),\n accordionItemContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-item-section'\n },\n accordionItems:\n slots &&\n slots.accordionItems &&\n slots.accordionItems.length > 0 &&\n slots.accordionItems.map((item: React.ReactNode, index: number) => this._getAccordionItem(item, index))\n };\n return this.props.renderView(accordionViewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n private _renderAccordionButton(): React.ReactNode | null {\n const { config, resources } = this.props;\n const { heading } = config;\n this.payLoad.contentAction.etext = TelemetryConstant.ExpandAll;\n const attributeExpandAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n this.payLoad.contentAction.etext = TelemetryConstant.CollapseAll;\n const attributeCollapseAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n if (!config.showToggleAll) {\n this.props.context.telemetry.error('Accordion button content is empty, module wont render');\n return null;\n }\n return (\n <>\n \n {resources.expandAllText}\n \n  \n {resources.toggleAllSeparator}\n  \n \n {resources.collapseAllText}\n \n \n );\n }\n\n private _onExpandAll(): void {\n const accordionState = { isAllExpanded: true };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (accordionState.isAllExpanded) {\n this.setState({\n isDisabled: true\n });\n setTimeout(() => {\n this.collapseAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _onCollapseAll(): void {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (!accordionState.isAllExpanded) {\n this.setState({\n isDisabled: false\n });\n setTimeout(() => {\n this.expandAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _getAccordionItem(item: React.ReactNode, index: number): React.ReactNode {\n return (\n \n {React.cloneElement(item as React.ReactElement, { interactionStyle: this.props.config.interactionStyle })}\n \n );\n }\n}\n\nexport default Accordion;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IGroup, IGroupDelivery, IGroups } from '../../common/get-groups';\nimport { IOrderInformation } from '../../common/get-order-information';\nimport { ISalesLine } from '../../common/get-sales-line';\nimport { ISalesOrder } from './components/get-sales-order';\nimport { IHeader, IList, IOrderHistoryViewProps } from './order-history';\n\nexport const OrderHistoryOrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n channelName,\n createdDate,\n count,\n amount,\n channelReferenceId\n}) => (\n \n {channelName}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const OrderHistoryGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {processing}\n {address}\n {trackingInfo}\n \n);\n\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {delivery && }\n {salesLines && (\n \n {salesLines.map((salesLine: ISalesLine) => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group: IGroup, index: number) => (\n \n ))}\n \n);\n\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n \n {heading}\n {orderCountLabel}\n {extraActions}\n \n);\n\nexport const OrderHistorySalesOder: React.FC = ({\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n}) => (\n \n {orderInfomation && }\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n \n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder: ISalesOrder, index: number) => )}\n \n);\n\nconst OrderHistoryView: React.FC = ({\n orderHistoryProps,\n header,\n alert,\n loading,\n emptyMessage,\n backToShoppingLink,\n list,\n table,\n moreButton\n}) => (\n \n {header && }\n {loading}\n {alert && (\n <>\n {alert}\n {backToShoppingLink}\n \n )}\n {emptyMessage && (\n <>\n {emptyMessage}\n {backToShoppingLink}\n \n )}\n {list && }\n {table}\n {moreButton && moreButton}\n \n);\n\nexport default OrderHistoryView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IHistogramItemViewProps } from './component/components';\nimport { IRatingsHistogramViewProps } from './ratings-histogram';\n\nconst RatingsHistogramView: React.FC = props => {\n const { heading, histogramItems, histogramProps, moduleProps } = props;\n\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 { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { FormBuilder } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckInViewProps } from './check-in-for-pickup';\n\n/**\n * The check-in view for submitting check-in, capturing additional information, and showing check-in confirmation.\n * @param props - The check-in view properties.\n * @returns The check-in view as a react component.\n */\nconst CheckInViewComponent: React.FC = (props: ICheckInViewProps) => {\n const { headerError, checkInForOrderPickup, confirmationComponent, viewState } = props;\n return (\n <>\n {viewState.isHeaderError && headerError}\n {!viewState.isHeaderError && ArrayExtensions.hasElements(props.config.additionalInformationKeys) && (\n \n )}\n {!viewState.isHeaderError &&\n !ArrayExtensions.hasElements(props.config.additionalInformationKeys) &&\n viewState.isCheckedIn &&\n confirmationComponent}\n \n );\n};\n\nexport default CheckInViewComponent;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { IBreadcrumbViewProps } from '@msdyn365-commerce-modules/breadcrumb/src/modules/breadcrumb/./breadcrumb';\r\n\r\nconst BreadCrumbView: React.FC = props => {\r\n\tconst { root, links, backButton, BreadcrumbContainer, BreadcrumbList, BreadcrumbListItem, separator } = props;\r\n\tif (!root && !links && !backButton) {\r\n\t\tprops.context.telemetry.error('BreadCrumb content is empty, module wont render');\r\n\t\treturn null;\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{root && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{root}\r\n\t\t\t\t\t\t{links && separator}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{backButton && {backButton}}\r\n\t\t\t\t{links && links.map((link, index) => {\r\n\t\t\t\t\tif(link && typeof link === \"object\" && ('props' in link)){\r\n\t\t\t\t\t\treturn \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{(link && link.props.text)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{links[index + 2] && separator}\t {/*THIS IS TERRIBLE!!, should be +1*/}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn ''\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default BreadCrumbView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IProductDimensionConfigureDropdownViewProps, IProductDimensionConfigureViewProps } from '@msdyn365-commerce/components';\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IQuickOrderGridFormViewProps } from './components';\nimport { IQuickOrderGridViewProps } from './quick-order-grid';\n\n/**\n * Render product dimension/configure dropdown.\n * @param dropdown -- Product dimension drop down.\n * @returns Dropdown.\n */\nconst renderConfigureDropdown = (dropdown: IProductDimensionConfigureDropdownViewProps): JSX.Element => {\n const { containerProps, labelContainerProps, heading, errors, select } = dropdown;\n\n return (\n \n {heading}\n {errors}\n {select}\n \n );\n};\n\n/**\n * Render product dimension/configure container.\n * @param configure -- Product dimension configuration.\n * @returns Container to have dimension dropdown.\n */\nconst renderConfigure = (configure?: IProductDimensionConfigureViewProps): JSX.Element | null => {\n if (configure !== undefined) {\n const { containerProps, dropdowns } = configure;\n\n return {dropdowns.map(renderConfigureDropdown)};\n }\n return null;\n};\n\n/**\n * Render product dimension/configure container.\n * @param form -- Form props.\n * @param isMobileView -- Flag to check mobile view.\n * @param quickOrderForm - Form component container.\n * @param quickOrderProductContent - Form product component.\n * @param quickOrderMessageContent - Form user message component.\n * @param configure - Product Dimension component.\n * @returns Jsx element of quick order form component.\n */\nconst renderForm = (\n form: IQuickOrderGridFormViewProps,\n isMobileView: boolean,\n quickOrderForm: INodeProps,\n quickOrderProductContent: INodeProps,\n quickOrderMessageContent: INodeProps,\n configure?: IProductDimensionConfigureViewProps\n) => {\n return isMobileView ? (\n \n \n {form.product}\n {renderConfigure(configure)}\n {form.quantity}\n {form.userMessage}\n {form.addToListBtn}\n \n \n ) : (\n \n {form.userMessage}\n \n {form.product}\n {renderConfigure(configure)}\n {form.quantity}\n {form.addToListBtn}\n \n \n );\n};\n\n/**\n * Retrieves current sort criteria.\n * @param props - QuickOrder Grid view props.\n * @returns - Render View.\n */\nconst quickOrderGridView: React.FC = props => {\n const {\n quickOrderGridProps,\n contentProps,\n form,\n quickOrderGridForm,\n drawer,\n configure,\n quickOrderGridFormProductContent,\n quickOrderGridFormMsgContent,\n isMobileView,\n header,\n container,\n actions,\n orderActions\n } = props;\n\n return (\n \n {header}\n {actions && (\n \n {orderActions?.addProductListToBag}\n {orderActions?.removeProductList}\n \n )}\n \n \n {renderForm(\n form as IQuickOrderGridFormViewProps,\n isMobileView,\n quickOrderGridForm,\n quickOrderGridFormProductContent,\n quickOrderGridFormMsgContent,\n configure\n )}\n {props.bulkPurchase}\n \n \n {container}\n \n );\n};\n\nexport default quickOrderGridView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IHeader, IMapViewProps } from './map';\n\n/**\n * Render the heading.\n * @param param0 -- Heading props.\n * @param param0.headerProps -- Heading Props.\n * @param param0.heading -- Heading Node.\n * @returns -- Returns the node.\n */\nconst MapHeader: React.FC = ({ headerProps, heading }) => {heading};\n\n/**\n * Renders the map view props.\n * @param param0 -- Map view props.\n * @param param0.ModuleProps -- Module props.\n * @param param0.Header -- Header props.\n * @param param0.MapProps -- Map props.\n * @returns -- Returns the map module.\n */\nconst MapView: React.FC = ({ ModuleProps, Header, MapProps }) => (\n \n {Header && }\n \n \n);\n\nexport default MapView;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ISearchCategoryViewProps, ISearchFormViewProps, ISearchKeywordViewProps, ISearchProductViewProps } from '@msdyn365-commerce-modules/search/src/modules/search/./components';\r\nimport { ISearchViewProps } from '@msdyn365-commerce-modules/search/src/modules/search/./search';\r\n\r\nconst SearchView: React.FC = props => {\r\n\tconst {\r\n\t\tSearch,\r\n\t\tAutoSuggestAriaLabel,\r\n\t\tAutoSuggestAriaLabelText,\r\n\t\tsearchText,\r\n\t\tAutoSuggest,\r\n\t\tKeywordSuggest,\r\n\t\tProductSuggest,\r\n\t\tCategorySuggest,\r\n\t\tUlKeyword,\r\n\t\tUlProduct,\r\n\t\tUlCategory,\r\n\t\tform,\r\n\t\tautosuggestCategory,\r\n\t\tautosuggestKeyword,\r\n\t\tautosuggestProduct,\r\n\t\tSearchForm,\r\n\t\tFormWrapper,\r\n\t\tlabel,\r\n\t\tisLoadingAutoSuggest,\r\n\t\tisLoadingNode\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{label}\r\n\t\t\t{_renderForm(form as ISearchFormViewProps, SearchForm, FormWrapper)}\r\n\t\t\t\r\n\t\t\t\t{searchText && searchText.length > 0 ? {AutoSuggestAriaLabelText} : ''}\r\n\t\t\t\t{_renderKeywordSuggestions(KeywordSuggest, UlKeyword, autosuggestKeyword, isLoadingAutoSuggest, isLoadingNode)}\r\n\t\t\t\t{_renderProductSuggestions(ProductSuggest, UlProduct, autosuggestProduct, isLoadingAutoSuggest, isLoadingNode)}\r\n\t\t\t\t{_renderCategorySuggestions(CategorySuggest, UlCategory, autosuggestCategory, isLoadingAutoSuggest, isLoadingNode)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderForm = (form: ISearchFormViewProps, SearchForm: INodeProps, FormWrapper: INodeProps) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{form.input}\r\n\t\t\t\t{form.cancelBtn}\r\n\t\t\t\t{form.submitBtn}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderKeywordSuggestions = (\r\n\tKeywordSuggest: INodeProps,\r\n\tUlKeyword: INodeProps,\r\n\tkeywordSuggestions?: ISearchKeywordViewProps,\r\n\tisLoadingAutoSuggest?: boolean,\r\n\tisLoadingNode?: React.ReactNode\r\n) => {\r\n\treturn (\r\n\t\tkeywordSuggestions && (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{isLoadingAutoSuggest && isLoadingNode}\r\n\t\t\t\t\t{!isLoadingAutoSuggest &&\r\n\t\t\t\t\t\tkeywordSuggestions.text.map(text => {\r\n\t\t\t\t\t\t\treturn text;\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t);\r\n};\r\n\r\nconst _renderProductSuggestions = (\r\n\tProductSuggest: INodeProps,\r\n\tUlProduct: INodeProps,\r\n\tproductSuggestions?: ISearchProductViewProps,\r\n\tisLoadingAutoSuggest?: boolean,\r\n\tisLoadingNode?: React.ReactNode\r\n) => {\r\n\treturn (\r\n\t\tproductSuggestions && (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{/*{productSuggestions.title}*/}\r\n\t\t\t\t\t
  • Go to results
  • \r\n\t\t\t\t\t{isLoadingAutoSuggest && isLoadingNode}\r\n\t\t\t\t\t{!isLoadingAutoSuggest &&\r\n\t\t\t\t\t\tproductSuggestions.items.map((item, index) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{item.thumbnail}\r\n\t\t\t\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\t\t\t\t{item.price}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t)\r\n\t);\r\n};\r\n\r\nconst _renderCategorySuggestions = (\r\n\tCategorySuggest: INodeProps,\r\n\tUlCategory: INodeProps,\r\n\tcategorySuggestions?: ISearchCategoryViewProps,\r\n\tisLoadingAutoSuggest?: boolean,\r\n\tisLoadingNode?: React.ReactNode\r\n) => {\r\n\treturn (\r\n\t\tcategorySuggestions && (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{categorySuggestions.title}\r\n\t\t\t\t\t{isLoadingAutoSuggest && isLoadingNode}\r\n\t\t\t\t\t{!isLoadingAutoSuggest && categorySuggestions.text.map(text => {\r\n\t\t\t\t\t\tlet tp: any;\r\n\t\t\t\t\t\tif(text && typeof text === \"object\" && \"props\" in text){\r\n\t\t\t\t\t\t\ttp = text ? text.props.children.props : undefined;\r\n\t\t\t\t\t\t\ttp['aria-label'] = tp['aria-label'].split('|').slice(1).join(', ');\r\n\t\t\t\t\t\t\ttp.children.props.dangerouslySetInnerHTML.__html = tp.children.props.dangerouslySetInnerHTML.__html.split('|').slice(1).join(' | ');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn text;\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t);\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IFooterViewProps } from './footer-item';\n\n/**\n *\n * FooterItemView component.\n * @extends {React.PureComponent}\n */\nexport class FooterItemView extends React.PureComponent {\n public render(): JSX.Element | null {\n const { FooterItem } = this.props;\n return {this._renderElement(this.props)};\n }\n\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\n const { heading, HeadingContainer, Link, linkText, image, text, EditableLink } = props;\n if (heading) {\n return {heading} ;\n } else if (Link && image) {\n return (\n \n {linkText}\n {image}\n \n );\n } else if (Link) {\n return EditableLink;\n }\n return (\n <>\n {text}\n {image}\n \n );\n }\n}\n\nexport default FooterItemView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Modal, ModalBody, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountLoyaltyViewProps } from './account-loyalty';\n\nconst AccountLoyaltyView: React.FC = props => {\n const {\n AccountLoyalty,\n Info,\n Points,\n Breakdown,\n RewardPoints,\n PointsBreakdown,\n Button,\n heading,\n infoLabel,\n cardNumber,\n joinDate,\n pointsLabel,\n points,\n rewardPoints,\n homeButton,\n pointsModal\n } = props;\n const { ModalBodyTop, ModalBodyHeaders } = pointsModal;\n return (\n \n {heading}\n \n {infoLabel}\n {cardNumber}\n {joinDate}\n \n \n {pointsLabel}\n {points}\n\n \n {rewardPoints &&\n rewardPoints.map((activity, index) => {\n return (\n \n {activity.label}\n \n {activity.availableModalLabel}\n {activity.availableModalTrigger}\n \n\n \n {activity.expiringModalLabel}\n {activity.expiringModalTrigger}\n \n \n );\n })}\n \n \n\n {homeButton}\n\n {(!pointsModal.isOpen && ) || (\n \n \n {pointsModal.modalHeader}\n \n \n \n {pointsModal.pointsDescription}\n {pointsModal.totalPoints}\n \n \n {pointsModal.date}\n {pointsModal.balanceLabel}\n \n {pointsModal.rewardPointsActivity &&\n pointsModal.rewardPointsActivity.map((activity, index) => {\n const { Activity, activityType, activityDate, activityPoints } = activity;\n return (\n \n {activityType}\n {activityDate}\n {activityPoints}\n \n );\n })}\n \n \n )}\n \n );\n};\n\nexport default AccountLoyaltyView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IContentBlockAdditionalContentItemViewProps, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport { IContentBlockViewProps } from './content-block';\n\n/**\n * Render Additional Content.\n * @param additionalContent - Additional content view props.\n * @returns JSX Element.\n */\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\n return (\n \n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\n return (\n <>\n {item.heading}\n \n {item.text}\n {item.links}\n \n \n );\n })}\n \n );\n};\n\nconst ContentBlockView: React.FC = props => {\n const {\n contentBlockContainer,\n imageContainer,\n detailsContainer,\n title,\n text,\n links,\n image,\n contentBlockAnchorTag,\n imageLink,\n imageAriaLabel,\n additionalContent\n } = props;\n\n if (imageLink) {\n return (\n \n \n {image}\n \n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n }\n return (\n \n {image}\n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n};\n\nexport default ContentBlockView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IPasswordResetVerificationItem,\n IPasswordResetVerificationLoading,\n IPasswordResetVerificationLocalAccount,\n IPasswordResetVerificationViewProps\n} from './password-reset-verification';\n\nconst PasswordResetVerificationItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n verificationControlWrapper,\n items,\n successMessage,\n errorMessage,\n verificationButtonsWrapper,\n verificationButtons,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n \n {successMessage &&\n successMessage.map((message: React.ReactNode, index: number) => {\n return {message};\n })}\n {items &&\n items.map((item: IPasswordResetVerificationItem) => {\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n {verificationButtons &&\n verificationButtons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n \n \n \n \n );\n};\n\nconst PasswordResetVerificationLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst PasswordResetVerificationView: React.FC = props => {\n const {\n passwordResetVerification,\n viewState,\n loading,\n defaultAADConainer,\n aadConainer,\n heading,\n passwordResetVerificationLocalAccount\n } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(passwordResetVerificationLocalAccount)}\n \n \n );\n};\n\nexport default PasswordResetVerificationView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISingleOrderTemplateViewProps } from './components';\nimport { IOrderTemplateListViewProps } from './order-template-list';\n\nexport const OrderTemplateListView: React.FC = props => {\n const {\n OrderTemplateList,\n status,\n statusMessage,\n heading,\n OrderTemplates,\n orderTemplates,\n OrderTemplate,\n createOrderTemplateButton,\n templateHeaderStatusMessage\n } = props;\n\n return (\n \n {heading}\n {status !== 'SUCCESS' && statusMessage}\n \n {createOrderTemplateButton}\n {templateHeaderStatusMessage}\n \n {OrderTemplates && orderTemplates && orderTemplates.length > 0 && (\n \n {orderTemplates &&\n orderTemplates.map(orderTemplate => {\n return _renderOrderTemplate(orderTemplate, OrderTemplate);\n })}\n \n )}\n \n );\n};\n\nconst _renderOrderTemplate = (orderTemplate: ISingleOrderTemplateViewProps, OrderTemplate?: INodeProps): JSX.Element | null => {\n const { key, addToCartButton, orderTemplateImage, orderTemplateStatusMessage, removeButton, orderTemplateName } = orderTemplate;\n return (\n \n {orderTemplateName}\n {orderTemplateImage}\n {addToCartButton}\n {removeButton}\n {orderTemplateStatusMessage}\n \n );\n};\n\nexport default OrderTemplateListView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageData, IImageSettings, Image } from '@msdyn365-commerce/core';\nimport {\n IMediaGalleryThumbnailItemViewProps,\n IMediaGalleryThumbnailsViewProps,\n IMediaGalleryViewProps\n} from '@msdyn365-commerce-modules/media-gallery';\nimport { getFallbackImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, KeyCodes, Module, Node, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React from 'react';\n\n/**\n * Render the thumbnail item images.\n * @param thumbnail - The carousel thumbnail line props.\n * @returns Return HTML having thumnailcontainer props with image.\n */\nconst renderThumbnailItem = (thumbnail: IMediaGalleryThumbnailItemViewProps): JSX.Element => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from media-gallery.tsx file\n const { ThumbnailItemContainerProps, Picture } = thumbnail;\n\n return {Picture};\n};\n\n/**\n * Gets the thumbnail item to display media gallery images.\n * @param image - The media gallery images.\n * @param imageSettings - Image settings for the image gallery items.\n * @param imageId - Image id.\n * @param modifiedActiveIndex - Modified Index of the images when selection changes.\n * @param props - The Media gallery view props from business layer.\n * @returns Return thumbnail view props which will be used to render images.\n */\nconst GetThumbnailItemComponent = (\n image: IImageData,\n imageSettings: IImageSettings,\n imageId: number,\n modifiedActiveIndex: number,\n props: IMediaGalleryViewProps\n): IMediaGalleryThumbnailItemViewProps => {\n let fallbackImage: string | undefined = '';\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- Site level config can be of any type.\n const emptyPlaceHolderImage = props.context.app.config?.placeholderImageName as string;\n if (props.data.product.result) {\n fallbackImage = getFallbackImageUrl(\n props.data.product.result.ItemId,\n props.context.request.apiSettings,\n props.context.request.app?.config?.OmniChannelMedia\n );\n }\n if (emptyPlaceHolderImage && fallbackImage) {\n fallbackImage = `${fallbackImage},${emptyPlaceHolderImage}`;\n }\n\n /**\n * OnClick method of media gallery item.\n */\n const onClick = () => {\n props.callbackToggle?.();\n props.callbackThumbnailClick?.(imageId);\n props.state.activeIndex = imageId;\n };\n\n const classes = classnames(\n 'ms-media-gallery__thumbnail-item',\n modifiedActiveIndex === imageId ? 'ms-media-gallery__thumbnail-item-active' : ''\n );\n\n /**\n * Keydown event of media gallery item.\n * @param event - React.KeyboardEvent.\n */\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.keyCode === KeyCodes.Enter) {\n event.preventDefault();\n onClick();\n }\n };\n const defaultIndex = 0;\n return {\n ThumbnailItemContainerProps: {\n tag: 'li' as NodeTag,\n className: classes,\n role: 'presentation',\n key: imageId\n },\n Picture: (\n \n \n \n \n \n \n \n \n )\n };\n};\n\n/**\n * Gets the empty thumbnail item to display media gallery images.\n * @param imageSettings - Image settings for the image gallery items.\n * @param props - The Media gallery view props from business layer.\n * @returns Return thumbnail view props which will be used to render empty images.\n */\nconst GetEmptyThumbnailItemComponent = (\n imageSettings: IImageSettings,\n props: IMediaGalleryViewProps\n): IMediaGalleryThumbnailItemViewProps => {\n let fallbackImage: string | undefined = '';\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- Site level config can be of any type.\n const emptyPlaceHolderImage = props.context.app.config?.placeholderImageName as string;\n if (props.data.product.result) {\n fallbackImage = getFallbackImageUrl(\n props.data.product.result.ItemId,\n props.context.request.apiSettings,\n props.context.request.app?.config?.OmniChannelMedia\n );\n }\n if (emptyPlaceHolderImage && fallbackImage) {\n fallbackImage = `${fallbackImage},${emptyPlaceHolderImage}`;\n }\n return {\n ThumbnailItemContainerProps: {\n tag: 'li' as NodeTag,\n className: 'ms-media-gallery__thumbnail-item',\n role: 'tab',\n tabIndex: 0,\n key: 0,\n 'aria-label': '',\n 'aria-selected': true\n },\n Picture: (\n \n )\n };\n};\n\n/**\n * Update media gallery items method.\n * @param items - The media gallery thumbnail item view props.\n * @returns The IImageData array.\n */\nconst getMediaGalleryItems = (items?: IMediaGalleryThumbnailItemViewProps[]): IImageData[] | undefined => {\n return items?.map(item => {\n return {\n altText: item.Picture.props.altText,\n src: item.Picture.props.src\n };\n });\n};\n\nconst defaultThumbnailImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=295&h=295&q=80&m=6&f=jpg', w: 295, h: 295 },\n xl: { q: 'w=295&h=295&q=80&m=6&f=jpg', w: 295, h: 295 }\n },\n lazyload: true,\n cropFocalRegion: true\n};\n\n/**\n * Render the Media gallery thumbnails to represent images in grid view.\n * @param thumbnails - The thumbnail view props.\n * @param props - The media gallery view props.\n * @returns - The single slide carousel component to render as media gallery image.\n */\nconst renderThumbnails = (thumbnails: IMediaGalleryThumbnailsViewProps, props: IMediaGalleryViewProps): JSX.Element => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from media-gallery.tsx file\n const { ThumbnailsContainerProps, SingleSlideCarouselComponentProps } = thumbnails;\n const { state, Thumbnails } = props;\n const mediaGalleryItems = getMediaGalleryItems(Thumbnails.items);\n\n const items: IMediaGalleryThumbnailItemViewProps[] | undefined =\n // eslint-disable-next-line multiline-ternary -- need multiline for easy code reading\n state.lastUpdate && mediaGalleryItems && mediaGalleryItems[0].src === 'empty'\n ? [GetEmptyThumbnailItemComponent(defaultThumbnailImageSettings, props)]\n : // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from media-gallery\n mediaGalleryItems?.map((item: IImageData, id: number) =>\n GetThumbnailItemComponent(item, defaultThumbnailImageSettings, id, state.activeIndex, props)\n );\n\n return (\n \n {items?.map(renderThumbnailItem)}\n \n );\n};\n\n/**\n * Render the Media gallery items using viewprops.\n * @param props - The media gallery view props.\n * @returns The media gallery module wrapping up images node.\n */\nconst mediaGalleryView: React.FC = props => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from media-gallery.tsx file\n const { CarouselProps, Thumbnails, MediaGallery, Modal } = props;\n return (\n \n \n {Modal}\n {renderThumbnails(Thumbnails, props)}\n \n );\n};\n\nexport default mediaGalleryView;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IMediaGalleryThumbnailItemViewProps, IMediaGalleryThumbnailsViewProps, IMediaGalleryViewProps } from '@msdyn365-commerce-modules/media-gallery/src/modules/media-gallery/../..';\r\n\r\nconst MediaGalleryView: React.FC = props => {\r\n\tconst { CarouselProps, Thumbnails, MediaGallery, Modal } = props;\r\n\tlet items = Thumbnails ? Thumbnails.items : null;\r\n\tif(items && items.length <= 2){\r\n\t\tMediaGallery.className += ' no-thumbs';\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t{Modal}\r\n\t\t\t{_renderThumbnails(Thumbnails)}\r\n\t\t\r\n\t);\r\n};\r\n\r\n//Added length >= 2 to prevent only single thumbnails from rendering\r\nconst _renderThumbnails = (thumbnails: IMediaGalleryThumbnailsViewProps): JSX.Element => {\r\n\tconst { ThumbnailsContainerProps, SingleSlideCarouselComponentProps, items } = thumbnails;\r\n\tif(items && items.length >= 2){\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t{items && items.map(_renderThumbnailItem)}\r\n\t\t\t
    \r\n\t\t);\r\n\t} else {\r\n\t\treturn \r\n\t}\r\n};\r\n\r\nconst _renderThumbnailItem = (thumbnail: IMediaGalleryThumbnailItemViewProps): JSX.Element => {\r\n\tconst { ThumbnailItemContainerProps, Picture } = thumbnail;\r\n\r\n\treturn {Picture};\r\n};\r\n\r\nexport default MediaGalleryView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IReviewModalViewProps } from '../../common/review-modal';\nimport { IWriteReviewViewProps } from './write-review';\n\nconst WriteReviewView: React.FC = props => {\n const { heading, signInMessage, signInButton, modalToggle, reviewModal, moduleProps } = props;\n const isAuthenticated = props.context.request.user.isAuthenticated;\n return (\n \n {heading}\n {!isAuthenticated ? (\n <>\n {signInMessage}\n {signInButton}\n \n ) : (\n <>\n {modalToggle}\n {createReviewModal(reviewModal, moduleProps)}\n \n )}\n \n );\n};\n\nconst createReviewModal = (props: IReviewModalViewProps, moduleProps: IModuleProps): JSX.Element => {\n return (\n \n {props.modalHeader}\n \n \n \n {props.rating}\n {props.ratingLabel}\n \n \n {props.titleLabel}\n {props.titleInput}\n \n \n {props.textLabel}\n {props.textInput}\n \n {props.privacyPolicyUrl}\n {props.error}\n \n \n \n {props.submitButton}\n {props.cancelButton}\n \n \n );\n};\n\nexport default WriteReviewView;\n"],"sourceRoot":""}