{"version":3,"sources":["webpack:///./src/themes/patzhall/views/order-confirmation.view.tsx?0030","webpack:///./src/themes/colsolare/views/sign-in.view.tsx?e5a0","webpack:///./src/themes/columbiacrest/views/sign-in.view.tsx?91c9","webpack:///./src/themes/spring-valley-vineyard/views/sign-in.view.tsx?58e6","webpack:///./src/themes/stemichelle-new/views/order-confirmation.view.tsx?7833","webpack:///./src/themes/conn-creek/views/header.view.tsx?1ab9","webpack:///./src/themes/patzhall/views/header.view.tsx?cf8b","webpack:///./src/themes/intrinsic-wine-co/views/sign-in.view.tsx?584b","webpack:///./src/themes/stemichelle/views/order-confirmation.view.tsx?6916","webpack:///./src/themes/spring-valley-vineyard/views/order-confirmation.view.tsx?f525","webpack:///./src/themes/fth-old/views/order-confirmation.view.tsx?6cf8","webpack:///./src/themes/north-star/views/sign-in.view.tsx?85ec","webpack:///./src/themes/conn-creek/views/order-confirmation.view.tsx?8226","webpack:///./src/themes/fth-old/views/sign-in.view.tsx?cd55","webpack:///./src/themes/h3theme/views/header.view.tsx?f4d0","webpack:///./src/themes/fth/views/header.view.tsx?6d7d","webpack:///./src/themes/columbiacrest/views/header.view.tsx?4973","webpack:///./src/themes/fth-old/views/header.view.tsx?ee58","webpack:///./src/themes/smwe/views/header.view.tsx?1d70","webpack:///./src/modules/wine-finder-form/actions/get-wine-api-token.ts?9772","webpack:///./src/modules/wine-finder-form/actions/get-wine-filterable-class.ts?e00f","webpack:///./src/modules/wine-finder-form/actions/get-wine-mapper-class.ts?89dd","webpack:///./src/modules/wine-finder-form/actions/get-wine-international-location.ts?4a50","webpack:///./src/modules/wine-finder-form/actions/get-wine-location.ts?9374","webpack:///./src/modules/wine-finder-form/actions/get-wine-products.ts?bdfc","webpack:///./src/modules/wine-finder-form/wine-finder-dropdown-menu.tsx?9026","webpack:///./src/modules/wine-finder-form/wine-finder-query-location.tsx?e1b8","webpack:///./src/modules/wine-finder-form/actions/get-wine-countries.ts?0ce4","webpack:///./src/modules/wine-finder-form/wine-finder-query-location-international.tsx?9b3d","webpack:///./src/modules/wine-finder-form/wine-finder-form.props.autogenerated.ts?7bde","webpack:///./src/modules/wine-finder-form/wine-finder-wine-display.tsx?54ec","webpack:///./src/modules/wine-finder-form/wine-finder-display-item.tsx?995e","webpack:///./src/modules/wine-finder-form/wine-finder-scrollable.tsx?e714","webpack:///./src/modules/wine-finder-form/wine-finder-pager.tsx?cc64","webpack:///./src/modules/wine-finder-form/wine-finder-wine-results.tsx?909d","webpack:///./src/modules/wine-finder-form/wine-finder-form.tsx?9170","webpack:///./src/themes/fth/views/order-confirmation.view.tsx?024e","webpack:///./src/themes/blend/views/header.view.tsx?3e7f","webpack:///./src/themes/enoteca/views/order-confirmation.view.tsx?43d4","webpack:///./src/themes/colsolare/views/header.view.tsx?ddbc","webpack:///./src/themes/enoteca/views/header.view.tsx?ebc8","webpack:///./src/themes/patzhall/views/sign-in.view.tsx?4dd7","webpack:///./src/themes/generazioni/views/sign-in.view.tsx?5601","webpack:///./src/themes/stemichelle-new/views/sign-in.view.tsx?2607","webpack:///./src/themes/intrinsic-wine-co/views/order-confirmation.view.tsx?59a6","webpack:///./src/themes/emp/views/sign-in.view.tsx?ef45","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/fth/views/sign-in.view.tsx?75eb","webpack:///./src/themes/blend/views/sign-in.view.tsx?f3cf","webpack:///./src/themes/generazioni/views/header.view.tsx?61f1","webpack:///./src/themes/elicit/views/header.view.tsx?8cdc","webpack:///./src/themes/stemichelle/views/header.view.tsx?5845","webpack:///./src/themes/stagsleap/views/sign-in.view.tsx?c226","webpack:///./src/themes/conn-creek/views/sign-in.view.tsx?515b","webpack:///./src/themes/erath/views/sign-in.view.tsx?0566","webpack:///./src/themes/columbiacrest/views/order-confirmation.view.tsx?d0b5","webpack:///./src/themes/h3-theme/views/header.view.tsx?d23e","webpack:///./src/themes/erath/views/order-confirmation.view.tsx?96f8","webpack:///./src/themes/stemichelle/views/sign-in.view.tsx?47a4","webpack:///./src/themes/spring-valley-vineyard/views/header.view.tsx?c28a","webpack:///./src/themes/generazioni/views/order-confirmation.view.tsx?e1e4","webpack:///./src/themes/north-star/views/order-confirmation.view.tsx?ef86","webpack:///./src/themes/enoteca/views/sign-in.view.tsx?6175","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/themes/elicit/views/sign-in.view.tsx?254d"],"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","SignInLoading","modal","modalBody","icon","message","_showPassword","passwordState","document","getElementById","iconElement","type","SignInView","props","signIn","viewState","defaultAADConainer","aadConainer","signInSection","signUpSection","signInSectionHeading","signInLocalAccount","signInSocialAccount","signUpSectionHeading","signUpDescription","signUpLink","isShowLoading","localAccount","items","forgetPassword","disclaimer","error","signInButton","item","wrapper","label","input","onClick","id","LocalAccount","socialAccounts","button","image","text","SocialAccount","config","followUp","RichTextComponent","_renderReactFragment","length","slot","headerView","HeaderTag","HeaderContainer","HeaderTopBarContainer","MobileMenuContainer","MobileMenuBodyContainer","showCartIcon","cartIcon","showAccountBlock","accountBlock","logo","search","AccountInfoDropdownParentContainer","AccountInfoDropdownPopoverConentContainer","accountInfoDropdownButton","signOutLink","signInLink","accountLinks","link","_renderDesktopAccountBlock","MobileMenuHeader","menuBar","slots","smweMenuBar","role","smweCartIcon","smweSideBar","apiToken","GetWineFilterable","Msdyn365","constructor","filters","super","dataCacheType","cacheObjectType","cacheKey","JSON","stringify","_token","this","queryFilters","filtersToHTTPQueryString","queryString","keys","forEach","queryKey","queryValue","substr","WineMapper","_input","_applyMap","inputData","inputMap","mappedOutput","GetWineInternationalLocationInput","_url","brand_code","country","fullUrl","console","GetWineInternationalLocationMap","GetWineInternationalLocationDistributorMap","GetWineInternationalLocationCountryMap","GetWineLocationInternationalMapper","output","totalPages","totalResults","page","distributors","distributor","distributorOutput","push","GetWineLocationMap","GetWineLocationRetailerMap","GetWineLocationProductMap","action","async","ctx","apiSettings","response","url","headers","Authorization","token","args","Error","GetWineLocationInput","GetWineLocationMapper","retailers","retailer","retailerProducts","mappedRetailer","products","product","GetWineProductsInput","brand","FindWineDropdownMenu","_value","defaultValue","_handleOnChange","bind","render","_constructItems","value","onChange","event","newItem","itemList","find","target","toString","isAriaSelected","__decorate","observable","observer","WineFinderQueryLocation","_queryLocation","_queryRadius","_allowRetail","_allowRestaurant","_product","_queryRadii","_handleQueryLocationChange","_handleSearchRadiusChange","_toggleRetail","_toggleRestaurant","_doQuery","defaultFilters","retail","restaurant","radii","allowRadiiDisplay","defaultRadius","wineFinder__domesticTitle","wineFinder__domesticSearchRadiusLabel","wineFinder__retailFilterText","wineFinder__restaurantFilterText","domesticSearch","enablePlaceholders","placeholders","cssClass","active","htmlFor","placeholder","showChooseWineInput","_renderProductsDropdownList","displayFilters","_hasFilterActive","checked","disabled","_isInvalid","wineFinderSubmit","queryRadius","location","radius","on_premise","filterState","restaurantActive","retailActive","onQuerySearch","Number","test","_renderProductOptions","option","product_key","description","IGetWineCountriesMap","GetWineCountriesInput","shouldCacheOutput","GetWineCountriesMapper","WineFinderQueryLocationInternational","_countries","_handleCountrySelectionChange","componentDidMount","_queryCountries","catch","err","warn","name","iso","wineFinder__internationalTitle","wineFinder__internationalCountryLabel","submitText","_selectedCountry","newCountry","countries","WineCountries","actionContext","resultsDisplay","showProductsConfiguration","TitleTag","WineFinderWineDisplay","_isOpen","_wines","wines","reaction","allOpen","open","_closeToggle","hideProducts","showProducts","showProductsLabel","_showButton","_renderWineList","showButton","showProductsHideButton","list","toJS","sort","wineList","wine","_showProducts","FindWineItem","hideNumbers","numberInList","distance","mapData","zip","rel","mapText","phoneNumber","website","wineFinder__internationalWebsiteLabel","WineFinderScrollable","Component","_onAddMore","pageCount","wineLocationData","_renderWineResults","showMoreText","wineResults","resultType","city","state","code","perPage","_getProducts","phone","jdeDistributorNumber","wineFinder__noResults","productArray","onGetMoreContent","WineFinderPager","_isFirstPagination","_goToMinMaxPage","_renderPages","_isLastPagination","range","lower","higher","minOrMax","onPageChange","currentPage","lowerBound","Math","max","min","Array","fill","pageValue","WineFinderResults","_handlePageChange","_renderWineLocations","wineLocation","pageChange","newQuery","selectedTab","FindWine","_pageState","_allOpen","_selectedTab","_wineLocationDataSet","_querySearchFilters","_setWineLocation","_setWineProducts","_handleBackToFind","_setInternationalWineLocation","_getMoreWineLocations","_selectUSTab","_selectInternationalTab","_products","setState","singlePage","_renderQuery","_renderResults","_renderJSXResult","_renderNoResults","hideInternational","searchRadius","showFilterButtons","USLabelText","internationalLabelText","USCssClass","us","internationalCssClass","international","_title","_searchText","wineFinder__backToFind","wineFinder__showMoreButton","wineType","internationalWineLocation","resultDisplay","tabIndex","onKeyPress","showAllProductsToggle","_renderAllProductsToggle","hideAllProducts","showAllProducts","showAllProductsLabel","wineFinder__searchAgain","Heading","headingTag","tag","searchText","wineLocationInput","moreData","GetWineLocation","GetInternationalWineLocation","per_page","newLocation","undefined","filter","getWineProducts","Fragment","_renderStoreSwitcher","links","linkText","linkUrl","ariaLabel","openInNewTab","activeStore","activeStoreClass","activeStoreIndex","storeSwitcher","storePopoverOpen","_togglePopover","useState","storePopoverRef","createRef","activeLink","activeLinkIndex","storeSwitcherDesktop","startLinks","slice","endLinks","_insertStoreSwitcher","cartLink","getUrlSync","classnames","_renderAccountBlock","innerRef","Popover","placement","isOpen","toggle","storeHours"],"mappings":"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","file":"static/js/24.3640db3097b3a001f2cb.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","import * as React from 'react';\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInSocialAccount, ISignInSocialItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {forgetPassword}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n \r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({\r\n socialAccounts,\r\n items,\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('sign-in-password-icon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = passwordState.type === 'password' ? 'text' : 'password';\r\n iconElement.className = iconElement.className === 'icon-show-password' ? 'icon-hide-password' :'icon-show-password';\r\n }\r\n};\r\n\r\nexport default SignInView;\r\n","import * as React from 'react';\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInSocialAccount, ISignInSocialItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n
{forgetPassword}
\r\n
\r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({\r\n socialAccounts,\r\n items,\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('sign-in-password-icon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = passwordState.type === 'password' ? 'text' : 'password';\r\n iconElement.className = iconElement.className === 'icon-show-password' ? 'icon-hide-password' :'icon-show-password';\r\n }\r\n};\r\n\r\nexport default SignInView;\r\n","import * as React from 'react';\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInSocialAccount, ISignInSocialItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n
{forgetPassword}
\r\n
\r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({\r\n socialAccounts,\r\n items,\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('sign-in-password-icon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = passwordState.type === 'password' ? 'text' : 'password';\r\n iconElement.className = iconElement.className === 'icon-show-password' ? 'icon-hide-password' :'icon-show-password';\r\n }\r\n};\r\n\r\nexport default SignInView;\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","/*---------------------------------------------------------------------------------------------\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","/*---------------------------------------------------------------------------------------------\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 {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","import * as React from 'react';\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n ISignInItem,\r\n ISignInLoading,\r\n ISignInLocalAccount,\r\n ISignInSocialAccount,\r\n ISignInSocialItem,\r\n ISignInViewProps,\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton,\r\n}) => {\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n
\r\n {forgetPassword}\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({\r\n socialAccounts,\r\n items,\r\n}) => {\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = (props) => {\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('sign-in-password-icon');\r\n if (passwordState && iconElement) {\r\n passwordState.type =\r\n passwordState.type === 'password' ? 'text' : 'password';\r\n iconElement.className =\r\n iconElement.className === 'icon-show-password'\r\n ? 'icon-hide-password'\r\n : 'icon-show-password';\r\n }\r\n};\r\n\r\nexport default SignInView;\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 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 * as React from 'react';\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInSocialAccount, ISignInSocialItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n
\r\n {forgetPassword}\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({\r\n socialAccounts,\r\n items,\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('sign-in-password-icon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = passwordState.type === 'password' ? 'text' : 'password';\r\n iconElement.className = iconElement.className === 'icon-show-password' ? 'icon-hide-password' : 'icon-show-password';\r\n }\r\n};\r\n\r\nexport default SignInView;\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 * as React from 'react';\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInSocialAccount, ISignInSocialItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n
\r\n {forgetPassword}\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({\r\n socialAccounts,\r\n items,\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('sign-in-password-icon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = passwordState.type === 'password' ? 'text' : 'password';\r\n iconElement.className = iconElement.className === 'icon-show-password' ? 'icon-hide-password' :'icon-show-password';\r\n }\r\n};\r\n\r\nexport default SignInView;\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 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 \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/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 {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 { 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","/*---------------------------------------------------------------------------------------------\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","/*---------------------------------------------------------------------------------------------\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;","export const apiToken: string = 'cd6dd0b2c43c360ae4d59b5147d52fd3';","import * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { apiToken } from './get-wine-api-token';\r\n\r\n/**\r\n * Class Definition for constructing the wine location query\r\n */\r\nexport class GetWineFilterable extends Msdyn365.CommerceEntityInput implements Msdyn365.IActionInput {\r\n\r\n public queryFilters: Filters;\r\n\r\n private readonly _token: string = apiToken;\r\n\r\n // TODO: Determine if the results of this get action should cache the results and if so provide\r\n // a cache object type and an appropriate cache key\r\n constructor(filters: Filters) {\r\n super({\r\n dataCacheType: 'request',\r\n cacheObjectType: 'IGetWineLocationData',\r\n cacheKey: JSON.stringify(filters)\r\n });\r\n this.queryFilters = filters;\r\n return this;\r\n }\r\n\r\n get token(): string {\r\n return this._token;\r\n }\r\n\r\n /**\r\n * generates an http styled query string to append to the end of a url\r\n *\r\n * @returns http query string\r\n */\r\n public filtersToHTTPQueryString(): string {\r\n let queryString = '';\r\n Object.keys(this.queryFilters).forEach(queryKey => {\r\n const queryValue = this.queryFilters[queryKey];\r\n queryString += `${queryKey}=${queryValue}&`;\r\n });\r\n queryString = queryString.substr(0, queryString.length - 1);\r\n return (queryString.length > 0) ? `?${queryString}` : '';\r\n }\r\n}","/**\r\n * Class definition for the output controller of the API. Acts as a middle layer\r\n * and ensures that the data stays consistent internally\r\n */\r\nexport class WineMapper {\r\n protected _input: Input;\r\n constructor(input: Input) {\r\n this._input = input;\r\n }\r\n\r\n protected _applyMap(\r\n inputData: data,\r\n inputMap: map\r\n ): T {\r\n const mappedOutput = {};\r\n Object.keys(inputMap).forEach(key => {\r\n mappedOutput[key] = inputData[inputMap[key]];\r\n });\r\n return mappedOutput;\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 * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { GetWineFilterable } from './get-wine-filterable-class';\r\nimport { WineMapper } from './get-wine-mapper-class';\r\n\r\n/**\r\n * GetWineInternationalLocation Input Action\r\n */\r\n\r\nexport class GetWineInternationalLocationInput extends GetWineFilterable {\r\n\r\n private readonly _url: string = 'https://api.smwe.com';\r\n\r\n public get url(): string {\r\n const { brand_code, country } = this.queryFilters;\r\n\r\n const fullUrl = `${this._url}/v1/${brand_code}/distributors?country=${country}`;\r\n if (!brand_code) {\r\n console.error('Brand Code is not declared. This is required for the module to do calls');\r\n }\r\n return fullUrl;\r\n }\r\n}\r\n\r\n// =============================================================================\r\n// MAPPER\r\n// =============================================================================\r\n\r\nenum GetWineInternationalLocationMap {\r\n totalResults = 'total_results',\r\n totalPages = 'total_pages',\r\n page = 'page'\r\n}\r\n\r\nenum GetWineInternationalLocationDistributorMap {\r\n jdeDistributorNumber = 'jde_distributor_number',\r\n brandCode = 'brand_code',\r\n name = 'name',\r\n city = 'city',\r\n state = 'state',\r\n zip = 'zip',\r\n phone = 'phone',\r\n url = 'url'\r\n}\r\n\r\nenum GetWineInternationalLocationCountryMap {\r\n iso = 'iso',\r\n name = 'name',\r\n printableName = 'printable_name',\r\n iso3 = 'iso3',\r\n numCode = 'numcode'\r\n}\r\n\r\n/**\r\n * Class definition for the output controller of the API. Acts as a middle layer\r\n * and ensures that the data stays consistent internally\r\n */\r\nclass GetWineLocationInternationalMapper extends WineMapper {\r\n public get output(): IGetWineInternationalLocationOutput {\r\n const output: IGetWineInternationalLocationOutput = {\r\n data: [],\r\n totalPages: this._input[GetWineInternationalLocationMap.totalPages],\r\n totalResults: this._input[GetWineInternationalLocationMap.totalResults],\r\n page: this._input[GetWineInternationalLocationMap.page]\r\n };\r\n\r\n this._input.distributors.forEach(distributor => {\r\n const distributorOutput =\r\n this._applyMap(distributor, GetWineInternationalLocationDistributorMap);\r\n distributorOutput.country =\r\n this._applyMap(distributor.country, GetWineInternationalLocationCountryMap);\r\n output.data.push(distributorOutput);\r\n });\r\n return output;\r\n }\r\n}\r\n\r\n// =============================================================================\r\n// INTERFACES\r\n// =============================================================================\r\n\r\nexport interface IGetWineInternationalQueryFilters {\r\n brand_code?: string;\r\n country: string;\r\n pagination?: boolean;\r\n page?: number;\r\n per_page?: number;\r\n}\r\n\r\n// =============================================================================\r\n// OUTPUT INTERFACES\r\n// =============================================================================\r\n\r\nexport interface IGetWineInternationalLocationOutput {\r\n totalResults: number;\r\n totalPages: number;\r\n page: number;\r\n data: IGetWineInternationalDistributorOuput[];\r\n}\r\n\r\nexport interface IGetWineInternationalDistributorOuput {\r\n jdeDistributorNumber: number;\r\n brandCode: string;\r\n name: string;\r\n city: string;\r\n state: string;\r\n country: IGetWineInternationalDistributorCountryOutput;\r\n zip: string;\r\n phone: string;\r\n url: string;\r\n}\r\n\r\ninterface IGetWineInternationalDistributorCountryOutput {\r\n iso: string;\r\n name: string;\r\n printableName: string;\r\n iso3: string;\r\n numCode: number;\r\n}\r\n\r\n// =============================================================================\r\n// INPUT INTERFACES\r\n// =============================================================================\r\n\r\ninterface IGetWineInternationalLocationInput {\r\n total_results: number;\r\n total_pages: number;\r\n distributors: IGetWineInternationalDistributorInput[];\r\n}\r\n\r\ninterface IGetWineInternationalDistributorInput {\r\n jde_distributor_number: number;\r\n brand_code: string;\r\n name: string;\r\n city: string;\r\n state: string;\r\n country: IGetWineInternationalDistributorCountryInput;\r\n zip: string;\r\n phone: string;\r\n url: string;\r\n}\r\n\r\ninterface IGetWineInternationalDistributorCountryInput {\r\n iso: string;\r\n name: string;\r\n printable_name: string;\r\n iso3: string;\r\n numcode: number;\r\n}\r\n\r\n/**\r\n * TODO: Use this function to create the input required to make the API call\r\n */\r\nconst createWineInternationalLocationInput =\r\n (args: Msdyn365.ICreateActionContext): Msdyn365.IActionInput => {\r\n if (!args.config) {\r\n throw new Error(`[createWineInternationalLocationInput] configuration was invalid: ${args.config}`);\r\n }\r\n return new GetWineInternationalLocationInput(args.config);\r\n };\r\n\r\n/**\r\n * TODO: Use this function to call your API and process the results as needed\r\n */\r\nasync function action(input: GetWineInternationalLocationInput, ctx: Msdyn365.IActionContext): Promise {\r\n const apiSettings = Msdyn365.msdyn365Commerce.apiSettings;\r\n\r\n const response = await Msdyn365.sendRequest(input.url, 'get', apiSettings, {\r\n headers: {\r\n Authorization: `Token token=\"${input.token}\"`\r\n }\r\n });\r\n return new GetWineLocationInternationalMapper(response.data).output;\r\n}\r\n\r\nexport default Msdyn365.createDataAction({\r\n action: >action,\r\n input: createWineInternationalLocationInput\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 * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { GetWineFilterable } from './get-wine-filterable-class';\r\nimport { WineMapper } from './get-wine-mapper-class';\r\n\r\n// =============================================================================\r\n// API CONSTRUCTION\r\n// =============================================================================\r\n/**\r\n * Class Definition for constructing the wine location query\r\n */\r\nexport class GetWineLocationInput extends GetWineFilterable {\r\n\r\n private readonly _url: string = 'https://api.smwe.com/v1/XXX/retailers';\r\n\r\n get url(): string {\r\n return this._url;\r\n }\r\n}\r\n\r\n// =============================================================================\r\n// API MAPPER\r\n// =============================================================================\r\n\r\nenum GetWineLocationMap {\r\n totalResults = 'total_results',\r\n totalPages = 'total_pages',\r\n page = 'page'\r\n}\r\n\r\nenum GetWineLocationRetailerMap {\r\n code = 'code',\r\n name = 'name',\r\n address = 'address',\r\n city = 'city',\r\n state = 'state',\r\n zip = 'zip',\r\n lon = 'lon',\r\n lat = 'lat',\r\n onPremise = 'on_premise',\r\n distance = 'distance'\r\n}\r\n\r\nenum GetWineLocationProductMap {\r\n productKey = 'product_key',\r\n brandCode = 'brand_code',\r\n productCode = 'product_code',\r\n description = 'description',\r\n}\r\n\r\n/**\r\n * Class definition for the output controller of the API. Acts as a middle layer\r\n * and ensures that the data stays consistent internally\r\n */\r\nclass GetWineLocationMapper extends WineMapper {\r\n public get output(): IGetWineLocationDataOutput {\r\n const output: IGetWineLocationDataOutput = {\r\n data: [],\r\n totalPages: this._input[GetWineLocationMap.totalPages],\r\n totalResults: this._input[GetWineLocationMap.totalResults],\r\n page: this._input[GetWineLocationMap.page]\r\n };\r\n\r\n this._input.retailers.forEach(retailer => {\r\n const retailerProducts: IGetWineLocationProductOutput[] = [];\r\n const mappedRetailer =\r\n this._applyMap(retailer, GetWineLocationRetailerMap);\r\n mappedRetailer.products = retailerProducts;\r\n output.data.push(mappedRetailer);\r\n\r\n retailer.products.forEach(product => {\r\n retailerProducts.push(\r\n this._applyMap(product, GetWineLocationProductMap)\r\n );\r\n });\r\n });\r\n\r\n return output;\r\n }\r\n}\r\n\r\n// =============================================================================\r\n// WINE LOCATION INTERFACE OUTPUT\r\n// =============================================================================\r\n\r\nexport interface IGetWineLocationDataOutput {\r\n 'totalResults': number;\r\n 'totalPages': number;\r\n 'page': number;\r\n 'data': IGetWineLocationRetailerOutput[];\r\n}\r\n\r\nexport interface IGetWineLocationRetailerOutput {\r\n 'code': number;\r\n 'name': string;\r\n 'address': string;\r\n 'city': string;\r\n 'state': string;\r\n 'zip': string;\r\n 'lon': number;\r\n 'lat': number;\r\n 'onPremise': boolean;\r\n 'distance': number;\r\n 'products': IGetWineLocationProductOutput[];\r\n}\r\n\r\nexport interface IGetWineLocationProductOutput {\r\n 'productKey': string;\r\n 'brandCode': string;\r\n 'productCode': string;\r\n 'description': string;\r\n}\r\n\r\n// =============================================================================\r\n// WINE LOCATION INTERFACE INPUT\r\n// =============================================================================\r\n\r\ninterface IGetWineLocationDataInput {\r\n 'total_results': number;\r\n 'total_pages': number;\r\n 'page': number;\r\n 'retailers': IGetWineLocationRetailerInput[];\r\n}\r\n\r\ninterface IGetWineLocationRetailerInput {\r\n 'code': number;\r\n 'name': string;\r\n 'address': string;\r\n 'city': string;\r\n 'state': string;\r\n 'zip': string;\r\n 'lon': number;\r\n 'lat': number;\r\n 'on_premise': boolean;\r\n 'distance': number;\r\n 'products': IGetWineLocationProductInput[];\r\n}\r\n\r\ninterface IGetWineLocationProductInput {\r\n 'product_key': string;\r\n 'brand_code': string;\r\n 'product_code': string;\r\n 'description': string;\r\n}\r\n\r\n/**\r\n * query filter definition\r\n */\r\nexport interface IGetWineLocationQueryFilters {\r\n product?: string;\r\n brand?: string;\r\n radius?: number;\r\n pagination?: boolean;\r\n page?: number;\r\n per_page?: number;\r\n on_premise?: boolean;\r\n location: string;\r\n}\r\n\r\n// =============================================================================\r\n// CREATE INPUT\r\n// =============================================================================\r\n/**\r\n * constructs a wine location query and returns it to the action\r\n */\r\nconst createWineLocationInput = (args: Msdyn365.ICreateActionContext): Msdyn365.IActionInput => {\r\n if (!args.config) { throw new Error(`[createWineLocationInput] configuration was invalid: ${args.config}`); }\r\n return new GetWineLocationInput(args.config);\r\n};\r\n\r\n// =============================================================================\r\n// RUN INPUT / ACTION\r\n// =============================================================================\r\n/**\r\n * api runner\r\n * @returns the location data\r\n */\r\nasync function getWineLocationAction(input: GetWineLocationInput, ctx: Msdyn365.IActionContext): Promise {\r\n const apiSettings = Msdyn365.msdyn365Commerce.apiSettings;\r\n\r\n // query request and return response full of locations to purchase wine\r\n const response = await Msdyn365.sendRequest(`${input.url}${input.filtersToHTTPQueryString()}`, 'get', apiSettings, {\r\n headers: {\r\n Authorization: `Token token=\"${input.token}\"`\r\n }\r\n });\r\n return new GetWineLocationMapper(response.data).output;\r\n}\r\n\r\nexport default Msdyn365.createDataAction({\r\n action: >getWineLocationAction,\r\n input: createWineLocationInput\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 * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { GetWineFilterable } from './get-wine-filterable-class';\r\n\r\n/**\r\n * query filter definition\r\n */\r\nexport interface IGetWineProductQueryFilters {\r\n brand?: string;\r\n}\r\n\r\n/**\r\n * GetWineProducts Input Action\r\n */\r\n\r\nexport class GetWineProductsInput extends GetWineFilterable {\r\n\r\n private readonly _url: string = 'https://api.smwe.com';\r\n\r\n public get url(): string {\r\n const { brand } = this.queryFilters;\r\n\r\n const fullUrl = `${this._url}/v1/${brand}/products`;\r\n if (!brand) {\r\n console.error('Brand Code is not declared. This is required for the module to do calls');\r\n }\r\n return fullUrl;\r\n }\r\n}\r\n\r\nexport interface IGetWineProductsData {\r\n product_key: string;\r\n brand_code: string;\r\n product_code: string;\r\n description: string;\r\n}\r\n\r\nexport interface IGetWineCountriesDataOutput {\r\n iso: string;\r\n iso3: string;\r\n name: string;\r\n printableName: string;\r\n numCode: number;\r\n}\r\n\r\nconst createInput = (args: Msdyn365.ICreateActionContext): Msdyn365.IActionInput => {\r\n if (!args.config) { throw new Error(`[createWineProductsInput] configuration was invalid: ${args.config}`); }\r\n return new GetWineProductsInput(args.config);\r\n};\r\n\r\n/**\r\n * action that retrieves the list of wine products\r\n */\r\nasync function action(input: GetWineProductsInput, ctx: Msdyn365.IActionContext): Promise {\r\n const apiSettings = Msdyn365.msdyn365Commerce.apiSettings;\r\n\r\n const response = await Msdyn365.sendRequest(input.url, 'get', apiSettings, {\r\n headers: {\r\n Authorization: `Token token=\"${input.token}\"`\r\n }\r\n });\r\n return response.data;\r\n}\r\n\r\nexport default Msdyn365.createDataAction({\r\n action: >action,\r\n input: createInput\r\n});\r\n","import { observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nexport type FindWineDropdownItem = { label: string | number; value: string | number };\r\n\r\ninterface IFindWineDropdownMenuProps {\r\n itemList: FindWineDropdownItem[];\r\n defaultValue?: string;\r\n id?: string;\r\n onChange(newItem: FindWineDropdownItem | undefined): unknown;\r\n}\r\n\r\n/**\r\n * class definition for creating a dropdown menu for the wine page\r\n */\r\n@observer\r\nexport class FindWineDropdownMenu extends React.Component {\r\n\r\n /**\r\n * field representation on the current value of what is selected\r\n */\r\n @observable private _value: string = this.props.defaultValue || '';\r\n public constructor(props: IFindWineDropdownMenuProps) {\r\n super(props);\r\n\r\n this._handleOnChange = this._handleOnChange.bind(this);\r\n }\r\n\r\n public render(): JSX.Element {\r\n let items = this._constructItems();\r\n if (!this._value) {\r\n items = [\r\n (\r\n \r\n {'Select Country'}\r\n \r\n )\r\n , ...items];\r\n }\r\n return (\r\n \r\n );\r\n }\r\n\r\n /**\r\n * handles for changing selection\r\n *\r\n * @param event change event\r\n */\r\n private _handleOnChange(event: React.ChangeEvent): void {\r\n const newItem = this.props.itemList.find(item => event.target.value === item.value.toString());\r\n this._value = event.target.value;\r\n this.props.onChange(newItem);\r\n }\r\n\r\n /**\r\n * constructs a list of JSX elements representing options for a select tag\r\n */\r\n private _constructItems(): JSX.Element[] {\r\n return this.props.itemList.map(\r\n (item, index) => {\r\n const isAriaSelected = item.value === this._value;\r\n return (\r\n \r\n {item.label}\r\n \r\n );\r\n }\r\n );\r\n }\r\n}","import { observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport { IGetWineLocationQueryFilters } from './actions/get-wine-location';\r\nimport { IGetWineProductsData } from './actions/get-wine-products';\r\nimport { FindWineDropdownItem, FindWineDropdownMenu } from './wine-finder-dropdown-menu';\r\nimport { IPlaceholdersData, IWineFinderFormConfig, IWineFinderFormResources } from './wine-finder-form.props.autogenerated';\r\n\r\ninterface IWineFinderQueryLocationProps {\r\n defaultRadius: number;\r\n resources: IWineFinderFormResources;\r\n displayFilters: boolean;\r\n placeholders?: IPlaceholdersData;\r\n config: IWineFinderFormConfig;\r\n products: IGetWineProductsData[] | undefined;\r\n active?: boolean;\r\n onQuerySearch(filters: IGetWineLocationQueryFilters): unknown;\r\n}\r\n\r\n/**\r\n * Class definition responsible for generating valid queries for getting wine\r\n */\r\n@observer\r\nclass WineFinderQueryLocation extends React.Component {\r\n\r\n // =========================================================================\r\n // OBSERVABLES AND FIELDS\r\n // =========================================================================\r\n\r\n /**\r\n * field representing the location being typed in by the user\r\n */\r\n @observable private _queryLocation: string = '';\r\n\r\n /**\r\n * field represneting the radius or furthest distance from the location\r\n * typed in by the user\r\n */\r\n @observable private _queryRadius: number = 5;\r\n\r\n @observable private _allowRetail: boolean = false;\r\n @observable private _allowRestaurant: boolean = false;\r\n\r\n /**\r\n * keeps the selected product in the wine product dropdownlist\r\n */\r\n @observable private _product: string = '';\r\n\r\n /**\r\n * list of choosable radii to select in dropdown menu\r\n */\r\n private _queryRadii: number[] = [5, 10, 20, 50];\r\n\r\n // =========================================================================\r\n // PUBLIC METHODS\r\n // =========================================================================\r\n\r\n public constructor(props: IWineFinderQueryLocationProps) {\r\n super(props);\r\n this._handleQueryLocationChange = this._handleQueryLocationChange.bind(this);\r\n this._handleSearchRadiusChange = this._handleSearchRadiusChange.bind(this);\r\n this._toggleRetail = this._toggleRetail.bind(this);\r\n this._toggleRestaurant = this._toggleRestaurant.bind(this);\r\n this._doQuery = this._doQuery.bind(this);\r\n this._handleOnChange = this._handleOnChange.bind(this);\r\n\r\n this._allowRetail = !!props.config.defaultFilters?.retail;\r\n this._allowRestaurant = !!props.config.defaultFilters?.restaurant;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const itemList = this._queryRadii.map(radii => { return { label: radii, value: radii }; });\r\n const allowRadiiDisplay = this.props.defaultRadius === 0;\r\n const {\r\n resources: {\r\n wineFinder__domesticTitle,\r\n wineFinder__domesticSearchRadiusLabel,\r\n wineFinder__retailFilterText,\r\n wineFinder__restaurantFilterText\r\n }\r\n } = this.props;\r\n const { domesticSearch, enablePlaceholders } = this.props.placeholders || {};\r\n const isActive = this.props.active || false;\r\n\r\n const cssClass = isActive?'find-wine-query active':'find-wine-query';\r\n\r\n return (\r\n
\r\n
\r\n

{wineFinder__domesticTitle}

\r\n \r\n {enablePlaceholders ? domesticSearch : ''}\r\n \r\n \r\n {allowRadiiDisplay &&\r\n
\r\n \r\n {wineFinder__domesticSearchRadiusLabel}\r\n\r\n \r\n \r\n
\r\n }\r\n {this.props.config.showChooseWineInput && this._renderProductsDropdownList()}\r\n {\r\n (this.props.displayFilters && this._hasFilterActive) &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n \r\n
\r\n {(this._isInvalid() && this._queryLocation.length >= 5) &&
{'Zip Code is invalid'}
}\r\n
\r\n );\r\n }\r\n\r\n // =========================================================================\r\n // PRIVATE METHODS\r\n // =========================================================================\r\n\r\n /**\r\n * process to send the query with appropriate fields to the parent component\r\n */\r\n private _doQuery(): undefined {\r\n let queryRadius = this.props.defaultRadius;\r\n if (queryRadius === 0) {\r\n queryRadius = this._queryRadius;\r\n }\r\n\r\n const filters: IGetWineLocationQueryFilters = {\r\n location: this._queryLocation,\r\n radius: queryRadius,\r\n on_premise: this._allowRestaurant\r\n };\r\n\r\n // if both are checked or both are unchecked search for everything\r\n if (this._allowRestaurant === this._allowRetail) {\r\n delete filters.on_premise;\r\n }\r\n\r\n if (!this._hasFilterActive) {\r\n const { filterState } = this.props.config;\r\n\r\n // idea here is essentially the author has forced the premise type boolean\r\n // through the configuration state by disabling all adjustable filters. thats\r\n // why logic looks small\r\n filters.on_premise = !!filterState?.restaurantActive;\r\n\r\n // just to make sure that it returns everything if both are unchecked\r\n if (!filterState?.restaurantActive && !filterState?.retailActive) {\r\n delete filters.on_premise;\r\n }\r\n }\r\n\r\n if (this.props.config.showChooseWineInput && this._product) {\r\n filters.product = this._product;\r\n }\r\n\r\n this.props.onQuerySearch(filters);\r\n return undefined;\r\n }\r\n\r\n private get _hasFilterActive(): boolean {\r\n const { filterState } = this.props.config;\r\n return !!(filterState?.restaurantActive && filterState?.retailActive);\r\n }\r\n\r\n /**\r\n * handles changes for the radius\r\n */\r\n private _handleSearchRadiusChange(item: FindWineDropdownItem | undefined): void {\r\n if (item) {\r\n this._queryRadius = Number(item.value);\r\n }\r\n }\r\n\r\n private _toggleRetail(): void {\r\n this._allowRetail = !this._allowRetail;\r\n }\r\n\r\n private _toggleRestaurant(): void {\r\n this._allowRestaurant = !this._allowRestaurant;\r\n }\r\n\r\n /**\r\n * handles changes for the location entered\r\n */\r\n private _handleQueryLocationChange(event: React.ChangeEvent): void {\r\n this._queryLocation = event.target.value;\r\n return undefined;\r\n }\r\n\r\n private _isInvalid(): boolean {\r\n const regex = /^\\d{5}$/;\r\n return (!regex.test(this._queryLocation));\r\n }\r\n\r\n /**\r\n * Display a Wine products dropdownlist\r\n */\r\n private _renderProductsDropdownList(): JSX.Element {\r\n return(\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n /**\r\n * handles for changing selection on the wine products dropdownlist\r\n *\r\n * @param event change event\r\n */\r\n private _handleOnChange(event: React.ChangeEvent): void {\r\n this._product = event.target.value;\r\n }\r\n\r\n // Render dropdown options from array.\r\n private _renderProductOptions(): JSX.Element[] {\r\n const options: IGetWineProductsData[] | undefined = this.props.products ? this.props.products : [];\r\n return options.map((option, index) => {\r\n return (\r\n \r\n {option.description}\r\n \r\n );\r\n });\r\n }\r\n}\r\n\r\nexport default WineFinderQueryLocation;\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 * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { apiToken } from './get-wine-api-token';\r\nimport { WineMapper } from './get-wine-mapper-class';\r\n\r\n/**\r\n * GetWineCountries Input Action\r\n */\r\n\r\nexport class GetWineCountriesInput extends Msdyn365.CommerceEntityInput implements Msdyn365.IActionInput {\r\n\r\n private readonly _url: string = 'https://api.smwe.com/v1/SLR/countries';\r\n\r\n private readonly _token: string = apiToken;\r\n\r\n constructor() {\r\n super({ shouldCacheOutput: true, cacheObjectType: 'IGetWineCountriesData', cacheKey: 'SINGLE' });\r\n }\r\n\r\n public get url(): string { return this._url; }\r\n public get token(): string { return this._token; }\r\n}\r\n\r\nenum IGetWineCountriesMap {\r\n iso = 'iso',\r\n iso3 = 'iso3',\r\n name = 'name',\r\n printableName = 'printable_name',\r\n numCode = 'numcode'\r\n}\r\n\r\n/**\r\n * class definition for the output controller of the API\r\n */\r\nclass GetWineCountriesMapper extends WineMapper {\r\n public get output(): IGetWineCountriesDataOutput[] {\r\n return this._input.map(country => {\r\n return this._applyMap<\r\n IGetWineCountriesDataOutput,\r\n IGetWineCountriesData,\r\n typeof IGetWineCountriesMap\r\n >(country, IGetWineCountriesMap);\r\n });\r\n }\r\n}\r\n\r\nexport interface IGetWineCountriesData {\r\n iso: string;\r\n iso3: string;\r\n name: string;\r\n printable_name: string;\r\n numcode: number;\r\n}\r\n\r\nexport interface IGetWineCountriesDataOutput {\r\n iso: string;\r\n iso3: string;\r\n name: string;\r\n printableName: string;\r\n numCode: number;\r\n}\r\n\r\nconst createInput = (args: Msdyn365.ICreateActionContext): Msdyn365.IActionInput => {\r\n return new GetWineCountriesInput();\r\n};\r\n\r\n/**\r\n * action that retrieves the list of countries\r\n */\r\nasync function action(input: GetWineCountriesInput, ctx: Msdyn365.IActionContext): Promise {\r\n const apiSettings = Msdyn365.msdyn365Commerce.apiSettings;\r\n\r\n const response = await Msdyn365.sendRequest(input.url, 'get', apiSettings, {\r\n headers: {\r\n Authorization: `Token token=\"${input.token}\"`\r\n }\r\n });\r\n return new GetWineCountriesMapper(response.data).output;\r\n}\r\n\r\nexport default Msdyn365.createDataAction({\r\n action: >action,\r\n input: createInput\r\n});\r\n","import { IActionContext } from '@msdyn365-commerce/core';\r\nimport { observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport WineCountries, { GetWineCountriesInput, IGetWineCountriesDataOutput } from './actions/get-wine-countries';\r\nimport { IGetWineInternationalQueryFilters } from './actions/get-wine-international-location';\r\nimport { FindWineDropdownItem, FindWineDropdownMenu } from './wine-finder-dropdown-menu';\r\nimport { IWineFinderFormResources } from './wine-finder-form.props.autogenerated';\r\n\r\ninterface IWineFinderQueryLocationInternational {\r\n actionContext: IActionContext;\r\n resources: IWineFinderFormResources;\r\n submitText: string | undefined;\r\n active?: boolean;\r\n onQuerySearch(filters: IGetWineInternationalQueryFilters): unknown;\r\n}\r\n/**\r\n * class definition for the component responsible for querying internationally\r\n */\r\n@observer\r\nclass WineFinderQueryLocationInternational extends React.Component {\r\n\r\n /**\r\n * field representing the country key currently selected by the selector\r\n */\r\n @observable private _selectedCountry: string | undefined;\r\n\r\n @observable private _countries: IGetWineCountriesDataOutput[] = [];\r\n\r\n constructor(props: IWineFinderQueryLocationInternational) {\r\n super(props);\r\n\r\n this._handleCountrySelectionChange = this._handleCountrySelectionChange.bind(this);\r\n this._doQuery = this._doQuery.bind(this);\r\n\r\n }\r\n\r\n public componentDidMount(): void {\r\n this._queryCountries().catch(err => console.warn(err));\r\n }\r\n\r\n public render(): JSX.Element {\r\n const itemList = this._countries.map(country => {\r\n return {\r\n label: country.name,\r\n value: country.iso\r\n } as FindWineDropdownItem;\r\n });\r\n\r\n const {\r\n wineFinder__internationalTitle,\r\n wineFinder__internationalCountryLabel\r\n } = this.props.resources;\r\n const isActive = this.props.active || false;\r\n\r\n const cssClass = isActive?'find-wine-query-int active':'find-wine-query-int';\r\n\r\n return (\r\n
\r\n

{wineFinder__internationalTitle}

\r\n \r\n {wineFinder__internationalCountryLabel}\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n /**\r\n * triggers the api call for country\r\n */\r\n private _doQuery(): void {\r\n if (!this._isInvalid) {\r\n this.props.onQuerySearch({\r\n country: this._selectedCountry as string\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * sets the selected country to a new country code\r\n *\r\n * @param newCountry new country to switch to\r\n */\r\n private _handleCountrySelectionChange(newCountry: FindWineDropdownItem | undefined): void {\r\n if (newCountry) {\r\n this._selectedCountry = newCountry.value as string;\r\n }\r\n }\r\n\r\n private get _isInvalid(): boolean {\r\n return !this._selectedCountry;\r\n }\r\n\r\n private async _queryCountries(): Promise {\r\n const input = new GetWineCountriesInput();\r\n const countries = await WineCountries(input, this.props.actionContext);\r\n this._countries = countries;\r\n }\r\n}\r\n\r\nexport default WineFinderQueryLocationInternational;","/**\r\n * Copyright (c) Microsoft Corporation\r\n * All rights reserved. See License.txt in the project root for license information.\r\n * IWineFinderForm contentModule Interface Properties\r\n * THIS FILE IS AUTO-GENERATED - MANUAL MODIFICATIONS WILL BE LOST\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nexport const enum resultsDisplay {\r\n paginate = 'paginate',\r\n append = 'append'\r\n}\r\n\r\nexport const enum showProductsConfiguration {\r\n showButton = 'showButton',\r\n hideProductsHideButton = 'hideProductsHideButton',\r\n showProductsHideButton = 'showProductsHideButton'\r\n}\r\n\r\nexport interface IWineFinderFormConfig extends Msdyn365.IModuleConfig {\r\n perPage?: number;\r\n resultsDisplay?: resultsDisplay;\r\n singlePage?: boolean;\r\n brand?: string;\r\n title?: ITitleData;\r\n searchText?: Msdyn365.RichText;\r\n hideInternational?: boolean;\r\n searchRadius: number;\r\n showFilterButtons: boolean;\r\n showProductsConfiguration?: showProductsConfiguration;\r\n showChooseWineInput?: boolean;\r\n showAllProductsToggle?: boolean;\r\n showAllProductsLabel?: IShowAllProductsLabelData;\r\n showProductsLabel?: IShowProductsLabelData;\r\n placeholders?: IPlaceholdersData;\r\n defaultFilters?: IDefaultFiltersData;\r\n filterState?: IFilterStateData;\r\n wineFinderSubmit?: string;\r\n mapText?: string;\r\n hideNumbers?: boolean;\r\n USLabelText?: string;\r\n internationalLabelText?: string;\r\n}\r\n\r\nexport interface IWineFinderFormResources {\r\n wineFinder__internationalTitle: string;\r\n wineFinder__internationalCountryLabel: string;\r\n wineFinder__domesticTitle: string;\r\n wineFinder__domesticSearchRadiusLabel: string;\r\n wineFinder__backToFind: string;\r\n wineFinder__noResults: string;\r\n wineFinder__searchAgain: string;\r\n wineFinder__showMoreButton: string;\r\n wineFinder__showProducts: string;\r\n wineFinder__hideProducts: string;\r\n wineFinder__internationalWebsiteLabel: string;\r\n wineFinder__retailFilterText: string;\r\n wineFinder__restaurantFilterText: string;\r\n}\r\n\r\nexport const enum TitleTag {\r\n h1 = 'h1',\r\n h2 = 'h2',\r\n h3 = 'h3',\r\n h4 = 'h4',\r\n h5 = 'h5',\r\n h6 = 'h6'\r\n}\r\n\r\nexport interface ITitleData {\r\n text: string;\r\n tag?: TitleTag;\r\n}\r\n\r\nexport interface IShowAllProductsLabelData {\r\n hideAllProducts?: string;\r\n showAllProducts?: string;\r\n}\r\n\r\nexport interface IShowProductsLabelData {\r\n hideProducts?: string;\r\n showProducts?: string;\r\n}\r\n\r\nexport interface IPlaceholdersData {\r\n enablePlaceholders?: boolean;\r\n domesticSearch?: string;\r\n}\r\n\r\nexport interface IDefaultFiltersData {\r\n retail?: boolean;\r\n restaurant?: boolean;\r\n}\r\n\r\nexport interface IFilterStateData {\r\n retailActive?: boolean;\r\n restaurantActive?: boolean;\r\n}\r\n\r\nexport interface IWineFinderFormProps extends Msdyn365.IModule {\r\n resources: IWineFinderFormResources;\r\n config: IWineFinderFormConfig;\r\n}\r\n","import { observable, reaction, toJS } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport { IWineFinderFormConfig, IWineFinderFormResources, showProductsConfiguration } from './wine-finder-form.props.autogenerated';\r\n\r\ninterface IWineFinderWineDisplayProps {\r\n wines?: string[];\r\n resources: IWineFinderFormResources;\r\n config: IWineFinderFormConfig;\r\n allOpen: boolean;\r\n}\r\n\r\n/**\r\n * displays a list of wines\r\n */\r\n@observer\r\nclass WineFinderWineDisplay extends React.Component {\r\n @observable private _isOpen: boolean = false;\r\n\r\n private _wines?: string[];\r\n\r\n constructor(props: IWineFinderWineDisplayProps) {\r\n super(props);\r\n this._wines = props.wines;\r\n reaction(\r\n () => this.props.allOpen,\r\n (open) => {\r\n this._isOpen = open;\r\n }\r\n );\r\n\r\n this._closeToggle = this._closeToggle.bind(this);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const {\r\n hideProducts,\r\n showProducts\r\n } = this.props.config.showProductsLabel || {hideProducts:'Hide Products', showProducts:'Show Products'};\r\n return (\r\n
\r\n {\r\n this._showButton && \r\n {(this._isOpen) ? hideProducts : showProducts}\r\n \r\n }\r\n {this._renderWineList()}\r\n
\r\n );\r\n }\r\n\r\n private get _showButton(): boolean {\r\n return this.props.config.showProductsConfiguration === showProductsConfiguration.showButton;\r\n }\r\n\r\n private get _showProducts(): boolean {\r\n return this.props.config.showProductsConfiguration === showProductsConfiguration.showProductsHideButton;\r\n }\r\n\r\n private _closeToggle(): void {\r\n this._isOpen = !this._isOpen;\r\n }\r\n\r\n private _renderWineList(): JSX.Element | undefined {\r\n\r\n const list: string[] = toJS(this._wines) as string[];\r\n list.sort();\r\n\r\n const wineList = (\r\n
\r\n {list.map((wine, index) => (
{wine}
))}\r\n
\r\n );\r\n\r\n if (this._showProducts && this._wines) { return wineList; }\r\n\r\n if (!this._isOpen || !this._wines) {\r\n return;\r\n }\r\n\r\n return wineList;\r\n }\r\n}\r\n\r\nexport default WineFinderWineDisplay;\r\n","import * as React from 'react';\r\nimport { IWineFinderFormConfig, IWineFinderFormResources } from './wine-finder-form.props.autogenerated';\r\nimport WineFinderWineDisplay from './wine-finder-wine-display';\r\n\r\ninterface IFindWineItemProps {\r\n distance?: number;\r\n website?: string;\r\n phoneNumber?: string;\r\n location: string;\r\n name: string;\r\n numberInList?: number;\r\n type: 'international' | 'US';\r\n mapData?: {\r\n address: string;\r\n zip: string;\r\n };\r\n wines?: string[];\r\n config: IWineFinderFormConfig;\r\n resources: IWineFinderFormResources;\r\n allOpen: boolean;\r\n hideNumbers?: boolean;\r\n}\r\n\r\n/**\r\n * creates tsx for a single retailer, READ ONLY\r\n *\r\n * @param props data on retailers\r\n */\r\nexport const FindWineItem = (props: IFindWineItemProps): JSX.Element => {\r\n const hideNumbers = props.hideNumbers || false;\r\n if (props.type === 'US') {\r\n return (\r\n
\r\n

\r\n {!hideNumbers && `${props.numberInList}.`} {props.name}\r\n

\r\n
\r\n
{props.location}
\r\n
\r\n
{props.distance} miles
\r\n {props.config.mapText || 'Show Map'}\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n

{!hideNumbers && `${props.numberInList}.`} {props.name}

\r\n
\r\n
{props.location}
\r\n
{props.phoneNumber}
\r\n {\r\n // hack for getting the '↵' symbol when no website is here\r\n (props.website && props.website.length > 2) ? (\r\n \r\n {props.resources.wineFinder__internationalWebsiteLabel}\r\n \r\n ) : (
)\r\n }\r\n
\r\n
\r\n );\r\n }\r\n};","import React from 'react';\r\nimport {\r\n IGetWineInternationalDistributorOuput,\r\n IGetWineInternationalLocationOutput,\r\n IGetWineInternationalQueryFilters\r\n} from './actions/get-wine-international-location';\r\nimport {\r\n IGetWineLocationDataOutput,\r\n IGetWineLocationProductOutput,\r\n IGetWineLocationQueryFilters,\r\n IGetWineLocationRetailerOutput\r\n} from './actions/get-wine-location';\r\nimport { FindWineItem } from './wine-finder-display-item';\r\nimport { IWineFinderFormConfig, IWineFinderFormResources } from './wine-finder-form.props.autogenerated';\r\n\r\ntype wineResultContent = (IGetWineLocationRetailerOutput | IGetWineInternationalDistributorOuput)[];\r\n\r\ninterface IWineFinderScrollableProps {\r\n showMoreText: string;\r\n resultType: 'retailer' | 'distributor';\r\n queryFilters: IGetWineLocationQueryFilters | IGetWineInternationalQueryFilters;\r\n wineLocationData: IGetWineLocationDataOutput | IGetWineInternationalLocationOutput;\r\n wineResults: wineResultContent;\r\n config: IWineFinderFormConfig;\r\n resources: IWineFinderFormResources;\r\n allOpen: boolean;\r\n hideNumbers?: boolean;\r\n onGetMoreContent(filters: IGetWineLocationQueryFilters | IGetWineInternationalQueryFilters): Promise;\r\n}\r\n\r\n/**\r\n * uses a \"show more\" feature to add to the current wine results instead of\r\n * pagination\r\n */\r\nexport class WineFinderScrollable extends React.Component {\r\n\r\n constructor(props: IWineFinderScrollableProps) {\r\n super(props);\r\n\r\n this._onAddMore = this._onAddMore.bind(this);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const pageCount = this.props.wineLocationData.totalPages;\r\n const page = this.props.queryFilters.page || 1;\r\n return (\r\n
\r\n
\r\n {this._renderWineResults()}\r\n
\r\n {\r\n page < pageCount &&\r\n \r\n {this.props.showMoreText}\r\n \r\n }\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * renders a list of wine locations\r\n *\r\n * @returns array of JSX Elements to render\r\n */\r\n private _renderWineResults(): JSX.Element[] {\r\n const hideNumbers = this.props.hideNumbers || false;\r\n\r\n if (!this.props.wineResults.length) {\r\n return [(
{this.props.resources.wineFinder__noResults}
)];\r\n }\r\n\r\n if (this.props.resultType === 'retailer') {\r\n return (this.props.wineResults as IGetWineLocationRetailerOutput[]).\r\n map((retailer, key) =>\r\n (\r\n \r\n )\r\n );\r\n } else {\r\n // mapping function that returns an array of jsx retailers\r\n return (this.props.wineResults as IGetWineInternationalDistributorOuput[])\r\n .map((distributor) =>\r\n (\r\n \r\n )\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * returns the name of products, if it exists\r\n *\r\n * @param productArray array of wines\r\n */\r\n private _getProducts(productArray: IGetWineLocationProductOutput[]): string[] {\r\n return productArray.map(product => product.description);\r\n }\r\n\r\n private async _onAddMore(): Promise {\r\n await this.props.onGetMoreContent(this.props.queryFilters);\r\n }\r\n}","import * as React from 'react';\r\n\r\ninterface IWineFinderPagerProps {\r\n totalPages: number;\r\n currentPage: number;\r\n onPageChange(pageChange: number): undefined;\r\n}\r\n\r\n/**\r\n * Component responsible for rendering the pagination aspect of the get wine\r\n * page\r\n */\r\nclass WineFinderPager extends React.Component {\r\n\r\n // =========================================================================\r\n // PUBLIC METHODS\r\n // =========================================================================\r\n\r\n public render(): JSX.Element {\r\n\r\n const goAsMin = () => {\r\n this._goToMinMaxPage('min');\r\n };\r\n\r\n const goAsMax = () => {\r\n this._goToMinMaxPage('max');\r\n };\r\n\r\n return (\r\n
\r\n {/* tslint:disable-next-line: react-this-binding-issue */}\r\n \r\n {this._renderPages()}\r\n {/* tslint:disable-next-line: react-this-binding-issue */}\r\n \r\n
\r\n );\r\n }\r\n\r\n // =========================================================================\r\n // PRIVATE METHODS\r\n // =========================================================================\r\n\r\n private get _isFirstPagination(): boolean {\r\n return this.range.lower === 0;\r\n }\r\n\r\n private get _isLastPagination(): boolean {\r\n return this.range.higher === this.props.totalPages;\r\n }\r\n /**\r\n * jump to the lowest or highest page\r\n */\r\n private _goToMinMaxPage(minOrMax: 'min' | 'max'): void {\r\n if (minOrMax === 'min') {\r\n this.props.onPageChange(1);\r\n } else {\r\n this.props.onPageChange(this.props.totalPages);\r\n }\r\n }\r\n\r\n /**\r\n * get the range (in bounds) of what indexes are to be rendered\r\n *\r\n * @returns bounds\r\n */\r\n private get range(): { lower: number; higher: number } {\r\n const currentPage = Number(this.props.currentPage);\r\n const lowerBound = Math.max(0, currentPage - 3);\r\n const higherBound = Math.min(this.props.totalPages, lowerBound + 5);\r\n return { lower: lowerBound, higher: higherBound };\r\n }\r\n\r\n /**\r\n * returns JSX elements representing a list of pages clickable and to go to\r\n */\r\n private _renderPages(): JSX.Element[] {\r\n const range = this.range;\r\n return Array(range.higher - range.lower).fill(0).map((value, index) => {\r\n const pageValue = range.lower + index + 1;\r\n if (pageValue === Number(this.props.currentPage)) {\r\n return (\r\n // tslint:disable-next-line: jsx-no-lambda react-this-binding-issue\r\n \r\n );\r\n } else {\r\n return (\r\n // tslint:disable-next-line: jsx-no-lambda react-this-binding-issue\r\n \r\n );\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default WineFinderPager;","//import { observable, toJS } from 'mobx';\r\n//import { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport { IGetWineInternationalLocationOutput, IGetWineInternationalQueryFilters } from './actions/get-wine-international-location';\r\nimport { IGetWineLocationDataOutput, IGetWineLocationProductOutput, IGetWineLocationQueryFilters } from './actions/get-wine-location';\r\nimport { FindWineItem } from './wine-finder-display-item';\r\nimport { IWineFinderFormConfig, IWineFinderFormResources } from './wine-finder-form.props.autogenerated';\r\nimport WineFinderPager from './wine-finder-pager';\r\n\r\ninterface IWineFinderResultsProps {\r\n resultType: 'retailer' | 'distributor';\r\n queryFilters: IGetWineLocationQueryFilters | IGetWineInternationalQueryFilters;\r\n wineLocation: IGetWineLocationDataOutput | IGetWineInternationalLocationOutput;\r\n resources: IWineFinderFormResources;\r\n config: IWineFinderFormConfig;\r\n allOpen: boolean;\r\n hideNumbers?: boolean;\r\n onPageChange(filters: IGetWineLocationQueryFilters | IGetWineInternationalQueryFilters): void;\r\n}\r\n\r\n/**\r\n * displays results from a get wine location query\r\n */\r\nclass WineFinderResults extends React.Component {\r\n\r\n // =========================================================================\r\n // PUBLIC METHODS\r\n // =========================================================================\r\n\r\n public constructor(props: IWineFinderResultsProps) {\r\n super(props);\r\n\r\n this._handlePageChange = this._handlePageChange.bind(this);\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n
\r\n
\r\n {this._renderWineLocations()}\r\n
\r\n
\r\n {\r\n this.props.wineLocation.data.length &&\r\n
Displaying {this.props.wineLocation.page} of {this.props.wineLocation.totalPages} pages
\r\n\r\n }\r\n {\r\n this.props.wineLocation.data.length &&\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 * handler for changing page\r\n *\r\n * @param pageChange the number that the page will change to\r\n */\r\n private _handlePageChange(pageChange: number): undefined {\r\n const newQuery = this.props.queryFilters;\r\n newQuery.page = pageChange;\r\n this.props.onPageChange(newQuery);\r\n return undefined;\r\n }\r\n\r\n /**\r\n * renders a list of wine locations\r\n *\r\n * @returns array of JSX Elements to render\r\n */\r\n private _renderWineLocations(): JSX.Element[] {\r\n const hideNumbers = this.props.hideNumbers || false;\r\n if (!this.props.wineLocation.data.length) {\r\n return [(
{this.props.resources.wineFinder__noResults}
)];\r\n }\r\n switch (this.props.resultType) {\r\n case 'retailer':\r\n return (this.props.wineLocation as IGetWineLocationDataOutput).data.\r\n map((retailer, key) =>\r\n (\r\n \r\n )\r\n );\r\n default:\r\n // mapping function that returns an array of jsx retailers\r\n return (this.props.wineLocation as IGetWineInternationalLocationOutput).data\r\n .map((distributor) =>\r\n (\r\n \r\n )\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * returns the name of products, if it exists\r\n *\r\n * @param productArray array of wines\r\n */\r\n private _getProducts(productArray: IGetWineLocationProductOutput[]): string[] {\r\n return productArray.map(product => product.description);\r\n }\r\n}\r\n\r\nexport default WineFinderResults;","/*---------------------------------------------------------------------------------------------\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 * as React from 'react';\r\n\r\nimport { Heading } from '@msdyn365-commerce-modules/utilities';\r\nimport { RichTextComponent } from '@msdyn365-commerce/core';\r\nimport { observable, reaction } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport GetInternationalWineLocation, { GetWineInternationalLocationInput, IGetWineInternationalDistributorOuput, IGetWineInternationalLocationOutput, IGetWineInternationalQueryFilters } from './actions/get-wine-international-location';\r\nimport GetWineLocation, { GetWineLocationInput, IGetWineLocationDataOutput, IGetWineLocationQueryFilters, IGetWineLocationRetailerOutput } from './actions/get-wine-location';\r\nimport getWineProducts, { GetWineProductsInput, IGetWineProductQueryFilters, IGetWineProductsData } from './actions/get-wine-products';\r\nimport { IWineFinderFormConfig, IWineFinderFormProps } from './wine-finder-form.props.autogenerated';\r\nimport WineFinderQueryLocation from './wine-finder-query-location';\r\nimport WineFinderQueryLocationInternational from './wine-finder-query-location-international';\r\nimport { WineFinderScrollable } from './wine-finder-scrollable';\r\nimport WineFinderResults from './wine-finder-wine-results';\r\n\r\n// =============================================================================\r\n// INTERFACES AND CONSTANTS\r\n// =============================================================================\r\nconst enum selectedTab {\r\n us = 'us',\r\n international = 'international'\r\n}\r\n\r\n/**\r\n * GetWine component: Component responsible for displaying local wineries based\r\n * on the query input\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass FindWine extends React.Component> {\r\n\r\n // =========================================================================\r\n // OBSERVABLES AND FIELDS\r\n // =========================================================================\r\n\r\n /**\r\n * manages which type of page is supposed to be currently rendered\r\n *\r\n * - query: when _pageState is query the search page, will be rendered\r\n * - results: when _pageState is results a list of results will be rendered\r\n */\r\n @observable private _pageState: 'query' | 'results' = 'query';\r\n\r\n /**\r\n * keep the state of the 'Show All Products' toggle\r\n */\r\n @observable private _allOpen: boolean = false;\r\n\r\n /**\r\n * List of wine products\r\n */\r\n @observable private _products: IGetWineProductsData[] | undefined;\r\n\r\n /**\r\n * contains data on the previous domestic wine locations api request\r\n */\r\n @observable private wineLocation: IGetWineLocationDataOutput | undefined;\r\n\r\n /**\r\n * Indicates which is the current selected tab\r\n */\r\n @observable private _selectedTab: string = 'us';\r\n\r\n private _wineLocationDataSet: (IGetWineInternationalDistributorOuput | IGetWineLocationRetailerOutput)[] = [];\r\n\r\n /**\r\n * contains data on the previous international wine locations api request\r\n */\r\n @observable private internationalWineLocation: IGetWineInternationalLocationOutput | undefined;\r\n\r\n /**\r\n * the filters previously used for the last api request\r\n */\r\n private _querySearchFilters: IGetWineLocationQueryFilters | IGetWineInternationalQueryFilters = {\r\n country: 'all',\r\n location: '',\r\n brand: this.props.config.brand\r\n };\r\n\r\n // =========================================================================\r\n // PUBLIC METHODS\r\n // =========================================================================\r\n\r\n public constructor(props: IWineFinderFormProps) {\r\n super(props);\r\n\r\n // bindings for all functions used within the render\r\n this._setWineLocation = this._setWineLocation.bind(this);\r\n this._setWineProducts = this._setWineProducts.bind(this);\r\n this._handleBackToFind = this._handleBackToFind.bind(this);\r\n this._setInternationalWineLocation = this._setInternationalWineLocation.bind(this);\r\n this._handlePageChange = this._handlePageChange.bind(this);\r\n this._getMoreWineLocations = this._getMoreWineLocations.bind(this);\r\n this._closeToggle = this._closeToggle.bind(this);\r\n this._selectUSTab = this._selectUSTab.bind(this);\r\n this._selectInternationalTab = this._selectInternationalTab.bind(this);\r\n\r\n // safeguard product list\r\n reaction(\r\n () => { return this._products; },\r\n () => { this.setState({}); }\r\n );\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (this.props.config.showChooseWineInput) {\r\n void this._setWineProducts();\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n if (this.props.config.singlePage) {\r\n return (\r\n
\r\n {this._renderQuery()}\r\n {this._pageState === 'results' && this._renderResults()}\r\n
\r\n );\r\n }\r\n\r\n if (this._pageState === 'query') {\r\n return this._renderQuery();\r\n } else {\r\n return this._renderJSXResult();\r\n }\r\n }\r\n\r\n // ==========================================================================\r\n // JSX CONSTRUCTORS\r\n // ==========================================================================\r\n\r\n private _renderJSXResult(): JSX.Element {\r\n // if we are rendering retailer and the search returned nothing,\r\n // display a special error page stating no results were found\r\n const wineType = (this.wineLocation) ? 'retailer' : 'distributor';\r\n if (wineType === 'retailer' && this.wineLocation && this.wineLocation.data.length === 0) {\r\n return this._renderNoResults();\r\n }\r\n return this._renderResults();\r\n }\r\n\r\n // Select US tab with US search form\r\n private _selectUSTab(): void {\r\n this._selectedTab = 'us';\r\n }\r\n\r\n // Select International tab with International search form\r\n private _selectInternationalTab(): void {\r\n this._selectedTab = 'international';\r\n }\r\n\r\n private _renderQuery(): JSX.Element {\r\n const {\r\n hideInternational,\r\n searchRadius,\r\n showFilterButtons,\r\n placeholders,\r\n USLabelText,\r\n internationalLabelText\r\n } = this.props.config;\r\n const USCssClass = this._selectedTab === selectedTab.us?'find-wine-tab-us active':'find-wine-tab-us';\r\n const internationalCssClass = this._selectedTab === selectedTab.international?'find-wine-tab-international active':'find-wine-tab-international';\r\n return (\r\n
\r\n
\r\n
\r\n {this._title}\r\n {this._searchText}\r\n
\r\n\r\n {\r\n !hideInternational &&\r\n
\r\n \r\n \r\n
\r\n }\r\n\r\n \r\n {\r\n !hideInternational &&\r\n \r\n }\r\n
\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * JSX for the result page\r\n */\r\n private _renderResults(): JSX.Element {\r\n const { wineFinder__backToFind, wineFinder__showMoreButton } = this.props.resources;\r\n const wineType = (this.wineLocation) ? 'retailer' : 'distributor';\r\n const wineLocation = (this.wineLocation) ? this.wineLocation : this.internationalWineLocation;\r\n const resultDisplay = (this.props.config.resultsDisplay === 'paginate') ?\r\n (\r\n \r\n ) :\r\n (\r\n \r\n );\r\n return (\r\n
\r\n
\r\n {\r\n !this.props.config.singlePage &&\r\n {wineFinder__backToFind}\r\n }\r\n {this.props.config.showAllProductsToggle && this._renderAllProductsToggle()}\r\n {resultDisplay}\r\n
\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * JSX for the 'Show All Products' toggle\r\n */\r\n private _renderAllProductsToggle(): JSX.Element {\r\n const {\r\n hideAllProducts,\r\n showAllProducts\r\n } = this.props.config.showAllProductsLabel || {hideAllProducts:'Hide All Products', showAllProducts:'Show All Products'};\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _closeToggle(): void {\r\n this._allOpen = !this._allOpen;\r\n }\r\n\r\n /**\r\n * JSX for results failed page\r\n *\r\n * this is only for retailer / domestic search\r\n */\r\n private _renderNoResults(): JSX.Element {\r\n const {\r\n wineFinder__backToFind,\r\n wineFinder__noResults,\r\n wineFinder__searchAgain\r\n } = this.props.resources;\r\n return (\r\n
\r\n
\r\n {wineFinder__backToFind}\r\n
\r\n {this._title}\r\n

{wineFinder__noResults}

\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n private get _title(): JSX.Element | null {\r\n const title = this.props.config.title;\r\n if (title) {\r\n return (\r\n \r\n );\r\n }\r\n return null;\r\n }\r\n\r\n private get _searchText(): JSX.Element | null {\r\n const { searchText } = this.props.config;\r\n if (searchText) {\r\n return (\r\n // tslint:disable-next-line:react-no-dangerous-html\r\n \r\n );\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * return back to query page\r\n */\r\n private _handleBackToFind(): undefined {\r\n this._pageState = 'query';\r\n return undefined;\r\n }\r\n\r\n /**\r\n * handles a re-request to change pages\r\n *\r\n * @param filters query filter for either domestic or international searching\r\n */\r\n private async _handlePageChange(filters: IGetWineLocationQueryFilters | IGetWineInternationalQueryFilters): Promise {\r\n if (this.wineLocation) {\r\n await this._setWineLocation(filters as IGetWineLocationQueryFilters);\r\n } else {\r\n await this._setInternationalWineLocation(filters as IGetWineInternationalQueryFilters);\r\n }\r\n return undefined;\r\n }\r\n\r\n private async _getMoreWineLocations(filters: IGetWineLocationQueryFilters | IGetWineInternationalQueryFilters): Promise {\r\n if (!filters.page) {\r\n filters.page = 2;\r\n } else {\r\n filters.page++;\r\n }\r\n if (this.wineLocation) {\r\n (filters as IGetWineLocationQueryFilters).brand = this.props.config.brand;\r\n const wineLocationInput = new GetWineLocationInput(filters as IGetWineLocationQueryFilters);\r\n const moreData = await GetWineLocation(wineLocationInput, this.props.context.actionContext);\r\n this._wineLocationDataSet = [...this._wineLocationDataSet, ...moreData.data];\r\n } else {\r\n (filters as IGetWineInternationalQueryFilters).brand_code = this.props.config.brand;\r\n const wineLocationInput = new GetWineInternationalLocationInput(filters as IGetWineInternationalQueryFilters);\r\n const moreData = await GetInternationalWineLocation(wineLocationInput, this.props.context.actionContext);\r\n this._wineLocationDataSet = [...this._wineLocationDataSet, ...moreData.data];\r\n }\r\n this.setState({});\r\n }\r\n\r\n // =========================================================================\r\n // DATA ACTIONS AND QUERIES\r\n // =========================================================================\r\n\r\n /**\r\n * runs the users data query and applies the new results to the component\r\n *\r\n * @param filters query filters for the call\r\n */\r\n private async _setWineLocation(filters: IGetWineLocationQueryFilters): Promise {\r\n this._allOpen = false;\r\n filters.brand = this.props.config.brand;\r\n filters.per_page = this.props.config.perPage || 5;\r\n const wineLocationInput = new GetWineLocationInput(filters);\r\n this._querySearchFilters = filters;\r\n const newLocation = await GetWineLocation(wineLocationInput, this.props.context.actionContext);\r\n this._wineLocationDataSet = newLocation.data;\r\n this.wineLocation = newLocation;\r\n // must be set to undefined to keep which was previous call consistent\r\n this.internationalWineLocation = undefined;\r\n this._pageState = 'results';\r\n return this.wineLocation;\r\n }\r\n\r\n /**\r\n * runs the users data query and applies the new results to the component\r\n *\r\n * @param filters query filters for the call\r\n */\r\n private async _setInternationalWineLocation(filters: IGetWineInternationalQueryFilters): Promise {\r\n filters.brand_code = this.props.config.brand;\r\n filters.per_page = this.props.config.perPage || 5;\r\n const wineLocationInput = new GetWineInternationalLocationInput(filters);\r\n const newLocation = await GetInternationalWineLocation(wineLocationInput, this.props.context.actionContext);\r\n this._wineLocationDataSet = newLocation.data;\r\n this.internationalWineLocation = newLocation;\r\n this._querySearchFilters = filters;\r\n // must be set to undefined to keep which was previous call consistent\r\n this.wineLocation = undefined;\r\n this._pageState = 'results';\r\n return this.internationalWineLocation;\r\n }\r\n\r\n /**\r\n * get a list of products\r\n *\r\n * @param filters query filters for the call\r\n */\r\n private async _setWineProducts(): Promise {\r\n const filter: IGetWineProductQueryFilters = {brand: this.props.config.brand};\r\n const wineLocationInput = new GetWineProductsInput(filter);\r\n const products = await getWineProducts(wineLocationInput, this.props.context.actionContext);\r\n this._products = products;\r\n }\r\n}\r\n\r\nexport default FindWine;\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","/*---------------------------------------------------------------------------------------------\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 {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","/*---------------------------------------------------------------------------------------------\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","/*---------------------------------------------------------------------------------------------\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\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInSocialAccount, ISignInSocialItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n
{forgetPassword}
\r\n
\r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({\r\n socialAccounts,\r\n items,\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('sign-in-password-icon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = passwordState.type === 'password' ? 'text' : 'password';\r\n iconElement.className = iconElement.className === 'icon-show-password' ? 'icon-hide-password' :'icon-show-password';\r\n }\r\n};\r\n\r\nexport default SignInView;\r\n","import * as React from 'react';\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInSocialAccount, ISignInSocialItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n
\r\n {forgetPassword}\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({\r\n socialAccounts,\r\n items,\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('sign-in-password-icon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = passwordState.type === 'password' ? 'text' : 'password';\r\n iconElement.className = iconElement.className === 'icon-show-password' ? 'icon-hide-password' : 'icon-show-password';\r\n }\r\n};\r\n\r\nexport default SignInView;\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 {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n {forgetPassword}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n \r\n \r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('showPasswordIcon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = (passwordState.type === 'password') ? 'text' : 'password';\r\n iconElement.className = (iconElement.className === 'ms-sign-in__password-icon ms-sign-in__password-icon-show')\r\n ? 'ms-sign-in__password-icon ms-sign-in__password-icon-hide'\r\n : 'ms-sign-in__password-icon ms-sign-in__password-icon-show';\r\n }\r\n};\r\n\r\nexport default SignInView;\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 * as React from 'react';\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInSocialAccount, ISignInSocialItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {forgetPassword}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n \r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({\r\n socialAccounts,\r\n items,\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('sign-in-password-icon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = passwordState.type === 'password' ? 'text' : 'password';\r\n iconElement.className = iconElement.className === 'icon-show-password' ? 'icon-hide-password' :'icon-show-password';\r\n }\r\n};\r\n\r\nexport default SignInView;\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","/*---------------------------------------------------------------------------------------------\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 {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 {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/*---------------------------------------------------------------------------------------------\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 {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n {forgetPassword}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n \r\n \r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('showPasswordIcon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = (passwordState.type === 'password') ? 'text' : 'password';\r\n iconElement.className = (iconElement.className === 'ms-sign-in__password-icon ms-sign-in__password-icon-show')\r\n ? 'ms-sign-in__password-icon ms-sign-in__password-icon-hide'\r\n : 'ms-sign-in__password-icon ms-sign-in__password-icon-show';\r\n }\r\n};\r\n\r\nexport default SignInView;\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 {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n {forgetPassword}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n \r\n \r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('showPasswordIcon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = (passwordState.type === 'password') ? 'text' : 'password';\r\n iconElement.className = (iconElement.className === 'ms-sign-in__password-icon ms-sign-in__password-icon-show')\r\n ? 'ms-sign-in__password-icon ms-sign-in__password-icon-hide'\r\n : 'ms-sign-in__password-icon ms-sign-in__password-icon-show';\r\n }\r\n};\r\n\r\nexport default SignInView;\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","/*---------------------------------------------------------------------------------------------\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
\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\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInSocialAccount, ISignInSocialItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n
{forgetPassword}
\r\n
\r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({\r\n socialAccounts,\r\n items,\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('sign-in-password-icon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = passwordState.type === 'password' ? 'text' : 'password';\r\n iconElement.className = iconElement.className === 'icon-show-password' ? 'icon-hide-password' :'icon-show-password';\r\n }\r\n};\r\n\r\nexport default SignInView;\r\n","import * as React from 'react';\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInSocialAccount, ISignInSocialItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n
{forgetPassword}
\r\n
\r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({\r\n socialAccounts,\r\n items,\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('sign-in-password-icon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = passwordState.type === 'password' ? 'text' : 'password';\r\n iconElement.className = iconElement.className === 'icon-show-password' ? 'icon-hide-password' :'icon-show-password';\r\n }\r\n};\r\n\r\nexport default SignInView;\r\n","import * as React from 'react';\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInSocialAccount, ISignInSocialItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n
{forgetPassword}
\r\n
\r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({\r\n socialAccounts,\r\n items,\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('sign-in-password-icon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = passwordState.type === 'password' ? 'text' : 'password';\r\n iconElement.className = iconElement.className === 'icon-show-password' ? 'icon-hide-password' :'icon-show-password';\r\n }\r\n};\r\n\r\nexport default SignInView;\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 { 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","import * as React from 'react';\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInSocialAccount, ISignInSocialItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n
\r\n {forgetPassword}\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({\r\n socialAccounts,\r\n items,\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('sign-in-password-icon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = passwordState.type === 'password' ? 'text' : 'password';\r\n iconElement.className = iconElement.className === 'icon-show-password' ? 'icon-hide-password' :'icon-show-password';\r\n }\r\n};\r\n\r\nexport default SignInView;\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","/*---------------------------------------------------------------------------------------------\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","import * as React from 'react';\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInSocialAccount, ISignInSocialItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n
\r\n {forgetPassword}\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({\r\n socialAccounts,\r\n items,\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('sign-in-password-icon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = passwordState.type === 'password' ? 'text' : 'password';\r\n iconElement.className = iconElement.className === 'icon-show-password' ? 'icon-hide-password' :'icon-show-password';\r\n }\r\n};\r\n\r\nexport default SignInView;\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","/*---------------------------------------------------------------------------------------------\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 \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 {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","\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 {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount, ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/sign-in';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n if (item.key === 'password') {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n {forgetPassword}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n \r\n \r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst _showPassword = () => {\r\n const passwordState = document.getElementById('password') as HTMLInputElement;\r\n const iconElement = document.getElementById('showPasswordIcon');\r\n if (passwordState && iconElement) {\r\n passwordState.type = (passwordState.type === 'password') ? 'text' : 'password';\r\n iconElement.className = (iconElement.className === 'ms-sign-in__password-icon ms-sign-in__password-icon-show')\r\n ? 'ms-sign-in__password-icon ms-sign-in__password-icon-hide'\r\n : 'ms-sign-in__password-icon ms-sign-in__password-icon-show';\r\n }\r\n};\r\n\r\nexport default SignInView;\r\n"],"sourceRoot":""}