{"version":3,"file":"js/4529.51920dd904f37d82a131.chunk.js","mappings":"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","sources":["webpack://ti_west/./app/components/badge/index.tsx","webpack://ti_west/./app/containers/ceu-purchase-form/authenticated-ceu-purchase-form.tsx","webpack://ti_west/./app/containers/ceu-purchase-form/ceu-purchase-form-header.tsx","webpack://ti_west/./app/containers/ceu-purchase-form/ceu-purchase-form-notification.tsx","webpack://ti_west/./app/containers/ceu-purchase-form/index.tsx","webpack://ti_west/./app/containers/course-search/course-search-card-fieldset.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport * as React from 'react';\n\n/** Props for badge component. */\ntype PropBadge = {\n\t/** Badge types. */\n\tbadgeType:\n\t\t| 'designation'\n\t\t| 'certification'\n\t\t| 'seminar'\n\t\t| 'topic-course'\n\t\t| 'webinar'\n\t\t| 'misc'\n\t\t| 'icon'\n\t\t| 'dark'\n\t\t| 'micro-cert';\n\t/** Class names for badge. */\n\tclassName?: string;\n\n\t/** Should the badge text wrap? */\n\twrap?: boolean;\n};\n\n/**\n * Badge component that renders a paragraph tag with badge styling.\n */\nexport const Badge: React.FC = ({\n\tbadgeType,\n\tchildren,\n\twrap = false,\n\tclassName,\n}: React.PropsWithChildren) => (\n\t\n\t\t{children}\n\t

\n);\n","import * as React from 'react';\nimport {\n\tInjectedFormProps,\n\treduxForm,\n\tSubmissionError,\n\tgetFormValues,\n} from 'redux-form';\n\nimport { FormContainer } from '@app/components/forms';\nimport { Loader } from '@app/components/loader';\nimport { setUpdateCookie } from '@app/components/purchase-form/purchase-form.util';\nimport { ALREADY_IN_CART_INDIV, DUPLICATE_ENROLL_CART } from '@app/constants/ceu';\nimport { FormValues } from '@app/interfaces/form';\nimport { Store } from '@app/interfaces/store/store';\nimport { webApi } from '@app/services/web-api';\nimport { gtmAddToCart } from '@app/utility/gtm';\nimport { getAlphaOrder } from '@app/utility/sort';\n\nimport { CeuPurchaseFormHeader } from './ceu-purchase-form-header';\nimport { CeuPurchaseFormNotification } from './ceu-purchase-form-notification';\nimport {\n\tDesignationCredits,\n\tLicenseCredits,\n\tNonLicense,\n} from '../course-search/course-search-card-fieldset';\nimport { GroupedRequirements } from '../course-search/course-search.type';\nimport { courseSearchFormUtil } from '../course-search/course-search.util';\n\ntype PropsAuthenticatedCeuPurchaseForm = {\n\t/** Redux actions. */\n\tactions: any;\n\n\t/** Course code. */\n\tcourseCode: string;\n\n\t/** Product Item id. */\n\tproductId: number;\n\n\t/** Grouped requirements by license and designations. */\n\tgroupedRequirements?: GroupedRequirements;\n\n\t/** Redux store. */\n\tstore: Store;\n\n\tshowEnroll: string | boolean;\n\n\tisAuthenticated: boolean;\n\n\tuserHasLicenses: boolean | undefined;\n\n\thandleAlreadyInCart: (alreadyInCart: boolean | undefined) => void;\n};\n\n/**\n * Raw course search card component to pass into the redux form container.\n *\n * Contains two states of showing form and readonly.\n */\nconst AuthenticatedCeuPurchaseFormRaw: React.FC<\n\tInjectedFormProps<{}, PropsAuthenticatedCeuPurchaseForm> & PropsAuthenticatedCeuPurchaseForm\n> = ({\n\tactions,\n\tcourseCode,\n\tgroupedRequirements,\n\thandleSubmit,\n\treset,\n\tform,\n\tstore,\n\tsubmitting,\n\tproductId,\n\tshowEnroll,\n\tisAuthenticated,\n\tuserHasLicenses,\n\thandleAlreadyInCart,\n}: InjectedFormProps<{}, PropsAuthenticatedCeuPurchaseForm> & PropsAuthenticatedCeuPurchaseForm) => {\n\t// Set non-ce by disabling other credits form fields.\n\tconst [disableCe, setIsNonCe] = React.useState(false);\n\n\tconst [submitSucceeded, setSubmitSucceeded] = React.useState(false);\n\n\tconst [submitted, setSubmitted] = React.useState(false);\n\n\tconst [errors, setErrors] = React.useState([]);\n\n\tconst [showForm, setShowForm] = React.useState(false);\n\n\tconst [alreadyInCart, setAlreadyInCart] = React.useState(false);\n\n\t/** Change handler for non-ce selection. */\n\tconst nonCeSelectHandler: React.ChangeEventHandler = (\n\t\te,\n\t) => {\n\t\treset();\n\t\tsetIsNonCe(e.target.checked);\n\t};\n\n\t// Determine if any item in the editable card is checked.\n\tconst formValues: FormValues = getFormValues(form)(store);\n\tconst anyChecked =\n\t\tformValues && Object.values(formValues).some((value) => value === true);\n\n\t/**\n\t * Submission handler for course search card form.\n\t */\n\tconst handleSubmitCard = async (values: FormValues) => {\n\t\tconst itemIds: number[] = [];\n\n\t\tconst nonCeFieldName = courseSearchFormUtil.getNonCeFieldName(courseCode);\n\n\t\tconst ceRulesets = Object.entries(values).reduce(\n\t\t\t(rulesets: number[], [key, value]) => {\n\t\t\t\tif (courseSearchFormUtil.isCreditField(key) && value === true) {\n\t\t\t\t\tconst { rulesetId, itemId } = courseSearchFormUtil.parseFieldName(\n\t\t\t\t\t\tkey,\n\t\t\t\t\t);\n\t\t\t\t\tif (rulesetId !== undefined) {\n\t\t\t\t\t\trulesets.push(rulesetId);\n\t\t\t\t\t}\n\t\t\t\t\tif (itemId !== undefined) {\n\t\t\t\t\t\titemIds.push(itemId);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (key === nonCeFieldName && value === true) {\n\t\t\t\t\titemIds.push(productId);\n\t\t\t\t}\n\n\t\t\t\treturn rulesets;\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\tconst errorsTemp: string[] = [];\n\n\t\t// For each unique itemId found, add them to cart. Most of the time, there\n\t\t// is a single itemId.\n\t\tif (showEnroll) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait webApi.enrollCeuCourse({\n\t\t\t\t\t\t\titemId: productId,\n\t\t\t\t\t\t\trulesetIds: ceRulesets,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsetSubmitSucceeded(true);\n\t\t\t\t\t} catch (e: any) {\n\t\t\t\t\t\tif (e.message) {\n\t\t\t\t\t\t\terrorsTemp.push(e.message);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorsTemp.push(\n\t\t\t\t\t\t\t\t'We could not properly enroll you. If this persists, please contact us at (800) 295-9010 for assistance.',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetErrors(errorsTemp);\n\t\t\t\t\t}\n\t\t\t\t\tsetSubmitted(true);\n\t\t} else {\n\t\t\t// Set update cookie on add to cart for anonymous users.\n\t\t\tsetUpdateCookie(store.auth.isAuthenticated);\n\t\t\tconst { type, payload } = await actions.addToCart({\n\t\t\t\t...(ceRulesets.length > 0 && { ceRulesets }),\n\t\t\t\tceRequested: ceRulesets.length > 0,\n\t\t\t\titemId: productId,\n\t\t\t});\n\t\t\tif (type === 'API_ERROR') {\n\t\t\t\tif (payload.errorCode === ALREADY_IN_CART_INDIV\n\t\t\t\t\t|| payload.errorCode === DUPLICATE_ENROLL_CART) {\n\t\t\t\t\tsetAlreadyInCart(true);\n\t\t\t\t\thandleAlreadyInCart(true);\n\t\t\t\t\terrorsTemp.push(payload.errorMessage);\n\t\t\t\t} else {\n\t\t\t\t\terrorsTemp.push(\n\t\t\t\t\t\t'We could not properly add to cart. If this persists, please contact us at (800) 295-9010 for assistance.',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tsetErrors(errorsTemp);\n\t\t\t\tsetSubmitSucceeded(false);\n\t\t\t\tsetSubmitted(true);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetSubmitSucceeded(true);\n\t\t\tsetSubmitted(true);\n\n\t\t\t// Trigger GA event add-to-cart.\n\t\t\tgtmAddToCart(productId);\n\t\t}\n\n\t\tif (errors.length) {\n\t\t\tthrow new SubmissionError({\n\t\t\t\t_error: errors.map((errorString) => (\n\t\t\t\t\t\n\t\t\t\t\t\t{errorString === 'You are already enrolled in this course.' ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{errorString} Click here{' '}\n\t\t\t\t\t\t\t\tto launch it.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\terrorString\n\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\tconst handleShowForm = () => {\n\t\tsetShowForm(true);\n\t};\n\n\tReact.useEffect(() => {\n\t\t(async () => {\n\n\t\t})();\n\t}, [\n\t\tsetSubmitSucceeded,\n\t\tsetErrors,\n\t\tsetSubmitted,\n\t]);\n\n\treturn (\n\t\t<>\n\n\t\t\t\n\n\t\t\t{showForm && (\n\t\t\t\t\n\n\t\t\t\t\t\n\n\t\t\t\t\t{submitting && }\n\t\t\t\t\t{groupedRequirements &&\n\t\t\t\t\t\tObject.entries(groupedRequirements).map(\n\t\t\t\t\t\t\t([type, requirementRecords]) => {\n\t\t\t\t\t\t\t\tconst CreditType =\n\t\t\t\t\t\t\t\t\ttype === 'licenses' ? LicenseCredits : DesignationCredits;\n\t\t\t\t\t\t\t\treturn Object.entries(requirementRecords)\n\t\t\t\t\t\t\t\t\t.sort(([a], [b]) => getAlphaOrder(a, b))\n\t\t\t\t\t\t\t\t\t.map(([licenseType, requirements]) => (\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},\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\n/**\n * Course search card component renders an individual course card with data\n * pulling from the course, product and marketing models.\n *\n * When user chooses to take this exam, the card changes to a redux form.\n */\nexport const AuthenticatedCeuPurchaseForm = reduxForm<{}, PropsAuthenticatedCeuPurchaseForm>({})(\n\tAuthenticatedCeuPurchaseFormRaw,\n);\n","import * as React from 'react';\n\nimport {\n\tADJUSTER_FIELDNAMES,\n\tPRODUCER_FIELDNAMES,\n\tPRO_DESIGNATION_FIELDNAMES,\n} from '@app/constants/ceu';\nimport { FormValues } from '@app/interfaces/form';\n\ntype CeuPurchaseFormHeaderProps = {\n\n\tshowForm: boolean;\n\n\thandleShowForm: (event: React.MouseEvent) => void | undefined;\n\n\tsubmitted?: boolean;\n\n\tsubmitSucceeded?: boolean;\n\n\talreadyInCart?: boolean;\n\n\tisAuthenticated: boolean;\n\n\tshowEnroll: string | boolean;\n\n\tvalidAdd?: boolean | undefined;\n\n\tanychecked?: boolean | undefined;\n\n\tuserHasLicenses: boolean | undefined;\n\n\toptionSelected?: boolean | undefined;\n\n\tcourseUrl: string;\n\n\thandleAuthenticatedFormSubmit?: (event: React.MouseEvent) => void | undefined;\n\n\thandleNonAuthenticatedFormSubmit?: (\n\t\t{\n\t\t\t/* @ts-expect-error */\n\t\t\t[ADJUSTER_FIELDNAMES.STATES]: adjusterRuleIds,\n\t\t\t/* @ts-expect-error */\n\t\t\t[PRODUCER_FIELDNAMES.LINE]: producerRuleIdByLine,\n\t\t\t/* @ts-expect-error */\n\t\t\t[PRODUCER_FIELDNAMES.STATE]: producerRuleIdsByState,\n\t\t\t/* @ts-expect-error */\n\t\t\t[PRO_DESIGNATION_FIELDNAMES.DESIGNATION]: designationRuleIds,\n\t\t\t// [LICENSE_TYPE_FIELDNAME]: licenseTypes,\n\t\t}: FormValues\n\t) => void;\n\n};\n\nexport const CeuPurchaseFormHeader: React.FC = ({\n\tshowForm,\n handleShowForm,\n\tsubmitSucceeded,\n\tsubmitted,\n\talreadyInCart,\n\tisAuthenticated,\n\tshowEnroll,\n\tcourseUrl,\n\thandleAuthenticatedFormSubmit,\n\thandleNonAuthenticatedFormSubmit,\n\toptionSelected,\n\tvalidAdd,\n\tanychecked,\n\tuserHasLicenses,\n}: CeuPurchaseFormHeaderProps) => {\n\t/**\n\t * If the student has submitted, then show a link to cart.\n\t *\n\t * Else, show an Add To Cart submission butotn.\n\t*/\n\n\tconst [disableAdd, setDisableAdd] = React.useState();\n\n\tReact.useEffect(() => {\n\t\tif (optionSelected) {\n\t\t\tif (!validAdd) {\n\t\t\t\tsetDisableAdd(true);\n\t\t\t} else {\n\t\t\t\tsetDisableAdd(false);\n\t\t\t}\n\t\t} else {\n\t\t\tsetDisableAdd(true);\n\t\t}\n\n\t\tif (anychecked) {\n\t\t\tsetDisableAdd(false);\n\t\t}\n }, [validAdd, optionSelected, setDisableAdd, anychecked]);\n\n\t const ButtonContainer = () => {\n\t\t/**\n\t\t * If the student has submitted, then show a link to my courses.\n\t\t *\n\t\t * Else, show an Enroll submission button.\n\t\t */\n\t\t const EnrollButton = () =>\n\t\t ((submitted && submitSucceeded) || alreadyInCart) ? (\n\t\t\t\n\t\t\t\tGo To My Courses\n\t\t\t\n\t\t ) : (\n\t\t\t\n\t\t\t\tEnroll\n\t\t\t\n\t\t );\n\n\t\t/**\n\t\t * If the student has submitted, then show a link to cart.\n\t\t *\n\t\t * Else, show an Add To Cart submission button.\n\t\t */\n\t\tconst AddToCartButton = () =>\n\t\t((submitted && submitSucceeded) || alreadyInCart) ? (\n\t\t\t\n\t\t\t\tGo To Cart\n\t\t\t\n\t\t) : (\n\t\t\t\n\t\t\t\tAdd to cart\n\t\t\t\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{showEnroll ? : }\n\t\t\t\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
\n\t\t\t\t\t\t

Ready to get started?

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

File CE in the following states and licenses:

\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{ showForm ? (\n\t\t\t\t\t\t\t\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 * as React from 'react';\n\nimport { CheckmarkIcon } from '@app/components/icons';\nimport { Notification } from '@app/components/notification';\n\ntype CeuPurchaseFormNotificationProps = {\n\n\tsubmitSucceeded?: boolean;\n\n\tshowEnroll: string | boolean;\n\n\terrors: string[];\n\n\tcourseUrl: string;\n\n};\n\nexport const CeuPurchaseFormNotification: React.FC = ({\n\tsubmitSucceeded,\n\tshowEnroll,\n\terrors,\n\tcourseUrl,\n}: CeuPurchaseFormNotificationProps) =>\n\t(\n\t\t<>\n\t\t\t{!submitSucceeded && (\n\t\t\t\terrors.map((errorString) =>\n\t\t\t\t\t(\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{errorString === 'You are already enrolled in this course.' ? (\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\t{errorString} Click here{' '}to launch it.\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\t\t\n\t\t\t\t\t\t\t\t\t

{errorString}

\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\n\t\t\t{submitSucceeded && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{showEnroll ? 'Enrolled in Course' : 'Added to Cart'}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n","import * as React from 'react';\nimport { connect } from 'react-redux';\nimport { SubmissionError } from 'redux-form';\n\nimport {\n\tCeRuleset, PrepaidItem, SlimInventoryHeader,\n} from '@aicpcu/web-api-spec-model';\n\nimport { CeRequirementsForm } from '@app/components/ce-requirements-form';\nimport { InlineError } from '@app/components/error';\nimport { Loader } from '@app/components/loader';\nimport { setUpdateCookie } from '@app/components/purchase-form/purchase-form.util';\nimport {\n\tADJUSTER_FIELDNAMES,\n\tPRODUCER_FIELDNAMES,\n\tPRO_DESIGNATION_FIELDNAMES,\n\tALREADY_IN_CART_INDIV,\n\tDUPLICATE_ENROLL_CART,\n} from '@app/constants/ceu';\nimport { Licenses } from '@app/interfaces/api-contact/person/license';\nimport { FormValues } from '@app/interfaces/form';\nimport { Store } from '@app/interfaces/store/store';\nimport { apiService } from '@app/services/api.service';\nimport { webApi } from '@app/services/web-api';\nimport { mapDispatchToProps } from '@app/store/map-dispatch-to-props';\nimport { mapLabelValue } from '@app/utility/array';\nimport { gtmAddToCart } from '@app/utility/gtm';\n\nimport { AuthenticatedCeuPurchaseForm } from './authenticated-ceu-purchase-form';\nimport { CeuPurchaseFormHeader } from './ceu-purchase-form-header';\nimport { CeuPurchaseFormNotification } from './ceu-purchase-form-notification';\nimport { GroupedRequirements } from '../course-search/course-search.type';\nimport {\n\tcourseSearchFormUtil,\n\tgetProduct,\n\tgetProductId,\n\tgroupByLicenseOrDesignation,\n} from '../course-search/course-search.util';\n\ntype PropsCeuPurchaseFormRaw = {\n\tactions: any;\n\tstore: Store;\n};\n\nconst CeuPurchaseFormRaw: React.FC = ({\n\tactions,\n\tstore,\n}: PropsCeuPurchaseFormRaw) => {\n\t// Break out redux store.\n\tconst { user, prepaidCourses, isAuthenticated } = store.auth;\n\n\t// Set the courseID\n\tconst { courseCode }: { courseCode: string } = window.drupalSettings.course;\n\n\tconst [errorMessage, setErrorMessage] = React.useState();\n\n\t// Set ruleset definitions for licenses.\n\tconst [rulesets, setRulesets] = React.useState([]);\n\n\t// Set initial loading.\n\tconst [isInitialLoading, setIsInitialLoading] = React.useState(true);\n\n\tconst [showForm, setShowForm] = React.useState(false);\n\n\tconst [groupedRequirements, setGroupedRequirements] = React.useState();\n\n\tconst [product, setProduct] = React.useState();\n\n\tconst [productId, setProductId] = React.useState();\n\n\tconst [submitSucceeded, setSubmitSucceeded] = React.useState(false);\n\n\tconst [submitted, setSubmitted] = React.useState(false);\n\n\tconst [submitting, setSubmitting] = React.useState(false);\n\n\tconst [alreadyInCart, setAlreadyInCart] = React.useState(false);\n\n\tconst [errors, setErrors] = React.useState([]);\n\n\tconst [validAdd, setValidAdd] = React.useState(true);\n\n\tconst [optionSelected, setOptionSelected] = React.useState(false);\n\n\tconst [userHasLicences, setUserHasLicenses] = React.useState(false);\n\n\t// Get price from course search context.\n\t/* TODO: in anothe ticket for course pricing\n\tconst price = useContextPrice(\n\t\tcourseCode,\n\t\tgroupedRequirements,\n\t\tproduct?.salePrice?.toNumber(),\n\t\tformValues,\n\t);\n\t*/\n\n\tReact.useEffect(() => {\n\t\tif (user.contactPtc && prepaidCourses.length === 0) {\n\t\t\tuser.contactPtc\n\t\t\t\t.filter((item) => item.isExpired === false)\n\t\t\t\t.map(async (item) => {\n\t\t\t\t\tawait actions.getPrepaidCourses(item.prepaidLicenseId);\n\t\t\t\t});\n\t\t}\n\t}, [user, actions, prepaidCourses.length]);\n\t// Check if every item in course card is eligible for ceu unlimited.\n\t// If student has chosen nonLicense CE, then student is not eligible for\n\t// CEU unlimited\n\tconst eligibleForCeuUnlimited =\n\t\t!!groupedRequirements &&\n\t\tObject.values(groupedRequirements).every((requirementsByType) =>\n\t\t\tObject.values(requirementsByType).every((requirements) =>\n\t\t\t\trequirements.every(\n\t\t\t\t\t(requirement) => requirement.eligibleForCeuUnlimited,\n\t\t\t\t),\n\t\t\t),\n\t\t);\n\n\t// Check if this course is part of prepaid\n\tconst courseInPrepaid = prepaidCourses.find(\n\t\t(course: PrepaidItem) => course.itemId === productId,\n\t);\n\n\t// When Non-Licensed option was selected in course search form\n\t// groupedRequirements is null\n\t// Use logic if groupedRequirements is not null\n\t// Otherwise check if course is prepaid\n\tconst itemCoveredByPrepaidLicense = groupedRequirements\n\t\t? Object.values(groupedRequirements).every((requirementsByType) =>\n\t\t\t\tObject.values(requirementsByType).every((requirements) =>\n\t\t\t\t\trequirements.every(\n\t\t\t\t\t\t(requirement) =>\n\t\t\t\t\t\t\t!!prepaidCourses.find(\n\t\t\t\t\t\t\t\t(item) => item.gradeForExam === requirement.courseCode,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t )\n\t\t: courseInPrepaid !== undefined;\n\n\t// Show enrollment CTA and process enrollment.\n\tconst showEnroll =\n\t\t(user.hasCeuUnlimited && eligibleForCeuUnlimited) || itemCoveredByPrepaidLicense;\n\n\tReact.useEffect(() => {\n\t\t(async () => {\n\t\t\tconst userLicenses: Licenses = { values: [] };\n\t\t\tlet groupedRequirementsData;\n\t\t\tlet ceReqRulesetMapped;\n\n\t\t\ttry {\n\t\t\t\tconst [requirementData, rulesetsData, stateData, courseData, licenseDataDef] = await Promise.all([\n\t\t\t\t\twebApi.getCeRequirementsByCourse(courseCode),\n\t\t\t\t\twebApi.getCeRulesets(),\n\t\t\t\t\twebApi.getStates(),\n\t\t\t\t\twebApi.getCoursesByCode([courseCode]),\n\t\t\t\t\twebApi.getLicenses(),\n\t\t\t\t]);\n\n\t\t\t\tconst course = courseData.courses?.get(courseCode);\n\n\t\t\t\tif (course === undefined) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcourseCode,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t/**\n\t\t\t\t * Filter stateRulesetsData based on ruleset ids from ceRequirements\n\t\t\t\t */\n\t\t\t\tconst courseRuleSet = rulesetsData.filter((ruleset) =>\n\t\t\t\t\trequirementData.some((ceReq) => ceReq.rulesetId === ruleset.id),\n\t\t\t\t);\n\n\t\t\t\t/**\n\t\t\t\t * Merge properties from both ceReqRulesetFiltered\n\t\t\t\t * and ceRequirementsList so that we can use fields such as:\n\t\t\t\t * courseApprovalNumber, ending (expiration), totalUnits,\n\t\t\t\t * type, etc.\n\t\t\t\t */\n\t\t\t\tconst mergeRulesetRequirements = courseRuleSet.map((v) => ({\n\t\t\t\t\t...v,\n\t\t\t\t\t...requirementData.find((sp) => sp.rulesetId === v.id),\n\t\t\t\t}));\n\n\t\t\t\t/**\n\t\t\t\t * Include above fields plus state\n\t\t\t\t */\n\t\t\t\tceReqRulesetMapped = mergeRulesetRequirements.map((val: any) => ({\n\t\t\t\t\t...val,\n\t\t\t\t\tstate: stateData.find((state) => state.name === val.locale)\n\t\t\t\t\t\t?.abbreviation,\n\t\t\t\t}));\n\n\t\t\t\tconst theSetInfo = ceReqRulesetMapped.filter(\n\t\t\t\t\t(courseItem) => 'rulesetId' in courseItem,\n\t\t\t\t);\n\t\t\t\tsetRulesets(theSetInfo);\n\n\t\t\t\t/**\n\t\t\t\t * If user is authenticated, get licences for this user\n\t\t\t\t*/\n\t\t\t\tif (isAuthenticated) {\n\t\t\t\t\tconst { data, status } = await apiService.contact.person.getLicenses();\n\t\t\t\t\tuserLicenses.values = data.values;\n\n\t\t\t\t\tif (status !== 401 && status > 300) {\n\t\t\t\t\t\treturn actions.setApiError(true);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (userLicenses.values.length > 0) {\n\t\t\t\t\t\tsetUserHasLicenses(true);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (ceReqRulesetMapped && userLicenses.values.length > 0) {\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Getting license definition by id\n\t\t\t\t\t\t * This will give use values such as licenseType, line, and specialty so we can use\n\t\t\t\t\t\t * to filter the results one more time for logged in users\n\t\t\t\t\t\t */\n\t\t\t\t\t\tconst userLicenseDefs = licenseDataDef?.filter(\n\t\t\t\t\t\t\t(def) => userLicenses.values.some((license) => license.id.licenseId === def.id));\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Filtering the results based on licenseType, line, and specialty (if exists)\n\t\t\t\t\t\t */\n\t\t\t\t\t\t ceReqRulesetMapped = ceReqRulesetMapped.filter(\n\t\t\t\t\t\t\t(req) => userLicenseDefs?.some(\n\t\t\t\t\t\t\t\t(license) =>\n\t\t\t\t\t\t\t\tlicense.licenseType === req.licenseType &&\n\t\t\t\t\t\t\t\tlicense.line === req.line &&\n\t\t\t\t\t\t\t\tlicense.specialty === req.specialty,\n\t\t\t\t\t\t\t));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tgroupedRequirementsData =\n\t\t\t\t\trequirementData &&\n\t\t\t\t\t\tgroupByLicenseOrDesignation(\n\t\t\t\t\t\t\tcourseCode,\n\t\t\t\t\t\t\trequirementData,\n\t\t\t\t\t\t\tceReqRulesetMapped,\n\t\t\t\t\t\t\tstateData,\n\t\t\t\t\t\t);\n\n\t\t\t\tsetProduct(getProduct(course, courseData.products));\n\n\t\t\t\tsetProductId(getProductId(course));\n\n\t\t\t\tsetGroupedRequirements(groupedRequirementsData);\n\t\t\t} catch (e) {\n\t\t\t\tactions.setApiError(e);\n\t\t\t\tsetErrorMessage('There was an issue loading the form. Please try again later.');\n\t\t\t}\n\n\t\t\treturn setIsInitialLoading(false);\n\t\t})();\n\t}, [\n\t\tsetRulesets,\n\t\tcourseCode,\n\t\tsetIsInitialLoading,\n\t\tsetSubmitting,\n\t\tsetErrorMessage,\n\t\tsetGroupedRequirements,\n\t\tsetProduct,\n\t\tsetProductId,\n\t\tsetAlreadyInCart,\n\t\tsetErrors,\n\t\tsetValidAdd,\n\t\tsetOptionSelected,\n\t\tsetUserHasLicenses,\n\t\tsetSubmitSucceeded,\n\t\tisAuthenticated,\n\t\tactions,\n\t]);\n\n\t/**\n\t * Get filter\n\t */\n\t/**\n\t * Handle CE Requirements Form submission by loading the state ce requirements\n\t * and relevant course and product data.\n\t *\n\t * @param {FormValues} values Form values.\n\t */\n\tconst handleSubmissionRequirementsForm = async (\n\t\t{\n\t\t\t[ADJUSTER_FIELDNAMES.STATES]: adjusterRuleIds = [],\n\t\t\t[PRODUCER_FIELDNAMES.LINE]: producerRuleIdByLine,\n\t\t\t[PRODUCER_FIELDNAMES.STATE]: producerRuleIdsByState,\n\t\t\t[PRO_DESIGNATION_FIELDNAMES.DESIGNATION]: designationRuleIds = [],\n\t\t\t// TODO: with another ticket with pricing options\n\t\t\t// [NON_LICENSED]: nonLicenseValue,\n\t\t}: FormValues,\n\t) => {\n\t\tsetSubmitting(true);\n\t\t// Handle an empty ruleset definition.\n\t\tif (rulesets === undefined) {\n\t\t\tsetSubmitting(false);\n\t\t\tthrow new SubmissionError({});\n\t\t}\n\n\t\t// Congregate all producer ruleset IDs.\n\t\tconst producerIds = [\n\t\t\t...(producerRuleIdByLine ? [producerRuleIdByLine] : []),\n\t\t\t...(producerRuleIdsByState && !producerRuleIdByLine\n\t\t\t\t? producerRuleIdsByState.split(',')\n\t\t\t\t: []),\n\t\t];\n\n\t\t// Congregate all adjuster, producer, and designation ruleset IDs.\n\t\tconst rulesetIds = adjusterRuleIds\n\t\t\t.map(mapLabelValue('value'))\n\t\t\t.concat(producerIds)\n\t\t\t.concat(designationRuleIds)\n\t\t\t.map(Number);\n\n\t\t// Filter rulesets based on user selections\n\t\t/*\n\t\tconst ceRulesets = rulesets\n\t\t\t.filter(isCeRulesetState)\n\t\t\t.filter((ruleset) => rulesetIds.some((id: number) => id === ruleset.id));\n\t\t*/\n\n\t\tconst errorsTemp: string[] = [];\n\n\t\t// For each unique itemId found, add them to cart. Most of the time, there\n\t\t// is a single itemId.\n\t\tif (showEnroll) {\n\t\t\ttry {\n\t\t\t\tawait webApi.enrollCeuCourse({\n\t\t\t\t\titemId: productId,\n\t\t\t\t\trulesetIds,\n\t\t\t\t});\n\t\t\t\tsetSubmitSucceeded(true);\n\t\t\t} catch (e: any) {\n\t\t\t\tif (e.message) {\n\t\t\t\t\terrorsTemp.push(e.message);\n\t\t\t\t} else {\n\t\t\t\t\terrorsTemp.push(\n\t\t\t\t\t\t'We could not properly enroll you. If this persists, please contact us at (800) 295-9010 for assistance.',\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tsetErrors(errorsTemp);\n\t\t\t}\n\t\t\tsetSubmitting(false);\n\t\t\tsetSubmitted(true);\n\t\t} else {\n\t\t\t// Set update cookie on add to cart for anonymous users.\n\t\t\tsetUpdateCookie(store.auth.isAuthenticated);\n\n\t\t\tconst { type, payload } = await actions.addToCart({\n\t\t\t\t...(rulesetIds.length > 0 && { rulesetIds }),\n\t\t\t\tceRequested: rulesetIds.length > 0,\n\t\t\t\titemId: productId,\n\t\t\t});\n\n\t\t\tif (type === 'API_ERROR') {\n\t\t\t\tif (payload.errorCode === ALREADY_IN_CART_INDIV\n\t\t\t\t\t|| payload.errorCode === DUPLICATE_ENROLL_CART) {\n\t\t\t\t\tsetAlreadyInCart(true);\n\t\t\t\t\terrorsTemp.push(payload.errorMessage);\n\t\t\t\t} else {\n\t\t\t\t\terrorsTemp.push(\n\t\t\t\t\t\t'We could not properly add to cart. If this persists, please contact us at (800) 295-9010 for assistance.',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tsetErrors(errorsTemp);\n\t\t\t\tsetSubmitSucceeded(false);\n\t\t\t\tsetSubmitting(false);\n\t\t\t\tsetSubmitted(true);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetSubmitSucceeded(true);\n\t\t\tsetSubmitting(false);\n\t\t\tsetSubmitted(true);\n\n\t\t\t// Trigger GA event add-to-cart.\n\t\t\tgtmAddToCart(productId);\n\t\t}\n\n\t\tif (errorsTemp.length) {\n\t\t\tthrow new SubmissionError({\n\t\t\t\t_error: errors.map((errorString) =>\n\t\t\t\t\t(\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{errorString}\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\tconst handleShowForm = () => {\n\t\tsetShowForm(true);\n\t};\n\n\tconst handleAlreadyInCart = (inCart: boolean | undefined) => {\n\t\tsetAlreadyInCart(inCart);\n\t};\n\n\tconst handleSetValid = (isValid: boolean | undefined) => {\n\t\tsetValidAdd(isValid);\n\t};\n\n\tconst handleOptionsSelected = () => {\n\t\tsetOptionSelected(true);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{(rulesets && rulesets.length > 0) ?\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\t
\n\t\t\t\t\t\t\t\t{(product && isAuthenticated && userHasLicences) &&\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\n\t\t\t\t\t\t\t\t{(!isAuthenticated || !userHasLicences) && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t{(submitted) && (\n\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\n\t\t\t\t\t\t\t\t\t\t{showForm && (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t{(submitting) && }\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\n\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\t) : \n\t\t\t}\n\t\t\n\t);\n};\n\nexport const CeuPurchaseForm = connect(\n\t(store: Store) => ({ store }),\n\tmapDispatchToProps,\n)(CeuPurchaseFormRaw);\n\nexport default CeuPurchaseForm;\n","import classNames from 'classnames';\nimport { DateTime } from 'luxon';\nimport * as React from 'react';\n\nimport { Badge } from '@app/components/badge';\nimport { Checkbox } from '@app/components/forms';\nimport { isCeRulesetState } from '@app/utility/ceu';\nimport { getAlphaOrder } from '@app/utility/sort';\n\nimport { RequirementRuleset } from './course-search.type';\nimport { courseSearchFormUtil } from './course-search.util';\n\n/** Props for credits section to course-search-card. */\ntype PropsCredits = {\n\t/** Requirements and rulesets. */\n\trequirements: RequirementRuleset[];\n\n\t/** Name of credits. */\n\tcreditName: string;\n\n\t/** Show editing form. */\n\teditCard: boolean;\n\n\t/** Disabled for CE. */\n\tdisabled: boolean;\n};\n\n/** Props for non-ce section to course-search-card. */\ntype PropsNonCe = {\n\t/** On Change handler for NON-CE. */\n\tonChange: React.ChangeEventHandler;\n\n\t/** Course code. */\n\tcourseCode: string;\n};\n\n/**\n * Credits list mapped by designation type.\n */\nexport const DesignationCredits: React.FC = ({\n\tcreditName,\n\tdisabled,\n\trequirements,\n\teditCard,\n}: PropsCredits) => (\n\t
\n\t\t\n\t\t\t{creditName} Credits\n\t\t\n\t\t{requirements.map(\n\t\t\t({\n\t\t\t\tcourseCode,\n\t\t\t\tcourseNotes,\n\t\t\t\truleset,\n\t\t\t\ttype,\n\t\t\t\tunits,\n\t\t\t\trulesetId,\n\t\t\t\titemId,\n\t\t\t}) => (\n\t\t\t\t\n\t\t\t\t\t{editCard ? (\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t
  • {`${units.toNumber()} ${type} ${ruleset?.unitType}`}
  • \n\t\t\t\t\t)}\n\t\t\t\t\t{courseNotes &&
  • Notes: {courseNotes}
  • }\n\t\t\t\t\n\t\t\t),\n\t\t)}\n\t
    \n);\n\n/**\n * Credits list mapped by license type.\n */\nexport const LicenseCredits: React.FC = ({\n\tcreditName,\n\tdisabled,\n\trequirements,\n\teditCard,\n}: PropsCredits) => (\n\t
    \n\t\t\n\t\t\t{creditName} Credits\n\t\t\n\t\t
    \n\t\t\t{requirements\n\t\t\t\t.sort((a, b) => getAlphaOrder(a.state || '', b.state || ''))\n\t\t\t\t.map(\n\t\t\t\t\t({\n\t\t\t\t\t\tcourseApprovalNumber,\n\t\t\t\t\t\tcourseCategory,\n\t\t\t\t\t\tcourseCode,\n\t\t\t\t\t\tcourseNotes,\n\t\t\t\t\t\tending,\n\t\t\t\t\t\titemId,\n\t\t\t\t\t\truleset,\n\t\t\t\t\t\trulesetId,\n\t\t\t\t\t\tsplitRequirement,\n\t\t\t\t\t\tsplitUnits,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tunits,\n\t\t\t\t\t}) => {\n\t\t\t\t\t\tconst courseApproval: string = (() => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tsplitRequirement &&\n\t\t\t\t\t\t\t\tcourseApprovalNumber &&\n\t\t\t\t\t\t\t\tsplitRequirement.courseApprovalNumber !== courseApprovalNumber\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn `Approval Numbers: ${courseApprovalNumber}, ${splitRequirement.courseApprovalNumber}`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (courseApprovalNumber !== undefined) {\n\t\t\t\t\t\t\t\treturn `Approval Number: ${courseApprovalNumber}`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn '';\n\t\t\t\t\t\t})();\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{editCard ? (\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\t\t
  • {state}
  • \n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{splitRequirement ? (\n\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t\t{`${units} ${ruleset?.unitType}:`}{' '}\n\t\t\t\t\t\t\t\t\t\t{`${splitUnits?.toNumber()} ${type}, ${splitRequirement.splitUnits?.toNumber()} ${\n\t\t\t\t\t\t\t\t\t\t\tsplitRequirement.type\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\t\t
  • {`${units.toNumber()} ${type} ${ruleset?.unitType}`}
  • \n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{ruleset &&\n\t\t\t\t\t\t\t\t\tisCeRulesetState(ruleset) &&\n\t\t\t\t\t\t\t\t\truleset.licenseSubtype &&\n\t\t\t\t\t\t\t\t\truleset.line && (\n\t\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t\t\t{ruleset.line} {ruleset.licenseSubtype}\n\t\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{courseCategory &&
  • Category: {courseCategory}
  • }\n\n\t\t\t\t\t\t\t\t{courseApproval &&
  • {courseApproval}
  • }\n\n\t\t\t\t\t\t\t\t{ending && (\n\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t\tExpiration Date:{' '}\n\t\t\t\t\t\t\t\t\t\t{ending.toLocaleString(DateTime.DATE_SHORT)}\n\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{courseNotes &&
  • Notes: {courseNotes}
  • }\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
    \n\t
    \n);\n\n/**\n * Non-CE License option.\n */\nexport const NonLicense: React.FC = ({\n\tonChange,\n\tcourseCode,\n}: PropsNonCe) => (\n\t
    \n\t\t\n\t\t\tNon-CE\n\t\t\n\t\t\n\t\t

    \n\t\t\t*CE credits for this course will not be reported to your state if you\n\t\t\tchoose Non-CE. After completing this course, if you need CE in the future\n\t\t\tyou must retake the course and follow state guidelines.\n\t\t

    \n\t
    \n);\n"],"names":["classnames_1","__importDefault","require","React","__importStar","exports","_a","badgeType","children","_b","wrap","className","createElement","concat","redux_form_1","forms_1","loader_1","purchase_form_util_1","ceu_1","web_api_1","gtm_1","sort_1","ceu_purchase_form_header_1","ceu_purchase_form_notification_1","course_search_card_fieldset_1","course_search_util_1","reduxForm","actions","courseCode","groupedRequirements","handleSubmit","reset","form","store","submitting","productId","showEnroll","isAuthenticated","userHasLicenses","handleAlreadyInCart","useState","disableCe","setIsNonCe","_c","submitSucceeded","setSubmitSucceeded","_d","submitted","setSubmitted","_e","errors","setErrors","_f","showForm","setShowForm","_g","alreadyInCart","setAlreadyInCart","formValues","getFormValues","anyChecked","Object","values","some","value","handleSubmitCard","__awaiter","itemIds","nonCeFieldName","courseSearchFormUtil","getNonCeFieldName","ceRulesets","entries","reduce","rulesets","key","isCreditField","parseFieldName","rulesetId","itemId","undefined","push","errorsTemp","webApi","enrollCeuCourse","rulesetIds","sent","message","e_1","setUpdateCookie","auth","addToCart","__assign","length","ceRequested","type","payload","errorCode","ALREADY_IN_CART_INDIV","DUPLICATE_ENROLL_CART","errorMessage","gtmAddToCart","SubmissionError","_error","map","errorString","Fragment","href","myCoursesUrl","useEffect","CeuPurchaseFormHeader","handleShowForm","handleAuthenticatedFormSubmit","courseUrl","anychecked","FormContainer","onSubmit","isRedux","CeuPurchaseFormNotification","Loader","isVeiled","requirementRecords","CreditType","LicenseCredits","DesignationCredits","sort","a","b","getAlphaOrder","licenseType","requirements","creditName","editCard","disabled","NonLicense","onChange","e","target","checked","handleNonAuthenticatedFormSubmit","optionSelected","validAdd","disableAdd","setDisableAdd","ButtonContainer","EnrollButton","onClick","AddToCartButton","icons_1","notification_1","Notification","CheckmarkIcon","react_redux_1","ce_requirements_form_1","error_1","api_service_1","map_dispatch_to_props_1","array_1","authenticated_ceu_purchase_form_1","connect","mapDispatchToProps","user","prepaidCourses","window","drupalSettings","course","setErrorMessage","setRulesets","isInitialLoading","setIsInitialLoading","setGroupedRequirements","_h","product","setProduct","_j","setProductId","_k","_l","_m","setSubmitting","_o","_p","_q","setValidAdd","_r","setOptionSelected","_s","userHasLicences","setUserHasLicenses","contactPtc","filter","item","isExpired","getPrepaidCourses","prepaidLicenseId","eligibleForCeuUnlimited","every","requirementsByType","requirement","courseInPrepaid","find","itemCoveredByPrepaidLicense","gradeForExam","hasCeuUnlimited","userLicenses","Promise","all","getCeRequirementsByCourse","getCeRulesets","getStates","getCoursesByCode","getLicenses","requirementData_1","rulesetsData","stateData_1","courseData","licenseDataDef","courses","get","courseRuleSet","ruleset","ceReq","id","mergeRulesetRequirements","v","sp","ceReqRulesetMapped","val","state","name","locale","abbreviation","theSetInfo","courseItem","apiService","contact","person","data","status_1","status","setApiError","userLicenseDefs_1","def","license","licenseId","req","line","specialty","groupedRequirementsData","groupByLicenseOrDesignation","getProduct","products","getProductId","handleSubmissionRequirementsForm","ADJUSTER_FIELDNAMES","STATES","adjusterRuleIds","producerRuleIdByLine","PRODUCER_FIELDNAMES","LINE","producerRuleIdsByState","STATE","PRO_DESIGNATION_FIELDNAMES","DESIGNATION","designationRuleIds","producerIds","__spreadArray","split","mapLabelValue","Number","e_2","AuthenticatedCeuPurchaseForm","getFormName","inCart","CeRequirementsForm","visible","ceuCoursePage","handleSetValid","isValid","handleOptionsSelected","InlineError","inCard","CeuPurchaseForm","luxon_1","badge_1","Badge","courseNotes","units","Checkbox","getFieldName","label","toNumber","unitType","courseApprovalNumber","courseCategory","ending","splitRequirement","splitUnits","courseApproval","isCeRulesetState","toLocaleUpperCase","licenseSubtype","toLocaleString","DateTime","DATE_SHORT"],"sourceRoot":""}