{"version":3,"sources":["webpack:///./src/themes/patzhall/views/order-confirmation.view.tsx?0030","webpack:///./src/themes/enoteca/views/checkout.view.tsx?f262","webpack:///./src/themes/erath/views/checkout.view.tsx?3db3","webpack:///./src/themes/elicit/views/checkout.view.tsx?7a08","webpack:///./src/themes/columbiacrest/views/checkout.view.tsx?2a1b","webpack:///./src/themes/stemichelle-new/views/order-confirmation.view.tsx?7833","webpack:///src/modules/product-specification/components/product-specification-table-stucture.tsx?4b07","webpack:///src/modules/product-specification/product-specification.tsx?f393","webpack:///./src/themes/conn-creek/views/header.view.tsx?1ab9","webpack:///./src/themes/patzhall/views/header.view.tsx?cf8b","webpack:///./src/themes/blend/views/checkout.view.tsx?e65d","webpack:///./src/themes/emp/views/checkout.view.tsx?ae34","webpack:///src/modules/sign-in/sign-in.view.tsx?a753","webpack:///./src/themes/stemichelle/views/order-confirmation.view.tsx?6916","webpack:///./src/themes/intrinsic-wine-co/views/checkout.view.tsx?a1b2","webpack:///./src/themes/spring-valley-vineyard/views/order-confirmation.view.tsx?f525","webpack:///./src/themes/stagsleap/views/checkout.view.tsx?957f","webpack:///./src/themes/conn-creek/views/order-confirmation.view.tsx?8226","webpack:///./src/themes/fth/views/header.view.tsx?6d7d","webpack:///src/modules/product-specification/product-specification.view.tsx?bfbe","webpack:///./src/themes/columbiacrest/views/header.view.tsx?4973","webpack:///./src/themes/smwe/views/header.view.tsx?1d70","webpack:///./src/themes/fth/views/order-confirmation.view.tsx?024e","webpack:///./src/themes/generazioni/views/checkout.view.tsx?4f16","webpack:///./src/themes/blend/views/header.view.tsx?3e7f","webpack:///src/modules/invoices-list/invoices-list.view.tsx?0243","webpack:///./src/themes/enoteca/views/order-confirmation.view.tsx?43d4","webpack:///./src/themes/colsolare/views/header.view.tsx?ddbc","webpack:///./src/Utilities/brand-code-parser.tsx?0b81","webpack:///./src/themes/enoteca/views/header.view.tsx?ebc8","webpack:///./src/themes/patzhall/views/checkout.view.tsx?0447","webpack:///./src/themes/intrinsic-wine-co/views/order-confirmation.view.tsx?59a6","webpack:///src/modules/sign-in/components/sign-in-button.tsx?a9cc","webpack:///src/modules/sign-in/components/sign-in-description.tsx?196e","webpack:///src/modules/sign-in/components/sign-in-error.tsx?2f11","webpack:///src/modules/sign-in/components/sign-in-input.tsx?eb41","webpack:///src/modules/sign-in/components/sign-in-label.tsx?d42c","webpack:///src/modules/sign-in/components/sign-in-link.tsx?fc9f","webpack:///src/modules/sign-in/components/sign-in-loading-icon.tsx?3d5a","webpack:///src/modules/sign-in/components/sign-in-loading-message.tsx?7f4d","webpack:///src/modules/sign-in/components/sign-in-text.tsx?92d7","webpack:///src/modules/sign-in/sign-in.tsx?44ed","webpack:///./src/themes/erath/views/header.view.tsx?77c2","webpack:///./src/themes/stemichelle-new/views/header.view.tsx?db07","webpack:///./src/themes/emp/views/header.view.tsx?2647","webpack:///./src/themes/stagsleap/views/order-confirmation.view.tsx?0f70","webpack:///./src/themes/generazioni/views/header.view.tsx?61f1","webpack:///./src/modules/timeline/timeline.tsx?2149","webpack:///./src/themes/elicit/views/header.view.tsx?8cdc","webpack:///./src/themes/stemichelle/views/header.view.tsx?5845","webpack:///./src/themes/stemichelle/views/checkout.view.tsx?1921","webpack:///./src/themes/conn-creek/views/checkout.view.tsx?0cdd","webpack:///./src/themes/columbiacrest/views/order-confirmation.view.tsx?d0b5","webpack:///./src/themes/north-star/views/checkout.view.tsx?e95c","webpack:///./src/themes/h3-theme/views/header.view.tsx?d23e","webpack:///./src/themes/erath/views/order-confirmation.view.tsx?96f8","webpack:///./src/themes/spring-valley-vineyard/views/header.view.tsx?c28a","webpack:///./src/themes/spring-valley-vineyard/views/checkout.view.tsx?0704","webpack:///./src/themes/generazioni/views/order-confirmation.view.tsx?e1e4","webpack:///./src/themes/north-star/views/order-confirmation.view.tsx?ef86","webpack:///./src/themes/colsolare/views/checkout.view.tsx?066d","webpack:///./src/themes/north-star/views/header.view.tsx?81b5","webpack:///./src/themes/stagsleap/views/header.view.tsx?4d88","webpack:///./src/themes/intrinsic-wine-co/views/header.view.tsx?9f1b","webpack:///./src/themes/colsolare/views/order-confirmation.view.tsx?53ed","webpack:///src/modules/invoices-list/components/invoice-error-component.tsx?2e12","webpack:///src/modules/invoices-list/components/invoices-filter-component.tsx?759c","webpack:///src/modules/invoices-list/components/invoices-table/components/invoices-table-header-component.tsx?6874","webpack:///src/modules/invoices-list/helpers/invoice-status.ts?442a","webpack:///src/modules/invoices-list/helpers/pay-invoices.ts?f98a","webpack:///src/modules/invoices-list/components/pay-invoice-component.tsx?41f4","webpack:///src/modules/invoices-list/components/invoices-table/components/invoices-table-row-component.tsx?ba14","webpack:///src/modules/invoices-list/components/invoices-table/invoices-table-component.tsx?9105","webpack:///src/modules/invoices-list/components/make-payment-component.tsx?c79a","webpack:///src/modules/invoices-list/helpers/invoice-data.ts?6271","webpack:///src/modules/invoices-list/invoices-list.tsx?ba10"],"names":["OrderConfirmationOrderInfomation","orderInformationProps","receiptEmail","createdDate","channelReferenceId","React","Node","Object","OrderConfirmationSalesLine","salesLineProps","salesLine","buyAgainButton","salesStatus","className","OrderConfirmationGroupDelivery","deliveryProps","heading","count","processing","address","trackingInfo","OrderConfirmationGroup","groupProps","delivery","salesLinesProps","salesLines","map","key","data","LineId","OrderConfirmationGroups","groupsProps","groups","group","index","OrderConfirmationOrderSummary","orderSummaryProps","subtotal","shipping","tax","totalAmount","earnedPoints","OrderConfirmationPayment","paymentMethodsProps","title","methods","OrderConfirmationHelp","helpProps","needHelpLabel","helpLineNumberLabel","contactNumber","OrderConfirmationView","moduleProps","backToShoppingLink","alert","loading","orderInfomation","orderSummary","payment","help","context","app","routes","resources","backToShopping","destinationUrl","Button","href","Module","PickUpAtStoreComponent","PickUpAtStore","label","location","LineItemComponent","LineItem","item","pickUpAtStore","LineItemGroupComponent","LineItemDeliveryGroup","LineItemList","lineItems","lineItem","LineItemsComponent","LineItems","Header","editLink","itemsForPickup","itemsForShip","OrderSummaryComponent","lines","totalDiscounts","loyalty","giftCard","orderTotal","CheckoutView","props","canShow","checkoutProps","headerProps","bodyProps","mainProps","mainControlProps","sideProps","sideControlFirstProps","sideControlSecondProps","guidedForm","placeOrderButton","keepShoppingButton","line","cartItem","brandCode","brandCodeParser","description","Description","appContext","checkout","result","checkoutCart","cart","CartLines","find","config","followUp","RichTextComponent","text","ProductSpecificationTableRow","productName","cellData","scope","dangerouslySetInnerHTML","getRichTextHtml","ProductSpecification","constructor","handleHeadingChange","event","this","target","value","telemetry","reaction","product","RecordId","actionInput","AttributesForSelectedVariantInput","actionContext","requestContext","apiSettings","channelId","getAttributesForSelectedVariant","catch","error","warning","debug","render","e","productSpecificationData","length","viewProps","classnames","ProductSpecificationTableProps","tag","ProductSpecificationTableBodyProps","Msdyn365","editProps","onEdit","request","productSpecificationResult","_createTableBody","renderView","content","_renderProductCell","Name","DataTypeValue","_renderCurrencyCell","_renderDateTimeCell","_renderDecimalCell","_renderIntegerCell","_renderTextCell","_renderTrueFalseCell","CurrencyValue","undefined","CurrencyCode","DateTimeOffsetValue","toUTCString","IntegerValue","FloatValue","TextValue","BooleanValue","trueValueText","falseValueText","observer","_renderReactFragment","items","slot","headerView","HeaderTag","HeaderContainer","HeaderTopBarContainer","MobileMenuContainer","MobileMenuBodyContainer","showCartIcon","cartIcon","showAccountBlock","accountBlock","role","logo","search","slots","smweSearch","AccountInfoDropdownParentContainer","AccountInfoDropdownPopoverConentContainer","accountInfoDropdownButton","signOutLink","signInLink","accountLinks","link","_renderDesktopAccountBlock","MobileMenuHeader","menuBar","smweMenuBar","SignInLoading","modal","modalBody","icon","message","SignInView","signIn","viewState","defaultAADConainer","aadConainer","signInSection","signUpSection","signInSectionHeading","signInLocalAccount","signInSocialAccount","signUpSectionHeading","signUpDescription","signUpLink","isShowLoading","localAccount","forgetPassword","disclaimer","signInButton","wrapper","input","LocalAccount","socialAccounts","button","image","SocialAccount","smweCartIcon","ProductSpecificationView","row","smweSideBar","InvoiceListView","header","filter","brandCodeTable","currentBrandCode","slice","toLowerCase","brandFound","brand","brandName","SignInButton","id","ariaLabel","telemetryContent","disabled","onClick","payLoad","getPayloadObject","attributes","getTelemetryAttributes","SignInDescription","SignInError","type","errorClassName","GetMaxLength","maxLength","parsedMaxLength","parseInt","isNaN","SignInInput","pattern","onChange","SignInLabel","forId","htmlFor","SignInLink","SignInLoadingIcon","SignInLoadingMessage","SignInText","SignIn","super","moduleClassName","handleParagraphChange","signInDisclaimer","handleSignInHeadingChange","signInHeading","handleSignUpHeadingChange","signUpHeading","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","window","isInitialized","emailRegex","emailId","SA_FIELDS","AttributeFields","ID","errorMessages","requiredField_email","requriedEmailError","requiredField_password","requriedPasswordError","invalid_email","invalidEmailError","invalid_password","invalidPasswordError","unknown_error","unknownError","assign","getTelemetryObject","telemetryPageName","friendlyName","componentDidMount","componentDidUpdate","Modal","isOpen","ModalBody","SignInLoadingIconComponent","SignInLoadingMessageComponent","loadingMessage","style","display","_renderInput","emailAddressLabelText","emailAddressAriaLabel","passwordLabelText","passwordAriaLabel","SignInLinkComponent","forgotPasswordButtonAriaLabel","forgotPasswordButtonText","SignInErrorComponent","SignInButtonComponent","loginButtonAriaLabel","loginButtonText","_renderSocialAccount","facebookButtonText","facebookButtonAriaLabel","facebookIcon","microsoftButtonText","microsoftButtonAriaLabel","microsoftIcon","SignInDescriptionComponent","signUpDescriptionText","signUpButtonAriaLabel","signUpButtonText","labelText","SignInLabelComponent","SignInInputComponent","iconImage","_createImageMarkup","SignInTextComponent","imageProps","gridSettings","imageSettings","__decorate","observable","Fragment","_renderStoreSwitcher","links","linkText","linkUrl","openInNewTab","activeStore","activeStoreClass","activeStoreIndex","storeSwitcher","storePopoverOpen","_togglePopover","useState","storePopoverRef","createRef","activeLink","activeLinkIndex","storeSwitcherDesktop","startLinks","endLinks","_insertStoreSwitcher","cartLink","getUrlSync","_renderAccountBlock","innerRef","Popover","placement","toggle","Timeline","yearPositions","yearCenter","minimalImageSettings","viewports","xs","q","w","h","lg","xl","disableLazyLoad","currentSlide","timelineItems","timelineItemTransition","_nextItem","bind","_previousItem","_handleItemChange","timelineInterval","_getYearPositions","currentItem","paddingTop","paddingBottom","_getSelectors","class","tabIndex","Image","timelineItem","Heading","timelineYear","headingTag","_handleItemTransition","_recenter","element","currentTarget","getAttribute","el","desiredPosition","container","document","getElementsByClassName","scrollTo","top","left","behavior","years","i","offsetTop","scrollContainer","offsetHeight","storeHours","InvoiceErrorComponent","msdyn365Commerce","createComponent","component","messageHeader","errorMessage","otherError","showError","push","Alert","color","assertive","InvoicesFilterState","getInvoicesFilterStateResources","filterState","ShowAll","invoicesFilterShowAll","Paid","invoiceStatusPaid","PartiallyPaid","invoiceStatusPartiallyPaid","Unpaid","invoiceStatusUnpaid","Error","InvoicesFilterComponent","popoverRef","popoverState","setPopoverState","togglePopover","setFilterState","currentState","onFilterStateClick","clickedState","onFilterStateChanged","EnumExtensions","getEnumValues","state","onStateClick","stateStringRepresentation","renderFilterStateItem","InvoicesTableHeaderComponent","rowClassName","switchCheckedState","onSelectAll","isSelectedAll","headerCells","isMobile","checked","invoicesText","invoiceDateMobileText","getMobileHeaderCells","invoiceNumberText","invoiceDateText","isAdmin","invoiceUsersText","invoiceAmountText","invoiceDueDateText","invoiceAmountDueText","invoiceStatusText","invoiceActionsText","getDesktopHeaderCells","getInvoiceStatusText","invoiceStatus","invoiceStatusNone","payInvoices","async","invoices","onError","invoicesToAdd","invoice","canBePaid","ArrayExtensions","hasElements","errorReason","failureReason","cartState","getCartState","addInvoicesToCart","invoiceIds","status","errorDetails","LocalizedMessage","cartUrl","PayInvoiceComponentActions","_event","setDisabled","errorState","PayInvoiceComponent","payInvoiceButtonAriaLabel","payInvoiceButtonText","formatAmount","amount","currencyCode","cultureFormatter","formatCurrency","formatDate","date","year","month","day","getMobileRowCells","onSelectLine","isSelected","customerName","dueDate","invoiceViewDetailsButtonAriaLabel","invoiceViewDetailsButtonText","showActions","setShowActions","actionsContainerClassName","payInvoiceClassName","typeName","extraActionsPopup","InvoicesTableRowComponent","rowCells","customer","isCurrentUser","StringExtensions","isNullOrWhitespace","AccountNumber","customerAccountNumber","invoiceDate","IsB2bAdmin","invoiceCurrentUser","amountDue","getDesktopRowCells","isMobileView","viewport","device","Type","innerWidth","sm","md","getViewport","InvoicesTableComponent","setIsMobile","updateViewport","addEventListener","headerClassName","all","forEach","MakePaymentComponentActions","MakePaymentComponent","hasInvoices","makePaymentButtonAriaLabel","makePaymentButtonText","InvoiceModel","Id","InvoiceDate","CustomerAccountNumber","CustomerName","TotalAmount","InvoiceDueDate","AmountBalance","InvoicePaidStatusValue","InvoicesList","_updateInvoicesState","_onAddToCartFailed","_handleFilterStateChange","invoicesFilterState","isLoading","invoicesListTitle","_renderInvoicesFilter","_renderListContainer","_renderEmptyInvoiceLinesPageContent","invoicesData","_initializeWithInvoices","setState","containerClass","actionsContainerClass","invoiceEmptyInvoiceLinesTitle","invoiceEmptyInvoiceLinesDescription","invoiceEmptyInvoiceLinesContinueShoppingButtonAriaLabel","invoiceEmptyInvoiceLinesContinueShoppingButtonText","containerHeaderClass","containerContentClass","_renderMakePayment","_renderInvoiceErrors","_renderInvoicesList","searchCriteria","InvoiceTypeValues","InvoicePaidStatusValues","getInvoices","GetInvoicesInput","then","filterClassName","tableClassName","newErrorState","errorHost","invoiceErrorInvoiceIdNotExist","invoiceErrorFailedAddInvoiceToCart","makePaymentResources","selectedInvoices","moduleId","moduleTypeName","navigationUrl","invoiceErrorMessageHeader"],"mappings":"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","file":"static/js/19.f1b0736a8311e3cd12d0.chunk.js","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderConfirmationViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine,\r\n} from '@msdyn365-commerce-modules/order-management/dist/types';\r\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n \r\n {channelReferenceId}\r\n {receiptEmail}\r\n \r\n );\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, salesStatus }) => (\r\n \r\n {salesLine}\r\n
{salesStatus}
\r\n
\r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo }) => (\r\n \r\n {heading}\r\n {count}\r\n {address}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n context: {\r\n app: {\r\n routes\r\n }\r\n },\r\n resources\r\n}) => {\r\n const backToShopping = routes.backToShopping && routes.backToShopping.destinationUrl ? (\r\n \r\n )\r\n : backToShoppingLink;\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShopping}\r\n {groups && }\r\n {orderSummary && }\r\n {payment && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n ICheckoutViewProps,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout/dist/types';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({ LineItems, Header, heading, editLink, itemsForPickup, itemsForShip }) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsForPickup && }\r\n {itemsForShip && }\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n lineItems,\r\n placeOrderButton,\r\n keepShoppingButton\r\n } = props;\r\n\r\n return (\r\n \r\n {title}\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n {orderSummary && }\r\n \r\n {/* {placeOrderButton}\r\n {keepShoppingButton} */}\r\n \r\n {lineItems && }\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n ICheckoutViewProps,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout/dist/types';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({ LineItems, Header, heading, editLink, itemsForPickup, itemsForShip }) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsForPickup && }\r\n {itemsForShip && }\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n lineItems,\r\n placeOrderButton,\r\n keepShoppingButton\r\n } = props;\r\n\r\n return (\r\n \r\n {title}\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n {orderSummary && }\r\n \r\n {/* {placeOrderButton}\r\n {keepShoppingButton} */}\r\n \r\n {lineItems && }\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { ICheckoutData, ICheckoutViewProps, ILineItem, ILineItemDeliveryGroup, ILineItems, IOrderSummary, IPickUpAtStore } from '@msdyn365-commerce-modules/checkout';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { ICoreContext } from '@msdyn365-commerce/core-internal';\r\nimport { CartLine } from '@msdyn365-commerce/retail-proxy';\r\nimport * as React from 'react';\r\nimport { brandCodeParser } from '../../../Utilities/brand-code-parser';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemComponent: React.FC<{ line: ILineItem; cartItem?: CartLine; context: ICoreContext }> = ({ line: { LineItem, item, pickUpAtStore }, cartItem, context }) => {\r\n let brandCode: string = '';\r\n if (cartItem) {\r\n brandCode = brandCodeParser({ description: cartItem.Description, appContext: context });\r\n }\r\n return (\r\n \r\n {brandCode &&
{brandCode}
}\r\n {item}\r\n {pickUpAtStore && }\r\n
\r\n );\r\n};\r\n\r\nexport const LineItemGroupComponent: React.FC<{ group: ILineItemDeliveryGroup; data: ICheckoutData; context: ICoreContext }> = ({ group: { LineItemDeliveryGroup, LineItemList, heading, lineItems }, data, context }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => {\r\n // get the item and send it to the component\r\n const item = data.checkout.result?.checkoutCart.cart.CartLines?.find(cartItem => cartItem.LineId === lineItem.LineId);\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC<{ lineItems: ILineItems; data: ICheckoutData; context: ICoreContext }> = ({ lineItems: { LineItems, Header, heading, editLink, itemsForPickup, itemsForShip }, data, context }) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsForPickup && }\r\n {itemsForShip && }\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n loading,\r\n alert,\r\n guidedForm,\r\n orderSummary,\r\n lineItems,\r\n placeOrderButton,\r\n data,\r\n context\r\n } = props;\r\n return (\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n \r\n {placeOrderButton}\r\n \r\n \r\n \r\n {orderSummary && }\r\n {lineItems && }\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n ICheckoutViewProps,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout/dist/types';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({ LineItems, Header, heading, editLink, itemsForPickup, itemsForShip }) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsForPickup && }\r\n {itemsForShip && }\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n lineItems,\r\n placeOrderButton,\r\n keepShoppingButton\r\n } = props;\r\n\r\n return (\r\n \r\n {title}\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n {orderSummary && }\r\n \r\n {/* {placeOrderButton}\r\n {keepShoppingButton} */}\r\n \r\n {lineItems && }\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IOrderConfirmationViewProps,\r\n IOrderInformation,\r\n ISalesLine\r\n} from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/./order-confirmation';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n IHelp,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n\r\n} from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common';\r\n\r\nimport { RichTextComponent } from '@msdyn365-commerce/core';\r\nimport { IOrderConfirmationProps } from '../definition-extensions/order-confirmation.ext.props.autogenerated';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n \r\n {channelReferenceId}\r\n {receiptEmail}\r\n \r\n);\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton }) => (\r\n \r\n {salesLine}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo }) => (\r\n \r\n {heading}\r\n {count}\r\n {address}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC> = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n config: { followUp }\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n {followUp && }\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShoppingLink}\r\n {groups && }\r\n {orderSummary && }\r\n {payment && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { getRichTextHtml } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\nexport interface IProductSpecificationTableRow {\n productName?: string;\n cellData?: React.ReactNode;\n className?: string;\n}\n\n// tslint:disable:react-no-dangerous-html\nexport const ProductSpecificationTableRow: React.FC = ({ productName, cellData, className}) => (\n \n \n \n \n { cellData }\n \n);\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { AttributeValue } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport classnames from 'classnames';\nimport { reaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\nimport getAttributesForSelectedVariant, { AttributesForSelectedVariantInput } from '../../dataActions/get-attributes-for-selected-variant';\nimport { ProductSpecificationTableRow } from './components/product-specification-table-stucture';\nimport { IProductSpecificationData } from './product-specification.data';\nimport { IProductSpecificationProps } from './product-specification.props.autogenerated';\n\nexport interface IProductSpecificationViewProps extends IProductSpecificationProps<{}> {\n ProductSpecification: IModuleProps;\n ProductSpecificationTableProps: INodeProps;\n ProductSpecificationTableBodyProps: INodeProps;\n productSpecificationResult?: (JSX.Element | null)[];\n title?: React.ReactNode;\n}\n\n/**\n *\n * ProductSpecification component\n * @extends {React.Component>}\n */\n@observer\nclass ProductSpecification extends React.Component> {\n public async componentDidMount(): Promise {\n const { context, data, telemetry } = this.props;\n\n // @ts-ignore: Compiler not reconizing condition check for function params\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 // @ts-ignore\n +context.actionContext.requestContext.apiSettings.channelId,\n data.product.result\n );\n\n getAttributesForSelectedVariant(actionInput, this.props.context.actionContext).catch(error => {\n telemetry.warning(error);\n telemetry.debug('Unable to update attributes for Product');\n telemetry.error(error);\n });\n }\n }\n );\n }\n\n // tslint:disable-next-line:max-func-body-length\n public render(): JSX.Element | null {\n let data: IProductSpecificationData;\n\n try {\n data = this.props.data;\n } catch (e) {\n this.props.telemetry.error(`Something went wrong ------${e}`);\n return
{e}
;\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\n const viewProps = {\n ...this.props,\n ProductSpecification: {\n moduleProps: this.props,\n className: classnames('ms-product-specification', className)\n },\n ProductSpecificationTableProps: {\n className: classnames('ms-product-specification__table table-striped table-bordered'),\n tag: 'table'\n },\n ProductSpecificationTableBodyProps: {\n className: '',\n tag: 'tbody'\n },\n title: heading && heading.text && (\n ),\n productSpecificationResult: productSpecificationData && this._createTableBody(data)\n } as IProductSpecificationViewProps;\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => this.props.config.heading!.text = event.target.value;\n private _createTableBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n return 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 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 !== null && product.DateTimeOffsetValue !== undefined && 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 // tslint:disable-next-line\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 } else {\n return {this.props.resources.falseValueText ? this.props.resources.falseValueText : 'No'};\n }\n }\n}\n\nexport default ProductSpecification;\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\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\n\r\n// tslint:disable-next-line: max-func-body-length\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer, MobileMenuContainer, MobileMenuBodyContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n return (\r\n \r\n \r\n \r\n {props.logo}\r\n {_renderReactFragment(props.search)}\r\n {props.slots && props.slots.smweSearch && _renderReactFragment(props.slots.smweSearch)}\r\n {showAccountBlock && _renderDesktopAccountBlock(props)}\r\n {showCartIcon && props.cartIcon}\r\n \r\n \r\n {props.logo}\r\n \r\n \r\n \r\n { props.MobileMenuHeader }\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n \r\n \r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\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 {signInLink};\r\n }\r\n }\r\n\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\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\n\r\n// tslint:disable-next-line: max-func-body-length\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer, MobileMenuContainer, MobileMenuBodyContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n { props.MobileMenuHeader }\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n \r\n \r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n \r\n {props.logo}\r\n \r\n \r\n {props.logo}\r\n {_renderReactFragment(props.search)}\r\n {props.slots && props.slots.smweSearch && _renderReactFragment(props.slots.smweSearch)}\r\n {showAccountBlock && _renderDesktopAccountBlock(props)}\r\n {showCartIcon && props.cartIcon}\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 {signInLink};\r\n }\r\n }\r\n\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { ICheckoutData, ICheckoutViewProps, ILineItem, ILineItemDeliveryGroup, ILineItems, IOrderSummary, IPickUpAtStore } from '@msdyn365-commerce-modules/checkout';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { ICoreContext } from '@msdyn365-commerce/core-internal';\r\nimport { CartLine } from '@msdyn365-commerce/retail-proxy';\r\nimport * as React from 'react';\r\nimport { brandCodeParser } from '../../../Utilities/brand-code-parser';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemComponent: React.FC<{ line: ILineItem; cartItem?: CartLine; context: ICoreContext }> = ({ line: { LineItem, item, pickUpAtStore }, cartItem, context }) => {\r\n let brandCode: string = '';\r\n if (cartItem) {\r\n brandCode = brandCodeParser({ description: cartItem.Description, appContext: context });\r\n }\r\n return (\r\n \r\n {brandCode &&
{brandCode}
}\r\n {item}\r\n {pickUpAtStore && }\r\n
\r\n );\r\n};\r\n\r\nexport const LineItemGroupComponent: React.FC<{ group: ILineItemDeliveryGroup; data: ICheckoutData; context: ICoreContext }> = ({ group: { LineItemDeliveryGroup, LineItemList, heading, lineItems }, data, context }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => {\r\n // get the item and send it to the component\r\n const item = data.checkout.result?.checkoutCart.cart.CartLines?.find(cartItem => cartItem.LineId === lineItem.LineId);\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC<{ lineItems: ILineItems; data: ICheckoutData; context: ICoreContext }> = ({ lineItems: { LineItems, Header, heading, editLink, itemsForPickup, itemsForShip }, data, context }) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsForPickup && }\r\n {itemsForShip && }\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n loading,\r\n alert,\r\n guidedForm,\r\n orderSummary,\r\n lineItems,\r\n placeOrderButton,\r\n data,\r\n context\r\n } = props;\r\n return (\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n \r\n {placeOrderButton}\r\n \r\n \r\n \r\n {orderSummary && }\r\n {lineItems && }\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { ICheckoutData, ICheckoutViewProps, ILineItem, ILineItemDeliveryGroup, ILineItems, IOrderSummary, IPickUpAtStore } from '@msdyn365-commerce-modules/checkout';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { ICoreContext } from '@msdyn365-commerce/core-internal';\r\nimport { CartLine } from '@msdyn365-commerce/retail-proxy';\r\nimport * as React from 'react';\r\nimport { brandCodeParser } from '../../../Utilities/brand-code-parser';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemComponent: React.FC<{ line: ILineItem; cartItem?: CartLine; context: ICoreContext }> = ({ line: { LineItem, item, pickUpAtStore }, cartItem, context }) => {\r\n let brandCode: string = '';\r\n if (cartItem) {\r\n brandCode = brandCodeParser({ description: cartItem.Description, appContext: context });\r\n }\r\n return (\r\n \r\n {brandCode &&
{brandCode}
}\r\n {item}\r\n {pickUpAtStore && }\r\n
\r\n );\r\n};\r\n\r\nexport const LineItemGroupComponent: React.FC<{ group: ILineItemDeliveryGroup; data: ICheckoutData; context: ICoreContext }> = ({ group: { LineItemDeliveryGroup, LineItemList, heading, lineItems }, data, context }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => {\r\n // get the item and send it to the component\r\n const item = data.checkout.result?.checkoutCart.cart.CartLines?.find(cartItem => cartItem.LineId === lineItem.LineId);\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC<{ lineItems: ILineItems; data: ICheckoutData; context: ICoreContext }> = ({ lineItems: { LineItems, Header, heading, editLink, itemsForPickup, itemsForShip }, data, context }) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsForPickup && }\r\n {itemsForShip && }\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n lineItems,\r\n placeOrderButton,\r\n keepShoppingButton,\r\n data,\r\n context\r\n } = props;\r\n return (\r\n \r\n {title}\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n {orderSummary && }\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n {lineItems && }\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","import * as React from 'react';\n\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\n\nimport {\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInSocialAccount, ISignInSocialItem,\n ISignInViewProps\n} from './sign-in';\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n forgetPassword,\n disclaimer,\n error,\n signInButton\n}) => {\n\n return (\n \n {items && items.map((item: ISignInItem) => {\n return (\n \n {item.label}\n {item.error}\n {item.input}\n \n );\n })}\n {forgetPassword}\n {disclaimer}\n {error}\n {signInButton}\n \n );\n};\n\nconst SocialAccount: React.FC = ({\n socialAccounts,\n items,\n}) => {\n\n return (\n \n {items && items.map((item: ISignInSocialItem) => {\n return (\n \n {item.image}\n {item.text}\n \n );\n })}\n \n );\n};\n\nconst SignInLoading: React.FC = ({\n modal,\n modalBody,\n icon,\n message,\n}) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst SignInView: React.FC = props => {\n\n const {\n signIn,\n viewState,\n loading,\n defaultAADConainer,\n aadConainer,\n signInSection,\n signUpSection,\n signInSectionHeading,\n signInLocalAccount,\n signInSocialAccount,\n signUpSectionHeading,\n signUpDescription,\n signUpLink\n } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n \n {signInSectionHeading}\n {LocalAccount(signInLocalAccount)}\n {SocialAccount(signInSocialAccount)}\n \n \n {signUpSectionHeading}\n {signUpDescription}\n {signUpLink}\n \n \n \n );\n};\n\nexport default SignInView;\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderConfirmationViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine,\r\n} from '@msdyn365-commerce-modules/order-management/dist/types';\r\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n \r\n {channelReferenceId}\r\n {receiptEmail}\r\n \r\n );\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, salesStatus }) => (\r\n \r\n {salesLine}\r\n
{salesStatus}
\r\n
\r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo }) => (\r\n \r\n {heading}\r\n {count}\r\n {address}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n context: {\r\n app: {\r\n routes\r\n }\r\n },\r\n resources\r\n}) => {\r\n const backToShopping = routes.backToShopping && routes.backToShopping.destinationUrl ? (\r\n \r\n )\r\n : backToShoppingLink;\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShopping}\r\n {groups && }\r\n {orderSummary && }\r\n {payment && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n ICheckoutViewProps,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout/dist/types';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({ LineItems, Header, heading, editLink, itemsForPickup, itemsForShip }) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsForPickup && }\r\n {itemsForShip && }\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n lineItems,\r\n placeOrderButton,\r\n keepShoppingButton\r\n } = props;\r\n\r\n return (\r\n \r\n {title}\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n {orderSummary && }\r\n \r\n {/* {placeOrderButton}\r\n {keepShoppingButton} */}\r\n \r\n {lineItems && }\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderConfirmationViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine,\r\n} from '@msdyn365-commerce-modules/order-management/dist/types';\r\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n \r\n {channelReferenceId}\r\n {receiptEmail}\r\n \r\n );\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, salesStatus }) => (\r\n \r\n {salesLine}\r\n
{salesStatus}
\r\n
\r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo }) => (\r\n \r\n {heading}\r\n {count}\r\n {address}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n context: {\r\n app: {\r\n routes\r\n }\r\n },\r\n resources\r\n}) => {\r\n const backToShopping = routes.backToShopping && routes.backToShopping.destinationUrl ? (\r\n \r\n )\r\n : backToShoppingLink;\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShopping}\r\n {groups && }\r\n {orderSummary && }\r\n {payment && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n ICheckoutViewProps,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout/dist/types';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({ LineItems, Header, heading, editLink, itemsForPickup, itemsForShip }) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsForPickup && }\r\n {itemsForShip && }\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n lineItems,\r\n placeOrderButton,\r\n keepShoppingButton\r\n } = props;\r\n\r\n return (\r\n \r\n {title}\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n {orderSummary && }\r\n \r\n {/* {placeOrderButton}\r\n {keepShoppingButton} */}\r\n \r\n {lineItems && }\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderConfirmationViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine,\r\n} from '@msdyn365-commerce-modules/order-management/dist/types';\r\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n \r\n {channelReferenceId}\r\n {receiptEmail}\r\n \r\n );\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, salesStatus }) => (\r\n \r\n {salesLine}\r\n
{salesStatus}
\r\n
\r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo }) => (\r\n \r\n {heading}\r\n {count}\r\n {address}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n context: {\r\n app: {\r\n routes\r\n }\r\n },\r\n resources\r\n}) => {\r\n const backToShopping = routes.backToShopping && routes.backToShopping.destinationUrl ? (\r\n \r\n )\r\n : backToShoppingLink;\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShopping}\r\n {groups && }\r\n {orderSummary && }\r\n {payment && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/src/modules/header/./header';\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\n\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n return (\r\n \r\n \r\n
\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots?.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n {props.logo}\r\n
\r\n {props.logo}\r\n \r\n {showAccountBlock && _renderDesktopAccountBlock(props)}\r\n {_renderReactFragment(props.search)}\r\n {props.slots && props.slots.smweSearch && _renderReactFragment(props.slots.smweSearch)}\r\n {showCartIcon && !props.slots?.smweCartIcon && props.cartIcon}\r\n {showCartIcon && props.slots?.smweCartIcon && props.slots.smweCartIcon}\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\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {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. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\nimport { IProductSpecificationViewProps } from './product-specification';\n\nconst ProductSpecificationView: React.FC = props => {\n const { ProductSpecification, ProductSpecificationTableProps, ProductSpecificationTableBodyProps, productSpecificationResult } = props;\n return (\n \n {props.title}\n \n \n {productSpecificationResult && productSpecificationResult.map((row) => {\n return row;\n })}\n \n \n \n );\n};\n\nexport default ProductSpecificationView;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\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\n\r\n// tslint:disable-next-line: max-func-body-length\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer, MobileMenuContainer, MobileMenuBodyContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n return (\r\n \r\n \r\n \r\n {props.logo}\r\n {_renderReactFragment(props.search)}\r\n {props.slots && props.slots.smweSearch && _renderReactFragment(props.slots.smweSearch)}\r\n {showAccountBlock && _renderDesktopAccountBlock(props)}\r\n {showCartIcon && props.cartIcon}\r\n \r\n \r\n {props.logo}\r\n \r\n \r\n \r\n { props.MobileMenuHeader }\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n \r\n \r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\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 {signInLink};\r\n }\r\n }\r\n\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\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\n\r\nconst headerView: React.FC> = props => {\r\n const { HeaderTag, HeaderContainer } = props;\r\n\r\n return (\r\n \r\n \r\n {props.logo}\r\n
\r\n
\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n {props.slots && props.slots.smweSideBar && _renderReactFragment(props.slots.smweSideBar)}\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nfunction _renderReactFragment(items: React.ReactNode[]): JSX.Element | null {\r\n return (\r\n \r\n {items && items.length\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IOrderConfirmationViewProps,\r\n IOrderInformation,\r\n ISalesLine\r\n} from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/./order-confirmation';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n IHelp,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n\r\n} from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common';\r\n\r\nimport { RichTextComponent } from '@msdyn365-commerce/core';\r\nimport { IOrderConfirmationProps } from '../definition-extensions/order-confirmation.ext.props.autogenerated';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n \r\n {channelReferenceId}\r\n {receiptEmail}\r\n \r\n);\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton }) => (\r\n \r\n {salesLine}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo }) => (\r\n \r\n {heading}\r\n {count}\r\n {address}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC> = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n config: { followUp }\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n {followUp && }\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShoppingLink}\r\n {groups && }\r\n {orderSummary && }\r\n {payment && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n ICheckoutViewProps,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout/dist/types';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({ LineItems, Header, heading, editLink, itemsForPickup, itemsForShip }) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsForPickup && }\r\n {itemsForShip && }\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n lineItems,\r\n placeOrderButton,\r\n keepShoppingButton\r\n } = props;\r\n\r\n return (\r\n \r\n {title}\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n {orderSummary && }\r\n \r\n {/* {placeOrderButton}\r\n {keepShoppingButton} */}\r\n \r\n {lineItems && }\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\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\n\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n return (\r\n \r\n \r\n {props.logo}\r\n
\r\n
\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n
\r\n \r\n {_renderReactFragment(props.search)}\r\n {props.slots && props.slots.smweSearch && _renderReactFragment(props.slots.smweSearch)}\r\n {showAccountBlock && _renderDesktopAccountBlock(props)}\r\n {showCartIcon && props.cartIcon}\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 {signInLink};\r\n }\r\n }\r\n\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {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 { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\nimport { IInvoicesListViewProps } from './invoices-list';\n\nexport const InvoiceListView: React.FC = props => {\n const { header, filter, content } = props;\n\n return (\n \n {header}\n {filter}\n {content}\n \n );\n};\n\nexport default InvoiceListView;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderConfirmationViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine,\r\n} from '@msdyn365-commerce-modules/order-management/dist/types';\r\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n \r\n {channelReferenceId}\r\n {receiptEmail}\r\n \r\n );\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, salesStatus }) => (\r\n \r\n {salesLine}\r\n
{salesStatus}
\r\n
\r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo }) => (\r\n \r\n {heading}\r\n {count}\r\n {address}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n context: {\r\n app: {\r\n routes\r\n }\r\n },\r\n resources\r\n}) => {\r\n const backToShopping = routes.backToShopping && routes.backToShopping.destinationUrl ? (\r\n \r\n )\r\n : backToShoppingLink;\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShopping}\r\n {groups && }\r\n {orderSummary && }\r\n {payment && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\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\n\r\n// tslint:disable-next-line: max-func-body-length\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer, MobileMenuContainer, MobileMenuBodyContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n return (\r\n \r\n \r\n \r\n {props.logo}\r\n {_renderReactFragment(props.search)}\r\n {props.slots && props.slots.smweSearch && _renderReactFragment(props.slots.smweSearch)}\r\n {showAccountBlock && _renderDesktopAccountBlock(props)}\r\n {showCartIcon && props.cartIcon}\r\n \r\n \r\n {props.logo}\r\n \r\n \r\n \r\n { props.MobileMenuHeader }\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n \r\n \r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\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 {signInLink};\r\n }\r\n }\r\n\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","import { ICoreContext } from '@msdyn365-commerce/core-internal';\r\ninterface IBrandCodeProps {\r\n description?: string;\r\n appContext: ICoreContext<{\r\n // any is just matching the types here.\r\n // tslint:disable-next-line: no-any\r\n [x: string]: any;\r\n }>;\r\n}\r\n\r\ntype BrandCodeTable = {\r\n brandName: string;\r\n brandCode: string;\r\n}[];\r\n\r\n/**\r\n * for converting a brand code to a brand name\r\n *\r\n */\r\nexport function brandCodeParser({ description, appContext }: IBrandCodeProps): string {\r\n\r\n // for mocking\r\n // const brandCodeTable: BrandCodeTable = [{ brandName: '14Hands', brandCode: 'FTH' }];\r\n\r\n const brandCodeTable = appContext.app.config.brandCodeTable as BrandCodeTable;\r\n\r\n // this is a safety check to ensure that brand code table does NOT crash in local or\r\n // if brand code table is somehow not connecting right to the global config. it will\r\n // essentially act as if there are no brand codes declared - keeping how everything\r\n // looks originally\r\n if (!brandCodeTable) { return ''; }\r\n\r\n // a brand code may and may only appear in the first three characters of a string\r\n // we are lowercasing in the off-chance that the authors type them differently between\r\n // the sources\r\n const currentBrandCode = description && description.slice(0, 3).toLowerCase();\r\n const brandFound = brandCodeTable.find(brand => brand.brandCode.toLowerCase() === currentBrandCode);\r\n if (brandFound) { return brandFound.brandName; }\r\n return '';\r\n}","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\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\n\r\n// tslint:disable-next-line: max-func-body-length\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer, MobileMenuContainer, MobileMenuBodyContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n return (\r\n \r\n \r\n \r\n {props.logo}\r\n {_renderReactFragment(props.search)}\r\n {props.slots && props.slots.smweSearch && _renderReactFragment(props.slots.smweSearch)}\r\n {showAccountBlock && _renderDesktopAccountBlock(props)}\r\n {showCartIcon && props.cartIcon}\r\n \r\n \r\n {props.logo}\r\n \r\n \r\n \r\n { props.MobileMenuHeader }\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n \r\n \r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\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 {signInLink};\r\n }\r\n }\r\n\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n ICheckoutViewProps,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout/dist/types';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({ LineItems, Header, heading, editLink, itemsForPickup, itemsForShip }) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsForPickup && }\r\n {itemsForShip && }\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n lineItems,\r\n placeOrderButton,\r\n keepShoppingButton\r\n } = props;\r\n\r\n return (\r\n \r\n {title}\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n {orderSummary && }\r\n \r\n {/* {placeOrderButton}\r\n {keepShoppingButton} */}\r\n \r\n {lineItems && }\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderConfirmationViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine,\r\n} from '@msdyn365-commerce-modules/order-management/dist/types';\r\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n \r\n {channelReferenceId}\r\n {receiptEmail}\r\n \r\n );\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, salesStatus }) => (\r\n \r\n {salesLine}\r\n
{salesStatus}
\r\n
\r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo }) => (\r\n \r\n {heading}\r\n {count}\r\n {address}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n context: {\r\n app: {\r\n routes\r\n }\r\n },\r\n resources\r\n}) => {\r\n const backToShopping = routes.backToShopping && routes.backToShopping.destinationUrl ? (\r\n \r\n )\r\n : backToShoppingLink;\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShopping}\r\n {groups && }\r\n {orderSummary && }\r\n {payment && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ISignInButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst SignInButton: React.FC = ({ id, className, text, ariaLabel, telemetryContent, disabled, onClick }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n {text}\n \n );\n};\n\nexport default SignInButton;\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from 'react';\n\nexport interface ISignInDescription {\n className: string;\n description: string;\n}\n\nconst SignInDescription: React.FC = ({ className, description }) => (\n

\n {description}\n

\n);\n\nexport default SignInDescription;\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface ISignInErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst SignInError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n\n};\n\nexport default SignInError;\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from 'react';\n\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\n\nexport interface ISignInInputProps {\n id?: string;\n // tslint:disable-next-line:no-any\n type: any;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n ariaLabel?:string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface ISignInInput {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n\nconst SignInInput: React.FC = ({\n id,\n type,\n value,\n pattern,\n className,\n maxLength,\n ariaLabel,\n onChange, }) => (\n \n );\n\nexport default SignInInput;\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from 'react';\n\nexport interface ISignInLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst SignInLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default SignInLabel;\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ISignInLink {\n id?: string;\n className: string;\n href: string;\n ariaLabel: string;\n text: string;\n telemetryContent?: ITelemetryContent;\n}\n\nconst SignInLink: React.FC = ({ id, className, href, telemetryContent, ariaLabel, text }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n {text}\n \n );\n};\n\nexport default SignInLink;\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from 'react';\n\nexport interface ISignInLoadingIcon {\n className: string;\n}\n\nconst SignInLoadingIcon: React.FC = ({ className }) => (\n
\n);\n\nexport default SignInLoadingIcon;\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from 'react';\n\nexport interface ISignInLoadingMessage {\n className: string;\n message: string;\n}\n\nconst SignInLoadingMessage: React.FC = ({ className, message }) => (\n
\n {message}\n
\n);\n\nexport default SignInLoadingMessage;\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from 'react';\n\nexport interface ISignInText {\n className: string;\n text: string;\n}\n\nconst SignInText: React.FC = ({ className, text }) => (\n \n {text}\n \n);\n\nexport default SignInText;\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport classnames from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport {\n getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, Modal, ModalBody\n} from '@msdyn365-commerce-modules/utilities';\nimport * as Msdyn365 from '@msdyn365-commerce/core';\n\nimport SignInButtonComponent from './components/sign-in-button';\nimport SignInDescriptionComponent from './components/sign-in-description';\nimport SignInErrorComponent from './components/sign-in-error';\nimport SignInInputComponent from './components/sign-in-input';\nimport SignInLabelComponent from './components/sign-in-label';\nimport SignInLinkComponent from './components/sign-in-link';\nimport SignInLoadingIconComponent from './components/sign-in-loading-icon';\nimport SignInLoadingMessageComponent from './components/sign-in-loading-message';\nimport SignInTextComponent from './components/sign-in-text';\nimport { ISignInConfig, ISignInProps, ISignInResources } from './sign-in.props.autogenerated';\n\nexport interface ISignInViewState {\n isShowLoading: boolean;\n}\n\nexport interface ISignInItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n error: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface ISignInSocialItem {\n key: string;\n button: INodeProps;\n image: React.ReactNode;\n text: React.ReactNode;\n}\n\nexport interface ISignInSocialAccount {\n socialAccounts: INodeProps;\n items: ISignInSocialItem[];\n}\n\nexport interface ISignInLocalAccount {\n localAccount: INodeProps;\n items: ISignInItem[];\n forgetPassword: React.ReactNode;\n disclaimer: React.ReactNode;\n error: React.ReactNode;\n signInButton: React.ReactNode;\n}\n\nexport interface ISignInLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface ISignInViewProps {\n className: string;\n viewState: ISignInViewState;\n signIn: IModuleProps;\n loading: ISignInLoading;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n signInSection: INodeProps;\n signInSectionHeading: React.ReactNode;\n signInLocalAccount: ISignInLocalAccount;\n signInSocialAccount: ISignInSocialAccount;\n signUpSection: INodeProps;\n signUpSectionHeading: React.ReactNode;\n signUpDescription: React.ReactNode;\n signUpLink: React.ReactNode;\n}\n\n/**\n * SignIn component\n * All AAD related module is rendered on AAD page and we need to respect HTML contract provide by AAD.\n * Please ensure any change in module don't break contract with AAD.\n * @extends {React.Component>}\n */\n@observer\nclass SignIn extends React.Component> {\n\n private moduleClassName: string = 'ms-sign-in';\n private telemetryContent?: ITelemetryContent;\n @observable private emailId: string;\n @observable private emailRegex: string;\n @observable private isInitialized: boolean;\n // tslint:disable-next-line:no-any\n private initializationTimer: any;\n\n constructor(props: ISignInProps) {\n super(props);\n this.emailRegex = '^[a-zA-Z0-9!#$%&'+^_`{}~-]+(?:\\.[a-zA-Z0-9!#$%&'+^_`{}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$';\n this.isInitialized = false;\n this.telemetryContent = getTelemetryObject(this.props.context.request.telemetryPageName!, this.props.friendlyName, this.props.telemetry);\n this.emailId = 'logonIdentifier';\n }\n\n public componentDidMount(): void {\n this._prePopulateData();\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // tslint:disable-next-line:no-string-literal\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // tslint:disable-next-line:no-string-literal\n window['$element']['initialize']();\n }\n }\n\n public render(): JSX.Element {\n const config: ISignInConfig = this.props.config || {};\n const resources: ISignInResources = this.props.resources || {};\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n signIn: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: ,\n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n signInSection: {\n className: `${this.moduleClassName}__sign-in-section`\n },\n signInSectionHeading: ,\n signInLocalAccount: {\n localAccount: {\n className: `${this.moduleClassName}__account-items localAccount`\n },\n items: [\n this._renderInput(this.emailId, 'email', resources.emailAddressLabelText, resources.emailAddressAriaLabel, this.emailRegex),\n this._renderInput('password', 'password', resources.passwordLabelText, resources.passwordAriaLabel)\n ],\n forgetPassword: (\n ),\n disclaimer: config.signInDisclaimer && (\n \n ),\n error: ,\n signInButton: \n },\n signInSocialAccount: {\n socialAccounts: {\n className: `${this.moduleClassName}__social-accounts`\n },\n items: [\n this._renderSocialAccount('FacebookExchange', resources.facebookButtonText, resources.facebookButtonAriaLabel, config.facebookIcon),\n this._renderSocialAccount('MicrosoftAccountExchange', resources.microsoftButtonText, resources.microsoftButtonAriaLabel, config.microsoftIcon)\n ]\n },\n signUpSection: {\n className: `${this.moduleClassName}__sign-up-section`\n },\n signUpSectionHeading: ,\n signUpDescription: ,\n signUpLink: (\n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => this.props.config.signInDisclaimer = event.target.value;\n public handleSignInHeadingChange = (event: Msdyn365.ContentEditableEvent) => this.props.config.signInHeading.text = event.target.value;\n public handleSignUpHeadingChange = (event: Msdyn365.ContentEditableEvent) => this.props.config.signUpHeading.text = event.target.value;\n\n private _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => { this._isInitializationSuccessful(); }, 100);\n setTimeout(() => { clearInterval(this.initializationTimer); }, 10000);\n }\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private _isInitializationSuccessful = () => {\n // tslint:disable-next-line:no-string-literal\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n }\n\n private _prePopulateData = () => {\n // tslint:disable-next-line:no-string-literal\n if (window && window['CONTENT'] && window['CONTENT']['email_pattern']) {\n // tslint:disable-next-line:no-string-literal\n this.emailRegex = window['CONTENT']['email_pattern'];\n }\n\n // tslint:disable-next-line:no-string-literal\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // @ts-ignore\n this.emailId = (window.SA_FIELDS.AttributeFields || [])[0].ID || this.emailId;\n }\n }\n\n private _updateErrorMessage = () => {\n const resources: ISignInResources = this.props.resources || {};\n\n // tslint:disable-next-line:no-string-literal\n if (window && window['CONTENT']) {\n const errorMessages = {\n requiredField_email: resources.requriedEmailError,\n requiredField_password: resources.requriedPasswordError,\n invalid_email: resources.invalidEmailError,\n invalid_password: resources.invalidPasswordError,\n unknown_error: resources.unknownError,\n };\n\n // tslint:disable-next-line:no-string-literal\n Object.assign(window['CONTENT'], errorMessages);\n }\n }\n\n private _renderInput(id: string, type: string, labelText: string, ariaLabel: string, pattern?: string): ISignInItem {\n const className = `${this.moduleClassName}__account-item`;\n return (\n {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry')\n },\n key: id,\n label: (\n \n ),\n error: (\n \n ),\n input: (\n \n )\n\n }\n );\n }\n\n private _renderSocialAccount(id: string, text: string, ariaLabel: string, iconImage?: Msdyn365.IImageData): ISignInSocialItem {\n return {\n key: id,\n button: {\n id: id,\n tag: 'button',\n className: classnames(`${this.moduleClassName}__social-account`, `${this.moduleClassName}__social-account-${id}`, 'accountButton', 'msc-btn'),\n 'aria-label': ariaLabel\n },\n image: this._createImageMarkup(iconImage),\n text: \n };\n }\n\n private _createImageMarkup(iconImage?: Msdyn365.IImageData): React.ReactNode | null {\n if (iconImage) {\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings || {},\n imageSettings: iconImage && iconImage.imageSettings\n };\n return ;\n }\n return null;\n }\n}\n\nexport default SignIn;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\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\n\r\n// tslint:disable-next-line: max-func-body-length\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer, MobileMenuContainer, MobileMenuBodyContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n return (\r\n \r\n \r\n \r\n {props.logo}\r\n {_renderReactFragment(props.search)}\r\n {props.slots && props.slots.smweSearch && _renderReactFragment(props.slots.smweSearch)}\r\n {showAccountBlock && _renderDesktopAccountBlock(props)}\r\n {showCartIcon && props.cartIcon}\r\n \r\n \r\n {props.logo}\r\n \r\n \r\n \r\n { props.MobileMenuHeader }\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n \r\n \r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\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 {signInLink};\r\n }\r\n }\r\n\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/src/modules/header/./header';\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\n\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n return (\r\n \r\n \r\n
\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots?.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n {props.logo}\r\n
\r\n {props.logo}\r\n \r\n {showAccountBlock && _renderDesktopAccountBlock(props)}\r\n {_renderReactFragment(props.search)}\r\n {props.slots && props.slots.smweSearch && _renderReactFragment(props.slots.smweSearch)}\r\n {showCartIcon && !props.slots?.smweCartIcon && props.cartIcon}\r\n {showCartIcon && props.slots?.smweCartIcon && props.slots.smweCartIcon}\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\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\r\nimport { Button, Module, Node, Popover } from '@msdyn365-commerce-modules/utilities';\r\nimport { getUrlSync } from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport React, {useState} from 'react';\r\nimport { IHeaderProps, IStoreSwitcherData } from '../definition-extensions/header.ext.props.autogenerated';\r\n\r\n// tslint:disable-next-line: max-func-body-length\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n const { activeStore, activeStoreClass, activeStoreIndex, storeSwitcher } = config;\r\n const [storePopoverOpen, _togglePopover] = useState(false);\r\n const storePopoverRef: React.RefObject = React.createRef();\r\n const activeLink = {linkText: activeStore, linkUrl: {destinationUrl: ''}, ariaLabel: 'active'};\r\n const activeLinkIndex = activeStoreIndex || 0;\r\n const storeSwitcherDesktop = storeSwitcher && storeSwitcher.length && _insertStoreSwitcher(storeSwitcher, activeLink, activeLinkIndex);\r\n const storeSwitcherMobileId = 'storeSwitcherDropdown';\r\n const cartLink = getUrlSync('cart', props.context.actionContext);\r\n\r\n return (\r\n \r\n {storeSwitcherDesktop && storeSwitcherDesktop.length &&\r\n
\r\n {_renderStoreSwitcher(storeSwitcherDesktop, 'ms-header__storeswitcher')}\r\n
\r\n }\r\n \r\n {props.logo}\r\n
\r\n \r\n \r\n
\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n
\r\n {_renderReactFragment(props.search)}\r\n {props.slots && props.slots.smweSearch && _renderReactFragment(props.slots.smweSearch)}\r\n {showAccountBlock && _renderAccountBlock(props)}\r\n
\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {storeSwitcher && storeSwitcher.length &&\r\n
\r\n _togglePopover(!storePopoverOpen)}\r\n aria-expanded={storePopoverOpen}\r\n >\r\n {activeStore}\r\n \r\n _togglePopover(!storePopoverOpen)}\r\n >\r\n {_renderStoreSwitcher(storeSwitcher, 'ms-header__storeswitcher')}\r\n \r\n
\r\n }\r\n {showCartIcon && props.cartIcon}\r\n
\r\n
\r\n );\r\n};\r\n\r\nfunction _renderAccountBlock(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 {signInLink};\r\n }\r\n }\r\n\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nfunction _renderStoreSwitcher(links: IStoreSwitcherData[], className: string): JSX.Element | null {\r\n return (\r\n
\r\n
    \r\n {links && links.length ? links.map((link: IStoreSwitcherData, index: number) => {\r\n return (\r\n
  • \r\n \r\n {link.linkText}\r\n \r\n
  • \r\n );\r\n }) : null}\r\n
\r\n
\r\n );\r\n}\r\n\r\nfunction _insertStoreSwitcher(\r\n links: IStoreSwitcherData[],\r\n activeLink: IStoreSwitcherData,\r\n activeLinkIndex: number\r\n): IStoreSwitcherData[] {\r\n // Grabbing links from the start of array to active link index\r\n const startLinks = links.slice(0, activeLinkIndex);\r\n\r\n // Grabbing links from active link index to end of array\r\n const endLinks = links.slice(activeLinkIndex);\r\n\r\n // Making a new array with start links, new active link to be inserted, and end links\r\n return [...startLinks, activeLink, ...endLinks];\r\n}\r\n\r\nexport default headerView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderConfirmationViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine,\r\n} from '@msdyn365-commerce-modules/order-management/dist/types';\r\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n \r\n {channelReferenceId}\r\n {receiptEmail}\r\n \r\n );\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, salesStatus }) => (\r\n \r\n {salesLine}\r\n
{salesStatus}
\r\n
\r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo }) => (\r\n \r\n {heading}\r\n {count}\r\n {address}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n context: {\r\n app: {\r\n routes\r\n }\r\n },\r\n resources\r\n}) => {\r\n const backToShopping = routes.backToShopping && routes.backToShopping.destinationUrl ? (\r\n \r\n )\r\n : backToShoppingLink;\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShopping}\r\n {groups && }\r\n {orderSummary && }\r\n {payment && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\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\n\r\n// tslint:disable-next-line: max-func-body-length\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer, MobileMenuContainer, MobileMenuBodyContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n return (\r\n \r\n \r\n \r\n {props.logo}\r\n {_renderReactFragment(props.search)}\r\n {showAccountBlock && _renderDesktopAccountBlock(props)}\r\n {showCartIcon && props.cartIcon}\r\n \r\n \r\n {props.logo}\r\n \r\n \r\n \r\n { props.MobileMenuHeader }\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n \r\n \r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\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 {signInLink};\r\n }\r\n }\r\n\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","import * as React from 'react';\r\n\r\nimport { Heading } from '@msdyn365-commerce-modules/utilities';\r\nimport { IImageSettings, Image, RichTextComponent } from '@msdyn365-commerce/core';\r\nimport { observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport { ITimelineItemsData, ITimelineProps } from './timeline.props.autogenerated';\r\n\r\nconst HEIGHT:number = 400;\r\n/**\r\n *\r\n * Timeline component\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass Timeline extends React.Component> {\r\n\r\n // =========================================================================\r\n // OBSERVABLES AND FIELDS\r\n // =========================================================================\r\n\r\n @observable private currentSlide: number;\r\n @observable private timelineItems: ITimelineItemsData[];\r\n @observable private timelineItemTransition: string;\r\n\r\n private yearPositions: number[] = [];\r\n private yearCenter: number = 0;\r\n\r\n private minimalImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: `w=0&h=${HEIGHT}&m=6`, w: 0, h: HEIGHT },\r\n lg: { q: `w=0&h=${HEIGHT}&m=6`, w: 0, h: HEIGHT },\r\n xl: { q: `w=0&h=${HEIGHT}&m=6`, w: 0, h: HEIGHT }\r\n },\r\n disableLazyLoad: true\r\n };\r\n\r\n // ------------------------------------------------------\r\n // ------------------------------------------------------\r\n constructor(props: ITimelineProps<{}>) {\r\n super(props);\r\n this.currentSlide = 0;\r\n this.timelineItems = props.config.timelineItems || [];\r\n this.timelineItemTransition = 'timeline-item-show';\r\n\r\n this._nextItem = this._nextItem.bind(this);\r\n this._previousItem = this._previousItem.bind(this);\r\n this._handleItemChange = this._handleItemChange.bind(this);\r\n\r\n if (props.config.timelineInterval) {\r\n setInterval(this._nextItem, props.config.timelineInterval);\r\n }\r\n }\r\n\r\n // =========================================================================\r\n // PUBLIC METHODS\r\n // =========================================================================\r\n\r\n // ------------------------------------------------------\r\n // ------------------------------------------------------\r\n public componentDidMount(): void {\r\n // Get the relative position of all items in the year scroller\r\n this._getYearPositions();\r\n }\r\n\r\n // ------------------------------------------------------\r\n // ------------------------------------------------------\r\n public render(): JSX.Element | null {\r\n const { config } = this.props;\r\n if (!config.timelineItems) {\r\n return null;\r\n }\r\n\r\n const currentItem = config.timelineItems[this.currentSlide];\r\n const gridSettings = this.props.context.actionContext.requestContext.gridSettings;\r\n\r\n return (\r\n
\r\n\r\n
\r\n
\r\n {this._getSelectors}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {gridSettings && currentItem.image &&\r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n );\r\n }\r\n\r\n // =========================================================================\r\n // PRIVATE METHODS\r\n // =========================================================================\r\n\r\n // ------------------------------------------------------\r\n // ------------------------------------------------------\r\n private get _getSelectors(): JSX.Element | null {\r\n return (\r\n \r\n {this.timelineItems.map((timelineItem, index) => (\r\n \r\n \r\n
\r\n ))}\r\n \r\n );\r\n }\r\n\r\n // ------------------------------------------------------\r\n // ------------------------------------------------------\r\n private _previousItem(): void {\r\n this._handleItemTransition();\r\n this.currentSlide = this.currentSlide > 0 ? this.currentSlide - 1 : this.timelineItems.length - 1;\r\n this._recenter();\r\n }\r\n\r\n // ------------------------------------------------------\r\n // ------------------------------------------------------\r\n private _nextItem(): void {\r\n this._handleItemTransition();\r\n this.currentSlide = (this.currentSlide < this.timelineItems.length - 1) ? this.currentSlide + 1 : 0;\r\n this._recenter();\r\n }\r\n\r\n // ------------------------------------------------------\r\n // ------------------------------------------------------\r\n private _handleItemChange(element: React.MouseEvent): void {\r\n const index = element.currentTarget.getAttribute('data-id')!;\r\n this.currentSlide = +index;\r\n this._handleItemTransition();\r\n this._recenter(element.currentTarget);\r\n }\r\n\r\n // ------------------------------------------------------\r\n // ------------------------------------------------------\r\n private _recenter(el?: EventTarget & HTMLDivElement): void {\r\n\r\n const desiredPosition = this.yearPositions[this.currentSlide];\r\n const container = document.getElementsByClassName('timeline-scroll-hidden').item(0);\r\n\r\n container && container.scrollTo({\r\n top: desiredPosition - this.yearCenter,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n }\r\n\r\n // ------------------------------------------------------\r\n // ------------------------------------------------------\r\n private _handleItemTransition(): void {\r\n this.timelineItemTransition = '';\r\n setTimeout(() => {\r\n this.timelineItemTransition = 'timeline-item-show';\r\n }, 0);\r\n }\r\n\r\n // ------------------------------------------------------\r\n // ------------------------------------------------------\r\n private _getYearPositions(): void {\r\n const years = document.getElementsByClassName('timeline-year');\r\n\r\n for (let i = 0; i < years.length; i++) {\r\n const el = years[i] as HTMLElement;\r\n this.yearPositions[i] = el.offsetTop;\r\n }\r\n\r\n const scrollContainer = document.getElementsByClassName('timeline-scroll-hidden')[0] as HTMLElement;\r\n if (scrollContainer) {\r\n this.yearCenter = scrollContainer.offsetHeight / 2;\r\n }\r\n\r\n }\r\n}\r\n\r\nexport default Timeline;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\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\n\r\n// tslint:disable-next-line: max-func-body-length\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n return (\r\n \r\n \r\n {props.logo}\r\n
\r\n
\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n
\r\n \r\n {showAccountBlock && _renderDesktopAccountBlock(props)}\r\n {showCartIcon && props.cartIcon}\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 {signInLink};\r\n }\r\n }\r\n\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\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\n\r\n// tslint:disable-next-line: max-func-body-length\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer, MobileMenuContainer, MobileMenuBodyContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n return (\r\n \r\n \r\n \r\n {props.logo}\r\n
\r\n {config.storeHours &&
{config.storeHours}
}\r\n {_renderReactFragment(props.search)}\r\n {props.slots && props.slots.smweSearch && _renderReactFragment(props.slots.smweSearch)}\r\n
\r\n {showAccountBlock && _renderDesktopAccountBlock(props)}\r\n {showCartIcon && props.cartIcon}\r\n
\r\n \r\n {props.logo}\r\n \r\n \r\n \r\n { props.MobileMenuHeader }\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n \r\n \r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\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 {signInLink};\r\n }\r\n }\r\n\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n ICheckoutViewProps,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout/dist/types';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({ LineItems, Header, heading, editLink, itemsForPickup, itemsForShip }) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsForPickup && }\r\n {itemsForShip && }\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n lineItems,\r\n placeOrderButton,\r\n keepShoppingButton\r\n } = props;\r\n\r\n return (\r\n \r\n {title}\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n {orderSummary && }\r\n \r\n {/* {placeOrderButton}\r\n {keepShoppingButton} */}\r\n \r\n {lineItems && }\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n ICheckoutViewProps,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout/dist/types';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({ LineItems, Header, heading, editLink, itemsForPickup, itemsForShip }) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsForPickup && }\r\n {itemsForShip && }\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n lineItems,\r\n placeOrderButton,\r\n keepShoppingButton\r\n } = props;\r\n\r\n return (\r\n \r\n {title}\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n {orderSummary && }\r\n \r\n {/* {placeOrderButton}\r\n {keepShoppingButton} */}\r\n \r\n {lineItems && }\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderConfirmationViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine,\r\n} from '@msdyn365-commerce-modules/order-management/dist/types';\r\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n \r\n {channelReferenceId}\r\n {receiptEmail}\r\n \r\n );\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, salesStatus }) => (\r\n \r\n {salesLine}\r\n
{salesStatus}
\r\n
\r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo }) => (\r\n \r\n {heading}\r\n {count}\r\n {address}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n context: {\r\n app: {\r\n routes\r\n }\r\n },\r\n resources\r\n}) => {\r\n const backToShopping = routes.backToShopping && routes.backToShopping.destinationUrl ? (\r\n \r\n )\r\n : backToShoppingLink;\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShopping}\r\n {groups && }\r\n {orderSummary && }\r\n {payment && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n ICheckoutViewProps,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout/dist/types';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({ LineItems, Header, heading, editLink, itemsForPickup, itemsForShip }) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsForPickup && }\r\n {itemsForShip && }\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n lineItems,\r\n placeOrderButton,\r\n keepShoppingButton\r\n } = props;\r\n\r\n return (\r\n \r\n {title}\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n {orderSummary && }\r\n \r\n {/* {placeOrderButton}\r\n {keepShoppingButton} */}\r\n \r\n {lineItems && }\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\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\n\r\n// tslint:disable-next-line: max-func-body-length\r\nconst headerView: React.FC> = props => {\r\n const { HeaderTag, HeaderContainer } = props;\r\n\r\n return (\r\n \r\n \r\n {props.logo}\r\n
\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nfunction _renderReactFragment(items: React.ReactNode[]): JSX.Element | null {\r\n return (\r\n \r\n {items && items.length\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderConfirmationViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine,\r\n} from '@msdyn365-commerce-modules/order-management/dist/types';\r\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n \r\n {channelReferenceId}\r\n {receiptEmail}\r\n \r\n );\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, salesStatus }) => (\r\n \r\n {salesLine}\r\n
{salesStatus}
\r\n
\r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo }) => (\r\n \r\n {heading}\r\n {count}\r\n {address}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n context: {\r\n app: {\r\n routes\r\n }\r\n },\r\n resources\r\n}) => {\r\n const backToShopping = routes.backToShopping && routes.backToShopping.destinationUrl ? (\r\n \r\n )\r\n : backToShoppingLink;\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShopping}\r\n {groups && }\r\n {orderSummary && }\r\n {payment && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\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\n\r\n// tslint:disable-next-line: max-func-body-length\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer, MobileMenuContainer, MobileMenuBodyContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n return (\r\n \r\n \r\n \r\n {props.logo}\r\n {_renderReactFragment(props.search)}\r\n {props.slots && props.slots.smweSearch && _renderReactFragment(props.slots.smweSearch)}\r\n {showAccountBlock && _renderDesktopAccountBlock(props)}\r\n {showCartIcon && props.cartIcon}\r\n \r\n \r\n {props.logo}\r\n \r\n \r\n \r\n { props.MobileMenuHeader }\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n \r\n \r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\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 {signInLink};\r\n }\r\n }\r\n\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n ICheckoutViewProps,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout/dist/types';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({ LineItems, Header, heading, editLink, itemsForPickup, itemsForShip }) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsForPickup && }\r\n {itemsForShip && }\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n lineItems,\r\n placeOrderButton,\r\n keepShoppingButton\r\n } = props;\r\n\r\n return (\r\n \r\n {title}\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n {orderSummary && }\r\n \r\n {/* {placeOrderButton}\r\n {keepShoppingButton} */}\r\n \r\n {lineItems && }\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderConfirmationViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine,\r\n} from '@msdyn365-commerce-modules/order-management/dist/types';\r\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n \r\n {channelReferenceId}\r\n {receiptEmail}\r\n \r\n );\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, salesStatus }) => (\r\n \r\n {salesLine}\r\n
{salesStatus}
\r\n
\r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo }) => (\r\n \r\n {heading}\r\n {count}\r\n {address}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n context: {\r\n app: {\r\n routes\r\n }\r\n },\r\n resources\r\n}) => {\r\n const backToShopping = routes.backToShopping && routes.backToShopping.destinationUrl ? (\r\n \r\n )\r\n : backToShoppingLink;\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShopping}\r\n {groups && }\r\n {orderSummary && }\r\n {payment && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderConfirmationViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine,\r\n} from '@msdyn365-commerce-modules/order-management/dist/types';\r\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n \r\n {channelReferenceId}\r\n {receiptEmail}\r\n \r\n );\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, salesStatus }) => (\r\n \r\n {salesLine}\r\n
{salesStatus}
\r\n
\r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo }) => (\r\n \r\n {heading}\r\n {count}\r\n {address}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n context: {\r\n app: {\r\n routes\r\n }\r\n },\r\n resources\r\n}) => {\r\n const backToShopping = routes.backToShopping && routes.backToShopping.destinationUrl ? (\r\n \r\n )\r\n : backToShoppingLink;\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShopping}\r\n {groups && }\r\n {orderSummary && }\r\n {payment && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n ICheckoutViewProps,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout/dist/types';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({ LineItems, Header, heading, editLink, itemsForPickup, itemsForShip }) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsForPickup && }\r\n {itemsForShip && }\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n lineItems,\r\n placeOrderButton,\r\n keepShoppingButton\r\n } = props;\r\n\r\n return (\r\n \r\n {title}\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n {orderSummary && }\r\n \r\n {/* {placeOrderButton}\r\n {keepShoppingButton} */}\r\n \r\n {lineItems && }\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\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\n\r\n// tslint:disable-next-line: max-func-body-length\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer, MobileMenuContainer, MobileMenuBodyContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n return (\r\n \r\n \r\n \r\n {props.logo}\r\n {_renderReactFragment(props.search)}\r\n {props.slots && props.slots.smweSearch && _renderReactFragment(props.slots.smweSearch)}\r\n {showAccountBlock && _renderDesktopAccountBlock(props)}\r\n {showCartIcon && props.cartIcon}\r\n \r\n \r\n {props.logo}\r\n \r\n \r\n \r\n { props.MobileMenuHeader }\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n \r\n \r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\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 {signInLink};\r\n }\r\n }\r\n\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\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\n\r\n// tslint:disable-next-line: max-func-body-length\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer, MobileMenuContainer, MobileMenuBodyContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n return (\r\n \r\n \r\n \r\n {props.logo}\r\n {_renderReactFragment(props.search)}\r\n {props.slots && props.slots.smweSearch && _renderReactFragment(props.slots.smweSearch)}\r\n {showAccountBlock && _renderDesktopAccountBlock(props)}\r\n {showCartIcon && props.cartIcon}\r\n \r\n \r\n \r\n \r\n { props.MobileMenuHeader }\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n \r\n \r\n \r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\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 {signInLink};\r\n }\r\n }\r\n\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n\r\n\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header/dist/types/modules/header/header';\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\n\r\n// tslint:disable-next-line: max-func-body-length\r\nconst headerView: React.FC> = props => {\r\n const { config, HeaderTag, HeaderContainer, HeaderTopBarContainer, MobileMenuContainer, MobileMenuBodyContainer } = props;\r\n const showCartIcon = config.cartIcon;\r\n const showAccountBlock = config.accountBlock;\r\n\r\n return (\r\n \r\n \r\n \r\n {props.logo}\r\n {_renderReactFragment(props.search)}\r\n {props.slots && props.slots.smweSearch && _renderReactFragment(props.slots.smweSearch)}\r\n {showAccountBlock && _renderDesktopAccountBlock(props)}\r\n {showCartIcon && props.cartIcon}\r\n \r\n \r\n {props.logo}\r\n \r\n \r\n \r\n { props.MobileMenuHeader }\r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\r\n \r\n \r\n {props.menuBar && _renderReactFragment(props.menuBar)}\r\n {props.slots && props.slots.smweMenuBar && _renderReactFragment(props.slots.smweMenuBar)}\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 {signInLink};\r\n }\r\n }\r\n\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\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderConfirmationViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine,\r\n} from '@msdyn365-commerce-modules/order-management/dist/types';\r\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n \r\n {channelReferenceId}\r\n {receiptEmail}\r\n \r\n );\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, salesStatus }) => (\r\n \r\n {salesLine}\r\n
{salesStatus}
\r\n
\r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo }) => (\r\n \r\n {heading}\r\n {count}\r\n {address}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n context: {\r\n app: {\r\n routes\r\n }\r\n },\r\n resources\r\n}) => {\r\n const backToShopping = routes.backToShopping && routes.backToShopping.destinationUrl ? (\r\n \r\n )\r\n : backToShoppingLink;\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShopping}\r\n {groups && }\r\n {orderSummary && }\r\n {payment && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","import {Alert} from '@msdyn365-commerce-modules/utilities';\nimport { IComponent, IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\nimport React from 'react';\n\nexport interface IInvoiceErrorProps extends IComponentProps {\n messageHeader: string;\n errorMessage: string;\n otherError?: string;\n showError: boolean;\n}\n\nexport interface IInvoiceErrorComponent extends IComponent {\n}\n\nexport const InvoiceError: React.FC = ({ messageHeader, errorMessage, otherError, showError }) => {\n const errorMessages: (string | undefined)[] = [];\n errorMessages.push(errorMessage);\n\n if (otherError) {\n errorMessages.push(otherError);\n }\n\n return (\n 0} color='danger' assertive={true} aria-label={messageHeader} >\n \n {errorMessages.map((message, index) => {\n return (\n
{message}
\n );\n })}\n
\n );\n};\n\n// @ts-ignore\nexport const InvoiceErrorComponent: React.FunctionComponent = msdyn365Commerce.createComponent(\n 'InvoiceError',\n { component: InvoiceError }\n);","import React from 'react';\n\nimport { EnumExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, Popover } from '@msdyn365-commerce-modules/utilities';\nimport { IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\nimport { IInvoiceStatusResources } from '../helpers/invoice-status';\n\nexport interface IInvoicesFilterResources extends IInvoiceStatusResources {\n invoicesFilterShowAll: string;\n}\n\nexport interface IInvoicesFilterProps extends IComponentProps {\n className: string;\n disabled: boolean;\n\n resources: IInvoicesFilterResources;\n\n currentState: InvoicesFilterState;\n onFilterStateChanged(state: InvoicesFilterState): void;\n}\n\nexport enum InvoicesFilterState {\n ShowAll,\n Paid,\n PartiallyPaid,\n Unpaid\n}\n\nconst getInvoicesFilterStateResources = (filterState: InvoicesFilterState, resources: IInvoicesFilterResources): string => {\n switch (filterState) {\n case InvoicesFilterState.ShowAll:\n return resources.invoicesFilterShowAll;\n case InvoicesFilterState.Paid:\n return resources.invoiceStatusPaid;\n case InvoicesFilterState.PartiallyPaid:\n return resources.invoiceStatusPartiallyPaid;\n case InvoicesFilterState.Unpaid:\n return resources.invoiceStatusUnpaid;\n default:\n throw new Error('Failed to retrieve resource description for unknown invoices filter state.');\n }\n};\n\nconst renderFilterStateItem = (\n filterState: InvoicesFilterState,\n resources: IInvoicesFilterResources,\n className: string,\n onStateClick: (filterState: InvoicesFilterState) => void): React.ReactNode => {\n\n const stateStringRepresentation = InvoicesFilterState[filterState];\n\n const onClick = () => {\n return onStateClick(filterState);\n };\n\n return (\n \n {getInvoicesFilterStateResources(filterState, resources)}\n \n );\n};\n\nconst InvoicesFilter: React.FC = (props: IInvoicesFilterProps) => {\n const popoverRef = React.createRef();\n const [popoverState, setPopoverState] = React.useState(false);\n const togglePopover = () => {\n setPopoverState(!popoverState);\n };\n\n const [filterState, setFilterState] = React.useState(props.currentState);\n\n const onFilterStateClick = (clickedState: InvoicesFilterState) => {\n setFilterState(clickedState);\n setPopoverState(false);\n props.onFilterStateChanged(clickedState);\n };\n\n return (\n
\n \n {getInvoicesFilterStateResources(filterState, props.resources)}\n \n \n {\n EnumExtensions.getEnumValues(InvoicesFilterState).map(state => {\n return renderFilterStateItem(state, props.resources, props.className, onFilterStateClick);\n })\n }\n \n
\n );\n};\n\n// @ts-ignore\nexport const InvoicesFilterComponent: React.FunctionComponent = msdyn365Commerce.createComponent(\n 'InvoicesFilterComponent',\n { component: InvoicesFilter }\n);","import { IComponent, IComponentProps, ICoreContext, msdyn365Commerce } from '@msdyn365-commerce/core';\nimport classnames from 'classnames';\nimport React from 'react';\n\nexport interface IInvoicesTableHeaderResources {\n invoicesText: string;\n invoiceNumberText: string;\n invoiceDateMobileText: string;\n invoiceDateText: string;\n invoiceUsersText: string;\n invoiceAmountText: string;\n invoiceDueDateText: string;\n invoiceAmountDueText: string;\n invoiceStatusText: string;\n invoiceActionsText: string;\n}\n\nexport interface IInvoicesTableHeaderProps extends IComponentProps {\n context: ICoreContext;\n className: string;\n\n isSelectedAll: boolean;\n isMobile: boolean;\n isAdmin: boolean;\n\n resources: IInvoicesTableHeaderResources;\n\n onSelectAll(isSelected: boolean): void;\n}\n\nexport interface IInvoicesTableHeaderComponent extends IComponent {\n}\n\nconst getDesktopHeaderCells = (props: IInvoicesTableHeaderProps, rowClassName: string, switchCheckedState: () => void) => {\n const { resources } = props;\n return (\n <>\n \n \n \n {resources.invoiceNumberText}\n {resources.invoiceDateText}\n { props.isAdmin ? {resources.invoiceUsersText} : null }\n {resources.invoiceAmountText}\n {resources.invoiceDueDateText}\n {resources.invoiceAmountDueText}\n {resources.invoiceStatusText}\n {resources.invoiceActionsText}\n \n );\n};\n\nconst getMobileHeaderCells = (props: IInvoicesTableHeaderProps, rowClassName: string, switchCheckedState: () => void) => {\n const { resources } = props;\n return (\n <>\n \n \n \n {resources.invoicesText}\n {resources.invoiceDateMobileText}\n {/* Actions */}\n \n );\n};\n\nconst InvoicesTableHeader: React.FC = (props: IInvoicesTableHeaderProps): JSX.Element => {\n const rowClassName = `${props.className}__row`;\n\n const switchCheckedState = () => {\n props.onSelectAll(!props.isSelectedAll);\n };\n\n let headerCells: JSX.Element;\n if (props.isMobile) {\n headerCells = getMobileHeaderCells(props, rowClassName, switchCheckedState);\n } else {\n headerCells = getDesktopHeaderCells(props, rowClassName, switchCheckedState);\n }\n\n return (\n \n \n {headerCells}\n \n \n );\n};\n\n// @ts-ignore\nexport const InvoicesTableHeaderComponent: React.FunctionComponent = msdyn365Commerce.createComponent(\n 'InvoicesTableHeaderComponent',\n { component: InvoicesTableHeader }\n);","import { InvoicePaidStatus } from '@msdyn365-commerce/retail-proxy';\n\nexport interface IInvoiceStatusResources {\n invoiceStatusNone: string;\n invoiceStatusUnpaid: string;\n invoiceStatusPartiallyPaid: string;\n invoiceStatusPaid: string;\n}\n\nexport const getInvoiceStatusText = (resources: IInvoiceStatusResources, invoiceStatus: InvoicePaidStatus | undefined) => {\n switch (invoiceStatus) {\n case InvoicePaidStatus.None:\n return resources.invoiceStatusNone;\n case InvoicePaidStatus.Unpaid:\n return resources.invoiceStatusUnpaid;\n case InvoicePaidStatus.PartiallyPaid:\n return resources.invoiceStatusPartiallyPaid;\n case InvoicePaidStatus.Paid:\n return resources.invoiceStatusPaid;\n default:\n return '';\n }\n};","import { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getUrlSync, IActionContext } from '@msdyn365-commerce/core';\nimport { getCartState } from '@msdyn365-commerce/global-state';\nimport { IInvoiceErrorState } from '../invoices-list';\nimport { InvoiceModel } from './invoice-data';\n\nexport type ICartActionFailureReason = 'EMPTYINPUT' | 'CARTACTIONFAILED';\nexport interface IAddInvoicesToCartFailureResult {\n failureReason: ICartActionFailureReason;\n}\n\nexport const payInvoices = async (invoices: InvoiceModel[], actionContext: IActionContext, onError: (errorState: IInvoiceErrorState) => void) => {\n const invoicesToAdd: string[] = invoices.filter(invoice => invoice.canBePaid).map(invoice => invoice.id!);\n\n if (!ArrayExtensions.hasElements(invoicesToAdd)) {\n return onError({ errorMessage: '', errorReason: { failureReason: 'EMPTYINPUT' } });\n }\n\n const cartState = await getCartState(actionContext);\n const result = await cartState.addInvoicesToCart({invoiceIds: invoicesToAdd});\n\n if (result.status !== 'SUCCESS') {\n return onError({\n errorMessage: '',\n errorReason: { failureReason: 'CARTACTIONFAILED'},\n otherError: result.errorDetails?.LocalizedMessage\n });\n }\n\n const cartUrl = getUrlSync('cart', actionContext);\n if (cartUrl) {\n window?.location.assign(cartUrl);\n }\n};","import { Button } from '@msdyn365-commerce-modules/utilities';\nimport { IComponent, IComponentProps, ICoreContext, msdyn365Commerce } from '@msdyn365-commerce/core';\nimport React, { useState } from 'react';\nimport { InvoiceModel } from '../helpers/invoice-data';\nimport { payInvoices } from '../helpers/pay-invoices';\nimport { IInvoiceErrorState } from '../invoices-list';\n\ninterface IPayInvoiceData {\n invoice: InvoiceModel;\n}\n\nexport interface IPayInvoiceResources {\n payInvoiceButtonText: string;\n payInvoiceButtonAriaLabel: string;\n}\n\nexport interface IPayInvoiceProps extends IComponentProps {\n context: ICoreContext;\n className: string;\n\n resources: IPayInvoiceResources;\n\n onError?(errorState: IInvoiceErrorState): void;\n}\n\ninterface IPayInvoiceComponent extends IComponent {\n}\n\nconst onClick = async (_event: React.MouseEvent, props: IPayInvoiceProps, setDisabled: (disabled: boolean) => void): Promise => {\n setDisabled(true);\n\n const propagateError = (errorState: IInvoiceErrorState): void => {\n if (props.onError) {\n props.onError(errorState);\n }\n setDisabled(false);\n };\n\n await payInvoices([props.data.invoice], props.context.actionContext, propagateError);\n};\n\nconst PayInvoiceComponentActions = {\n onClick: onClick\n};\n\nconst PayInvoice: React.FC = (props: IPayInvoiceProps): JSX.Element => {\n const [disabled, setDisabled] = useState(false);\n\n const onClickHandler = async (event: React.MouseEvent) => {\n await PayInvoiceComponentActions.onClick(event, props, setDisabled);\n };\n\n return (\n \n {props.resources.payInvoiceButtonText}\n \n );\n};\n\n// @ts-ignore\nexport const PayInvoiceComponent: React.FunctionComponent = msdyn365Commerce.createComponent(\n 'PayInvoiceComponent',\n { component: PayInvoice, ...PayInvoiceComponentActions }\n);","import { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button } from '@msdyn365-commerce-modules/utilities';\nimport { IComponent, IComponentProps, ICoreContext, IDateFormatOptions, msdyn365Commerce } from '@msdyn365-commerce/core';\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\nimport classnames from 'classnames';\nimport React, { useState } from 'react';\nimport { InvoiceModel } from '../../../helpers/invoice-data';\nimport { getInvoiceStatusText, IInvoiceStatusResources } from '../../../helpers/invoice-status';\nimport { IInvoiceErrorState } from '../../../invoices-list';\nimport { IPayInvoiceResources, PayInvoiceComponent } from '../../pay-invoice-component';\n\ninterface IInvoicesTableRowData {\n invoice: InvoiceModel;\n index: number;\n customer: Customer;\n}\n\nexport interface IInvoicesTableRowResources extends IInvoiceStatusResources, IPayInvoiceResources {\n invoiceCurrentUser: string;\n invoiceViewDetailsButtonText: string;\n invoiceViewDetailsButtonAriaLabel: string;\n}\n\nexport interface IInvoicesTableRowProps extends IComponentProps {\n context: ICoreContext;\n className: string;\n isMobile: boolean;\n\n resources: IInvoicesTableRowResources;\n\n onChange(): void;\n onError?(errorState: IInvoiceErrorState): void;\n}\n\nexport interface IInvoicesTableRowComponent extends IComponent {\n\n}\n\nconst formatAmount = (context: ICoreContext, amount: number | undefined, currencyCode: string | undefined) => {\n if (amount === undefined) {\n return '';\n }\n return context.cultureFormatter.formatCurrency(amount, currencyCode);\n};\n\nconst formatDate = (context: ICoreContext, date: Date | undefined) => {\n if (date === undefined) {\n return '';\n }\n const dateOptions: IDateFormatOptions = { year: 'numeric', month: 'long', day: 'numeric'};\n return context.cultureFormatter.formatDate(date, dateOptions);\n};\n\nconst getDesktopRowCells = (props: IInvoicesTableRowProps, onSelectLine: () => void) => {\n const { data: { invoice, index, customer } } = props;\n\n const isCurrentUser = !StringExtensions.isNullOrWhitespace(customer.AccountNumber) && customer.AccountNumber === invoice.customerAccountNumber;\n const payInvoiceClassName = `${props.className}__pay-invoice`;\n\n return (\n <>\n \n \n \n {invoice.id} {/* TODO: Add redirection to the invoice details page. */}\n {formatDate(props.context, invoice.invoiceDate)}\n { customer.IsB2bAdmin ? {invoice.customerName}{ isCurrentUser ? {props.resources.invoiceCurrentUser} : null} : null }\n {formatAmount(props.context, invoice.amount, invoice.currencyCode)}\n {formatDate(props.context, invoice.dueDate)}\n {formatAmount(props.context, invoice.amountDue, invoice.currencyCode)}\n {getInvoiceStatusText(props.resources, invoice.status)}\n \n \n \n \n );\n};\n\nconst extraActionsPopup = (props: IInvoicesTableRowProps): JSX.Element | null => {\n const { resources: { invoiceViewDetailsButtonAriaLabel, invoiceViewDetailsButtonText }, data: { index } } = props;\n\n const [showActions, setShowActions ] = useState(false);\n\n const onClickViewDetails = () => {\n // TODO: Add redirection to the invoice details page.\n return;\n };\n\n const toggle = (event: React.MouseEvent) => {\n setShowActions(!showActions);\n };\n\n const className = `${props.className}__extra-actions-cell`;\n const actionsContainerClassName = `${className}__actions-container`;\n const payInvoiceClassName = `${actionsContainerClassName}__pay-invoice`;\n\n return (\n
\n {\n \n
\n }\n
\n );\n};\n\nconst getMobileRowCells = (props: IInvoicesTableRowProps, onSelectLine: () => void) => {\n const { data: { invoice } } = props;\n\n return (\n <>\n \n \n \n \n {invoice.id} {/* TODO: Add redirection to the invoice details page. */}\n
\n {invoice.customerName}\n \n \n {formatDate(props.context, invoice.dueDate)}\n
\n {getInvoiceStatusText(props.resources, invoice.status)}\n \n \n {extraActionsPopup(props)}\n \n \n );\n};\n\nconst InvoicesTableRow: React.FC = (props: IInvoicesTableRowProps): JSX.Element => {\n const { data: { invoice } } = props;\n\n const onSelectLine = () => {\n invoice.isSelected = !invoice.isSelected;\n props.onChange();\n };\n\n let rowCells: JSX.Element;\n if (props.isMobile) {\n rowCells = getMobileRowCells(props, onSelectLine);\n } else {\n rowCells = getDesktopRowCells(props, onSelectLine);\n }\n\n return (\n \n {rowCells}\n \n );\n};\n\n// @ts-ignore\nexport const InvoicesTableRowComponent: React.FunctionComponent = msdyn365Commerce.createComponent(\n 'InvoicesTableRowComponent',\n { component: InvoicesTableRow }\n);","import { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { IComponent, IComponentProps, ICoreContext, msdyn365Commerce } from '@msdyn365-commerce/core';\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\nimport React, { useState } from 'react';\nimport { InvoiceModel } from '../../helpers/invoice-data';\nimport { IInvoiceErrorState } from '../../invoices-list';\nimport { IInvoicesTableHeaderResources, InvoicesTableHeaderComponent } from './components/invoices-table-header-component';\nimport { IInvoicesTableRowResources, InvoicesTableRowComponent } from './components/invoices-table-row-component';\n\ninterface IInvoicesTableData {\n invoices: InvoiceModel[];\n customer: Customer;\n}\n\n// tslint:disable-next-line:no-empty-interface\nexport interface IInvoicesTableResources extends IInvoicesTableHeaderResources, IInvoicesTableRowResources {\n}\n\nexport interface IInvoicesTableProps extends IComponentProps {\n context: ICoreContext;\n className: string;\n\n resources: IInvoicesTableResources;\n\n onChange(): void;\n onError?(errorState: IInvoiceErrorState): void;\n}\n\nexport interface IInvoicesTableComponent extends IComponent {\n}\n\ntype GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nconst getViewport = (context: ICoreContext): GridSize => {\n // Always render in mobile viewport on a mobile device\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\n return 'xs';\n }\n\n if (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 } else {\n return 'xl';\n }\n }\n }\n\n return 'xs';\n};\n\nconst isMobileView = (context: ICoreContext) => {\n const viewport = getViewport(context);\n return viewport === 'xs' || viewport === 'sm';\n};\n\nconst InvoicesTable: React.FC = (props: IInvoicesTableProps): JSX.Element => {\n const [isMobile, setIsMobile] = useState(isMobileView(props.context));\n\n const updateViewport = () => {\n setIsMobile(isMobileView(props.context));\n };\n\n if (typeof window !== undefined && window.addEventListener) {\n window.addEventListener('resize', updateViewport);\n }\n const rowClassName = `${props.className}__row`;\n const headerClassName = `${props.className}__header`;\n\n const onSelectAll = (isSelected: boolean) => {\n props.data.invoices.forEach((invoice) => {\n invoice.isSelected = isSelected;\n });\n props.onChange();\n };\n\n return (\n \n invoice.isSelected)}\n isMobile={isMobile}\n isAdmin={props.data.customer.IsB2bAdmin || false}\n onSelectAll={onSelectAll}\n resources={props.resources}\n data={{}}\n />\n {\n props.data.invoices.map((invoice, index) => {\n return (\n \n );\n })\n }\n
\n );\n};\n\n// @ts-ignore\nexport const InvoicesTableComponent: React.FunctionComponent = msdyn365Commerce.createComponent(\n 'InvoicesTableComponent',\n { component: InvoicesTable }\n);","import { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport { IComponent, IComponentProps, ICoreContext, ITelemetry, msdyn365Commerce } from '@msdyn365-commerce/core';\nimport React, { useState } from 'react';\nimport { InvoiceModel } from '../helpers/invoice-data';\nimport { payInvoices } from '../helpers/pay-invoices';\nimport { IInvoiceErrorState } from '../invoices-list';\n\ninterface IMakePaymentData {\n invoices: InvoiceModel[];\n}\n\nexport interface IMakePaymentResources {\n makePaymentButtonText: string;\n makePaymentButtonAriaLabel: string;\n}\n\nexport interface IMakePaymentProps extends IComponentProps {\n context: ICoreContext;\n itemKey?: string;\n telemetry: ITelemetry;\n moduleId: string;\n moduleTypeName: string;\n telemetryContent?: ITelemetryContent;\n navigationUrl?: string;\n\n resources: IMakePaymentResources;\n\n onError?(errorState: IInvoiceErrorState): void;\n}\n\nexport interface IMakePaymentComponent extends IComponent {\n}\n\nconst onClick = async (_event: React.MouseEvent, props: IMakePaymentProps, setDisabled: (disabled: boolean) => void): Promise => {\n setDisabled(true);\n\n const propagateError = (errorState: IInvoiceErrorState): void => {\n if (props.onError) {\n props.onError(errorState);\n }\n setDisabled(false);\n };\n\n await payInvoices(props.data.invoices, props.context.actionContext, propagateError);\n};\n\nconst MakePaymentComponentActions = {\n onClick: onClick\n};\n\nconst MakePayment: React.FC = (input: IMakePaymentProps): JSX.Element => {\n const { data: { invoices } } = input;\n const hasInvoices = ArrayExtensions.hasElements(invoices.filter(invoice => invoice.canBePaid));\n const [disabled, setDisabled] = useState(false);\n\n const onClickHandler = async (event: React.MouseEvent) => {\n await MakePaymentComponentActions.onClick(event, input, setDisabled);\n };\n\n return (\n \n {input.resources.makePaymentButtonText}\n \n );\n};\n\n// @ts-ignore\nexport const MakePaymentComponent: React.FunctionComponent = msdyn365Commerce.createComponent(\n 'MakePayment',\n { component: MakePayment }\n);","import { InvoicePaidStatus, OrderInvoice } from '@msdyn365-commerce/retail-proxy';\n\n/**\n * Represents invoice data model.\n */\nexport class InvoiceModel {\n public id?: string;\n public invoiceDate?: Date;\n public customerAccountNumber?: string;\n public customerName?: string;\n public amount?: number;\n public dueDate?: Date;\n public amountDue?: number;\n public status?: InvoicePaidStatus;\n public currencyCode?: string;\n\n public isSelected: boolean;\n\n public constructor(invoice: OrderInvoice) {\n this.id = invoice.Id;\n this.invoiceDate = invoice.InvoiceDate;\n this.customerAccountNumber = invoice.CustomerAccountNumber;\n this.customerName = invoice.CustomerName;\n this.amount = invoice.TotalAmount;\n this.dueDate = invoice.InvoiceDueDate;\n this.amountDue = invoice.AmountBalance;\n this.status = invoice.InvoicePaidStatusValue;\n this.currencyCode = invoice.CurrencyCode;\n\n this.isSelected = false;\n }\n\n public get canBePaid(): boolean {\n return this.status !== InvoicePaidStatus.Paid;\n }\n}","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { ArrayExtensions, getInvoices, GetInvoicesInput } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, Heading, IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport { getUrlSync } from '@msdyn365-commerce/core';\nimport { InvoicePaidStatus, InvoiceSearchCriteria, InvoiceType, OrderInvoice } from '@msdyn365-commerce/retail-proxy';\nimport classnames from 'classnames';\nimport * as React from 'react';\nimport { InvoiceErrorComponent } from './components/invoice-error-component';\nimport { InvoicesFilterComponent, InvoicesFilterState } from './components/invoices-filter-component';\nimport { InvoicesTableComponent } from './components/invoices-table/invoices-table-component';\nimport { IMakePaymentResources, MakePaymentComponent } from './components/make-payment-component';\nimport { InvoiceModel } from './helpers/invoice-data';\nimport { IAddInvoicesToCartFailureResult } from './helpers/pay-invoices';\nimport { IInvoicesListData } from './invoices-list.data';\nimport { IInvoicesListProps } from './invoices-list.props.autogenerated';\n\nexport type InvoicesListStatus = 'LOADING' | 'SUCCESS' | 'FAILED' | 'EMPTY';\nexport type InvoiceErrorHost = 'ADDINVOICETOCART';\n\nexport interface IInvoicesListViewProps extends IInvoicesListProps {\n moduleProps: IModuleProps;\n\n header: JSX.Element;\n filter: JSX.Element;\n content?: JSX.Element;\n}\n\nexport interface IInvoiceErrorState {\n errorHost?: InvoiceErrorHost;\n errorReason?: IAddInvoicesToCartFailureResult;\n errorMessage: string;\n otherError?: string;\n}\n\nexport interface IInvoicesListState {\n invoices: InvoiceModel[];\n invoicesFilterState: InvoicesFilterState;\n errorState: IInvoiceErrorState;\n isLoading: boolean;\n}\n\n/**\n * InvoicesList component\n * @extends {React.PureComponent, IInvoicesListState>}\n */\nclass InvoicesList extends React.Component, IInvoicesListState> {\n private readonly className: string = 'msc-invoices-list';\n\n constructor(props: IInvoicesListProps) {\n super(props);\n\n this._updateInvoicesState = this._updateInvoicesState.bind(this);\n this._onAddToCartFailed = this._onAddToCartFailed.bind(this);\n this._handleFilterStateChange = this._handleFilterStateChange.bind(this);\n\n this.state = {\n invoices: [],\n invoicesFilterState: InvoicesFilterState.ShowAll,\n isLoading: true,\n errorState: { errorMessage: '' }\n };\n }\n\n public render(): JSX.Element | null {\n const {\n data: { invoices, customer },\n config: { className = '' }\n } = this.props;\n\n const header = (\n \n );\n\n const viewProps: IInvoicesListViewProps = {\n ...(this.props as IInvoicesListProps),\n moduleProps: {\n moduleProps: this.props,\n className: classnames(this.className, className)\n },\n header: header,\n filter: this._renderInvoicesFilter(this.className)\n };\n\n if (!invoices || !invoices.result || invoices?.status === 'LOADING' ||\n !customer || !customer.result || customer?.status === 'LOADING') {\n return this.props.renderView(viewProps);\n }\n\n if (ArrayExtensions.hasElements(invoices.result)) {\n viewProps.content = this._renderListContainer();\n } else {\n viewProps.content = this._renderEmptyInvoiceLinesPageContent();\n }\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public async componentDidMount(): Promise {\n const invoicesData = await this.props.data.invoices;\n this._initializeWithInvoices(invoicesData);\n }\n\n private _initializeWithInvoices(invoicesData: OrderInvoice[]): void {\n const invoices = invoicesData.map(invoice => new InvoiceModel(invoice));\n this.setState({\n invoices: invoices,\n isLoading: false\n });\n }\n\n private _renderEmptyInvoiceLinesPageContent(): JSX.Element {\n const containerClass = `${this.className}__empty-lines__container`;\n const actionsContainerClass = `${containerClass}__actions`;\n return (\n
\n
\n {this.props.resources.invoiceEmptyInvoiceLinesTitle}\n
\n
\n {this.props.resources.invoiceEmptyInvoiceLinesDescription}\n
\n
\n \n {this.props.resources.invoiceEmptyInvoiceLinesContinueShoppingButtonText}\n \n
\n
\n );\n }\n\n private _renderListContainer(): JSX.Element {\n const containerClass = `${this.className}__container`;\n const containerHeaderClass = `${containerClass}__header`;\n const containerContentClass = `${containerClass}__content`;\n return (\n
\n
\n {this._renderMakePayment(containerHeaderClass)}\n
\n
\n {this._renderInvoiceErrors()}\n
\n
\n {this._renderInvoicesList(containerContentClass)}\n
\n
\n );\n }\n\n private _updateInvoicesState(): void {\n this.setState({\n invoices: this.state.invoices\n });\n }\n\n private _handleFilterStateChange(state: InvoicesFilterState): void {\n this.setState({\n invoicesFilterState: state,\n isLoading: true\n });\n\n const searchCriteria: InvoiceSearchCriteria = {\n InvoiceTypeValues: [InvoiceType.SalesOrderInvoice]\n };\n\n switch (state) {\n case InvoicesFilterState.ShowAll:\n searchCriteria.InvoicePaidStatusValues = [InvoicePaidStatus.None];\n break;\n case InvoicesFilterState.Paid:\n searchCriteria.InvoicePaidStatusValues = [InvoicePaidStatus.Paid];\n break;\n case InvoicesFilterState.PartiallyPaid:\n searchCriteria.InvoicePaidStatusValues = [InvoicePaidStatus.PartiallyPaid];\n break;\n case InvoicesFilterState.Unpaid:\n searchCriteria.InvoicePaidStatusValues = [InvoicePaidStatus.Unpaid];\n break;\n default:\n throw new Error('Failed to process unknown invoices filter state.');\n }\n\n getInvoices(new GetInvoicesInput(searchCriteria), this.props.context.actionContext).then(result => {\n this._initializeWithInvoices(result);\n });\n }\n\n private _renderInvoicesFilter(className: string): JSX.Element {\n const filterClassName = `${className}__filter`;\n return (\n \n );\n }\n\n private _renderInvoicesList(className: string): JSX.Element {\n const tableClassName = `${className}__table`;\n return (\n \n );\n }\n\n private _onAddToCartFailed(newErrorState: IInvoiceErrorState): void {\n const errorState = {...newErrorState};\n errorState.errorHost = 'ADDINVOICETOCART';\n errorState.errorMessage = newErrorState.errorReason?.failureReason === 'EMPTYINPUT' ?\n this.props.resources.invoiceErrorInvoiceIdNotExist : this.props.resources.invoiceErrorFailedAddInvoiceToCart;\n\n this.setState({errorState: errorState});\n }\n\n private _renderMakePayment(className: string): JSX.Element {\n const id = `${className}__make-payment`;\n const makePaymentResources: IMakePaymentResources = {\n makePaymentButtonText: this.props.resources.makePaymentButtonText,\n makePaymentButtonAriaLabel: this.props.resources.makePaymentButtonAriaLabel\n };\n\n let selectedInvoices = this.state.invoices.filter(invoice => invoice.isSelected);\n if (!ArrayExtensions.hasElements(selectedInvoices)) {\n selectedInvoices = this.state.invoices;\n }\n\n return (\n \n );\n }\n\n private _renderInvoiceErrors(): JSX.Element {\n const errorClassName = `${this.className}__errors`;\n return (\n \n );\n }\n}\n\nexport default InvoicesList;"],"sourceRoot":""}