{"version":3,"sources":["webpack:///./src/images/rackspace-logo.svg","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/@helix-design-system/helix-react/dist/helix-react.esm.js","webpack:///./src/components/footer.js","webpack:///./src/auth/index.js","webpack:///./src/utils/requestHelper.js","webpack:///./src/utils/apiClientRequest.js","webpack:///./src/store/actions.js","webpack:///./src/utils/statusTypes.js","webpack:///./src/components/HeaderDropdown.js","webpack:///./src/components/header.js","webpack:///./src/utils/productMapper.js","webpack:///./src/components/sidebar.js","webpack:///./src/store/selectors/getAccount.js","webpack:///./src/store/selectors/getAccountStatus.js","webpack:///./src/store/selectors/getLicenseDetails.js","webpack:///./src/store/selectors/getLoginStatus.js","webpack:///./src/store/selectors/getLogoutStatus.js","webpack:///./src/store/selectors/getProfile.js","webpack:///./src/store/selectors/getProfileStatus.js","webpack:///./src/components/layout.js","webpack:///./src/components/sidebar.module.scss","webpack:///./node_modules/classnames/index.js","webpack:///./src/shared/loadable.module.scss","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./src/utils/googleAnalytics.js","webpack:///./src/components/seo.js","webpack:///./src/links.js"],"names":["React","RackspaceLogo","props","createElement","defaultProps","module","exports","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","_extends","Object","assign","target","i","length","source","prototype","hasOwnProperty","call","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","handlerNameToEvent","handlerName","replace","toLowerCase","useEventListener","eventHandlers","ref","theRef","entries","forEach","_ref","eventHandler","current","addEventListener","_ref2","removeEventListener","className","children","onDismiss","onSubmit","rest","hxRef","Fragment","type","cssFor","modifier","large","primary","small","tertiary","classNames","variant","size","join","trim","Component","classnames","basedir","path","require","base","Error","commonjsRequire","createCommonjsModule","hasOwn","classes","argType","push","Array","isArray","inner","window","wcBool","bool","effect","dependencies","mounted","disabled","id","label","clearLabel","onClear","optional","required","containerId","style","inputRef","input","getOwnPropertyDescriptor","HTMLInputElement","set","ev","Event","bubbles","dispatchEvent","useRef","useEffect","unmount","hidden","onClick","hxOptional","hxRequired","htmlFor","Footer","Date","getFullYear","href","class","for","position","msalConfig","auth","clientId","navigateToLoginRequestUrl","redirectUri","msalInstance","msal","defaultExpectedStatues","noop","isBrowser","request","windowFetch","fetch","bind","uri","a","reqInfo","credentials","headers","Headers","method","requireResponseBody","expectedStatuses","body","JSON","stringify","result","data","fetchError","parseError","status","statusText","success","_windowFetch","response","_getIsStatusExpected","json","actualStatus","toString","map","x","toUpperCase","includes","actualStatusWas200Level","charAt","requestHelper","initialize","raiseError","_raiseError","requestInfo","options","_request","resp","_handleError","handleError","errorHandler","message","graphAPI","readUserProfile","accessToken","dispatch","READ_USER_PROFILE","Authorization","displayName","profile","loadAssignedLicenses","LOAD_ASSIGNED_LICENSES","assignedLicenses","HeaderDropdown","homeAccountId","username","useDispatch","aria-controls","LOG_OUT","currentAccount","getAccountByHomeId","logout","logOutUser","Header","enableLogin","hasAccount","isLogoutLoading","loginStatus","isLoading","to","LOG_IN","loginRedirect","prompt","domainHint","scopes","productMap","results","reduce","acc","product","unknownProduct","title","Sidebar","isShown","name","animation","styles","openSidebar","licenses","l","skuId","hasLicenses","some","triggerMenu","sidebar","loaderStyles","loadable","height","content","state","account","accountStatus","logoutStatus","profileStatus","Layout","useSelector","getLoginStatus","isLoginErrored","getAccount","isAccountStatusLoading","getAccountStatus","getProfile","isUserDetailsLoading","getProfileStatus","getLogoutStatus","isLoggedIn","location","search","substr","isSidebarLoading","showSidebar","getLicenseDetails","AUTHENTICATE_USER","handleRedirectPromise","fetchUserData","OFFICE365_CONTROL_PANEL","trackCustomEvent","action","category","cta","reload","persist","role","runtime","Op","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","defineProperty","enumerable","configurable","writable","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","TypeError","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","constructor","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","object","reverse","pop","skipTempReset","prev","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","eventAction","eventCategory","eventLabel","dataLayer","event","eventValue","console","SEO","description","lang","meta","site","useStaticQuery","metaDescription","siteMetadata","htmlAttributes","titleTemplate","property","author","concat","getLink","permalink","getCDNLink","APPLE_MAIL","APPLE_MAIL_IOS","APPLE_MAIL_IPAD","EXCHANGE_GENERAL","HELP_ONEDRIVE","HELP_OUTLOOK","ONEDRIVE_ANDROID","ONEDRIVE_ANDROID_TAB","ONEDRIVE_IOS","ONEDRIVE_IPAD","ONEDRIVE_MAC","ONEDRIVE_WINDOWS","OUTLOOK_ANDROID","OUTLOOK_ANDROID_TAB","OUTLOOK_IOS","OUTLOOK_IPAD","OUTLOOK_MAC","OUTLOOK_WINDOWS","SARA","ARCHIVING_VIDEO","ARCHIVING_DATA_SHEET"],"mappings":"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","file":"f959a3cf345a697f4dccaea1e1b71f78bb003624-8f041629a82c60cfab1b.js","sourcesContent":["var React = require('react');\n\nfunction RackspaceLogo (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"d\":\"m209.5437 49.6326a15.5582 15.5582 0 0 1 -4.5717 11.4819c-4.0327 4.0033-10.5748 6.186-18.4409 6.1255-5.6452-.0934-11.3489-1.4655-14.5758-3.4483l2.15-11.3082a32.4715 32.4715 0 0 0 13.8536 3.9055c3.6713 0 6.1444-1.694 6.1444-4.4112 0-2.4631-1.7384-4.1844-6.1791-6.357-7.0241-3.5123-10.5384-7.9649-10.5384-13.2126 0-10.3256 8.7947-17.3033 21.99-17.3033 6.982 0 11.5274 1.6454 14.0477 3.2627l-2.1456 11.2858c-1.9977-1.5012-7.0749-3.5955-12.6125-3.5955-3.8459 0-6.35 1.6108-6.35 4.3074 0 1.9343 1.9165 3.6675 5.9734 5.6451 5.2848 2.6409 11.2549 6.5507 11.2549 13.6222zm-91.461-34.4241c-18.588 0-32.5937 13.5735-32.5937 31.5736 0 12.431 8.26 20.4579 21.0732 20.4579 5.48 0 10.8076-1.0042 14.2375-2.6735l2.3482-12.4017a26.2356 26.2356 0 0 1 -12.4061 3.2076c-4.6858 0-9.7122-2.6962-9.7122-10.2222 0-8.8686 6.29-18.0723 16.8473-18.0723a16.1434 16.1434 0 0 1 8.1859 1.9487l2.2982-12.0578a28.6188 28.6188 0 0 0 -10.2783-1.7603zm260.64 40.4682a33.0633 33.0633 0 0 0 17.4252-4.9175l-2.3754 12.4836c-7.069 3.6091-15.3737 4.001-18.6171 4.001-13.8 0-21.6888-7.6745-21.6888-21.0736a33.0978 33.0978 0 0 1 7.7817-21.2409 27.6947 27.6947 0 0 1 21.348-9.8228c10.44 0 17.4038 6.0653 17.4038 15.0583a13.6329 13.6329 0 0 1 -4.0186 10.1771c-4.986 4.8593-17.2748 7.5826-28.4667 5.3847-.5332 6.3061 4.214 9.9501 11.2078 9.9501zm-9.5859-19.5726c8.7045.0715 13.6009-.809 15.7376-2.9248 2.3134-2.2986 1.589-7.2233-4.1137-7.2233-6.4163 0-10.5007 5.2602-11.624 10.1481zm-23.1749-20.8956c-18.588 0-32.5936 13.5735-32.5936 31.5736 0 12.431 8.26 20.4579 21.0732 20.4579 5.4805 0 10.8076-1.0042 14.2374-2.6735l2.3483-12.4017a26.2348 26.2348 0 0 1 -12.4062 3.2076c-4.6857 0-9.7121-2.6961-9.7121-10.2222 0-8.8686 6.29-18.0723 16.8473-18.0723a16.1437 16.1437 0 0 1 8.1859 1.9487l2.2979-12.0577a28.6189 28.6189 0 0 0 -10.2781-1.7604zm-35.0344 23.0215-5.3487 27.9921h-14.1665l1.8409-9.6346c-1.987 6.0046-6.8276 10.7565-14.9483 10.7565-9.8558 0-14.31-8.7494-14.3152-17.5055-.0068-9.9475 3.9013-19.7985 10.4467-26.3485a28.322 28.322 0 0 1 20.47-8.3847c6.0186.0241 10.4708 1.7662 13.2607 5.1472 4.1297 5.0036 3.7909 12.5153 2.7604 17.9775zm-13.639-6.44c-.173-3.53-2.01-5.4326-5.3047-5.4326-6.9765 0-13.02 12.0413-13.0151 20.415.0019 5.2318 1.941 8.49 5.3149 8.49 5.3962 0 10.0439-5.6432 11.6427-13.9071.5445-2.7932 1.4615-7.3774 1.3622-9.5653zm-214.24 6.44-5.3485 27.9919h-14.1666l1.8409-9.6346c-1.9869 6.0046-6.8276 10.7565-14.9483 10.7565-9.8559 0-14.31-8.7494-14.3152-17.5055-.0068-9.9473 3.9012-19.7983 10.4467-26.3483a28.322 28.322 0 0 1 20.47-8.3847c6.0186.0241 10.4708 1.7662 13.2606 5.1472 4.1298 5.0036 3.791 12.5153 2.7605 17.9775zm-13.6385-6.44c-.173-3.53-2.01-5.4326-5.3047-5.4326-6.9765 0-13.02 12.0413-13.0151 20.415.0019 5.2318 1.941 8.49 5.3149 8.49 5.3962 0 10.0439-5.6432 11.6427-13.9071.5441-2.7932 1.4611-7.3774 1.3622-9.5653zm193.59 2.35c0 12.1614-5.8389 24.6308-16.3634 30.2412a23.611 23.611 0 0 1 -10.7817 2.9629c-5.2686 0-8.2223-1.97-9.9063-5.0063l-3.768 19.9122h-14.8317l12.5911-66.2236h13.0634l-1.5273 8.0387c3.6906-5.3688 9.1565-8.96 15.3432-8.96 9.816-.0001 16.1807 7.4391 16.1807 19.0349zm-15.4247 1.1234c0-2.3573-.5567-8.0821-5.9893-8.0821-5.524 0-10.1875 6.2935-11.9955 15.8394-.6186 3.2638-2.3505 13.0639 4.4733 13.0639 7.7899.0001 13.511-11.0584 13.511-20.8211zm-226.9127-8.1092 2.1142-11.1278h-13.062l-9.7148 51.0789h14.8341l4.0057-21.06c2.3618-12.4188 9.4867-17.3883 19.6264-15.8531l2.8969-15.2358a20.5494 20.5494 0 0 0 -20.7005 12.1978zm118.9752 39.0677 5.1092-26.8764 10.5163 26.8764h15.9506l-10.8808-27.09 19.8018-23.1057h-16.1923l-19.1068 22.8525 7.3907-38.8787h-14.73l-12.59 66.2219zm249.4687 44.1368-.1116.5867h-1.2918l-.6334 3.3287h-.6377l.6334-3.3287h-1.2981l.1116-.5867zm4.7781 0-.7451 3.9154h-.6377l.5216-2.7411-1.59 1.8575h-.3808l-.8817-1.863-.5226 2.7466h-.6377l.745-3.9154h.5758l1.0617 2.2428 1.9144-2.2428zm-83.576-9.0224c0 7.235-5.0092 13.4145-12.24 13.4145-5.3539 0-8.6649-3.7026-8.6649-8.75 0-7.1881 5.0091-13.4144 12.24-13.4144 5.7028-.0001 8.6649 4.0936 8.6649 8.7499zm-15.6786 4.5325c0 2.9152 1.5236 4.9666 4.1367 4.9666 3.7919 0 6.3157-5.2262 6.3157-9.4565 0-2.1748-1-4.8773-4.0516-4.8773-4.0473 0-6.4008 5.405-6.4008 9.3672zm50.1936-4.5325c0 7.235-5.0092 13.4145-12.24 13.4145-5.3539 0-8.6649-3.7026-8.6649-8.75 0-7.1881 5.0091-13.4144 12.24-13.4144 5.7028-.0001 8.6649 4.0936 8.6649 8.7499zm-15.6786 4.5325c0 2.9152 1.5236 4.9666 4.1367 4.9666 3.7919 0 6.3157-5.2262 6.3157-9.4565 0-2.1748-1-4.8773-4.0516-4.8773-4.0473 0-6.4008 5.405-6.4008 9.3672zm-11.2474-19.7467-5.3546 28.152h5.0558l5.3934-28.152zm-81.7559 6.5067a13.3649 13.3649 0 0 0 -13.457 13.6316c0 5.0516 3.2642 8.4478 8.58 8.4478a14.2683 14.2683 0 0 0 6.2536-1.2944l.8368-4.4013a11.438 11.438 0 0 1 -5.6987 1.6016c-2.83 0-4.66-1.7875-4.66-4.9623 0-4.4432 3.094-8.9288 7.9712-8.9288a7.6768 7.6768 0 0 1 3.9077.9889l.8021-4.2183a11.683 11.683 0 0 0 -4.5357-.8648zm-28.9739 15.9425a5.835 5.835 0 0 1 -.566-3.0089c8.1882.1745 13.8911-1.57 13.8911-7.0094 0-3.5749-2.6556-5.9667-6.8391-5.9667-7.3159 0-12.0186 6.9668-12.0186 13.3676 0 5.1836 2.83 8.7968 8.7118 8.7968a16.518 16.518 0 0 0 8.0162-1.9882l.8682-4.5663a12.7715 12.7715 0 0 1 -7.71 2.55 4.6865 4.6865 0 0 1 -4.3536-2.1749zm5.8348-12.1973c1.613 0 2.6982.8257 2.6982 2.179 0 2.5663-3.3536 3.2642-8.58 3.2174.6131-2.5663 2.7027-5.3964 5.8818-5.3964zm72.9029 2.0427c0-4.0047-2.3535-5.8305-5.4007-5.8305a9.18 9.18 0 0 0 -7.7468 4.4481l.7853-4.0992h-4.5733l-4.0587 21.339h5.0558l1.8769-9.797c.915-4.9708 3.8261-7.7542 6.1328-7.7542 2.0045 0 2.66 1.26 2.66 3.0472a14.1609 14.1609 0 0 1 -.25 2.528l-2.2778 11.976h5.0557l2.3694-12.3676a19.8737 19.8737 0 0 0 .3714-3.4898zm-29.37-5.8305a8.9416 8.9416 0 0 0 -7.055 3.5088l1.9107-9.9729h-5.0946l-5.3546 28.152h5.0558l1.8769-9.797c.915-4.9708 3.8261-7.7542 6.1328-7.7542 2.0045 0 2.66 1.26 2.66 3.0472a14.1618 14.1618 0 0 1 -.25 2.528l-2.2779 11.976h5.0558l2.3694-12.3676a19.8828 19.8828 0 0 0 .3715-3.49c.0001-4.0045-2.3533-5.8303-5.4005-5.8303zm-58.8692-4.9824h-4.932l-1.0835 5.4591h-2.83l-.7406 3.92h2.8346l-1.83 9.4523a19.77 19.77 0 0 0 -.4383 3.92c0 2.4387 1.528 4.3539 5.0093 4.3539a10.1206 10.1206 0 0 0 3.3111-.4342v-.0006l.7648-4.0207a10.0158 10.0158 0 0 1 -2.029.191 1.6746 1.6746 0 0 1 -1.8725-1.9194 15.0179 15.0179 0 0 1 .3914-3.0047l1.6557-8.5372h4.7495l.783-3.92h-4.75zm170.3867 34.5971c3.8855 1.7974 7.7147 1.0018 10.4913-3.9651v-.0083l14.1891-25.2924h-5.4004l-8.0583 15.7891-1.9567-15.7891h-5.3156l3.78 20.7695-1.6547 3.3154c-1.4867 2.54-4.0809 1.7112-5.2877 1.0418zm-6.9028-29.6147c-9.02 0-13.6389 7.9749-13.6389 14.6855 0 3.7911 1.8738 7.4951 6.4059 7.4951a8.5417 8.5417 0 0 0 7.05-3.7871l-.4062 1.8559c-1.0427 4.9241-3.5707 6.49-6.8817 6.49a12.262 12.262 0 0 1 -5.5752-1.264l-.7869 4.1391a15.0672 15.0672 0 0 0 6.2566 1.1765 12.4619 12.4619 0 0 0 7.92-2.3535c2.4209-2 3.612-5.3113 4.4031-9.448l1.92-9.62a17.5188 17.5188 0 0 0 .4354-3.66c.0015-3.8349-2.6568-5.7095-7.1018-5.7095zm1.6125 9.1077-.3918 1.9609c-.8716 4.2708-3.5734 6.9726-6.1881 6.9726-2.3527 0-3.3558-1.9608-3.3558-4.2708 0-4.1829 2.92-9.8913 7.3645-9.8913a2.5344 2.5344 0 0 1 2.8325 2.7018 10.8221 10.8221 0 0 1 -.261 2.5268z\",\"fill\":\"currentColor\"}));\n}\n\nRackspaceLogo.defaultProps = {\"viewBox\":\"0 0 400 124\"};\n\nmodule.exports = RackspaceLogo;\n\nRackspaceLogo.default = RackspaceLogo;\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import React, { useRef, useEffect, useLayoutEffect, useState } from 'react';\nimport 'helix-ui';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar handlerNameToEvent = function handlerNameToEvent(handlerName) {\n return handlerName.replace(/^on/, '').toLowerCase();\n};\n/**\n * Adds event handlers like onOpen or onClose to event listeners: 'open' or 'close'\n * @param {object} eventHandlers such as onClose, onOpen, ...etc\n * @param {React.MutableRefObject} ref\n * @return {React.MutableRefObject}\n */\n\n\nfunction useEventListener(eventHandlers, ref) {\n if (eventHandlers === void 0) {\n eventHandlers = {};\n }\n\n var theRef = ref || useRef(null);\n useEffect(function () {\n Object.entries(eventHandlers).forEach(function (_ref, key) {\n var handlerName = _ref[0],\n eventHandler = _ref[1];\n theRef.current.addEventListener(handlerNameToEvent(handlerName), eventHandler);\n });\n return function () {\n Object.entries(eventHandlers).forEach(function (_ref2, key) {\n var handlerName = _ref2[0],\n eventHandler = _ref2[1];\n theRef.current.removeEventListener(handlerNameToEvent(handlerName), eventHandler);\n });\n };\n }, []);\n return theRef;\n}\n\nvar Alert = function Alert(_ref) {\n var className = _ref.className,\n children = _ref.children,\n onDismiss = _ref.onDismiss,\n onSubmit = _ref.onSubmit,\n rest = _objectWithoutPropertiesLoose(_ref, [\"onOpen\", \"onClose\", \"className\", \"children\", \"onDismiss\", \"onSubmit\"]);\n\n var hxRef = useEventListener({\n onDismiss: onDismiss,\n onSubmit: onSubmit\n });\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"hx-alert\", _extends({\n \"class\": className,\n ref: hxRef\n }, rest), children));\n};\n\nvar Icon = function Icon(_ref) {\n var type = _ref.type,\n className = _ref.className,\n rest = _objectWithoutPropertiesLoose(_ref, [\"type\", \"className\"]);\n\n return /*#__PURE__*/React.createElement(\"hx-icon\", _extends({\n type: type\n }, rest, {\n \"class\": className\n }));\n};\n\nfunction cssFor(modifier) {\n return {\n large: 'hxLg',\n primary: 'hxPrimary',\n small: 'hxSm',\n tertiary: 'hxTertiary'\n }[modifier];\n}\n\nfunction classNames(props) {\n return ['hxBtn', cssFor(props.variant), cssFor(props.size), props.className].join(' ').trim();\n}\n\nvar Button = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Button, _React$Component);\n\n function Button() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Button.prototype;\n\n _proto.render = function render() {\n // destructure props for JSX composition\n var _this$props = this.props,\n busy = _this$props.busy,\n children = _this$props.children,\n headIcon = _this$props.headIcon,\n tailIcon = _this$props.tailIcon,\n type = _this$props.type,\n props = _objectWithoutPropertiesLoose(_this$props, [\"busy\", \"children\", \"className\", \"headIcon\", \"size\", \"tailIcon\", \"type\", \"variant\"]);\n\n return /*#__PURE__*/React.createElement(\"button\", _extends({\n className: classNames(this.props),\n type: type || 'button'\n }, props), headIcon && /*#__PURE__*/React.createElement(Icon, {\n type: headIcon\n }), children && /*#__PURE__*/React.createElement(\"span\", null, children), busy ? /*#__PURE__*/React.createElement(\"hx-busy\", null) : tailIcon && /*#__PURE__*/React.createElement(Icon, {\n type: tailIcon\n }));\n };\n\n return Button;\n}(React.Component);\n\nvar Checkbox = function Checkbox(_ref) {\n var id = _ref.id,\n label = _ref.label,\n indeterminate = _ref.indeterminate,\n className = _ref.className,\n rest = _objectWithoutPropertiesLoose(_ref, [\"id\", \"label\", \"indeterminate\", \"className\", \"style\"]);\n\n var inputRef = useRef();\n useEffect(function () {\n inputRef.current.indeterminate = indeterminate;\n }, [indeterminate]);\n return /*#__PURE__*/React.createElement(\"hx-checkbox-control\", {\n \"class\": className\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n ref: inputRef\n }, rest, {\n id: id,\n type: \"checkbox\"\n })), /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: id\n }, /*#__PURE__*/React.createElement(\"hx-checkbox\", null), label));\n};\n\nfunction createCommonjsModule(fn, basedir, module) {\n return module = {\n path: basedir,\n exports: {},\n require: function require(path, base) {\n return commonjsRequire();\n }\n }, fn(module, module.exports), module.exports;\n}\n\nfunction commonjsRequire() {\n throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');\n}\n\nvar classnames = createCommonjsModule(function (module) {\n /*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n */\n\n /* global define */\n (function () {\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else {\n window.classNames = classNames;\n }\n })();\n});\nvar SIZES = {\n small: 'hxSm',\n medium: 'hxMd',\n large: 'hxLg'\n};\n\n/**\n * Because Web components attributes convert booleans to strings\n * this stops values like false from being converted to \"false\" and then evaluating as true.\n * @param {boolean} bool\n * @return {*}\n */\nvar wcBool = function wcBool(bool) {\n return bool ? true : null;\n};\n\nvar ChoiceTile = function ChoiceTile(_ref) {\n var _classNames;\n\n var checked = _ref.checked,\n children = _ref.children,\n className = _ref.className,\n disabled = _ref.disabled,\n icon = _ref.icon,\n invalid = _ref.invalid,\n name = _ref.name,\n onChange = _ref.onChange,\n size = _ref.size,\n subdued = _ref.subdued,\n title = _ref.title,\n style = _ref.style,\n rest = _objectWithoutPropertiesLoose(_ref, [\"checked\", \"children\", \"className\", \"disabled\", \"icon\", \"invalid\", \"name\", \"onChange\", \"size\", \"subdued\", \"title\", \"style\"]);\n\n return /*#__PURE__*/React.createElement(\"label\", {\n className: classnames({\n hxChoice: true\n }, className),\n style: style\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n checked: wcBool(checked),\n disabled: disabled,\n invalid: invalid == null ? void 0 : invalid.toString(),\n name: name,\n onChange: onChange,\n type: \"radio\"\n }, rest)), /*#__PURE__*/React.createElement(\"hx-tile\", {\n \"class\": classnames((_classNames = {\n hxSubdued: subdued\n }, _classNames[SIZES[size]] = true, _classNames))\n }, /*#__PURE__*/React.createElement(\"hx-icon\", {\n type: \"checkmark\"\n }), icon && /*#__PURE__*/React.createElement(\"div\", {\n className: \"hx-tile-icon\"\n }, /*#__PURE__*/React.createElement(\"hx-icon\", {\n type: icon\n })), /*#__PURE__*/React.createElement(\"header\", null, title), children));\n};\n\nChoiceTile.defaultProps = {\n checked: false\n};\n\nvar Disclosure = function Disclosure(_ref) {\n var className = _ref.className,\n ariaControls = _ref.ariaControls,\n ariaExpanded = _ref.ariaExpanded,\n rest = _objectWithoutPropertiesLoose(_ref, [\"className\", \"ariaControls\", \"ariaExpanded\"]);\n\n return /*#__PURE__*/React.createElement(\"hx-disclosure\", _extends({\n \"class\": className,\n \"aria-controls\": ariaControls,\n \"aria-expanded\": wcBool(ariaExpanded)\n }, rest));\n};\n\nvar Div = function Div(_ref) {\n var className = _ref.className,\n rest = _objectWithoutPropertiesLoose(_ref, [\"className\"]);\n\n return /*#__PURE__*/React.createElement(\"hx-div\", _extends({\n \"class\": className\n }, rest));\n};\n\nvar Drawer = function Drawer(_ref) {\n var children = _ref.children,\n className = _ref.className,\n id = _ref.id,\n onClose = _ref.onClose,\n onOpen = _ref.onOpen,\n open = _ref.open,\n size = _ref.size,\n rest = _objectWithoutPropertiesLoose(_ref, [\"children\", \"className\", \"id\", \"onClose\", \"onOpen\", \"open\", \"size\"]);\n\n var hxRef = useEventListener({\n onOpen: onOpen,\n onClose: onClose\n });\n return /*#__PURE__*/React.createElement(\"hx-drawer\", _extends({\n \"class\": classnames(className, SIZES[size]),\n id: id,\n open: wcBool(open),\n ref: hxRef\n }, rest), children);\n};\n\nDrawer.defaultProps = {\n open: null\n};\n\nvar Modal = function Modal(_ref) {\n var onOpen = _ref.onOpen,\n onClose = _ref.onClose,\n className = _ref.className,\n open = _ref.open,\n size = _ref.size,\n children = _ref.children,\n rest = _objectWithoutPropertiesLoose(_ref, [\"onOpen\", \"onClose\", \"className\", \"open\", \"size\", \"children\"]);\n\n var hxRef = useEventListener({\n onOpen: onOpen,\n onClose: onClose\n });\n return /*#__PURE__*/React.createElement(\"hx-modal\", _extends({\n \"class\": classnames(className, SIZES[size]),\n ref: hxRef,\n open: wcBool(open)\n }, rest), children);\n};\n\nvar Pill = function Pill(_ref) {\n var className = _ref.className,\n children = _ref.children,\n onDismiss = _ref.onDismiss,\n rest = _objectWithoutPropertiesLoose(_ref, [\"className\", \"children\", \"onDismiss\"]);\n\n var hxRef = useEventListener({\n onDismiss: onDismiss\n });\n return /*#__PURE__*/React.createElement(\"hx-pill\", _extends({\n \"class\": className\n }, rest, {\n ref: hxRef\n }), children);\n};\n\nvar PILL_VARIANTS = {\n grey: 'hxEmphasisGray',\n purple: 'hxEmphasisPurple',\n subdued: 'hxSubdued'\n};\n\nvar Status = function Status(_ref) {\n var className = _ref.className,\n children = _ref.children,\n variant = _ref.variant,\n filled = _ref.filled,\n rest = _objectWithoutPropertiesLoose(_ref, [\"className\", \"children\", \"variant\", \"filled\"]);\n\n return /*#__PURE__*/React.createElement(\"hx-status\", _extends({\n \"class\": classnames(className, PILL_VARIANTS[variant], {\n hxFill: filled\n })\n }, rest), children);\n};\n\nvar Popover = function Popover(_ref) {\n var onOpen = _ref.onOpen,\n onClose = _ref.onClose,\n onReposition = _ref.onReposition,\n className = _ref.className,\n open = _ref.open,\n children = _ref.children,\n relativeTo = _ref.relativeTo,\n rest = _objectWithoutPropertiesLoose(_ref, [\"onOpen\", \"onClose\", \"onReposition\", \"className\", \"open\", \"children\", \"relativeTo\"]);\n\n var hxRef = useEventListener({\n onOpen: onOpen,\n onClose: onClose,\n onReposition: onReposition\n });\n return /*#__PURE__*/React.createElement(\"hx-popover\", _extends({\n \"class\": classnames(className),\n ref: hxRef,\n open: wcBool(open),\n \"relative-to\": relativeTo\n }, rest), children);\n};\n\nvar Radio = function Radio(_ref) {\n var id = _ref.id,\n label = _ref.label,\n className = _ref.className,\n style = _ref.style,\n rest = _objectWithoutPropertiesLoose(_ref, [\"id\", \"label\", \"className\", \"style\"]);\n\n return /*#__PURE__*/React.createElement(\"hx-radio-control\", {\n \"class\": className,\n style: style\n }, /*#__PURE__*/React.createElement(\"input\", _extends({}, rest, {\n id: id,\n type: \"radio\"\n })), /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: id\n }, /*#__PURE__*/React.createElement(\"hx-radio\", null), label));\n};\n\nvar RadioSet = function RadioSet(_ref) {\n var className = _ref.className,\n children = _ref.children,\n rest = _objectWithoutPropertiesLoose(_ref, [\"className\", \"children\"]);\n\n return /*#__PURE__*/React.createElement(\"hx-radio-set\", _extends({\n \"class\": className\n }, rest), children);\n};\n\n/**\n * Identical to React.useEffect, except that it never runs on mount. This is the equivalent of\n * the componentDidUpdate lifecycle function.\n * @see https://stackoverflow.com/questions/53253940/make-react-useeffect-hook-not-run-on-initial-render\n * @param {function:function} effect - A useEffect effect.\n * @param {array} dependencies - useEffect dependency list.\n */\nvar useEffectExceptOnMount = function useEffectExceptOnMount(effect, dependencies) {\n var mounted = React.useRef(false);\n React.useEffect(function () {\n if (mounted.current) {\n var unmount = effect();\n return function () {\n return unmount && unmount();\n };\n } else {\n mounted.current = true;\n }\n }, dependencies);\n React.useEffect(function () {\n return function () {\n return mounted.current = false;\n };\n }, []);\n};\n/**\n * @see https://helixdesignsystem.github.io/helix-ui/components/search/\n */\n\n\nvar Search = function Search(_ref) {\n var disabled = _ref.disabled,\n id = _ref.id,\n label = _ref.label,\n className = _ref.className,\n clearLabel = _ref.clearLabel,\n onClear = _ref.onClear,\n optional = _ref.optional,\n required = _ref.required,\n containerId = _ref.containerId,\n value = _ref.value,\n style = _ref.style,\n rest = _objectWithoutPropertiesLoose(_ref, [\"children\", \"disabled\", \"id\", \"label\", \"className\", \"clearLabel\", \"onClear\", \"optional\", \"required\", \"containerId\", \"value\", \"style\"]);\n /**\n * Show clear icon when value changes programmatically by triggering 'input' event manually.\n * @see https://stackoverflow.com/questions/23892547/what-is-the-best-way-to-trigger-onchange-event-in-react-js\n */\n\n\n var inputRef = useRef();\n useEffectExceptOnMount(function () {\n var input = inputRef.current;\n var nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set;\n nativeInputValueSetter.call(input, value);\n var ev = new Event('input', {\n bubbles: true\n });\n input.dispatchEvent(ev);\n }, [value]);\n return /*#__PURE__*/React.createElement(\"hx-search-control\", {\n \"class\": className,\n id: containerId,\n style: style\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n id: id,\n value: value,\n ref: inputRef\n }, rest, {\n disabled: wcBool(disabled),\n type: \"search\"\n })), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"hxClear\",\n \"aria-label\": clearLabel,\n hidden: true,\n onClick: onClear\n }, /*#__PURE__*/React.createElement(Icon, {\n type: \"times\"\n })), /*#__PURE__*/React.createElement(\"hx-search\", null), label && /*#__PURE__*/React.createElement(\"label\", {\n className: classnames({\n hxOptional: optional,\n hxRequired: required\n }),\n htmlFor: id\n }, label));\n};\n\nSearch.defaultProps = {\n clearLabel: 'Clear search'\n};\n/**\n * @see https://helixdesignsystem.github.io/helix-ui/elements/hx-search-assistance/\n */\n\nvar SearchAssistance = function SearchAssistance(_ref) {\n var children = _ref.children,\n className = _ref.className,\n relativeTo = _ref.relativeTo,\n rest = _objectWithoutPropertiesLoose(_ref, [\"children\", \"className\", \"relativeTo\"]);\n\n return /*#__PURE__*/React.createElement(\"hx-search-assistance\", _extends({\n \"class\": className,\n \"relative-to\": relativeTo\n }, rest), children);\n};\n\nvar supportsPassiveEvents;\n\nfunction arePassiveEventsSupported() {\n if (supportsPassiveEvents !== undefined) {\n return supportsPassiveEvents;\n }\n\n var passive = false;\n var options = {\n // @ts-ignore: this is a temporary object, it doesn't have to return anything\n get passive() {\n passive = true;\n }\n\n };\n\n var noop = function noop() {};\n\n window.addEventListener('t', noop, options);\n window.removeEventListener('t', noop, options);\n supportsPassiveEvents = passive;\n return passive;\n}\n\nvar index = useLayoutEffect;\n\nvar useLatest = function useLatest(value) {\n var ref = useRef(value);\n index(function () {\n ref.current = value;\n });\n return ref;\n};\n\nvar MOUSEDOWN = 'mousedown';\nvar TOUCHSTART = 'touchstart';\nvar events = [MOUSEDOWN, TOUCHSTART];\n\nvar getOptions = function getOptions(event) {\n if (event !== TOUCHSTART) {\n return;\n }\n\n if (arePassiveEventsSupported()) {\n return {\n passive: true\n };\n }\n};\n\nfunction useOnClickOutside(ref, handler) {\n var handlerRef = useLatest(handler);\n useEffect(function () {\n if (!handler) {\n return;\n }\n\n var listener = function listener(event) {\n if (!ref.current || !handlerRef.current || ref.current.contains(event.target)) {\n return;\n }\n\n handlerRef.current(event);\n };\n\n events.forEach(function (event) {\n document.addEventListener(event, listener, getOptions(event));\n });\n return function () {\n events.forEach(function (event) {\n document.removeEventListener(event, listener, getOptions(event));\n });\n };\n }, [!handler]);\n}\n/**\n * @see https://helixdesignsystem.github.io/helix-ui/components/search/\n */\n\n\nvar SearchAssist = function SearchAssist(_ref) {\n var children = _ref.children,\n _onFocus = _ref.onFocus,\n position = _ref.position,\n rest = _objectWithoutPropertiesLoose(_ref, [\"children\", \"onFocus\", \"onBlur\", \"position\"]);\n\n var _useState = useState(false),\n open = _useState[0],\n setOpen = _useState[1];\n\n var searchRef = useRef();\n useOnClickOutside(searchRef, function () {\n return setOpen(false);\n });\n var hasChildren = React.Children.toArray(children).filter(function (c) {\n return c;\n }).length > 0;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: searchRef\n }, /*#__PURE__*/React.createElement(Search, _extends({}, rest, {\n onFocus: function onFocus(e) {\n setOpen(true);\n _onFocus && _onFocus(e);\n },\n containerId: rest.id + \"-hx-search-control\"\n })), hasChildren && /*#__PURE__*/React.createElement(SearchAssistance, {\n relativeTo: rest.id + \"-hx-search-control\",\n open: wcBool(open),\n position: position,\n onClick: function onClick() {\n return setOpen(false);\n }\n }, children));\n};\n\nvar Select = function Select(_ref) {\n var children = _ref.children,\n className = _ref.className,\n disabled = _ref.disabled,\n id = _ref.id,\n label = _ref.label,\n onChange = _ref.onChange,\n optional = _ref.optional,\n required = _ref.required,\n style = _ref.style,\n rest = _objectWithoutPropertiesLoose(_ref, [\"children\", \"className\", \"disabled\", \"id\", \"label\", \"onChange\", \"optional\", \"required\", \"style\"]);\n\n return /*#__PURE__*/React.createElement(\"hx-select-control\", {\n \"class\": className,\n style: style\n }, /*#__PURE__*/React.createElement(\"select\", _extends({\n id: id,\n disabled: disabled,\n onChange: onChange,\n required: required\n }, rest), children), /*#__PURE__*/React.createElement(\"hx-select\", null), label && /*#__PURE__*/React.createElement(\"label\", {\n className: classnames({\n hxOptional: optional,\n hxRequired: required\n }),\n htmlFor: id\n }, label));\n};\n\nvar Switch = function Switch(_ref) {\n var id = _ref.id,\n className = _ref.className,\n onLabel = _ref.onLabel,\n offLabel = _ref.offLabel,\n invalid = _ref.invalid,\n rest = _objectWithoutPropertiesLoose(_ref, [\"id\", \"className\", \"onLabel\", \"offLabel\", \"invalid\"]);\n\n return /*#__PURE__*/React.createElement(\"hx-switch-control\", {\n \"class\": classnames('switch', className)\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n type: \"checkbox\",\n id: id\n }, rest, {\n invalid: invalid == null ? void 0 : invalid.toString()\n })), /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: id\n }, /*#__PURE__*/React.createElement(\"hx-switch\", {\n onlabel: onLabel,\n offlabel: offLabel,\n \"aria-labelledby\": id\n })));\n};\n\nSwitch.defaultProps = {\n onLabel: '',\n offLabel: ''\n};\n\nvar Text = function Text(_ref) {\n var id = _ref.id,\n label = _ref.label,\n className = _ref.className,\n required = _ref.required,\n optional = _ref.optional,\n children = _ref.children,\n prefix = _ref.prefix,\n suffix = _ref.suffix,\n style = _ref.style,\n rest = _objectWithoutPropertiesLoose(_ref, [\"id\", \"label\", \"className\", \"required\", \"optional\", \"children\", \"prefix\", \"suffix\", \"style\"]);\n\n return /*#__PURE__*/React.createElement(\"hx-text-control\", {\n \"class\": className,\n style: style\n }, /*#__PURE__*/React.createElement(\"input\", _extends({}, rest, {\n id: id,\n required: required,\n type: \"text\"\n })), /*#__PURE__*/React.createElement(\"label\", {\n className: classnames({\n hxOptional: optional,\n hxRequired: required\n }),\n htmlFor: id\n }, label), prefix && /*#__PURE__*/React.createElement(\"span\", {\n className: \"hxPrefix\"\n }, prefix), suffix && /*#__PURE__*/React.createElement(\"span\", {\n className: \"hxSuffix\"\n }, suffix), children);\n};\n\nvar TextArea = function TextArea(_ref) {\n var id = _ref.id,\n label = _ref.label,\n className = _ref.className,\n required = _ref.required,\n optional = _ref.optional,\n children = _ref.children,\n style = _ref.style,\n rest = _objectWithoutPropertiesLoose(_ref, [\"id\", \"label\", \"className\", \"required\", \"optional\", \"children\", \"style\"]);\n\n return /*#__PURE__*/React.createElement(\"hx-textarea-control\", {\n \"class\": className,\n style: style\n }, /*#__PURE__*/React.createElement(\"textarea\", _extends({}, rest, {\n id: id,\n required: required\n })), /*#__PURE__*/React.createElement(\"label\", {\n className: classnames({\n hxOptional: optional,\n hxRequired: required\n }),\n htmlFor: id\n }, label), children);\n};\n\nvar Tooltip = function Tooltip(_ref) {\n var children = _ref.children,\n id = _ref.id,\n position = _ref.position;\n return /*#__PURE__*/React.createElement(\"hx-tooltip\", {\n \"for\": id,\n position: position\n }, children);\n};\n\nTooltip.defaultProps = {\n position: 'top-left'\n};\nexport { Alert, Button, Checkbox, ChoiceTile, Disclosure, Div, Drawer, Icon, Modal, Pill, Popover, Radio, RadioSet, Search, SearchAssist, Select, Status, Switch, Text, TextArea, Tooltip };","import React from 'react';\n\nconst Footer = () => {\n return (\n \n );\n};\n\nexport default Footer;\n","import * as msal from '@azure/msal-browser';\n\nconst isProd = process.env.NODE_ENV === 'production';\nconst redirectUri = isProd ? 'https://support.manage365.rackspace.com/?login' : 'http://localhost:8000/?login';\n\nconst msalConfig = {\n auth: {\n clientId: 'b1902229-67ff-4a90-9a15-f90d71273438',\n navigateToLoginRequestUrl: false,\n redirectUri,\n },\n};\n\nconst msalInstance =\n typeof msal.PublicClientApplication !== 'undefined'\n ? new msal.PublicClientApplication(msalConfig)\n : {};\n\n// msalInstance.getAllAccounts() will return a list of logged in accounts\n// possible to be logged in with multiple at the same time, so we may want\n// or need to manage a user context\n\nexport default msalInstance;","const any200LevelStatus = '2XX';\nconst defaultMethod = 'GET';\nconst defaultExpectedStatues = [any200LevelStatus];\nconst noop = () => ({});\nconst isBrowser = typeof window !== `undefined`;\n\nclass RequestHelper {\n constructor(windowFetch = isBrowser ? window.fetch.bind(window) : noop) {\n this._windowFetch = windowFetch;\n }\n\n request = async (uri, request = {}) => {\n let reqInfo = {\n credentials: 'same-origin',\n headers: new Headers(),\n method: defaultMethod,\n requireResponseBody: true,\n expectedStatuses: defaultExpectedStatues,\n ...request,\n };\n\n if (reqInfo.body && reqInfo.body instanceof Object) {\n reqInfo.headers.set('Content-Type', 'application/json');\n reqInfo.body = JSON.stringify(reqInfo.body);\n }\n\n let result = {\n data: null,\n fetchError: null,\n headers: new Headers(),\n parseError: null,\n status: 0,\n statusText: '',\n success: false,\n };\n\n let response;\n\n try {\n response = await this._windowFetch(uri, reqInfo);\n\n let { headers, status, statusText } = response;\n result.headers = headers;\n result.success = this._getIsStatusExpected(\n status,\n reqInfo.expectedStatuses\n );\n result.status = status;\n result.statusText = statusText;\n } catch (ex) {\n result.fetchError = ex;\n }\n\n if (!result.fetchError) {\n if (response.status !== 0 && response.status < 500) {\n try {\n result.data = await response.json();\n } catch (ex) {\n if (reqInfo.requireResponseBody && response.status !== 204) {\n result.success = false;\n }\n\n result.parseError = ex;\n }\n }\n }\n\n return result;\n };\n\n _getIsStatusExpected(actualStatus, expectedStatuses) {\n actualStatus = actualStatus.toString();\n expectedStatuses = expectedStatuses.map((x) => x.toString().toUpperCase());\n\n if (expectedStatuses.includes(actualStatus)) {\n return true;\n }\n\n const actualStatusWas200Level = actualStatus.charAt(0) === '2';\n if (\n expectedStatuses.includes(any200LevelStatus) &&\n actualStatusWas200Level\n ) {\n return true;\n }\n\n return false;\n }\n}\n\nlet { request } = new RequestHelper();\n\nexport {\n defaultMethod,\n defaultExpectedStatues,\n request as default,\n RequestHelper,\n};\n","import requestHelper, { defaultMethod, defaultExpectedStatues } from './requestHelper.js';\n\nclass ApiClient {\n constructor(request = requestHelper) {\n this._request = request;\n this._raiseError = () => {};\n }\n\n initialize = (raiseError) => {\n this._raiseError = raiseError;\n };\n\n request = async (uri, requestInfo, options = {}) => {\n let resp = await this._request(uri, requestInfo);\n if (!resp.success) {\n this._handleError(uri, requestInfo, resp, options.handleError);\n }\n return resp;\n };\n\n _handleError(uri, requestInfo, resp, errorHandler) {\n const raiseError = errorHandler || this._raiseError;\n const { method, expectedStatuses } = requestInfo || {};\n if (resp.fetchError) {\n raiseError('Failed to contact the server', resp.fetchError);\n } else if (resp.parseError) {\n raiseError('Server returned unexpected data', resp.parseError, {\n status: resp.status,\n statusText: resp.statusText,\n });\n } else {\n const { data = {}, status, statusText } = resp;\n if (status === 0 || status >= 500) {\n raiseError(statusText || 'NO RESPONSE');\n } else {\n const defaultMessage = 'Server returned an unexpected response';\n const exception = data.message || null;\n const message = status === 403 ? 'You do not have permission to access this resource' : defaultMessage;\n const details = {\n method: method || defaultMethod,\n status,\n statusText,\n expectedStatuses: expectedStatuses || defaultExpectedStatues,\n uri: uri ? uri.toString() : '',\n };\n raiseError(message, exception, details);\n }\n }\n }\n}\n\nlet { initialize, request } = new ApiClient();\n\nexport { request as default, initialize as initializeRequest, ApiClient };\n","import {\n AUTHENTICATE_USER,\n READ_USER_PROFILE,\n LOAD_ASSIGNED_LICENSES,\n LOG_OUT,\n LOG_IN,\n} from './actionTypes';\nimport { COMPLETED, ERROR, PENDING } from '../utils/statusTypes';\nimport msalInstance from '../auth';\nimport request from '../utils/apiClientRequest.js';\n\nconst graphAPI = 'https://graph.microsoft.com/v1.0/me';\n\nexport const authenticateUser = () => async (dispatch) => {\n dispatch({ type: AUTHENTICATE_USER, status: PENDING });\n\n try {\n const response = await msalInstance.handleRedirectPromise();\n\n if (response === null) {\n dispatch({ type: AUTHENTICATE_USER, status: COMPLETED });\n return;\n }\n\n if (!!response) {\n const { account, accessToken } = response;\n\n dispatch({\n type: AUTHENTICATE_USER,\n status: COMPLETED,\n account,\n loginStatus: COMPLETED,\n });\n\n return accessToken;\n }\n } catch (err) {\n dispatch({\n type: AUTHENTICATE_USER,\n status: ERROR,\n });\n }\n};\n\nexport const readUserProfile = ({ accessToken }) => async (dispatch) => {\n dispatch({ type: READ_USER_PROFILE, status: PENDING });\n\n const response = await request(graphAPI, {\n headers: {\n Authorization: `Bearer ${accessToken}`,\n },\n });\n\n const { data, success } = response;\n\n if (!success) {\n dispatch({ type: READ_USER_PROFILE, status: ERROR });\n return;\n }\n\n const { displayName } = data;\n\n dispatch({\n type: READ_USER_PROFILE,\n status: COMPLETED,\n profile: { displayName },\n });\n};\n\nexport const logInUser = () => async (dispatch) => {\n dispatch({\n type: LOG_IN,\n status: PENDING,\n });\n\n try {\n msalInstance.loginRedirect({\n prompt: 'select_account',\n domainHint: 'organizations',\n scopes: ['user.read'],\n });\n } catch (err) {\n dispatch({\n type: LOG_IN,\n status: ERROR,\n });\n }\n};\n\nexport const logOutUser = ({ homeAccountId }) => (dispatch) => {\n dispatch({ type: LOG_OUT, status: PENDING });\n\n const currentAccount = msalInstance.getAccountByHomeId(homeAccountId);\n\n msalInstance.logout(currentAccount);\n};\n\nexport const loadAssignedLicenses = ({ accessToken }) => async (dispatch) => {\n dispatch({ type: LOAD_ASSIGNED_LICENSES, status: PENDING });\n\n const response = await request(graphAPI + '?$select=assignedLicenses', {\n headers: {\n Authorization: `Bearer ${accessToken}`,\n },\n });\n\n const { data, success } = response;\n\n if (!success) {\n dispatch({ type: LOAD_ASSIGNED_LICENSES, status: ERROR });\n return;\n }\n\n dispatch({\n type: LOAD_ASSIGNED_LICENSES,\n status: COMPLETED,\n assignedLicenses: data.assignedLicenses,\n });\n};\n","export const COMPLETED = 'completed';\nexport const ERROR = 'error';\nexport const PENDING = 'pending';\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { logOutUser } from '../store/actions';\n\nconst HeaderDropdown = ({ homeAccountId, username }) => {\n const dispatch = useDispatch();\n\n const handleLogout = () => {\n dispatch(logOutUser({ homeAccountId }));\n };\n\n return (\n
Success!
\nThe login credentials are valid.
\nYour Licenses:
}\n {hasLicenses &&\n licenses.map((l) =>\n l !== UNKNOWN_PRODUCT ?{l}
: null\n )}\n