{"version":3,"file":"js/5480.51aab897589f2d92c139.chunk.js","mappings":"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","sources":["webpack://ti_west/./app/containers/designation-requirement-path/designation-steps.jsx","webpack://ti_west/./app/containers/designation-requirement-path/index.jsx","webpack://ti_west/./app/containers/designation-requirement-path/step-container.jsx","webpack://ti_west/./app/containers/designation-requirement-path/step-type/course-step-type.jsx","webpack://ti_west/./app/containers/designation-requirement-path/step-type/ethics-step-type.jsx","webpack://ti_west/./app/containers/designation-requirement-path/step-type/matriculation-step-type.jsx","webpack://ti_west/./app/containers/designation-requirement-path/step-type/prereq-step-type.jsx","webpack://ti_west/./app/containers/designation-requirement-path/step-type/track-step-type.jsx","webpack://ti_west/./app/components/badge/completion-badge.tsx","webpack://ti_west/./app/components/progress-bar/index.tsx","webpack://ti_west/./app/constants/course-groups.ts","webpack://ti_west/./app/containers/designation-requirement-path/step-type/index.ts","webpack://ti_west/./app/containers/progress-tracker/detail-step/detail-step-card-course.tsx","webpack://ti_west/./app/containers/progress-tracker/detail-step/detail-step-card-matric.tsx","webpack://ti_west/./app/containers/progress-tracker/detail-step/detail-step-card-product.tsx","webpack://ti_west/./app/containers/progress-tracker/detail-step/detail-step-card.tsx","webpack://ti_west/./app/containers/progress-tracker/detail-step/detail-step-container.tsx","webpack://ti_west/./app/containers/progress-tracker/detail-step/detail-step-item.tsx","webpack://ti_west/./app/containers/progress-tracker/detail-step/detail-step-list-types.tsx"],"sourcesContent":["/* eslint-disable react/jsx-props-no-spreading */\nimport React from 'react';\n\nimport {\n\tCONCENTRATIONS,\n\tCORES,\n\tELECTIVES,\n\tETHICS,\n\tMATRICULATION,\n\tPREREQUISITES,\n} from '@app/constants/program-steps';\n\nimport {\n\tCourseStepType,\n\tEthicsStepType,\n\tMatriculationStepType,\n\tPrereqStepType,\n\tTrackStepType,\n} from './step-type';\n\nconst stepTitleMapping = {\n\t[PREREQUISITES]: 'Prerequisites',\n\t[CORES]: 'Core Courses',\n\t[CONCENTRATIONS]: 'Concentration Courses',\n\t[ELECTIVES]: 'Elective Courses',\n\t[MATRICULATION]: 'Matriculation',\n\t[ETHICS]: 'Ethics',\n};\n\nconst stepEyebrowMapping = {\n\t[PREREQUISITES]: 'designation',\n\t[CORES]: 'required',\n\t[CONCENTRATIONS]: 'required',\n\t[ELECTIVES]: 'elective',\n\t[MATRICULATION]: 'required',\n\t[ETHICS]: 'required',\n};\n\n/**\n * Individual designation step. Depending on name of step, a different\n * step-type will be rendered.\n *\n * If a step with an invalid name is provided, no component is returned.\n *\n * @param {Object} scrollProps - Default props for scrolling.\n * @param {number} stepIndex - Index of current step.\n * @param {Object} store - Redux store.\n *\n * @returns {React.Element|null} Step component instance or null.\n */\nconst DesignationStep = ({\n\tmarketing,\n\tprogramRule,\n\tscrollProps,\n\tstep,\n\tstepDescriptions,\n\tstepIndex,\n\tstore,\n}) => {\n\tconst { courses: coursesList, products = {} } = programRule;\n\tconst { programs: marketingPrograms = {}, courses: marketingCourses = {}, matricTopicCourse = {} } =\n\t\tmarketing;\n\n\tconst name = Object.keys(step)[0];\n\tconst stepData = Object.values(step)[0];\n\n\tconst { openStep = CORES, openTrack = '' } = scrollProps;\n\n\t// // If there are designations, start with the PREREQUISITES step open.\n\t// // Otherwise, start with the FOUNDATION step open.\n\tconst [open, setOpen] = React.useState(name === openStep);\n\tconst toggleStep = () => setOpen(!open);\n\n\t// Base props to pass to all step choices.\n\tconst baseStepProps = {\n\t\teyebrowText: stepEyebrowMapping[name],\n\t\tisStepOpen: open,\n\t\tstepDescription: stepDescriptions[name],\n\t\tstepIndex,\n\t\tstepTitle: stepTitleMapping[name] || '',\n\t\ttoggleStep,\n\t};\n\n\tswitch (name) {\n\t\tcase PREREQUISITES: {\n\t\t\tconst designations = stepData.map(\n\t\t\t\t(programId) => marketingPrograms[programId],\n\t\t\t);\n\t\t\treturn ;\n\t\t}\n\n\t\tcase CORES:\n\t\tcase CONCENTRATIONS: {\n\t\t\tif (Object.values(stepData).length === 1) {\n\t\t\t\tconst courseCodes = Object.values(stepData)[0];\n\t\t\t\tconst courses = courseCodes.map((courseCode) => ({\n\t\t\t\t\t...coursesList[courseCode],\n\t\t\t\t\t...marketingCourses[courseCode],\n\t\t\t\t}));\n\t\t\t\treturn ;\n\t\t\t}\n\n\t\t\tconst trackNames = Object.keys(stepData);\n\t\t\tconst trackCourses = Object.values(stepData).map((courses) =>\n\t\t\t\tcourses.map((courseCode) => ({\n\t\t\t\t\t...coursesList[courseCode],\n\t\t\t\t\t...marketingCourses[courseCode],\n\t\t\t\t})),\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\tcase ELECTIVES: {\n\t\t\tconst { electives = [], required = 1 } = stepData;\n\t\t\tconst courses = electives\n\t\t\t\t.map((courseCode) => {\n\t\t\t\t\tconst course = coursesList[courseCode];\n\t\t\t\t\tconst isTopicCourse = course.examWindows.every(\n\t\t\t\t\t\t(ew) =>\n\t\t\t\t\t\t\tew.examIds.length === 0 &&\n\t\t\t\t\t\t\tew.packageIds.length === 0 &&\n\t\t\t\t\t\t\tew.printedMaterialIds.length === 0 &&\n\t\t\t\t\t\t\tew.onlineCourseIds.length === 1,\n\t\t\t\t\t);\n\t\t\t\t\tconst topicCourse = !isTopicCourse\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: (() => {\n\t\t\t\t\t\t\t\tconst product =\n\t\t\t\t\t\t\t\t\tproducts[course.examWindows[0].onlineCourseIds[0]];\n\t\t\t\t\t\t\t\treturn product.topicCourse || product.microCert\n\t\t\t\t\t\t\t\t\t? product\n\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t })();\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...course,\n\t\t\t\t\t\ttopicCourse,\n\t\t\t\t\t\t...marketingCourses[courseCode],\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t\t.sort(({ abbreviation: a }, { abbreviation: b }) => a.localeCompare(b));\n\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\tcase MATRICULATION: {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\tcase ETHICS: {\n\t\t\t// Grab the single online ethics course.\n\t\t\tconst courses = stepData\n\t\t\t\t.filter((courseCode) => {\n\t\t\t\t\tconst [firstExamWindow = {}] =\n\t\t\t\t\t\tcoursesList[courseCode].examWindows || [];\n\t\t\t\t\tconst [ethicsProductId] = firstExamWindow.onlineCourseIds || [];\n\n\t\t\t\t\treturn ethicsProductId && products[ethicsProductId];\n\t\t\t\t})\n\t\t\t\t.map((courseCode) => ({\n\t\t\t\t\t...products[\n\t\t\t\t\t\tcoursesList[courseCode].examWindows[0].onlineCourseIds[0]\n\t\t\t\t\t],\n\t\t\t\t\t...marketingCourses[courseCode],\n\t\t\t\t}));\n\n\t\t\treturn (\n\t\t\t\t!!courses.length && (\n\t\t\t\t\t\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n\n/**\n * Designation Steps contains all steps.\n *\n * @param {Array=} steps - Current designation steps.\n * @param {Object=} store - Redux store\n *\n * @returns {Object} Designation steps container.\n */\nexport const DesignationSteps = ({\n\tscrollProps = {},\n\tstepDescriptions,\n\tstore = {},\n}) => {\n\tconst { content } = store;\n\tconst { programRule = {}, marketing = {} } = content;\n\tconst { steps = [] } = programRule;\n\n\treturn steps.map((step, index) => (\n\t\t\n\t));\n};\n","import Axios from 'axios';\nimport classNames from 'classnames';\nimport React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\n\nimport { PageLoadError } from '@app/components/error';\nimport { Loader } from '@app/components/loader';\nimport { ProductFamily } from '@app/constants/product-family';\nimport { MATRICULATION } from '@app/constants/program-steps';\nimport {\n\tSCROLL_PROGRAM_COURSE,\n\tSCROLL_PROGRAM_MATRICULATION,\n\tSCROLL_PROGRAM_STEP,\n} from '@app/constants/scroll-to-ids';\nimport { useMergeState } from '@app/hooks';\nimport { mapDispatchToProps } from '@app/store/map-dispatch-to-props';\nimport { getScrollToId } from '@app/utility/get-scroll-to-id';\nimport { initializePurchaseForm } from '@app/utility/initialize-purchase-form';\n\nimport { DesignationSteps } from './designation-steps';\nimport { DetailStepContainer } from '../progress-tracker/detail-step/detail-step-container';\n\n/**\n * Determine which step to open for scroll-to functionality.\n *\n * @param {Object} steps - List of designation steps.\n *\n * @returns {Object} Object of step and scroll properties to default.\n */\nconst getOpenStep = (steps) => {\n\tconst parseValueFromId = (id) => id.split('-').slice(-1).pop();\n\t// Split the URL for the anchor tag course code value.\n\tconst courseCodeHash = getScrollToId(SCROLL_PROGRAM_COURSE);\n\tconst matriculationHash = getScrollToId(SCROLL_PROGRAM_MATRICULATION);\n\tconst stepHash = getScrollToId(SCROLL_PROGRAM_STEP);\n\n\tif (courseCodeHash) {\n\t\tconst scrollToCode = parseValueFromId(courseCodeHash);\n\n\t\treturn Object.values(steps).reduce((acc, stepCourses) => {\n\t\t\tconst openStep = Object.keys(stepCourses)[0];\n\t\t\tconst { cores, concentrations, electives, ethics } = stepCourses;\n\t\t\tconst trackOptions = cores || concentrations;\n\n\t\t\tif (trackOptions) {\n\t\t\t\tconst trackIndex = Object.values(trackOptions).findIndex((c) =>\n\t\t\t\t\tc.includes(scrollToCode),\n\t\t\t\t);\n\t\t\t\tif (trackIndex !== -1) {\n\t\t\t\t\treturn { openStep, openTrack: Object.keys(trackOptions)[trackIndex] };\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst singleOptions = (electives && electives.electives) || ethics;\n\t\t\tif (singleOptions && singleOptions.includes(scrollToCode)) {\n\t\t\t\treturn { openStep };\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t}, {});\n\t}\n\n\tif (matriculationHash) {\n\t\treturn { openStep: MATRICULATION };\n\t}\n\n\tif (stepHash) {\n\t\tconst index = parseValueFromId(stepHash);\n\t\tconst step = Object.values(steps)[(parseInt(index, 10) || 1) - 1];\n\t\treturn { openStep: Object.keys(step)[0] };\n\t}\n\n\treturn {};\n};\n\n/**\n * Designation requirement path is the main entry point and container for the\n * redesigned designation pathway.\n *\n * Since this relies on an async process, a Loading component is used.\n *\n * @param {Object} actions - Redux actions.\n * @param {Object} stepDescriptions - Descriptions for each step.\n * @param {number} apiId - API id of Designation.\n * @param {Object} app - Redux store for app\n * @param {Object} auth - Redux store for auth\n * @param {Object} cart - Redux store for cart\n * @param {Object} content - Redux store for content\n * @param {string} coreTrack - Specific core track\n *\n * @returns {React.Element} Designation requirement component.\n */\nconst DesignationRequirementPathRaw = (designationProps) => {\n\tconst {\n\t\tactions,\n\t\tapiId,\n\t\tapp,\n\t\tauth,\n\t\tcart,\n\t\tcontent,\n\t\tcoreTrack,\n\t\tstudentProgress,\n\t\tstepDescriptions = {},\n\t} = designationProps;\n\n\tconst initialState = {\n\t\tisLoading: true,\n\t\tscrollProps: {},\n\t};\n\n\tconst [apiError, setApiError] = useState(false);\n\tconst [state, mergeState] = useMergeState(initialState);\n\tconst { isLoading, scrollProps } = state;\n\n\tconst showLoader = isLoading && !apiError;\n\n\t// Step props has store, with content expanded into steps.\n\tconst baseProps = {\n\t\tscrollProps,\n\t\tstepDescriptions,\n\t\tstore: { actions, app, auth, cart, content },\n\t};\n\n\tuseEffect(() => {\n\t\tconst cancelToken = Axios.CancelToken.source();\n\t\tlet mounted = true;\n\n\t\tconst getDesignation = async () => {\n\t\t\tactions.resetApiErrors();\n\n\t\t\tconst { payload } = await actions.getProgramRule(\n\t\t\t\tapiId,\n\t\t\t\tcoreTrack,\n\t\t\t\tcancelToken.token,\n\t\t\t\tstudentProgress,\n\t\t\t);\n\t\t\tconst {\n\t\t\t\tcourses = {},\n\t\t\t\tproducts = {},\n\t\t\t\tsteps: designationSteps = [],\n\t\t\t} = payload;\n\t\t\tconst prereqStep =\n\t\t\t\tdesignationSteps.find(({ prerequisites = null }) => !!prerequisites) ||\n\t\t\t\t{};\n\t\t\tconst programIds = prereqStep.prerequisites || [];\n\n\t\t\tconst packageIds = [\n\t\t\t\t...new Set(\n\t\t\t\t\tObject.values(courses).flatMap((course) =>\n\t\t\t\t\t\tcourse.examWindows.flatMap((window) => window.packageIds),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t];\n\t\t\tawait actions.getPrepaidPackages(packageIds);\n\n\t\t\t// If component is unmounted at any point, prevent carrying through with state updates.\n\t\t\tif (mounted) {\n\t\t\t\t// Get Topic Course Ids for Online Course product families.\n\t\t\t\tconst topicCourseIds = Object.values(products)\n\t\t\t\t\t.filter(({ productFamily }) => productFamily === ProductFamily.TOPIC_COURSE)\n\t\t\t\t\t.map(({ id }) => id.toString());\n\n\t\t\t\tawait initializePurchaseForm(\n\t\t\t\t\tactions,\n\t\t\t\t\tObject.keys(courses),\n\t\t\t\t\ttopicCourseIds,\n\t\t\t\t\tapiId.toString(),\n\t\t\t\t\tprogramIds,\n\t\t\t\t\tcancelToken.token,\n\t\t\t\t);\n\n\t\t\t\tmergeState({\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\tscrollProps: getOpenStep(designationSteps),\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\ttry {\n\t\t\tgetDesignation();\n\t\t} catch {\n\t\t\tmergeState({ isLoading: false });\n\t\t\tsetApiError(true);\n\t\t}\n\n\t\treturn () => {\n\t\t\tmounted = false;\n\t\t\tcancelToken.cancel();\n\t\t};\n\t}, [actions, apiId, mergeState, coreTrack, studentProgress]);\n\n\t/* eslint-disable react/jsx-props-no-spreading */\n\treturn (\n\t\t\n\t\t\t<>\n\t\t\t\t{apiError || (app.apiError && app.apiError.errorType === 'page') ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{showLoader && }\n\t\t\t\t\t\t{!showLoader && !studentProgress && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!showLoader && studentProgress && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n\t/* eslint-enable react/jsx-props-no-spreading */\n};\n\nconst mapStateToProps = ({ app, auth, cart, content }) => ({\n\tapp,\n\tauth,\n\tcart,\n\tcontent,\n});\n\nexport const DesignationRequirementPath = connect(\n\tmapStateToProps,\n\tmapDispatchToProps,\n)(DesignationRequirementPathRaw);\n\nexport default DesignationRequirementPath;\n","import classNames from 'classnames';\nimport React from 'react';\n\nimport { ChevronRightIcon } from '@app/components/icons';\nimport { SCROLL_PROGRAM_STEP } from '@app/constants/scroll-to-ids';\nimport { useScroll } from '@app/hooks';\n\nexport const StepContainer = ({\n\tstepIndex,\n\tstepTitle,\n\tstepDescription,\n\tchildren,\n\tisStepOpen,\n\ttoggleStep,\n}) => {\n\tconst [containerRef] = useScroll();\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t

\n\t\t\t\t\t\n\t\t\t\t\t\tSTEP {stepIndex}:{' '}\n\t\t\t\t\t\n\t\t\t\t\t{stepTitle}\n\t\t\t\t

\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n","import React from 'react';\n\nimport { CourseCardList } from '@app/components/course-cards';\n\nimport { StepContainer } from '../step-container';\n\nexport const CourseStepType = ({\n\tcourses = [],\n\teyebrowText = '',\n\tisStepOpen,\n\tnumRequiredElectives = '',\n\tstepDescription = '',\n\tstepIndex,\n\tstepTitle = '',\n\ttoggleStep,\n}) => {\n\tconst numRequiredCourses = numRequiredElectives || courses.length;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React from 'react';\n\nimport { CourseProductCard } from '@app/components/course-cards';\nimport { SCROLL_PROGRAM_COURSE } from '@app/constants/scroll-to-ids';\n\nimport { StepContainer } from '../step-container';\n\nexport const EthicsStepType = ({\n\tcourses = [],\n\teyebrowText = '',\n\tisStepOpen,\n\tstepDescription = '',\n\tstepIndex,\n\tstepTitle = '',\n\ttoggleStep,\n}) => (\n\t\n\t\t

\n\t\t\tEthical behavior is essential in risk management and insurance. This\n\t\t\tprovides a framework for making decisions and is offered at no cost to\n\t\t\tyou.\n\t\t

\n\n\t\t{courses.map(\n\t\t\t(\n\t\t\t\t{ code, id: itemId, longDescription, price, shortDescription, title },\n\t\t\t\tindex,\n\t\t\t) => (\n\t\t\t\t\n\t\t\t),\n\t\t)}\n\t\n);\n","import classNames from 'classnames';\nimport React from 'react';\n\nimport { AddCartButton } from '@app/components/add-cart-button';\nimport { CourseProductCard } from '@app/components/course-cards';\nimport { SCROLL_PROGRAM_MATRICULATION } from '@app/constants/scroll-to-ids';\nimport { ExtStatus } from '@app/interfaces/api-contact/person/matriculation';\n\nimport { StepContainer } from '../step-container';\n\nexport const MatriculationStepType = ({\n\tactions,\n\tauth: { user, isAuthenticated },\n\teyebrowText = '',\n\tisStepOpen,\n\tstepIndex,\n\tstepTitle = '',\n\ttoggleStep,\n\tmatricTopicCourse,\n}) => {\n\tconst [hasError, setHasError] = React.useState(false);\n\tconst handleError = () => setHasError(true);\n\n\tconst { matriculationStatus } = user;\n\tconst EXT_STATUS = matriculationStatus.extStatus || ExtStatus.NEW;\n\tconst isLoading = isAuthenticated && !matriculationStatus.extStatus;\n\n\tconst { apiId = '', shortDescription = '', price = null, title = '' } = matricTopicCourse;\n\n\tReact.useEffect(() => {\n\t\tactions.getMatricStatus();\n\t\tactions.getMarketingMatricTopicCourse();\n\t}, [actions]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{EXT_STATUS === ExtStatus.NEW ? (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n )\n\t\t\t\t: <>}\n\t\t\t\n\t\t\n\t);\n};\n","import React from 'react';\n\nimport { CourseProductCard } from '@app/components/course-cards';\nimport { CPCU } from '@app/constants/course-groups';\n\nimport { StepContainer } from '../step-container';\n\nexport const PrereqStepType = ({\n\tdesignations = [],\n\teyebrowText = '',\n\tisStepOpen,\n\tstepIndex,\n\tstepTitle = '',\n\tstepDescription = '',\n\ttoggleStep,\n}) => (\n\t\n\t\t

\n\t\t\tAfter completing one of The Institutes prerequisite designation programs,\n\t\t\tyou only need to complete one additional core course to earn this\n\t\t\tdesignation.\n\t\t

\n\n\t\t{designations\n\t\t\t.sort((a, b) => {\n\t\t\t\t// Sort designations by CPCU first, then most popular, then by title.\n\t\t\t\tconst popularA = parseInt(a.mostPopular, 10);\n\t\t\t\tconst popularB = parseInt(b.mostPopular, 10);\n\t\t\t\tconst cpcuA = a.abbreviation === CPCU;\n\t\t\t\tconst cpcuB = b.abbreviation === CPCU;\n\t\t\t\tif (cpcuA || cpcuB) {\n\t\t\t\t\treturn cpcuB - cpcuA;\n\t\t\t\t}\n\t\t\t\treturn popularA === popularB\n\t\t\t\t\t? a.title.localeCompare(b.title)\n\t\t\t\t\t: popularB - popularA;\n\t\t\t})\n\t\t\t.map(\n\t\t\t\t(\n\t\t\t\t\t{\n\t\t\t\t\t\tabbreviation,\n\t\t\t\t\t\tcode,\n\t\t\t\t\t\tid: itemId,\n\t\t\t\t\t\tlongDescription,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tshortDescription,\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tmostPopular,\n\t\t\t\t\t},\n\t\t\t\t\tindex,\n\t\t\t\t) => (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tGet Started\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t),\n\t\t\t)}\n\t\n);\n","import React from 'react';\n\nimport {\n\tAccordion,\n\tAccordionItem,\n\tAccordionItemHeading,\n\tAccordionItemPanel,\n} from '@app/components/accordion';\nimport { CourseCardList } from '@app/components/course-cards';\n\nimport { StepContainer } from '../step-container';\n\nexport const TrackStepType = ({\n\tstepIndex,\n\tstepTitle = '',\n\tstepDescription = '',\n\teyebrowText = '',\n\tisStepOpen,\n\ttoggleStep,\n\ttrackNames = [],\n\ttrackCourses = [],\n\topenTrack = '',\n}) => {\n\tconst trackLengths = trackCourses.map((track) => track.length);\n\tconst minTrackLength = Math.min(...trackLengths);\n\tconst maxTrackLength = Math.max(...trackLengths);\n\n\tconst numRequiredCoursesDisplay =\n\t\tminTrackLength === maxTrackLength\n\t\t\t? `${minTrackLength}`\n\t\t\t: `${minTrackLength} - ${maxTrackLength}`;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{trackNames.map((name, index) => (\n\t\t\t\t\t\n\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t))}\n\t\t\t\n\t\t\n\t);\n};\n","import classNames from 'classnames';\nimport * as React from 'react';\n\nimport { Progress } from '@app/interfaces/api-contact/progress-tracker';\n\ntype PropsCompletionBadge = { progress?: Progress; className?: string };\n\n/**\n * Completion badge that appears on a card above the title.\n */\nexport const CompletionBadge: React.FC = ({\n\tclassName,\n\tprogress,\n}: PropsCompletionBadge) => {\n\tlet completionText:\n\t\t| 'Not Started'\n\t\t| 'Completed'\n\t\t| 'In Progress'\n\t\t| 'Waived'\n\t\t| 'Retake' = 'Not Started';\n\tswitch (progress) {\n\t\tcase 'COMPLETE':\n\t\t\tcompletionText = 'Completed';\n\t\t\tbreak;\n\n\t\tcase 'WAIVED':\n\t\t\tcompletionText = 'Waived';\n\t\t\tbreak;\n\n\t\tcase 'OPEN_REGISTRATION':\n\t\tcase 'OPEN_ENROLLMENT':\n\t\t\tcompletionText = 'In Progress';\n\t\t\tbreak;\n\n\t\tcase 'RETAKE':\n\t\t\tcompletionText = 'Retake';\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tcompletionText = 'Not Started';\n\t}\n\n\treturn (\n\t\t\n\t\t\t{completionText.toUpperCase()}\n\t\t

\n\t);\n};\n","import classNames from 'classnames';\nimport * as React from 'react';\n\ntype PropsProgress = {\n\tclassName?: string;\n\tcompleted: number;\n\ttext: string;\n\ttotal: number;\n};\n\nexport const ProgressBar = ({\n\tclassName = '',\n\tcompleted,\n\ttext,\n\ttotal,\n}: PropsProgress) => {\n\tconst ref = React.useRef(null);\n\n\tReact.useEffect(() => {\n\t\tif (ref.current) {\n\t\t\tconst currentPercent = (completed / total) * 100;\n\t\t\tconst length = ref.current.getTotalLength();\n\t\t\tref.current.style.strokeDasharray = length.toString();\n\t\t\tref.current.style.strokeDashoffset = (\n\t\t\t\tlength *\n\t\t\t\t((100 - currentPercent) / 100)\n\t\t\t).toString();\n\t\t}\n\t}, [ref, completed, total]);\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t= total,\n\t\t\t\t\t\t},\n\t\t\t\t\t)}\n\t\t\t\t\td=\"M0 10, 200 10\"\n\t\t\t\t\tref={ref}\n\t\t\t\t/>\n\t\t\t\n\t\t\t{text}\n\t\t
\n\t);\n};\n","export const CPCU = 'CPCU';\n","// eslint-disable-next-line import/no-unused-modules\nexport * from './course-step-type';\nexport * from './ethics-step-type';\nexport * from './matriculation-step-type';\nexport * from './prereq-step-type';\nexport * from './track-step-type';\n","import classNames from 'classnames';\nimport { DateTime } from 'luxon';\nimport * as React from 'react';\nimport parser from 'react-html-parser';\n\nimport { CompletionBadge } from '@app/components/badge/completion-badge';\nimport { PrimaryButton, SecondaryButton } from '@app/components/button';\nimport { Hr } from '@app/components/hr';\nimport { Notification } from '@app/components/notification';\nimport { ProgressBar } from '@app/components/progress-bar';\nimport { PurchaseForm } from '@app/components/purchase-form';\nimport { SCROLL_PROGRAM_COURSE } from '@app/constants/scroll-to-ids';\nimport {\n\tSegment,\n\tProgress,\n} from '@app/interfaces/api-contact/progress-tracker';\nimport { Course } from '@app/interfaces/store/content/program-rule';\nimport {\n\tisComplete,\n\tisInProgress,\n\tisNotStarted,\n\tisOpenProgress,\n\tisRetake,\n} from '@app/utility/progress';\n\nimport { CombinedCourse, Description } from './detail-step-card';\n\ntype PropsCourseCta = {\n\tcourse: Course;\n\tgroupName: string;\n\tisSegment?: boolean;\n\tmyCoursesUrl: string;\n\tmyGradesUrl: string;\n\tmyRegistrationsUrl: string;\n\tprogress?: Progress;\n};\n\ntype PropsCourseCardCta = Omit & {\n\tsegments?: Segment[];\n};\n\ntype PropsCourseCard = {\n\tcourse: CombinedCourse;\n\tgroupName: string;\n\tisSubscription: boolean;\n\tkeypersonView?: boolean;\n\tmyCoursesUrl: string;\n\tmyGradesUrl: string;\n\tmyRegistrationsUrl: string;\n};\n\ntype PropsLinkCta = {\n\tbuttonType: 'Primary' | 'Secondary';\n\tlabel: string;\n\thref: string;\n};\n\ntype PropSegmentCtaGroup = {\n\tsegments: Segment[];\n\tmyCoursesUrl: string;\n\tmyGradesUrl: string;\n\tcourse: Course;\n\tgroupName: string;\n};\n\n// Start segment code at capital A.\nconst SEGMENT_START = 65;\n\nconst LinkCta: React.FC = ({\n\tbuttonType,\n\tlabel,\n\thref,\n}: PropsLinkCta) => (\n\t\n\t\t{label}\n\t\n);\n\n//\n/**\n * Course Progress CTA dependant on progress.\n */\nconst CourseCta: React.FC = ({\n\tcourse,\n\tgroupName,\n\tisSegment,\n\tmyCoursesUrl,\n\tmyGradesUrl,\n\tmyRegistrationsUrl,\n\tprogress,\n}: PropsCourseCta) => {\n\tconst {\n\t\thasOnlineMaterials = false,\n\t\twaiverDescription,\n\t\tabbreviation,\n\t\ttitle,\n\t} = course;\n\n\t// Exam not started & Materials not purchased.\n\tif (isNotStarted(progress) && !hasOnlineMaterials) {\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n\n\t// Exam not started & Materials purchased.\n\t// If segment exam then hide My Courses URL\n\tif (isNotStarted(progress) && hasOnlineMaterials) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t{!isSegment && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n\n\t// Exam (VE) in progress & Materials not purchased.\n\t// Exam (Reg) in progress & Materials not purchased.\n\tif (isOpenProgress(progress) && !hasOnlineMaterials) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t{!isSegment && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
\n\t\t);\n\t}\n\n\t// Exam (VE) in progress & Materials purchased.\n\t// Exam (Reg) in progress & Materials purchased.\n\tif (isOpenProgress(progress) && hasOnlineMaterials) {\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n\n\t// Exam needs Retake & Materials not purchased.\n\tif (isRetake(progress) && !hasOnlineMaterials) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n\n\tif (isRetake(progress) && hasOnlineMaterials) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t{!isSegment && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n\n\tif (isComplete(progress)) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{waiverDescription && !isSegment && (\n\t\t\t\t\t

\n\t\t\t\t\t\tExam {abbreviation || title} waived for {waiverDescription}\n\t\t\t\t\t

\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\treturn <>;\n};\n\nconst SegmentCtaGroup: React.FC = ({\n\tsegments,\n\tmyCoursesUrl,\n\tmyGradesUrl,\n\tcourse,\n\tgroupName,\n}: PropSegmentCtaGroup) => {\n\tconst isAnyInProgress = segments.some(\n\t\t({ hasOnlineMaterials, progress }) =>\n\t\t\thasOnlineMaterials || isInProgress(progress),\n\t);\n\n\tconst isAnyComplete = segments.some(({ progress }) => isComplete(progress));\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t{isAnyInProgress && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{isAnyComplete && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n};\n\n/**\n * Course card CTA - dependant on 'segments'.\n */\nconst CourseCardCta: React.FC = ({\n\tcourse,\n\tgroupName,\n\tmyCoursesUrl,\n\tmyGradesUrl,\n\tmyRegistrationsUrl,\n\tprogress,\n\tsegments,\n}: PropsCourseCardCta) => (\n\t<>\n\t\t{segments !== undefined && segments.length > 0 ? (\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tExam Segment Progress\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tYou must complete and pass all exam segments (\n\t\t\t\t\t{segments\n\t\t\t\t\t\t.map((_, index) => String.fromCharCode(index + SEGMENT_START))\n\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t\t.replace(/, ([^,])$/, ' and $1')}\n\t\t\t\t\t) to earn full credit for this course.\n\t\t\t\t

\n\t\t\t\t\n\t\t\t\t\t\t\tisComplete(segmentProgress),\n\t\t\t\t\t\t).length\n\t\t\t\t\t}\n\t\t\t\t/>\n\n\t\t\t\t\n\t\t\t
\n\t\t) : (\n\t\t\t\n\t\t)}\n\t\n);\n\ntype PropsSubscriptionCardCta = {\n\tmyLearningResourcesUrl: string;\n\tmyCoursesUrl: string;\n\tmyGradesUrl: string;\n\tprogress?: Progress;\n};\n\nconst SubscriptionCardCta: React.FC = ({\n\tmyLearningResourcesUrl,\n\tmyCoursesUrl,\n\tmyGradesUrl,\n\tprogress,\n}: PropsSubscriptionCardCta) => {\n\tif (isInProgress(progress)) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n\n\tif (isComplete(progress)) {\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n\n\treturn (\n\t\t\n\t);\n};\n\n/**\n * Course card with student progress.\n * Specific to the progress tracker.\n */\nexport const DetailStepCardCourse: React.FC = ({\n\tcourse,\n\tgroupName,\n\tisSubscription,\n\tkeypersonView = false,\n\tmyCoursesUrl,\n\tmyGradesUrl,\n\tmyRegistrationsUrl,\n}: PropsCourseCard) => {\n\tconst {\n\t\tabbreviation = '',\n\t\tcode = '',\n\t\tendDate = '',\n\t\tlongDescription = '',\n\t\tprogress,\n\t\tprogressTrackerNote = '',\n\t\tsegments,\n\t\tshortDescription = '',\n\t\ttitle = '',\n\t\toldTitle,\n\t\ttitleBeginDate,\n\t} = course;\n\n\t// Memorized title expiration date.\n\tconst titleExpireDate = React.useMemo(\n\t\t() =>\n\t\t\ttitleBeginDate\n\t\t\t\t? DateTime.fromObject({\n\t\t\t\t\t\tmonth: titleBeginDate.month - 1,\n\t\t\t\t }).endOf('month')\n\t\t\t\t: undefined,\n\t\t[titleBeginDate],\n\t);\n\n\t// If user has progress or title expire date does not exist, show old/new\n\t// title defaulting to oldTitle if it exists, first.\n\t// Otherwise, just show the current title.\n\tconst courseTitle = React.useMemo(\n\t\t() => (progress || !titleExpireDate?.isValid ? oldTitle || title : title),\n\t\t[oldTitle, progress, title, titleExpireDate?.isValid],\n\t);\n\n\t// If segment progress exists, completion badge progress checks segments first.\n\t// If course is already complete, then just show complete (bypass segmentProgress).\n\tconst segmentProgress: Progress | undefined =\n\t\tsegments !== undefined &&\n\t\tsegments.some(({ progress: segProg }) => !isNotStarted(segProg))\n\t\t\t? 'OPEN_REGISTRATION'\n\t\t\t: undefined;\n\n\tconst completionBadgeProgress = isComplete(progress)\n\t\t? progress\n\t\t: segmentProgress || progress;\n\n\tconst showDetails = !keypersonView && !isComplete(progress);\n\n\t// Show notification if:\n\t// user is not a keyperson, there is an end date to the course, progress\n\t// tracker note exists.\n\tconst notification = (showDetails && (endDate || progressTrackerNote)) || '';\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t

\n\t\t\t\t\t{abbreviation ? `${abbreviation}: ${courseTitle}` : `${courseTitle}`}\n\t\t\t\t

\n\n\t\t\t\t{showDetails && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\n\t\t\t{notification !== '' && (\n\t\t\t\t\n\t\t\t\t\t{endDate &&

Expires {endDate}.

}\n\t\t\t\t\t{progressTrackerNote && parser(progressTrackerNote)}\n\t\t\t\t
\n\t\t\t)}\n\n\t\t\t{!keypersonView && (\n\t\t\t\t<>\n\t\t\t\t\t{isSubscription ? (\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t\n\t);\n};\n","import classNames from 'classnames';\nimport * as React from 'react';\nimport parser from 'react-html-parser';\n\nimport { AddCartButton } from '@app/components/add-cart-button';\nimport {\n\tExtStatus,\n\tMatriculationStatus,\n} from '@app/interfaces/api-contact/person/matriculation';\nimport { MatricTopicCourse } from '@app/interfaces/store/content/marketing';\n\ntype PropsCardMatric = {\n\tmatriculation: MatricTopicCourse;\n\tmatriculationStatus: MatriculationStatus;\n\tkeypersonView?: boolean;\n};\n\ntype PropsMatricCardCta = {\n\tapiId: string;\n\textStatus: ExtStatus;\n\tformUrl: string;\n\tprice: string;\n};\n\n/**\n * Matriculation Card CTA determined by EXT_STATUS.\n */\nconst MatricCardCta: React.FC = ({\n\textStatus,\n\tapiId,\n\tprice,\n\tformUrl,\n}: PropsMatricCardCta) => {\n\tconst [hasError, setHasError] = React.useState(false);\n\n\tswitch (extStatus) {\n\t\tcase ExtStatus.NEW:\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t setHasError(true)}\n\t\t\t\t\t\tshowCartButton\n\t\t\t\t\t\tbuttonText=\"Purchase Matriculation\"\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t);\n\n\t\tcase ExtStatus.PAID:\n\t\tcase ExtStatus.EXP_NOT_MET:\n\t\tcase ExtStatus.FORM_FLAGGED:\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\tMy Courses & Exams\n\t\t\t\t\n\t\t\t);\n\t\tdefault:\n\t\t\t\treturn null;\n\t}\n};\n\n/**\n * Matriculation card with student progress.\n * Specific to the progress tracker.\n */\nexport const DetailStepCardMatric: React.FC = ({\n\tmatriculation: { apiId, price, shortDescription, title },\n\tmatriculationStatus: { extStatus },\n\tkeypersonView = false,\n}: PropsCardMatric) => {\n\tconst fixMessage = (message: string) => {\n\t\tswitch (message) {\n\t\t\tcase ExtStatus.APPROVED:\n\t\t\t\treturn 'Completed';\n\t\t\tcase ExtStatus.NOT_APPROVED:\n\t\t\t\treturn 'Not Approved';\n\t\t\tcase ExtStatus.PAID:\n\t\t\tcase ExtStatus.EXP_NOT_MET:\n\t\t\tcase ExtStatus.FORM_FLAGGED:\n\t\t\t\treturn 'In Progress';\n\t\t\tdefault:\n\t\t\t\treturn 'Not Started';\n\t\t}\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{fixMessage(extStatus).toUpperCase()}\n\t\t\t\t

\n\n\t\t\t\t

{title}

\n\n\t\t\t\t{!keypersonView && extStatus !== ExtStatus.APPROVED && (\n\t\t\t\t\t
\n\t\t\t\t\t\t{parser(shortDescription)}\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t
\n\n\t\t\t{!keypersonView && (\n\t\t\t\t\n\t\t\t)}\n\t\t
\n\t);\n};\n","import classNames from 'classnames';\nimport * as React from 'react';\nimport parser from 'react-html-parser';\n\nimport { AddCartButton } from '@app/components/add-cart-button';\nimport { CompletionBadge } from '@app/components/badge/completion-badge';\nimport { Hr } from '@app/components/hr';\nimport { Notification } from '@app/components/notification';\nimport { MarketingCourse } from '@app/interfaces/store/content/marketing';\nimport { Product } from '@app/interfaces/store/content/program-rule';\nimport { findApplicablePrice } from '@app/utility/price';\nimport { isComplete } from '@app/utility/progress';\n\nimport { CombinedCourse, Description } from './detail-step-card';\n\ntype PropsProductCard = {\n\tcourse?: CombinedCourse;\n\tkeypersonView?: boolean;\n\tmyGradesUrl?: string;\n\tmyCoursesUrl?: string;\n\tproduct: Partial>;\n\tshowCompletionBadge?: boolean;\n};\n\n/**\n * Product card with student progress.\n * Specific to the progress tracker.\n */\nexport const DetailStepCardProduct: React.FC = ({\n\tchildren,\n\tcourse,\n\tkeypersonView = false,\n\tmyGradesUrl = '',\n\tmyCoursesUrl = '',\n\tproduct,\n\tshowCompletionBadge = true,\n}: React.PropsWithChildren) => {\n\tconst {\n\t\tid,\n\t\tlongDescription = '',\n\t\tprices,\n\t\tshortDescription = '',\n\t\ttitle = '',\n\t\tprogressTrackerNote = course?.progressTrackerNote || '',\n\t} = product;\n\n\tconst { salePrice, currentPrice } = findApplicablePrice(prices || []);\n\n\tconst [hasError, setHasError] = React.useState(false);\n\n\tconst handleError = () => setHasError(true);\n\n\tconst progress = course?.progress || product?.progress;\n\n\tconst showDetails = !keypersonView && !isComplete(progress);\n\n\tconst notification = (showDetails && progressTrackerNote) || '';\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t{showCompletionBadge && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t

{course?.title || title}

\n\t\t\t\t{showDetails && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\n\t\t\t{notification !== '' && (\n\t\t\t\t\n\t\t\t\t\t{parser(notification)}\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{!keypersonView && (\n\t\t\t\t<>\n\t\t\t\t\t{children ? (\n\t\t\t\t\t\t
{children}
\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{progress === undefined && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{(progress === 'OPEN_ENROLLMENT' ||\n\t\t\t\t\t\t\t\tprogress === 'OPEN_REGISTRATION') && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tMy Courses & Exams\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{(progress === 'COMPLETE' || progress === 'WAIVED') && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tMy Grades\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t
\n\t);\n};\n","import classNames from 'classnames';\nimport * as React from 'react';\nimport parser from 'react-html-parser';\n\nimport { MarketingCourse } from '@app/interfaces/store/content/marketing';\nimport {\n\tCourse,\n\tProgramRuleCourses,\n} from '@app/interfaces/store/content/program-rule';\nimport { isComplete, isInProgress, isNotStarted } from '@app/utility/progress';\n\nexport type CombinedCourse = MarketingCourse & Course;\n\ntype PropsDetailStepAccordionBadge = {\n\tcourses: string[];\n\tprogramRuleCourses: ProgramRuleCourses;\n};\n\ntype PropsDescription = {\n\tshortDescription: string;\n\tlongDescription: string;\n};\n\n/**\n * Badge rendered on track's accordion header.\n */\nexport const DetailStepAccordionBadge: React.FC = ({\n\tcourses,\n\tprogramRuleCourses,\n}: PropsDetailStepAccordionBadge) => {\n\tconst inProgress = [];\n\tconst completed = [];\n\tconst notStarted = [];\n\tlet completionText = 'Not Started';\n\tcourses.forEach((courseCode) => {\n\t\tconst { progress } = programRuleCourses[courseCode];\n\t\tif (isComplete(progress)) {\n\t\t\tcompleted.push(courseCode);\n\t\t}\n\n\t\tif (isInProgress(progress)) {\n\t\t\tinProgress.push(courseCode);\n\t\t}\n\n\t\tif (isNotStarted(progress)) {\n\t\t\tnotStarted.push(courseCode);\n\t\t}\n\t});\n\tif (completed.length && !inProgress.length && !notStarted.length) {\n\t\tcompletionText = 'Completed';\n\t}\n\tif (inProgress.length || (completed.length && notStarted.length)) {\n\t\tcompletionText = 'In Progress';\n\t}\n\n\treturn (\n\t\t\n\t\t\t{completionText.toUpperCase()}\n\t\t\n\t);\n};\n\n/**\n * Displays a description based on CMS description content.\n */\nexport const Description: React.FC = ({\n\tshortDescription,\n\tlongDescription,\n}: PropsDescription) => (\n\t
\n\t\t{shortDescription ? parser(shortDescription) : parser(longDescription)}\n\t
\n);\n","import { DateTime } from 'luxon';\nimport * as React from 'react';\n\nimport {\n\tAccordion,\n\tAccordionItem,\n\tAccordionItemHeading,\n\tAccordionItemPanel,\n} from '@app/components/accordion';\nimport { PageLoadError } from '@app/components/error';\nimport { Loader } from '@app/components/loader';\nimport { Notification } from '@app/components/notification';\nimport { STEP_TITLES } from '@app/constants/program-steps';\nimport { ProgramContent } from '@app/interfaces/api-contact/progress-tracker';\nimport { Step } from '@app/interfaces/store/content/program-rule';\nimport { Store } from '@app/interfaces/store/store';\nimport {\n\tformatDateString,\n\tgetCurrentDateTime,\n\tgetDateTimeFromSeries,\n} from '@app/utility/date';\n\nimport { DetailStepItem } from './detail-step-item';\nimport {\n\tgetUserCompletion,\n\tgetUserCompletionLegacy,\n\tStepStringUnion,\n} from '../progress-tracker.helper';\n\ntype PropsDetailStepContainer = Omit & {\n\tactions: any;\n\tstudentProgress: ProgramContent;\n};\n\ntype PropsDetailStepList = Omit & {\n\tsteps: Step[];\n\tpathExpireDate?: string;\n\tpathPartialCredit?: boolean;\n\tpathIndex?: number;\n};\n\n/**\n * Returns a formatted date string if an ending series is found.\n */\nconst getPathExpiryDate = (endingSeries: string | undefined) => {\n\tif (endingSeries) {\n\t\tconst expireDate = getDateTimeFromSeries(endingSeries);\n\t\tif (expireDate.isValid && expireDate > getCurrentDateTime()) {\n\t\t\treturn expireDate.toLocaleString(DateTime.DATE_FULL);\n\t\t}\n\t}\n\n\treturn undefined;\n};\n\n/**\n * List of progress steps.\n */\nconst DetailStepList: React.FC = ({\n\tauth,\n\tcontent,\n\tsteps,\n\tstudentProgress,\n\tpathExpireDate,\n\tpathPartialCredit = false,\n\tpathIndex,\n}: PropsDetailStepList) => {\n\tconst { programRule, courseProgram } = content;\n\tconst { title: programTitle } = studentProgress;\n\n\tconst [openStep, setOpenStep] = React.useState('');\n\n\t/**\n\t * Memoized completion data based on studentProgress & programRule.\n\t *\n\t * If concentration is available and completed, choose that path.\n\t */\n\tconst { userProgress } = React.useMemo(() => {\n\t\tconst selectedRule = studentProgress.rules[pathIndex || 0];\n\t\tconst userCompletions =\n\t\t\t!selectedRule.recommended || programRule.cores === undefined\n\t\t\t\t? getUserCompletionLegacy(studentProgress, false)\n\t\t\t\t: getUserCompletion(\n\t\t\t\t\t\tstudentProgress,\n\t\t\t\t\t\tcourseProgram.programs || {},\n\t\t\t\t\t\tprogramRule,\n\t\t\t\t ) || [];\n\n\t\tconst completedConcentration = userCompletions.find(\n\t\t\t({ userProgress: { concentrations } }) =>\n\t\t\t\tconcentrations.total > 0 &&\n\t\t\t\tconcentrations.completed === concentrations.total,\n\t\t);\n\n\t\treturn completedConcentration !== undefined\n\t\t\t? completedConcentration\n\t\t\t: userCompletions[pathIndex || 0];\n\t}, [courseProgram, pathIndex, programRule, studentProgress]);\n\n\t// Determine which step should open first on load.\n\tReact.useEffect(() => {\n\t\tlet openStepName = '';\n\t\t// Find the first open step depending on first progress in step order.\n\t\tsteps.forEach((step) => {\n\t\t\tconst name = StepStringUnion.check(Object.keys(step)[0]);\n\t\t\tconst { completed, total } = userProgress[name];\n\t\t\tif (!openStepName && completed < total) {\n\t\t\t\topenStepName = name;\n\t\t\t}\n\t\t});\n\n\t\tsetOpenStep(openStepName);\n\t}, [steps, setOpenStep, userProgress]);\n\n\tif (programRule === null || programRule === undefined) {\n\t\treturn ;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{pathExpireDate && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tThis completion path toward earning the {programTitle} designation\n\t\t\t\t\t\twill expire on {pathExpireDate}. If you do not complete all below\n\t\t\t\t\t\tcourses before this date, your progress will be updated to reflect a\n\t\t\t\t\t\tnew completion path\n\t\t\t\t\t\t{pathPartialCredit ? ' includes partial course credit. ' : '. '}\n\t\t\t\t\t\tContact Customer Success if you have any\n\t\t\t\t\t\tquestions.\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{steps.map((step, index) => {\n\t\t\t\tconst name = StepStringUnion.check(Object.keys(step)[0]);\n\t\t\t\tconst { total } = userProgress[name];\n\t\t\t\tconst stepTitle = StepStringUnion.guard(name) ? STEP_TITLES[name] : '';\n\t\t\t\tif (!total) {\n\t\t\t\t\treturn ;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t})}\n\t\t\n\t);\n};\n\n/**\n * Main Detail Step container.\n * Render each step list for recommended and non-recommended paths.\n *\n * If paths (multiple steps) is defined within content.ProgramRule,\n * then render an accordion of steps.\n */\nexport const DetailStepContainer: React.FC = ({\n\tactions,\n\tapp,\n\tauth,\n\tcontent,\n\tstudentProgress,\n}: PropsDetailStepContainer) => {\n\tconst { programRule, series, marketing } = content;\n\tconst { programs: marketingPrograms } = marketing;\n\tconst { steps, paths } = programRule;\n\tconst { courses: programRuleCourses } = programRule;\n\tconst { rules } = studentProgress;\n\n\tconst [isLoading, setIsLoading] = React.useState(true);\n\n\tconst hasNonExpiringPaths = rules.some(\n\t\t(rule) => getPathExpiryDate(rule.endingSeries) === undefined,\n\t);\n\n\t// Get ending/end series data for all rules and parts.\n\t// Series from: rules.endSeries, rules[i].parts[i].part.endSeries,\n\t// rules[i].parts[i].part.titleBeginSeries\n\tReact.useEffect(() => {\n\t\t(async () => {\n\t\t\tawait actions.getSeries(\n\t\t\t\tArray.from(\n\t\t\t\t\tnew Set(\n\t\t\t\t\t\trules.reduce(\n\t\t\t\t\t\t\t(allSeries: string[], { endingSeries, parts }) => [\n\t\t\t\t\t\t\t\t...allSeries,\n\t\t\t\t\t\t\t\t...(endingSeries ? [endingSeries] : []),\n\t\t\t\t\t\t\t\t...parts.reduce(\n\t\t\t\t\t\t\t\t\t(ruleSeries: string[], { endSeries, titleBeginSeries }) => [\n\t\t\t\t\t\t\t\t\t\t...ruleSeries,\n\t\t\t\t\t\t\t\t\t\t...(endSeries ? [endSeries] : []),\n\t\t\t\t\t\t\t\t\t\t...(titleBeginSeries ? [titleBeginSeries] : []),\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t);\n\t\t\tsetIsLoading(false);\n\t\t})();\n\t}, [actions, rules]);\n\n\t// Update courses and programs with progress data in programRule.\n\tReact.useEffect(() => {\n\t\t// Update programs and courses with optional student progress.\n\t\trules.forEach(({ parts, related }) => {\n\t\t\tparts.forEach(\n\t\t\t\t({\n\t\t\t\t\tabbreviation,\n\t\t\t\t\tendSeries,\n\t\t\t\t\thasOnlineMaterials,\n\t\t\t\t\toldTitle,\n\t\t\t\t\tpart,\n\t\t\t\t\tprogress,\n\t\t\t\t\tsegments,\n\t\t\t\t\ttitle,\n\t\t\t\t\ttitleBeginSeries,\n\t\t\t\t\twaiverDescription,\n\t\t\t\t}) => {\n\t\t\t\t\t// Include progress and segments to marketing programs.\n\t\t\t\t\tif (marketingPrograms !== undefined) {\n\t\t\t\t\t\tconst { id: programId } =\n\t\t\t\t\t\t\tObject.values(marketingPrograms).find(\n\t\t\t\t\t\t\t\t({ code }) => code === part,\n\t\t\t\t\t\t\t) || {};\n\n\t\t\t\t\t\tif (programId !== undefined) {\n\t\t\t\t\t\t\tmarketingPrograms[programId] = {\n\t\t\t\t\t\t\t\t...marketingPrograms[programId],\n\t\t\t\t\t\t\t\tprogress,\n\t\t\t\t\t\t\t\tsegments,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Include endSeries, titleBeginSeries, progress, segments, title,\n\t\t\t\t\t// oldTitle, and hasOnlineMaterials to program rule courses for\n\t\t\t\t\t// data persistance within paths.\n\n\t\t\t\t\t// Handle course end date if series is defined and past today.\n\t\t\t\t\tlet endDate = '';\n\t\t\t\t\tif (\n\t\t\t\t\t\tendSeries !== undefined &&\n\t\t\t\t\t\tseries[endSeries]?.ending &&\n\t\t\t\t\t\tseries[endSeries].ending > DateTime.local()\n\t\t\t\t\t) {\n\t\t\t\t\t\tendDate = formatDateString(\n\t\t\t\t\t\t\tseries[endSeries].ending,\n\t\t\t\t\t\t\tDateTime.DATE_FULL,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Handle begin series if it exists.\n\t\t\t\t\tlet titleBeginDate: DateTime | undefined;\n\t\t\t\t\tif (\n\t\t\t\t\t\ttitleBeginSeries !== undefined &&\n\t\t\t\t\t\tseries[titleBeginSeries] !== undefined\n\t\t\t\t\t) {\n\t\t\t\t\t\ttitleBeginDate = series[titleBeginSeries].beginning;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Include progress data for each program rule course.\n\t\t\t\t\tprogramRuleCourses[part] = {\n\t\t\t\t\t\t...programRuleCourses[part],\n\t\t\t\t\t\t...(endDate && { endDate }),\n\t\t\t\t\t\t...(titleBeginDate && {\n\t\t\t\t\t\t\ttitleBeginDate,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t...(abbreviation && { abbreviation }),\n\t\t\t\t\t\t...(title && { title }),\n\t\t\t\t\t\t...(waiverDescription && { waiverDescription }),\n\t\t\t\t\t\tcode: part,\n\t\t\t\t\t\tprogress,\n\t\t\t\t\t\tsegments,\n\t\t\t\t\t\toldTitle,\n\t\t\t\t\t\thasOnlineMaterials,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t);\n\n\t\t\t// Include progress for each related program rule course.\n\t\t\trelated.forEach(({ abbreviation, title, progress, exam }) => {\n\t\t\t\tprogramRuleCourses[exam] = {\n\t\t\t\t\t...programRuleCourses[exam],\n\t\t\t\t\t...(abbreviation && { abbreviation }),\n\t\t\t\t\t...(title && { title }),\n\t\t\t\t\tprogress,\n\t\t\t\t};\n\t\t\t});\n\t\t});\n\t}, [marketingPrograms, programRuleCourses, rules, series]);\n\n\tif (steps) {\n\t\tconst pathExpireDate = getPathExpiryDate(\n\t\t\tstudentProgress.rules[0].endingSeries,\n\t\t);\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{isLoading && }\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\tif (paths) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t{isLoading && }\n\t\t\t\t

\n\t\t\t\t\tYou currently have equal course credit in multiple paths toward\n\t\t\t\t\tearning this designation. Please choose the path most relevant for you\n\t\t\t\t\tto complete {studentProgress.abbreviation}.\n\t\t\t\t

\n\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\tpaths.map((path, index) => {\n\t\t\t\t\t\t\tconst pathExpireDate = getPathExpiryDate(\n\t\t\t\t\t\t\t\trules[index].endingSeries,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t/* eslint-disable react/no-array-index-key */\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {}}\n\t\t\t\t\t\t\t\t\t\tisOpen={false}\n\t\t\t\t\t\t\t\t\t\tariaControl={`path-panel-${index}`}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tPath {index + 1}\n\t\t\t\t\t\t\t\t\t\t\t{pathExpireDate !== undefined && (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tExpires {pathExpireDate}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tPath ID: {rules[index].ruleId}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t/* eslint-enable react/no-array-index-key */\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n\n\treturn <>;\n};\n","import * as React from 'react';\n\nimport { AccordionRibbon } from '@app/components/accordion';\nimport { SCROLL_PROGRAM_STEP } from '@app/constants/scroll-to-ids';\nimport { ExtStatus, MatriculationStatus } from '@app/interfaces/api-contact/person/matriculation';\nimport { ProgramContent } from '@app/interfaces/api-contact/progress-tracker';\nimport { Auth } from '@app/interfaces/store/auth';\nimport { Content } from '@app/interfaces/store/content';\nimport { Step } from '@app/interfaces/store/content/program-rule';\nimport { isComplete, isInProgress } from '@app/utility/progress';\n\nimport { DetailStepCardMatric } from './detail-step-card-matric';\nimport {\n\tDetailStepAccordionList,\n\tDetailStepCourseList,\n\tDetailStepEthicsList,\n\tDetailStepProgramList,\n} from './detail-step-list-types';\nimport { StepNames, UserProgress } from '../progress-tracker.helper';\n\ntype PropsDetailStepItem = {\n\tauth: Auth;\n\tcontent: Content;\n\tcompletionData: UserProgress;\n\tmatriculationStatus?: MatriculationStatus;\n\tname: StepNames;\n\topenStep: string;\n\tstep: Step;\n\tstepIndex: number;\n\tstepTitle: string;\n\tstudentProgress: ProgramContent;\n};\n\ntype PropsTitle = {\n\tid: number;\n\ttitle: string;\n\trequired?: string;\n};\n\nconst Title: React.FC = ({ id, title, required }: PropsTitle) => (\n\t<>\n\t\t\n\t\t\tSTEP {id}:{' '}\n\t\t\n\t\t{title}\n\t\t{!!required && ({required})}\n\t\n);\n\n/**\n * Single step. Renders differently based on step type.\n */\nexport const DetailStepItem: React.FC = ({\n\tauth,\n\tcompletionData,\n\tcontent,\n\tmatriculationStatus,\n\tname,\n\topenStep,\n\tstep,\n\tstepIndex,\n\tstepTitle,\n\tstudentProgress,\n}: PropsDetailStepItem) => {\n\tconst stepData = Object.values(step)[0];\n\n\tconst {\n\t\tprograms: marketingPrograms,\n\t\tcourses: marketingCourses,\n\t\ttopicCourses: marketingTopicCourses,\n\t\tmatricTopicCourse,\n\t} = content.marketing;\n\n\tconst { isSubscription, showKeypersonView } = content.progressTracker;\n\n\t// Reorder electives based on progress:\n\t// 1. If requirement met, show only completed.\n\t// 2. Else, show in progress, completed, then others.\n\tconst electiveIds = (() => {\n\t\tif (name === 'electives') {\n\t\t\tconst { courses } = content.programRule;\n\t\t\tconst {\n\t\t\t\trequired,\n\t\t\t\telectives,\n\t\t\t}: { required: number; electives: string[] } = stepData;\n\t\t\tconst electiveCourses = electives.map((id) => courses[id]);\n\n\t\t\tconst completedElectives = electiveCourses\n\t\t\t\t.filter((course) => course !== undefined && isComplete(course.progress))\n\t\t\t\t.map(({ code }) => code);\n\n\t\t\t// If completed electives satisfy requirement, just display completed.\n\t\t\tif (completedElectives.length >= required) {\n\t\t\t\treturn completedElectives;\n\t\t\t}\n\n\t\t\tconst inProgressElectives = electiveCourses\n\t\t\t\t.filter(\n\t\t\t\t\t(course) => course !== undefined && isInProgress(course.progress),\n\t\t\t\t)\n\t\t\t\t.map(({ code }) => code);\n\n\t\t\tconst notStarted = electives.filter(\n\t\t\t\t(elective) =>\n\t\t\t\t\t![...completedElectives, ...inProgressElectives].includes(elective),\n\t\t\t);\n\n\t\t\treturn [...completedElectives, ...inProgressElectives, ...notStarted];\n\t\t}\n\n\t\treturn [];\n\t})();\n\n\t// Display logic for how many courses are required to complete this step.\n\tconst required = (() => {\n\t\tif (name === 'cores' || name === 'concentrations') {\n\t\t\tconst requirements = Object.values(stepData)\n\t\t\t\t.filter((courses = []) => courses.length > 0)\n\t\t\t\t.map((courses = []) => courses.length);\n\n\t\t\tconst min = Math.min(...requirements);\n\t\t\tconst max = Math.max(...requirements);\n\t\t\treturn min !== max ? `${min} - ${max}` : String(min);\n\t\t}\n\n\t\tif (name === 'matriculation') {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn completionData[name] && String(completionData[name].total);\n\t})();\n\n\treturn (\n\t\t}\n\t\t\tdefaultOpen={openStep === name || isSubscription}\n\t\t\topenOverride={openStep === name}\n\t\t\thideButton={isSubscription}\n\t\t>\n\t\t\t{name === 'prerequisites' && marketingPrograms && (\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{(name === 'cores' || name === 'concentrations') &&\n\t\t\t\tmarketingCourses &&\n\t\t\t\tmarketingTopicCourses && (\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t{name === 'electives' &&\n\t\t\t\tmarketingCourses &&\n\t\t\t\tmarketingTopicCourses &&\n\t\t\t\t!!electiveIds.length && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t{name === 'matriculation' && (\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{name === 'ethics' && marketingCourses && marketingTopicCourses && (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n","import * as React from 'react';\n\nimport {\n\tAccordion,\n\tAccordionItem,\n\tAccordionItemHeading,\n\tAccordionItemPanel,\n} from '@app/components/accordion';\nimport { CPCU } from '@app/constants/course-groups';\nimport { CPCU_PROGRAM_ID, ETHICS_311_CODE, ETHICS_312_CODE } from '@app/constants/program-steps';\nimport { ProgramContent } from '@app/interfaces/api-contact/progress-tracker';\nimport { Auth } from '@app/interfaces/store/auth';\nimport { Content } from '@app/interfaces/store/content';\nimport {\n\tMarketingCourses,\n\tMarketingPrograms,\n\tMarketingTopicCourses,\n} from '@app/interfaces/store/content/marketing';\nimport {\n\tCoreStep,\n\tProgramRuleCourses,\n\tProgramRuleProducts,\n} from '@app/interfaces/store/content/program-rule';\nimport { isComplete, isInProgress, isNotStarted } from '@app/utility/progress';\n\nimport { DetailStepAccordionBadge } from './detail-step-card';\nimport { DetailStepCardCourse } from './detail-step-card-course';\nimport { DetailStepCardProduct } from './detail-step-card-product';\n\ntype PropsDetailStepCourseList = {\n\tauth: Auth;\n\tcourses: string[];\n\tgroupName: string;\n\tisSubscription: boolean;\n\tkeypersonView?: boolean;\n\tmarketingCourses: MarketingCourses;\n\tmarketingTopicCourses: MarketingTopicCourses;\n\tprogramRuleCourses: Record;\n\tprogramRuleProducts: Record;\n\tsortByAbbreviation?: boolean;\n};\n\ntype PropsDetailStepAccordionList = {\n\tauth: Auth;\n\tcoreStep: CoreStep;\n\tcontent: Content;\n\tisSubscription: boolean;\n\tkeypersonView?: boolean;\n\tmarketingCourses: MarketingCourses;\n\tmarketingTopicCourses: MarketingTopicCourses;\n\tprogramRuleCourses: ProgramRuleCourses;\n\tprogramRuleProducts: ProgramRuleProducts;\n\tgroupName: string;\n\tstudentProgress: ProgramContent;\n};\n\ntype PropsDetailStepProgramList = {\n\tprograms: MarketingPrograms;\n\tprogramIds: string[];\n};\n\ntype PropsDetailStepEthicsList = {\n\tprogramId: number;\n\tethics: string[];\n\tkeypersonView?: boolean;\n\tmarketingCourses: MarketingCourses;\n\tmarketingTopicCourses: MarketingTopicCourses;\n\tmyGradesUrl: string;\n\tmyCoursesUrl: string;\n\tprogramRuleCourses: ProgramRuleCourses;\n\tprogramRuleProducts: ProgramRuleProducts;\n};\n\n/**\n * List of course cards with student progress.\n * Specific to the progress tracker.\n */\nexport const DetailStepCourseList: React.FC = ({\n\tauth,\n\tcourses,\n\tgroupName,\n\tisSubscription = false,\n\tkeypersonView = false,\n\tmarketingCourses,\n\tmarketingTopicCourses,\n\tprogramRuleCourses,\n\tprogramRuleProducts,\n\tsortByAbbreviation = true,\n}: PropsDetailStepCourseList) => (\n\t<>\n\t\t{courses\n\t\t\t.map((courseCode) => ({\n\t\t\t\t...programRuleCourses[courseCode],\n\t\t\t\t...marketingCourses[courseCode],\n\t\t\t\t...(programRuleCourses[courseCode]?.topicCourse && {\n\t\t\t\t\ttopicCourse: {\n\t\t\t\t\t\t...programRuleProducts[\n\t\t\t\t\t\t\tprogramRuleCourses[courseCode].examWindows[0].onlineCourseIds[0]\n\t\t\t\t\t\t],\n\t\t\t\t\t\t...marketingTopicCourses[\n\t\t\t\t\t\t\tprogramRuleCourses[courseCode].examWindows[0].onlineCourseIds[0]\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t}))\n\t\t\t.filter(({ title }) => title)\n\t\t\t.sort(({ abbreviation: a = '' }, { abbreviation: b = '' }) =>\n\t\t\t\tsortByAbbreviation ? a.localeCompare(b) : 0,\n\t\t\t)\n\t\t\t.map((course) => {\n\t\t\t\tconst { topicCourse = null } = course;\n\t\t\t\t// Courses sometimes includes topic courses.\n\t\t\t\tif (topicCourse) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t})}\n\t\n);\n\n/**\n * Multiple groupings of course cards with student progress.\n * Specific to the progress tracker.\n */\nexport const DetailStepAccordionList: React.FC = ({\n\tauth,\n\tcoreStep,\n\tcontent,\n\tgroupName,\n\tisSubscription = false,\n\tkeypersonView = false,\n\tmarketingCourses,\n\tmarketingTopicCourses,\n\tprogramRuleCourses,\n\tprogramRuleProducts,\n\tstudentProgress,\n}: PropsDetailStepAccordionList) => {\n\tconst { rules } = studentProgress;\n\tconst studentRecommendedRules = React.useMemo(() => rules.reduce(\n\t\t(acc: number[], rule) => {\n\t\t\tif (rule.recommended) {\n\t\t\t\tacc.push(rule.ruleId);\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [],\n\t), [rules]);\n\n\tconst getRecommendedConcentration = (\n\t\tstudentRecommendedRuleIds: number[],\n\t\tcoreStepCourses: string [],\n\t) => {\n\t\tconst { cores = [] } = content?.programRule || {};\n\t\tlet recommendedConcentration;\n\t\tfor (const core of cores) {\n\t\t\tconst hasStudentConcentrations = core.concentrations.some(\n\t\t\t\t({ ruleId }) => studentRecommendedRuleIds.includes(ruleId),\n\t\t\t);\n\n\t\t\tif (hasStudentConcentrations) {\n\t\t\t\trecommendedConcentration = core.concentrations.find(\n\t\t\t\t\t({ courses }) => courses?.some((course) => coreStepCourses.includes(course)),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn recommendedConcentration;\n\t};\n\n\tconst getInProgressRuleId = (name: string) => rules.find(\n\t\t\t({ display }) => display === name,\n\t\t)?.ruleId;\n\n\tconst getConcentrationRuleId = (name: string) => {\n\t\tconst { cores = [] } = content?.programRule || {};\n\t\treturn cores[0].concentrations.find(\n\t\t\t({ title }) => title === name,\n\t\t)?.ruleId;\n\t};\n\n\tif (Object.values(coreStep).length > 1) {\n\t\treturn (\n\t\t\t\n\t\t\t\t{Object.entries(coreStep).map(([name, courses], index) => {\n\t\t\t\t\tconst recommendedRuleId = getRecommendedConcentration(studentRecommendedRules, courses);\n\t\t\t\t\tconst ruleId = recommendedRuleId?.ruleId ?\n\t\t\t\t\t\trecommendedRuleId.ruleId :\n\t\t\t\t\t\tgetInProgressRuleId(name) || getConcentrationRuleId(name);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {}}\n\t\t\t\t\t\t\t\tisOpen={false}\n\t\t\t\t\t\t\t\tariaControl={`concentration-panel-${index}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{ruleId && (\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\tPath ID: {ruleId}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t
\n\t\t);\n\t}\n\n\treturn (\n\t\t\n\t);\n};\n\n/**\n * List of programs as product cards with student progress.\n * Specific to the progress tracker.\n */\nexport const DetailStepProgramList: React.FC = ({\n\tprograms,\n\tprogramIds,\n}: PropsDetailStepProgramList) => {\n\tconst completedPrograms = Object.values(programs).filter(({ progress }) =>\n\t\tisComplete(progress),\n\t);\n\n\t// Show a completed card with no CTA if it's completed.\n\tif (completedPrograms.length > 0) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{completedPrograms.map((program) => (\n\t\t\t\t\t\n\t\t\t\t\t\t