{"version":3,"file":"javascripts/dashboard_2.1bce76adfb325e8403f9.js","mappings":"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","sources":["webpack:///./analytics/fullstory.js","webpack:///../../d2/src/providers/index.tsx","webpack:///../../d2/src/index.tsx","webpack:///./analytics/wootric.js","webpack:///./analytics/rage_click.js","webpack:///./dashboard_2.js","webpack:///../../d2/src/components/Card/CardSubSection/index.tsx","webpack:///../../d2/src/components/Card/CardTile/index.tsx","webpack:///../../d2/src/components/IosPwaPrompt/translations.tsx","webpack:///../../d2/src/components/IosPwaPrompt/index.tsx","webpack:///../../d2/src/components/Layout/CardStack/index.tsx","webpack:///../../d2/src/components/Layout/SpaceBetween/index.tsx","webpack:///../../d2/src/components/Layout/StretchOne/index.tsx","webpack:///../../d2/src/components/NeedsAgreement/queries.tsx","webpack:///../../d2/src/components/NeedsAgreement/index.tsx","webpack:///../../d2/src/components/PhoneNumberInput/index.tsx","webpack:///../../d2/src/components/StorageSpaceBanner/index.tsx","webpack:///../../d2/src/loadables/NotFoundScreen.tsx","webpack:///../../d2/src/mount.tsx","webpack:///../../d2/src/partials/ConfirmPasswordForm/index.tsx","webpack:///../../d2/src/partials/OneTimePasswordForm/index.tsx","webpack:///../../d2/src/partials/SecuritySettings/index.tsx","webpack:///../../d2/src/partials/StorageTierModalWrapper/index.tsx","webpack:///../../d2/src/loadables/Account.tsx","webpack:///../../d2/src/loadables/AccountActivity.tsx","webpack:///../../d2/src/loadables/AccountDeletion.tsx","webpack:///../../d2/src/loadables/AccountDeletionWarning.tsx","webpack:///../../d2/src/loadables/AccountSignedAgreement.tsx","webpack:///../../d2/src/loadables/AdvancesIndex.tsx","webpack:///../../d2/src/loadables/AlbumCreation.tsx","webpack:///../../d2/src/loadables/AlbumDetails.tsx","webpack:///../../d2/src/loadables/AlbumDetailsPublishSuccess.tsx","webpack:///../../d2/src/loadables/AlbumDetailsPublishSuccessV2.tsx","webpack:///../../d2/src/loadables/ArtistDetails.tsx","webpack:///../../d2/src/loadables/ArtistsIndex.tsx","webpack:///../../d2/src/loadables/AudioDestinationNews.tsx","webpack:///../../d2/src/loadables/CaptchaScreen.tsx","webpack:///../../d2/src/loadables/Content.tsx","webpack:///../../d2/src/loadables/ContentLicenseAgreementNotice.tsx","webpack:///../../d2/src/analytics/GoogleTracker/index.tsx","webpack:///../../d2/src/hooks/useTracking/index.tsx","webpack:///../../d2/src/routes/SharedLayout.tsx","webpack:///../../d2/src/routes/PartialLayout.tsx","webpack:///../../d2/src/routes/D2DevLayout.tsx","webpack:///../../d2/src/loadables/DPAScreen.tsx","webpack:///../../d2/src/loadables/DataDeleteRequest.tsx","webpack:///../../d2/src/loadables/Distribution.tsx","webpack:///../../d2/src/loadables/EarningsStatementIngestion.tsx","webpack:///../../d2/src/loadables/ExamplesScreen.tsx","webpack:///../../d2/src/loadables/Faq.tsx","webpack:///../../d2/src/components/ForLabelHub/index.tsx","webpack:///../../d2/src/loadables/Insights.tsx","webpack:///../../d2/src/loadables/MerchItemEdit.tsx","webpack:///../../d2/src/components/NavigateDynamic/index.tsx","webpack:///../../d2/src/components/NavigatePathRewrite/index.tsx","webpack:///../../d2/src/loadables/NewAdvance.tsx","webpack:///../../d2/src/loadables/OAuthReturn.tsx","webpack:///../../d2/src/loadables/OneTimePassword.tsx","webpack:///../../d2/src/loadables/OrganizationBulkInviteUsers.tsx","webpack:///../../d2/src/loadables/OrganizationDetails.tsx","webpack:///../../d2/src/loadables/OrganizationEditUser.tsx","webpack:///../../d2/src/loadables/OrganizationInviteUser.tsx","webpack:///../../d2/src/loadables/PasswordConfirmation.tsx","webpack:///../../d2/src/loadables/PayeeDetails.tsx","webpack:///../../d2/src/loadables/PayeeInviteExpired.tsx","webpack:///../../d2/src/loadables/PayeeSignUp.tsx","webpack:///../../d2/src/loadables/PlanDowngrade.tsx","webpack:///../../d2/src/loadables/PrivacyPolicyScreen.tsx","webpack:///../../d2/src/loadables/PublishAdditionalServices.tsx","webpack:///../../d2/src/loadables/PublishNetworkSelect.tsx","webpack:///../../d2/src/loadables/PublishReview.tsx","webpack:///../../d2/src/loadables/RecoupmentCreation.tsx","webpack:///../../d2/src/loadables/ReleaseCalendar.tsx","webpack:///../../d2/src/loadables/ResetPassword.tsx","webpack:///../../d2/src/loadables/RevenuePrediction.tsx","webpack:///../../d2/src/loadables/RoyaltyCenter.tsx","webpack:///../../d2/src/layouts/Dashboard/AppAnnouncementsBanner/styles.tsx","webpack:///../../d2/src/layouts/Dashboard/AppAnnouncementsBanner/index.tsx","webpack:///../../d2/src/layouts/Dashboard/ObserverModeBanner/styles.tsx","webpack:///../../d2/src/layouts/Dashboard/ObserverModeBanner/translations.tsx","webpack:///../../d2/src/layouts/Dashboard/ObserverModeBanner/index.tsx","webpack:///../../d2/src/layouts/Dashboard/styles.tsx","webpack:///../../d2/src/layouts/Dashboard/index.tsx","webpack:///../../d2/src/routes/ScreenLayout.tsx","webpack:///../../d2/src/components/ScrollToTopOnChangePath/index.tsx","webpack:///../../d2/src/loadables/ShareAlbum.tsx","webpack:///../../d2/src/loadables/SignIn.tsx","webpack:///../../d2/src/loadables/SignatureCreation.tsx","webpack:///../../d2/src/loadables/SpotifyForArtists.tsx","webpack:///../../d2/src/loadables/Statements.tsx","webpack:///../../d2/src/loadables/StorageConsumptionScreen.tsx","webpack:///../../d2/src/loadables/StorageSuccessScreen.tsx","webpack:///../../d2/src/loadables/SubProcessorsScreen.tsx","webpack:///../../d2/src/loadables/TDD.tsx","webpack:///../../d2/src/loadables/TaxSubmission.tsx","webpack:///../../d2/src/loadables/Terms.tsx","webpack:///../../d2/src/loadables/TermsAndConditions.tsx","webpack:///../../d2/src/loadables/TipaltiFaq.tsx","webpack:///../../d2/src/loadables/TipaltiSignup.tsx","webpack:///../../d2/src/loadables/Ucla.tsx","webpack:///../../d2/src/loadables/Upload.tsx","webpack:///../../d2/src/loadables/VerifyEmail.tsx","webpack:///../../d2/src/loadables/WidgetDashboard.tsx","webpack:///../../d2/src/routes/index.tsx","webpack:///../../d2/src/utils/Navigation.tsx","webpack:///../../d2/src/utils/Routes.tsx","webpack:///../../d2/src/utils/StringHelpers/index.tsx","webpack:///../../d2/src/utils/apollo/index.tsx","webpack:///../../d2/src/utils/environment.tsx","webpack:///../../d2/src/utils/isTestEnv.tsx","webpack:///../../d2/src/utils/raygun/index.tsx","webpack:///../../d2/src/vendor/document-ready.tsx"],"sourcesContent":["import '../vendor/fullstory'\nimport { FullStory } from '@fullstory/browser'\nimport ready from '../utils/ready'\n\nexport function init () {\n const user = window.current_user\n if (window.FS && user && user.id) {\n const properties = {\n createdAt: user.created_at,\n email: user.email,\n estimatedRevenue: user.estimated_revenue.to_f,\n fullName: user.full_name,\n currentTier: (user.use_override_tier ? user.override_user_tier : user.current_tier) || 1000,\n lifetimeTier: (user.use_override_tier ? user.override_user_tier : user.lifetime_tier) || 1000,\n tierIsEstimate: user.use_override_tier,\n isAdmin: user.is_admin || window.adminLayout,\n organizationId: user.organization_id,\n organizationRole: user.role,\n phone: user.phone,\n userId: user.id,\n }\n const observer = window.current_observer\n if (window.FS && observer && observer.id) {\n properties.observerId = observer.id\n properties.observerOrganizationId = observer.organization_id\n }\n const features = window.enabledFeatures\n features.forEach((feature) => {\n feature = feature.replace(/(_\\w)/g, (m) => m[1].toUpperCase())\n properties[`hasFeature${feature}`] = true\n })\n const fullstoryId = observer?.id ? `${observer.id}::${user.id}` : user.id\n properties.displayName = observer?.id ? `${observer.full_name || observer.email} as ${user.full_name || user.email}` : user.full_name || user.email\n FullStory('setIdentity', {\n uid: fullstoryId,\n properties,\n })\n }\n}\n\nready(init)\n","/*\nTop level component that provides basic integrations for Redux, Apollo, Router, etc.\n\nThere are multiple providers. This one is the default, used during normal operation (like production.)\n*/\nimport { Component } from 'react'\nimport BaseProvider from './BaseProvider'\nimport apollo from 'd2/utils/apollo'\nimport createStoreResources from 'd2/store/createStoreResources'\nimport type { History } from 'history'\nimport type { Store } from 'd2/types'\nimport type { StoreResources } from 'd2/store/createStoreResources'\n\ntype Props = {\n children?: React$Node\n}\n\nexport default class extends Component {\n history: History\n store: Store\n\n constructor (props: Props) {\n super(props)\n\n const {\n history,\n store,\n }: StoreResources = createStoreResources()\n this.history = history\n this.store = store\n }\n\n render = () => {\n const { history, props: { children }, store } = this\n\n return (\n { children }\n )\n }\n}\n","/* eslint-disable no-console */\n/* eslint-disable unicorn/prefer-module */\n\nimport './vendor/document-ready' // eslint-disable-line import/no-internal-modules\nimport Providers from './providers'\nimport mount from './mount'\n\nconst loadTDDMounter: () => void = () => {\n console.log('JavaScripts running in TDD mode. Loading TDD bundle...')\n\n import(/* webpackChunkName: \"tdd\" */ './tdd')\n .then((loaded) => {\n console.log('TDD bundle loaded!')\n return loaded\n })\n .catch((error) => {\n console.error('TDD bundle failed to load!')\n throw error\n })\n}\n\nconst render = () => {\n // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n const { default: Root } = require('d2/root')\n\n // TODO: Try adding StrictMode back in. Removed when switching to react 18 concurrent rendering.\n // import { StrictMode } from 'react'\n mount(\n \n \n ,\n )\n}\n\nif (typeof window !== 'undefined') {\n // @ts-expect-error custom window things\n if (window.VYDIA_SETTINGS?.TDD || window.sessionStorage.getItem('TDD')) {\n loadTDDMounter()\n } else {\n // @ts-expect-error custom window things\n window.documentReady(render)\n }\n}\n","import ready from '../utils/ready'\n\nfunction init () {\n const showWootric = window.wootric && window.is_current_user_eligible_for_nps\n\n // FOR TESTING - Be sure to revert any changes in this section before making any commits\n\n // 1. Comment out this block in order to make the modal eligible to appear\n if (!showWootric) {\n return\n }\n\n // 2. Uncomment the line below to have the modal appear once the page loads\n // window.wootric_survey_immediately = true\n\n // 3. Set a value for WOOTRIC_TOKEN in `config/settings/development.rb` (get token from Prod settings)\n\n // END TESTING\n\n // Asynchronously load the beacon asset as a prerequisite for Wootric\n // Once beacon is loaded, then setup and execute the Wootric feature\n const user = window.current_user\n\n window.wootricSettings = {\n email: user.email, // The current logged in user's email address.\n created_at: Math.floor(Date.parse(user.created_at) / 1000).toString(), // User's account creation date\n account_token: window.VYDIA_SETTINGS.WOOTRIC_TOKEN, // The Vydia/Wootric account token (set this in `config/settings/development.rb` when testing)\n // Custom Properties\n properties: {\n currentTier_amount: (user.use_override_tier ? user.override_user_tier : user.current_tier) || 1000,\n lifetimeTier_amount: (user.use_override_tier ? user.override_user_tier : user.lifetime_tier) || 1000,\n tierIsEstimate: user.use_override_tier,\n fullName: user.full_name,\n organizationRole: user.role,\n url: `admin.vydia.com/admin/u/${user.id}`,\n userId: user.id,\n },\n }\n\n window.wootric('run')\n}\n\nready(init)\n","import $ from 'jquery'\nimport ready from '../utils/ready'\n\nready(() => {\n // Number of rage clicks\n const noOfClicks = 5\n // Time interval - 3 for 3 secs, 4 for secs and likewise\n const time = 3\n const clickEvents = []\n // internal vars\n const possibleClick = 5\n const radius = 50\n function detectXClicks (count, interval) {\n const last = clickEvents.length - 1\n const timeDiff = (clickEvents[last].time.getTime() - clickEvents[last - count + 1].time.getTime()) / 1000\n // returns false if it event period is longer than 5 sec\n if (timeDiff > interval) return null\n // check click distance\n let maxDistance = 0\n for (let i = last - count + 1; i < last; i++) {\n for (let j = i + 1; j <= last; j++) {\n const distance = Math.round(Math.sqrt(Math.pow(clickEvents[i].event.clientX - clickEvents[j].event.clientX, 2) + Math.pow(clickEvents[i].event.clientY - clickEvents[j].event.clientY, 2)))\n if (distance > maxDistance) maxDistance = distance\n if (distance > radius) return null\n }\n }\n return {\n count,\n maxDistance,\n timeDiff,\n }\n }\n function removeUsedClickPoints (count) {\n clickEvents.splice(clickEvents.length - count, count)\n }\n $('body').click((event) => {\n clickEvents.push({\n event,\n time: new Date(),\n })\n // remain only required number of click events and remove left of them.\n if (clickEvents.length > possibleClick) {\n clickEvents.splice(0, clickEvents.length - possibleClick)\n }\n // detect 5 click in 3 sec\n if (clickEvents.length >= 5) {\n const result = detectXClicks(noOfClicks, time)\n if (result != null) {\n const selected = $(event.target)\n const classes = selected.attr('class')\n const text = selected.text()\n const testID = selected.closest('[data-test-id]')?.attr('data-test-id')\n const parentClass = selected.parent()?.attr('class')\n const replacedTestID = testID?.replace(/-(\\d+)/, '-:id')\n const tags = ['D2', 'rage']\n window.rg4js?.('send', {\n customData: {\n error: replacedTestID ? `rage click on ${replacedTestID}` : 'rage click',\n elementClass: classes,\n parentClass,\n maxDistance: result.maxDistance,\n testID,\n text,\n numberOfClicks: result.count,\n time: result.timeDiff,\n },\n error: replacedTestID ? `Rage click has occurred on ${replacedTestID}` : 'Rage click has occurred',\n tags: replacedTestID ? tags.concat(replacedTestID) : tags,\n })\n removeUsedClickPoints(noOfClicks)\n }\n }\n })\n})\n","/* eslint-disable sort-imports-es6-autofix/sort-imports-es6 */\nimport './webpack/publicPath'\nimport './vendor/polyfills'\nimport { init } from './analytics/fullstory'\nimport './dashboard_2.less.js'\nimport './dashboard_2/index'\nimport './analytics/wootric.js'\nimport './analytics/rage_click'\nimport './shared/webconsole'\nimport Turbolinks from 'd2/vendor/turbolinks'\nimport ready from './utils/ready'\n\nready(() => {\n init()\n Turbolinks.controller.stop()\n})\n","import { isFunction } from 'lodash-es'\nimport { memo } from 'react'\nimport Divider from 'd2/components/Divider'\nimport Heading3 from 'd2/components/Typography/Heading3'\nimport StackedOnPhone from 'd2/components/StackedOnPhone'\nimport Truncate from 'd2/components/Typography/Truncate'\nimport useStyles from './styles'\nimport type { Props } from './types'\n\nconst CardSubSection = memo(({\n children,\n dividerProps,\n noContentMargin,\n noDivider,\n noPadding,\n noPaddingBottom,\n noPaddingLeft,\n rightSideContent,\n tinyButtons,\n title,\n topButtons,\n}) => {\n const { classes, cx } = useStyles()\n\n return (<>\n \n { title && (\n <>\n \n {\n isFunction(title)\n ? \n : <Heading3 variant='light'>\n { title }\n </Heading3>\n }\n </Truncate>\n { rightSideContent }\n </>\n ) }\n { topButtons && (\n <div className={classes.buttonsWrapper}>\n { topButtons }\n </div>\n ) }\n </StackedOnPhone>\n { !noDivider && <Divider {...dividerProps ?? { halfMargin: true }} /> }\n <div\n className={cx({\n [classes.contentWithMargin]: noDivider && !noContentMargin,\n [classes.paddingBottom]: !noPadding && !noPaddingBottom,\n [classes.paddingLeft]: !noPadding && !noPaddingLeft,\n })}\n >\n { children }\n </div>\n </>\n )\n})\n\nCardSubSection.displayName = 'CardSubSection'\n\nexport default CardSubSection\n","import { forwardProps } from 'd2/utils/props'\nimport { memo } from 'react'\nimport useStyles from './styles'\nimport type { Props } from './types'\n\nconst CardTile = memo<Props>(({\n align,\n children,\n className,\n fullHeight,\n paddingHorizontal,\n paddingVertical,\n title,\n ...props\n}) => {\n const { classes, cx } = useStyles({\n align,\n paddingHorizontal,\n paddingVertical,\n })\n\n return (\n <div\n className={cx(classes.container, { [classes.fullHeight]: fullHeight }, className)}\n {...forwardProps(props)}\n >\n { title\n && <div className={classes.title}>\n { title }\n </div> }\n { children }\n </div>\n )\n})\n\nCardTile.displayName = 'CardTile'\n\nexport default CardTile\n","import { makeLazyTranslations } from 'd2/hooks/useTranslations'\n\nexport default makeLazyTranslations({\n en: () => import('./translations.en'),\n})\n","import { memo } from 'react'\n// @ts-expect-error must convert module to ts\nimport PWAPrompt from 'react-ios-pwa-prompt'\nimport useTranslations from './translations'\n\n// 10 because for some reason the Dashboard layout rerenders about\n// 4 times and this PWAPrompt adds to localStorage each time it is rendered\nconst TIMES_TO_SHOW = 10\n\nconst IosPwaPrompt = memo<EO>(() => {\n const t = useTranslations()\n\n return (\n <PWAPrompt\n copyBody={t.body}\n copyClosePrompt={t.close}\n copyTitle={t.title}\n permanentlyHideOnDismiss={false}\n promptOnVisit={1}\n timesToShow={TIMES_TO_SHOW}\n />\n )\n})\n\nIosPwaPrompt.displayName = 'IosPwaPrompt'\n\nexport default IosPwaPrompt\n","import { Children, memo } from 'react'\nimport { Col, Grid } from 'd2/components/Grid'\nimport { compact } from 'lodash-es'\nimport type { Props } from './types'\n\nconst CardStack = memo<Props>(({\n children,\n sidebar, // Sometimes we are getting boolean value for sidebar prop... Is that right?\n sidebarPosition = 'left',\n sidebarSize = 4,\n}) => (\n <Grid layout>\n { sidebar && sidebarPosition === 'left' && (\n <Col md={sidebarSize}>\n { sidebar === true ? '' : sidebar }\n </Col>\n ) }\n { /* @ts-expect-error (auto-migrated from flow FixMe)[incompatible-type] */ }\n <Col md={12 - (sidebar ? sidebarSize : 0)}>\n <Grid layout>\n { compact(Children.toArray(children)).map((child, index: number) => (\n // eslint-disable-next-line react/no-array-index-key\n <Col key={index}>\n { child }\n </Col>\n )) }\n </Grid>\n </Col>\n { sidebar && sidebarPosition === 'right' && (\n <Col md={sidebarSize}>\n { sidebar === true ? '' : sidebar }\n </Col>\n ) }\n </Grid>\n))\n\nCardStack.displayName = 'CardStack'\n\nexport default CardStack\n","import { forwardProps } from 'd2/utils/props'\nimport { memo } from 'react'\nimport useStyles from './styles'\nimport type { Props } from './types'\n\n/*\nRenders two components horizontally, one on the left and one on the right of edges. Anything else is unsupported.\n*/\nconst SpaceBetween = memo<Props>(({\n children,\n className,\n ...props\n}) => {\n const { classes, cx } = useStyles()\n\n return (\n <div\n className={cx(classes.container, className)}\n {...forwardProps(props)}\n >\n { children }\n </div>\n )\n})\n\nSpaceBetween.displayName = 'SpaceBetween'\n\nexport default SpaceBetween\n","import {\n Children,\n cloneElement,\n isValidElement,\n memo,\n} from 'react'\nimport { forwardProps } from 'd2/utils/props'\nimport useStyles from './styles'\nimport type { Props, StretchChild } from './types'\n\n/*\nIndicates if this child is the one to stretch.\n*/\nfunction shouldStretch (index: number, count: number, stretch: StretchChild): boolean {\n if (stretch === index) return true\n if (stretch === 'first' && index === 0) return true\n if (stretch === 'last' && index === count - 1) return true\n return !!(stretch === 'middle' && count % 2 === 1 && index === (count - 1) / 2)\n}\n\n/*\nRenders child components horizontally, sizing each one to its minimum width (auto) except for\none that fills all the remaining space.\n*/\nconst StretchOne = memo<Props>(({\n children,\n className,\n stretch,\n vertical,\n ...props\n}) => {\n const { classes, cx } = useStyles()\n const childrenCount = Children.count(children)\n\n return (\n <div\n className={cx({\n [classes.containerHorizontal]: !vertical,\n [classes.containerVertical]: vertical,\n }, className)}\n {...forwardProps(props)}\n >\n {\n Children.map(children, (child, i: number) => {\n if (shouldStretch(i, childrenCount, stretch)) {\n return isValidElement(child)\n ? cloneElement(child, {\n // @ts-expect-error TS version 4.8 started complaining about cloneElement's props.\n className: cx(child.props.className, classes.stretchChild),\n })\n : child\n }\n return child\n })\n }\n </div>\n )\n})\n\nStretchOne.displayName = 'StretchOne'\n\nexport default StretchOne\n","import { gql } from '@apollo/client'\nimport { mustSignUclaFragment } from 'd2/queries/shared'\nimport { useQuerySwitch } from 'd2/hooks/useQuerySwitch'\nimport type { HasSignedAgreements } from 'd2/queries'\nimport type { ReducerArg } from 'd2/hooks/useQuerySwitch'\n\nconst reducer = ({\n data,\n}: ReducerArg<HasSignedAgreements>) => data?.me\n\nexport const useQuery = () => useQuerySwitch<HasSignedAgreements, EO, typeof reducer>(gql`\n query HasSignedAgreements {\n me {\n id\n ...UserMustSignUcla\n must_acknowledge_address_change\n show_optional_ucla\n }\n }\n ${mustSignUclaFragment}\n`, {\n fetchPolicy: 'cache-and-network',\n\n reducer,\n})\n","import { Navigate, useSearchParams } from 'react-router-dom'\nimport { coerceBoolean, useUrlQueryParam } from 'd2/hooks/useUrlQueryParam'\nimport { memo } from 'react'\nimport { useLocation } from 'd2/hooks/useRouter'\nimport { useQuery } from './queries'\nimport type { Props } from './types'\n\n/*\nA simple way to ensure a component only shows if the user has signed required agreements. If the user\nhas not signed a required agreement, it will present them with that agreement to sign.\n*/\n\nconst NeedsAgreement = memo<Props>((\n {\n children,\n forAddressChange,\n forEcla,\n forOwnerEcla,\n skippable,\n },\n) => {\n const [me, querySwitch] = useQuery()\n const { pathname, search } = useLocation()\n const [searchParams] = useSearchParams()\n const [skipped] = useUrlQueryParam('skipped', coerceBoolean)\n\n if (!me) {\n return querySwitch\n }\n\n if (\n forAddressChange\n && me.must_acknowledge_address_change\n && (\n pathname !== '/d2/dashboard'\n || searchParams.get('modal') !== 'AddressChangeModal'\n )\n ) {\n return <Navigate to=\"/d2/dashboard?modal=AddressChangeModal\" />\n }\n\n const signedAgreementRequired = (forEcla && me.must_sign_ucla) || (forOwnerEcla && me.requires_label_owner_agreement)\n const cannotBeSkipped = !skippable || (me.show_optional_ucla && !skipped)\n\n if (signedAgreementRequired && cannotBeSkipped) {\n return <Navigate to={`/d2/ecla?${skippable ? 'skippable=true&' : ''}return_url=${encodeURIComponent(pathname + search)}`} />\n }\n\n return (<>\n { children }\n </>)\n})\n\nNeedsAgreement.displayName = 'ConnectedComponent'\n\nexport default NeedsAgreement\n","import { Props } from './types'\nimport { memo } from 'react'\nimport MuiPhoneNumberInput from 'material-ui-phone-number'\nimport Providers from 'd2/providers/standalone'\nimport useTranslations from './translations'\n\nconst PhoneNumberInput = memo<Props>(({\n disabled,\n disabledText,\n enableHelperText = true,\n ...props\n}) => {\n const t = useTranslations()\n return (\n <MuiPhoneNumberInput\n defaultCountry='us'\n disabled={disabled}\n enableLongNumbers\n {...props}\n helperText={enableHelperText && (disabled || disabledText ? t.disableOtp : t.helperText())}\n // Temporary fix for safari and firefox found here: https://github.com/alexplumb/material-ui-phone-number/issues/124#issuecomment-1017297624\n sx={{\n svg: {\n height: '20px',\n },\n }}\n />\n )\n})\n\nexport const ComponentWithProviders = memo<Props>((props) => (\n <Providers>\n <PhoneNumberInput {...props} />\n </Providers>\n))\n\nPhoneNumberInput.displayName = 'PhoneNumberInput'\nComponentWithProviders.displayName = 'PhoneNumberInputD1'\n\nexport default PhoneNumberInput\n","import { memo } from 'react'\nimport Providers from 'd2/providers/standalone'\nimport StorageSpaceBanner from './template'\nimport type { Props } from './types'\n\nexport const ComponentWithProviders = memo<Props>(({ d1 }) => (\n <Providers>\n <StorageSpaceBanner d1={d1} />\n </Providers>\n))\n\nComponentWithProviders.displayName = 'StorageSpaceBanner'\n\nexport { default } from './template'\n","import { lazy } from 'react'\n\nconst NotFoundScreen = lazy<React$ComponentType>(() => import('d2/screens/NotFound'))\nexport default NotFoundScreen\n","import { ElementType } from 'react'\nimport { Root, createRoot } from 'react-dom/client'\nimport invariant from 'invariant'\n\nlet root: Root | undefined\n\nconst mount = (rootWithProviders: React$Element<ElementType>) => {\n const rootEl = document.querySelector('#react-root')\n invariant(rootEl, 'Could not find #react-root %s', rootEl)\n\n root?.unmount()\n\n root = createRoot(rootEl)\n root.render(rootWithProviders)\n}\n\nexport default mount\n","/* eslint-disable babel/camelcase */\nimport {\n memo,\n useCallback,\n useMemo,\n useState,\n} from 'react'\nimport { some } from 'lodash-es'\nimport { useConfirmPassword } from './queries'\nimport { useResetPassword, useUserAccountDetailsQuery } from 'd2/queries/shared'\nimport Body from 'd2/components/Typography/Body'\nimport BodyExtraSmall from 'd2/components/Typography/BodyExtraSmall'\nimport Card from 'd2/components/Card'\nimport Form from 'd2/components/Form/Form'\nimport Heading3 from 'd2/components/Typography/Heading3'\nimport HyperLink from 'd2/components/Typography/HyperLink'\nimport Providers from 'd2/providers/standalone'\nimport SnackbarNotification from 'd2/components/SnackbarNotification'\nimport SubmitButton from 'd2/components/ButtonV2/SubmitButton'\nimport TextField from 'd2/components/Form/TextField'\nimport useSnackbar from 'd2/hooks/useSnackbar'\nimport useTranslations from './translations'\nimport type { Props } from './types'\n\nconst ConfirmPasswordForm = memo<Props>(({\n onSuccess,\n}) => {\n const t = useTranslations()\n const [data] = useUserAccountDetailsQuery()\n const [resetPassword, { loading: resetPasswordMutationLoading }] = useResetPassword()\n const [confirmPassword, { formErrors }] = useConfirmPassword()\n const { showGenericErrorSnackbar, showSnackbar } = useSnackbar()\n const [formValues, setFormValues] = useState<{\n confirm_password: string\n }>({ confirm_password: '' })\n\n const handleResetPasswordClick = useCallback(async () => {\n const { errors, success } = await resetPassword({ email: data?.me.email })\n if (some(errors) && !success) {\n showGenericErrorSnackbar()\n } else {\n showSnackbar({\n message: t.checkEmail,\n type: 'success',\n })\n }\n }, [\n resetPassword,\n data,\n showGenericErrorSnackbar,\n showSnackbar,\n t,\n ])\n\n const handleSubmit = useCallback(async () => {\n const { success } = await confirmPassword({\n confirm_password: formValues.confirm_password,\n })\n if (success) {\n onSuccess()\n }\n }, [confirmPassword, formValues, onSuccess])\n\n const onChange = useCallback((values: React.SetStateAction<{\n confirm_password: string;\n }>) => {\n setFormValues(values)\n }, [])\n\n const bottomButtons = useMemo(() => (<SubmitButton\n size='large'\n testID='VerifyPassword-button'\n type='submit'\n >\n { t.verify }\n </SubmitButton>), [t.verify])\n\n const verifyPasswordTitle = useMemo(() => (<Heading3>\n { t.verifyIdentity }\n </Heading3>), [t.verifyIdentity])\n\n const here = useMemo(() => (<HyperLink\n disabled={resetPasswordMutationLoading}\n onClick={handleResetPasswordClick}\n >\n <BodyExtraSmall>\n { t.here }\n </BodyExtraSmall>\n </HyperLink>), [handleResetPasswordClick, t, resetPasswordMutationLoading])\n\n return (\n\n <Form\n disableHtml5Required\n errors={formErrors}\n onChange={onChange}\n onSubmit={handleSubmit}\n testID='ConfirmPasswordForm'\n value={formValues}\n >\n <Card\n bottomButtons={bottomButtons}\n noBorder\n paddingSize='none'\n title={verifyPasswordTitle}\n titleAlign='center'\n usePaper={false}\n >\n <Body>\n { t.confirmationText }\n </Body>\n <TextField\n fullWidth\n helperText={t.helperText(here)}\n label={t.currentPassword}\n path='confirm_password'\n required\n type='password'\n />\n </Card>\n </Form>\n\n )\n})\n\nConfirmPasswordForm.displayName = 'ConfirmPasswordForm'\n\nexport const ComponentWithProviders = memo<Props>((props) => (<Providers>\n <Card>\n <ConfirmPasswordForm {...props} />\n </Card>\n <SnackbarNotification />\n</Providers>))\n\nComponentWithProviders.displayName = 'ConfirmPasswordForm'\n\nexport default ConfirmPasswordForm\n","import {\n AVATAR_EXTRA_SMALL_SIZE,\n SPACING_HALF,\n SPACING_ZERO,\n} from 'd2/constants'\nimport {\n AuthenticationPickerProps,\n FormValues,\n Props,\n} from './types'\nimport {\n ChangeEvent,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { Col, Grid } from 'd2/components/Grid'\nimport { OtpMethodType } from 'd2/queries'\nimport { SelectedValues } from 'd2/components/Picker/types'\nimport { d2VisitD1 } from 'd2/utils/Navigation'\nimport {\n filter,\n head,\n isNil,\n some,\n} from 'lodash-es'\nimport { useFormState } from 'd2/components/Form/Form'\nimport { useIsMobile } from 'd2/components/Responsive'\nimport { useNavigate } from 'd2/hooks/useRouter'\nimport { useOneTimePasswordQuery, useSendOtpMutation } from './queries'\nimport { useToggleOtpMfaMutation, useVerifyOtpMutation } from 'd2/queries/shared'\nimport BlankButton from 'd2/components/ButtonV2/BlankButton'\nimport Body from 'd2/components/Typography/Body'\nimport Box from 'd2/components/Box'\nimport ButtonContainer from 'd2/components/ButtonContainer'\nimport Card from 'd2/components/Card'\nimport CheckboxList from 'd2/components/CheckboxList'\nimport Flexbox from 'd2/components/Layout/Flexbox'\nimport GradientIcon from 'd2/components/AvatarIcon/GradientIcon'\nimport Heading2 from 'd2/components/Typography/Heading2'\nimport Heading3 from 'd2/components/Typography/Heading3'\nimport Heading4 from 'd2/components/Typography/Heading4'\nimport Heading5 from 'd2/components/Typography/Heading5'\nimport HyperLink from 'd2/components/Typography/HyperLink'\nimport LinkButton from 'd2/components/ButtonV2/LinkButton'\nimport OTPInput from 'd2/components/OTPInput'\nimport OtpQrCode from 'd2/components/OtpQrCode'\nimport PhoneNumberInput from 'd2/components/PhoneNumberInput'\nimport Picker from 'd2/components/Picker'\nimport Providers from 'd2/providers/standalone'\nimport SideModal from 'd2/components/SideModal'\nimport SolidButton from 'd2/components/ButtonV2/SolidButton'\nimport Spacer from 'd2/components/Spacer'\nimport cx from 'classnames'\nimport invariant from 'invariant'\nimport useModal from 'd2/hooks/useModal'\nimport useReturnUrl from 'd2/hooks/useReturnUrl'\nimport useSnackbar from 'd2/hooks/useSnackbar'\nimport useStyles from './styles'\nimport useTranslations from './translations'\nimport type { VerificationMethod } from 'd2/components/OneTimePasswordModal/types'\n\nconst OTP_LENGTH = 6\nconst VERIFICATION_METHOD_STEP = 1\nconst ADD_PHONE_NUMBER_STEP = 2\nconst ENTER_CODE_STEP = 3\nconst VERIFICATION_METHOD_PHONE: VerificationMethod = 'sms'\nconst VERIFICATION_METHOD_AUTHENTICATOR: VerificationMethod = 'authenticator'\n\nexport const AuthenticationMethodPicker = memo<AuthenticationPickerProps>(({\n isAdmin,\n onChangeVerificationMethod,\n selectedVerificationMethod,\n}) => {\n const t = useTranslations()\n const appOption = {\n icon: <GradientIcon\n fontSize='large'\n icon='mobile'\n iconWeight='light'\n size={AVATAR_EXTRA_SMALL_SIZE}\n />,\n name: <Heading5>\n { t.authAppName }\n <Heading5 variant=\"bold\">\n { t.mostSecure }\n </Heading5>\n </Heading5>,\n subText: <Body>\n { t.authAppDescription }\n </Body>,\n testID: 'OneTimePasswordForm-Picker-authenticator',\n value: VERIFICATION_METHOD_AUTHENTICATOR,\n }\n const smsOption = {\n icon: <GradientIcon\n fontSize='large'\n icon='sms'\n iconWeight='light'\n size={AVATAR_EXTRA_SMALL_SIZE}\n />,\n name: <Heading5>\n { t.smsName }\n </Heading5>,\n subText: <Body>\n { t.smsDescription }\n </Body>,\n testID: 'OneTimePasswordForm-Picker-phone',\n value: VERIFICATION_METHOD_PHONE,\n }\n\n const items = isAdmin ? [appOption] : [appOption, smsOption]\n\n return (<>\n <Body>\n { t.verificationBody }\n </Body>\n <Spacer />\n <Picker\n colSizeSm={12}\n items={items}\n multiple={false}\n onChange={onChangeVerificationMethod}\n selectedValues={selectedVerificationMethod}\n testID='OneTimePasswordForm-Ftui-Picker-VerificationMethod'\n truncateSubtitle={false}\n />\n </>)\n})\n\nAuthenticationMethodPicker.displayName = 'AuthenticationMethodPicker'\n\nconst OneTimePasswordForm = memo<Props>(({\n authMethod,\n body,\n forceSendInitialOtp = false,\n onPhoneError,\n onSuccess,\n otpOnly,\n phoneNumber,\n redirect = true,\n rememberDevice = false,\n showLogoutButton = false,\n verifyOtp,\n}) => {\n const returnUrl = useReturnUrl()\n const isMobile = useIsMobile()\n const t = useTranslations()\n const { classes } = useStyles()\n const [otp, setOtp] = useState('')\n const { hideModal, showModal } = useModal()\n const ref = useRef(null)\n const [verifyOtpMutation, { loading: verificationLoading }] = useVerifyOtpMutation()\n const [sendOtpMutation, { loading: sendOtpLoading }] = useSendOtpMutation()\n const [sentInitialOtp, setSentInitialOtp] = useState(false)\n const [rememberDeviceValue, setRememberDeviceValue] = useState<string[]>([])\n const [step, setStep] = useState<number>(VERIFICATION_METHOD_STEP)\n const [phoneError, setPhoneError] = useState<boolean>(false)\n const [data, querySwitch] = useOneTimePasswordQuery()\n const [toggleOtpMfa] = useToggleOtpMfaMutation()\n const [formValues, setFormValues] = useFormState<FormValues>(() => {\n if (!data) return { phone: '' }\n return {\n phone: data.phoneNumber,\n }\n })\n const [selectedVerificationMethod, setSelectedVerificationMethod] = useState<VerificationMethod>(authMethod ?? VERIFICATION_METHOD_AUTHENTICATOR)\n const { showSnackbar } = useSnackbar()\n const navigate = useNavigate()\n\n const handleSendOtpMutation = useCallback(\n async (fromFtui: boolean) => {\n if (data) {\n const input = fromFtui\n ? {\n phone: formValues.phone,\n save_phone: true,\n }\n : {\n phone: phoneNumber ?? data.phoneNumber,\n }\n const { errors } = await sendOtpMutation(input)\n\n if (errors.length) {\n showSnackbar({\n message: t.somethingWentWrong,\n type: 'error',\n })\n if (some(filter(errors, ({ key }) => key === 'phone'))) {\n setPhoneError(true)\n onPhoneError?.(errors)\n }\n } else if (fromFtui) {\n setStep(ENTER_CODE_STEP)\n } else {\n showSnackbar({\n message: t.newVerificationCode,\n type: 'info',\n })\n }\n }\n },\n [\n formValues.phone,\n onPhoneError,\n phoneNumber,\n sendOtpMutation,\n showSnackbar,\n t,\n data,\n ],\n )\n\n const checkBoxItems = useMemo(() => [\n {\n metadata: {\n title: <Body>\n { t.rememberDevice }\n </Body>,\n },\n value: 'remember_device',\n },\n ], [t.rememberDevice])\n\n const handleRedirect = useCallback(() => {\n if (!returnUrl) {\n navigate('/d2/')\n } else if (returnUrl.includes('d2')) {\n navigate(returnUrl)\n } else {\n d2VisitD1(returnUrl)\n }\n }, [returnUrl, navigate])\n\n const handleClickVerify = useCallback(async (callbackOtp: React.SyntheticEvent | string | undefined) => {\n if (!data) return\n\n const result = await verifyOtpMutation({\n code: typeof callbackOtp === 'string' && callbackOtp.length ? callbackOtp : otp,\n remember_device: rememberDeviceValue[0] === 'remember_device',\n verify_method: authMethod === VERIFICATION_METHOD_PHONE || (!verifyOtp && selectedVerificationMethod === VERIFICATION_METHOD_PHONE) || (verifyOtp && data.otpMfaMethod === OtpMethodType.sms) ? OtpMethodType.sms : OtpMethodType.authenticator,\n })\n if (result.errors.length) {\n showSnackbar({\n message: t.verificationFailed,\n type: 'error',\n })\n } else {\n showSnackbar({\n heading: t.success,\n message: verifyOtp ? t.otpVerified : selectedVerificationMethod === VERIFICATION_METHOD_PHONE ? t.verificationSuccess(formValues.phone?.slice(-4) ?? '') : t.authAppSuccess,\n type: 'success',\n })\n if (!isNil(onSuccess)) {\n onSuccess()\n }\n if (!data.otpMfa) {\n await toggleOtpMfa({\n otp_mfa: true,\n verify_method: authMethod === VERIFICATION_METHOD_PHONE || (!verifyOtp && selectedVerificationMethod === VERIFICATION_METHOD_PHONE) || (verifyOtp && data.otpMfaMethod === OtpMethodType.sms) ? OtpMethodType.sms : OtpMethodType.authenticator,\n })\n }\n if (redirect) {\n handleRedirect()\n }\n }\n }, [\n data,\n handleRedirect,\n verifyOtpMutation,\n otp,\n rememberDeviceValue,\n authMethod,\n selectedVerificationMethod,\n showSnackbar,\n t,\n verifyOtp,\n formValues.phone,\n onSuccess,\n redirect,\n toggleOtpMfa,\n ])\n\n const onChangeOTP = useCallback((value: React.SetStateAction<string>) => {\n setOtp(value)\n }, [])\n\n const handleClickResend = useCallback((fromFtui: boolean) => {\n handleSendOtpMutation(fromFtui)\n }, [handleSendOtpMutation])\n\n useEffect(() => {\n if (\n (!isNil(data) && data.otpMfa && !data.otpExpired)\n && redirect\n ) {\n handleRedirect()\n }\n }, [\n data,\n navigate,\n redirect,\n returnUrl,\n handleRedirect,\n ])\n\n useEffect(() => {\n if (!isNil(data) && (phoneNumber || data.phoneNumber) && !sentInitialOtp && authMethod === OtpMethodType.sms && ((data.otpMfa && data.otpExpired) || forceSendInitialOtp)) {\n handleSendOtpMutation(false)\n setSentInitialOtp(true)\n }\n }, [\n authMethod,\n data,\n phoneNumber,\n sentInitialOtp,\n sendOtpMutation,\n showSnackbar,\n handleSendOtpMutation,\n forceSendInitialOtp,\n t,\n ])\n\n const onChangeRememberDevice = useCallback((newCheckValues: string[]) => setRememberDeviceValue(newCheckValues), [])\n\n const onChangeVerificationMethod = useCallback((verificationMethods: SelectedValues) => {\n const verificationMethod = head(verificationMethods)\n invariant(verificationMethod === 'sms' || verificationMethod === 'authenticator', 'verification value must be either sms or authenticator. Got %s', verificationMethod)\n setSelectedVerificationMethod(verificationMethod)\n }, [])\n\n const onChangePhone = useCallback((newValue: ChangeEvent<HTMLInputElement | HTMLTextAreaElement> | string) => {\n invariant(typeof newValue === 'string', 'newValue must be a string. Got %s', newValue)\n setFormValues({ phone: newValue })\n }, [setFormValues])\n\n const onClick = useCallback(() => setStep(ADD_PHONE_NUMBER_STEP), [])\n\n const bottomButtons = useMemo(() => (<SolidButton\n onClick={onClick}\n testID='OneTimePasswordForm-Ftui-VerificationMethod-continue'\n >\n { t.continue }\n </SolidButton>), [onClick, t])\n\n const title = useMemo(() => (<Heading2>\n { t.turnOn }\n </Heading2>), [t])\n\n const title2 = useMemo(() => (<Heading2>\n { t.verificationMethod }\n </Heading2>), [t])\n\n const title3 = useMemo(() => (<Heading2>\n { selectedVerificationMethod === VERIFICATION_METHOD_PHONE ? t.addPhoneNumber : t.scanQRCode }\n </Heading2>), [selectedVerificationMethod, t])\n\n const title4 = useMemo(() => (<Heading2>\n { t.enterCode }\n </Heading2>), [t])\n\n const onClick2 = useCallback(() => setStep(VERIFICATION_METHOD_STEP), [setStep])\n\n const onClick3 = useCallback(() => setStep(ADD_PHONE_NUMBER_STEP), [setStep])\n\n const onClick4 = useCallback(() => handleClickResend(false), [handleClickResend])\n\n const onClick5 = useCallback(() => handleSendOtpMutation(true), [handleSendOtpMutation])\n\n const verifyBottomButtons = useMemo(() => (<ButtonContainer\n align={isMobile ? 'center' : 'right'}\n maxWidth\n >\n <BlankButton\n className={classes.blankButton}\n color='danger'\n onClick={onClick2}\n >\n { t.goBack }\n </BlankButton>\n <SolidButton\n onClick={onClick5}\n testID='OneTimePasswordForm-Ftui-verify'\n >\n { t.verifyNumber }\n </SolidButton>\n </ButtonContainer>), [\n classes.blankButton,\n onClick2,\n onClick5,\n t.goBack,\n t.verifyNumber,\n isMobile,\n ])\n\n const authenticatorBottomButtons = useMemo(() => (<ButtonContainer\n align={isMobile ? 'center' : 'right'}\n maxWidth\n >\n <BlankButton\n color='danger'\n maxWidth\n onClick={onClick2}\n >\n { t.goBack }\n </BlankButton>\n <SolidButton\n disabled={verificationLoading}\n maxWidth\n mutationLoading={verificationLoading}\n onClick={handleClickVerify}\n testID='OneTimePasswordForm-Ftui-submit'\n >\n { t.verifyAuthenticator }\n </SolidButton>\n </ButtonContainer>), [\n handleClickVerify,\n onClick2,\n t,\n verificationLoading,\n isMobile,\n ])\n\n const submitOtpButtons = useMemo(() => (<ButtonContainer\n align={isMobile ? 'center' : 'right'}\n maxWidth\n >\n <BlankButton\n color='danger'\n onClick={onClick3}\n >\n { t.goBack }\n </BlankButton>\n <SolidButton\n disabled={verificationLoading}\n mutationLoading={verificationLoading}\n onClick={handleClickVerify}\n testID='OneTimePasswordForm-Ftui-submit'\n >\n { t.submit }\n </SolidButton>\n </ButtonContainer>), [\n handleClickVerify,\n onClick3,\n t.goBack,\n t.submit,\n verificationLoading,\n isMobile,\n ])\n\n const showOTPModal = useCallback(() => showModal('OtpSecretModal'), [showModal])\n\n const addVerificationCard = useMemo(() => selectedVerificationMethod === VERIFICATION_METHOD_PHONE\n ? (\n <Card\n bottomButtons={verifyBottomButtons}\n title={title3}\n >\n <Body>\n { t.addPhoneBody }\n </Body>\n <Spacer />\n <PhoneNumberInput\n data-test-id='OneTimePasswordForm-Ftui-phone'\n disableAreaCodes\n error={phoneError}\n fullWidth\n onChange={onChangePhone}\n value={formValues.phone}\n />\n </Card>)\n : (\n <Card\n bottomButtons={authenticatorBottomButtons}\n title={title3}\n >\n <Grid spacing={SPACING_HALF}>\n <Col>\n <Body>\n { t.scanCodeBody }\n </Body>\n </Col>\n <Col>\n <Grid spacing={SPACING_ZERO}>\n <Col\n sm={4}\n xs={2}\n />\n <Col\n sm={4}\n xs={8}\n >\n <OtpQrCode />\n </Col>\n <Col\n sm={4}\n xs={2}\n />\n </Grid>\n <Flexbox align='center'>\n {\n data?.otpAuthSecret && <HyperLink\n onClick={showOTPModal}\n >\n { t.cantScan }\n </HyperLink>\n }\n </Flexbox>\n </Col>\n <Col>\n <Body>\n { t.enterCodeBody }\n </Body>\n </Col>\n <Col>\n <OTPInput\n autoFocus // eslint-disable-line jsx-a11y/no-autofocus\n isNumberInput\n length={OTP_LENGTH}\n onChangeOTP={onChangeOTP}\n onPaste={handleClickVerify}\n />\n </Col>\n </Grid>\n </Card>), [\n selectedVerificationMethod,\n verifyBottomButtons,\n title3,\n t.addPhoneBody,\n t.scanCodeBody,\n t.cantScan,\n t.enterCodeBody,\n phoneError,\n onChangePhone,\n formValues.phone,\n authenticatorBottomButtons,\n data?.otpAuthSecret,\n showOTPModal,\n onChangeOTP,\n handleClickVerify,\n ])\n\n if (!data) return querySwitch\n\n return (<>\n { (!isNil(data) && data.otpMfa) || otpOnly\n ? <>\n { body\n ? <>\n <Spacer double />\n <Flexbox\n align='center'\n secondaryAlign='center'\n >\n <Heading4 variant='bold'>\n { body }\n </Heading4>\n </Flexbox>\n </>\n : undefined }\n <Spacer double />\n <Flexbox\n align='center'\n secondaryAlign='center'\n >\n { authMethod === VERIFICATION_METHOD_PHONE || (verifyOtp && data.otpMfaMethod === OtpMethodType.sms)\n ? <Body>\n { t.subtitle(phoneNumber ?? data.phoneNumber ?? '', forceSendInitialOtp) }\n </Body>\n : <Grid spacing={SPACING_HALF}>\n { verifyOtp\n ? null\n : <>\n <Col>\n <Body>\n { t.scanCodeBody }\n </Body>\n </Col>\n <Col>\n <Grid spacing={SPACING_ZERO}>\n <Col\n sm={4}\n xs={2}\n />\n <Col\n sm={4}\n xs={8}\n >\n <OtpQrCode />\n </Col>\n <Col\n sm={4}\n xs={2}\n />\n </Grid>\n <Flexbox align='center'>\n {\n data.otpAuthSecret && <HyperLink\n onClick={showOTPModal}\n >\n { t.cantScan }\n </HyperLink>\n }\n </Flexbox>\n </Col>\n </> }\n <Col>\n <Flexbox align='center'>\n <Body>\n { t.enterCodeBody }\n </Body>\n </Flexbox>\n </Col>\n </Grid> }\n </Flexbox>\n <Spacer double />\n <OTPInput\n autoFocus // eslint-disable-line jsx-a11y/no-autofocus\n isNumberInput\n length={OTP_LENGTH}\n onChangeOTP={onChangeOTP}\n onPaste={handleClickVerify}\n />\n <Spacer double />\n { forceSendInitialOtp && (authMethod === VERIFICATION_METHOD_PHONE || (verifyOtp && data.otpMfaMethod === OtpMethodType.sms))\n ? <>\n <Flexbox\n align='center'\n secondaryAlign='center'\n >\n <Body>\n { t.noCode }\n </Body>\n </Flexbox>\n <Spacer />\n </>\n : null }\n {\n rememberDevice\n ? <Flexbox\n align='center'\n secondaryAlign='center'\n >\n <CheckboxList\n items={checkBoxItems}\n onChange={onChangeRememberDevice}\n selectedValues={rememberDeviceValue}\n testID='OneTimePasswordForm-RememberDevice'\n />\n </Flexbox>\n : undefined\n }\n { authMethod === VERIFICATION_METHOD_PHONE || (verifyOtp && data.otpMfaMethod === OtpMethodType.sms)\n ? <Flexbox\n align='center'\n secondaryAlign='center'\n >\n <LinkButton\n className={classes.button}\n disabled={sendOtpLoading}\n mutationLoading={sendOtpLoading}\n onClick={onClick4}\n size='large'\n testID='OneTimePasswordForm-resend-link'\n >\n { forceSendInitialOtp ? t.resend : t.sendCode }\n </LinkButton>\n </Flexbox>\n : null }\n <Spacer double />\n <Flexbox\n align={isMobile ? 'center' : 'end'}\n reverse={isMobile}\n secondaryAlign='center'\n vertical={isMobile}\n >\n { showLogoutButton\n && <BlankButton\n className={cx({\n [classes.button]: !isMobile,\n })}\n color='danger'\n href='/session/logout'\n size='large'\n testID='OneTimePasswordForm-logout-button'\n >\n { t.logout }\n </BlankButton> }\n <SolidButton\n className={cx({\n [classes.button]: !isMobile,\n })}\n disabled={verificationLoading}\n mutationLoading={verificationLoading}\n onClick={handleClickVerify}\n size='large'\n testID='OneTimePasswordForm-verify-button'\n >\n { t.verify }\n </SolidButton>\n </Flexbox>\n <Spacer />\n </>\n : <Flexbox\n align='center'\n secondaryAlign='center'\n >\n <Grid>\n <Col>\n <Card\n hideDivider\n noLineMarginBottom\n title={title}\n />\n </Col>\n <Col>\n { step === VERIFICATION_METHOD_STEP\n ? <Card\n bottomButtons={bottomButtons}\n title={title2}\n >\n <AuthenticationMethodPicker\n isAdmin={data.isAdmin}\n onChangeVerificationMethod={onChangeVerificationMethod}\n selectedVerificationMethod={[selectedVerificationMethod]}\n />\n </Card>\n : <Card\n hideDivider\n noLineMarginBottom\n title={title2}\n /> }\n </Col>\n <Col>\n { step < ADD_PHONE_NUMBER_STEP\n ? null\n : step > ADD_PHONE_NUMBER_STEP\n ? <Card\n hideDivider\n noLineMarginBottom\n title={title3}\n />\n : addVerificationCard }\n </Col>\n <Col>\n { step === ENTER_CODE_STEP\n ? (\n <Card\n bottomButtons={submitOtpButtons}\n title={title4}\n >\n <Flexbox\n align='center'\n secondaryAlign='center'\n >\n <Body>\n { t.subtitle(data.phoneNumber ?? '', forceSendInitialOtp) }\n </Body>\n </Flexbox>\n <Spacer />\n <OTPInput\n autoFocus // eslint-disable-line jsx-a11y/no-autofocus\n isNumberInput\n length={OTP_LENGTH}\n onChangeOTP={onChangeOTP}\n onPaste={handleClickVerify}\n />\n <Spacer />\n <Flexbox\n align='center'\n secondaryAlign='center'\n >\n <Body>\n { t.noCode }\n <HyperLink\n // eslint-disable-next-line react-memo/require-usememo\n onClick={() => handleClickResend(true)}\n testID='OneTimePasswordForm-Ftui-resend-link'\n variant={sendOtpLoading ? 'disabled' : 'default'}\n >\n { t.resendLink }\n </HyperLink>\n </Body>\n </Flexbox>\n <Spacer />\n {\n rememberDevice\n ? <Flexbox\n align='center'\n secondaryAlign='center'\n >\n <CheckboxList\n items={checkBoxItems}\n onChange={onChangeRememberDevice}\n selectedValues={rememberDeviceValue}\n testID='OneTimePasswordForm-Ftui-RememberDevice'\n />\n </Flexbox>\n : undefined\n }\n </Card>)\n : null }\n </Col>\n </Grid>\n </Flexbox> }\n <SideModal\n modalKey='OtpSecretModal'\n onToggleClose={hideModal}\n >\n <Box mt={8}>\n <Heading3>\n { t.cantScan }\n </Heading3>\n <div>\n <Body>\n { t.cantScanDescription }\n </Body>\n <Spacer />\n <Box my={2}>\n <Body variant='bold'>\n { data.otpAuthSecret }\n </Body>\n </Box>\n </div>\n <Spacer />\n <ButtonContainer>\n <SolidButton\n onClick={hideModal}\n >\n { t.goBack }\n </SolidButton>\n <SolidButton\n color='secondary'\n copyable\n copyableText={data.otpAuthSecret ?? ''}\n icon='copy'\n ref={ref}\n >\n { t.copy }\n </SolidButton>\n </ButtonContainer>\n </Box>\n </SideModal>\n </>)\n})\n\nOneTimePasswordForm.displayName = 'OneTimePasswordForm'\n\nexport const ComponentWithProviders = memo<Props>((props) => (<Providers>\n <Card>\n <OneTimePasswordForm {...props} />\n </Card>\n</Providers>))\n\nComponentWithProviders.displayName = 'OneTimePasswordForm'\n\nexport default OneTimePasswordForm\n","import { FormValues, Props } from './types'\nimport { OtpMethodType } from 'd2/queries'\nimport { includes } from 'lodash-es'\nimport {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react'\nimport { scrollToTop } from 'd2/utils/ScrollTo'\nimport { useSecuritySettingsQuery } from './queries'\nimport { useToggleOtpMfaMutation } from 'd2/queries/shared'\nimport Body from 'd2/components/Typography/Body'\nimport CheckboxField from 'd2/components/Form/CheckboxField'\nimport Divider from 'd2/components/Divider'\nimport Flexbox from 'd2/components/Layout/Flexbox'\nimport Form from 'd2/components/Form/Form'\nimport Heading3 from 'd2/components/Typography/Heading3'\nimport Providers from 'd2/providers/standalone'\nimport SubmitButton from 'd2/components/ButtonV2/SubmitButton'\nimport useOtpModal from 'd2/hooks/useOtpModal'\nimport useSnackbar from 'd2/hooks/useSnackbar'\nimport useStyles from './styles'\nimport useTranslations from './translations'\n\nconst SecuritySettings = memo<Props>(({\n d1Component = false,\n onError,\n}) => {\n const { classes } = useStyles()\n const [data, querySwitch] = useSecuritySettingsQuery()\n const { showSnackbar } = useSnackbar()\n const initialFormValues: FormValues = useMemo(() => ({\n otpMfa: data?.otpMfa,\n }), [data])\n const [formValues, setFormValues] = useState<FormValues>(initialFormValues)\n const [toggleOtpMfa, { formErrors, loading }] = useToggleOtpMfaMutation()\n const [initialDataLoaded, setInitialDataLoaded] = useState<boolean>(false)\n\n useEffect(() => {\n if (!data || initialDataLoaded) return\n setInitialDataLoaded(true)\n setFormValues(initialFormValues)\n }, [\n initialFormValues,\n data,\n setInitialDataLoaded,\n initialDataLoaded,\n ])\n\n const t = useTranslations()\n\n const handleErrors = useCallback((messages: string[] | undefined) => {\n if (includes(messages, 'cannot_be_disabled')) {\n showSnackbar({\n message: t.cannotBeDisabled,\n type: 'error',\n })\n }\n if (includes(messages, 'must_be_valid_sms')) {\n showSnackbar({\n message: t.invalidPhone,\n type: 'error',\n })\n scrollToTop()\n }\n }, [t, showSnackbar])\n\n const handleOnClose = useCallback(() => {\n setFormValues(initialFormValues)\n }, [initialFormValues])\n\n const handleOnSuccess = useCallback(async (hideModal: () => void) => {\n const result = await toggleOtpMfa({\n otp_mfa: formValues.otpMfa,\n skip_save: false,\n verify_method: OtpMethodType.sms,\n })\n if (result.errors.length) {\n handleErrors(result.errors[0]?.messages)\n }\n if (!result.errors.length) {\n showSnackbar({\n message: t.success(formValues.otpMfa),\n type: 'success',\n })\n hideModal()\n }\n }, [\n showSnackbar,\n t,\n handleErrors,\n toggleOtpMfa,\n formValues,\n ])\n\n const {\n hideModal,\n otpModal,\n showModal,\n } = useOtpModal({\n modalProps: {\n authMethod: OtpMethodType.sms,\n forceSendInitialOtp: true,\n modalIndex: 'security',\n onSuccess: () => handleOnSuccess(hideModal),\n onToggleClose: handleOnClose,\n otpOnly: true,\n redirect: false,\n },\n })\n\n const handleOnSubmit = useCallback(\n async (otpMfa: boolean | null | undefined) => {\n const result = await toggleOtpMfa({\n otp_mfa: otpMfa,\n skip_save: true,\n verify_method: OtpMethodType.sms,\n })\n if (result.errors.length) {\n handleErrors(result.errors[0]?.messages)\n setFormValues({\n otpMfa: data?.otpMfa ?? false,\n })\n onError?.(result.errors)\n } else {\n showModal()\n }\n },\n [\n toggleOtpMfa,\n showModal,\n data,\n handleErrors,\n onError,\n ],\n )\n\n const onFormChange = useCallback((values: {\n otpMfa: boolean\n }) => {\n setFormValues({ ...values })\n if (!d1Component && data && values.otpMfa !== data.otpMfa) {\n handleOnSubmit(values.otpMfa)\n }\n }, [d1Component, data, handleOnSubmit])\n\n const handleButtonSubmit = useCallback(() => {\n handleOnSubmit(formValues.otpMfa)\n }, [formValues.otpMfa, handleOnSubmit])\n\n if (!data) return querySwitch\n\n return (<>\n <Form\n disableHtml5Required\n errors={d1Component ? formErrors : null}\n onChange={onFormChange}\n testID='SecuritySettingsForm'\n value={formValues}\n >\n { d1Component\n ? <Heading3>\n { t.heading }\n </Heading3>\n : undefined }\n <Body>\n { t.info }\n </Body>\n <Divider />\n <Flexbox align=\"spaceBetween\">\n <Body variant='bold'>\n { t.otpLabel }\n </Body>\n <CheckboxField\n className={classes.checkbox}\n disabled={loading}\n path='otpMfa'\n variant='switch'\n />\n </Flexbox>\n <Divider />\n { d1Component\n ? <Flexbox align='end'>\n <SubmitButton\n disabled={formValues.otpMfa === data.otpMfa}\n mutationLoading={loading}\n onClick={handleButtonSubmit}\n size='large'\n testID='SecuritySettingsFormSubmitButton'\n >\n { t.submit }\n </SubmitButton>\n </Flexbox>\n : undefined }\n </Form>\n { otpModal }\n </>)\n})\n\nSecuritySettings.displayName = 'SecuritySettings'\n\nexport const ComponentWithProviders = memo<Props>((props) => (<Providers>\n <SecuritySettings {...props} />\n</Providers>))\n\nComponentWithProviders.displayName = 'SecuritySettings'\n\nexport default SecuritySettings\n","import { memo } from 'react'\nimport Providers from 'd2/providers/standalone'\nimport StorageTierModalWrapper from './template'\n\nexport const ComponentWithProviders = memo<EO>(() => (<Providers>\n <StorageTierModalWrapper />\n</Providers>))\n\nComponentWithProviders.displayName = 'StorageTierModalWrapperWithProviders'\n\nexport { default } from './template'\n","import { lazy } from 'react'\n\nconst Account = lazy<React$ComponentType>(() => import('d2/screens/Account'))\nexport default Account\n","import { lazy } from 'react'\n\nconst AccountActivity = lazy<React$ComponentType>(() => import('d2/screens/AccountActivity'))\nexport default AccountActivity\n","import { lazy } from 'react'\n\nconst AccountDeletion = lazy<React$ComponentType>(() => import('d2/screens/AccountDeletion'))\nexport default AccountDeletion\n","import { lazy } from 'react'\n\nconst AccountDeletionWarning = lazy<React$ComponentType>(() => import('d2/screens/AccountDeletionWarning'))\nexport default AccountDeletionWarning\n","import { lazy } from 'react'\n\nconst AccountSignedAgreement = lazy<React$ComponentType>(() => import('d2/screens/AccountSignedAgreement'))\nexport default AccountSignedAgreement\n","import { lazy } from 'react'\n\nconst AdvancesIndex = lazy<React$ComponentType>(() => import('d2/screens/Deals/DealsIndex'))\nexport default AdvancesIndex\n","import { lazy } from 'react'\n\nconst AlbumCreation = lazy<React$ComponentType>(() => import('d2/screens/AlbumCreation'))\nexport default AlbumCreation\n","import { lazy } from 'react'\n\nconst AlbumDetails = lazy<React$ComponentType>(() => import('d2/screens/AlbumDetails'))\nexport default AlbumDetails\n","import { lazy } from 'react'\n\nconst AlbumDetailsPublishSuccess = lazy<React$ComponentType>(() => import('d2/screens/AlbumDetails/PublishSuccess'))\nexport default AlbumDetailsPublishSuccess\n","import { lazy } from 'react'\n\nconst AlbumDetailsPublishSuccessV2 = lazy<React$ComponentType>(() => import('d2/screens/AlbumDetails/PublishSuccessV2'))\nexport default AlbumDetailsPublishSuccessV2\n","import { lazy } from 'react'\n\nconst ArtistDetails = lazy<React$ComponentType>(() => import('d2/screens/ArtistDetails'))\nexport default ArtistDetails\n","import { lazy } from 'react'\n\nconst ArtistsIndex = lazy<React$ComponentType>(() => import('d2/screens/Artists'))\nexport default ArtistsIndex\n","import { lazy } from 'react'\n\nconst AudioDestinationNews = lazy<React$ComponentType>(() => import('d2/screens/AudioDestinationNews'))\nexport default AudioDestinationNews\n","import { lazy } from 'react'\n\nconst CaptchaScreen = lazy<React$ComponentType>(() => import('d2/screens/CaptchaScreen'))\nexport default CaptchaScreen\n","import { lazy } from 'react'\n\nconst Content = lazy<React$ComponentType>(() => import('d2/screens/Content'))\nexport default Content\n","import { lazy } from 'react'\n\nconst ContentLicenseAgreementNotice = lazy<React$ComponentType>(() => import('d2/screens/ContentLicenseAgreementNotice'))\nexport default ContentLicenseAgreementNotice\n","import googleAnalytics from 'react-ga'\n\nconst enabled: boolean = typeof window !== 'undefined'\n // @ts-expect-error window.google_analytics_account not exist?\n && window.google_analytics_account?.length > 0\n\nexport const trackRouteChanged: (path: string) => void = (path) => {\n if (!enabled) return\n\n let displayMode = 'browser'\n const mqStandAlone = '(display-mode: standalone)'\n if (\n // @ts-expect-error window.navigator.standalone not exist?\n window.navigator.standalone\n || window.matchMedia(mqStandAlone).matches) {\n displayMode = 'standalone'\n }\n googleAnalytics.set({ dimension1: displayMode })\n googleAnalytics.pageview(path)\n}\n\nif (enabled) {\n googleAnalytics.initialize(\n // @ts-expect-error window.google_analytics_account not exist?\n window.google_analytics_account,\n )\n}\n","/*\nUse this when you need to track the route change\n*/\nimport { trackRouteChanged } from 'd2/analytics/GoogleTracker'\nimport { urlQueryParamIdFormat } from 'd2/utils/Routes'\nimport { useEffect } from 'react'\nimport { useLocation } from 'd2/hooks/useRouter'\n\nexport default function useTracking (): void {\n const { pathname } = useLocation()\n useEffect(() => {\n trackRouteChanged(urlQueryParamIdFormat(pathname || ''))\n }, [pathname])\n}\n","import {\n Suspense,\n memo,\n useEffect,\n useMemo,\n} from 'react'\nimport {\n includes,\n isBoolean,\n toLower,\n} from 'lodash-es'\nimport { useCheckFeatures } from 'd2/components/CheckFeature'\nimport { useLocation, useNavigate } from 'd2/hooks/useRouter'\nimport { useUserHasHiddenPlanQuery, useUserNeedsOtpQuery } from 'd2/queries/shared'\nimport LoadingSpinner from 'd2/components/LoadingSpinner'\nimport NotFoundScreen from 'd2/loadables/NotFoundScreen'\nimport Suspender from 'react-suspender'\nimport isTestEnv from 'd2/utils/isTestEnv'\nimport useReturnUrl from 'd2/hooks/useReturnUrl'\nimport useTracking from 'd2/hooks/useTracking'\nimport type { SharedProps } from './types'\n\nconst SharedLayout = memo<SharedProps>(({\n anyFeature = [],\n anyFeatureUnless = [],\n children,\n Layout,\n layoutProps,\n checkHiddenPlan,\n}) => {\n const { pathname } = useLocation()\n const navigate = useNavigate()\n useTracking()\n const [hasFeature, querySwitch] = useCheckFeatures(anyFeature)\n const [otpData] = useUserNeedsOtpQuery()\n const [hasFeatureUnless] = useCheckFeatures(anyFeatureUnless)\n const [hasHiddenPaymentPlan] = useUserHasHiddenPlanQuery({ skip: !checkHiddenPlan })\n const authorized: boolean = (anyFeature.length === 0 || !!hasFeature) && (anyFeatureUnless.length === 0 || !hasFeatureUnless) && (!checkHiddenPlan || !hasHiddenPaymentPlan?.me_or_null?.has_hidden_payment_plan)\n const returnUrl = useReturnUrl()\n\n useEffect(() => {\n if (otpData && includes(toLower(otpData.error?.message), 'recaptcha') && !includes(pathname, 'captcha') && pathname !== '/d2/sign_in') {\n navigate(`/d2/captcha?return_url=${encodeURIComponent(pathname)}`)\n }\n if (!isTestEnv && otpData?.data?.user_needs_otp && !includes(pathname, 'otp') && pathname !== '/d2/tdd' && !includes(pathname, 'captcha')) {\n navigate(`/d2/otp?return_url=${encodeURIComponent(pathname)}`)\n }\n }, [\n navigate,\n otpData,\n pathname,\n returnUrl,\n ])\n\n const innerFallback = useMemo(() => <LoadingSpinner />, [])\n\n return (\n <Suspense fallback={querySwitch}>\n { isBoolean(hasFeature) && isBoolean(hasFeatureUnless)\n ? Layout\n ? <Layout {...layoutProps}>\n <Suspense fallback={innerFallback}>\n { authorized ? children : <NotFoundScreen /> }\n </Suspense>\n </Layout>\n : <Suspense fallback={innerFallback}>\n { authorized\n ? <>\n { children }\n </>\n : <NotFoundScreen /> }\n </Suspense>\n : <>\n { Layout\n ? <Layout {...layoutProps}>\n <Suspense fallback={innerFallback}>\n { /* While query is fetching, assume the user may have the feature, and begin concurrent rendering of the screen while suspending */ }\n { /* If this is a common pattern, consider making a reusable component to encapsulate this logic */ }\n <Suspender />\n { children }\n </Suspense>\n </Layout>\n : <Suspense fallback={innerFallback}>\n { children }\n </Suspense> }\n </> }\n </Suspense>\n )\n})\n\nSharedLayout.displayName = 'SharedLayout'\n\nexport default SharedLayout\n","import { Outlet } from 'react-router-dom'\nimport { memo } from 'react'\nimport SharedLayout from './SharedLayout'\n\nconst PartialLayout = memo<EO>(() => (\n <SharedLayout>\n <Outlet />\n </SharedLayout>\n))\n\nPartialLayout.displayName = 'PartialLayout'\n\nexport default PartialLayout\n","import { Features } from 'd2/queries'\nimport {\n Suspense,\n memo,\n useEffect,\n useMemo,\n useState,\n} from 'react'\nimport { isBoolean } from 'lodash-es'\nimport { useCheckFeatures } from 'd2/components/CheckFeature'\nimport NotFoundScreen from 'd2/loadables/NotFoundScreen'\nimport PartialLayout from './PartialLayout'\nimport Suspender from 'react-suspender'\nimport isTestEnv from 'd2/utils/isTestEnv'\n\nconst D2DevLayout = memo<EO>(() => {\n const [isMounted, setIsMounted] = useState<boolean>(false)\n useEffect(() => {\n setIsMounted(true)\n return () => {\n setIsMounted(false)\n }\n }, [])\n const [hasFeature, querySwitch] = useCheckFeatures([Features.d2_dev], false, { skip: !isMounted })\n\n const renderRoute = useMemo(\n () => {\n if (isTestEnv) {\n return true\n }\n\n return hasFeature\n },\n [hasFeature],\n )\n\n return (\n <Suspense fallback={querySwitch}>\n { isBoolean(renderRoute)\n ? renderRoute\n ? <PartialLayout />\n : <NotFoundScreen />\n : <>\n { /* While query is fetching, assume the user may have the feature, and begin concurrent rendering of the screen while suspending */ }\n { /* If this is a common pattern, consider making a reusable component to encapsulate this logic */ }\n <Suspender />\n <PartialLayout />\n </> }\n </Suspense>\n )\n})\n\nD2DevLayout.displayName = 'D2DevLayout'\n\nexport default D2DevLayout\n","import { lazy } from 'react'\n\nconst DPAScreen = lazy<React$ComponentType>(\n () => import('d2/screens/DPA'),\n)\nexport default DPAScreen\n","import { lazy } from 'react'\n\nconst DataDeleteRequest = lazy<React$ComponentType>(() => import('d2/screens/DataDeleteRequest'))\nexport default DataDeleteRequest\n","import { lazy } from 'react'\n\nconst Distribution = lazy<React$ComponentType>(() => import('d2/screens/Distribution'))\nexport default Distribution\n","import { lazy } from 'react'\n\nconst EarningsStatementIngestion = lazy<React$ComponentType>(() => import('d2/screens/EarningsStatementIngestion'))\nexport default EarningsStatementIngestion\n","import { lazy } from 'react'\n\nconst ExamplesScreen = lazy<React$ComponentType>(() => import('d2/screens/Examples'))\nexport default ExamplesScreen\n","import { lazy } from 'react'\n\nconst Faq = lazy<React$ComponentType>(() => import('d2/screens/Faq/Faq'))\nexport default Faq\n","import { d } from 'd2/utils'\nimport { memo } from 'react'\nimport NotFoundScreen from 'd2/loadables/NotFoundScreen'\nimport useTheme from 'd2/hooks/useTheme'\n\nconst ForLabelHub = memo<{\n children: React$Node\n}>(({ children }) => {\n const { branding } = useTheme()\n const { isWhitelabel } = d(branding)\n\n return isWhitelabel\n ? <>\n { children }\n </>\n : <NotFoundScreen />\n})\n\nForLabelHub.displayName = 'ForLabelHub'\n\nexport default ForLabelHub\n","import { lazy } from 'react'\n\nconst Insights = lazy<React$ComponentType>(() => import('d2/screens/Insights'))\nexport default Insights\n","import { lazy } from 'react'\n\nconst MerchItemEdit = lazy<React$ComponentType>(() => import('d2/screens/Merch/MerchItemEdit'))\nexport default MerchItemEdit\n","// NavigateDynamic is used to navigate to a dynamic route where the param is interpolated into the `to` path\n//\n// @example - Navigate to \"/d2/deals/123/edit\" when \"/d2/deals/123\" is visited.\n// You don't have to build a `view` screen if the `edit` screen is like a google doc,\n// where you click into the document and you can view and edit it as one experience.\n//\n// <Route\n// element={<NavigateDynamic to=\"/d2/deals/:dealId/edit\" />}\n// path=':dealId'\n// />\n\nimport {\n Navigate,\n NavigateProps,\n useParams,\n} from 'react-router'\nimport { memo, useMemo } from 'react'\n\n// Wrap Navigate component but the `to` prop gets modified.\n// Replace :param with the param from react-router.\nconst NavigateDynamic = memo(({ to, ...props }: NavigateProps & { to: string }) => {\n // in `to` prop, map each :param into an array\n // for each, get from params\n\n const params = useParams()\n\n const newTo = useMemo(\n () => to.split('/').map((part) => {\n if (part.startsWith(':')) {\n const param = part.slice(1)\n return params[param]\n }\n return part\n })\n .join('/'),\n [to, params],\n )\n\n return (<Navigate\n to={newTo}\n {...props}\n />)\n})\n\nNavigateDynamic.displayName = 'NavigateDynamic'\n\nexport default NavigateDynamic\n","// NavigatePathRewrite is used to navigate to a dynamic route where the param is interpolated into the `to` path\n//\n// @example - Navigate to \"/d2/deals/123/edit\" when \"/d2/advances/123/edit\" is visited.\n// This is useful if the path changes over time. The old links will still work.\n//\n// <Route\n// element={<NavigatePathRewrite\n// rewrite=\"advances\"\n// to=\"deals\"\n// />}\n// path='advances/*'\n// />\n\nimport { Navigate, NavigateProps } from 'react-router'\nimport { memo, useMemo } from 'react'\nimport { useLocation } from 'd2/hooks/useRouter'\n\n// Replace `rewrite` path segment with the `to` prop.\nconst NavigatePathRewrite = memo(({ rewrite, to, ...props }: NavigateProps & { rewrite: string, to: string }) => {\n // find the path segment that matches `rewrite`. Replace it with `to`.\n const { pathname, search } = useLocation()\n\n const newTo = useMemo(() => {\n const pathSegments = pathname.split('/')\n const index = pathSegments.indexOf(rewrite)\n if (index === -1) {\n return pathname\n }\n pathSegments[index] = to\n return pathSegments.join('/') + search\n }, [\n pathname,\n search,\n rewrite,\n to,\n ])\n\n return (<Navigate\n to={newTo}\n {...props}\n />)\n})\n\nNavigatePathRewrite.displayName = 'NavigatePathRewrite'\n\nexport default NavigatePathRewrite\n","import { lazy } from 'react'\n\nconst NewAdvance = lazy<React$ComponentType>(() => import('d2/screens/Deals/NewDeal'))\nexport default NewAdvance\n","import { lazy } from 'react'\n\nconst OAuthReturn = lazy<React$ComponentType>(() => import('d2/screens/OAuthReturn'))\nexport default OAuthReturn\n","import { lazy } from 'react'\n\nconst OneTimePassword = lazy<React$ComponentType>(() => import('d2/screens/OneTimePassword'))\nexport default OneTimePassword\n","import { lazy } from 'react'\n\nexport default lazy<React$ComponentType>(() => import('d2/screens/OrganizationBulkInviteUsers'))\n","import { lazy } from 'react'\n\nconst OrganizationDetails = lazy<React$ComponentType>(() => import('d2/screens/OrganizationDetails'))\nexport default OrganizationDetails\n","import { lazy } from 'react'\n\nconst OrganizationEditUser = lazy<React$ComponentType>(() => import('d2/screens/OrganizationEditUser'))\nexport default OrganizationEditUser\n","import { lazy } from 'react'\n\nexport default lazy<React$ComponentType>(() => import('d2/screens/OrganizationInviteUser'))\n","import { lazy } from 'react'\nimport type { OwnProps } from 'd2/screens/PasswordConfirmation/types'\n\nconst PasswordConfirmation = lazy<React$ComponentType<OwnProps>>(() => import('d2/screens/PasswordConfirmation'))\nexport default PasswordConfirmation\n","import { lazy } from 'react'\n\nconst PayeeDetails = lazy<React$ComponentType>(() => import('d2/screens/PayeeDetails'))\nexport default PayeeDetails\n","import { lazy } from 'react'\n\nconst PayeeInviteExpired = lazy<React$ComponentType>(() => import('d2/screens/PayeeInviteExpired'))\nexport default PayeeInviteExpired\n","import { lazy } from 'react'\n\nconst PayeeSignUp = lazy<React$ComponentType>(() => import('d2/screens/PayeeSignUp'))\nexport default PayeeSignUp\n","import { lazy } from 'react'\n\nconst PlanDowngrade = lazy<React$ComponentType>(() => import('d2/screens/PlanDowngrade'))\nexport default PlanDowngrade\n","import { lazy } from 'react'\n\nconst PrivacyPolicyScreen = lazy<React$ComponentType>(() => import('d2/screens/PrivacyPolicy'))\nexport default PrivacyPolicyScreen\n","import { lazy } from 'react'\n\nconst PublishAdditionalServices = lazy<React$ComponentType>(() => import('d2/screens/Publish/AdditionalServices'))\nexport default PublishAdditionalServices\n","import { lazy } from 'react'\n\nconst PublishNetworkSelect = lazy<React$ComponentType>(() => import('d2/screens/Publish/NetworkSelect'))\nexport default PublishNetworkSelect\n","import { lazy } from 'react'\n\nconst PublishReview = lazy<React$ComponentType>(() => import('d2/screens/Publish/Review'))\nexport default PublishReview\n","import { lazy } from 'react'\n\nconst RecoupmentCreation = lazy<React$ComponentType>(() => import('d2/screens/RecoupmentCreation'))\nexport default RecoupmentCreation\n","import { lazy } from 'react'\n\nconst ReleaseCalendar = lazy<React$ComponentType>(() => import('d2/screens/ReleaseCalendar'))\nexport default ReleaseCalendar\n","import { lazy } from 'react'\n\nconst ResetPassword = lazy<React$ComponentType>(() => import('d2/screens/ResetPassword'))\nexport default ResetPassword\n","import { lazy } from 'react'\n\nconst RevenuePrediction = lazy<React$ComponentType>(() => import('d2/screens/Admin/RevenuePrediction'))\nexport default RevenuePrediction\n","import { lazy } from 'react'\n\nconst RoyaltyCenter = lazy<React$ComponentType>(() => import('d2/screens/RoyaltyCenter'))\nexport default RoyaltyCenter\n","import { SPACING } from 'd2/constants'\nimport { px } from 'd2/utils/style'\nimport makeStyles from 'd2/hooks/tss/makeStyles'\nimport type { MergedThemes } from 'd2/types'\n\nconst styles = (\n {\n ...theme\n }: MergedThemes,\n) => ({\n bannerText: {\n color: theme.branding?.primaryContrastTextColor,\n },\n root: {\n backgroundColor: theme.branding?.info,\n padding: px(SPACING),\n textAlign: 'center',\n },\n} as const)\nexport default makeStyles({\n name: 'AppAnnouncementsBanner',\n})(styles)\n","import { memo } from 'react'\nimport Body from 'd2/components/Typography/Body'\nimport useStyles from './styles'\n\ntype Props = {\n message: string\n testId: string\n}\n\nconst AppAnnouncementsBanner = memo<Props>(({\n message,\n testId,\n}) => {\n const { classes } = useStyles()\n return (\n <div\n className={classes.root}\n data-test-id={testId}\n >\n <Body\n className={classes.bannerText}\n variant='semibold'\n >\n { message }\n </Body>\n </div>\n )\n})\n\nAppAnnouncementsBanner.displayName = 'AppAnnouncementsBanner'\n\nexport default AppAnnouncementsBanner\n","import { SPACING, SPACING_HALF } from 'd2/constants'\nimport { px } from 'd2/utils/style'\nimport makeStyles from 'd2/hooks/tss/makeStyles'\nimport type { MergedThemes } from 'd2/types'\n\ntype StylesProps = {\n isMobile: boolean,\n}\n\nconst styles = (\n {\n fontBoldStyles,\n ...theme\n }: MergedThemes,\n { isMobile }: StylesProps,\n) => ({\n bannerText: {\n color: theme.branding?.primaryContrastTextColor,\n },\n root: {\n backgroundColor: theme.branding?.primaryColor,\n padding: isMobile ? px(SPACING_HALF) : px(SPACING),\n textAlign: 'center',\n },\n signInBackLink: {\n ...fontBoldStyles,\n color: `${theme.branding?.primaryContrastTextColor ?? 'transparent'} !important`,\n textDecoration: 'underline',\n },\n} as const)\n\nexport default makeStyles<StylesProps>({\n name: 'ObserverModeBanner',\n})(styles)\n","import { makeLazyTranslations } from 'd2/hooks/useTranslations'\n\nexport default makeLazyTranslations({\n en: () => import('./translations.en'),\n})\n","import { memo } from 'react'\nimport { useIsMobile } from 'd2/components/Responsive'\nimport Body from 'd2/components/Typography/Body'\nimport HyperLink from 'd2/components/Typography/HyperLink'\nimport useStyles from './styles'\nimport useTranslations from './translations'\nimport type { Props } from './types'\n\nconst ObserverModeBanner = memo<Props>(({\n observeeName,\n observerName,\n}) => {\n const isMobile = useIsMobile()\n const { classes } = useStyles({ isMobile })\n const t = useTranslations()\n\n return (\n <div\n className={classes.root}\n data-test-id='ObserverModeBanner'\n >\n <Body\n className={classes.bannerText}\n variant='semibold'\n >\n { t.renderMessage({\n clickable: (\n <HyperLink\n className={classes.signInBackLink}\n href='/stop_observing'\n >\n { isMobile ? t.returnTo(observerName) : t.clickHere }\n </HyperLink>\n ),\n prepend: isMobile ? t.prependStringMobile(observeeName) : t.prependStringDefault(observeeName, observerName),\n }) }\n </Body>\n </div>\n )\n})\n\nObserverModeBanner.displayName = 'ObserverModeBanner'\n\nexport default ObserverModeBanner\n","import { MAIN_NAV_BAR_HEIGHT } from 'd2/constants'\nimport { px } from 'd2/utils/style'\nimport makeStyles from 'd2/hooks/tss/makeStyles'\n\nconst styles = () => ({\n container: {\n display: 'flex',\n flexDirection: 'column',\n marginTop: px(MAIN_NAV_BAR_HEIGHT),\n minHeight: '100vh',\n },\n content: {\n flex: 1,\n },\n} as const)\n\nexport default makeStyles({\n name: 'Dashboard',\n})(styles)\n","import {\n Suspense,\n memo,\n useEffect,\n useMemo,\n} from 'react'\nimport { gql } from '@apollo/client'\nimport { useLocation, useNavigate } from 'd2/hooks/useRouter'\nimport { useQuerySwitch } from 'd2/hooks/useQuerySwitch'\nimport AppAnnouncementsBanner from './AppAnnouncementsBanner'\nimport Footer from 'd2/loadables/Footer'\nimport IosPwaPrompt from 'd2/components/IosPwaPrompt'\nimport LoadingSpinner from 'd2/components/LoadingSpinner'\nimport MainNavBarD2 from 'd2/loadables/MainNavBarD2'\nimport ObserverModeBanner from './ObserverModeBanner'\nimport SnackbarNotification from 'd2/components/SnackbarNotification'\nimport StorageSpaceBanner from 'd2/components/StorageSpaceBanner'\nimport useStyles from './styles'\nimport type { DashboardLayout } from 'd2/queries'\nimport type { DocumentNode } from 'd2/types'\nimport type { Props } from './types'\nimport type { ReducerArg } from 'd2/hooks/useQuerySwitch'\n\nconst QUERY: DocumentNode = gql`\n query DashboardLayout {\n observer_signed_in\n general_announcement\n payment_announcements\n winter_break_announcement\n me {\n id\n display_name_or_email\n email_confirmed\n is_admin\n tipalti_user_data {\n id\n must_submit_tax_form\n }\n }\n current_observer {\n display_name_or_email\n id\n }\n }\n`\n\nconst reducer = ({ data }: ReducerArg<DashboardLayout>) => data\nconst useQuery = () => useQuerySwitch<DashboardLayout, EO, typeof reducer>(QUERY, {\n reducer,\n})\n\nconst VERIFY_EMAIL_PATH = '/d2/verify_email'\nconst FAQ_PATH = '/d2/faq'\n\nconst Dashboard = memo<Props>(({\n children,\n header,\n storageSpaceBanner,\n}) => {\n const { classes } = useStyles()\n const navigate = useNavigate()\n const location = useLocation()\n const [data] = useQuery()\n\n useEffect(() => {\n if (!data || data.current_observer) return\n const { me, observer_signed_in: observerSignedIn } = data\n const { email_confirmed: emailConfirmed, is_admin: isAdmin, tipalti_user_data: tipaltiUserData } = me\n const { pathname } = location\n\n if (!emailConfirmed && !isAdmin && !observerSignedIn && pathname !== VERIFY_EMAIL_PATH && pathname !== FAQ_PATH) {\n navigate('/d2/verify_email')\n }\n if (tipaltiUserData?.must_submit_tax_form) {\n navigate('/d2/tax_submission')\n }\n }, [data, navigate, location])\n\n // TODO: Better handle header() and storageSpaceBanner() as memoized functions or true components?\n\n const fallback = useMemo(() => <LoadingSpinner />, [])\n const fallbackFillHeight = useMemo(() => <LoadingSpinner fillHeight />, [])\n\n return (\n <>\n <div className={classes.container}>\n <Suspense fallback={fallback}>\n { header ? header() : <MainNavBarD2 /> }\n </Suspense>\n { data?.observer_signed_in && data.current_observer && (\n <Suspense fallback={fallback}>\n <ObserverModeBanner\n observeeName={data.me.display_name_or_email}\n observerName={data.current_observer.display_name_or_email}\n />\n </Suspense>\n ) }\n { data?.general_announcement\n && <Suspense fallback={fallback}>\n <AppAnnouncementsBanner\n message={data.general_announcement}\n testId=\"AppAnnouncementsBanner-GeneralAnnouncement\"\n />\n </Suspense> }\n { data?.payment_announcements\n && <Suspense fallback={fallback}>\n <AppAnnouncementsBanner\n message={data.payment_announcements}\n testId=\"AppAnnouncementsBanner-PaymentsAnnouncements\"\n />\n </Suspense> }\n { data?.winter_break_announcement\n && <Suspense fallback={fallback}>\n <AppAnnouncementsBanner\n message={data.winter_break_announcement}\n testId=\"AppAnnouncementsBanner-WinterBreakAnnouncement\"\n />\n </Suspense> }\n <Suspense fallback={fallback}>\n { storageSpaceBanner\n ? storageSpaceBanner()\n : <StorageSpaceBanner /> }\n </Suspense>\n <div className={classes.content}>\n <Suspense fallback={fallbackFillHeight}>\n { children }\n </Suspense>\n </div>\n </div>\n <Suspense fallback={fallback}>\n <IosPwaPrompt />\n </Suspense>\n <Suspense fallback={fallback}>\n <Footer />\n </Suspense>\n <Suspense fallback={fallback}>\n <SnackbarNotification />\n </Suspense>\n </>\n )\n})\n\nDashboard.displayName = 'Dashboard'\n\nexport default Dashboard\n","import { Outlet } from 'react-router-dom'\nimport { memo } from 'react'\nimport Dashboard from 'd2/layouts/Dashboard'\nimport SharedLayout from './SharedLayout'\nimport type { Props } from './types'\n\nconst ScreenLayout = memo<Props>(({ layoutProps, ...rest }) => (\n <SharedLayout\n Layout={Dashboard}\n layoutProps={layoutProps}\n {...rest}\n >\n <Outlet />\n </SharedLayout>\n))\n\nScreenLayout.displayName = 'ScreenLayout'\n\nexport default ScreenLayout\n","import { defer } from 'lodash-es'\nimport { memo, useEffect } from 'react'\nimport { scrollToTop } from 'd2/utils/ScrollTo'\nimport { useLocation } from 'd2/hooks/useRouter'\nimport type { BrowserLocation } from 'd2/types'\n\n// TODO: move to d2/src/hooks\nexport function useScrollToTopOnChangePath () {\n const location: BrowserLocation = useLocation()\n useEffect(() => () => {\n defer(() => {\n scrollToTop()\n })\n }, [location.pathname])\n}\n\nconst ScrollToTopOnChangePath = memo<EO>(() => {\n useScrollToTopOnChangePath()\n\n return null\n})\n\nScrollToTopOnChangePath.displayName = 'ScrollToTopOnChangePath'\n\nexport default ScrollToTopOnChangePath\n","import { lazy } from 'react'\n\nconst ShareAlbum = lazy<React$ComponentType>(() => import('d2/screens/ShareAlbum'))\nexport default ShareAlbum\n","import { lazy } from 'react'\n\nconst SignIn = lazy<React$ComponentType>(() => import('d2/screens/SignIn'))\nexport default SignIn\n","import { lazy } from 'react'\n\nconst SignatureCreation = lazy<React$ComponentType>(() => import('d2/screens/Admin/SignatureCreation'))\nexport default SignatureCreation\n","import { lazy } from 'react'\n\nconst SpotifyForArtists = lazy<React$ComponentType>(() => import('d2/screens/SpotifyForArtists'))\nexport default SpotifyForArtists\n","import { lazy } from 'react'\n\nconst Statements = lazy<React$ComponentType>(() => import('d2/screens/Statements'))\nexport default Statements\n","import { lazy, memo } from 'react'\n\nexport type Props = {\n standalone?: boolean\n}\n\nconst Default = lazy<React$ComponentType>(\n () => import('d2/screens/StorageConsumption'),\n)\n\nconst Standalone = lazy<React$ComponentType>(\n () => import('d2/screens/StorageConsumption/standalone'),\n)\n\nconst StorageConsumptionScreen = memo<Props>(({ standalone }) => (\n standalone ? <Standalone /> : <Default />\n))\n\nexport default StorageConsumptionScreen\n","import { lazy } from 'react'\nimport type { OwnProps } from 'd2/screens/StorageSuccess/types'\n\nconst StorageSuccessScreen = lazy<React$ComponentType<OwnProps>>(() => import('d2/screens/StorageSuccess'))\nexport default StorageSuccessScreen\n","import { lazy } from 'react'\n\nconst SubProcessorsScreen = lazy<React$ComponentType>(() => import('d2/screens/SubProcessors'))\nexport default SubProcessorsScreen\n","import { lazy } from 'react'\n\nconst TDD = lazy<React$ComponentType>(() => import('d2/screens/TDD'))\nexport default TDD\n","import { lazy } from 'react'\n\nconst TaxSubmission = lazy<React$ComponentType>(() => import('d2/screens/TaxSubmission'))\nexport default TaxSubmission\n","import { lazy } from 'react'\n\nconst Terms = lazy<React$ComponentType>(() => import('d2/screens/Terms'))\nexport default Terms\n","import { lazy } from 'react'\n\nconst TermsAndConditions = lazy<React$ComponentType>(() => import('d2/screens/TermsAndConditions'))\nexport default TermsAndConditions\n","import { lazy } from 'react'\n\nconst TipaltiFaq = lazy<React$ComponentType>(() => import('d2/screens/Faq/TipaltiFaq'))\nexport default TipaltiFaq\n","import { lazy } from 'react'\n\nconst TipaltiSignup = lazy<React$ComponentType>(() => import('d2/screens/TipaltiSignup'))\nexport default TipaltiSignup\n","import { lazy } from 'react'\n\nexport default lazy<React$ComponentType>(() => import('d2/screens/Ucla'))\n","import { lazy } from 'react'\nimport type { OwnProps } from 'd2/screens/Upload/types'\n\nconst Upload = lazy<React$ComponentType<OwnProps>>(() => import('d2/screens/Upload'))\nexport default Upload\n","import { lazy } from 'react'\n\nconst VerifyEmail = lazy<React$ComponentType>(() => import('d2/screens/VerifyEmail'))\nexport default VerifyEmail\n","import { lazy } from 'react'\n\nconst WidgetDashboard = lazy<React$ComponentType>(() => import('d2/screens/WidgetDashboard'))\nexport default WidgetDashboard\n","/* eslint-disable consistent-default-export-name/default-export-match-filename */\n// TODO: enable react-memo/require-usememo and memoize routes children\n/* eslint-disable react-memo/require-usememo */\n/*\nThe primary router for D2 screens.\n*/\nimport { Features } from 'd2/queries'\nimport {\n Navigate,\n Route,\n Routes,\n} from 'react-router-dom'\nimport { SPA_ROOT } from 'd2/constants'\nimport { constant } from 'lodash-es'\nimport { memo } from 'react'\nimport Account from 'd2/loadables/Account'\nimport AccountActivity from 'd2/loadables/AccountActivity'\nimport AccountDeletion from 'd2/loadables/AccountDeletion'\nimport AccountDeletionWarning from 'd2/loadables/AccountDeletionWarning'\nimport AccountSignedAgreement from 'd2/loadables/AccountSignedAgreement'\nimport AdvancesIndex from 'd2/loadables/AdvancesIndex'\nimport AlbumCreation from 'd2/loadables/AlbumCreation'\nimport AlbumDetails from 'd2/loadables/AlbumDetails'\nimport AlbumDetailsPublishSuccess from 'd2/loadables/AlbumDetailsPublishSuccess'\nimport AlbumDetailsPublishSuccessV2 from 'd2/loadables/AlbumDetailsPublishSuccessV2'\nimport ArtistDetails from 'd2/loadables/ArtistDetails'\nimport ArtistsIndex from 'd2/loadables/ArtistsIndex'\nimport AudioDestinationNews from 'd2/loadables/AudioDestinationNews'\nimport CaptchaScreen from 'd2/loadables/CaptchaScreen'\nimport Content from 'd2/loadables/Content'\nimport ContentLicenseAgreementNotice from 'd2/loadables/ContentLicenseAgreementNotice'\nimport D2DevLayout from './D2DevLayout'\nimport DPAScreen from 'd2/loadables/DPAScreen'\nimport DataDeleteRequest from 'd2/loadables/DataDeleteRequest'\nimport Distribution from 'd2/loadables/Distribution'\nimport EarningsStatementIngestion from 'd2/loadables/EarningsStatementIngestion'\nimport ExamplesScreen from 'd2/loadables/ExamplesScreen' // eslint-disable-line @typescript-eslint/no-restricted-imports\nimport Faq from 'd2/loadables/Faq'\nimport ForLabelHub from 'd2/components/ForLabelHub'\nimport Insights from 'd2/loadables/Insights'\nimport MerchItemEdit from 'd2/loadables/MerchItemEdit'\nimport NavigateDynamic from 'd2/components/NavigateDynamic'\nimport NavigatePathRewrite from 'd2/components/NavigatePathRewrite'\nimport NeedsAgreement from 'd2/components/NeedsAgreement'\nimport NewAdvance from 'd2/loadables/NewAdvance'\nimport NotFoundScreen from 'd2/loadables/NotFoundScreen'\nimport OAuthReturn from 'd2/loadables/OAuthReturn'\nimport OneTimePassword from 'd2/loadables/OneTimePassword'\nimport OrganizationBulkInviteUsers from 'd2/loadables/OrganizationBulkInviteUsers'\nimport OrganizationDetails from 'd2/loadables/OrganizationDetails'\nimport OrganizationEditUser from 'd2/loadables/OrganizationEditUser'\nimport OrganizationInviteUser from 'd2/loadables/OrganizationInviteUser'\nimport PartialLayout from './PartialLayout'\nimport PasswordConfirmation from 'd2/loadables/PasswordConfirmation'\nimport PayeeDetails from 'd2/loadables/PayeeDetails'\nimport PayeeInviteExpired from 'd2/loadables/PayeeInviteExpired'\nimport PayeeSignUp from 'd2/loadables/PayeeSignUp'\nimport PlanDowngrade from 'd2/loadables/PlanDowngrade'\nimport PrivacyPolicyScreen from 'd2/loadables/PrivacyPolicyScreen'\nimport PublishAdditionalServices from 'd2/loadables/PublishAdditionalServices'\nimport PublishNetworkSelect from 'd2/loadables/PublishNetworkSelect'\nimport PublishReview from 'd2/loadables/PublishReview'\nimport RecoupmentCreation from 'd2/loadables/RecoupmentCreation'\nimport ReleaseCalendar from 'd2/loadables/ReleaseCalendar'\nimport ResetPassword from 'd2/loadables/ResetPassword'\nimport RevenuePrediction from 'd2/loadables/RevenuePrediction'\nimport RoyaltyCenter from 'd2/loadables/RoyaltyCenter'\nimport ScreenLayout from './ScreenLayout'\nimport ScrollToTopOnChangePath from 'd2/components/ScrollToTopOnChangePath'\nimport SecuritySettings from 'd2/partials/SecuritySettings'\nimport ShareAlbum from 'd2/loadables/ShareAlbum'\nimport SignIn from 'd2/loadables/SignIn'\nimport SignatureCreation from 'd2/loadables/SignatureCreation'\nimport SpotifyForArtists from 'd2/loadables/SpotifyForArtists'\nimport Statements from 'd2/loadables/Statements'\nimport StorageConsumptionScreen from 'd2/loadables/StorageConsumptionScreen'\nimport StorageSuccessScreen from 'd2/loadables/StorageSuccessScreen'\nimport StorageTierModalWrapper from 'd2/partials/StorageTierModalWrapper'\nimport SubProcessorsScreen from 'd2/loadables/SubProcessorsScreen'\nimport TDD from 'd2/loadables/TDD'\nimport TaxSubmission from 'd2/loadables/TaxSubmission'\nimport Terms from 'd2/loadables/Terms'\nimport TermsAndConditions from 'd2/loadables/TermsAndConditions'\nimport TipaltiFaq from 'd2/loadables/TipaltiFaq'\nimport TipaltiSignup from 'd2/loadables/TipaltiSignup'\nimport Ucla from 'd2/loadables/Ucla'\nimport Upload from 'd2/loadables/Upload'\nimport VerifyEmail from 'd2/loadables/VerifyEmail'\nimport WidgetDashboard from 'd2/loadables/WidgetDashboard'\nimport isTestEnv from 'd2/utils/isTestEnv'\n\nconst NO_STORAGE_SPACE_BANNER_LAYOUT_PROPS = {\n storageSpaceBanner: constant(null),\n}\n\nconst AppRoutes = memo<EO>(() => (<>\n <ScrollToTopOnChangePath />\n <Routes>\n <Route element={<PartialLayout />}>\n <Route\n element={<TaxSubmission />}\n path=\"/d2/tax_submission\"\n />\n <Route\n element={<OAuthReturn />}\n path=\"/d2/oauth_return/:param\"\n />\n <Route\n element={<SignIn />}\n path=\"/d2/sign_in\"\n />\n <Route\n element={<ResetPassword />}\n path=\"/d2/reset_password\"\n />\n <Route\n element={<OneTimePassword />}\n path=\"/d2/otp\"\n />\n { isTestEnv && <Route\n element={<SecuritySettings />}\n path=\"/d2/account/security\"\n /> }\n <Route path=\"/d2/payee\">\n <Route\n element={<PayeeSignUp />}\n path='signup'\n />\n <Route\n element={<PayeeInviteExpired />}\n path='expired'\n />\n </Route>\n <Route\n element={<ShareAlbum />}\n path=\"/d2/share/:albumEncoded\"\n />\n <Route\n element={<CaptchaScreen />}\n path=\"/d2/captcha\"\n />\n <Route\n element={<TipaltiSignup />}\n path=\"/d2/tipalti/signup\"\n />\n </Route>\n <Route\n element={<ScreenLayout\n layoutProps={NO_STORAGE_SPACE_BANNER_LAYOUT_PROPS}\n />}\n path=\"/d2/terms_and_conditions\"\n >\n <Route\n element={<TermsAndConditions />}\n index\n />\n </Route>\n <Route\n element={<ScreenLayout />}\n path=\"/d2/ecla\"\n >\n <Route\n element={<Ucla />}\n index\n />\n </Route>\n <Route\n path=\"/d2/ucla\"\n >\n <Route\n element={<Navigate to=\"/d2/ecla\" />}\n index\n />\n </Route>\n <Route\n element={<ScreenLayout anyFeature={[Features.d2_spotify_for_artists]} />}\n path=\"/d2/spotify-for-artists\"\n >\n <Route\n element={<SpotifyForArtists />}\n index\n />\n </Route>\n <Route\n element={<ScreenLayout anyFeature={[Features.d2_creators]} />}\n path=\"/d2/artists\"\n >\n <Route\n element={<ArtistsIndex />}\n index\n />\n </Route>\n\n { /* MAIN D2 ROUTES */ }\n <Route\n element={<ScreenLayout />}\n path={SPA_ROOT}\n >\n <Route\n element={<Navigate to=\"/d2/dashboard\" />}\n index\n />\n <Route path='account'>\n <Route\n element={<Account />}\n path=':section'\n />\n <Route\n element={<NeedsAgreement forEcla>\n <AccountSignedAgreement />\n </NeedsAgreement>}\n path='signed_agreements'\n />\n <Route\n element={<Navigate to=\"/d2/account/info\" />}\n index\n />\n </Route>\n <Route\n element={<AccountActivity />}\n path='account_activity'\n />\n <Route\n element={<NeedsAgreement forAddressChange>\n <WidgetDashboard />\n </NeedsAgreement>}\n path='dashboard'\n />\n <Route\n element={<PasswordConfirmation>\n <AccountDeletion />\n </PasswordConfirmation>}\n path='delete_account'\n />\n <Route\n element={<PasswordConfirmation>\n <AccountDeletionWarning />\n </PasswordConfirmation>}\n path='account_deletion_warning'\n />\n <Route\n element={<ForLabelHub>\n <PrivacyPolicyScreen />\n </ForLabelHub>}\n path='privacy_policy'\n />\n <Route\n element={<ForLabelHub>\n <Terms />\n </ForLabelHub>}\n path='terms'\n />\n <Route\n element={\n <ForLabelHub>\n <DPAScreen />\n </ForLabelHub>\n }\n path='dpa'\n />\n <Route\n element={\n <ForLabelHub>\n <SubProcessorsScreen />\n </ForLabelHub>\n }\n path='sub_processors'\n />\n <Route\n element={<VerifyEmail />}\n path='verify_email'\n />\n <Route path='upload'>\n <Route\n element={\n // TODO: NeedsAgreement and CheckFeature each make a separate network request sequentially. Ideally we could make them in parallel to save time.\n <NeedsAgreement\n forEcla\n forOwnerEcla\n >\n <StorageTierModalWrapper />\n <Upload type='audio' />\n </NeedsAgreement>\n }\n path='audio'\n />\n <Route\n element={\n // TODO: NeedsAgreement and CheckFeature each make a separate network request sequentially. Ideally we could make them in parallel to save time.\n <NeedsAgreement\n forEcla\n forOwnerEcla\n >\n <StorageTierModalWrapper />\n <Upload type='video' />\n </NeedsAgreement>\n }\n path='video'\n />\n <Route\n element={\n // TODO: NeedsAgreement and CheckFeature each make a separate network request sequentially. Ideally we could make them in parallel to save time.\n <NeedsAgreement\n forEcla\n forOwnerEcla\n >\n <StorageTierModalWrapper />\n <Upload type='composition' />\n </NeedsAgreement>\n }\n path='composition'\n />\n </Route>\n\n { /* LABEL */ }\n <Route path='label'>\n <Route\n element={<Navigate to=\"users\" />}\n index\n />\n <Route\n element={<RecoupmentCreation />}\n path='advances/new'\n />\n <Route\n element={\n <NeedsAgreement\n forEcla\n forOwnerEcla\n >\n <OrganizationInviteUser />\n </NeedsAgreement>\n }\n path='users/new'\n />\n <Route\n element={<OrganizationEditUser />}\n path=\"users/:userId/edit\"\n />\n <Route\n element={\n <NeedsAgreement forEcla>\n <OrganizationBulkInviteUsers />\n </NeedsAgreement>\n }\n path='users/bulk_invite'\n />\n <Route\n element={<OrganizationDetails />}\n path=':section'\n />\n </Route>\n\n { /* ARTISTS */ }\n <Route path='artists'>\n <Route\n element={<ArtistDetails />}\n path=':id'\n >\n <Route\n element={<ArtistDetails />}\n path=':section'\n />\n </Route>\n </Route>\n\n { /* ALBUMS */ }\n <Route path='albums'>\n <Route path=':id'>\n <Route\n element={<AlbumDetails />}\n index\n />\n <Route\n element={<AlbumDetailsPublishSuccess />}\n path='publish/audio/success'\n />\n <Route\n element={<AlbumDetailsPublishSuccessV2 />}\n path='publish/audio/success/releases/:releaseId'\n />\n <Route\n element={<AlbumDetails />}\n path=':section'\n />\n </Route>\n <Route\n element={\n <NeedsAgreement\n forEcla\n forOwnerEcla\n >\n <AlbumCreation />\n </NeedsAgreement>\n }\n path='new'\n />\n </Route>\n\n { /* PUBLISH */ }\n <Route path=':contentType/:id/publish'>\n <Route\n element={<NeedsAgreement forOwnerEcla>\n <PublishNetworkSelect />\n </NeedsAgreement>}\n path=':networkType'\n />\n <Route\n element={<PublishAdditionalServices />}\n path=':networkType/additional_services'\n />\n <Route\n element={<PublishReview />}\n path=':networkType/review'\n />\n </Route>\n\n { /* INSIGHTS */ }\n <Route path='insights'>\n <Route\n element={<Navigate to=\"/d2/insights/artist_analytics\" />}\n index\n />\n <Route\n element={<Insights />}\n path=':section'\n >\n <Route\n element={<Insights />}\n index\n />\n <Route\n element={<Insights />}\n path=':id'\n />\n <Route path='users'>\n <Route\n element={<Insights />}\n path=':userId'\n >\n <Route path='artists'>\n <Route\n element={<Insights />}\n path=':artistId'\n >\n <Route path='albums'>\n <Route\n element={<Insights />}\n path=':albumId'\n />\n </Route>\n <Route path='medias'>\n <Route\n element={<Insights />}\n path=':mediaId'\n />\n </Route>\n </Route>\n </Route>\n </Route>\n </Route>\n <Route path='artists'>\n <Route\n element={<Insights />}\n path=':artistId'\n >\n <Route path='albums'>\n <Route\n element={<Insights />}\n path=':albumId'\n />\n </Route>\n <Route path='medias'>\n <Route\n element={<Insights />}\n path=':mediaId'\n />\n </Route>\n </Route>\n </Route>\n </Route>\n </Route>\n\n { /* MERCH */ }\n <Route path='merch'>\n { /* TODO: MerchIndex\n <Route\n element={<MerchIndex />}\n index\n /> */ }\n { /* TODO: Eventually allow user to create a new merch item directly instead of thru a release?\n <Route\n element={<NewAdvance />}\n path='new'\n /> */ }\n { /* TODO: Authorization / feature flag? */ }\n <Route\n element={<MerchItemEdit />}\n path=':id/edit/*'\n />\n <Route\n // NavigateDynamic is used to navigate to a dynamic route where the param is interpolated into the `to` path.\n element={<NavigateDynamic to=\"/d2/merch/:id/edit\" />}\n path=':id'\n />\n </Route>\n\n { /* RELEASE CALENDAR */ }\n <Route path='release_calendar'>\n <Route\n element={<ReleaseCalendar />}\n index\n />\n <Route path=':section'>\n <Route\n element={<ReleaseCalendar />}\n index\n />\n <Route\n element={<ReleaseCalendar />}\n path='users/:id'\n >\n <Route\n element={<ReleaseCalendar />}\n path='artists/:artistId'\n >\n <Route\n element={<ReleaseCalendar />}\n path='medias/:mediaId'\n />\n <Route\n element={<ReleaseCalendar />}\n path='albums/:albumId'\n />\n </Route>\n </Route>\n <Route\n element={<ReleaseCalendar />}\n path='artists/:artistId'\n >\n <Route\n element={<ReleaseCalendar />}\n path='medias/:mediaId'\n />\n <Route\n element={<ReleaseCalendar />}\n path='albums/:albumId'\n />\n </Route>\n </Route>\n </Route>\n\n { /* FILES */ }\n <Route path='files'>\n <Route\n element={<Navigate to=\"/d2/files/audio/albums\" />}\n index\n />\n <Route\n element={<Navigate to=\"/d2/files/audio/albums\" />}\n path='audio'\n />\n <Route\n element={<Content />}\n path=':paramOne'\n >\n <Route\n element={<Content />}\n path=':paramTwo'\n />\n </Route>\n </Route>\n\n { /* ROYALTY */ }\n <Route\n element={<PayeeDetails />}\n path='royalty/payees/:id/:section'\n />\n <Route\n element={<RoyaltyCenter />}\n path='royalty/*'\n />\n\n <Route\n element={<StorageConsumptionScreen />}\n path='storage'\n />\n <Route\n element={<PasswordConfirmation>\n <DataDeleteRequest />\n </PasswordConfirmation>}\n path='data_delete_request'\n />\n <Route\n element={<Distribution />}\n path='distribution'\n />\n <Route\n element={<ContentLicenseAgreementNotice />}\n path='notice'\n />\n { /* Statements */ }\n <Route\n path='statements'\n >\n <Route\n element={<Statements />}\n index\n />\n <Route\n element={<EarningsStatementIngestion />}\n path='ingestion'\n />\n </Route>\n <Route path='faq'>\n <Route\n element={<Faq />}\n index\n />\n <Route\n element={<TipaltiFaq />}\n path='tipalti'\n />\n </Route>\n <Route\n element={<AudioDestinationNews />}\n path='partner-destination-news'\n />\n <Route\n path='admin/revenue_prediction'\n >\n <Route\n element={<RevenuePrediction />}\n index\n />\n <Route\n element={<RevenuePrediction />}\n path='orgs/:orgId'\n />\n <Route\n element={<RevenuePrediction />}\n path='users/:userId'\n />\n <Route\n element={<RevenuePrediction />}\n path='medias/:mediaId'\n />\n </Route>\n <Route\n element={<SignatureCreation />}\n path='admin/signature'\n />\n <Route\n element={<NavigatePathRewrite\n rewrite=\"advances\"\n to=\"deals\"\n />}\n path='advances/*'\n />\n <Route\n path='deals'\n >\n <Route\n element={<AdvancesIndex />}\n index\n />\n <Route\n element={<NewAdvance />}\n path='new'\n />\n <Route\n element={<NewAdvance />}\n path=':dealId/edit' // DEAL_ID_PARAM\n />\n <Route\n // NavigateDynamic is used to navigate to a dynamic route where the param is interpolated into the `to` path.\n element={<NavigateDynamic to=\"/d2/deals/:dealId/edit\" />}\n path=':dealId'\n />\n </Route>\n <Route\n element={<NotFoundScreen />}\n path='404'\n />\n <Route\n element={<NotFoundScreen />}\n path='*'\n />\n </Route>\n\n { /* STORAGE */ }\n <Route\n element={<ScreenLayout checkHiddenPlan />}\n path=\"/d2/storage\"\n >\n <Route\n element={<StorageConsumptionScreen />}\n path='plans'\n />\n <Route\n element={<StorageConsumptionScreen />}\n path='users/:userId'\n >\n <Route\n element={<StorageConsumptionScreen />}\n path='artists/:artistId'\n >\n <Route\n element={<StorageConsumptionScreen />}\n path='albums/:albumId'\n />\n </Route>\n </Route>\n <Route\n element={<StorageConsumptionScreen />}\n path='artists/:artistId'\n >\n <Route\n element={<StorageConsumptionScreen />}\n path='albums/:albumId'\n />\n </Route>\n <Route\n element={<StorageSuccessScreen mode='upgrade' />}\n path='upgrade/success'\n />\n <Route\n element={<StorageSuccessScreen mode='downgrade' />}\n path='downgrade/success'\n />\n <Route\n element={<PlanDowngrade />}\n path='plans/downgrade'\n />\n </Route>\n\n <Route element={<D2DevLayout />}>\n <Route path='d2/examples'>\n <Route\n element={<ExamplesScreen />}\n index\n />\n <Route\n element={<ExamplesScreen />}\n path=':componentName/:variantName'\n />\n <Route\n element={<ExamplesScreen />}\n path=':componentName/*'\n />\n <Route\n element={<ExamplesScreen />}\n path='*'\n />\n </Route>\n </Route>\n\n <Route\n element={<D2DevLayout />}\n path='/d2/tdd'\n >\n <Route\n // eslint-disable-next-line react/jsx-pascal-case\n element={<TDD />}\n index\n />\n </Route>\n <Route\n element={<ScreenLayout />}\n path='/d2/tdd/blank_screen_route'\n >\n <Route\n element={<>\n TDD Blank Screen Route\n </>}\n index\n />\n </Route>\n <Route\n element={<PartialLayout />}\n path='/d2/tdd/blank_partial_route'\n >\n <Route\n element={<>\n TDD Blank Partial Route\n </>}\n index\n />\n </Route>\n\n { isTestEnv && <Route\n element={<Navigate to=\"/d2/tdd/blank_partial_route\" />}\n path='/' // TDD always `start()` on '/' root path, not even `/d2/` path. This is a hack workaround to render a blank screen instead of a ScreenRoute, to avoid rendering MainNavBar before any mocks are in place.\n /> }\n { /* TODO: Fix this */ }\n { /* <Route\n element={\n // Prevent turbolinks 404\n typeof window !== 'undefined' && window.location.reload()\n }\n path='*'\n /> */ }\n </Routes>\n</>))\n\nAppRoutes.displayName = 'AppRoutes'\n\nexport default AppRoutes\n","/* eslint-disable @typescript-eslint/no-unnecessary-condition */\nimport {\n clone,\n includes,\n isNil,\n some,\n startsWith,\n} from 'lodash-es'\nimport { push } from 'redux-first-history'\nimport Turbolinks, { turbolinksEnabled } from 'd2/vendor/turbolinks'\nimport invariant from 'invariant'\nimport isTestEnv from './isTestEnv'\nimport raygun from 'd2/utils/raygun'\nimport type { Action } from 'redux'\nimport type { BrowserLocation } from 'd2/types'\n\ntype CallbackFn = () => void\n\nlet callbacks: CallbackFn[] = []\nlet currentLocation: string | null | undefined\n\nfunction getLocation (): string {\n if (typeof window === 'undefined') return ''\n return window.location.pathname + window.location.search\n}\n\nfunction clearCallbacks (): void {\n callbacks = []\n}\n\nfunction triggerCallbacks (): void {\n for (const callback of clone(callbacks)) {\n callback()\n }\n}\n\nfunction trackVisitInRaygun (path: string): void {\n raygun('trackEvent', {\n path,\n type: 'pageView',\n })\n}\n\nfunction handleTurbolinksVisit (event: any): void {\n triggerCallbacks()\n\n if (!isTestEnv) {\n trackVisitInRaygun(event.data.url)\n }\n}\n\nfunction handlePopstate (): void {\n const newLocation: string = getLocation()\n\n if (newLocation !== currentLocation) {\n if (!isTestEnv) {\n triggerCallbacks()\n }\n currentLocation = newLocation\n }\n}\n\nfunction initialize (): void {\n clearCallbacks()\n if (typeof window !== 'undefined') {\n window.addEventListener('turbolinks:before-visit', handleTurbolinksVisit)\n window.addEventListener('popstate', handlePopstate)\n }\n currentLocation = getLocation()\n}\n\nexport function d2VisitD1 (uri: string): void {\n if (typeof window === 'undefined') return\n window.location.href = uri\n}\n\n// DON'T USE THIS WHEN GOING TO D2 PAGES. Use withRouter and navigate\nexport function visit (uri: string): void {\n if (turbolinksEnabled) {\n Turbolinks.visit(uri)\n } else {\n d2VisitD1(uri)\n }\n}\n\nexport function doesPathStartWith (loc: BrowserLocation | string, ...paths: string[]): boolean {\n const fullLocString: string = isNil(loc) ? '' : typeof loc === 'string' ? loc : loc.pathname + loc.search\n return some(paths, (path) => includes(fullLocString, path))\n}\n\nexport function isD2Path (loc: BrowserLocation | string): boolean {\n return doesPathStartWith(loc, '/d2')\n}\n\nexport function toOrHrefProps (current: BrowserLocation, destination: string): {\n href?: string,\n to?: string\n} {\n return isD2Path(current) && isD2Path(destination) ? { to: destination } : { href: destination }\n}\n\n// DEPRECATED! This `navigate` function does not seem to work with TDD's assertPath.\n//\n// Instead use browser navigate, like:\n//\n// import { useNavigate } from 'react-router-dom'\n// const navigate = useNavigate()\n// navigate(d2Path)\nexport function navigate (\n {\n dispatch,\n location,\n to,\n }: {\n dispatch: ((a: any) => Action) | null | undefined,\n location: BrowserLocation,\n to: string\n },\n): void {\n if (isD2Path(location)) {\n if (startsWith(to, '/d2')) {\n dispatch?.(push(to))\n } else {\n d2VisitD1(to)\n }\n } else {\n visit(to)\n }\n}\n\ninitialize()\n\n// ts-prune-ignore-next - Used in D1 JS\nexport default {\n\n offPageNavigation (callbackFunction: CallbackFn): void {\n const index = callbacks.indexOf(callbackFunction)\n invariant(index >= 0, `callbackFunction is not present in callbacks. ${callbackFunction.toString()}`)\n callbacks.splice(index, 1)\n },\n\n onPageNavigation (callbackFunction: CallbackFn): void {\n if (!includes(callbacks, callbackFunction)) callbacks.push(callbackFunction)\n },\n\n}\n","/* eslint-disable @typescript-eslint/no-use-before-define */\nimport { DateTime } from 'luxon'\nimport { d } from 'd2/utils'\nimport {\n includes,\n isArray,\n isBoolean,\n isEmpty,\n isNil,\n isNumber,\n isObjectLike,\n mapValues,\n replace,\n toString,\n} from 'lodash-es'\nimport qs from 'qs'\n\n// ts-prune-ignore-next - Used in D1 JS\nexport function s3Url (s3Path: string): string {\n // Unable to handle this well without window without some env var refactor. Hopefully this is not invoked by anything that we need to use in Next.js\n // @ts-expect-error window.VYDIA_SETTINGS\n if (window.VYDIA_SETTINGS?.S3_CDN_URL) {\n // @ts-expect-error window.VYDIA_SETTINGS\n return `${window.VYDIA_SETTINGS.S3_CDN_URL}/${s3Path}`\n }\n // @ts-expect-error window.s3_bucket\n return `https://s3.amazonaws.com/${window.s3_bucket}/${s3Path}`\n}\n\nexport function assetUri (localPath: string): string {\n // @ts-expect-error window.VYDIA_SETTINGS\n return ((typeof window !== 'undefined' && window.VYDIA_SETTINGS?.CDN_URL) || '') + localPath\n}\n\nexport function assetResourceUri (localPath: string): string {\n return assetUri(`/resources/${localPath}`)\n}\n\nexport function buildUri (path: string, params: any): string {\n if (isNil(params) || isEmpty(params)) return path\n const joinWith: string = includes(path, '?') ? '&' : '?'\n return `${path}${joinWith}${buildNestedQuery(params)}`\n}\n\nexport function buildNestedQuery (params: AO): string {\n const formattedParams = mapValues(params, (value) => coerceQueryParam(value))\n return qs.stringify(formattedParams, {\n // 'indices' seems to be required for nested arrays & objects. Otherwise, brackets will cause the objects to merge arrays\n // e.g. with 'indices' this works:\n // inputs[advances][0][amountDollars]=250000&inputs[advances][0][month]=0&inputs[advances][1][amountDollars]=100000&inputs[advances][1][month]=4\n // e.g. with 'brackets' this doesn't work:\n // inputs[advances][][amountDollars]=250000&inputs[advances][][month]=0&inputs[advances][][amountDollars]=100000&inputs[advances][][month]=4\n arrayFormat: 'indices',\n encode: true,\n })\n}\n\nexport function parseNestedQuery (search: string): any {\n const queryString = replace(search, /^\\?/, '')\n return qs.parse(queryString)\n}\n\nfunction coerceQueryParam (param: any): (AO | string[] | string)[] | AO | string[] | string {\n if (isBoolean(param) || isNumber(param)) {\n return toString(param)\n } else if (isArray(param)) {\n return param.map((value) => coerceQueryParam(value))\n } else if (isObjectLike(param)) {\n return mapValues(param, (value) => coerceQueryParam(value))\n }\n\n return param\n}\n\nexport function artistDetailsSectionUrl (tabName: string, id: string): string {\n return `/d2/artists/${id}/${tabName}`\n}\n\nexport function fileDetailsSectionUrl (tabName: string, id: string): string {\n return `/d2/files/${id}/${tabName}`\n}\n\nexport function albumDetailsSectionUrl (tabName: string, id: string, queryParams?: string): string {\n return `/d2/albums/${id}/${tabName}${queryParams ?? ''}`\n}\n\n// TODO: Flowtype all these `section` \"strings\" as enum/union types if possible.\nexport function insightsSectionUrl (section?: string | null): string {\n return section ? `/d2/insights/${section}` : '/d2/insights'\n}\n\n// Takes an array of values and returns a string which is the concatenation of all the strings in the array, stopping at the first falsey element.\n// See: d2/src/utils/__tests__/Routes.tsx\nexport function makePath (...segments: (string | null | undefined)[]) {\n let url = ''\n for (const segment of segments) {\n if (!segment) return url\n url += segment\n }\n\n return url\n}\n\nexport function insightsLabelUrl (\n {\n albumId,\n artistId,\n endDate,\n mediaId,\n section,\n startDate,\n userId,\n }: {\n albumId?: string | null,\n artistId?: string | null,\n endDate?: string | null,\n mediaId?: string | null,\n section?: string | null,\n startDate?: string | null,\n userId?: string | null\n },\n): string {\n const path = makePath(\n userId && `/users/${userId}`,\n artistId && `/artists/${artistId}`,\n albumId ? `/albums/${albumId}` : mediaId ? `/medias/${mediaId}` : undefined,\n )\n\n let url = `${insightsSectionUrl(section)}${path}`\n url = endDate ? `${url}?end_date=${endDate}` : url\n url = startDate ? `${url}&start_date=${startDate}` : url\n return url\n}\n\nexport function insightsUserUrl (\n {\n albumId,\n artistId,\n endDate,\n mediaId,\n section,\n startDate,\n }: {\n albumId?: string | null,\n artistId?: string | null,\n endDate?: string | null,\n mediaId?: string | null,\n section?: string | null,\n startDate?: string | null\n },\n): string {\n const path = makePath(\n artistId && `/artists/${artistId}`,\n albumId ? `/albums/${albumId}` : mediaId ? `/medias/${mediaId}` : undefined,\n )\n let url = `${insightsSectionUrl(section)}${path}`\n url = endDate ? `${url}?end_date=${endDate}` : url\n url = startDate ? `${url}&start_date=${startDate}` : url\n return url\n}\n\nexport function releaseCalendarSectionUrl (section?: string | null): string {\n return section ? `/d2/release_calendar/${section}` : '/d2/release_calendar'\n}\n\nexport function releaseCalendarLabelUrl (\n {\n albumId,\n artistId,\n mediaId,\n section,\n userId,\n }: {\n albumId?: string | null,\n artistId?: string | null,\n mediaId?: string | null,\n section?: string | null,\n userId?: string | null\n },\n): string {\n const path = makePath(\n userId && `/users/${userId}`,\n artistId && `/artists/${artistId}`,\n albumId && `/albums/${albumId}`,\n mediaId && `/medias/${mediaId}`,\n )\n return `${releaseCalendarSectionUrl(section)}${path}`\n}\n\nexport function releaseCalendarUserUrl (\n {\n albumId,\n artistId,\n mediaId,\n section,\n }: {\n albumId?: string | null,\n artistId?: string | null,\n mediaId?: string | null,\n section?: string | null\n },\n): string {\n const path = makePath(\n artistId && `/artists/${artistId}`,\n albumId && `/albums/${albumId}`,\n mediaId && `/medias/${mediaId}`,\n )\n return `${releaseCalendarSectionUrl(section)}${path}`\n}\n\nexport function storageSectionUrl (section?: string | null): string {\n return section ? `/d2/storage/${section}` : '/d2/storage'\n}\n\nexport function storageLabelUrl (\n {\n albumId,\n artistId,\n section,\n userId,\n }: {\n albumId?: string | null,\n artistId?: string | null,\n section?: string | null,\n userId?: string | null\n },\n): string {\n const path = makePath(\n userId && `/users/${userId}`,\n artistId && `/artists/${artistId}`,\n albumId && `/albums/${albumId}`,\n )\n return `${storageSectionUrl(section)}${path}`\n}\n\nexport function storageUserUrl (\n {\n albumId,\n artistId,\n section,\n }: {\n albumId?: string | null,\n artistId?: string | null,\n section?: string | null\n },\n): string {\n const path = makePath(\n artistId && `/artists/${artistId}`,\n albumId && `/albums/${albumId}`,\n )\n return `${storageSectionUrl(section)}${path}`\n}\n\nexport function audioAnalyticsUrl (\n {\n albumId,\n artistId,\n endDate,\n includeOrgLevel,\n mediaId,\n startDate,\n userId,\n }: {\n albumId?: string | null,\n artistId?: string | null,\n endDate?: string | null,\n includeOrgLevel?: boolean | null,\n mediaId?: string | null,\n startDate?: string | null,\n userId?: string | null\n },\n): string {\n const section = 'audio_analytics'\n return includeOrgLevel\n ? insightsLabelUrl({\n albumId,\n artistId,\n endDate,\n mediaId,\n section,\n startDate,\n userId,\n })\n : insightsUserUrl({\n albumId,\n artistId,\n endDate,\n mediaId,\n section,\n startDate,\n })\n}\n\nexport function royaltyCenterSectionUrl (section?: string | null): string {\n return section ? `/d2/royalty/${section}` : '/d2/royalty'\n}\n\nexport function royaltyCenterDefaultStatementsUrl (): string {\n const currentMonth = DateTime.local().startOf('month')\n .toISODate()\n const lastMonth = DateTime.local().minus({ months: 1 })\n .startOf('month')\n .toISODate()\n const twoMonthsBack = DateTime.local().minus({ months: 2 })\n .startOf('month')\n .toISODate()\n\n return buildUri(royaltyCenterSectionUrl('balance'), {\n filterUrlOptions: {\n dates: [currentMonth, lastMonth, twoMonthsBack],\n },\n })\n}\n\nexport function payeeDetailsSectionUrl (tabName: string, id: string): string {\n return `/d2/royalty/payees/${id}/${tabName}`\n}\n\nexport function royaltyCenterLabelEarningsUrl (\n {\n albumId,\n artistId,\n mediaId,\n userId,\n }: {\n albumId?: string | null,\n artistId?: string | null,\n mediaId?: string | null,\n userId?: string | null\n },\n): string {\n const path = makePath(\n userId && `/users/${userId}`,\n artistId && `/artists/${artistId}`,\n (mediaId && `/medias/${mediaId}`)\n || (albumId && `/albums/${albumId}`),\n )\n return `${royaltyCenterSectionUrl('label_earnings')}${path}`\n}\n\nexport function royaltyCenterOverviewUrl (\n {\n albumId,\n artistId,\n mediaId,\n }: {\n albumId?: string | null,\n artistId?: string | null,\n mediaId?: string | null\n },\n): string {\n const path = makePath(\n artistId && `/artists/${artistId}`,\n mediaId && `/medias/${mediaId}`,\n albumId && `/albums/${albumId}`,\n )\n return `${royaltyCenterSectionUrl('overview')}${path}`\n}\n\ntype RoyaltyCenterPaymentCreationUrl = {\n payeeInviteId?: string | null,\n section?: string | null\n}\n\nexport function royaltyCenterPaymentSectionUrl (options?: RoyaltyCenterPaymentCreationUrl | null): string {\n const {\n payeeInviteId,\n section,\n } = d(options)\n\n const queryString = payeeInviteId\n ? `?${qs.stringify({ payee_invite: payeeInviteId })}`\n : ''\n\n return royaltyCenterSectionUrl(`payments/new/${section ?? 'create'}${queryString}`)\n}\n\ntype RoyaltyCenterPayeeSectionUrl = {\n payeeInviteId: string,\n section?: string | null,\n sharedAssetStatus?: string | null\n}\n\nexport function royaltyCenterPayeeSectionUrl (\n {\n payeeInviteId,\n section,\n sharedAssetStatus,\n }: RoyaltyCenterPayeeSectionUrl,\n): string {\n const params = sharedAssetStatus && `?shared_asset_status=${sharedAssetStatus}`\n return `${royaltyCenterSectionUrl('payees')}/${payeeInviteId}/${section ?? 'info'}${params ?? ''}`\n}\n\nexport function royaltyCenterTipaltiSignupUrl (options?: any): string {\n const {\n redirect = royaltyCenterSectionUrl('invites'),\n } = d(options)\n\n return `/d2/tipalti/signup?${qs.stringify({ redirect })}`\n}\n\nexport function salesTrendsLabelUrl (\n {\n albumId,\n artistId,\n endDate,\n mediaId,\n startDate,\n userId,\n }: {\n albumId?: string | null,\n artistId?: string | null,\n endDate?: string | null,\n mediaId?: string | null,\n startDate?: string | null,\n userId?: string | null\n },\n): string {\n const path = makePath(\n userId && `/users/${userId}`,\n artistId && `/artists/${artistId}`,\n albumId && `/albums/${albumId}`,\n mediaId && `/medias/${mediaId}`,\n )\n let url = `${royaltyCenterSectionUrl('sales_trends')}${path}`\n url = endDate ? `${url}?end_date=${endDate}` : url\n url = startDate ? `${url}&start_date=${startDate}` : url\n return url\n}\n\nexport function salesTrendsUserUrl (\n {\n albumId,\n artistId,\n endDate,\n mediaId,\n startDate,\n }: {\n albumId?: string | null,\n artistId?: string | null,\n endDate?: string | null,\n mediaId?: string | null,\n startDate?: string | null\n },\n): string {\n const path = makePath(\n artistId && `/artists/${artistId}`,\n albumId && `/albums/${albumId}`,\n mediaId && `/medias/${mediaId}`,\n )\n let url = `${royaltyCenterSectionUrl('sales_trends')}${path}`\n url = endDate ? `${url}?end_date=${endDate}` : url\n url = startDate ? `${url}&start_date=${startDate}` : url\n return url\n}\n\n// This will take a path and remove the id from the path and replace it with :id\n// Used for tracking purposes\nexport function urlIdFormat (path: string): string {\n return replace(path, /\\/(\\d+)/, '/:id')\n}\n\n// This will take a path and remove the queryParams as well as replace ids\n// Used for tracking purposes on google analytics\nexport function urlQueryParamIdFormat (path: string): string {\n const replacedPath = replace(path, /\\?(\\w+)=(\\d+)/, '')\n return urlIdFormat(replacedPath)\n}\n","/* eslint-disable id-length, @typescript-eslint/no-use-before-define */\nimport { DateTime, Duration } from 'luxon'\nimport { MutationErrorWithTypename } from 'd2/hooks/useMutation'\nimport {\n compact,\n concat,\n floor,\n head,\n join,\n last,\n padEnd,\n repeat,\n replace,\n round,\n slice,\n split,\n toLower,\n toNumber,\n toUpper,\n} from 'lodash-es'\nimport invariant from 'invariant'\nimport md5 from 'md5'\nimport numeral from 'numeral'\n\nconst INDEX_ZERO = 0\nconst INDEX_NEGATIVE_ONE = -1\nconst INDEX_ONE = 1\n\nconst BINARY_KILO = 1024\nconst THOUSAND = 1000\n\nconst SECONDS_IN_MINUTE = 60\nconst SECONDS_IN_HOUR = SECONDS_IN_MINUTE * 60\nconst SECONDS_IN_DAY = SECONDS_IN_HOUR * 24\n\nexport function prettyUrl (url: string): string {\n return replace(url, /^(https?|mailto):\\/\\//, '')\n}\n\nexport function base64Encode (unencoded: Buffer): string {\n return Buffer.from(unencoded).toString('base64')\n}\n\nexport function base64Decode (encoded: string): string {\n return Buffer.from(encoded || '', 'base64').toString('utf8')\n}\n\nexport function base64UrlEncode (unencoded: Buffer): string {\n const encoded = base64Encode(unencoded)\n return replace(replace(replace(encoded, '+', '-'), '/', '_'), new RegExp('=+$'), '') // eslint-disable-line prefer-regex-literals\n}\n\nexport function base64UrlDecode (encoded: string): string {\n let encodedStr = replace(replace(encoded, '-', '+'), '_', '/')\n while (encodedStr.length % 4) {\n encodedStr += '='\n }\n return base64Decode(encodedStr)\n}\nexport type DateType = Date | number | string\n\nexport const sentenceCase = (string: string): string => {\n const rg = /(^\\s*\\w|\\.\\s*\\w)/gi\n string = replace(string, /[_-]/g, ' ')\n return replace(string, rg, (toReplace: string): string => toUpper(toReplace),\n )\n}\n\nconst TRUNCATE_WITH = '...'\nconst TRUNCATE_WITH_LENGTH: number = TRUNCATE_WITH.length\n\nexport function stringToColor (str: string, colors: string[]): string {\n // @ts-expect-error ts doesn't know that modulo means we'll always return a string\n return colors[toNumber(md5(str).replace(/\\D/gi, '')[0] ?? 0) % colors.length]\n}\n\nexport const backgroundUrl = (url: string): string => `url(${url})`\n\nexport const capitalize = function (string: string): string {\n return toUpper(string.charAt(INDEX_ZERO)) + string.slice(INDEX_ONE)\n}\n\nexport const truncateString = (val: string, amount: number): string => // eslint-disable-next-line unicorn/prefer-string-slice\n val && val.length > amount ? `${val.substr(INDEX_ZERO, amount - TRUNCATE_WITH_LENGTH)}...` : val\n\nexport function htmlRawSpace (length = 1): string {\n return repeat('\\u00A0', length)\n}\n\nexport const equals = (string1: string, string2: string): boolean => toLower(string1) === toLower(string2)\n\n// Convert the traditional errors Object into a HR Array.\n// ts-prune-ignore-next - Used in D1 JS\nexport const stringifyErrors = function (\n errors: {\n [x: string]: Array<string>\n },\n): string[] {\n const array = []\n\n for (const field in errors) {\n // @ts-expect-error ts doesn't know that errors[field] means we'll always return something\n const fieldErrors: Array<string> | string = errors[field]\n if (Array.isArray(fieldErrors)) {\n for (const fieldError of fieldErrors) {\n array.push(sentenceCase(`${field} ${fieldError}`))\n }\n } else {\n array.push(sentenceCase(`${field} ${fieldErrors}`))\n }\n }\n\n return array\n}\n\nexport const stringifyMutationErrors = function (errors: MutationErrorWithTypename[]): string[] {\n return errors.map(({ key, messages }) => {\n if (key) {\n return sentenceCase(`${key} ${messages.join(', ')}`)\n }\n return sentenceCase(messages.join(', '))\n })\n}\n\nexport const removeFileExtension = (fileName: string): string => fileName.slice(0, Math.max(0, fileName.lastIndexOf('.')))\n\nexport const prettyNumber = (number: number | string): string => numeral(number).format('0,0.[000]')\n\n// instead of long numbers, just round to thousands, like '4k'\nexport function prettyNumberInexact (number: number): string {\n if (number < 1000) {\n // Safari 9.1 and other old browsers do not support Intl, otherwise we would it:\n // return new Intl.NumberFormat().format(number)\n return prettyNumber(number)\n }\n\n if (number < 1_000_000) {\n if (number < 10_000) {\n return `${(number / 1000).toFixed(1)}k`\n }\n return `${Math.floor(number / 1000)}k` // instead of long numbers, just round to thousands, like '4k'\n }\n\n if (number < 1_000_000_000) {\n if (number < 10_000_000) {\n return `${(number / 1_000_000).toFixed(1)}M`\n }\n return `${Math.floor(number / 1_000_000)}M` // instead of long numbers, just round to thousands, like '4M'\n }\n\n return `${(number / 1_000_000_000).toFixed(1)}B` // '1.0B' or '1.1B' because 1 million is a lot and you might want to see the decimal\n}\n\nconst ZERO = 0 as const\nconst ONE = 1 as const\nconst TWO = 2 as const\n\nexport const prettyPrice = (number: number, digits: number = TWO): string => {\n const isNegative: boolean = number < ZERO\n number = Math.abs(number)\n\n const [integerDigits = '', decimalDigits] = split(String(floor(number, digits)), '.', TWO)\n // eslint-disable-next-line unicorn/no-unsafe-regex\n const commaSeparatedIntegerDigits = replace(integerDigits, /(\\d)(?=(\\d{3})+$)/g, '$1,')\n const formattedNumber = digits === ZERO ? commaSeparatedIntegerDigits : `${commaSeparatedIntegerDigits}.${padEnd(decimalDigits, digits, '0')}`\n return `${isNegative ? '-' : ''}$${formattedNumber}`\n}\n\nexport const prettyPriceDifference = function (number: number, digits: number = TWO): string {\n const isNegative = number < 0\n return `${isNegative ? '-' : '+'} ${prettyPrice(Math.abs(number), digits)}`\n}\n\nexport const prettyPercentage = function (number: number, digits: number = ZERO): string {\n let rounded = null\n if (digits === ZERO) {\n rounded = Math.round(number)\n } else {\n const splitNumbers = number.toString().split('.')\n rounded = splitNumbers.length === ONE || Number.parseInt(splitNumbers[ONE] ?? '0', 10) === ZERO ? number : number.toFixed(digits)\n }\n return `${rounded}%`\n}\n\nexport const toJSDate = (date: DateType): Date => new Date(date)\n\n// @example Monday, June 3, 2019\nexport const prettyLongDate = (date: DateType): string => {\n if (!date) {\n throw new Error(`Expected number, string, or date object, but got: ${date}`)\n }\n return DateTime.fromJSDate(toJSDate(date)).toFormat('cccc, MMMM dd, yyyy')\n}\n\n// @example Monday, June 3, 2019\nexport const prettyLongDateUTC = (date: DateType): string => {\n if (!date) {\n throw new Error(`Expected number, string, or date object, but got: ${date}`)\n }\n return DateTime.fromJSDate(toJSDate(date)).toUTC()\n .toFormat('cccc, MMMM dd, yyyy')\n}\n\nexport const prettyDate = (date: DateType): string => DateTime.fromJSDate(toJSDate(date)).toFormat('D')\nexport const prettyDateLuxon = (date: Scalar$DateTime): string => DateTime.fromISO(date, { setZone: true }).setZone('local', { keepLocalTime: true })\n .toFormat('D')\nexport const prettyDateUTC = (date: DateType): string => DateTime.fromJSDate(toJSDate(date)).toUTC()\n .toFormat('D')\n\nexport const prettyDateAndTime = (date: DateType): string => DateTime.fromJSDate(toJSDate(date)).toFormat('D \\'at\\' h:mma')\nexport const prettyDateAndTimeUTC = (date: DateType): string => DateTime.fromJSDate(toJSDate(date)).toUTC()\n .toFormat('D \\'at\\' h:mma')\n\nexport const prettyDateUTCToLocal = (date: string): string => DateTime.fromISO(date, { setZone: true }).setZone('local', { keepLocalTime: true })\n .toFormat('D')\n\nexport const prettyWordDate = (date: DateType): string => {\n if (!date) {\n throw new Error(`Expected number, string, or date object, but got: ${date}`)\n }\n return DateTime.fromJSDate(toJSDate(date)).toFormat('DDD')\n}\n\nexport const prettyDuration = function (seconds: number): string {\n const mm: Duration = Duration.fromObject({ seconds })\n return mm.toFormat('hh:mm:ss')\n}\n\nexport const prettyTrackDuration = (milliseconds: number): string => {\n const mm: Duration = Duration.fromObject({ milliseconds })\n return mm.toFormat('m:ss')\n}\n\nexport const prettyTime = (date: DateType): string => {\n if (!date) {\n throw new Error(`Expected number, string, or date object, but got: ${date}`)\n }\n return DateTime.fromJSDate(toJSDate(date)).toFormat('hh:mm:ss a')\n}\n\nexport const prettyMonthYearShortUTC = (date: string): string => {\n if (!date) {\n throw new Error(`Expected number, string, or date object, but got: ${date}`)\n }\n return DateTime.fromISO(date, { setZone: true }).setZone('local', { keepLocalTime: true })\n .toFormat('LLL yyyy')\n}\nexport const prettyMonthYearUTC = (date: string): string => {\n if (!date) {\n throw new Error(`Expected number, string, or date object, but got: ${date}`)\n }\n return DateTime.fromISO(date, { setZone: true }).setZone('local', { keepLocalTime: true })\n .toFormat('MMMM yyyy')\n}\nexport const prettyMonthYearDigitsUTC = (date: string): string => {\n if (!date) {\n throw new Error(`Expected number, string, or date object, but got: ${date}`)\n }\n return DateTime.fromISO(date, { setZone: true }).setZone('local', { keepLocalTime: true })\n .toFormat('MM/yy')\n}\n\nexport const prettyPhoneNumber = (phoneNumber: string): string => {\n const cleaned: string = replace(`${phoneNumber}`, /\\D/g, '')\n // eslint-disable-next-line unicorn/no-unsafe-regex\n const phoneRegex = cleaned.length === 12 ? /^(\\d{2})?(\\d{3})(\\d{3})(\\d{4})$/ : /^(\\d)?(\\d{3})(\\d{3})(\\d{4})$/\n const match = cleaned.match(phoneRegex)\n if (match) {\n const intlCode: string = match[1] ? `+${match[1]} ` : ''\n return join([\n intlCode,\n '(',\n match[2],\n ') ',\n match[3],\n '-',\n match[4],\n ], '')\n }\n return phoneNumber\n}\n\nexport const prettyStorageSize = (bytes: number): string => {\n const kilobytes = 1000\n const megabytes = 1_000_000\n const gigabytes = 1_000_000_000\n const TO_FIXED_DIGITS = 1\n\n const prettySizeDigits = (number: number): number => Number.parseFloat(number.toFixed(TO_FIXED_DIGITS))\n\n if (bytes < megabytes) {\n return `${prettySizeDigits(bytes / kilobytes)}KB`\n }\n if (bytes < gigabytes) {\n return `${prettySizeDigits(bytes / megabytes)}MB`\n }\n\n return `${prettySizeDigits(bytes / gigabytes)}GB`\n}\n\nexport const readableMS = function (milliseconds: number): string {\n return readableSeconds(milliseconds / THOUSAND)\n}\n\nexport const joinList = (list: string[]): string => {\n if (list.length === INDEX_ZERO) return ''\n if (list.length === INDEX_ONE) {\n // @ts-expect-error ts doesn't know that list[0] is a string\n return list[0]\n }\n\n if (list.length === TWO) return `${head(list)!} and ${last(list)!}`\n\n return join(concat(slice(list, INDEX_ZERO, INDEX_NEGATIVE_ONE), [`and ${last(list)!}`]), ', ')\n}\n\nexport const readableSeconds = function (seconds: number): string {\n // @ts-expect-error (auto-migrated from flow FixMe)[incompatible-call] parseInt supposed to take a string\n seconds = Number.parseInt(seconds, 10)\n\n const d = Math.floor(seconds / SECONDS_IN_DAY)\n const h = Math.floor((seconds % SECONDS_IN_DAY) / SECONDS_IN_HOUR)\n const m = Math.floor((seconds % SECONDS_IN_HOUR) / SECONDS_IN_MINUTE)\n const s = Math.floor(seconds % SECONDS_IN_MINUTE)\n\n if (d > INDEX_ZERO) {\n return `${d}${pluralizeWord(d, ' day')}`\n } else if (h > INDEX_ZERO) {\n return `${h}${pluralizeWord(h, ' hour')}`\n } else if (m > INDEX_ZERO) {\n return `${m}${pluralizeWord(m, ' minute')}`\n }\n\n return `${s}${pluralizeWord(s, ' second')}`\n}\n\nexport const prettyFileSize = function (bytes: number, si?: boolean): string {\n const thresh = si ? THOUSAND : BINARY_KILO\n if (bytes < thresh) return `${bytes} B`\n const units = si\n ? [\n 'kB',\n 'MB',\n 'GB',\n 'TB',\n 'PB',\n 'EB',\n 'ZB',\n 'YB',\n ]\n : [\n 'KiB',\n 'MiB',\n 'GiB',\n 'TiB',\n 'PiB',\n 'EiB',\n 'ZiB',\n 'YiB',\n ]\n let u = -1\n do {\n bytes /= thresh\n ++u\n } while (bytes >= thresh)\n\n const unit = units[u]\n invariant(unit, 'unit too large? Got %s %s', unit, bytes)\n return `${bytes.toFixed(INDEX_ONE)} ${unit}`\n}\n\nexport const prettyFileSizeNoSpace = function (bytes: number, si?: boolean): string {\n const thresh = si ? THOUSAND : BINARY_KILO\n if (bytes < thresh) return `${bytes}B`\n const units = si\n ? [\n 'kB',\n 'MB',\n 'GB',\n 'TB',\n 'PB',\n 'EB',\n 'ZB',\n 'YB',\n ]\n : [\n 'KiB',\n 'MiB',\n 'GiB',\n 'TiB',\n 'PiB',\n 'EiB',\n 'ZiB',\n 'YiB',\n ]\n let u = -1\n do {\n bytes /= thresh\n ++u\n } while (bytes >= thresh)\n\n const unit = units[u]\n invariant(unit, 'unit too large? Got %s %s', unit, bytes)\n return `${bytes.toFixed(INDEX_ONE)}${unit}`\n}\n\nexport const prettyFileSizeRoundedNoSpace = function (bytes: number, si?: boolean): string {\n const thresh = si ? THOUSAND : BINARY_KILO\n if (bytes < thresh) return `${bytes}B`\n const units = si\n ? [\n 'kB',\n 'MB',\n 'GB',\n 'TB',\n 'PB',\n 'EB',\n 'ZB',\n 'YB',\n ]\n : [\n 'KiB',\n 'MiB',\n 'GiB',\n 'TiB',\n 'PiB',\n 'EiB',\n 'ZiB',\n 'YiB',\n ]\n let u = -1\n do {\n bytes /= thresh\n ++u\n } while (bytes >= thresh)\n\n return `${Math.round(Number.parseFloat(bytes.toFixed(INDEX_ONE)))}${units[u] ?? ''}`\n}\n\n// Use the plural version of the word unless the number provided is 1.\n//\n// @param number [Number]\n// @param singularWord [String]\n// @param pluralWord [String, undefined]\n//\n// @return pluralizedWord [String]\nexport const pluralizeWord = function (number: number, singularWord: string, pluralWord?: string): string {\n // @ts-expect-error (auto-migrated from flow FixMe)[incompatible-call] parseInt supposed to take a string\n if (Number.parseInt(number, 10) === INDEX_ONE) {\n return singularWord\n }\n\n return pluralWord ?? `${singularWord}s`\n}\n\nexport const titleCase = function (string: string): string {\n const rg = /(^|\\s)([a-z])/gi\n string = replace(string, /[_-]/g, ' ')\n return replace(string, rg, toUpper)\n}\n\n// ts-prune-ignore-next - Used in D1 JS\nexport const songName = function (filename: string): string {\n const noExtension = filename.replace(/\\.\\w+$/, '')\n const noDot = noExtension.replace(/\\./g, ' ')\n return titleCase(noDot)\n}\n\n// Add query string params to a base URI.\n// ts-prune-ignore-next - Used in D1 JS\nexport const compileURI = function (\n base: string,\n params: {\n [x: string]: string\n },\n): string {\n const array = []\n\n for (const k in params) {\n array.push(`${encodeURIComponent(k)}=${encodeURIComponent(\n // @ts-expect-error ts doesn't know `params[k]` is a string\n params[k],\n )}`)\n }\n\n return `${base}?${array.join('&')}`\n}\n\nexport const fullName: (b?: string | null, a?: string | null) => string = (firstName, lastName): string => join(compact([firstName, lastName]), ' ')\n\nexport const prettyPercentageForChart = (value: number, sumTotal: number): string => {\n const percentage: number = value / sumTotal * 100\n if (percentage > 0 && percentage < 1) return '<1%'\n if (percentage > 99 && percentage < 100) return '99%'\n return prettyPercentage(round(percentage))\n}\n\nexport const dataDelayForNumDays = (numDays: number): string => `Reported data may vary from final results and can take up to ${numDays} ${pluralizeWord(numDays, 'day')} to populate on your dashboard.`\n","/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n// TODO: d2ify\nimport { ApolloClient } from '@apollo/client/core'\nimport { ApolloLink } from '@apollo/client'\nimport { BatchHttpLink } from '@apollo/client/link/batch-http'\nimport {\n CODE_FORBIDDEN,\n CODE_UNAUTHORIZED,\n CODE_UNAVAILABLE,\n} from 'd2/constants/status_codes'\nimport { InMemoryCache } from '@apollo/client/cache'\nimport { RetryLink } from '@apollo/client/link/retry'\nimport {\n compact,\n includes,\n isEqual,\n some,\n} from 'lodash-es'\nimport {\n enableLogging,\n log,\n logWarn,\n} from '../environment'\nimport { onError } from '@apollo/client/link/error'\nimport ApolloLinkEvents from '../ApolloLinkEvents'\n// @ts-expect-error must convert module to ts\nimport apolloLogger from 'apollo-link-logger'\nimport cacheRedirects from 'd2/queries/cacheRedirects'\nimport eventEmitter from 'event-emitter'\nimport possibleTypes from 'd2/queries/possibleTypes.json'\nimport raygun from 'd2/utils/raygun'\nimport type { ApolloClient as ApolloClientType, MutationError } from 'd2/types'\n\nexport type IncludesMutationError = (\n b: MutationError[],\n a: {\n keys: string[],\n messages: string[]\n }\n) => boolean\n\nexport const includesMutationError: IncludesMutationError = (errors, { keys, messages }) =>\n some(errors, ({\n key: errorKey,\n messages: errorMessages,\n }) => some(keys, (key) => isEqual(errorKey, key)) && some(messages, (message) => includes(errorMessages, message)))\n\nexport const createApolloClient = (dataLink: ApolloLink): ApolloClientType<any> => {\n const cache = new InMemoryCache({\n addTypename: true,\n // @ts-expect-error TODO: Update cacheRedirects to new apollo version\n cacheRedirects,\n possibleTypes,\n })\n\n const emitter = eventEmitter({})\n const eventsLink = new ApolloLinkEvents(emitter)\n\n // Mostly copied from https://github.com/blackxored/apollo-link-logger/blob/v1.2.3/src/index.js#L6\n const customLoggerLink = new ApolloLink((operation, forward) => {\n if (!forward) return null\n\n const startTime = Date.now()\n\n return forward(operation).map((result) => {\n // @ts-expect-error (auto-migrated from flow FixMe)[prop-missing] - Error when upgrading to flow 0.142.0\n const operationType = operation.query.definitions[0].operation\n const elapsed = Date.now() - startTime\n\n const group = [operationType, operation, elapsed]\n\n log('APOLLO OPERATION START', ...group)\n\n log('INIT', operation)\n log('RESULT', result)\n\n log('APOLLO OPERATION END', ...group)\n return result\n })\n })\n\n const logger = enableLogging() ? [apolloLogger] : [customLoggerLink]\n\n const errorLink = onError(({ graphQLErrors, networkError, operation: { operationName, variables }, response }) => {\n if (includes(['NetworkError when attempting to fetch resource.', 'Failed to fetch'], networkError?.message)) return\n\n raygun('send', {\n customData: {\n graphQLErrors,\n networkError: {\n // @ts-expect-error Property 'bodyText' does not exist on Error\n bodyText: networkError?.bodyText,\n message: networkError?.message,\n // @ts-expect-error Property 'parseError' does not exist on Error\n parseError: networkError?.parseError,\n // @ts-expect-error Property 'response' does not exist on Error\n response: networkError?.response,\n // @ts-expect-error Property 'result' does not exist on Error\n result: networkError?.result,\n // @ts-expect-error Property 'statusCode' does not exist on Error\n statusCode: networkError?.statusCode,\n },\n operationName,\n response,\n variables,\n },\n error: `GraphQL Error: ${operationName}. ${graphQLErrors?.[0]?.message ?? 'Check the \"Custom\" tab for details.'}`,\n tags: compact([\n 'GraphQL',\n // @ts-expect-error Property 'statusCode' does not exist on Error\n networkError?.statusCode ? `HTTP${networkError.statusCode}` : null,\n includes(['NetworkError when attempting to fetch resource.', 'Failed to fetch'], networkError?.message) ? 'failed_to_fetch' : null,\n networkError?.message === 'The Internet connection appears to be offline.' ? 'client_offline' : null,\n ]),\n })\n\n if (graphQLErrors) {\n logWarn(`GraphQLErrors for query ${operationName}: \\n${JSON.stringify(graphQLErrors)}`)\n }\n\n if (networkError) {\n // NOTE: These are handled in d2/src/providers/ApolloErrorReduxConnectorProvider/index.tsx\n // because we needed access to redux / react-land hooks.\n // @ts-expect-error Property 'statusCode' does not exist on type 'Error | ServerError | ServerParseError'. Property 'statusCode' does not exist on type 'Error'.ts(2339)\n switch (networkError.statusCode) {\n case CODE_UNAUTHORIZED: {\n logWarn(`HTTP status: 401 Unauthorized in apollo response for query ${operationName}. Usually indicates no active session and no access to the requested resource.`)\n // When a query gives a 401, take them to the home screen because most likely they were logged out\n // We removed the redirect because of infinite loops due to MFA otp redirects.\n // d2VisitD1('/') // It's probably best to do a full page refresh using `d2VisitD1` here.\n // TODO: Consider displaying a message to the user in a snackbar or something?\n break\n }\n case CODE_FORBIDDEN: {\n logWarn(`HTTP status: 403 Forbidden in apollo response for query ${operationName}. Usually indicates valid active session but no access to the requested resource.`)\n // When a query gives a 403, the user has an active session, but does NOT have access to the requested resource(s).\n // We removed the redirect because of infinite loops due to MFA otp redirects.\n // d2VisitD1('/') // It's probably best to do a full page refresh using `d2VisitD1` here.\n // TODO: Consider displaying a message to the user in a snackbar or something?\n break\n }\n case CODE_UNAVAILABLE: {\n logWarn('HTTP status: 503 Unavailable in apollo response')\n // TODO: Consider displaying a message to the user in a snackbar or something?\n break\n }\n default: {\n break\n }\n }\n }\n })\n\n // TODO: Can a query opt-out of retrying?\n const retryLink = new RetryLink()\n\n const link = ApolloLink.from([\n ...logger,\n eventsLink,\n errorLink,\n retryLink,\n dataLink,\n ])\n const client = new ApolloClient({\n cache,\n connectToDevTools: true, // TODO: We want this?\n link,\n queryDeduplication: true, // TODO: We want this?\n })\n // @ts-expect-error Property 'events' does not exist on type 'ApolloClient<NormalizedCacheObject>'.ts(2339)\n client.events = emitter // from the client you can't just get an individual link easily, so just put the event emitter on the client\n return client\n}\n\nconst uri = '/api/graphql/v1?explorer=false'\n\nlet defaultClient: ApolloClient<any> | undefined\n\nfunction apollo () {\n if (defaultClient) return defaultClient\n defaultClient = createApolloClient(new BatchHttpLink({\n credentials: 'same-origin',\n uri,\n }))\n\n return defaultClient\n}\n\nexport default apollo\n","/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\nimport { forEach } from 'lodash-es'\n\n/*\nHelper functions for the current app environment.\n*/\n\nexport const isDevelopment = (): boolean => typeof window !== 'undefined'\n // @ts-expect-error window.VYDIA_SETTINGS\n && window.VYDIA_SETTINGS?.ENVIRONMENT === 'development'\n\nexport const isTest = (): boolean => typeof window === 'undefined'\n // @ts-expect-error window.VYDIA_SETTINGS\n || !window.VYDIA_SETTINGS || !window.VYDIA_SETTINGS.ENVIRONMENT || window.VYDIA_SETTINGS.ENVIRONMENT === 'test'\n\nexport const isProduction = (): boolean => !isTest() && !isDevelopment()\n\n// environmentNameConversion is only used for displaying the environment name for test environments\nexport const environmentNameConversion: { [key: string]: string } = {\n development: 'DEV',\n mars: 'MARS',\n mercury: 'MERC',\n staging: 'STAGE',\n}\n\n/*\nIf true, console logging for graphql, redux, etc should be enabled.\nWith a secret code snippet you paste into your console, you can activate logging on production. Helpful for tracking bugs.\nTo activate, open your web browser console and enter:\n\nsessionStorage.setItem(\"log\",true)\n\nThen refresh your browser and it will work until you close the tab. If this proves useful, you could make it easier to active via a query string param or something.\n*/\nexport const enableLogging = (): boolean => !!(process.env.TDD_LOG_HIGH || isDevelopment()\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n || window.sessionStorage?.getItem('log'))\n\nexport const log = (...args: any[]): void => {\n if (enableLogging()) {\n // eslint-disable-next-line no-console\n console.log(...args)\n } else if (typeof window !== 'undefined'\n // @ts-expect-error window.FS\n && window.FS?.log) {\n forEach(args, (arg) => {\n // @ts-expect-error window.FS\n window.FS\n .log('log', arg)\n })\n }\n}\n\nexport const logWarn = (...args: any[]): void => {\n if (enableLogging()) {\n // eslint-disable-next-line no-console\n console.warn(...args)\n } else if (typeof window !== 'undefined'\n // @ts-expect-error window.FS\n && window.FS?.log) {\n forEach(args, (arg) => {\n // @ts-expect-error window.FS\n window.FS\n .log('warn', arg)\n })\n }\n}\n\nexport const logError = (...args: any[]): void => {\n if (enableLogging()) {\n // eslint-disable-next-line no-console\n console.error(...args)\n } else if (typeof window !== 'undefined'\n // @ts-expect-error window.FS\n && window.FS?.log) {\n forEach(args, (arg) => {\n // @ts-expect-error window.FS\n window.FS\n .log('error', arg)\n })\n }\n}\n\n// For redux-logger\nexport const consoleReplacement = {\n error: logError,\n log,\n warn: logWarn,\n}\n","// TODO: d2ify\n\nimport { isTDDBrowser } from 'd2/utils/tdd'\nimport TestUtils from 'react-dom/test-utils'\n\nconst TestHelpers = {\n isTestEnv (): boolean {\n // @ts-expect-error adding window.settingsEnv\n return (typeof window !== 'undefined' && window.settingsEnv === 'test') || isTDDBrowser()\n },\n patchTestEnv () {\n if (typeof window === 'undefined') return\n\n // @ts-expect-error adding window.testEnvHasBeenPatched\n if (window.testEnvHasBeenPatched || !this.isTestEnv()) {\n return\n }\n // @ts-expect-error adding window.testEnvHasBeenPatched\n window.testEnvHasBeenPatched = true\n\n const Simulate = TestUtils.Simulate\n\n // when you select an option with phantomjs\n // react onchange listeners are not automatically triggered\n // this is a hack for now to get around that\n // currently in use when selecting options from tests\n // see spec_extensions/request_modules.rb:select_js\n // @ts-expect-error adding window.triggerChangeById\n window.triggerChangeById = function (elementId: string) {\n // @ts-expect-error (auto-migrated from flow FixMe)[incompatible-call]\n Simulate.change(document.getElementById(elementId)) // eslint-disable-line unicorn/prefer-query-selector\n }\n\n // @ts-expect-error adding window.getElementByXpath\n window.getElementByXpath = function (xpath: string) {\n return document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue\n }\n },\n}\nTestHelpers.patchTestEnv()\n\nexport default TestHelpers.isTestEnv()\n","import { SignInUserMutation_signInUser_user as SignInUser } from 'd2/queries'\nimport {\n compact,\n includes,\n isEmpty,\n replace,\n} from 'lodash-es'\nimport isTestEnv from 'd2/utils/isTestEnv'\nimport rg4js from './rg4js'\nimport type { Raygun } from './rg4js'\n\nfunction stripProtocol (url: string) {\n return replace(url, /https?:\\/\\//, '')\n}\n\nexport function setRaygunUser (currentUser: SignInUser) {\n rg4js('setUser', {\n email: currentUser.email,\n firstName: currentUser.first_name,\n fullName: currentUser.full_name,\n identifier: currentUser.id,\n isAnonymous: false,\n })\n}\n\nexport function init () {\n if (typeof window === 'undefined') return\n\n // @ts-expect-error custom window properties\n const isDevEnv: boolean = window.settingsEnv === 'development'\n\n if (isTestEnv || isDevEnv) return\n\n // @ts-expect-error custom window properties\n const cdnUrl: string | null | undefined = window.VYDIA_SETTINGS.CDN_URL\n // @ts-expect-error custom window properties\n const webpackDevServerUrl: string | null | undefined = window.VYDIA_SETTINGS.WEBPACK_DEV_SERVER_URL_JS\n\n rg4js('groupingKey', (payload, _stackTrace, _options) => {\n if (includes(payload.Details.Tags, 'failed_to_fetch')) return 'failed_to_fetch'\n if (includes(payload.Details.Tags, 'client_offline')) return 'client_offline'\n if (includes(payload.Details.Tags, 'HTTP401')) return 'HTTP401'\n if (includes(payload.Details.Tags, 'HTTP403')) return 'HTTP403'\n if (includes(payload.Details.Tags, 'HTTP502')) return 'HTTP502'\n if (includes(payload.Details.Tags, 'SortBy')) return `Sort Error: ${payload.Details.UserCustomData.operationName}`\n if (includes(payload.Details.Tags, 'GraphQL')) return `GraphQL Error: ${payload.Details.UserCustomData.graphQLErrors?.[0]?.message ?? payload.Details.UserCustomData.operationName}`\n })\n\n rg4js('options', {\n allowInsecureSubmissions: true,\n captureMissingRequests: false,\n captureUnhandledRejections: true,\n debugMode: isDevEnv,\n disableErrorTracking: false,\n disablePulse: false,\n ignore3rdPartyErrors: false,\n ignoreAjaxAbort: true,\n ignoreAjaxError: true,\n pulseIgnoreUrlCasing: false,\n pulseMaxVirtualPageDuration: 1_800_000,\n setCookieAsSecure: false,\n wrapAsynchronousCallbacks: true,\n })\n\n rg4js('whitelistCrossOriginDomains', compact([cdnUrl ? stripProtocol(cdnUrl) : null, webpackDevServerUrl ? stripProtocol(webpackDevServerUrl) : null]))\n // @ts-expect-error custom window properties\n rg4js('setVersion', window.VYDIA_VERSION)\n rg4js('withTags', ['js', 'd2'])\n // @ts-expect-error custom window properties\n rg4js('apiKey', window.VYDIA_SETTINGS.RAYGUN_API_KEY)\n rg4js('logContentsOfXhrCalls', true)\n rg4js('enableCrashReporting', true)\n rg4js('enablePulse', true)\n rg4js('noConflict', true)\n\n // @ts-expect-error custom window properties\n if (!isEmpty(window.current_user)) {\n // @ts-expect-error custom window properties\n setRaygunUser(window.current_user satisfies SignInUser)\n }\n}\n\n// @ts-expect-error documentReady is custom on window\nif (typeof window !== 'undefined' && window.documentReady) {\n // @ts-expect-error documentReady is custom on window\n window.documentReady(init)\n}\n\nconst raygun: Raygun = rg4js\n\nexport default raygun\n","type ReadyListItem = {\n ctx: any,\n fn: AnyFunction\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-expressions\ntypeof window !== 'undefined' && (function (funcName, baseObj: Window & typeof globalThis | undefined): void {\n // The public function name defaults to window.documentReady\n // but you can pass in your own object and own function name and those will be used\n // if you want to put them in a different namespace\n funcName = funcName || 'documentReady'\n baseObj = baseObj ?? window\n let readyList: ReadyListItem[] = []\n let readyFired = false\n let readyEventHandlersInstalled = false\n\n // call this when the document is ready\n // this function protects itself against being called more than once\n function ready () {\n if (!readyFired) {\n // this must be set to true before we start calling callbacks\n readyFired = true\n for (const callback of readyList) {\n // if a callback here happens to add new ready handlers,\n // the documentReady() function will see that it already fired\n // and will schedule the callback to run right after\n // this event loop finishes so all handlers will still execute\n // in order and no new ones will be added to the readyList\n // while we are processing the list\n callback.fn.call(window, callback.ctx)\n }\n // allow any closures held by these functions to free\n readyList = []\n }\n }\n\n function readyStateChange () {\n if (document.readyState === 'complete') {\n ready()\n }\n }\n\n // This is the one public interface\n // documentReady(fn, context);\n // the context argument is optional - if present, it will be passed\n // as an argument to the callback\n // @ts-expect-error window doesn't have the func names\n baseObj[funcName]\n = function (callback: AnyFunction, context: any) {\n if (typeof callback !== 'function') {\n throw new TypeError('callback for documentReady(fn) must be a function')\n }\n // if ready has already fired, then just schedule the callback\n // to fire asynchronously, but right away\n if (readyFired) {\n setTimeout(() => {\n callback(context)\n }, 1)\n return\n }\n // add the function and context to the list\n readyList.push({\n ctx: context,\n fn: callback,\n })\n\n // if document already ready to go, schedule the ready function to run\n if (document.readyState === 'complete') {\n setTimeout(ready, 1)\n } else if (!readyEventHandlersInstalled) {\n // otherwise if we don't have event handlers installed, install them\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (document.addEventListener) {\n // first choice is DOMContentLoaded event\n document.addEventListener('DOMContentLoaded', ready, false)\n // backup is window load event\n window.addEventListener('load', ready, false)\n // @ts-expect-error for old ie versions\n } else if (document.attachEvent) {\n // must be IE\n // @ts-expect-error for old ie versions\n document.attachEvent('onreadystatechange', readyStateChange)\n // @ts-expect-error for old ie versions\n window.attachEvent('onload', ready)\n }\n readyEventHandlersInstalled = true\n }\n }\n})('documentReady', window)\n\nexport default {}\n"],"names":["init","user","window","current_user","FS","id","properties","createdAt","created_at","email","estimatedRevenue","estimated_revenue","to_f","fullName","full_name","currentTier","use_override_tier","override_user_tier","current_tier","lifetimeTier","lifetime_tier","tierIsEstimate","isAdmin","is_admin","adminLayout","organizationId","organization_id","organizationRole","role","phone","userId","observer","current_observer","observerId","observerOrganizationId","enabledFeatures","forEach","feature","replace","m","toUpperCase","concat","fullstoryId","displayName","FullStory","uid","ready","_window$VYDIA_SETTING","_default","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","_assertThisInitialize","history","children","store","_jsx","BaseProvider","apolloClient","apollo","_createStoreResources","createStoreResources","_createClass","Component","VYDIA_SETTINGS","TDD","sessionStorage","getItem","console","log","then","loaded","error","documentReady","Root","require","mount","Providers","wootric","is_current_user_eligible_for_nps","wootricSettings","Math","floor","Date","parse","toString","account_token","WOOTRIC_TOKEN","currentTier_amount","lifetimeTier_amount","url","clickEvents","$","click","event","push","time","length","splice","result","count","interval","last","timeDiff","getTime","maxDistance","i","j","distance","round","sqrt","pow","clientX","clientY","detectXClicks","_selected$closest","_selected$parent","_window$rg4js","_window","selected","target","classes","attr","text","testID","closest","parentClass","parent","replacedTestID","tags","rg4js","customData","elementClass","numberOfClicks","Turbolinks","CardSubSection","memo","_ref","_cx","dividerProps","noContentMargin","noDivider","noPadding","noPaddingBottom","noPaddingLeft","rightSideContent","tinyButtons","title","topButtons","_useStyles","useStyles","cx","_jsxs","_Fragment","StackedOnPhone","Truncate","isFunction","Heading3","variant","className","buttonsWrapper","Divider","_objectSpread","halfMargin","contentWithMargin","paddingBottom","paddingLeft","CardTile","align","fullHeight","paddingHorizontal","paddingVertical","_objectWithoutProperties","_excluded","container","forwardProps","makeLazyTranslations","en","IosPwaPrompt","t","useTranslations","PWAPrompt","copyBody","body","copyClosePrompt","close","copyTitle","permanentlyHideOnDismiss","promptOnVisit","timesToShow","CardStack","sidebar","_ref$sidebarPosition","sidebarPosition","_ref$sidebarSize","sidebarSize","Grid","layout","Col","md","compact","Children","map","child","index","SpaceBetween","StretchOne","stretch","vertical","childrenCount","containerHorizontal","containerVertical","shouldStretch","isValidElement","cloneElement","stretchChild","reducer","data","me","NeedsAgreement","forAddressChange","forEcla","forOwnerEcla","skippable","_useQuery","useQuerySwitch","gql","_templateObject","_taggedTemplateLiteral","mustSignUclaFragment","fetchPolicy","_useQuery2","_slicedToArray","querySwitch","_useLocation","useLocation","pathname","search","_useSearchParams","useSearchParams","searchParams","_useUrlQueryParam","useUrlQueryParam","coerceBoolean","skipped","must_acknowledge_address_change","get","Navigate","to","signedAgreementRequired","must_sign_ucla","requires_label_owner_agreement","cannotBeSkipped","show_optional_ucla","encodeURIComponent","PhoneNumberInput","disabled","disabledText","_ref$enableHelperText","enableHelperText","MuiPhoneNumberInput","defaultCountry","enableLongNumbers","helperText","disableOtp","sx","svg","height","ComponentWithProviders","d1","StorageSpaceBanner","lazy","root","rootWithProviders","_root","rootEl","document","querySelector","invariant","unmount","createRoot","render","ConfirmPasswordForm","onSuccess","_useUserAccountDetail","useUserAccountDetailsQuery","_useResetPassword","useResetPassword","_useResetPassword2","resetPassword","resetPasswordMutationLoading","loading","_useConfirmPassword","useConfirmPassword","_useConfirmPassword2","confirmPassword","formErrors","_useSnackbar","useSnackbar","showGenericErrorSnackbar","showSnackbar","_useState","useState","confirm_password","_useState2","formValues","setFormValues","handleResetPasswordClick","useCallback","_asyncToGenerator","_regeneratorRuntime","_callee","_yield$resetPassword","errors","success","_context","prev","next","sent","some","message","checkEmail","type","stop","handleSubmit","_callee2","_yield$confirmPasswor","_context2","onChange","values","bottomButtons","useMemo","SubmitButton","size","verify","verifyPasswordTitle","verifyIdentity","here","HyperLink","onClick","BodyExtraSmall","Form","disableHtml5Required","onSubmit","value","Card","noBorder","paddingSize","titleAlign","usePaper","Body","confirmationText","TextField","fullWidth","label","currentPassword","path","required","SnackbarNotification","VERIFICATION_METHOD_PHONE","VERIFICATION_METHOD_AUTHENTICATOR","AuthenticationMethodPicker","onChangeVerificationMethod","selectedVerificationMethod","appOption","icon","GradientIcon","fontSize","iconWeight","AVATAR_EXTRA_SMALL_SIZE","name","Heading5","authAppName","mostSecure","subText","authAppDescription","smsOption","smsName","smsDescription","items","verificationBody","Spacer","Picker","colSizeSm","multiple","selectedValues","truncateSubtitle","OneTimePasswordForm","_ref2","_ref6","_data$phoneNumber","_data$otpAuthSecret","authMethod","_ref2$forceSendInitia","forceSendInitialOtp","onPhoneError","otpOnly","phoneNumber","_ref2$redirect","redirect","_ref2$rememberDevice","rememberDevice","_ref2$showLogoutButto","showLogoutButton","verifyOtp","returnUrl","useReturnUrl","isMobile","useIsMobile","otp","setOtp","_useModal","useModal","hideModal","showModal","ref","useRef","_useVerifyOtpMutation","useVerifyOtpMutation","_useVerifyOtpMutation2","verifyOtpMutation","verificationLoading","_useSendOtpMutation","useSendOtpMutation","_useSendOtpMutation2","sendOtpMutation","sendOtpLoading","_useState3","_useState4","sentInitialOtp","setSentInitialOtp","_useState5","_useState6","rememberDeviceValue","setRememberDeviceValue","_useState7","_useState8","step","setStep","_useState9","_useState10","phoneError","setPhoneError","_useOneTimePasswordQu","useOneTimePasswordQuery","_useOneTimePasswordQu2","_useToggleOtpMfaMutat","useToggleOtpMfaMutation","toggleOtpMfa","_useFormState","useFormState","_useFormState2","_useState11","_useState12","setSelectedVerificationMethod","navigate","useNavigate","handleSendOtpMutation","_ref3","fromFtui","input","_yield$sendOtpMutatio","save_phone","somethingWentWrong","filter","_ref4","key","newVerificationCode","_x","apply","arguments","checkBoxItems","metadata","handleRedirect","includes","d2VisitD1","handleClickVerify","_ref5","callbackOtp","_formValues$phone$sli","_formValues$phone","abrupt","code","remember_device","verify_method","otpMfaMethod","OtpMethodType","verificationFailed","heading","otpVerified","verificationSuccess","slice","authAppSuccess","isNil","otpMfa","otp_mfa","_x2","onChangeOTP","handleClickResend","useEffect","otpExpired","onChangeRememberDevice","newCheckValues","verificationMethods","verificationMethod","head","onChangePhone","newValue","SolidButton","Heading2","turnOn","title2","title3","addPhoneNumber","scanQRCode","title4","enterCode","onClick2","onClick3","onClick4","onClick5","verifyBottomButtons","ButtonContainer","maxWidth","BlankButton","blankButton","color","goBack","verifyNumber","authenticatorBottomButtons","mutationLoading","verifyAuthenticator","submitOtpButtons","submit","showOTPModal","addVerificationCard","addPhoneBody","disableAreaCodes","spacing","SPACING_HALF","scanCodeBody","SPACING_ZERO","sm","xs","OtpQrCode","Flexbox","otpAuthSecret","cantScan","enterCodeBody","OTPInput","autoFocus","isNumberInput","onPaste","double","secondaryAlign","Heading4","undefined","subtitle","noCode","CheckboxList","LinkButton","button","resend","sendCode","reverse","href","logout","hideDivider","noLineMarginBottom","resendLink","SideModal","modalKey","onToggleClose","Box","mt","cantScanDescription","my","copyable","copyableText","copy","SecuritySettings","_ref$d1Component","d1Component","onError","_useSecuritySettingsQ","useSecuritySettingsQuery","_useSecuritySettingsQ2","initialFormValues","_useToggleOtpMfaMutat2","_useToggleOtpMfaMutat3","initialDataLoaded","setInitialDataLoaded","handleErrors","messages","cannotBeDisabled","invalidPhone","scrollToTop","handleOnClose","handleOnSuccess","_result$errors$","skip_save","_useOtpModal","useOtpModal","modalProps","modalIndex","otpModal","handleOnSubmit","_result$errors$2","_data$otpMfa","onFormChange","handleButtonSubmit","info","otpLabel","CheckboxField","checkbox","StorageTierModalWrapper","enabled","_window$google_analyt","google_analytics_account","googleAnalytics","useTracking","displayMode","navigator","standalone","matchMedia","matches","dimension1","trackRouteChanged","urlQueryParamIdFormat","SharedLayout","_hasHiddenPaymentPlan","_ref$anyFeature","anyFeature","_ref$anyFeatureUnless","anyFeatureUnless","Layout","layoutProps","checkHiddenPlan","_useCheckFeatures","useCheckFeatures","_useCheckFeatures2","hasFeature","_useUserNeedsOtpQuery","useUserNeedsOtpQuery","otpData","_useCheckFeatures3","hasFeatureUnless","_useUserHasHiddenPlan","useUserHasHiddenPlanQuery","skip","hasHiddenPaymentPlan","authorized","me_or_null","has_hidden_payment_plan","_otpData$error","_otpData$data","toLower","isTestEnv","user_needs_otp","innerFallback","LoadingSpinner","Suspense","fallback","isBoolean","NotFoundScreen","Suspender","PartialLayout","Outlet","D2DevLayout","isMounted","setIsMounted","Features","renderRoute","ForLabelHub","branding","useTheme","d","isWhitelabel","NavigateDynamic","params","useParams","newTo","split","part","startsWith","param","join","NavigatePathRewrite","rewrite","pathSegments","indexOf","makeStyles","_theme$branding","_theme$branding2","theme","_extends","_objectDestructuringEmpty","bannerText","primaryContrastTextColor","backgroundColor","padding","px","SPACING","textAlign","AppAnnouncementsBanner","testId","_theme$branding$prima","_theme$branding3","fontBoldStyles","primaryColor","signInBackLink","textDecoration","ObserverModeBanner","observeeName","observerName","renderMessage","clickable","returnTo","clickHere","prepend","prependStringMobile","prependStringDefault","display","flexDirection","marginTop","MAIN_NAV_BAR_HEIGHT","minHeight","content","flex","QUERY","Dashboard","header","storageSpaceBanner","location","observerSignedIn","observer_signed_in","emailConfirmed","email_confirmed","tipaltiUserData","tipalti_user_data","must_submit_tax_form","fallbackFillHeight","fillHeight","MainNavBarD2","display_name_or_email","general_announcement","payment_announcements","winter_break_announcement","Footer","ScreenLayout","rest","ScrollToTopOnChangePath","defer","Default","Standalone","NO_STORAGE_SPACE_BANNER_LAYOUT_PROPS","constant","AppRoutes","Routes","Route","element","TaxSubmission","OAuthReturn","SignIn","ResetPassword","OneTimePassword","PayeeSignUp","PayeeInviteExpired","ShareAlbum","CaptchaScreen","TipaltiSignup","TermsAndConditions","Ucla","SpotifyForArtists","ArtistsIndex","SPA_ROOT","Account","AccountSignedAgreement","AccountActivity","WidgetDashboard","PasswordConfirmation","AccountDeletion","AccountDeletionWarning","PrivacyPolicyScreen","Terms","DPAScreen","SubProcessorsScreen","VerifyEmail","Upload","RecoupmentCreation","OrganizationInviteUser","OrganizationEditUser","OrganizationBulkInviteUsers","OrganizationDetails","ArtistDetails","AlbumDetails","AlbumDetailsPublishSuccess","AlbumDetailsPublishSuccessV2","AlbumCreation","PublishNetworkSelect","PublishAdditionalServices","PublishReview","Insights","MerchItemEdit","ReleaseCalendar","Content","PayeeDetails","RoyaltyCenter","StorageConsumptionScreen","DataDeleteRequest","Distribution","ContentLicenseAgreementNotice","Statements","EarningsStatementIngestion","Faq","TipaltiFaq","AudioDestinationNews","RevenuePrediction","SignatureCreation","AdvancesIndex","NewAdvance","StorageSuccessScreen","mode","PlanDowngrade","ExamplesScreen","currentLocation","callbacks","getLocation","triggerCallbacks","_step","_iterator","_createForOfIteratorHelper","clone","s","n","done","callback","err","e","f","handleTurbolinksVisit","raygun","handlePopstate","newLocation","uri","isD2Path","loc","fullLocString","_len","paths","Array","_key","doesPathStartWith","toOrHrefProps","current","destination","dispatch","turbolinksEnabled","addEventListener","assetUri","localPath","_window$VYDIA_SETTING2","CDN_URL","assetResourceUri","buildUri","isEmpty","joinWith","buildNestedQuery","formattedParams","mapValues","coerceQueryParam","qs","arrayFormat","encode","parseNestedQuery","queryString","isNumber","isArray","isObjectLike","artistDetailsSectionUrl","tabName","fileDetailsSectionUrl","albumDetailsSectionUrl","queryParams","insightsSectionUrl","section","makePath","segments","_i","_segments","segment","insightsLabelUrl","albumId","artistId","endDate","mediaId","startDate","insightsUserUrl","releaseCalendarSectionUrl","releaseCalendarLabelUrl","releaseCalendarUserUrl","storageSectionUrl","storageLabelUrl","storageUserUrl","audioAnalyticsUrl","_ref7","includeOrgLevel","royaltyCenterSectionUrl","royaltyCenterDefaultStatementsUrl","currentMonth","DateTime","startOf","toISODate","lastMonth","minus","months","twoMonthsBack","filterUrlOptions","dates","royaltyCenterLabelEarningsUrl","_ref8","royaltyCenterOverviewUrl","_ref9","royaltyCenterPaymentSectionUrl","options","_d","payeeInviteId","payee_invite","royaltyCenterPayeeSectionUrl","_ref10","sharedAssetStatus","royaltyCenterTipaltiSignupUrl","_d2$redirect","salesTrendsLabelUrl","_ref11","salesTrendsUserUrl","_ref12","urlIdFormat","BINARY_KILO","THOUSAND","prettyUrl","base64UrlEncode","unencoded","encoded","Buffer","from","base64Encode","RegExp","base64UrlDecode","encodedStr","base64Decode","sentenceCase","string","toReplace","toUpper","stringToColor","str","colors","_md5$replace$","toNumber","md5","backgroundUrl","htmlRawSpace","repeat","equals","string1","string2","stringifyMutationErrors","removeFileExtension","fileName","max","lastIndexOf","prettyNumber","number","numeral","format","prettyNumberInexact","toFixed","prettyPrice","digits","isNegative","abs","_split","String","_split2","_split2$","integerDigits","decimalDigits","commaSeparatedIntegerDigits","formattedNumber","padEnd","prettyPriceDifference","prettyPercentage","rounded","_splitNumbers$ONE","splitNumbers","Number","parseInt","toJSDate","date","prettyDate","toFormat","prettyDateLuxon","setZone","keepLocalTime","prettyDateUTC","toUTC","prettyWordDate","Error","prettyDuration","seconds","Duration","prettyTrackDuration","milliseconds","prettyTime","prettyMonthYearShortUTC","prettyMonthYearUTC","prettyMonthYearDigitsUTC","prettyPhoneNumber","cleaned","phoneRegex","match","intlCode","joinList","list","prettyFileSize","bytes","si","thresh","units","u","unit","prettyFileSizeNoSpace","prettyFileSizeRoundedNoSpace","_units$u","parseFloat","pluralizeWord","singularWord","pluralWord","titleCase","firstName","lastName","prettyPercentageForChart","sumTotal","percentage","dataDelayForNumDays","numDays","defaultClient","includesMutationError","keys","errorKey","errorMessages","isEqual","createApolloClient","dataLink","cache","InMemoryCache","addTypename","cacheRedirects","possibleTypes","emitter","eventEmitter","eventsLink","ApolloLinkEvents","customLoggerLink","ApolloLink","operation","forward","startTime","now","operationType","query","definitions","elapsed","group","logger","enableLogging","apolloLogger","errorLink","_graphQLErrors$0$mess","_graphQLErrors$","graphQLErrors","networkError","_ref3$operation","operationName","variables","response","bodyText","parseError","statusCode","logWarn","JSON","stringify","CODE_UNAUTHORIZED","CODE_FORBIDDEN","CODE_UNAVAILABLE","retryLink","RetryLink","link","client","ApolloClient","connectToDevTools","queryDeduplication","events","BatchHttpLink","credentials","isDevelopment","ENVIRONMENT","isProduction","environmentNameConversion","development","mars","mercury","staging","_window$sessionStorag","process","TDD_LOG_HIGH","_window$FS","_console","args","arg","_window$FS2","_console2","_len2","_key2","warn","logError","_window$FS3","_console3","_len3","_key3","consoleReplacement","TestHelpers","settingsEnv","isTDDBrowser","patchTestEnv","testEnvHasBeenPatched","this","Simulate","TestUtils","triggerChangeById","elementId","change","getElementById","getElementByXpath","xpath","evaluate","XPathResult","FIRST_ORDERED_NODE_TYPE","singleNodeValue","stripProtocol","setRaygunUser","currentUser","first_name","identifier","isAnonymous","isDevEnv","cdnUrl","webpackDevServerUrl","WEBPACK_DEV_SERVER_URL_JS","payload","_stackTrace","_options","_payload$Details$User","_payload$Details$User2","_payload$Details$User3","Details","Tags","UserCustomData","allowInsecureSubmissions","captureMissingRequests","captureUnhandledRejections","debugMode","disableErrorTracking","disablePulse","ignore3rdPartyErrors","ignoreAjaxAbort","ignoreAjaxError","pulseIgnoreUrlCasing","pulseMaxVirtualPageDuration","setCookieAsSecure","wrapAsynchronousCallbacks","VYDIA_VERSION","RAYGUN_API_KEY","funcName","baseObj","_baseObj","readyList","readyFired","readyEventHandlersInstalled","fn","ctx","readyStateChange","readyState","context","TypeError","setTimeout","attachEvent"],"sourceRoot":""}