{"version":3,"file":"index-BUgeEZKb.js","sources":["../../Client/shared/Common/UrqHelpers/index.ts"],"sourcesContent":["import { createUpcomingRenewalQuote } from '@api/HOApi';\r\nimport { getPath, Path } from '@app/Views';\r\nimport { ProductLine } from '@business/CommonSets';\r\nimport { getRenewalTermFromPolicyNumber, handleGeneralError, isAdmin, navigate, normalizeError } from '@shared/Common';\r\nimport { ErrorCodes, pages } from '@shared/Constants';\r\n\r\n/** Creates a URQ from the provided quoteId.\r\n * Redirects to home for non-admin users and runs an optional callback if a urq already exists. */\r\nexport async function createUrqOrDefault(quoteId: string, urqExistsErrorCallback?: () => void) {\r\n    if (!isAdmin()) {\r\n        navigate(pages.Root);\r\n        return '';\r\n    }\r\n\r\n    try {\r\n        const urqId = await createUpcomingRenewalQuote(quoteId);\r\n        return urqId;\r\n    } catch (error) {\r\n        const normalizedError = normalizeError(error);\r\n        if (parseInt(normalizedError.subCode) === ErrorCodes.UpcomingRenewalQuoteAlreadyExists) {\r\n            if (urqExistsErrorCallback) {\r\n                urqExistsErrorCallback();\r\n                return '';\r\n            }\r\n        }\r\n\r\n        await handleGeneralError(error);\r\n    }\r\n\r\n    return '';\r\n}\r\n\r\n/** Handles navigating to URQ with either Classic or Enchilada quote page, depending on the feature flag. */\r\nexport function navigateToUrq(urqQuoteId: string, productLine: ProductLine) {\r\n    const url = getPath(Path.UpcomingRenewalQuote, { quoteId: urqQuoteId, product: productLine.lowercaseName });\r\n    navigate(url);\r\n}\r\n\r\n/** Gets a label for the URQ button that indicates if the policy has an existing URQ and shows the policy term for the URQ. */\r\nexport function getUrqButtonLabel(policyNumber: string, urqQuoteId?: string | null) {\r\n    const renewalTerm = getRenewalTermFromPolicyNumber(policyNumber);\r\n    return `${!!urqQuoteId ? 'View' : 'Create'} URQ (${renewalTerm})`;\r\n}\r\n\r\n/** Gets a tooltip message for the URQ button that indicates if the policy has an existing URQ and shows the policy term for the URQ. */\r\nexport function getUrqButtonTooltip(policyNumber: string, hasRenewalPolicy: boolean, urqQuoteId?: string | null) {\r\n    if (hasRenewalPolicy && !urqQuoteId) {\r\n        return 'Cannot create URQ because renewal policy is already in place';\r\n    }\r\n    const renewalTerm = getRenewalTermFromPolicyNumber(policyNumber);\r\n    return `${!!urqQuoteId ? 'View existing' : 'Create new'} URQ for upcoming renewal term ${renewalTerm}`;\r\n}\r\n"],"names":["createUrqOrDefault","quoteId","urqExistsErrorCallback","isAdmin","navigate","pages","createUpcomingRenewalQuote","error","normalizedError","normalizeError","ErrorCodes","handleGeneralError","navigateToUrq","urqQuoteId","productLine","url","getPath","Path","getUrqButtonLabel","policyNumber","renewalTerm","getRenewalTermFromPolicyNumber","getUrqButtonTooltip","hasRenewalPolicy"],"mappings":"uIAQsB,eAAAA,EAAmBC,EAAiBC,EAAqC,CACvF,GAAA,CAACC,IACD,OAAAC,EAASC,EAAM,IAAI,EACZ,GAGP,GAAA,CAEO,OADO,MAAMC,EAA2BL,CAAO,QAEjDM,EAAO,CACN,MAAAC,EAAkBC,EAAeF,CAAK,EACxC,SAASC,EAAgB,OAAO,EAAME,EAAW,kCAOrD,MAAMC,EAAmBJ,CAAK,CAAA,CAG3B,MAAA,EACX,CAGgB,SAAAK,EAAcC,EAAoBC,EAA0B,CAClE,MAAAC,EAAMC,EAAQC,EAAK,qBAAsB,CAAE,QAASJ,EAAY,QAASC,EAAY,cAAe,EAC1GV,EAASW,CAAG,CAChB,CAGgB,SAAAG,EAAkBC,EAAsBN,EAA4B,CAC1E,MAAAO,EAAcC,EAA+BF,CAAY,EAC/D,MAAO,GAAKN,EAAa,OAAS,QAAQ,SAASO,CAAW,GAClE,CAGgB,SAAAE,EAAoBH,EAAsBI,EAA2BV,EAA4B,CACzG,GAAAU,GAAoB,CAACV,EACd,MAAA,+DAEL,MAAAO,EAAcC,EAA+BF,CAAY,EAC/D,MAAO,GAAKN,EAAa,gBAAkB,YAAY,kCAAkCO,CAAW,EACxG"}