{"version":3,"sources":["webpack:///./ClientApp/services/Localizer.tsx","webpack:///./ClientApp/shared/polyfills/customEvent.js","webpack:///./ClientApp/shared/components/svg/LeftChevronSVG.tsx","webpack:///./ClientApp/shared/components/svg/DownChevronSVG.tsx","webpack:///./ClientApp/shared/components/svg/UpChevronSVG.tsx","webpack:///./ClientApp/util/StringUtil.ts","webpack:///./ClientApp/shared/components/svg/ShoppingCartSVG.tsx","webpack:///./ClientApp/styles/node-modules/@reach/dialog/styles.css?d0c1","webpack:///./ClientApp/services/ServerData.ts","webpack:///./ClientApp/styles/node-modules/@reach/dialog/styles.css","webpack:///./ClientApp/shared/components/Spinner.tsx","webpack:///./ClientApp/shared/components/svg/MapPinSVG.tsx","webpack:///./ClientApp/shared/components/svg/commerce/OrganizationSimpleSVG.tsx","webpack:///./ClientApp/services/AxiosHelper.ts","webpack:///./ClientApp/shared/components/svg/CreditCardSimpleSVG.tsx","webpack:///./ClientApp/shared/components/svg/ClockSVG.tsx","webpack:///./ClientApp/shared/components/Breadcrumbs.tsx","webpack:///./ClientApp/features/commerce/organization/orders lazy ^\\.\\/.*$ namespace object","webpack:///./ClientApp/shared/components/svg/MenuSVG.tsx","webpack:///./ClientApp/shared/components/svg/ShoppingListSVG.tsx","webpack:///./ClientApp/shared/components/svg/BookmarkSVG.tsx","webpack:///./ClientApp/shared/components/svg/commerce/UsersSVG.tsx","webpack:///./ClientApp/shared/assets/lazy.ts","webpack:///./ClientApp/features/commerce/my-account/organization/OrganizationSelector.tsx","webpack:///./ClientApp/shared/components/svg/CartDownArrowSVG.tsx","webpack:///./ClientApp/shared/components/svg/LockSimpleSVG.tsx","webpack:///./ClientApp/shared/components/RenderImpersonationHeader.tsx","webpack:///./ClientApp/shared/components/svg/VersaPaySVG.tsx","webpack:///./ClientApp/shared/edit/InlineAlert.tsx","webpack:///./ClientApp/shared/hooks/useRocEventHandler.tsx","webpack:///./ClientApp/features/commerce/organization/OrganizationNav.tsx","webpack:///./ClientApp/features/commerce/organization/OrganizationBreadcrumbs.tsx","webpack:///./ClientApp/features/commerce/organization/Layout.tsx","webpack:///./ClientApp/features/commerce/organization/Organization.tsx","webpack:///./ClientApp/features/commerce/organization/OrganizationRemovalNotification.tsx","webpack:///./ClientApp/features/commerce/organization/index.tsx","webpack:///./ClientApp/shared/components/svg/XSVG.tsx","webpack:///./ClientApp/services/UserData.ts","webpack:///./ClientApp/shared/util/ErrorBoundary.tsx","webpack:///./ClientApp/shared/util/AccountUrls.ts","webpack:///./ClientApp/shared/components/svg/GearSVG.tsx","webpack:///./ClientApp/shared/components/RocPopover.tsx","webpack:///./ClientApp/shared/components/svg/HouseSVG.tsx","webpack:///./ClientApp/shared/polyfills/getAttributeNames.js","webpack:///./ClientApp/shared/util/ApplicationInit.tsx","webpack:///./ClientApp/shared/components/commerce/ProductPricing.tsx","webpack:///./ClientApp/features/my-account/routes.roc.tsx","webpack:///./ClientApp/shared/hooks/useDelayedDisplay.tsx","webpack:///./ClientApp/shared/util/events/rocEventUtils.ts","webpack:///./ClientApp/shared/components/svg/StarEmptySVG.tsx","webpack:///../Roc.SharedClientApp/types/commerce/display-price.ts","webpack:///./ClientApp/shared/components/Modal.tsx","webpack:///./ClientApp/styles/node-modules/tiny-slider/dist/tiny-slider.css?bcf8","webpack:///./ClientApp/styles/node-modules/tiny-slider/dist/tiny-slider.css","webpack:///./ClientApp/styles/app.scss?4c37","webpack:///./ClientApp/features/my-account/routes.commerce.tsx","webpack:///./ClientApp/features/setup/recaptcha.ts","webpack:///./ClientApp/features/setup/accessible-navigation.ts","webpack:///./ClientApp/features/announcements/Announcements.tsx","webpack:///./ClientApp/shared/components/svg/UserSVG.tsx","webpack:///./ClientApp/features/setup/Utils.ts","webpack:///./ClientApp/shared/components/svg/CheckClipBoard.tsx","webpack:///./ClientApp/features/header/HeaderUtilNav.tsx","webpack:///./ClientApp/shared/components/svg/QuickOrderSVG.tsx","webpack:///./ClientApp/features/commerce/organization/OrganizationHeaderMenu.tsx","webpack:///./ClientApp/features/header/HeaderUtils.tsx","webpack:///./ClientApp/features/setup/commerce/ProductBanner.tsx","webpack:///./ClientApp/features/setup/commerce/banners.products.tsx","webpack:///./ClientApp/features/setup/banners.ts","webpack:///./ClientApp/features/setup/commerce/relatedProducts.ts","webpack:///./ClientApp/setup.js","webpack:///./ClientApp/features/setup/commerce/setupPDPTabs.ts","webpack:///./ClientApp/features/setup/userType.ts","webpack:///./ClientApp/features/setup/navigation.ts","webpack:///./ClientApp/features/setup/featuredPostNotification.ts","webpack:///./ClientApp/features/setup/scrollBtn.ts","webpack:///./ClientApp/features/header/index.tsx","webpack:///./ClientApp/features/announcements/index.tsx","webpack:///./ClientApp/features/setup/carousel.ts","webpack:///./ClientApp/features/commerce/organization/OrganizationUIComponents.ts","webpack:///./ClientApp/features/commerce/organization/routes.tsx"],"names":["LocalizerResources","isAlreadyLogged","initializeLocalizerResources","windowWithResources","window","__ROC_LOCALIZER_RESOURCES__","Array","isArray","forEach","obj","Object","keys","key","Localizer","replaceStrings","length","console","warn","resource","replace","match","index","LocalizedSpan","props","resourceKey","args","localizedString","data-testid","toKebabCase","dangerouslySetInnerHTML","__html","CustomEvent","event","params","bubbles","cancelable","detail","undefined","evt","document","createEvent","initCustomEvent","prototype","Event","LeftChevronSVG","className","rest","viewBox","classnames","focusable","aria-hidden","d","DownChevronSVG","UpChevronSVG","value","trim","toLocaleLowerCase","toCamelCase","word","toLowerCase","toUpperCase","stripHtml","html","tmp","createElement","innerHTML","textContent","innerText","addEllipsis","text","cutoff","substring","trimString","ShoppingCartSVG","defaultProps","api","content","__esModule","default","module","i","options","exports","locals","ServerData","windowWithServerData","__ROC_SERVER_DATA__","initializeServerData","___CSS_LOADER_API_IMPORT___","push","Spinner","light","waitMs","align","block","parentCentered","useDelayedDisplay","spinner","MapPinSVG","OrganizationSimpleSVG","width","height","id","fillRule","AxiosHelper","axios","create","defaults","headers","common","interceptors","request","use","config","method","getCsrfToken","csrfToken","RequestVerificationToken","addUnauthorizedAccessInterceptor","history","response","error","status","location","AccountUrls","Login","encodeURIComponent","pathname","Promise","reject","CreditCardSimpleSVG","ClockSVG","Breadcrumbs","breadcrumbPath","backToPage","renderPathLink","item","href","url","label","onClick","back","map","entry","Fragment","webpackAsyncContext","req","__webpack_require__","o","resolve","then","e","Error","code","ids","all","slice","t","MenuSVG","ShoppingListSVG","BookmarkSVG","UsersSVG","lazyLoadImages","lazyImages","call","querySelectorAll","lazyImageObserver","IntersectionObserver","entries","isIntersecting","lazyImage","target","dataset","src","attributeDelay","Number","getAttribute","classList","remove","setTimeout","add","unobserve","observe","lazyElements","elements","callback","delay","stopAfterIntersecting","lazyElementObserver","lazyElement","readyState","addEventListener","updateUserDefaultOrganization","organizationId","requestToken","Axios","CancelToken","source","post","UPDATE_USER_DEFAULT_ORGANIZATION_URL","cancelToken","token","DefaultOrganizationSelector","currentOrganizationId","organizations","selectDefaultOrganization","useState","selectedDefaultOrganization","setSelectedDefaultOrganization","useEffect","defaultOrganization","find","org","organization","OrganizationSelectorOption","setSelectedOrganizationOption","selectedOrganization","type","htmlFor","name","checked","onChange","withRouter","errorMessage","setErrorMessage","userData","setUserData","useHistory","getUserData","data","summary","userOrganizations","startsWith","OrganizationSelector","BaseUrl","setUserDefaultOrganization","isCancel","axiosError","message","theme","CartDownArrowSVG","LockSimpleSVG","LazyPreHeader","React","lazy","RenderImpersonationHeader","initReactApp","fallback","VersaPaySVG","cx","cy","r","fill","InlineAlert","title","children","isTitleOnOwnRow","isCollapsed","onCollapse","isAxiosError","dispatchRocEvent","eventType","dispatchEvent","useRocEventHandler","eventHandler","deps","removeHandlerCallback","addRocEventHandler","Nav","sidebarEl","useRef","useLocation","isNavOpen","setIsNavOpen","isOrganizationUser","setIsOrganizationUser","OrganizationReview","organizationInvites","pageTitle","ordersActive","usersActive","shiptosActive","ORGANIZATION_ORDERS_URL","ORGANIZATION_USERS_URL","ORGANIZATION_SHIPTOS_URL","PageTitleSuffix","handleClickOutside","current","contains","listen","removeEventListener","showUserNavigation","setShowUserNavigation","isSignedIn","canSeeOrganizationUsers","permissions","iconClass","ref","aria-labelledby","active","to","OrganizationBreadcrumbs","orgLabel","ORGANIZATION_USERS_CREATE_URL","organizationItem","Layout","browserHistory","createBrowserHistory","Organization","routes","OrganizationRemovalNotification","organizationRemovalNotification","setOrganizationRemovalNotification","isOpen","setIsOpen","userOrganizationRemovalNotification","onOrganizationRemovalNotificationClose","INVALIDATE_USER_ORGANIZATION_NOTIFICATION_CACHE_URL","Modal","hideCloseButton","closeModal","renderTitle","renderActions","setupOrganizationRemovalNotification","initReactAppByAttribute","render","XSVG","userDataPromise","get","getUserDataNoCache","ErrorBoundary","lastRefreshedTimestamp","Date","parseInt","localStorage","getItem","getTime","setItem","toString","reload","this","setState","state","renderError","Component","renderProps","ACCOUNT_URL_BASE","ACCOUNT_LOGIN_URL","Login2fa","ACCOUNT_LOGIN_WITH_2FA_URL","Register","ACCOUNT_REGISTER_URL","ForgotPassword","ACCOUNT_FORGOT_PASSWORD_URL","LoginWithRecoveryCode","ACCOUNT_LOGIN_WITH_RECOVERY_CODE_URL","Logout","ACCOUNT_LOGOUT_URL","ACCOUNT_ORGANIZATION_REVIEW_URL","ACCOUNT_ORGANIZATION_SELECTOR_URL","ExternalLogout","GearSVG","Popover","RocPopover","innerRef","targetRef","position","size","space","setSpace","innerHeight","getBoundingClientRect","bottom","Suspense","as","HouseSVG","Element","getAttributeNames","attributes","result","getDataPropsFromAttributes","element","filter","s","attributeName","getReactElement","elementId","getElementById","ReactDOM","attribute","ProductPricing","displayPrice","inline","testId","roundValue","renderResult","css","priceClass","base","normalPrice","crossedOutPrice","highlightedPrice","GetCssClasses","displayRule","PriceDisplayRule","Missing","Normal","price","basePriceClass","salePrice","VariantPriceComponent","basePrice","renderNormalPrice","AmbiguousRange","roundedPrice","rawValue","toFixed","FormatAmbiguousPriceSpan","unitName","unit","renderAmbiguousPrice","FormatPrice","FormatPriceSpan","priceRange","from","MY_ACCOUNT_PATH_PREFIX","MY_ACCOUNT_AUTHENTICATOR_URL","MY_ACCOUNT_GENERATE_RECOVERY_CODES_URL","MY_ACCOUNT_CONFIGURE_AUTHENTICATOR_URL","MY_ACCOUNT_LOGIN_URL","MY_ACCOUNT_WALLET_URL","MY_ACCOUNT_WALLET_CREATE_URL","MY_ACCOUNT_ADDRESS_BOOK_URL","MY_ACCOUNT_ADDRESS_BOOK_CREATE_URL","MY_ACCOUNT_ADDRESS_BOOK_EDIT_URL","MY_ACCOUNT_SETTINGS_URL","rocRoutes","exact","path","component","display","setDisplay","timeout","clearTimeout","handler","StarEmptySVG","LazyDialog","Dialog","LazyDialogContent","DialogContent","LazyDialogOverlay","DialogOverlay","renderSubtitle","titleIcon","headerDivider","bypassFocusLock","subTitle","innerModal","ariaLabel","onDismiss","dangerouslyBypassFocusLock","aria-label","MY_ACCOUNT_ORDERS_URL","MY_ACCOUNT_STORE_URL","MY_ACCOUNT_SAVED_FOR_LATER_URL","MY_ACCOUNT_SAVED_CARTS_URL","MY_ACCOUNT_BUY_AGAIN_URL","MY_ACCOUNT_SHOPPING_LISTS_URL","MY_ACCOUNT_ORGANIZATION_REVIEW_URL","MY_ACCOUNT_ORGANIZATION_SELECTOR_URL","MY_ACCOUNT_SHOPPING_LISTS_CREATE_URL","MY_ACCOUNT_USER_SHIPPING_ACCOUNT_URL","MY_ACCOUNT_USER_SHIPPING_ACCOUNT_EDIT_URL","MY_ACCOUNT_REVIEWS_URL","MY_ACCOUNT_CUSTOMER_ACCOUNT_APPLICATIONS_URL","MY_ACCOUNT_CUSTOMER_CREDIT_APPLICATIONS_URL","MY_ACCOUNT_SHOPPER_APPLICATIONS_URL","OrdersComponent","OrderDetailsComponent","StoreComponent","AddressBookComponent","AddressBookEditComponent","SavedForLaterComponent","SavedCartsComponent","BuyAgainComponent","AccountOverviewComponent","ShoppingListsComponent","ShoppingListsCreateComponent","ShoppingListDetailsComponent","OrganizationReviewComponent","OrganizationSelectorComponent","UserShippingAccountsComponent","ReviewsComponent","CustomerAccountApplicationsComponent","CustomerAccountApplicationsEditComponent","CustomerCreditApplicationsComponent","CustomerCreditApplicationsEditComponent","ShopperApplicationsComponent","ordersRoute","orderDetailsRoute","storeRoute","addressBookRoute","addressBookCreateRoute","addressBookEditRoute","savedForLaterRoute","savedCartsRoute","exect","buyAgainRoute","shoppingListsRoute","shoppingListsCreateRoute","shoppingListDetailsRoute","userShippingAccountsRoute","reviewsRoute","customerAccountApplicationsRoute","customerAccountApplicationsEditRoute","customerCreditApplicationsRoute","customerCreditApplicationsEditRoute","commerceRoutes","reCaptchaCallbackPromise","setupReCaptcha","windowWithReCaptchaCallbacks","onReCaptchaLoadCallback","isDescendant","parent","child","node","parentNode","AccessibleNavigation","_executeResizeDebounced","navElement","mobileBreakpoint","HTMLElement","_navElement","toggleButton","subMenuSibling","nextElementSibling","isAutoExpand","_subNavElements","toggleElement","subMenuElement","toggleButtonsQueryResult","crossButtonsQueryResult","HTMLButtonElement","_navToggleButton","_navCrossButton","navListQueryResult","_navListElement","bodyClassQueryResult","_bodyNavElement","_isNavExpanded","debounce","_resize","_mobileBreakpoint","_init","_setupClickEvents","_setupOutsideclick","_setupEscKeyPress","_setupResizeListener","_setupNavToggleClick","_handleResize","innerWidth","setAttribute","closeAllMenus","collapseNavigationMobile","unCollapseNavigationMobile","subMenu","menu","openMenu","toggleSubMenu","autoExpandSubMenu","parentOpeningOrSiblingClosing","expand","targetSubMenu","Announcements","announcements","setAnnouncements","isDismissed","setIsDismissed","filteredAnnouncements","a","pages","includes","rocAnnouncement","announcement","UserSVG","slugify","CheckClipboardSVG","HeaderUtilNav","HeaderUtilNavItemLink","icon","HeaderUtilExternalLoginLink","action","HeaderUtilExternalRegisterLink","HeaderUtilNavItemCart","cartSummary","items","HeaderUtilNavItemPopover","triggerRef","popoverWrapperRef","popoverMatchWidthRef","openPopover","closePopover","handleDocumentClick","positionMatchWidth","parentClass","buttonClass","textClass","QuickOrderSVG","OrganizationHeaderMenu","popoverOpen","setPopoverOpen","hasSingleOrganization","organizationName","HeaderUtils","hideWalletNavigation","setHideWalletNavigation","versaPayEnabled","setVersaPayEnabled","versaPayRedirectUrl","setVersaPayRedirectUrl","impersonation","creditCardAllowed","hasSavedPaymentMethods","firstName","rel","enableStoreLocation","headerUtilsIconClass","ProductBanner","banner","product","mainImageUrl","imageDto","mainImageAltText","altTag","customUrl","productId","productName","productGroupId","data-src","alt","setupProductBanners","generateKeyForGroupRequest","bannerGroupRequest","groupCode","pageUrl","isRandom","bannerPlaceholders","bannerGroupsPlaceholderDetails","bannerPlaceholder","placeholderData","requestData","groupKey","placeholder","distinctBannerGroups","group","elem","self","findIndex","groupCodes","bannersFromServer","bannersForGroups","bannerIndex","placeholderDetails","hasOwnProperty","bannersGroups","isCarousel","banners","htmlBanner","customHtml","img","elementToAppend","forwardUrl","link","browserTarget","appendChild","style","reactRoot","linkUrl","image","backgroundImage","imageUrl","titleElementToAppend","secondaryText","secondaryImageUrl","linkText","catalogHTML","heroSliderItemDiv","heroSliderDetailsDiv","heroText","heroLink","heroLinkText","heroProductDiv","heroImage","setupBannerClick","bannerName","setupSliderForCarousel","onclick","clickedBannerData","currentTarget","bannerPlaceHolder","hasAttribute","showControls","tnsPromise","tns","container","slideBy","autoplay","controls","nav","autoplayButtonOutput","lazyload","controlsText","navPosition","onInit","childElementCount","events","on","info","bannerData","slideItems","setupBanners","serverBannerContainers","serverBannersContainer","j","setupServerBanners","setupClientBanners","setupRelatedProducts","loop","mouseDrag","gutter","responsive","622","992","1200","setupCommerce","querySelector","trigger","handleToggle","toggle","keyCode","setupPDPTabs","htmlEl","isRecentTouchUser","cookieFeaturedPostDismissBtn","cookieFeaturedPostViewBtn","featuredPostContainer","cookieMessageContainer","handleFeaturedPostsDismissBtnClick","rootElement","scrollButton","documentElement","throttle","removeProperty","postId","postid","setTime","expires","toUTCString","cookie","scrollTotal","scrollHeight","clientHeight","scrollTop","_value","array","carouselContainerClass","desktopItems","isNaN","desktopItem","tabletItems","mobileItems","edgePadding","hasControls","disableSlider","touch","767","disable","OrganizationUIComponents","ORGANIZATION_PREFIX","UPDATE_ORGANIZATION_USER_URL","UPDATE_USER_ORGANIZATION_STATUS_URL","ORGANIZATION_ORDER_DETAILS","OrganizationOrderDetailsComponent","orderDetailsComponent","OrderDetailsUIComponent","DefaultOrganizationOrderDetails","ShiptosComponent","UsersComponent","OrganizationOrdersComponent","OrganizationUsersCreateComponent"],"mappings":"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","file":"main.4ef776b3.js","sourcesContent":["import { AddressResourceKeys } from 'features/address-book/resources';\r\nimport { ContactFormResourceKeys } from 'features/contact-form/resources';\r\nimport { CreatePasswordResourceKeys } from 'features/create-password/resources';\r\nimport { LoginWith2faResourceKeys } from 'features/login-with-2fa/resources';\r\nimport { LoginWithRecoveryCodeResourceKeys } from 'features/login-with-recovery-code/resources';\r\nimport { LoginResourceKeys } from 'features/login/resources';\r\nimport { MyAccountResourceKeys } from 'features/my-account/resources';\r\nimport { ResetPasswordResourceKeys } from 'features/reset-password/resources';\r\nimport { SubmitQuestionResourceKeys } from 'features/submit-question/resources';\r\nimport * as React from 'react';\r\nimport { toKebabCase } from 'util/StringUtil';\r\n\r\n// #region Commerce\r\nimport { CommerceResourceKeys } from 'features/commerce/CommerceResourceKeys';\r\n// #endregion\r\n\r\n// #region HCL\r\nimport { QuickBagsResourceKeys } from 'features/hcl/quick-bags/resources';\r\nimport { QuickLabelsResourceKeys } from 'features/hcl/quick-labels/resources';\r\nimport { ProductCatalogsResourceKeys } from 'features/hcl/product-catalogs/resources';\r\nimport { FileUploadResourceKeys } from 'features/hcl/file-upload/resources';\r\nimport { NewsletterKeys } from 'features/hcl/newsletter-signup/resources';\r\n// #endregion\r\n\r\n/**\r\n * Type that will hold all the global localization keys\r\n */\r\ntype LocalizerGlobalResourceKeys =\r\n\t| 'Success'\r\n\t| 'OfTotalPages'\r\n\t| 'Cancel'\r\n\t| 'Confirm'\r\n\t| 'FirstName'\r\n\t| 'LastName'\r\n\t| 'Email'\r\n\t| 'Username'\r\n\t| 'Amount'\r\n\t| 'NameOnCard'\r\n\t| 'CardNumber'\r\n\t| 'ExpDate'\r\n\t| 'ExpMonth'\r\n\t| 'ExpYear'\r\n\t| 'Expires'\r\n\t| 'Expired'\r\n\t| 'SecurityCode'\r\n\t| 'Submit'\r\n\t| 'Save'\r\n\t| 'ZipCode'\r\n\t| 'Remove'\r\n\t| 'Removed'\r\n\t| 'Update'\r\n\t| 'Undo'\r\n\t| 'Cancel'\r\n\t| 'Enter'\r\n\t| 'Close'\r\n\t| 'SortBy'\r\n\t| 'PleaseWait'\r\n\t| 'Unknown'\r\n\t| 'Yes'\r\n\t| 'No'\r\n\t| 'Delete'\r\n\t| 'Update'\r\n\t| 'SaveAndContinueButtonText'\r\n\t| 'SaveAndContinue'\r\n\t| 'Continue'\r\n\t| 'SaveErrorMessage'\r\n\t| 'Edit'\r\n\t| 'ErrorMessageGenericTitle'\r\n\t| 'CheckEnteredValues'\r\n\t| 'ErrorMessageForbidden'\r\n\t| 'ErrorMessageNetwork'\r\n\t| 'ErrorOccurredSubmittingTheForm'\r\n\t| 'UnexpectedErrorOccurred'\r\n\t| 'Login'\r\n\t| 'ReturnToShipping'\r\n\t| 'BreadcrumbsLabel'\r\n\t| 'Other'\r\n\t| 'RememberMe'\r\n\t| 'ForgotYourPassword'\r\n\t| 'RegisterNewUserLinkText'\r\n\t| 'LoginPageTitleText'\r\n\t| 'ForgotPasswordPageTitle'\r\n\t| 'ForgotPasswordConfirmationPageTitle'\r\n\t| 'ForgotPasswordConfirmation'\r\n\t| 'Optional'\r\n\t| 'SearchBoxPlaceholder'\r\n\t| 'XOutOfYStars'\r\n\t| 'XToYOfZ'\r\n\t| 'ModalLabel'\r\n\t| 'RequiredFields'\r\n\t| 'Status'\r\n\t| 'Version'\r\n\t| 'CreatedOn'\r\n\t| 'CreatedBy'\r\n\t| 'ModifiedOn'\r\n\t| 'ModifiedBy'\r\n\t| 'OpenStatusInformation'\r\n\t| 'CloseStatusInformation'\r\n\t| 'SearchFilter'\r\n\t| 'Pagination'\r\n\t| 'Previous'\r\n\t| 'Next'\r\n\t| 'ClearFilter';\r\n\r\n/**\r\n * Type that will hold all the localization keys\r\n */\r\nexport type LocalizerResourceKey =\r\n\t| LocalizerGlobalResourceKeys\r\n\t| LoginResourceKeys\r\n\t| ContactFormResourceKeys\r\n\t// #region Commerce\r\n\t| CommerceResourceKeys\r\n\t// #endregion\r\n\t| ResetPasswordResourceKeys\r\n\t| CreatePasswordResourceKeys\r\n\t| SubmitQuestionResourceKeys\r\n\t| ResetPasswordResourceKeys\r\n\t| CreatePasswordResourceKeys\r\n\t| MyAccountResourceKeys\r\n\t| LoginWith2faResourceKeys\r\n\t| LoginWithRecoveryCodeResourceKeys\r\n\t| AddressResourceKeys\r\n\t// #region HCL\r\n\t| QuickBagsResourceKeys\r\n\t| QuickLabelsResourceKeys\r\n\t| ProductCatalogsResourceKeys\r\n\t| NewsletterKeys\r\n\t| FileUploadResourceKeys;\r\n// #endregion\r\n\r\n/**\r\n * Interface for the resources\r\n *\r\n * @export\r\n * @interface LocalizerResource\r\n */\r\ninterface LocalizerResource {\r\n\t[id: string]: string;\r\n}\r\n\r\n/**\r\n * Extends Window with a property that will hold the localizer resources\r\n *\r\n * @interface WindowWithResources\r\n * @extends {Window}\r\n */\r\nexport interface WindowWithResources extends Window {\r\n\t__ROC_LOCALIZER_RESOURCES__?: LocalizerResource[];\r\n}\r\n\r\n/**\r\n * Main object that will hold all the localized resources\r\n */\r\nconst LocalizerResources: LocalizerResource = {};\r\n\r\n/**\r\n * To prevent redundant logging\r\n */\r\nconst isAlreadyLogged: Record = {};\r\n\r\n/**\r\n * Initializer function that will populate the main localized resources object\r\n */\r\nfunction initializeLocalizerResources() {\r\n\tconst windowWithResources = window as WindowWithResources;\r\n\r\n\tif (\r\n\t\twindowWithResources &&\r\n\t\twindowWithResources.__ROC_LOCALIZER_RESOURCES__ &&\r\n\t\tArray.isArray(windowWithResources.__ROC_LOCALIZER_RESOURCES__)\r\n\t) {\r\n\t\twindowWithResources.__ROC_LOCALIZER_RESOURCES__.forEach((obj) => {\r\n\t\t\tfor (const key of Object.keys(obj)) {\r\n\t\t\t\tLocalizerResources[key] = obj[key];\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n\r\n/**\r\n * Function that can be used to load the localized strings with support to parameter replacements\r\n *\r\n * @export\r\n * @param {string} key\r\n * @param {...string[]} replaceStrings\r\n * @returns\r\n */\r\nexport function Localizer(\r\n\tkey: TResourceKey,\r\n\t...replaceStrings: string[]\r\n) {\r\n\tif (Object.keys(LocalizerResources).length === 0) {\r\n\t\tinitializeLocalizerResources();\r\n\t}\r\n\r\n\tif (!LocalizerResources || !LocalizerResources[key]) {\r\n\t\t// if running in a test environment, just skip any warnings.\r\n\t\tif (process.env.NODE_ENV !== 'test') {\r\n\t\t\tif (!isAlreadyLogged[key]) {\r\n\t\t\t\tconsole.warn(key, 'Localizer Resource not found. Key will be used instead.');\r\n\t\t\t\tisAlreadyLogged[key] = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn key;\r\n\t}\r\n\r\n\tconst resource = LocalizerResources[key];\r\n\r\n\tif (!replaceStrings) {\r\n\t\treturn resource;\r\n\t}\r\n\r\n\treturn resource.replace(/{(\\d+)}/g, (match: string, index: number) => {\r\n\t\treturn replaceStrings[index] ? replaceStrings[index] : '';\r\n\t});\r\n}\r\n\r\n/**\r\n * Interface for the LocalizedSpan component\r\n *\r\n * @interface LocalizedSpanProps\r\n */\r\ninterface LocalizedSpanProps {\r\n\tresourceKey: LocalizerResourceKey;\r\n\targs?: string[];\r\n}\r\n\r\n/**\r\n * Component responsible for the initialization of the react app\r\n */\r\nexport function LocalizedSpan(props: LocalizedSpanProps) {\r\n\tconst { resourceKey, args = [] } = props;\r\n\tconst localizedString = Localizer(resourceKey, ...args);\r\n\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\n","// source: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent\r\n(function () {\r\n\tif (typeof window.CustomEvent === 'function') {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tfunction CustomEvent(event, params) {\r\n\t\tparams = params || { bubbles: false, cancelable: false, detail: undefined };\r\n\t\t// eslint-disable-next-line\r\n\t\tvar evt = document.createEvent('CustomEvent');\r\n\t\tevt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\r\n\t\treturn evt;\r\n\t}\r\n\r\n\tCustomEvent.prototype = window.Event.prototype;\r\n\r\n\twindow.CustomEvent = CustomEvent;\r\n})();\r\n","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\nimport classnames from 'classnames';\r\n\r\n/**\r\n * Left chevron SVG\r\n *\r\n * @returns\r\n */\r\nfunction LeftChevronSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default LeftChevronSVG;\r\n","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\nimport classnames from 'classnames';\r\n\r\n/**\r\n * Up chevron SVG\r\n *\r\n * @returns\r\n */\r\nfunction DownChevronSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default DownChevronSVG;\r\n","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\nimport classnames from 'classnames';\r\n\r\n/**\r\n * Up chevron SVG\r\n *\r\n * @returns\r\n */\r\nfunction UpChevronSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default UpChevronSVG;\r\n","// These functions may be potentially innaccurate in certain locales that use differing amounts of characters in different cases\r\n\r\n/**\r\n * Tests if a string includes another if casing is ignored\r\n * @param thisString The string to test\r\n * @param otherString The potentially included string being tested for\r\n */\r\nexport function stringWeaklyIncludes(thisString: string, otherString: string) {\r\n\treturn thisString.toLocaleLowerCase().includes(otherString.toLocaleLowerCase());\r\n}\r\n\r\n/**\r\n * Tests if a string starts with another if casing is ignored\r\n * @param thisString The string to test\r\n * @param otherString The potentially included string being tested for\r\n */\r\nexport function stringWeaklyStartsWith(thisString: string, otherString: string) {\r\n\treturn thisString.toLocaleLowerCase().startsWith(otherString.toLocaleLowerCase());\r\n}\r\n\r\n/**\r\n * Tests if a string ends with another if casing is ignored\r\n * @param thisString The string to test\r\n * @param otherString The potentially included string being tested for\r\n */\r\nexport function stringWeaklyEndsWith(thisString: string, otherString: string) {\r\n\treturn thisString.toLocaleLowerCase().endsWith(otherString.toLocaleLowerCase());\r\n}\r\n\r\n/**\r\n * Converts the first character in a string to upper-case. Will not work for all languages (for example Dutch).\r\n *\r\n * @export\r\n * @param {string} thisString\r\n * @returns\r\n */\r\nexport function firstCharacterToUpper(thisString: string) {\r\n\tif (!thisString) {\r\n\t\treturn '';\r\n\t}\r\n\r\n\tlet newString = thisString.substring(0, 1).toLocaleUpperCase();\r\n\r\n\tif (thisString.length > 1) {\r\n\t\tnewString += thisString.substring(1);\r\n\t}\r\n\r\n\treturn newString;\r\n}\r\n\r\n/**\r\n * Converts the first character in a string to upper-case. Will not work for all languages (for example Dutch).\r\n *\r\n * @export\r\n * @param {string} thisString\r\n * @returns\r\n */\r\nexport function firstCharacterToLower(thisString: string) {\r\n\tif (!thisString) {\r\n\t\treturn '';\r\n\t}\r\n\r\n\tlet newString = thisString.substring(0, 1).toLocaleLowerCase();\r\n\r\n\tif (thisString.length > 1) {\r\n\t\tnewString += thisString.substring(1);\r\n\t}\r\n\r\n\treturn newString;\r\n}\r\n\r\n// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\r\nexport function padStart(value, targetLength, padString) {\r\n\t// tslint:disable-next-line:no-bitwise\r\n\ttargetLength = targetLength >> 0; // truncate if number, or convert non-number to 0;\r\n\tpadString = String(typeof padString !== 'undefined' ? padString : ' ');\r\n\tif (value.length >= targetLength) {\r\n\t\treturn String(value);\r\n\t} else {\r\n\t\ttargetLength = targetLength - value.length;\r\n\t\tif (targetLength > padString.length) {\r\n\t\t\tpadString += padString.repeat(targetLength / padString.length); // append to original to ensure we are longer than needed\r\n\t\t}\r\n\t\treturn padString.slice(0, targetLength) + String(value);\r\n\t}\r\n}\r\n\r\n/**\r\n * Converts a string from \" Something Like This\" to \"something-like-this\"\r\n * @param value The string to convert\r\n */\r\nexport function toKebabCase(value: string) {\r\n\tif (!value || !value.trim()) {\r\n\t\treturn '';\r\n\t}\r\n\r\n\treturn value\r\n\t\t.trim()\r\n\t\t.replace(/[^a-zA-Z0-9]+/g, '-')\r\n\t\t.replace(/([a-z0-9])([A-Z])/g, '$1-$2')\r\n\t\t.replace(/([A-Z])([A-Z])(?=[a-z])/g, '$1-$2')\r\n\t\t.replace(/-$/, '')\r\n\t\t.toLocaleLowerCase();\r\n}\r\n\r\n/**\r\n * Converts a string from PascalCase, camelCase, snake_case, or space separated to camelCase. Beginning and trailing whitespace are trimmed.\r\n * @param value The string to convert\r\n */\r\nexport function toCamelCase(value: string) {\r\n\treturn value\r\n\t\t.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function (word, index) {\r\n\t\t\treturn index === 0 ? word.toLowerCase() : word.toUpperCase();\r\n\t\t})\r\n\t\t.replace(/(?:\\s+|[-_])/g, '');\r\n}\r\n\r\n/**\r\n * Removes html characters\r\n *\r\n * @export\r\n * @param {*} html\r\n * @returns\r\n */\r\nexport function stripHtml(html) {\r\n\tconst tmp = document.createElement('div');\r\n\ttmp.innerHTML = html;\r\n\treturn tmp.textContent || tmp.innerText || '';\r\n}\r\n\r\n/**\r\n * Cuts of text and adds ellipsis (...) after a certain number of characters\r\n * @param text The text to format\r\n * @param cutoff The number of characters to add the ellipsis after\r\n */\r\nexport function addEllipsis(text: string, cutoff: number = 20) {\r\n\tif (!text || text.length < cutoff) {\r\n\t\treturn text;\r\n\t}\r\n\r\n\treturn text.substring(0, cutoff) + '...';\r\n}\r\n\r\n/**\r\n * Trims a string value\r\n */\r\nexport function trimString(value: string) {\r\n\treturn value ? value.trim() : '';\r\n}\r\n","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\n\r\n/**\r\n * Shopping Cart SVG\r\n *\r\n * @returns\r\n */\r\nfunction ShoppingCartSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nShoppingCartSVG.defaultProps = { className: '' };\r\n\r\nexport default ShoppingCartSVG;\r\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js!./styles.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","import { ExternalLoginProvider } from 'features/login/ExternalLogins';\r\n\r\n/**\r\n * Extends Window with a property that will hold the client data\r\n *\r\n * @interface WindowWithClientData\r\n * @extends {Window}\r\n */\r\ninterface WindowWithServerData extends Window {\r\n\t__ROC_SERVER_DATA__?: Array<{\r\n\t\t[name: string]: string;\r\n\t}>;\r\n}\r\n\r\n/**\r\n * This type will hold all the keys that are used by ServerData\r\n */\r\ninterface ServerData {\r\n\tIsReCaptchaEnabled?: boolean;\r\n\tReCaptchaV3Key?: string;\r\n\tTimeZone?: string;\r\n\tUSE_EMAIL_AS_USERNAME?: boolean;\r\n\tRegistrationThankYouTitle?: string;\r\n\tRegistrationThankYouMessage?: string;\r\n\tForgotPasswordConfirmationTitle?: string;\r\n\tForgotPasswordConfirmationMessage?: string;\r\n\tPageTitleSuffix?: string;\r\n\tRequireConfirmEmail?: boolean;\r\n\tACCOUNT_URL_BASE?: string;\r\n\tACCOUNT_LOGIN_URL?: string;\r\n\tACCOUNT_LOGOUT_URL?: string;\r\n\tACCOUNT_REGISTER_URL?: string;\r\n\tACCOUNT_LOGIN_WITH_2FA_URL?: string;\r\n\tACCOUNT_FORGOT_PASSWORD_URL?: string;\r\n\tACCOUNT_LOGIN_WITH_RECOVERY_CODE_URL?: string;\r\n\tEXTERNAL_LOGIN_PROVIDERS?: ExternalLoginProvider[];\r\n\t// #region Commerce\r\n\tACCOUNT_ORGANIZATION_REVIEW_URL?: string;\r\n\tACCOUNT_ORGANIZATION_SELECTOR_URL?: string;\r\n\tGoogleMapsApiKey?: string; // used in Store Locator\r\n\tMinimumTimeBeforeRecentlyViewedProductsAreValidated?: number;\r\n\tQuickOrderItemMinumumSearchCharacters?: number;\r\n\tMaxAllowedQuickOrderItems?: number;\r\n\tMaxNumberForQuantityDropdown?: number;\r\n\tOrderDetailsUIComponent?: string;\r\n\tGuestCheckoutEnabled?: boolean;\r\n\t// #endregion\r\n}\r\n\r\n/**\r\n * Main object that will hold all the client data\r\n */\r\nexport const ServerData: ServerData = {};\r\n\r\n/**\r\n * Initializer function that will populate the main settings object\r\n */\r\nfunction initializeServerData() {\r\n\tconst windowWithServerData = window as WindowWithServerData;\r\n\r\n\tif (\r\n\t\twindowWithServerData &&\r\n\t\twindowWithServerData.__ROC_SERVER_DATA__ &&\r\n\t\tArray.isArray(windowWithServerData.__ROC_SERVER_DATA__)\r\n\t) {\r\n\t\tfor (const obj of windowWithServerData.__ROC_SERVER_DATA__) {\r\n\t\t\tfor (const key of Object.keys(obj)) {\r\n\t\t\t\tServerData[key] = obj[key];\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\ninitializeServerData();\r\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"/* This code is subject to LICENSE in root of this repository */\\n\\n/* Used to detect in JavaScript if apps have loaded styles or not. */\\n:root {\\n --reach-dialog: 1;\\n}\\n\\n[data-reach-dialog-overlay] {\\n background: hsla(0, 0%, 0%, 0.33);\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n overflow: auto;\\n}\\n\\n[data-reach-dialog-content] {\\n width: 50vw;\\n margin: 10vh auto;\\n background: white;\\n padding: 2rem;\\n outline: none;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import React from 'react';\r\nimport useDelayedDisplay from 'shared/hooks/useDelayedDisplay';\r\nimport classnames from 'classnames';\r\n\r\ntype SpinnerAlignment = 'left' | 'right' | 'none';\r\n\r\ninterface SpinnerProps {\r\n\tlight?: boolean;\r\n\twaitMs?: number;\r\n\talign?: SpinnerAlignment;\r\n\tblock?: boolean;\r\n\tparentCentered?: boolean;\r\n}\r\n\r\n/**\r\n * Reusable roc-spinner component with color, alignment and wait time props.\r\n *\r\n * @export\r\n * @param {SpinnerProps} { light = false, waitMs = 200, align = 'right', block }\r\n * @returns\r\n */\r\nexport default function Spinner({\r\n\tlight = false,\r\n\twaitMs = 200,\r\n\talign = 'right',\r\n\tblock,\r\n\tparentCentered = false,\r\n}: SpinnerProps) {\r\n\tconst display = useDelayedDisplay(waitMs);\r\n\r\n\tif (!display) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tconst spinner = (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n\r\n\tif (parentCentered) {\r\n\t\treturn
{spinner}
;\r\n\t}\r\n\r\n\treturn spinner;\r\n}\r\n","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\nimport classnames from 'classnames';\r\n\r\n/**\r\n * Map pin SVG\r\n *\r\n * @returns\r\n */\r\nfunction MapPinSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default MapPinSVG;\r\n","import classnames from 'classnames';\r\nimport React from 'react';\r\nimport { SVGProps } from '../SVGProps';\r\n\r\n/**\r\n * Organization Simple SVG\r\n *\r\n * @returns\r\n */\r\nfunction OrganizationSimpleSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default OrganizationSimpleSVG;\r\n","import axios, { AxiosInstance, AxiosResponse, AxiosError } from 'axios';\r\nimport AccountUrls from 'shared/util/AccountUrls';\r\nimport { getCsrfToken } from './UserData';\r\n\r\n/**\r\n * Helper that creates an instance of Axios to be used throughout the client application\r\n * and adds a default X-Requested-With header to all requests.\r\n *\r\n */\r\nconst AxiosHelper: AxiosInstance = axios.create();\r\nAxiosHelper.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\r\n\r\n// Add CSRF tokens to all commands that are not GET, HEAD, or OPTIONS\r\nAxiosHelper.interceptors.request.use(async (config) => {\r\n\tif (\r\n\t\tconfig.method?.toLowerCase() !== 'get' &&\r\n\t\tconfig.method?.toLowerCase() !== 'head' &&\r\n\t\tconfig.method?.toLowerCase() !== 'options'\r\n\t) {\r\n\t\tconst csrfToken = await getCsrfToken();\r\n\t\tconfig.headers = { RequestVerificationToken: csrfToken, ...config.headers };\r\n\t}\r\n\treturn config;\r\n});\r\n\r\nexport default AxiosHelper;\r\n\r\n// eslint-disable-next-line no-unused-vars\r\nexport const addUnauthorizedAccessInterceptor = (history) => {\r\n\t// this allows us to act when any request going through axios succeeds or fails.\r\n\tAxiosHelper.interceptors.response.use(\r\n\t\t(response: AxiosResponse) => {\r\n\t\t\treturn response;\r\n\t\t},\r\n\t\t(error: AxiosError) => {\r\n\t\t\tif (error.response && error.response.status === 401) {\r\n\t\t\t\twindow.location.replace(\r\n\t\t\t\t\t`${AccountUrls.Login}?ReturnUrl=${encodeURIComponent(window.location.pathname)}`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\treturn Promise.reject(error);\r\n\t\t},\r\n\t);\r\n};\r\n","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\nimport classnames from 'classnames';\r\n\r\n/**\r\n * Credit Card Simple SVG\r\n *\r\n * @returns\r\n */\r\nfunction CreditCardSimpleSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default CreditCardSimpleSVG;\r\n","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\nimport classnames from 'classnames';\r\n\r\n/**\r\n * Clock SVG\r\n *\r\n * @returns\r\n */\r\nfunction ClockSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default ClockSVG;\r\n","import React from 'react';\r\nimport UpChevronSVG from 'shared/components/svg/LeftChevronSVG';\r\nimport { Localizer } from 'services/Localizer';\r\n\r\n/**\r\n * Represents one breadcrumb item in a list of breadcrumb items that defines the breadcrumb trail\r\n */\r\nexport interface BreadcrumbItem {\r\n\tlabel: string;\r\n\turl?: string;\r\n}\r\n\r\ninterface BreadcrumbProps {\r\n\tbreadcrumbPath?: BreadcrumbItem[];\r\n\tbackToPage?: BreadcrumbItem;\r\n\trenderPathLink?: (item: BreadcrumbItem) => React.ReactNode;\r\n}\r\n\r\n/**\r\n * Renders a set of links that represent breadcrumbs for the current location.]\r\n * It can optionally render a \"back to page\" link when this is set in sessionStorage.\r\n */\r\nexport default function Breadcrumbs(props: BreadcrumbProps) {\r\n\tconst {\r\n\t\tbreadcrumbPath,\r\n\t\tbackToPage,\r\n\t\trenderPathLink = (item) => (\r\n\t\t\t\r\n\t\t\t\t{item.label}\r\n\t\t\t\r\n\t\t),\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{backToPage && backToPage.url && window.history.length > 2 ? (\r\n\t\t\t\t<>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t window.history.back()}\r\n\t\t\t\t\t\tclassName=\"roc-breadcrumbs-bar__back-link roc-btn-link\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{backToPage.label}\r\n\t\t\t\t\t\r\n\t\t\t\t\t|\r\n\t\t\t\t\r\n\t\t\t) : null}\r\n\t\t\t{breadcrumbPath ? (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{Localizer('Home')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t
/
\r\n\t\t\t\t\t{breadcrumbPath.map((entry, i) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{renderPathLink(entry)}\r\n\t\t\t\t\t\t\t{i + 1 < breadcrumbPath.length ? (\r\n\t\t\t\t\t\t\t\t
/
\r\n\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t) : null}\r\n\t\t
\r\n\t);\r\n}\r\n","var map = {\n\t\"./DefaultOrganizationOrderDetails\": [\n\t\t198,\n\t\t9,\n\t\t9,\n\t\t13\n\t],\n\t\"./DefaultOrganizationOrderDetails.tsx\": [\n\t\t198,\n\t\t9,\n\t\t9,\n\t\t13\n\t],\n\t\"./OrganizationOrderListing\": [\n\t\t239,\n\t\t9,\n\t\t18\n\t],\n\t\"./OrganizationOrderListing.tsx\": [\n\t\t239,\n\t\t9,\n\t\t18\n\t],\n\t\"./OrganizationOrders\": [\n\t\t241,\n\t\t9,\n\t\t3,\n\t\t4,\n\t\t5,\n\t\t6,\n\t\t14\n\t],\n\t\"./OrganizationOrders.tsx\": [\n\t\t241,\n\t\t9,\n\t\t3,\n\t\t4,\n\t\t5,\n\t\t6,\n\t\t14\n\t],\n\t\"./RocOrganizationOrderDetails\": [\n\t\t240,\n\t\t9,\n\t\t9\n\t],\n\t\"./RocOrganizationOrderDetails.tsx\": [\n\t\t240,\n\t\t9,\n\t\t9\n\t],\n\t\"./types\": [\n\t\t242,\n\t\t7,\n\t\t19\n\t],\n\t\"./types.ts\": [\n\t\t242,\n\t\t7,\n\t\t19\n\t],\n\t\"./useOrganizationOrderDetails\": [\n\t\t238,\n\t\t9,\n\t\t17\n\t],\n\t\"./useOrganizationOrderDetails.ts\": [\n\t\t238,\n\t\t9,\n\t\t17\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(2).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, ids[1])\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 244;\nmodule.exports = webpackAsyncContext;","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\nimport classnames from 'classnames';\r\n\r\n/**\r\n * Menu SVG\r\n *\r\n * @returns\r\n */\r\nfunction MenuSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default MenuSVG;\r\n","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\n\r\n/**\r\n * Shopping List SVG\r\n *\r\n * @returns\r\n */\r\nfunction ShoppingListSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nShoppingListSVG.defaultProps = { className: '' };\r\n\r\nexport default ShoppingListSVG;\r\n","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\nimport classnames from 'classnames';\r\n\r\n/**\r\n * Bookmark SVG\r\n *\r\n * @returns\r\n */\r\nfunction BookmarkSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default BookmarkSVG;\r\n","import React from 'react';\r\nimport { SVGProps } from '../SVGProps';\r\nimport classnames from 'classnames';\r\n\r\n/**\r\n * Users SVG\r\n *\r\n * @returns\r\n */\r\nfunction UsersSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default UsersSVG;\r\n","import 'intersection-observer';\r\n\r\nif (document.readyState !== 'loading') {\r\n\tlazyLoadImages();\r\n} else {\r\n\tdocument.addEventListener('DOMContentLoaded', function () {\r\n\t\tlazyLoadImages();\r\n\t});\r\n}\r\n\r\n/**\r\n * Initializes lazy loading for image assets.\r\n * Example usage:\r\n * \"\"\r\n */\r\nexport function lazyLoadImages() {\r\n\t// Get our lazy-loaded images\r\n\tconst lazyImages = [].slice.call(document.querySelectorAll('.roc-lazy-image'));\r\n\r\n\tconst defaultDelay = 10;\r\n\t// Create new observer object\r\n\tconst lazyImageObserver = new IntersectionObserver(function (entries) {\r\n\t\t// Loop through IntersectionObserverEntry objects\r\n\t\tentries.forEach(function (entry) {\r\n\t\t\t// Do these if the target intersects with the root\r\n\t\t\tif (entry.isIntersecting) {\r\n\t\t\t\tconst lazyImage = entry.target as HTMLImageElement;\r\n\r\n\t\t\t\tif (lazyImage.dataset.src) {\r\n\t\t\t\t\tlazyImage.src = lazyImage.dataset.src;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst attributeDelay = Number(lazyImage.getAttribute('data-roc-lazy-delay')) || defaultDelay;\r\n\t\t\t\tlazyImage.classList.remove('roc-lazy-image--inactive');\r\n\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tlazyImage.classList.add('roc-lazy-image--loaded');\r\n\t\t\t\t\tlazyImageObserver.unobserve(lazyImage);\r\n\t\t\t\t}, attributeDelay);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\t// Loop through and observe each image\r\n\tlazyImages.forEach(function (lazyImage) {\r\n\t\tlazyImageObserver.observe(lazyImage);\r\n\t});\r\n}\r\n\r\ninterface LazyElementsArgs {\r\n\t/**\r\n\t * The elements to observe\r\n\t */\r\n\telements: HTMLElement[];\r\n\r\n\t/**\r\n\t * The callback function called when the intersection observer fires.\r\n\t */\r\n\tcallback: (isIntersecting: boolean) => void;\r\n\r\n\t/**\r\n\t * The amount of time to delay before calling the callback. Defaults to 0.\r\n\t */\r\n\tdelay?: number;\r\n\r\n\t/**\r\n\t * Stop listening to changes once the element has been in the viewport.\r\n\t */\r\n\tstopAfterIntersecting?: boolean;\r\n}\r\n\r\n/**\r\n * Helper to receive a callback when an element becomes visible in a viewport, or when it leaves the viewport.\r\n * This is useful if you need to do a vanilla JS implementation (without React).\r\n */\r\nexport function lazyElements({ elements, callback, delay = 0, stopAfterIntersecting = true }: LazyElementsArgs) {\r\n\tconst lazyElementObserver = new IntersectionObserver(function (entries) {\r\n\t\tentries.forEach((entry) => {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tcallback(entry.isIntersecting);\r\n\t\t\t}, delay);\r\n\r\n\t\t\tif (stopAfterIntersecting && entry.isIntersecting) {\r\n\t\t\t\tlazyElementObserver.unobserve(entry.target);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\telements.forEach((lazyElement) => {\r\n\t\tlazyElementObserver.observe(lazyElement);\r\n\t});\r\n}\r\n","import Axios, { AxiosError, CancelTokenSource } from 'axios';\r\nimport { UPDATE_USER_DEFAULT_ORGANIZATION_URL } from 'features/commerce/organization/routes';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useHistory, withRouter } from 'react-router';\r\nimport AxiosHelper from 'services/AxiosHelper';\r\nimport { Localizer } from 'services/Localizer';\r\nimport { getUserData, OrganizationDto, UserData } from 'services/UserData';\r\nimport OrganizationSimpleSVG from 'shared/components/svg/commerce/OrganizationSimpleSVG';\r\nimport InlineAlert from 'shared/edit/InlineAlert';\r\nimport AccountUrls from 'shared/util/AccountUrls';\r\nimport { toKebabCase } from 'util/StringUtil';\r\n\r\n/**\r\n * Function to update current user default organization.\r\n */\r\nexport async function updateUserDefaultOrganization(organizationId?: string) {\r\n\tconst requestToken: CancelTokenSource = Axios.CancelToken.source();\r\n\tawait AxiosHelper.post(\r\n\t\t`/ajax${UPDATE_USER_DEFAULT_ORGANIZATION_URL}`,\r\n\t\t{\r\n\t\t\torganizationId: organizationId,\r\n\t\t},\r\n\t\t{\r\n\t\t\tcancelToken: requestToken.token,\r\n\t\t},\r\n\t);\r\n}\r\n\r\n/**\r\n * Component displayed to user to select the organization that he will be shopping for.\r\n */\r\nfunction OrganizationSelector() {\r\n\tconst [errorMessage, setErrorMessage] = useState();\r\n\tconst [userData, setUserData] = useState();\r\n\tconst history = useHistory();\r\n\r\n\tuseEffect(() => {\r\n\t\t(async () => {\r\n\t\t\ttry {\r\n\t\t\t\tconst data = (await getUserData()).data;\r\n\t\t\t\tsetUserData(data);\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.error('Unable to load user data.', error);\r\n\t\t\t}\r\n\t\t})();\r\n\t}, []);\r\n\r\n\t// if a user tries accessing the organization selector and the server middeleware\r\n\t// has not been triggered and the user has not multiple organizations\r\n\t// we need to redirect him to my-account page\r\n\tuseEffect(() => {\r\n\t\tif (\r\n\t\t\tuserData &&\r\n\t\t\tuserData.summary &&\r\n\t\t\t(userData.summary?.userOrganizations == null ||\r\n\t\t\t\tuserData.summary?.organization ||\r\n\t\t\t\tuserData.summary?.userOrganizations.length == 1) &&\r\n\t\t\thistory.location.pathname.startsWith(AccountUrls.OrganizationSelector)\r\n\t\t) {\r\n\t\t\twindow.location.href = AccountUrls.BaseUrl;\r\n\t\t}\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [userData]);\r\n\r\n\t/**\r\n\t * set the current user default organization\r\n\t */\r\n\tconst setUserDefaultOrganization = async (organizationId?: string): Promise => {\r\n\t\ttry {\r\n\t\t\tawait updateUserDefaultOrganization(organizationId);\r\n\t\t\twindow.location.href = AccountUrls.BaseUrl;\r\n\t\t} catch (error) {\r\n\t\t\tif (Axios.isCancel(error)) {\r\n\t\t\t\t// if the component was unmounted, there's nothing to do\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tconst axiosError = error as AxiosError;\r\n\r\n\t\t\tif (axiosError && axiosError.response && axiosError.response.data && axiosError.response.data.message) {\r\n\t\t\t\tsetErrorMessage(axiosError.response.data.message);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tif (!userData?.summary?.userOrganizations) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t

\r\n\t\t\t\t{' '}\r\n\t\t\t\t{Localizer('OrganizationSelectorTitle')}\r\n\t\t\t

\r\n\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{errorMessage ? : null}\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n}\r\n\r\n/**\r\n * Default organization selector component props.\r\n */\r\ninterface DefaultOrganizationSelectorProps {\r\n\t/**\r\n\t * Current user organizations list.\r\n\t */\r\n\torganizations: OrganizationDto[];\r\n\r\n\t/**\r\n\t * Current selected organization.\r\n\t */\r\n\tcurrentOrganizationId?: string;\r\n\r\n\t/**\r\n\t * Sets the user default organization.\r\n\t */\r\n\tselectDefaultOrganization: (defaultOrganization: string) => Promise;\r\n}\r\n\r\n/**\r\n * Component displayed to user to select default organization.\r\n */\r\nfunction DefaultOrganizationSelector(props: DefaultOrganizationSelectorProps) {\r\n\tconst { currentOrganizationId, organizations, selectDefaultOrganization } = props;\r\n\tconst [selectedDefaultOrganization, setSelectedDefaultOrganization] = useState();\r\n\r\n\tuseEffect(() => {\r\n\t\tconst defaultOrganization = organizations?.find((org) => org.value === currentOrganizationId);\r\n\t\tsetSelectedDefaultOrganization(defaultOrganization ?? organizations[0]);\r\n\t}, [organizations, currentOrganizationId]);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t
\r\n\t\t\t\t{Localizer('OrganizationSelectorText')}\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{organizations.map((organization, index) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tselectDefaultOrganization(selectedDefaultOrganization?.value ?? organizations[0].value);\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tclassName=\"roc-btn roc-manage-layout__actions-item\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{Localizer('Submit')}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n}\r\n\r\n/**\r\n * Single organization selector option props.\r\n */\r\ninterface OrganizationSelectorOptionProps {\r\n\t/**\r\n\t * The organization that we will show an option for.\r\n\t */\r\n\torganization: OrganizationDto;\r\n\r\n\t/**\r\n\t * The function to updated the selected organization.\r\n\t */\r\n\tsetSelectedOrganizationOption: (organization: OrganizationDto) => void;\r\n\r\n\t/**\r\n\t * The currently seleted organization.\r\n\t */\r\n\tselectedOrganization?: OrganizationDto;\r\n\r\n\t/**\r\n\t * The user current default organization id.\r\n\t */\r\n\tcurrentOrganizationId?: string;\r\n\r\n\t/**\r\n\t * unique key for each option.\r\n\t */\r\n\tindex?: number;\r\n}\r\n\r\n/**\r\n * Markup for individual organization selector option.\r\n */\r\nfunction OrganizationSelectorOption(props: OrganizationSelectorOptionProps) {\r\n\tconst { organization, setSelectedOrganizationOption, selectedOrganization, currentOrganizationId, index } = props;\r\n\r\n\tconst onRadioButtonChanged = () => {\r\n\t\tsetSelectedOrganizationOption(organization);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{organization.label}{' '}\r\n\t\t\t\t\t{organization.value == currentOrganizationId ? '( ' + Localizer('CurrentText') + ' )' : null}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default withRouter(OrganizationSelector);\r\n","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\nimport classnames from 'classnames';\r\n\r\n/**\r\n * Cart Down Arrow SVG Icon\r\n *\r\n * @returns\r\n */\r\nfunction CartDownArrowSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default CartDownArrowSVG;\r\n","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\nimport classnames from 'classnames';\r\n\r\n/**\r\n * Lock Simple SVG\r\n *\r\n * @returns\r\n */\r\nfunction LockSimpleSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default LockSimpleSVG;\r\n","import type PreHeader from 'features/pre-header/PreHeader';\r\nimport React, { Suspense } from 'react';\r\nimport { initReactApp } from 'shared/util/ApplicationInit';\r\nconst LazyPreHeader = React.lazy(\r\n\t() => import(/* webpackChunkName: \"pre-header\" */ 'features/pre-header/PreHeader'),\r\n);\r\n\r\n/**\r\n * Renders impersonation header in the roc-pre-header div\r\n */\r\nexport default function RenderImpersonationHeader() {\r\n\treturn initReactApp(\r\n\t\t() => (\r\n\t\t\tLoading Impersonation Controls...
}>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t),\r\n\t\t'roc-pre-header',\r\n\t)();\r\n}\r\n","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\nimport classnames from 'classnames';\r\n\r\n/**\r\n * VersaPay SVG\r\n *\r\n * @returns\r\n */\r\nfunction VersaPaySVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default VersaPaySVG;\r\n","import React from 'react';\r\nimport classnames from 'classnames';\r\nimport { Localizer } from 'services/Localizer';\r\nimport { AxiosError } from 'axios';\r\nimport XSVG from 'shared/components/svg/XSVG';\r\n\r\ntype Theme = 'danger' | 'warning' | 'info' | 'success';\r\n\r\nexport interface ErrorAlertProps {\r\n\t/**\r\n\t * The title of the error message such as \"Uh Oh!\" or \"An Unexpected Error has Occurred!\"\r\n\t */\r\n\ttitle: string;\r\n\r\n\t/**\r\n\t * The error message to display if an error object doesn't have a more appropriate message.\r\n\t */\r\n\tmessage: React.ReactNode | string;\r\n\r\n\tchildren?: any;\r\n\r\n\ttheme?: Theme;\r\n\r\n\tisTitleOnOwnRow?: boolean;\r\n\r\n\t/** The error responsible for this message. */\r\n\terror: AxiosError | Error | null;\r\n\r\n\t/**\r\n\t * Method from parent that handles collapse state.\r\n\t */\r\n\tonCollapse?: (collased: boolean) => void;\r\n\r\n\t/**\r\n\t * Controlled collapse state from parent.\r\n\t */\r\n\tisCollapsed?: boolean;\r\n}\r\n\r\n/**\r\n * Reusable Error Alert Component.\r\n */\r\nexport default function InlineAlert(props: ErrorAlertProps) {\r\n\tconst {\r\n\t\ttitle = InlineAlert.defaultProps.title,\r\n\t\tchildren,\r\n\t\ttheme = 'danger',\r\n\t\tisTitleOnOwnRow = false,\r\n\t\terror = InlineAlert.defaultProps.error,\r\n\t\tisCollapsed = false,\r\n\t\tonCollapse,\r\n\t} = props;\r\n\r\n\tlet { message = InlineAlert.defaultProps.message } = props;\r\n\r\n\tconst axiosError = error as AxiosError | null;\r\n\tif (axiosError?.isAxiosError && axiosError != null && axiosError.response == null && axiosError.request != null) {\r\n\t\tmessage = Localizer('ErrorMessageNetwork');\r\n\t}\r\n\r\n\tif (axiosError?.isAxiosError && (axiosError?.response?.status === 401 || axiosError?.response?.status === 403)) {\r\n\t\tmessage = Localizer('ErrorMessageForbidden');\r\n\t}\r\n\r\n\tif (axiosError?.response?.data?.message) {\r\n\t\tmessage = axiosError.response.data.message;\r\n\t}\r\n\r\n\tif (isCollapsed) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{onCollapse ? (\r\n\t\t\t\t\r\n\t\t\t) : null}\r\n\r\n\t\t\t{title ? (\r\n\t\t\t\t\r\n\t\t\t\t\t{title}\r\n\t\t\t\t\r\n\t\t\t) : null}\r\n\r\n\t\t\t{message ? {message} : null}\r\n\r\n\t\t\t{children ? <> {children} : null}\r\n\t\t\r\n\t);\r\n}\r\n\r\n/**\r\n * Error Alert Default Props\r\n */\r\nInlineAlert.defaultProps = {\r\n\ttitle: Localizer('ErrorMessageGenericTitle'),\r\n\tmessage: Localizer('UnexpectedErrorOccurred'),\r\n\terror: null,\r\n};\r\n","import { useEffect } from 'react';\r\nimport 'shared/polyfills/customEvent';\r\nimport { RocEventType, ExtractEventParameters, RocEvent } from 'shared/events';\r\nimport addRocEventHandler from 'shared/util/events/rocEventUtils';\r\n\r\n/**\r\n * Helper function for dispatching ROC events.\r\n *\r\n * @param eventType The event type for the dispatcher\r\n */\r\nexport function dispatchRocEvent(eventType: T, data: ExtractEventParameters) {\r\n\tconst event = new CustomEvent(eventType, {\r\n\t\tdetail: data,\r\n\t});\r\n\tdocument.dispatchEvent(event);\r\n}\r\n\r\n/**\r\n * Reusable hook for handling ROC events\r\n *\r\n * @param eventType The type of event to handle\r\n * @param eventHandler The event handler\r\n * @param deps List of dependencies\r\n */\r\nexport default function useRocEventHandler(\r\n\teventType: T,\r\n\teventHandler: (data: ExtractEventParameters) => void,\r\n\tdeps?: any[],\r\n) {\r\n\tuseEffect(() => {\r\n\t\tconst removeHandlerCallback = addRocEventHandler(eventType, eventHandler);\r\n\r\n\t\treturn () => {\r\n\t\t\tremoveHandlerCallback();\r\n\t\t};\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, deps);\r\n}\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport { Localizer } from 'services/Localizer';\r\nimport { NavLink } from 'react-router-dom';\r\nimport classnames from 'classnames';\r\nimport { useLocation, useHistory } from 'react-router';\r\nimport { ServerData } from 'services/ServerData';\r\nimport MenuSVG from 'shared/components/svg/MenuSVG';\r\nimport { ORGANIZATION_USERS_URL, ORGANIZATION_SHIPTOS_URL, ORGANIZATION_ORDERS_URL } from './routes';\r\nimport ClockSVG from 'shared/components/svg/ClockSVG';\r\nimport UsersSVG from 'shared/components/svg/commerce/UsersSVG';\r\nimport MapPinSVG from 'shared/components/svg/MapPinSVG';\r\nimport { getUserData, UserData } from 'services/UserData';\r\nimport AccountUrls from 'shared/util/AccountUrls';\r\n\r\n/**\r\n * Navigation component for the Organization SPA\r\n */\r\nexport default function Nav() {\r\n\tconst sidebarEl = useRef(null);\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\r\n\tconst [isNavOpen, setIsNavOpen] = useState(false);\r\n\tconst [isOrganizationUser, setIsOrganizationUser] = useState(false);\r\n\tconst [userData, setUserData] = useState();\r\n\r\n\t/**\r\n\t * Handle when the user clicks the toggle nav button.\r\n\t */\r\n\tconst handleToggleNavClick = () => {\r\n\t\tsetIsNavOpen(!isNavOpen);\r\n\t};\r\n\r\n\tif (\r\n\t\t!history.location.pathname.startsWith(AccountUrls.OrganizationReview) &&\r\n\t\tuserData &&\r\n\t\tuserData.summary &&\r\n\t\tuserData.summary.organizationInvites &&\r\n\t\tuserData.summary.organizationInvites.length > 0\r\n\t) {\r\n\t\thistory.push(AccountUrls.OrganizationReview);\r\n\t} else if (\r\n\t\t!history.location.pathname.startsWith(AccountUrls.OrganizationSelector) &&\r\n\t\tuserData &&\r\n\t\tuserData.summary &&\r\n\t\tuserData.summary.userOrganizations &&\r\n\t\tuserData.summary.userOrganizations.length > 1 &&\r\n\t\tuserData.summary.organization == null\r\n\t) {\r\n\t\thistory.push(AccountUrls.OrganizationSelector);\r\n\t}\r\n\r\n\tlet pageTitle = '';\r\n\tlet ordersActive = false;\r\n\tlet usersActive = false;\r\n\tlet shiptosActive = false;\r\n\r\n\tif (location.pathname.startsWith(ORGANIZATION_ORDERS_URL)) {\r\n\t\tpageTitle = Localizer('Orders');\r\n\t\tordersActive = true;\r\n\t} else if (location.pathname.startsWith(ORGANIZATION_USERS_URL)) {\r\n\t\tpageTitle = Localizer('OrgUsers');\r\n\t\tusersActive = true;\r\n\t} else if (location.pathname.startsWith(ORGANIZATION_SHIPTOS_URL)) {\r\n\t\tpageTitle = Localizer('ShipTosText');\r\n\t\tshiptosActive = true;\r\n\t} else {\r\n\t\t// default page\r\n\t\tpageTitle = Localizer('OrganizationOverviewText');\r\n\t}\r\n\r\n\tdocument.title = pageTitle + ServerData.PageTitleSuffix;\r\n\r\n\tconst handleClickOutside = (e) => {\r\n\t\tif (sidebarEl && sidebarEl.current && !sidebarEl.current.contains(e.target)) {\r\n\t\t\tsetIsNavOpen(false);\r\n\t\t}\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tdocument.addEventListener('mousedown', handleClickOutside);\r\n\r\n\t\thistory.listen(() => {\r\n\t\t\tsetIsNavOpen(false);\r\n\t\t});\r\n\r\n\t\treturn () => {\r\n\t\t\tdocument.removeEventListener('mousedown', handleClickOutside);\r\n\t\t};\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, []);\r\n\r\n\tconst [showUserNavigation, setShowUserNavigation] = useState(true);\r\n\tuseEffect(() => {\r\n\t\t(async () => {\r\n\t\t\ttry {\r\n\t\t\t\tconst data = (await getUserData()).data;\r\n\r\n\t\t\t\tconst isOrganizationUser =\r\n\t\t\t\t\t(data && data.summary && data.summary.isSignedIn && data.summary.organization != null) ?? false;\r\n\t\t\t\tsetIsOrganizationUser(isOrganizationUser);\r\n\r\n\t\t\t\tconst canSeeOrganizationUsers =\r\n\t\t\t\t\t(isOrganizationUser && data?.summary?.permissions?.canSeeOrganizationUsers) ?? false;\r\n\t\t\t\tsetShowUserNavigation(canSeeOrganizationUsers);\r\n\t\t\t\tsetUserData(data);\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.error('Unable to load user data.', error);\r\n\t\t\t}\r\n\t\t})();\r\n\t}, []);\r\n\r\n\tif (!isOrganizationUser) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tconst iconClass = 'roc-manage-menu__icon';\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t

\r\n\t\t\t\t\t{Localizer('ManagePageNavigation')}\r\n\t\t\t\t

\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{isNavOpen ? (\r\n\t\t\t\t\t\t{Localizer('CloseNavigation')}\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t{Localizer('OpenNavigation')}\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t{/* ROC-3667 temporary hidden\r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{Localizer('OrganizationOverviewText')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t */}\r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{Localizer('Orders')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{Localizer('ShipTosText')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t{showUserNavigation ? (\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{Localizer('OrgUsers')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t) : null}\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport { useLocation } from 'react-router';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { Localizer } from 'services/Localizer';\r\nimport Breadcrumbs, { BreadcrumbItem } from 'shared/components/Breadcrumbs';\r\nimport { toKebabCase } from 'util/StringUtil';\r\nimport {\r\n\tORGANIZATION_ORDERS_URL,\r\n\tORGANIZATION_SHIPTOS_URL,\r\n\tORGANIZATION_USERS_CREATE_URL,\r\n\tORGANIZATION_USERS_URL,\r\n} from './routes';\r\n\r\n/**\r\n * Breadcrumbs component for the organization SPA\r\n */\r\nexport default function OrganizationBreadcrumbs() {\r\n\tconst location = useLocation();\r\n\r\n\tlet label = '';\r\n\tlet url = '';\r\n\tconst orgLabel = Localizer('OrganizationHeaderText');\r\n\tlet breadcrumbPath: BreadcrumbItem[] | null = null;\r\n\tif (location.pathname.startsWith(ORGANIZATION_ORDERS_URL)) {\r\n\t\tlabel = Localizer('Orders');\r\n\t\turl = ORGANIZATION_ORDERS_URL;\r\n\t} else if (location.pathname.startsWith(ORGANIZATION_USERS_CREATE_URL)) {\r\n\t\tlabel = Localizer('AddNewUser');\r\n\t\turl = ORGANIZATION_USERS_CREATE_URL;\r\n\t\tbreadcrumbPath = [\r\n\t\t\t{\r\n\t\t\t\tlabel: Localizer('OrgUsers'),\r\n\t\t\t\turl: ORGANIZATION_USERS_URL,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: label,\r\n\t\t\t\turl: url,\r\n\t\t\t},\r\n\t\t];\r\n\t} else if (location.pathname.startsWith(ORGANIZATION_USERS_URL)) {\r\n\t\tlabel = Localizer('OrgUsers');\r\n\t\turl = ORGANIZATION_USERS_URL;\r\n\t} else if (location.pathname.startsWith(ORGANIZATION_SHIPTOS_URL)) {\r\n\t\tlabel = Localizer('ShipTosText');\r\n\t\turl = ORGANIZATION_SHIPTOS_URL;\r\n\t} else {\r\n\t\t// ROC-3667 temporary default page\r\n\t\tlabel = Localizer('Orders');\r\n\t\turl = ORGANIZATION_ORDERS_URL;\r\n\t\t// default page\r\n\t\t// label = Localizer('OrganizationOverviewText');\r\n\t\t// url = ORGANIZATION_OVERVIEW_URL;\r\n\t}\r\n\r\n\t// ROC-3667 temporary not used\r\n\tconst organizationItem: BreadcrumbItem = {\r\n\t\tlabel: orgLabel,\r\n\t};\r\n\r\n\tconst item: BreadcrumbItem = {\r\n\t\tlabel,\r\n\t\turl,\r\n\t};\r\n\r\n\tbreadcrumbPath = breadcrumbPath ? breadcrumbPath : [item];\r\n\r\n\treturn (\r\n\t\t {\r\n\t\t\t\treturn item.url ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{item.label}\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{item.label}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t}}\r\n\t\t/>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport OrganizationNav from './OrganizationNav';\r\nimport OrganizationBreadcrumbs from './OrganizationBreadcrumbs';\r\n\r\nexport interface LayoutProps {\r\n\tchildren: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Layout component for the Organization SPA\r\n */\r\nexport default function Layout(props: LayoutProps) {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
{props.children}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport { Router, Switch } from 'react-router';\r\nimport Layout from './Layout';\r\nimport { createBrowserHistory } from 'history';\r\nimport { addUnauthorizedAccessInterceptor } from 'services/AxiosHelper';\r\nimport routes from './routes';\r\n\r\nconst browserHistory = (window as any).browserHistory || createBrowserHistory();\r\n\r\naddUnauthorizedAccessInterceptor(browserHistory);\r\n\r\n/**\r\n * Organization component with router (SPA)\r\n */\r\nexport default function Organization() {\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{/* The Layout needs to be re-rendered on routing because of the dynamic header title and svg */}\r\n\t\t\t\t\t{routes}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n}\r\n","import Axios, { AxiosError, CancelTokenSource } from 'axios';\r\nimport React, { useEffect, useState } from 'react';\r\nimport AxiosHelper from 'services/AxiosHelper';\r\nimport { Localizer } from 'services/Localizer';\r\nimport { getUserData } from 'services/UserData';\r\nimport Modal from 'shared/components/Modal';\r\nimport InlineAlert from 'shared/edit/InlineAlert';\r\nimport { INVALIDATE_USER_ORGANIZATION_NOTIFICATION_CACHE_URL } from './routes';\r\n\r\n/**\r\n * Component to notify the current user whenever he got unassigned\r\n * from his current default organization.\r\n */\r\nexport default function OrganizationRemovalNotification(): JSX.Element | null {\r\n\tconst [organizationRemovalNotification, setOrganizationRemovalNotification] = useState();\r\n\tconst [isOpen, setIsOpen] = useState(true);\r\n\tconst [errorMessage, setErrorMessage] = useState();\r\n\r\n\tuseEffect(() => {\r\n\t\t(async () => {\r\n\t\t\ttry {\r\n\t\t\t\tconst userData = (await getUserData()).data;\r\n\t\t\t\tif (userData && userData.summary && userData.summary.userOrganizationRemovalNotification) {\r\n\t\t\t\t\tsetOrganizationRemovalNotification(userData.summary.userOrganizationRemovalNotification);\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.error('Unable to load user data.', error);\r\n\t\t\t}\r\n\t\t})();\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, []);\r\n\r\n\t/**\r\n\t * Function to invalidate user organization notification cache\r\n\t * when closing or clicking ok button of the notification modal.\r\n\t */\r\n\tconst onOrganizationRemovalNotificationClose = async (): Promise => {\r\n\t\tconst requestToken: CancelTokenSource = Axios.CancelToken.source();\r\n\r\n\t\ttry {\r\n\t\t\tawait AxiosHelper.post(`/ajax${INVALIDATE_USER_ORGANIZATION_NOTIFICATION_CACHE_URL}`, {\r\n\t\t\t\tcancelToken: requestToken.token,\r\n\t\t\t});\r\n\t\t\tsetIsOpen(false);\r\n\t\t} catch (error) {\r\n\t\t\tif (Axios.isCancel(error)) {\r\n\t\t\t\t// if the component was unmounted, there's nothing to do\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tconst axiosError = error as AxiosError;\r\n\t\t\tif (axiosError && axiosError.response && axiosError.response.data && axiosError.response.data.message) {\r\n\t\t\t\tsetErrorMessage(axiosError.response.data.message);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tif (!organizationRemovalNotification) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t ''}\r\n\t\t\trenderActions={() => (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{Localizer('Ok')}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t>\r\n\t\t\t{errorMessage ? : null}\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport { initReactApp, initReactAppByAttribute } from 'shared/util/ApplicationInit';\r\nimport Organization from './Organization';\r\nimport OrganizationRemovalNotification from './OrganizationRemovalNotification';\r\n\r\nconst render = initReactApp(() => , 'organization');\r\n\r\nrender();\r\n\r\n// optional, use this to enable hot reloading\r\nif ((module as any).hot) {\r\n\t(module as any).hot.accept('./Organization', () => {\r\n\t\trender();\r\n\t});\r\n}\r\n\r\n/**\r\n * Perform module setup for user organization removal notification\r\n */\r\nexport function setupOrganizationRemovalNotification() {\r\n\tconst render = initReactAppByAttribute(\r\n\t\t() => ,\r\n\t\t'data-roc-organization-user-removal-notification',\r\n\t);\r\n\r\n\trender();\r\n\r\n\t// optional, use this to enable hot reloading\r\n\tif ((module as any).hot) {\r\n\t\t(module as any).hot.accept('./OrganizationRemovalNotification', () => {\r\n\t\t\trender();\r\n\t\t});\r\n\t}\r\n}\r\n","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\nimport classnames from 'classnames';\r\n\r\n/**\r\n * X SVG\r\n *\r\n * @returns\r\n */\r\nfunction XSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default XSVG;\r\n","import AxiosHelper from 'services/AxiosHelper';\r\nimport { AxiosResponse } from 'axios';\r\n\r\nexport interface UserSummary {\r\n\tisSignedIn: boolean;\r\n\tuserName: string | null;\r\n\tfirstName: string | null;\r\n\tlastName: string | null;\r\n\temail: string | null;\r\n\tphoneNumber: string | null;\r\n\ttwoFactorEnabled: boolean;\r\n\thasRecoveryCodes: boolean;\r\n\tisMachineRemembered: boolean;\r\n\tannouncements: UserAnnouncement[];\r\n\tisExternalLoginUser: boolean;\r\n\t// #region HCL\r\n\tversaPayEnabled: boolean;\r\n\tversaPayRedirectUrl: string | null;\r\n\tazureUserId: string | null;\r\n\t// #endregion\r\n}\r\n\r\n/** Represents the details about an admin impersonation session of the logged in user. */\r\nexport interface Impersonation {\r\n\t/** The id of the admin impersonating the front end user. */\r\n\timpersonatorId: string;\r\n\r\n\t/** The name of the admin impersonating the front end user. */\r\n\timpersonatorName: string;\r\n\r\n\t/** The id of the active user impersonation session. */\r\n\tsessionId: string;\r\n}\r\n\r\nexport interface UserData {\r\n\t/**\r\n\t * Summary of user-specific details\r\n\t */\r\n\tsummary?: UserSummary;\r\n\r\n\t/**\r\n\t * CSRF validation token generated by the server\r\n\t */\r\n\trequestToken?: string;\r\n\r\n\t/**\r\n\t * The information on an impersonation session if one is active.\r\n\t * If an impersonation session isn't active this field will be undefined.\r\n\t */\r\n\timpersonation?: Impersonation;\r\n}\r\n\r\nexport interface UserAnnouncement {\r\n\t/** The id used as the primary key for the announcement in the database */\r\n\tid: string;\r\n\r\n\t/** An announcement to be displayed to the user */\r\n\tmessage: string;\r\n\r\n\t/** A list of pages where the announcement will be displayed. This will be an empty array if it is to be displayed on all pages. */\r\n\tpages: string[];\r\n}\r\n\r\nlet userDataPromise: Promise> | null = null;\r\n\r\n/**\r\n * Returns details related to the current user. By default, this is primarily their first/last name\r\n * and whether they are logged in or not. This can customized to include more details if necessary.\r\n */\r\nexport const getUserData = () => {\r\n\tif (userDataPromise === null) {\r\n\t\tuserDataPromise = AxiosHelper.get('/ajax/user');\r\n\t}\r\n\r\n\treturn userDataPromise;\r\n};\r\n\r\n/**\r\n * Returns non-cached details related to the current user. By default, this is primarily their first/last name\r\n * and whether they are logged in or not. This can customized to include more details if necessary.\r\n */\r\nexport const getUserDataNoCache = () => {\r\n\treturn AxiosHelper.get('/ajax/user');\r\n};\r\n\r\n/**\r\n * Returns a promise that will contain the CSRF token generated on the server to be used to validate\r\n * forms being posted via AJAX.\r\n */\r\nexport async function getCsrfToken() {\r\n\ttry {\r\n\t\tconst userData = await getUserData();\r\n\t\treturn userData.data.requestToken;\r\n\t} catch (error) {\r\n\t\tconsole.warn('Unable to load CSRF token.');\r\n\t\treturn '';\r\n\t}\r\n}\r\n\r\n// #region Commerce\r\nimport { CartSummary } from './UserData.Commerce';\r\nimport { LocationDto } from 'features/commerce/store-locator/types';\r\nimport { OrganizationInvite, OrganizationShipTo } from 'shared-client/types/commerce/organization';\r\nimport { AutoSuggestOption } from '../../../Roc.SharedClientApp/types/fields';\r\n\r\n// Commerce extensions to the UserData interface\r\nexport interface UserData {\r\n\t// #region HCL - allows null\r\n\tcartSummary?: CartSummary | null;\r\n\t// #endregion\r\n\r\n\t/***\r\n\t * The customer's default store location or null if not set\r\n\t */\r\n\tdefaultStoreLocation?: LocationDto | null;\r\n\r\n\t/**\r\n\t * If store is enabled for this site\r\n\t */\r\n\tenableStoreLocation?: boolean;\r\n}\r\n\r\n/***\r\n * Organization data and permissions\r\n */\r\nexport interface Organization {\r\n\tid: string;\r\n\tpurchaseOrderNumberRequired: boolean;\r\n\tcreditCardAllowed: boolean;\r\n\tgiftCardAllowed: boolean;\r\n\torganizationName: string;\r\n\tcorpAccountAllowed: boolean;\r\n}\r\n\r\n/***\r\n * Organization dto data\r\n */\r\nexport interface OrganizationDto extends AutoSuggestOption {}\r\n\r\n/***\r\n * User's organization and permissions data\r\n */\r\nexport interface UserSummary {\r\n\t/***\r\n\t * User's current default organization\r\n\t */\r\n\torganization: Organization | null;\r\n\r\n\t/***\r\n\t * The list of organizations the user is part of\r\n\t */\r\n\tuserOrganizations?: OrganizationDto[] | null;\r\n\r\n\t/***\r\n\t * The selected organization ship to\r\n\t */\r\n\tselectedShipTo: OrganizationShipTo | null;\r\n\r\n\t/***\r\n\t * Defines if the user has multiple shiptos to select from\r\n\t */\r\n\thasMultipleShipTos: boolean | null;\r\n\r\n\t/***\r\n\t * Defines if the user has saved payment methods\r\n\t */\r\n\thasSavedPaymentMethods: boolean | null;\r\n\r\n\t/***\r\n\t * The list of user permissions\r\n\t */\r\n\tpermissions?: UserPermissions;\r\n\r\n\t/***\r\n\t * The list of organizations the user is invited to join\r\n\t */\r\n\torganizationInvites?: OrganizationInvite[];\r\n\r\n\t/***\r\n\t * The user organization removal notification\r\n\t * Used to notify the user if he is no more part of his default organization\r\n\t */\r\n\tuserOrganizationRemovalNotification?: string;\r\n}\r\n\r\n/***\r\n * User's permissions\r\n */\r\nexport interface UserPermissions {\r\n\t/***\r\n\t * Defines if the current user can see organization users\r\n\t */\r\n\tcanSeeOrganizationUsers?: boolean;\r\n\r\n\t/***\r\n\t * Defines if the current user can assign roles to organization users\r\n\t */\r\n\tcanAssignRolesToOrganizationUsers?: boolean;\r\n\r\n\t/***\r\n\t * Defines if the current user can remove users from an organization\r\n\t */\r\n\tremoveUserFromOrganization?: boolean;\r\n\r\n\t/***\r\n\t * Defines if the current user can create organization users\r\n\t */\r\n\tcreateOrganizationUser?: boolean;\r\n\r\n\t/***\r\n\t * Defines if the current user can enable/disable ShipTos for organization users\r\n\t */\r\n\tmanageShipTosAssociation?: boolean;\r\n\r\n\t/***\r\n\t * Defines if the current user can see status of the organization users\r\n\t */\r\n\tcanSeePendingOrganizationUsers?: boolean;\r\n}\r\n// #endregion\r\n","import React from 'react';\r\nimport InlineAlert from 'shared/edit/InlineAlert';\r\n\r\n// eslint-disable-next-line\r\n// tslint:disable-next-line\r\nexport interface ErrorBoundaryRenderProps extends ErrorBoundaryState {}\r\n\r\nexport interface ErrorBoundaryProps {\r\n\tchildren: React.ReactNode;\r\n\trenderError?: (renderProps: ErrorBoundaryRenderProps) => React.ReactNode;\r\n}\r\n\r\nexport interface ErrorBoundaryState {\r\n\terror?: Error;\r\n}\r\n\r\n/**\r\n * Default Error Boundary component for frontend components, so that in case a JS error occurs, we show\r\n * something instead of nothing.\r\n */\r\nexport default class ErrorBoundary extends React.Component {\r\n\tpublic static defaultProps = {\r\n\t\trenderError: (renderProps: ErrorBoundaryRenderProps) => ,\r\n\t};\r\n\r\n\tpublic state: ErrorBoundaryState = {};\r\n\r\n\tpublic componentDidCatch(error: Error) {\r\n\t\tif (error.name === 'ChunkLoadError') {\r\n\t\t\tconst lastRefreshedTimestamp = new Date(\r\n\t\t\t\tparseInt(window.localStorage.getItem('force-refresh-timestamp') || '0'),\r\n\t\t\t);\r\n\t\t\tconst pageAlreadyRefreshedLessThan30SecondsAgo =\r\n\t\t\t\tnew Date(lastRefreshedTimestamp.getTime() + 30 * 1000) > new Date();\r\n\r\n\t\t\tif (!pageAlreadyRefreshedLessThan30SecondsAgo) {\r\n\t\t\t\t// Assuming that the user is not on the latest version of the application. Refresh the page immediately.\r\n\t\t\t\twindow.localStorage.setItem('force-refresh-timestamp', new Date().getTime().toString());\r\n\t\t\t\treturn window.location.reload();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.setState({\r\n\t\t\terror,\r\n\t\t});\r\n\t}\r\n\r\n\tpublic render() {\r\n\t\tif (this.state.error) {\r\n\t\t\treturn this.props.renderError!(this.state);\r\n\t\t}\r\n\r\n\t\treturn this.props.children;\r\n\t}\r\n}\r\n","import { ServerData } from 'services/ServerData';\r\n\r\nexport default {\r\n\tBaseUrl: ServerData.ACCOUNT_URL_BASE ?? '/my-account',\r\n\tLogin: ServerData.ACCOUNT_LOGIN_URL ?? '/my-account/login',\r\n\tLogin2fa: ServerData.ACCOUNT_LOGIN_WITH_2FA_URL ?? '/my-account/login-with-2fa',\r\n\tRegister: ServerData.ACCOUNT_REGISTER_URL ?? '/my-account/register',\r\n\tForgotPassword: ServerData.ACCOUNT_FORGOT_PASSWORD_URL ?? '/my-account/forgot-password',\r\n\tLoginWithRecoveryCode: ServerData.ACCOUNT_LOGIN_WITH_RECOVERY_CODE_URL ?? '/my-account/login-with-recovery-code',\r\n\tLogout: ServerData.ACCOUNT_LOGOUT_URL ?? '/my-account/logout',\r\n\t// #region Commerce\r\n\tOrganizationReview: ServerData.ACCOUNT_ORGANIZATION_REVIEW_URL ?? '/my-account/organization-review',\r\n\tOrganizationSelector: ServerData.ACCOUNT_ORGANIZATION_SELECTOR_URL ?? '/my-account/organization-selector',\r\n\t// #endregion\r\n\t// #region HCL - hardcoded same way as external login is\r\n\tExternalLogout: '/my-account/external-logout',\r\n\t// #endregion\r\n};\r\n","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\nimport classnames from 'classnames';\r\n\r\n/**\r\n * Gear SVG\r\n *\r\n * @returns\r\n */\r\nfunction GearSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default GearSVG;\r\n","import React, { useState, useEffect } from 'react';\r\nimport type PopoverType from '@reach/popover';\r\nimport classnames from 'classnames';\r\nimport type { Position } from '@reach/popover';\r\nimport Spinner from './Spinner';\r\n\r\nconst Popover = React.lazy(() => import('@reach/popover'));\r\n\r\nexport type RocPopoverSize = 'xs' | 'sm' | 'md' | 'lg';\r\n\r\ninterface RocPopoverProps {\r\n\tinnerRef: React.MutableRefObject;\r\n\ttargetRef: React.MutableRefObject;\r\n\tposition: Position;\r\n\ttitle?: string;\r\n\tsize?: RocPopoverSize;\r\n\tchildren: React.ReactNode;\r\n\tclassName?: string;\r\n}\r\n\r\n/**\r\n * Reusable popover component for displaying a ReachUI popover with sizing options.\r\n *\r\n * @export\r\n * @param {RocPopoverProps} props\r\n * @returns\r\n */\r\nexport default function RocPopover(props: RocPopoverProps) {\r\n\tconst { innerRef, targetRef, position, title, size = 'sm', children, className = '' } = props;\r\n\tconst [space, setSpace] = useState(0);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!targetRef || !targetRef.current) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tsetSpace(window.innerHeight - targetRef.current.getBoundingClientRect().bottom);\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t}>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{title ?

{title}

: null}\r\n\t\t\t\t\t
{children}
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\nimport classnames from 'classnames';\r\n\r\n/**\r\n * House SVG\r\n *\r\n * @returns\r\n */\r\nfunction HouseSVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default HouseSVG;\r\n","// source: https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttributeNames\r\n/* eslint-disable no-var */\r\n(function () {\r\n\tif (Element.prototype.getAttributeNames == undefined) {\r\n\t\tElement.prototype.getAttributeNames = function () {\r\n\t\t\tvar attributes = this.attributes;\r\n\t\t\tvar length = attributes.length;\r\n\t\t\tvar result = new Array(length);\r\n\t\t\tfor (var i = 0; i < length; i++) {\r\n\t\t\t\tresult[i] = attributes[i].name;\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t};\r\n\t}\r\n})();\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport ErrorBoundary from './ErrorBoundary';\r\nimport { toCamelCase } from 'util/StringUtil';\r\nimport 'shared/polyfills/getAttributeNames';\r\nimport Spinner from 'shared/components/Spinner';\r\n\r\ninterface AttributeProps {\r\n\t[index: string]: string;\r\n}\r\n\r\nfunction getDataPropsFromAttributes(element: Element): AttributeProps {\r\n\tconst props: AttributeProps = {};\r\n\r\n\tconst dataAttributePrefix = 'data-';\r\n\r\n\tconst attributeNames = element.getAttributeNames().filter((s) => s.startsWith(dataAttributePrefix));\r\n\tfor (const attributeName of attributeNames) {\r\n\t\tconst strippedName = toCamelCase(attributeName.substring(dataAttributePrefix.length));\r\n\t\tprops[strippedName] = element.getAttribute(attributeName) ?? '';\r\n\t}\r\n\r\n\treturn props;\r\n}\r\n\r\n/**\r\n * A helper function to facilitate initializing react applications on top of server-side rendered elements.\r\n * @param getReactElement Function that returns the react component to render.\r\n * @param elementId The ID of the DOM element being targeted.\r\n */\r\nexport const initReactApp = (getReactElement: (props: unknown) => React.ReactElement, elementId: string) => {\r\n\tif (typeof getReactElement !== 'function' || !elementId) {\r\n\t\treturn () => {\r\n\t\t\tconsole.warn('A react element generator function and element ID are required.');\r\n\t\t};\r\n\t}\r\n\r\n\tconst element = document.getElementById(elementId);\r\n\r\n\tif (!element) {\r\n\t\treturn () => {\r\n\t\t\tconsole.warn(\r\n\t\t\t\t`Element with ID '${elementId}' was not found. Did you forget to render it on the server or is this entry point not supposed to run?`,\r\n\t\t\t);\r\n\t\t};\r\n\t}\r\n\r\n\treturn () => {\r\n\t\tconst props = getDataPropsFromAttributes(element);\r\n\t\tconsole.debug(`Rendering application inside element with ID ${elementId}.`);\r\n\t\tReactDOM.render(\r\n\t\t\t}>\r\n\t\t\t\t{getReactElement(props)}\r\n\t\t\t,\r\n\t\t\telement,\r\n\t\t);\r\n\t};\r\n};\r\n\r\nexport const initReactAppByAttribute = (\r\n\tgetReactElement: (props: unknown, domElement: Element) => React.ReactElement,\r\n\tattribute: string,\r\n) => {\r\n\tif (typeof getReactElement !== 'function' || !attribute) {\r\n\t\treturn () => {\r\n\t\t\tconsole.warn('A react element generator function and element ID are required.');\r\n\t\t};\r\n\t}\r\n\r\n\tconst elements = document.querySelectorAll(`[${attribute}]`);\r\n\r\n\tif (!elements || elements.length == 0) {\r\n\t\treturn () => {\r\n\t\t\tconsole.warn(\r\n\t\t\t\t`No elements with data attribute '${attribute}' were found. Did you forget to render it on the server or is this entry point not supposed to run?`,\r\n\t\t\t);\r\n\t\t};\r\n\t}\r\n\r\n\treturn () => {\r\n\t\tfor (let i = 0; i < elements.length; ++i) {\r\n\t\t\tconst element = elements[i];\r\n\t\t\tconst props = getDataPropsFromAttributes(element);\r\n\t\t\tconsole.debug(`Rendering application inside element with attribute ${attribute}.`);\r\n\t\t\tReactDOM.render(\r\n\t\t\t\t}>\r\n\t\t\t\t\t{getReactElement(props, element)}\r\n\t\t\t\t,\r\n\t\t\t\telement,\r\n\t\t\t);\r\n\t\t}\r\n\t};\r\n};\r\n","/**\r\n * THIS HAS A COPY ON ROC.WEB. DO NOT MAKE CHANGES HERE WITHOUT ALSO MAKING THEM IN THE OTHER FILE.\r\n *\r\n * THIS MUST ALSO BE KEPT IN SYNC WITH THE \"RazorDisplayPrice\" VIEW COMPONENT.\r\n *\r\n * DIVERGENCES:\r\n * - The style \"visually-hidden\" DOES NOT EXIST ON ROC.WEB. Change this to \"roc-visually-hidden\"\r\n */\r\n\r\nimport classnames from 'classnames';\r\nimport React from 'react';\r\nimport { Localizer } from 'services/Localizer';\r\nimport { CssClasses, ProductPricingProps } from 'shared-client/types/commerce/product-details';\r\nimport {\r\n\tAmbiguousDisplayPrice,\r\n\tMissingDisplayPrice,\r\n\tPartialDisplayPrice,\r\n\tPrice,\r\n\tPriceDisplayRule,\r\n\tPriceSpan,\r\n\tSimpleDisplayPrice,\r\n} from 'shared-client/types/commerce/display-price';\r\n\r\nimport { PricingResourceKeys } from 'features/commerce/pricing/resources';\r\n\r\nconst GetCssClasses = (className: string | undefined, inline: boolean) => {\r\n\tconst priceClass = ['roc-pricing__price', className ? className + '__price' : null];\r\n\r\n\treturn {\r\n\t\tbase: ['roc-pricing', { 'roc-pricing--inline': inline }, className ? className : null],\r\n\t\tnormalPrice: ['roc-pricing__price', className ? className + '__price' : null],\r\n\t\tcrossedOutPrice: [\r\n\t\t\tpriceClass,\r\n\t\t\t'roc-pricing__price--original',\r\n\t\t\tclassName ? className + '__price--original' : null,\r\n\t\t],\r\n\t\thighlightedPrice: [priceClass, 'roc-pricing__price--sale', className ? className + '__price--sale' : null],\r\n\t};\r\n};\r\n\r\n/**\r\n * Renders a product price. This could be a simple price \"$4.99\", a price that's on sale \"~~$4.99~~ $3.99\",\r\n * a range of prices, an ambiguous price or potentially others.\r\n *\r\n * The pricing information is expected to have come from the server where it has already been validated.\r\n * It is the responsibility of the caller to verify pricing objects passed to ProductPricing are valid.\r\n */\r\nexport default function ProductPricing(props: ProductPricingProps) {\r\n\t// #region HCL\r\n\tconst { displayPrice, className, inline = false, testId = 'product-price', roundValue } = props;\r\n\t// #endregion\r\n\r\n\t// The server/caller is trusted to have provided valid props.\r\n\t// Do no validation here.\r\n\r\n\tif (displayPrice == null) {\r\n\t\t// Missing price. Remove this if MissingPrice functionality is ever needed beyond \"don't render\"\r\n\t\treturn null;\r\n\t}\r\n\r\n\tconst css = GetCssClasses(className, inline);\r\n\r\n\tlet renderResult: JSX.Element | null;\r\n\tswitch (displayPrice.displayRule) {\r\n\t\tcase PriceDisplayRule.Missing:\r\n\t\t\trenderResult = renderMissingPrice(css, displayPrice);\r\n\t\t\tbreak;\r\n\r\n\t\tcase PriceDisplayRule.Normal:\r\n\t\t\trenderResult = renderNormalPrice(css, displayPrice, testId);\r\n\t\t\tbreak;\r\n\r\n\t\tcase PriceDisplayRule.AmbiguousRange:\r\n\t\t\t// #region HCL\r\n\t\t\trenderResult = renderAmbiguousPrice(css, displayPrice, testId, roundValue);\r\n\t\t\t// #endregion\r\n\t\t\tbreak;\r\n\r\n\t\tdefault:\r\n\t\t\tthrow new Error('Erroneous price display rule');\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{renderResult}\r\n\t\t\r\n\t);\r\n}\r\n\r\n/**\r\n * Renders a missing price, eg nothing. This currently renders nothing but could be updated to render \"Not For Sale\" for example.\r\n * @param css The set of css rules that can be applied.\r\n * @param price The price object\r\n */\r\n// eslint-disable-next-line no-unused-vars\r\nfunction renderMissingPrice(css: CssClasses, price: MissingDisplayPrice) {\r\n\treturn null;\r\n}\r\n\r\n/**\r\n * Renders a normal price. This is a price that might be on sale and may either be a unit price (eg $4.99) or a\r\n * range (eg $3.99 - $7.99).\r\n * @param css The set of css rules that can be applied.\r\n * @param price The price object\r\n */\r\nfunction renderNormalPrice(css: CssClasses, price: SimpleDisplayPrice, testId: string) {\r\n\t// conditionally cross out the base price\r\n\tconst basePriceClass = price.salePrice != null ? css.crossedOutPrice : css.normalPrice;\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{Localizer('OriginalPrice')}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{price.salePrice != null ? (\r\n\t\t\t\t\r\n\t\t\t\t\t{Localizer('SalePrice')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : null}\r\n\t\t\r\n\t);\r\n}\r\n\r\n/**\r\n * Renders an ambiguous price. This is a compound price representing multiple different products where the upperbound of the price\r\n * can't be reported in a useful way. The units of measure between the base and sale price may be different.\r\n * @param css The set of css rules that can be applied.\r\n * @param price The price object\r\n */\r\n// #region HCL\r\nfunction renderAmbiguousPrice(css: CssClasses, price: AmbiguousDisplayPrice, testId: string, roundValue?: boolean) {\r\n\t// #endregion\r\n\t// conditionally cross out the base price\r\n\tconst basePriceClass = price.salePrice != null ? css.crossedOutPrice : css.normalPrice;\r\n\t// #region HCL\r\n\tconst roundedPrice = roundValue ? price.basePrice.rawValue.toFixed(2) : price.basePrice.value;\r\n\t// #endregion\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{Localizer('OriginalPrice')}\r\n\t\t\t\t\r\n\t\t\t\t\t{/* #region HCL */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* #region HCL */}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{price.salePrice != null ? (\r\n\t\t\t\t\r\n\t\t\t\t\t{Localizer('SalePrice')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : null}\r\n\t\t\r\n\t);\r\n}\r\n\r\n/**\r\n * Renders a partial display price (eg it may be either a simple price or a range price)\r\n */\r\nfunction VariantPriceComponent({ price }: { price: PartialDisplayPrice }) {\r\n\tconst label = price.unit?.label;\r\n\r\n\tswitch (typeof price.value) {\r\n\t\tcase 'string':\r\n\t\t\treturn ;\r\n\r\n\t\tcase 'object':\r\n\t\t\treturn ;\r\n\t}\r\n}\r\n\r\nfunction FormatAmbiguousPriceSpan(props: { price: Price; unitName: string }) {\r\n\t// Ambiguous prices always have a unit of measure. It is never optional.\r\n\treturn <>{Localizer('AmbiguousPriceRangeWithUnit', props.price, props.unitName)};\r\n}\r\n\r\n/**\r\n * Renders a price range (eg $14.99 - $19.99) with an optional unit of measure\r\n */\r\nfunction FormatPriceSpan(props: { priceRange: PriceSpan; unitName: string | undefined }) {\r\n\treturn props.unitName != null ? (\r\n\t\t<>\r\n\t\t\t{Localizer(\r\n\t\t\t\t'PriceRangeWithUnit',\r\n\t\t\t\tprops.priceRange.from,\r\n\t\t\t\tprops.priceRange.to,\r\n\t\t\t\tprops.unitName,\r\n\t\t\t)}\r\n\t\t\r\n\t) : (\r\n\t\t<>{Localizer('PriceRangeWithoutUnit', props.priceRange.from, props.priceRange.to)}\r\n\t);\r\n}\r\n\r\n/** Formats the price with the unit of measure (if present) appended. */\r\nfunction FormatPrice(props: { price: Price; unitName?: string }) {\r\n\treturn props.unitName != null ? (\r\n\t\t<>{Localizer('PriceWithUnit', props.price, props.unitName)}\r\n\t) : (\r\n\t\t<>{Localizer('PriceWithoutUnit', props.price)}\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport { RouteProps } from 'react-router';\r\n\r\n//#region URLs\r\nexport const MY_ACCOUNT_PATH_PREFIX = '/my-account';\r\nexport const MY_ACCOUNT_PERSONAL_DATA_URL = `${MY_ACCOUNT_PATH_PREFIX}/personal-data`;\r\nexport const MY_ACCOUNT_AUTHENTICATOR_URL = `${MY_ACCOUNT_PATH_PREFIX}/settings/authenticator`;\r\nexport const MY_ACCOUNT_GENERATE_RECOVERY_CODES_URL = `${MY_ACCOUNT_AUTHENTICATOR_URL}/generate-recovery-codes`;\r\nexport const MY_ACCOUNT_CONFIGURE_AUTHENTICATOR_URL = `${MY_ACCOUNT_AUTHENTICATOR_URL}/configure`;\r\nexport const MY_ACCOUNT_LOGIN_URL = `${MY_ACCOUNT_PATH_PREFIX}/login`;\r\nexport const MY_ACCOUNT_LOGOUT_URL = `${MY_ACCOUNT_PATH_PREFIX}/logout`;\r\nexport const MY_ACCOUNT_WALLET_URL = `${MY_ACCOUNT_PATH_PREFIX}/wallet`;\r\nexport const MY_ACCOUNT_WALLET_CREATE_URL = `${MY_ACCOUNT_WALLET_URL}/create`;\r\nexport const MY_ACCOUNT_ADDRESS_BOOK_URL = `${MY_ACCOUNT_PATH_PREFIX}/address-book`;\r\nexport const MY_ACCOUNT_ADDRESS_BOOK_CREATE_URL = `${MY_ACCOUNT_ADDRESS_BOOK_URL}/create`;\r\nexport const MY_ACCOUNT_ADDRESS_BOOK_EDIT_URL = `${MY_ACCOUNT_ADDRESS_BOOK_URL}/edit`;\r\n//#region Commerce\r\nexport const MY_ACCOUNT_SETTINGS_URL = `${MY_ACCOUNT_PATH_PREFIX}/settings`;\r\n//#endregion Commerce\r\n//#endregion URLs\r\n\r\n//#region Components\r\n// #region HCL\r\n// const SettingsComponent = React.lazy(() => import(/* webpackChunkName: \"my-account-settings\" */ './settings/Settings'));\r\n// #region\r\n\r\nconst GenerateRecoveryCodesComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-generate-recovery-codes\" */ './generate-recovery-codes/GenerateRecoveryCodesContainer'\r\n\t\t),\r\n);\r\nconst ConfigureAuthenticatorComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-configure-authenticator\" */ './configure-authenticator/ConfigureAuthenticator'\r\n\t\t),\r\n);\r\n\r\nconst WalletComponent = React.lazy(() => import(/* webpackChunkName: \"my-account-wallet\" */ './wallet/Wallet'));\r\nconst WalletEditComponent = React.lazy(() => import(/* webpackChunkName: \"my-account-wallet\" */ './wallet/WalletEdit'));\r\n\r\n//#endregion Components\r\n\r\n//#region Routes\r\nconst generateRecoverCodesRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_GENERATE_RECOVERY_CODES_URL,\r\n\tcomponent: GenerateRecoveryCodesComponent,\r\n};\r\n\r\nconst configureAuthenticatorRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_CONFIGURE_AUTHENTICATOR_URL,\r\n\tcomponent: ConfigureAuthenticatorComponent,\r\n};\r\n\r\nconst walletRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_WALLET_URL,\r\n\tcomponent: WalletComponent,\r\n};\r\n\r\nconst walletCreateRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_WALLET_CREATE_URL,\r\n\tcomponent: WalletEditComponent,\r\n};\r\n\r\n//#region Commerce\r\n// Note: in Framework we want MY_ACCOUNT_PATH_PREFIX to point to SettingsComponent,\r\n// but in Commerce we want it to point to AccountOverviewComponent\r\n//#region HCL\r\n// const settingsRoute = {\r\n// \texact: true,\r\n// \tpath: MY_ACCOUNT_SETTINGS_URL,\r\n// \tcomponent: SettingsComponent,\r\n// };\r\n//#endregion Commerce\r\n//#endregion Routes\r\n\r\nexport const rocRoutes: RouteProps[] = [\r\n\tgenerateRecoverCodesRoute,\r\n\tconfigureAuthenticatorRoute,\r\n\twalletRoute,\r\n\twalletCreateRoute,\r\n];\r\n//#endregion HCL\r\n","import { useState, useEffect } from 'react';\r\n\r\n/**\r\n * Reusable hook that returns true after a certain amount of time has passed. Useful to delay\r\n * displaying components in render functions.\r\n *\r\n * @export\r\n * @param {number} [waitMs=200]\r\n * @returns\r\n */\r\nexport default function useDelayedDisplay(waitMs: number = 200) {\r\n\tconst [display, setDisplay] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\t// after a set amount of time, show the spinner\r\n\t\tconst timeout = setTimeout(() => {\r\n\t\t\tsetDisplay(true);\r\n\t\t}, waitMs);\r\n\r\n\t\treturn () => {\r\n\t\t\tclearTimeout(timeout);\r\n\t\t};\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, []);\r\n\r\n\treturn display;\r\n}\r\n","import { RocEventType, RocEvent, ExtractEventParameters } from 'shared/events';\r\n\r\n/**\r\n * Helper function for handling ROC events from non React functions.\r\n * @param eventType The type of event to handle\r\n * @param eventHandler The event handler\r\n * @returns The callback function to remove this handler\r\n */\r\nexport default function addRocEventHandler(\r\n\teventType: T,\r\n\teventHandler: (data: ExtractEventParameters) => void,\r\n): () => void {\r\n\tconst handler = (evt: CustomEvent): void => {\r\n\t\teventHandler(evt.detail);\r\n\t};\r\n\r\n\tdocument.addEventListener(eventType, handler);\r\n\r\n\treturn () => document.removeEventListener(eventType, handler);\r\n}\r\n","import React from 'react';\r\nimport { SVGProps } from './SVGProps';\r\nimport classnames from 'classnames';\r\n\r\n/**\r\n * Star Empty SVG\r\n *\r\n * @returns\r\n */\r\nfunction StarEmptySVG({ className, ...rest }: SVGProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default StarEmptySVG;\r\n","import { PricingResult } from './pricing-result';\r\n\r\n/**\r\n * Represents a display pricing service result containing all necessary details to render a set of product prices.\r\n */\r\nexport type DisplayPricingResult = PricingResult;\r\n\r\n/**\r\n * Represents a simple price intended to be rendered.\r\n * Comparisons and arithmetic between prices is illegal besides !== and ===.\r\n * This is not suitable for transactions and attempting to use this for transactions is erroneous.\r\n */\r\nexport type Price = string;\r\n\r\n/**\r\n * Represents an inclusive range of prices. It is erroneous for a price span no length (eg the\r\n * from and to field are the same), as this should be represented by a @see Price instead.\r\n *\r\n * PriceSpan is typically used for ambiguous ranges\r\n */\r\nexport type PriceSpan = {\r\n\t/**\r\n\t * The lower bound of the price. If this is associated with a group of products, this\r\n\t * is the price of the cheapest associated product.\r\n\t */\r\n\tfrom: Price;\r\n\r\n\t/**\r\n\t * The upper bound of the price. If this is associated with a group of products, this\r\n\t * is the price of the most expensive associated product.\r\n\t */\r\n\tto: Price;\r\n};\r\n\r\n/**\r\n * Represents a displayable price of unknown type.\r\n */\r\nexport type VariantPrice = Price | PriceSpan;\r\n\r\n/**\r\n * The display rules for rendering a price on the frontend.\r\n */\r\nexport enum PriceDisplayRule {\r\n\t/**\r\n\t * Represents a lack of a price. This is typically used for a product\r\n\t * that isn't purchaseable. Distinct from free.\r\n\t *\r\n\t * If a price is missing, it is illegal to use any display price type besides @see MissingPrice\r\n\t */\r\n\tMissing = 'Missing',\r\n\r\n\t/**\r\n\t * Represents a normal price or price range. Expected price types are @see PriceSpan and @see Price\r\n\t */\r\n\tNormal = 'Normal',\r\n\r\n\t/**\r\n\t * Represents a price without a clearly defined upperbound. This can happen if multiple products in a group product\r\n\t * do not share a common unit of measure. Expected price types are @see Price\r\n\t */\r\n\tAmbiguousRange = 'AmbiguousRange',\r\n}\r\n\r\n/**\r\n * Represents a pricing object that is guaranteed to have a base price\r\n */\r\nexport interface HasBasePrice {\r\n\t/** The price of the product if it isn't on sale. */\r\n\tbasePrice: PartialDisplayPrice;\r\n}\r\n\r\n/**\r\n * Represents a pricing object that is guaranteed to have a sale price\r\n */\r\nexport interface HasSalePrice {\r\n\t/** The sale price of the product. This is always less than the base price. */\r\n\tsalePrice: PartialDisplayPrice;\r\n}\r\n\r\n/**\r\n * Represents a pricing object that has no base price, that is, it cannot be purchased.\r\n */\r\nexport interface HasNoBasePrice {\r\n\t/** The item in question has no base price and as such, it is illegal to access it. */\r\n\tbasePrice?: never;\r\n}\r\n\r\n/**\r\n * Represents a pricing object that has no sale price\r\n */\r\nexport interface HasNoSalePrice {\r\n\t/** The item in question has no sale price and as such, it is illegal to access it. */\r\n\tsalePrice?: never;\r\n}\r\n\r\n/**\r\n * Represents a \"primitive\" price object that would be displayed.\r\n * A product that has a base price and a sale price would have two unit display prices for example.\r\n */\r\nexport type PartialDisplayPrice = TPrice extends Price\r\n\t? UnitPrice & HasRawValue\r\n\t: UnitPrice;\r\n\r\ninterface UnitPrice {\r\n\t/** The unit of measure of the item/product being sold. This is typically appended to a price to yield a value like \"$2.99/ea\" */\r\n\tunit?: { label: string };\r\n\r\n\t/** The price value to be displayed. */\r\n\tvalue: TPrice;\r\n\r\n\t// #region HCL - added availability to pass rawValue\r\n\trawValue?: number;\r\n\t// #endregion\r\n}\r\n\r\ninterface HasRawValue {\r\n\t/**\r\n\t * The raw price value for use in comparing prices to eachother or checking if they are zero or negative.\r\n\t * It is not safe to assume this value for display purposes or price calculations.\r\n\t */\r\n\trawValue: number;\r\n}\r\n\r\n/**\r\n * Constrains a VariantPrice to a more specific price type\r\n */\r\ntype Filter = T extends U ? T : never;\r\n\r\n/**\r\n * Represents a price object that can be displayed.\r\n */\r\nexport type DisplayPrice<\r\n\tTBasePrice extends VariantPrice = VariantPrice,\r\n\tTSalePrice extends VariantPrice = TBasePrice\r\n> =\r\n\t| SimpleDisplayPrice\r\n\t| AmbiguousDisplayPrice, Filter>\r\n\t| MissingDisplayPrice;\r\n\r\n/**\r\n * Represents a missing price, typically if used on an object not for a sale or an erroneous object.\r\n * This would either not be rendered or be rendered as \"Not For Sale\"\r\n */\r\nexport interface MissingDisplayPrice {\r\n\t/** The display rules for rendering a price on the frontend.\r\n\t *\r\n\t * A \"missing\" or \"invisible\" price is for a product that is not on sale and thus should not have\r\n\t * a price rendered on screen */\r\n\tdisplayRule: PriceDisplayRule.Missing;\r\n}\r\n\r\n/**\r\n * Represents a simple price, that is a price that might be on sale with fixed upper and lower bounds. The unit\r\n * of measure for the base and sale price (if present) is expected to be the same\r\n */\r\nexport interface SimpleDisplayPrice<\r\n\tTBasePrice extends VariantPrice = VariantPrice,\r\n\tTSalePrice extends VariantPrice = TBasePrice\r\n> extends HasBasePrice,\r\n\t\tPartial> {\r\n\t/** The display rules for rendering a price on the frontend.\r\n\t *\r\n\t * A normal price is either a simple price like \"$3.12/ea\" or a range like \"$2.00-$5.00/ea\"\r\n\t */\r\n\tdisplayRule: PriceDisplayRule.Normal;\r\n}\r\n\r\n/**\r\n * Represents a price without a predictable upperbound for the price. This would typically be used if a group of products\r\n * didn't have a common unit of measure.\r\n */\r\nexport interface AmbiguousDisplayPrice\r\n\textends HasBasePrice,\r\n\t\tPartial> {\r\n\t/** The display rules for rendering a price on the frontend.\r\n\t *\r\n\t * An ambiguous price doesn't have a a specifiable upperbound because there isn't a common unit of measure\r\n\t * to use as a baseline for what the most expensive unit of measure is. This is will appear like \"From $2.00\"\r\n\t */\r\n\tdisplayRule: PriceDisplayRule.AmbiguousRange;\r\n}\r\n","import type { Dialog, DialogContent } from '@reach/dialog';\r\nimport classnames from 'classnames';\r\nimport React from 'react';\r\nimport { Localizer } from 'services/Localizer';\r\nimport 'styles/node-modules/@reach/dialog/styles.css';\r\nimport Spinner from './Spinner';\r\nimport XSVG from './svg/XSVG';\r\n\r\nconst LazyDialog = React.lazy(() =>\r\n\timport('@reach/dialog').then((module) => ({ default: module.Dialog })),\r\n);\r\nconst LazyDialogContent = React.lazy(() =>\r\n\timport('@reach/dialog').then((module) => ({ default: module.DialogContent })),\r\n);\r\n\r\n// TODO: the types are currently out of date so they don't include the definition for dangerouslyBypassFocusLock. Add the types here once they are updated\r\n// https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/reach__dialog\r\nconst LazyDialogOverlay = React.lazy(() =>\r\n\timport('@reach/dialog').then((module) => ({ default: module.DialogOverlay } as any)),\r\n);\r\n\r\nexport type ModalSize = 'xs' | 'sm' | 'md' | 'lg' | 'xlg' | 'full_width';\r\n\r\ninterface ModalProps {\r\n\tisOpen: boolean;\r\n\thideCloseButton?: boolean;\r\n\tchildren: React.ReactNode;\r\n\ttitleIcon?: React.ReactNode;\r\n\tsize?: ModalSize;\r\n\theaderDivider?: boolean;\r\n\tbypassFocusLock?: boolean;\r\n\tsubTitle?: string;\r\n\tclassName?: string;\r\n\trenderActions?: () => React.ReactNode;\r\n\tcloseModal: () => void;\r\n\trenderTitle: () => React.ReactNode;\r\n\trenderSubtitle?: () => React.ReactNode;\r\n}\r\n\r\n/**\r\n * Reusuable modal component with raised open state, takes title and children as props.\r\n *\r\n * @export\r\n * @param {ModalProps} props\r\n * @returns\r\n */\r\nexport default function Modal(props: ModalProps) {\r\n\tconst {\r\n\t\tisOpen,\r\n\t\thideCloseButton,\r\n\t\tsize = 'md',\r\n\t\tcloseModal,\r\n\t\trenderTitle,\r\n\t\trenderSubtitle,\r\n\t\ttitleIcon,\r\n\t\trenderActions,\r\n\t\tchildren,\r\n\t\theaderDivider = false,\r\n\t\tbypassFocusLock = false,\r\n\t\tsubTitle,\r\n\t\tclassName,\r\n\t} = props;\r\n\r\n\tconst innerModal = (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{titleIcon && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{titleIcon}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{renderTitle()}\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{renderSubtitle && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{renderSubtitle()}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{hideCloseButton ? null : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t closeModal()}\r\n\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\tdata-testid=\"close-modal-btn\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{Localizer('Close')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\r\n\t\t\t\t{subTitle ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{subTitle}\r\n\t\t\t\t\t

\r\n\t\t\t\t) : null}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{children}\r\n\t\t\t\r\n\t\t\t{renderActions ? (\r\n\t\t\t\t\r\n\t\t\t\t\t{renderActions()}\r\n\t\t\t\t\r\n\t\t\t) : null}\r\n\t\t\r\n\t);\r\n\r\n\tconst ariaLabel = Localizer('ModalLabel');\r\n\r\n\treturn bypassFocusLock ? (\r\n\t\t}>\r\n\t\t\t closeModal()}\r\n\t\t\t\tdangerouslyBypassFocusLock={bypassFocusLock}\r\n\t\t\t>\r\n\t\t\t\t\r\n\t\t\t\t\t{innerModal}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t) : (\r\n\t\t}>\r\n\t\t\t closeModal()}\r\n\t\t\t\taria-label={ariaLabel}\r\n\t\t\t\tas={'div'}\r\n\t\t\t>\r\n\t\t\t\t{innerModal}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js!./tiny-slider.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".tns-outer{padding:0 !important}.tns-outer [hidden]{display:none !important}.tns-outer [aria-controls],.tns-outer [data-action]{cursor:pointer}.tns-slider{-webkit-transition:all 0s;-moz-transition:all 0s;transition:all 0s}.tns-slider>.tns-item{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tns-horizontal.tns-subpixel{white-space:nowrap}.tns-horizontal.tns-subpixel>.tns-item{display:inline-block;vertical-align:top;white-space:normal}.tns-horizontal.tns-no-subpixel:after{content:'';display:table;clear:both}.tns-horizontal.tns-no-subpixel>.tns-item{float:left}.tns-horizontal.tns-carousel.tns-no-subpixel>.tns-item{margin-right:-100%}.tns-no-calc{position:relative;left:0}.tns-gallery{position:relative;left:0;min-height:1px}.tns-gallery>.tns-item{position:absolute;left:-100%;-webkit-transition:transform 0s, opacity 0s;-moz-transition:transform 0s, opacity 0s;transition:transform 0s, opacity 0s}.tns-gallery>.tns-slide-active{position:relative;left:auto !important}.tns-gallery>.tns-moving{-webkit-transition:all 0.25s;-moz-transition:all 0.25s;transition:all 0.25s}.tns-autowidth{display:inline-block}.tns-lazy-img{-webkit-transition:opacity 0.6s;-moz-transition:opacity 0.6s;transition:opacity 0.6s;opacity:0.6}.tns-lazy-img.tns-complete{opacity:1}.tns-ah{-webkit-transition:height 0s;-moz-transition:height 0s;transition:height 0s}.tns-ovh{overflow:hidden}.tns-visually-hidden{position:absolute;left:-10000em}.tns-transparent{opacity:0;visibility:hidden}.tns-fadeIn{opacity:1;filter:alpha(opacity=100);z-index:0}.tns-normal,.tns-fadeOut{opacity:0;filter:alpha(opacity=0);z-index:-1}.tns-vpfix{white-space:nowrap}.tns-vpfix>div,.tns-vpfix>li{display:inline-block}.tns-t-subp2{margin:0 auto;width:310px;position:relative;height:10px;overflow:hidden}.tns-t-ct{width:2333.3333333%;width:-webkit-calc(100% * 70 / 3);width:-moz-calc(100% * 70 / 3);width:calc(100% * 70 / 3);position:absolute;right:0}.tns-t-ct:after{content:'';display:table;clear:both}.tns-t-ct>div{width:1.4285714%;width:-webkit-calc(100% / 70);width:-moz-calc(100% / 70);width:calc(100% / 70);height:10px;float:left}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/mini-css-extract-plugin/dist/loader.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js!./app.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","import React from 'react';\r\nimport { RouteProps } from 'react-router';\r\nimport {\r\n\tMY_ACCOUNT_ADDRESS_BOOK_CREATE_URL,\r\n\tMY_ACCOUNT_ADDRESS_BOOK_EDIT_URL,\r\n\tMY_ACCOUNT_ADDRESS_BOOK_URL,\r\n\tMY_ACCOUNT_PATH_PREFIX,\r\n} from './routes.roc';\r\n// #region HCL\r\nimport { ORGANIZATION_ORDERS_URL } from 'features/commerce/organization/routes';\r\n// #endregion\r\n\r\n//#region URLs\r\nexport const MY_ACCOUNT_ORDERS_URL = `${MY_ACCOUNT_PATH_PREFIX}/orders`;\r\nexport const MY_ACCOUNT_STORE_URL = `${MY_ACCOUNT_PATH_PREFIX}/store`;\r\nexport const MY_ACCOUNT_SAVED_FOR_LATER_URL = `${MY_ACCOUNT_PATH_PREFIX}/saved-for-later`;\r\nexport const MY_ACCOUNT_SAVED_CARTS_URL = `${MY_ACCOUNT_PATH_PREFIX}/saved-carts`;\r\nexport const MY_ACCOUNT_BUY_AGAIN_URL = `${MY_ACCOUNT_PATH_PREFIX}/buy-again`;\r\nexport const MY_ACCOUNT_SHOPPING_LISTS_URL = `${MY_ACCOUNT_PATH_PREFIX}/shopping-lists`;\r\nexport const MY_ACCOUNT_ORGANIZATION_REVIEW_URL = `${MY_ACCOUNT_PATH_PREFIX}/organization-review`;\r\nexport const MY_ACCOUNT_ORGANIZATION_SELECTOR_URL = `${MY_ACCOUNT_PATH_PREFIX}/organization-selector`;\r\nexport const MY_ACCOUNT_SHOPPING_LISTS_CREATE_URL = `${MY_ACCOUNT_SHOPPING_LISTS_URL}/create`;\r\n//#endregion URLs\r\n\r\n//#region Components\r\n\r\n//#region HCL\r\nexport const MY_ACCOUNT_USER_SHIPPING_ACCOUNT_URL = `${MY_ACCOUNT_PATH_PREFIX}/shipping-accounts`;\r\nexport const MY_ACCOUNT_USER_SHIPPING_ACCOUNT_CREATE_URL = `${MY_ACCOUNT_USER_SHIPPING_ACCOUNT_URL}/create`;\r\nexport const MY_ACCOUNT_USER_SHIPPING_ACCOUNT_EDIT_URL = `${MY_ACCOUNT_USER_SHIPPING_ACCOUNT_URL}/edit`;\r\nexport const MY_ACCOUNT_REVIEWS_URL = `${MY_ACCOUNT_PATH_PREFIX}/reviews`;\r\nexport const MY_ACCOUNT_CUSTOMER_ACCOUNT_APPLICATIONS_URL = `/customer-account-application`;\r\nexport const MY_ACCOUNT_CUSTOMER_CREDIT_APPLICATIONS_URL = `https://nuvo.com/customer/gohcl`;\r\nexport const MY_ACCOUNT_SHOPPER_APPLICATIONS_URL = `${MY_ACCOUNT_PATH_PREFIX}/shopper-applications`;\r\nexport const ORGANIZATION_ORDER_DETAILS = `${ORGANIZATION_ORDERS_URL}/:orderNo`;\r\n//#endregion URLs\r\n\r\n// #region HCL\r\n//const OrdersComponent = React.lazy(\r\n//\t() => import(/* webpackChunkName: \"my-account-orders\" */ '../commerce/my-account/orders/OrderListing'),\r\n//);\r\n\r\n//const OrderDetailsComponent = React.lazy(\r\n//\t() =>\r\n//\t\timport(\r\n//\t\t\t/* webpackChunkName: \"my-account-order-details\" */ '../commerce/my-account/orders/MyAccountOrderDetails'\r\n//\t\t),\r\n//);\r\n\r\nconst OrdersComponent = React.lazy(\r\n\t() => import(/* webpackChunkName: \"my-account-orders\" */ '../commerce/my-account/orders/hcl/Orders'),\r\n);\r\n\r\nconst OrderDetailsComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-order-details\" */ '../commerce/organization/orders/DefaultOrganizationOrderDetails'\r\n\t\t),\r\n);\r\n// #endregion\r\n\r\nconst StoreComponent = React.lazy(\r\n\t() => import(/* webpackChunkName: \"my-account-store\" */ '../commerce/my-account/store/Store'),\r\n);\r\n\r\nconst AddressBookComponent = React.lazy(\r\n\t// #region HCL\r\n\t// () => import(/* webpackChunkName: \"my-account-address-book\" */ '../address-book/AddressBook'),\r\n\t() => import(/* webpackChunkName: \"my-account-address-book\" */ '../address-book/AddressBook.HCL'),\r\n\t// #endregion\r\n);\r\n\r\nconst AddressBookEditComponent = React.lazy(\r\n\t() => import(/* webpackChunkName: \"my-account-address-book-edit\" */ '../address-book/AddressBookEdit'),\r\n);\r\n\r\nconst SavedForLaterComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-saved-for-later\" */ '../commerce/my-account/saved-for-later/SavedForLaterListingWrapper'\r\n\t\t),\r\n);\r\n\r\nconst SavedCartsComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-saved-carts\" */ '../commerce/my-account/saved-carts/SavedCartsListingWrapper'\r\n\t\t),\r\n);\r\n\r\nconst BuyAgainComponent = React.lazy(\r\n\t() => import(/* webpackChunkName: \"buy-again\" */ '../commerce/my-account/buy-again/BuyAgain'),\r\n);\r\n\r\nconst AccountOverviewComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-account-overview\" */ '../commerce/my-account/account-overview/AccountOverview'\r\n\t\t),\r\n);\r\n\r\nconst ShoppingListsComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-shopping-lists\" */ '../commerce/my-account/shopping-lists/ShoppingListListing'\r\n\t\t),\r\n);\r\n\r\nconst ShoppingListsCreateComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-shopping-lists-create\" */ '../commerce/my-account/shopping-lists/ShoppingListsCreate'\r\n\t\t),\r\n);\r\n\r\nconst ShoppingListDetailsComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-shopping-list-details\" */ '../commerce/my-account/shopping-lists/MyAccountShoppingListDetails'\r\n\t\t),\r\n);\r\n\r\nconst OrganizationReviewComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-organization-approval\" */ '../commerce/my-account/organization/OrganizationReview'\r\n\t\t),\r\n);\r\n\r\nconst OrganizationSelectorComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-organization-selector\" */ '../commerce/my-account/organization/OrganizationSelector'\r\n\t\t),\r\n);\r\n//#region HCL\r\nconst UserShippingAccountsComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-address-book\" */ '../commerce/user-shipping-account/UserShippingAccounts'\r\n\t\t),\r\n);\r\n\r\nconst ReviewsComponent = React.lazy(\r\n\t() => import(/* webpackChunkName: \"my-account-reviews\" */ '../hcl/my-account/reviews/ReviewsListing'),\r\n);\r\n\r\nconst CustomerAccountApplicationsComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-customer-account-applications\" */ '../hcl/my-account/account-applications/AccountApplicationsListing'\r\n\t\t),\r\n);\r\n\r\nconst CustomerAccountApplicationsEditComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-customer-account-applications-create\" */ '../hcl/my-account/account-applications/MyAccountApplicationLoader'\r\n\t\t),\r\n);\r\n\r\nconst CustomerCreditApplicationsComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-customer-account-applications\" */ '../hcl/my-account/credit-applications/CreditApplicationsListing'\r\n\t\t),\r\n);\r\n\r\nconst CustomerCreditApplicationsEditComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-customer-account-applications-create\" */ '../hcl/my-account/credit-applications/MyAccountCreditApplicationLoader'\r\n\t\t),\r\n);\r\n\r\nconst ShopperApplicationsComponent = React.lazy(\r\n\t() =>\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"my-account-shopper-applications\" */ '../hcl/my-account/shopper-applications/ShopperApplicationsListing'\r\n\t\t),\r\n);\r\n\r\n// const UserShippingAccountsEditComponent = React.lazy(() =>\r\n// \timport(\r\n// \t\t/* webpackChunkName: \"my-account-address-book-edit\" */ '../commerce/user-shipping-account/UserShippingAccountsEdit'\r\n// \t),\r\n// );\r\n//#endregion\r\n\r\n//#endregion Components\r\n\r\n//#region Routes\r\nconst ordersRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_ORDERS_URL,\r\n\tcomponent: OrdersComponent,\r\n};\r\n\r\nconst orderDetailsRoute = {\r\n\texact: true,\r\n\tpath: `${MY_ACCOUNT_ORDERS_URL}/:orderNo`,\r\n\tcomponent: OrderDetailsComponent,\r\n};\r\n\r\nconst storeRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_STORE_URL,\r\n\tcomponent: StoreComponent,\r\n};\r\n\r\nconst addressBookRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_ADDRESS_BOOK_URL,\r\n\tcomponent: AddressBookComponent,\r\n};\r\n\r\nconst addressBookCreateRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_ADDRESS_BOOK_CREATE_URL,\r\n\tcomponent: AddressBookEditComponent,\r\n};\r\n\r\nconst addressBookEditRoute = {\r\n\texact: true,\r\n\tpath: `${MY_ACCOUNT_ADDRESS_BOOK_EDIT_URL}/:addressId`,\r\n\tcomponent: AddressBookEditComponent,\r\n};\r\n\r\nconst savedForLaterRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_SAVED_FOR_LATER_URL,\r\n\tcomponent: SavedForLaterComponent,\r\n};\r\n\r\nconst savedCartsRoute = {\r\n\texect: true,\r\n\tpath: MY_ACCOUNT_SAVED_CARTS_URL,\r\n\tcomponent: SavedCartsComponent,\r\n};\r\n\r\nconst buyAgainRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_BUY_AGAIN_URL,\r\n\tcomponent: BuyAgainComponent,\r\n};\r\n\r\nconst shoppingListsRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_SHOPPING_LISTS_URL,\r\n\tcomponent: ShoppingListsComponent,\r\n};\r\n\r\nconst shoppingListsCreateRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_SHOPPING_LISTS_CREATE_URL,\r\n\tcomponent: ShoppingListsCreateComponent,\r\n};\r\n\r\nconst shoppingListDetailsRoute = {\r\n\texact: true,\r\n\tpath: `${MY_ACCOUNT_SHOPPING_LISTS_URL}/:shoppingListId`,\r\n\tcomponent: ShoppingListDetailsComponent,\r\n};\r\n\r\n//#region HCL\r\nconst userShippingAccountsRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_USER_SHIPPING_ACCOUNT_URL,\r\n\tcomponent: UserShippingAccountsComponent,\r\n};\r\n\r\nconst reviewsRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_REVIEWS_URL,\r\n\tcomponent: ReviewsComponent,\r\n};\r\n\r\nconst customerAccountApplicationsRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_CUSTOMER_ACCOUNT_APPLICATIONS_URL,\r\n\tcomponent: CustomerAccountApplicationsComponent,\r\n};\r\n\r\nconst customerAccountApplicationsEditRoute = {\r\n\texact: true,\r\n\tpath: `${MY_ACCOUNT_CUSTOMER_ACCOUNT_APPLICATIONS_URL}/:accountApplicationId`,\r\n\tcomponent: CustomerAccountApplicationsEditComponent,\r\n};\r\n\r\nconst customerCreditApplicationsRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_CUSTOMER_CREDIT_APPLICATIONS_URL,\r\n\tcomponent: CustomerCreditApplicationsComponent,\r\n};\r\n\r\nconst customerCreditApplicationsEditRoute = {\r\n\texact: true,\r\n\tpath: `${MY_ACCOUNT_CUSTOMER_CREDIT_APPLICATIONS_URL}/:creditApplicationId`,\r\n\tcomponent: CustomerCreditApplicationsEditComponent,\r\n};\r\n\r\nconst shopperApplicationsRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_SHOPPER_APPLICATIONS_URL,\r\n\tcomponent: ShopperApplicationsComponent,\r\n};\r\n\r\n// const userShippingAccountsCreateRoute = {\r\n// \texact: true,\r\n// \tpath: MY_ACCOUNT_USER_SHIPPING_ACCOUNT_CREATE_URL,\r\n// \tcomponent: UserShippingAccountsEditComponent,\r\n// };\r\n\r\n// const userShippingAccountsEditRoute = {\r\n// \texact: true,\r\n// \tpath: `${MY_ACCOUNT_USER_SHIPPING_ACCOUNT_EDIT_URL}/:shippingAccountId`,\r\n// \tcomponent: UserShippingAccountsEditComponent,\r\n// };\r\n//#endregion\r\n\r\nconst defaultRoute = {\r\n\texact: false,\r\n\tpath: '*',\r\n\tcomponent: AccountOverviewComponent,\r\n};\r\n\r\nconst organizationReviewRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_ORGANIZATION_REVIEW_URL,\r\n\tcomponent: OrganizationReviewComponent,\r\n};\r\n\r\nconst organizationSelectorRoute = {\r\n\texact: true,\r\n\tpath: MY_ACCOUNT_ORGANIZATION_SELECTOR_URL,\r\n\tcomponent: OrganizationSelectorComponent,\r\n};\r\n//#endregion Routes\r\n\r\nexport const commerceRoutes: RouteProps[] = [\r\n\tordersRoute,\r\n\torderDetailsRoute,\r\n\tstoreRoute,\r\n\taddressBookRoute,\r\n\taddressBookCreateRoute,\r\n\taddressBookEditRoute,\r\n\tsavedForLaterRoute,\r\n\tsavedCartsRoute,\r\n\tbuyAgainRoute,\r\n\tshoppingListsRoute,\r\n\tshoppingListsCreateRoute,\r\n\tshoppingListDetailsRoute,\r\n\torganizationReviewRoute,\r\n\torganizationSelectorRoute,\r\n\t//#region HCL\r\n\treviewsRoute,\r\n\tuserShippingAccountsRoute,\r\n\tcustomerAccountApplicationsRoute,\r\n\tcustomerAccountApplicationsEditRoute,\r\n\tcustomerCreditApplicationsRoute,\r\n\tcustomerCreditApplicationsEditRoute,\r\n\tshopperApplicationsRoute,\r\n\t// userShippingAccountsCreateRoute,\r\n\t// userShippingAccountsEditRoute,\r\n\t//#endregion\r\n\tdefaultRoute,\r\n];\r\n","/**\r\n * Extends Window with recaptcha callback fields\r\n */\r\ninterface WindowWithReCaptchaCallbacks extends Window {\r\n\t/**\r\n\t * Executes the methods in the rocReCaptchaCallbacks array\r\n\t */\r\n\tonReCaptchaLoadCallback: () => void;\r\n\t/**\r\n\t * List of recaptcha callbacks\r\n\t */\r\n\trocReCaptchaCallbacks: Array<() => void>;\r\n}\r\n\r\nexport let reCaptchaCallbackPromise: Promise | null = null;\r\n\r\n/**\r\n * Setup function for recaptcha.\r\n * The window.onReCaptchaLoadCallback() gets called when the recaptcha script is loaded.\r\n * Then this method calls the recaptcha instances init functions, stored in window.rocReCaptchaCallbacks\r\n *\r\n * @export\r\n */\r\nexport default function setupReCaptcha() {\r\n\tconst windowWithReCaptchaCallbacks = (window as unknown) as WindowWithReCaptchaCallbacks;\r\n\r\n\treCaptchaCallbackPromise = new Promise((resolve) => {\r\n\t\twindowWithReCaptchaCallbacks.onReCaptchaLoadCallback = resolve;\r\n\t});\r\n}\r\n","import debounce from 'lodash-es/debounce';\r\n\r\n// String class definitions\r\nconst navToggleButtonClassQuery: string = '.roc-main-nav__toggle-btn';\r\nconst navToggleButtonClassExpandedClass: string = 'roc-main-nav__toggle-btn--expanded';\r\nconst navCrossButtonClassQuery: string = '.roc-main-nav__cross-btn';\r\nconst navListClassQuery: string = '.roc-main-nav__list';\r\nconst navListExpandedClass: string = 'roc-main-nav__list--expanded';\r\nconst bodyClassQuery: string = '.roc-body';\r\nconst bodyNavExpandedClass: string = 'roc-main-nav__wrapper--expanded';\r\nconst subNavToggleButtonClassQuery: string = '.roc-main-nav__sub-menu-toggle';\r\nconst subNavToggleButtonExpandedClass: string = 'roc-main-nav__sub-menu-toggle--expanded';\r\nconst subNavExpandedClass: string = 'roc-main-nav__sub-menu--expanded';\r\n\r\n/**\r\n * Check if input parent element contains input child element.\r\n *\r\n * @param {*} parent\r\n * @param {*} child\r\n * @returns\r\n */\r\nfunction isDescendant(parent: HTMLElement, child: HTMLElement) {\r\n\tlet node = child.parentNode;\r\n\twhile (node !== null) {\r\n\t\tif (node === parent) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tnode = node.parentNode;\r\n\t}\r\n\treturn false;\r\n}\r\n\r\n/**\r\n * The type for each submenu. Each object contains the toggle button, submenu element, and the open state.\r\n *\r\n * @interface SubMenu\r\n */\r\ninterface SubMenu {\r\n\t/**\r\n\t * The toggle element that triggers the visibility of the [subMenuElement].\r\n\t *\r\n\t * @type {HTMLElement}\r\n\t * @memberof SubMenu\r\n\t */\r\n\ttoggleElement: HTMLElement;\r\n\r\n\t/**\r\n\t * The menu element that is toggled by the [toggleElement].\r\n\t *\r\n\t * @type {HTMLElement}\r\n\t * @memberof SubMenu\r\n\t */\r\n\tsubMenuElement: HTMLElement;\r\n\r\n\t/**\r\n\t * The open state of the [subMenuElement].\r\n\t *\r\n\t * @type {boolean}\r\n\t * @memberof SubMenu\r\n\t */\r\n\tisOpen: boolean;\r\n\r\n\t// #region HCL\r\n\tisAutoExpand: boolean;\r\n\t// #endregion\r\n}\r\n\r\n/**\r\n * The type for the class props.\r\n *\r\n * @interface AccessibleNavigationProps\r\n */\r\ninterface AccessibleNavigationProps {\r\n\t/**\r\n\t * The HTML element of the parent